diff --git a/README.md b/README.md index 9a41e98..ca781e5 100644 --- a/README.md +++ b/README.md @@ -1,258 +1,199 @@ # docsiq [![Security Scan](https://github.com/RandomCodeSpace/docsiq/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/RandomCodeSpace/docsiq/actions/workflows/ci.yml) -[![OpenSSF Scan](https://github.com/RandomCodeSpace/docsiq/actions/workflows/ci.yml/badge.svg?branch=main&label=OpenSSF%20scan)](https://github.com/RandomCodeSpace/docsiq/actions/workflows/ci.yml) [![OpenSSF Score](https://api.scorecard.dev/projects/github.com/RandomCodeSpace/docsiq/badge)](https://scorecard.dev/viewer/?uri=github.com/RandomCodeSpace/docsiq) [![Release](https://img.shields.io/github/v/release/RandomCodeSpace/docsiq)](https://github.com/RandomCodeSpace/docsiq/releases) -[![Beta](https://img.shields.io/github/v/release/RandomCodeSpace/docsiq?include_prereleases&label=beta)](https://github.com/RandomCodeSpace/docsiq/releases) [![Go Version](https://img.shields.io/github/go-mod/go-version/RandomCodeSpace/docsiq)](https://github.com/RandomCodeSpace/docsiq/blob/main/go.mod) -[![Frontend Version](https://img.shields.io/badge/frontend-none-lightgrey)](https://github.com/RandomCodeSpace/docsiq) -A GraphRAG tool inspired by [Microsoft GraphRAG](https://github.com/microsoft/graphrag). Built on CGO-backed SQLite ([`mattn/go-sqlite3`](https://github.com/mattn/go-sqlite3) with FTS5) plus the [`sqlite-vec`](https://github.com/asg017/sqlite-vec) loadable extension for ANN vector search. -Ingests unstructured documents, builds a hierarchical knowledge graph with community detection, and exposes an **MCP server + embedded Web UI** on a single port. +docsiq is a GraphRAG-powered knowledge base that runs as a single Go binary. +It ingests unstructured documents, builds a knowledge graph with +community detection, persists wikilinked markdown notes, and exposes the +whole thing over **MCP + an embedded React SPA** on one port. -## Features - -- **GraphRAG pipeline** — 5-phase: load → chunk → embed → graph extraction → community detection -- **Knowledge graph** — entity/relationship/claim extraction via LLM (JSON mode) -- **Louvain community detection** — pure Go, hierarchical, no external dependencies -- **Two LLM providers** — Azure OpenAI, Ollama (local), via langchaingo -- **12 MCP tools** — local search, global search, graph walk, community reports, and more -- **Embedded Web UI** — vis-network graph explorer, semantic search, document browser -- **Single binary** — ships on Linux / macOS (Windows is not supported) +Inspired by [Microsoft GraphRAG](https://github.com/microsoft/graphrag); +storage is CGO-backed SQLite (`mattn/go-sqlite3` with FTS5) + the +[`sqlite-vec`](https://github.com/asg017/sqlite-vec) extension for ANN +vector search. -## Install +## Features -### Prerequisites +- **GraphRAG pipeline** — load → chunk → embed → extract entities/ + relationships/claims → detect communities, all in one `docsiq index` run. +- **Notes subsystem** — markdown on disk with `[[wikilinks]]`, project + scopes, cross-project references, and a live note graph view. Works + without any LLM configured. +- **Interactive graph** — SVG force-directed viz with d3-zoom (pinch/wheel + pan/zoom 0.1×–40×), hover-to-highlight neighbourhood, degree-scaled nodes. +- **Community detection** — pure-Go Louvain, hierarchical, no external deps. +- **Three LLM providers** — Azure OpenAI, OpenAI, Ollama — via + [`tmc/langchaingo`](https://github.com/tmc/langchaingo). Set + `provider: "none"` to run the server in notes-only mode with no LLM. +- **MCP server** — 12+ tools (local/global search, graph walk, community + reports, note read/write, …) exposed at `/mcp` via Streamable HTTP + transport with session handshake. +- **Embedded SPA** — React 19 + Tailwind 4 + shadcn/ui, served from + `//go:embed ui/dist`. PWA-installable with manifest + service worker. +- **Per-repo projects** — each scope has its own SQLite store + notes + directory, addressable by slug. + +## Quickstart -A **C toolchain** is required at install time (docsiq links SQLite -via CGO and bundles the `sqlite-vec` loadable extension): +```bash +# Clone, install UI deps, build UI, build Go binary +git clone https://github.com/RandomCodeSpace/docsiq +cd docsiq +npm --prefix ui ci +npm --prefix ui run build +CGO_ENABLED=1 go build -tags sqlite_fts5 -o docsiq ./ -- **Linux**: `sudo apt-get install build-essential` (or equivalent) -- **macOS**: `xcode-select --install` -- **Windows**: not supported +# Register the current git repo as a project +./docsiq init -Go ≥ 1.22 is required. +# Index a docs folder +./docsiq index ~/path/to/docs -```bash -go install github.com/RandomCodeSpace/docsiq@latest +# Start the server (UI + API + MCP) +./docsiq serve --port 37778 +# → http://localhost:37778 ``` -Or build from source: +## UI -```bash -git clone https://github.com/RandomCodeSpace/docsiq.git -cd docsiq -CGO_ENABLED=1 go build -tags sqlite_fts5 -o docsiq . -``` - -## Quick Start +- **Stack**: React 19, Vite 6, Tailwind 4, shadcn/ui primitives, Geist typography, Lucide icons +- **Architecture**: CSS lives in a single `globals.css` with an + `@layer components` section; JSX uses semantic class names only; + shadcn primitives are the only place Tailwind utilities live inline +- **Navigation**: labeled sidebar (Home · Notes · Documents · Graph · MCP) + with ⌘K command palette +- **Responsiveness**: mobile drawer via shadcn `Sheet`; iOS safe-area + respected; inputs forced to 16px below `sm:` to kill Safari auto-zoom +- **PWA**: manifest + 192/512 PNG icons + minimal service worker, + installable on Android/iOS +- **Hard reload**: refresh button in the header purges service worker + + CacheStorage and reloads from network — mobile-friendly `⌘⇧R` substitute -```bash -# 1. Create config -mkdir -p ~/.docsiq -cp config.example.yaml ~/.docsiq/config.yaml -# Edit ~/.docsiq/config.yaml — set your LLM provider +### Keyboard shortcuts -# 2. Index documents (Phases 1-2: load, chunk, embed, extract entities) -docsiq index ./your-docs/ --workers 4 +| Key | Action | +|---|---| +| `⌘K` / `Ctrl+K` | Command palette | +| `G H` | Home | +| `G N` | Notes | +| `G D` | Documents | +| `G G` | Graph | +| `G M` | MCP console | +| `⌘/` | Toggle tree drawer (Notes) | +| `⌘L` | Toggle links drawer (Notes) | + +## MCP + +docsiq speaks the MCP Streamable HTTP transport at `POST /mcp`. The UI's +MCP Console (inspector-style) gives you the same tool list with typed +argument forms. For external clients (Claude Desktop, Cursor, etc.) +register the server URL directly, or use the hooks helper: -# 3. Build knowledge graph (Phases 3-4: community detection + summaries) -docsiq index --finalize +```bash +docsiq hooks install --client claude-desktop +``` -# 4. Check stats -docsiq stats +## Architecture -# 5. Start server -docsiq serve --port 8080 ``` - -Open **http://localhost:8080** for the Web UI. +cmd/ CLI commands (cobra): index, serve, search, projects, init, hooks, vec +internal/ + api/ REST API + /mcp handler + chunker/ Text splitting (textsplitter.RecursiveCharacter) + community/ Louvain detection + summaries + config/ Viper YAML config + env override + crawler/ Web page crawler + embedder/ Batched text → vector (nil-safe when provider=none) + extractor/ LLM-based entity / relationship / claim extraction + llm/ Provider abstraction (Azure, OpenAI, Ollama, none) + loader/ Document loaders (PDF, DOCX, TXT, MD, web) + mcp/ Streamable HTTP MCP server (12+ tools) + notes/ Per-project markdown + wikilinks + graph builder + pipeline/ 5-phase indexing pipeline + project/ Project registry (git-remote-scoped slugs) + search/ Query engine (local + global + hybrid) + store/ SQLite + FTS5 + vector index + vectorindex/ HNSW ANN vector search +ui/ React 19 + Vite 6 SPA, embedded at compile time +``` ## Configuration -Copy `config.example.yaml` to `~/.docsiq/config.yaml` and edit: +Config lives at `~/.docsiq/config.yaml`; every key can be overridden by +an env var with prefix `DOCSIQ_` (dots → underscores, uppercased). ```yaml -data_dir: ~/.docsiq/data +server: + host: 0.0.0.0 + port: 37778 + api_key: "" # if set, UI + API require Authorization: Bearer llm: - provider: ollama # azure | ollama - + provider: ollama # azure | openai | ollama | none + azure: + chat_endpoint: https://chat.openai.azure.com + chat_api_key: ${AZURE_OPENAI_KEY} + chat_model: gpt-4o + chat_api_version: "2024-08-01" + embed_endpoint: https://embed.openai.azure.com + embed_api_key: ${AZURE_OPENAI_KEY} + embed_model: text-embedding-3-small + embed_api_version: "2024-08-01" + openai: + api_key: ${OPENAI_API_KEY} + chat_model: gpt-4o + embed_model: text-embedding-3-small ollama: base_url: http://localhost:11434 chat_model: llama3.2 embed_model: nomic-embed-text - azure: - # Shared defaults — used when chat/embed-specific values are not set. - endpoint: https://myresource.openai.azure.com - api_key: ${AZURE_OPENAI_API_KEY} - api_version: "2024-08-01" - - chat: - model: gpt-4o - # endpoint: ... # optional override (falls back to shared) - # api_key: ... # optional override (falls back to shared) - embed: - model: text-embedding-3-small - # endpoint: ... # optional override for separate deployment - # api_key: ... # optional override - indexing: - chunk_size: 512 - chunk_overlap: 50 workers: 4 - extract_graph: true - extract_claims: true - max_gleanings: 1 - -community: - min_community_size: 2 - max_levels: 3 + chunk_size: 512 + batch_size: 32 -server: - host: 127.0.0.1 - port: 8080 +default_project: _default ``` -### Environment Variables +**No LLM?** Set `provider: none`. The server still runs notes, wikilinks, +graph, tree, and notes-search. Endpoints that need the model +(`POST /api/search`, `POST /api/upload`, `/mcp` tool calls that embed or +extract) return `503 {"code": "llm_disabled"}`. -All config keys can be set via environment variables with the `DOCSIQ_` prefix. -Dots become underscores; the prefix is case-sensitive (upper-case). +## Build ```bash -# Provider -export DOCSIQ_LLM_PROVIDER=azure - -# Azure shared (used by both chat and embed unless overridden) -export DOCSIQ_LLM_AZURE_ENDPOINT=https://myresource.openai.azure.com -export DOCSIQ_LLM_AZURE_API_KEY=sk-... -export DOCSIQ_LLM_AZURE_API_VERSION=2024-08-01 - -# Azure chat (overrides shared values for chat completions) -export DOCSIQ_LLM_AZURE_CHAT_ENDPOINT=https://chat-deployment.openai.azure.com -export DOCSIQ_LLM_AZURE_CHAT_MODEL=gpt-4o - -# Azure embed (overrides shared values for embeddings) -export DOCSIQ_LLM_AZURE_EMBED_ENDPOINT=https://embed-deployment.openai.azure.com -export DOCSIQ_LLM_AZURE_EMBED_MODEL=text-embedding-3-small +# First time on a connected machine +npm --prefix ui ci # install UI deps +go mod download # Go deps -# Ollama -export DOCSIQ_LLM_OLLAMA_BASE_URL=http://localhost:11434 -export DOCSIQ_LLM_OLLAMA_CHAT_MODEL=llama3.2 -export DOCSIQ_LLM_OLLAMA_EMBED_MODEL=nomic-embed-text - -# Indexing -export DOCSIQ_INDEXING_WORKERS=4 -export DOCSIQ_INDEXING_CHUNK_SIZE=512 - -# Server -export DOCSIQ_SERVER_PORT=9090 -``` - -## CLI - -```bash -# Index a file or directory -docsiq index ./docs/ [--force] [--workers 4] [--verbose] - -# Run community detection + LLM summaries -docsiq index --finalize - -# Show statistics -docsiq stats -docsiq stats --json - -# Start MCP + Web UI server -docsiq serve [--port 8080] [--host 127.0.0.1] -``` - -## MCP Tools - -Connect any MCP client to `http://localhost:8080/mcp/sse`. - -| Tool | Description | -|---|---| -| `search_documents` | Vector similarity search over chunks | -| `local_search` | Vector + graph walk (GraphRAG local) | -| `global_search` | Community summary aggregation with LLM synthesis | -| `query_entity` | Entity details + relationships by name | -| `find_relationships` | Relationship lookup by source / target / predicate | -| `get_graph_neighborhood` | Subgraph JSON for visualization | -| `get_document_structure` | LLM-generated structured summary | -| `list_entities` | Browse entities with type filter | -| `list_documents` | Browse indexed documents | -| `get_community_report` | Community summary + member entities | -| `get_chunk` | Retrieve chunk by ID | -| `stats` | Full index statistics | - -## REST API - -``` -GET /api/stats -GET /api/documents -GET /api/documents/{id} -POST /api/search {"query":"...","mode":"local|global","top_k":5} -GET /api/graph/neighborhood?entity=&depth=2 -GET /api/entities -GET /api/communities -GET /api/communities/{id} -POST /api/upload +# Build +npm --prefix ui run build # produces ui/dist/ +CGO_ENABLED=1 go build -tags sqlite_fts5 -o docsiq ./ ``` -## Architecture - -``` -Document In - │ - ▼ Phase 1 — Text Units - Loader (PDF/DOCX/TXT/MD) → Chunker → Embedder → SQLite - - ▼ Phase 2 — Graph Extraction [parallel per document] - LLM → Entities + Relationships + Claims → SQLite - - ▼ Phase 3 — Community Detection [post-index finalization] - Louvain algorithm → hierarchical community assignments +CI builds UI first and passes `ui/dist/` to each Go job as an artifact. +`ui/dist/` is **not committed**; only a tiny placeholder `ui/dist/index.html` +exists in the repo to keep `//go:embed ui/dist` happy at compile time. - ▼ Phase 4 — Community Summaries [parallel] - LLM → CommunityReport → embed summary → SQLite +## Tests - ▼ Phase 5 — Structured Doc - LLM → JSON summary → SQLite +```bash +# Go +CGO_ENABLED=1 go test -tags sqlite_fts5 ./... +# Go -race integration +CGO_ENABLED=1 go test -tags "sqlite_fts5 integration" -race -timeout 1200s ./... + +# UI +npm --prefix ui run typecheck +npm --prefix ui test -- --run --coverage +npm --prefix ui run build ``` -Per-project SQLite databases live at -`$DATA_DIR/projects//docsiq.db`, with a tiny registry at -`$DATA_DIR/registry.db` mapping slugs to project metadata. - -## Hook support matrix - -docsiq registers a SessionStart hook with each AI client so GraphRAG -context is loaded when the client starts. Only Claude Code publishes a -documented SessionStart hook schema — the others are a best-effort -placeholder pinned by fixture tests. Installing an unverified hook -prints a `slog.Warn` so operators can opt out. - -| Client | Config path | Schema source | Status | -|---|---|---|---| -| Claude Code | `~/.claude/settings.json` | [docs.claude.com/en/docs/claude-code/hooks](https://docs.claude.com/en/docs/claude-code/hooks) (fetched 2026-04-17) | verified | -| Cursor | `~/.cursor/docsiq-hooks.json` | no docs (docs.cursor.com/en/agent/hooks returned empty, 2026-04-17) | unverified | -| Copilot CLI | `~/.config/github-copilot/hooks.json` | no docs (github.com/copilot CLI docs publish no hook schema, 2026-04-17) | unverified | -| Codex CLI | `~/.codex/hooks.json` | no docs (github.com/openai/codex `docs/config.md` documents only a `Notify` post-turn hook, no SessionStart, 2026-04-17) | unverified | - -> **Note:** Unverified hook shapes mirror the original kgraph guesses. -> When a client publishes a real schema, the corresponding installer in -> `internal/hookinstaller/` should be updated along with its fixture -> pair in `internal/hookinstaller/fixtures//`. - -## Supported File Types - -| Format | Extensions | Notes | -|---|---|---| -| PDF | `.pdf` | Text extraction via langchaingo (ledongthuc/pdf); scanned/image-only PDFs yield no text | -| Word | `.docx` | Open XML format (Office 2007+); legacy `.doc` not supported | -| Markdown | `.md`, `.markdown` | Heading `# Title` used as document title | -| Plain text | `.txt`, `.text` | UTF-8 encoding expected | +## License -> **Tip:** For best graph quality, prefer documents with clear structure (headings, named entities, factual prose). Scanned PDFs or heavily formatted spreadsheets will produce sparse graphs. +MIT. See [LICENSE](LICENSE). diff --git a/ui/dist/assets/DocumentView-S_kRD8s0.js b/ui/dist/assets/DocumentView-S_kRD8s0.js deleted file mode 100644 index 321bdc9..0000000 --- a/ui/dist/assets/DocumentView-S_kRD8s0.js +++ /dev/null @@ -1 +0,0 @@ -import{f as a,e as c,j as s}from"./index-DEeQUcqL.js";import{a as d}from"./useDocs-EWsD7rBb.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";function p(){const{id:t}=a(),i=c(r=>r.slug),{data:e,isLoading:o}=d(i,t);return o?s.jsx("div",{className:"p-8 text-sm text-muted-foreground",children:"Loading…"}):e?s.jsxs("article",{className:"doc-view",children:[s.jsx("h1",{className:"doc-view-title",children:e.title||e.path}),s.jsxs("div",{className:"doc-view-meta",children:[e.doc_type," · v",e.version]})]}):s.jsx("div",{className:"p-8 text-sm",children:"Not found."})}export{p as default}; diff --git a/ui/dist/assets/DocumentsList-DDiV8Alk.js b/ui/dist/assets/DocumentsList-DDiV8Alk.js deleted file mode 100644 index 0e644bb..0000000 --- a/ui/dist/assets/DocumentsList-DDiV8Alk.js +++ /dev/null @@ -1 +0,0 @@ -import{j as e,o as r,e as y,p as w,r as u,D as v,s as k,t as T,v as D,n as q,q as j,B as f,L as C,i as U}from"./index-DEeQUcqL.js";import{u as R}from"./useDocs-EWsD7rBb.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";function L({className:t,...s}){return e.jsx("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:e.jsx("table",{"data-slot":"table",className:r("w-full caption-bottom text-sm",t),...s})})}function O({className:t,...s}){return e.jsx("thead",{"data-slot":"table-header",className:r("[&_tr]:border-b",t),...s})}function A({className:t,...s}){return e.jsx("tbody",{"data-slot":"table-body",className:r("[&_tr:last-child]:border-0",t),...s})}function b({className:t,...s}){return e.jsx("tr",{"data-slot":"table-row",className:r("border-b transition-colors hover:bg-muted/50 has-aria-expanded:bg-muted/50 data-[state=selected]:bg-muted",t),...s})}function c({className:t,...s}){return e.jsx("th",{"data-slot":"table-head",className:r("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...s})}function i({className:t,...s}){return e.jsx("td",{"data-slot":"table-cell",className:r("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",t),...s})}function g({open:t,onOpenChange:s}){const n=y(l=>l.slug),o=w(),[a,p]=u.useState(!1),[x,m]=u.useState(null);async function N(l){if(!(!l||l.length===0)){p(!0),m(null);try{const d=new FormData;for(const h of Array.from(l))d.append("files",h,h.name);await q(`/api/upload?project=${encodeURIComponent(n)}`,{method:"POST",body:d}),o.invalidateQueries({queryKey:j.docs(n)}),o.invalidateQueries({queryKey:j.stats(n)}),s(!1)}catch(d){m(d.message)}finally{p(!1)}}}return e.jsx(v,{open:t,onOpenChange:s,children:e.jsxs(k,{children:[e.jsx(T,{children:e.jsx(D,{children:"Upload documents"})}),e.jsx("input",{type:"file",multiple:!0,onChange:l=>N(l.currentTarget.files),className:"block w-full text-sm"}),a&&e.jsx("p",{className:"text-xs text-muted-foreground",children:"Uploading…"}),x&&e.jsx("p",{className:"text-xs text-destructive",children:x})]})})}function _(){const t=y(a=>a.slug),{data:s=[]}=R(t),[n,o]=u.useState(!1);return s.length===0?e.jsxs("div",{className:"docs-page",children:[e.jsxs("div",{className:"docs-page-head",children:[e.jsx("h1",{className:"docs-page-title",children:"Documents"}),e.jsx(f,{onClick:()=>o(!0),children:"Upload"})]}),e.jsx(g,{open:n,onOpenChange:o}),e.jsxs("div",{className:"docs-empty",children:[e.jsx("p",{className:"docs-empty-title",children:"No documents indexed yet."}),e.jsx("p",{className:"docs-empty-desc",children:"docsiq indexes from disk or URL into a GraphRAG knowledge base. Run the CLI against a folder of PDFs, Markdown, text, or a docs site."}),e.jsxs("code",{className:"docs-empty-code",children:["docsiq index ~/path/to/docs --project ",t]}),e.jsxs("p",{className:"docs-empty-hint",children:["Requires an LLM provider (Azure OpenAI / OpenAI / Ollama) configured in",e.jsx("code",{className:"mx-1 px-1 py-0.5 bg-muted rounded font-mono",children:"~/.docsiq/config.yaml"}),". Notes and wikilinks work without a provider."]})]})]}):e.jsxs("div",{className:"docs-page",children:[e.jsxs("div",{className:"docs-page-head",children:[e.jsx("h1",{className:"docs-page-title",children:"Documents"}),e.jsx(f,{onClick:()=>o(!0),children:"Upload"})]}),e.jsx(g,{open:n,onOpenChange:o}),e.jsxs(L,{children:[e.jsx(O,{children:e.jsxs(b,{children:[e.jsx(c,{children:"Title"}),e.jsx(c,{children:"Type"}),e.jsx(c,{children:"Updated"})]})}),e.jsx(A,{children:s.map(a=>e.jsxs(b,{children:[e.jsx(i,{children:e.jsx(C,{to:`/docs/${a.id}`,className:"text-foreground underline decoration-dotted",children:a.title||a.path})}),e.jsx(i,{className:"text-muted-foreground",children:a.doc_type}),e.jsx(i,{className:"text-muted-foreground",children:U(a.updated_at*1e3)})]},a.id))})]})]})}export{_ as default}; diff --git a/ui/dist/assets/Graph-DhboX9Bv.js b/ui/dist/assets/Graph-DhboX9Bv.js deleted file mode 100644 index cb088f9..0000000 --- a/ui/dist/assets/Graph-DhboX9Bv.js +++ /dev/null @@ -1 +0,0 @@ -import{r as l,w as p,j as e,e as u,d as m}from"./index-DEeQUcqL.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";const d={entity:"var(--chart-1)",note:"var(--chart-3)",community:"var(--chart-2)"};function h({data:o,width:s=1200,height:t=700}){const a=l.useMemo(()=>p(o,s,t),[o,s,t]),c=l.useMemo(()=>Object.fromEntries(a.nodes.map(r=>[r.id,r])),[a.nodes]);return e.jsxs("svg",{viewBox:`0 0 ${s} ${t}`,className:"w-full h-full",role:"img","aria-label":"Entity + notes graph",children:[a.edges.map((r,x)=>{const i=c[r.source],n=c[r.target];return!i||!n?null:e.jsx("line",{x1:i.x,y1:i.y,x2:n.x,y2:n.y,stroke:"var(--border)",strokeWidth:.7},x)}),a.nodes.map(r=>e.jsxs("g",{children:[e.jsx("circle",{cx:r.x,cy:r.y,r:4.5,fill:d[r.kind]??d.entity}),e.jsx("title",{children:r.label||r.id})]},r.id))]})}function v(){const o=u(a=>a.slug),{data:s,isLoading:t}=m(o);return t?e.jsx("div",{className:"p-8 text-sm text-muted-foreground",children:"Loading graph…"}):s?e.jsx("div",{className:"graph-page",children:e.jsx("div",{className:"graph-canvas-wrap",children:e.jsx(h,{data:s})})}):e.jsx("div",{className:"p-8 text-sm",children:"No graph data."})}export{v as default}; diff --git a/ui/dist/assets/MCPConsole-B2jF6C5Z.js b/ui/dist/assets/MCPConsole-B2jF6C5Z.js deleted file mode 100644 index 97f3ba7..0000000 --- a/ui/dist/assets/MCPConsole-B2jF6C5Z.js +++ /dev/null @@ -1,6 +0,0 @@ -import{r as i,j as e,o as O,B as J}from"./index-DEeQUcqL.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";function q(){var a;if(typeof document>"u")return null;const s=(a=document.querySelector('meta[name="docsiq-api-key"]'))==null?void 0:a.getAttribute("content");return s&&s.length?s:null}async function v(s,a){const r={"Content-Type":"application/json",Accept:"application/json, text/event-stream"},o=q();o&&(r.Authorization=`Bearer ${o}`),s&&(r["Mcp-Session-Id"]=s);const l=await fetch("/mcp",{method:"POST",headers:r,body:JSON.stringify(a)}),n=l.headers.get("Mcp-Session-Id")??s,c=await l.text();if(!l.ok)throw new Error(`HTTP ${l.status}: ${c.slice(0,200)}`);if(!c)return{json:null,sessionId:n};if((l.headers.get("content-type")??"").includes("text/event-stream")){for(const N of c.split(/\r?\n/))if(N.startsWith("data: "))return{json:JSON.parse(N.slice(6)),sessionId:n};throw new Error("MCP SSE response had no data frame")}return{json:JSON.parse(c),sessionId:n}}function P(){const[s,a]=i.useState([]),[r,o]=i.useState([]),[l,n]=i.useState(null),c=i.useRef(null),m=i.useRef(!1);async function N(){if(m.current)return;const{sessionId:u}=await v(null,{jsonrpc:"2.0",id:1,method:"initialize",params:{protocolVersion:"2025-03-26",capabilities:{},clientInfo:{name:"docsiq-ui",version:"0.1"}}});c.current=u,await v(c.current,{jsonrpc:"2.0",method:"notifications/initialized"}),m.current=!0}const S=i.useCallback(async()=>{var u;try{await N();const{json:h}=await v(c.current,{jsonrpc:"2.0",id:Date.now(),method:"tools/list"}),f=h;o(((u=f==null?void 0:f.result)==null?void 0:u.tools)??[]),n(null)}catch(h){n(h.message),m.current=!1,c.current=null}},[]);i.useEffect(()=>{S()},[S]);const b=i.useCallback(async(u,h)=>{const f=performance.now(),y={id:crypto.randomUUID(),tool:u,args:h,tookMs:0,timestamp:Date.now()};try{await N();const{json:x}=await v(c.current,{jsonrpc:"2.0",id:Date.now(),method:"tools/call",params:{name:u,arguments:h}}),d=x;if(d!=null&&d.error)throw new Error(d.error.message);y.result=d==null?void 0:d.result}catch(x){y.error=x.message,m.current=!1,c.current=null}finally{y.tookMs=Math.round(performance.now()-f),a(x=>[y,...x].slice(0,50))}},[]);return{history:s,invoke:b,tools:r,toolsError:l,refreshTools:S}}function R(s){var n;if(!((n=s==null?void 0:s.inputSchema)!=null&&n.properties))return"{}";const a=s.inputSchema.properties,r=new Set(s.inputSchema.required??[]),o=Object.keys(a);if(o.length===0)return"{}";const l={};for(const c of o){if(r.size&&!r.has(c))continue;const m=a[c].type;l[c]=m==="number"||m==="integer"?0:m==="boolean"?!1:m==="array"?[]:m==="object"?{}:""}return JSON.stringify(l,null,2)}function I(s){var o,l;const a=((o=s==null?void 0:s.inputSchema)==null?void 0:o.properties)??{},r=new Set(((l=s==null?void 0:s.inputSchema)==null?void 0:l.required)??[]);return Object.entries(a).map(([n,c])=>({name:n,type:c.type??"string",description:c.description,enum:c.enum,required:r.has(n)}))}function F(s,a){if(s!==""){if(a==="number"||a==="integer"){const r=Number(s);return Number.isFinite(r)?r:s}if(a==="boolean")return s==="true";if(a==="array"||a==="object")try{return JSON.parse(s)}catch{return s}return s}}function D(){const{history:s,invoke:a,tools:r,toolsError:o,refreshTools:l}=P(),[n,c]=i.useState(""),[m,N]=i.useState(""),[S,b]=i.useState({}),[u,h]=i.useState("{}"),[f,y]=i.useState(!1),[x,d]=i.useState(null),[C,T]=i.useState(!1),w=i.useMemo(()=>{const t=m.trim().toLowerCase();return t?r.filter(g=>{var j;return g.name.toLowerCase().includes(t)||((j=g.description)==null?void 0:j.toLowerCase().includes(t))}):r},[r,m]);i.useEffect(()=>{!n&&w.length&&c(w[0].name)},[w,n]);const p=i.useMemo(()=>r.find(t=>t.name===n),[r,n]),k=i.useMemo(()=>I(p),[p]);i.useEffect(()=>{d(null),b({}),h(R(p)),y(!1)},[n,p]);async function E(){if(!p)return;d(null);let t;if(f)try{t=JSON.parse(u)}catch{d("Invalid JSON");return}else{const g={};for(const j of k){const M=F(S[j.name]??"",j.type);M!==void 0&&(g[j.name]=M)}t=g}T(!0);try{await a(p.name,t)}finally{T(!1)}}return e.jsxs("div",{className:"mcp-shell",children:[e.jsxs("aside",{className:"mcp-aside",children:[e.jsxs("div",{className:"mcp-aside-head",children:[e.jsxs("div",{className:"mcp-aside-title",children:[e.jsx("h1",{className:"mcp-aside-name",children:"MCP Tools"}),e.jsx("span",{className:"mcp-aside-count",children:o?"error":r.length})]}),e.jsx("input",{value:m,onChange:t=>N(t.currentTarget.value),placeholder:"filter…",className:"mcp-filter","aria-label":"Filter tools"}),e.jsx("button",{onClick:()=>void l(),className:"mcp-refresh",children:"refresh"})]}),o&&e.jsx("p",{className:"mcp-error",children:o}),e.jsx("ul",{children:w.map(t=>e.jsx("li",{children:e.jsxs("button",{onClick:()=>c(t.name),className:O("mcp-tool",t.name===n&&"mcp-tool-active"),children:[e.jsx("div",{children:t.name}),t.description&&e.jsx("div",{className:"mcp-tool-desc",children:t.description})]})},t.name))})]}),e.jsx("section",{className:"mcp-main",children:p?e.jsxs("div",{className:"mcp-content",children:[e.jsxs("header",{className:"mb-4",children:[e.jsx("h2",{className:"mcp-title",children:p.name}),p.description&&e.jsx("p",{className:"mcp-desc",children:p.description})]}),e.jsxs("div",{className:"mcp-panel",children:[e.jsxs("div",{className:"mcp-panel-head",children:[e.jsx("h3",{className:"mcp-panel-title",children:"Arguments"}),e.jsxs("label",{className:"mcp-raw-toggle",children:[e.jsx("input",{type:"checkbox",checked:f,onChange:t=>y(t.currentTarget.checked)}),"raw JSON"]})]}),f?e.jsx("textarea",{value:u,onChange:t=>h(t.currentTarget.value),rows:Math.min(14,Math.max(4,u.split(` -`).length)),className:"mcp-textarea",spellCheck:!1}):k.length===0?e.jsx("p",{className:"mcp-empty-params",children:"(no parameters)"}):e.jsx("div",{className:"space-y-3",children:k.map(t=>e.jsx(z,{spec:t,value:S[t.name]??"",onChange:g=>b(j=>({...j,[t.name]:g}))},t.name))}),e.jsxs("div",{className:"mcp-run-row",children:[e.jsx(J,{onClick:E,disabled:C,size:"sm",children:C?"running…":"Run"}),x&&e.jsx("span",{className:"text-xs text-destructive",children:x})]})]}),e.jsxs("section",{children:[e.jsx("h3",{className:"mcp-panel-title mb-2",children:"History"}),s.length===0&&e.jsx("p",{className:"text-sm text-muted-foreground",children:"No calls yet."}),e.jsx("div",{className:"mcp-history",children:s.map(t=>e.jsxs("details",{className:"mcp-history-item",open:t===s[0],children:[e.jsxs("summary",{className:"mcp-history-head",children:[e.jsx("span",{className:"mcp-history-name",children:t.tool}),e.jsxs("span",{className:"mcp-history-ms",children:[t.tookMs,"ms"]}),t.error?e.jsx("span",{className:"mcp-history-err",children:t.error}):e.jsx("span",{className:"mcp-history-ok",children:"ok"})]}),e.jsx("pre",{className:"mcp-history-body",children:`args: -${JSON.stringify(t.args,null,2)} - -result: -${JSON.stringify(t.result,null,2)}`})]},t.id))})]})]}):e.jsx("div",{className:"mcp-content text-sm text-muted-foreground",children:r.length?"Pick a tool on the left.":"Connecting to MCP…"})})]})}function z({spec:s,value:a,onChange:r}){var l;const o=e.jsxs("label",{className:"param-label",children:[e.jsx("span",{className:"param-name",children:s.name}),e.jsxs("span",{className:"param-type",children:[":",s.type]}),s.required&&e.jsx("span",{className:"param-required",children:"*"}),s.description&&e.jsx("span",{className:"param-desc",children:s.description})]});return(l=s.enum)!=null&&l.length?e.jsxs("div",{children:[o,e.jsxs("select",{value:a,onChange:n=>r(n.currentTarget.value),className:"param-input",children:[e.jsx("option",{value:"",children:"—"}),s.enum.map(n=>e.jsx("option",{value:String(n),children:String(n)},String(n)))]})]}):s.type==="boolean"?e.jsxs("div",{children:[o,e.jsxs("select",{value:a,onChange:n=>r(n.currentTarget.value),className:"param-input",children:[e.jsx("option",{value:"",children:"—"}),e.jsx("option",{value:"true",children:"true"}),e.jsx("option",{value:"false",children:"false"})]})]}):s.type==="array"||s.type==="object"?e.jsxs("div",{children:[o,e.jsx("textarea",{value:a,onChange:n=>r(n.currentTarget.value),rows:3,placeholder:s.type==="array"?"[]":"{}",className:"param-input",spellCheck:!1})]}):e.jsxs("div",{children:[o,e.jsx("input",{value:a,onChange:n=>r(n.currentTarget.value),type:s.type==="number"||s.type==="integer"?"number":"text",className:"param-input"})]})}export{D as default}; diff --git a/ui/dist/assets/NoteEditor-XWs05OuT.js b/ui/dist/assets/NoteEditor-XWs05OuT.js deleted file mode 100644 index a27ce33..0000000 --- a/ui/dist/assets/NoteEditor-XWs05OuT.js +++ /dev/null @@ -1 +0,0 @@ -import{R as q,f as Ir,e as Dr,k as jr,h as Zr,l as Lr,r as Mr,j as ue}from"./index-DEeQUcqL.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";var We=t=>t.type==="checkbox",Ae=t=>t instanceof Date,J=t=>t==null;const fr=t=>typeof t=="object";var M=t=>!J(t)&&!Array.isArray(t)&&fr(t)&&!Ae(t),$r=t=>M(t)&&t.target?We(t.target)?t.target.checked:t.target.value:t,Pr=(t,e)=>e.split(".").some((r,s,i)=>!isNaN(Number(r))&&t.has(i.slice(0,s).join("."))),Ur=t=>{const e=t.constructor&&t.constructor.prototype;return M(e)&&e.hasOwnProperty("isPrototypeOf")},xt=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function U(t){if(t instanceof Date)return new Date(t);const e=typeof FileList<"u"&&t instanceof FileList;if(xt&&(t instanceof Blob||e))return t;const r=Array.isArray(t);if(!r&&!(M(t)&&Ur(t)))return t;const s=r?[]:Object.create(Object.getPrototypeOf(t));for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(s[i]=U(t[i]));return s}var tt=t=>/^\w*$/.test(t),L=t=>t===void 0,bt=t=>Array.isArray(t)?t.filter(Boolean):[],kt=t=>bt(t.replace(/["|']|\]/g,"").split(/\.|\[/)),p=(t,e,r)=>{if(!e||!M(t))return r;const s=(tt(e)?[e]:kt(e)).reduce((i,a)=>J(i)?i:i[a],t);return L(s)||s===t?L(t[e])?r:t[e]:s},le=t=>typeof t=="boolean",se=t=>typeof t=="function",D=(t,e,r)=>{let s=-1;const i=tt(e)?[e]:kt(e),a=i.length,o=a-1;for(;++s{const i={defaultValues:e._defaultValues};for(const a in t)Object.defineProperty(i,a,{get:()=>{const o=a;return e._proxyFormState[o]!==ae.all&&(e._proxyFormState[o]=!s||ae.all),t[o]}});return i};const Wr=typeof window<"u"?q.useLayoutEffect:q.useEffect;var G=t=>typeof t=="string",qr=(t,e,r,s,i)=>G(t)?(s&&e.watch.add(t),p(r,t,i)):Array.isArray(t)?t.map(a=>(s&&e.watch.add(a),p(r,a))):(s&&(e.watchAll=!0),r),ht=t=>J(t)||!fr(t);function pe(t,e,r=new WeakSet){if(ht(t)||ht(e))return Object.is(t,e);if(Ae(t)&&Ae(e))return Object.is(t.getTime(),e.getTime());const s=Object.keys(t),i=Object.keys(e);if(s.length!==i.length)return!1;if(r.has(t)||r.has(e))return!0;r.add(t),r.add(e);for(const a of s){const o=t[a];if(!i.includes(a))return!1;if(a!=="ref"){const d=e[a];if(Ae(o)&&Ae(d)||(M(o)||Array.isArray(o))&&(M(d)||Array.isArray(d))?!pe(o,d,r):!Object.is(o,d))return!1}}return!0}const Hr=q.createContext(null);Hr.displayName="HookFormContext";var mr=(t,e,r,s,i)=>e?{...r[t],types:{...r[t]&&r[t].types?r[t].types:{},[s]:i||!0}}:{},$e=t=>Array.isArray(t)?t:[t],Lt=()=>{let t=[];return{get observers(){return t},next:i=>{for(const a of t)a.next&&a.next(i)},subscribe:i=>(t.push(i),{unsubscribe:()=>{t=t.filter(a=>a!==i)}}),unsubscribe:()=>{t=[]}}};function yr(t,e){const r={};for(const s in t)if(t.hasOwnProperty(s)){const i=t[s],a=e[s];if(i&&M(i)&&a){const o=yr(i,a);M(o)&&(r[s]=o)}else t[s]&&(r[s]=a)}return r}var H=t=>M(t)&&!Object.keys(t).length,wt=t=>t.type==="file",Ge=t=>{if(!xt)return!1;const e=t?t.ownerDocument:0;return t instanceof(e&&e.defaultView?e.defaultView.HTMLElement:HTMLElement)},gr=t=>t.type==="select-multiple",At=t=>t.type==="radio",Gr=t=>At(t)||We(t),lt=t=>Ge(t)&&t.isConnected;function Yr(t,e){const r=e.slice(0,-1).length;let s=0;for(;s{for(const e in t)if(se(t[e]))return!0;return!1};function vr(t){return Array.isArray(t)||M(t)&&!Qr(t)}function mt(t,e={}){for(const r in t){const s=t[r];vr(s)?(e[r]=Array.isArray(s)?[]:{},mt(s,e[r])):L(s)||(e[r]=!0)}return e}function Le(t,e,r){r||(r=mt(e));for(const s in t){const i=t[s];if(vr(i))L(e)||ht(r[s])?r[s]=mt(i,Array.isArray(i)?[]:{}):Le(i,J(e)?{}:e[s],r[s]);else{const a=e[s];r[s]=!pe(i,a)}}return r}const Mt={value:!1,isValid:!1},$t={value:!0,isValid:!0};var pr=t=>{if(Array.isArray(t)){if(t.length>1){const e=t.filter(r=>r&&r.checked&&!r.disabled).map(r=>r.value);return{value:e,isValid:!!e.length}}return t[0].checked&&!t[0].disabled?t[0].attributes&&!L(t[0].attributes.value)?L(t[0].value)||t[0].value===""?$t:{value:t[0].value,isValid:!0}:$t:Mt}return Mt},_r=(t,{valueAsNumber:e,valueAsDate:r,setValueAs:s})=>L(t)?t:e?t===""?NaN:t&&+t:r&&G(t)?new Date(t):s?s(t):t;const Pt={isValid:!1,value:null};var xr=t=>Array.isArray(t)?t.reduce((e,r)=>r&&r.checked&&!r.disabled?{isValid:!0,value:r.value}:e,Pt):Pt;function Ut(t){const e=t.ref;return wt(e)?e.files:At(e)?xr(t.refs).value:gr(e)?[...e.selectedOptions].map(({value:r})=>r):We(e)?pr(t.refs).value:_r(L(e.value)?t.ref.value:e.value,t)}var Xr=t=>t.substring(0,t.search(/\.\d+(\.|$)/))||t,Kr=(t,e,r,s)=>{const i={};for(const a of t){const o=p(e,a);o&&D(i,a,o._f)}return{criteriaMode:r,names:[...t],fields:i,shouldUseNativeValidation:s}},Ye=t=>t instanceof RegExp,Ze=t=>L(t)?t:Ye(t)?t.source:M(t)?Ye(t.value)?t.value.source:t.value:t,Bt=t=>({isOnSubmit:!t||t===ae.onSubmit,isOnBlur:t===ae.onBlur,isOnChange:t===ae.onChange,isOnAll:t===ae.all,isOnTouch:t===ae.onTouched});const zt="AsyncFunction";var es=t=>!!t&&!!t.validate&&!!(se(t.validate)&&t.validate.constructor.name===zt||M(t.validate)&&Object.values(t.validate).find(e=>e.constructor.name===zt)),ts=t=>t.mount&&(t.required||t.min||t.max||t.maxLength||t.minLength||t.pattern||t.validate),Wt=(t,e,r)=>!r&&(e.watchAll||e.watch.has(t)||[...e.watch].some(s=>t.startsWith(s)&&/^\.\w+/.test(t.slice(s.length))));const Pe=(t,e,r,s)=>{for(const i of r||Object.keys(t)){const a=p(t,i);if(a){const{_f:o,...d}=a;if(o){if(o.refs&&o.refs[0]&&e(o.refs[0],i)&&!s)return!0;if(o.ref&&e(o.ref,o.name)&&!s)return!0;if(Pe(d,e))break}else if(M(d)&&Pe(d,e))break}}};function qt(t,e,r){const s=p(t,r);if(s||tt(r))return{error:s,name:r};const i=r.split(".");for(;i.length;){const a=i.join("."),o=p(e,a),d=p(t,a);if(o&&!Array.isArray(o)&&r!==a)return{name:r};if(d&&d.type)return{name:a,error:d};if(d&&d.root&&d.root.type)return{name:`${a}.root`,error:d.root};i.pop()}return{name:r}}var rs=(t,e,r,s)=>{r(t);const{name:i,...a}=t;return H(a)||Object.keys(a).length>=Object.keys(e).length||Object.keys(a).find(o=>e[o]===(!s||ae.all))},ss=(t,e,r)=>!t||!e||t===e||$e(t).some(s=>s&&(r?s===e:s.startsWith(e)||e.startsWith(s))),as=(t,e,r,s,i)=>i.isOnAll?!1:!r&&i.isOnTouch?!(e||t):(r?s.isOnBlur:i.isOnBlur)?!t:(r?s.isOnChange:i.isOnChange)?t:!0,is=(t,e)=>!bt(p(t,e)).length&&$(t,e),ns=(t,e,r)=>{const s=$e(p(t,r));return D(s,hr,e[r]),D(t,r,s),t};function Ht(t,e,r="validate"){if(G(t)||Array.isArray(t)&&t.every(G)||le(t)&&!t)return{type:r,message:G(t)?t:"",ref:e}}var Ve=t=>M(t)&&!Ye(t)?t:{value:t,message:""},Gt=async(t,e,r,s,i,a)=>{const{ref:o,refs:d,required:f,maxLength:y,minLength:k,min:O,max:Z,pattern:V,validate:fe,name:Q,valueAsNumber:ie,mount:K}=t._f,N=p(r,Q);if(!K||e.has(Q))return{};const he=d?d[0]:o,me=T=>{i&&he.reportValidity&&(he.setCustomValidity(le(T)?"":T||""),he.reportValidity())},B={},Fe=At(o),Ie=We(o),rt=Fe||Ie,ne=(ie||wt(o))&&L(o.value)&&L(N)||Ge(o)&&o.value===""||N===""||Array.isArray(N)&&!N.length,we=mr.bind(null,Q,s,B),De=(T,I,j,z=re.maxLength,oe=re.minLength)=>{const te=T?I:j;B[Q]={type:T?z:oe,message:te,ref:o,...we(T?z:oe,te)}};if(a?!Array.isArray(N)||!N.length:f&&(!rt&&(ne||J(N))||le(N)&&!N||Ie&&!pr(d).isValid||Fe&&!xr(d).isValid)){const{value:T,message:I}=G(f)?{value:!!f,message:f}:Ve(f);if(T&&(B[Q]={type:re.required,message:I,ref:he,...we(re.required,I)},!s))return me(I),B}if(!ne&&(!J(O)||!J(Z))){let T,I;const j=Ve(Z),z=Ve(O);if(!J(N)&&!isNaN(N)){const oe=o.valueAsNumber||N&&+N;J(j.value)||(T=oe>j.value),J(z.value)||(I=oenew Date(new Date().toDateString()+" "+qe),je=o.type=="time",ge=o.type=="week";G(j.value)&&N&&(T=je?te(N)>te(j.value):ge?N>j.value:oe>new Date(j.value)),G(z.value)&&N&&(I=je?te(N)+T.value,z=!J(I.value)&&N.length<+I.value;if((j||z)&&(De(j,T.message,I.message),!s))return me(B[Q].message),B}if(V&&!ne&&G(N)){const{value:T,message:I}=Ve(V);if(Ye(T)&&!N.match(T)&&(B[Q]={type:re.pattern,message:I,ref:o,...we(re.pattern,I)},!s))return me(I),B}if(fe){if(se(fe)){const T=await fe(N,r),I=Ht(T,he);if(I&&(B[Q]={...I,...we(re.validate,I.message)},!s))return me(I.message),B}else if(M(fe)){let T={};for(const I in fe){if(!H(T)&&!s)break;const j=Ht(await fe[I](N,r),he,I);j&&(T={...j,...we(I,j.message)},me(j.message),s&&(B[Q]=T))}if(!H(T)&&(B[Q]={ref:he,...T},!s))return B}}return me(!0),B};const os={mode:ae.onSubmit,reValidateMode:ae.onChange,shouldFocusError:!0};function ds(t={}){let e={...os,...t},r={submitCount:0,isDirty:!1,isReady:!1,isLoading:se(e.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1},s={},i=M(e.defaultValues)||M(e.values)?U(e.defaultValues||e.values)||{}:{},a=e.shouldUnregister?{}:U(i),o={action:!1,mount:!1,watch:!1,keepIsValid:!1},d={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set,registerName:new Set},f,y=0;const k={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},O={...k};let Z={...O};const V={array:Lt(),state:Lt()},fe=e.criteriaMode===ae.all,Q=n=>u=>{clearTimeout(y),y=setTimeout(n,u)},ie=async n=>{if(!o.keepIsValid&&!e.disabled&&(O.isValid||Z.isValid||n)){let u;e.resolver?(u=H((await ne()).errors),K()):u=await T({fields:s,onlyCheckValid:!0,eventType:Ce.VALID}),u!==r.isValid&&V.state.next({isValid:u})}},K=(n,u)=>{!e.disabled&&(O.isValidating||O.validatingFields||Z.isValidating||Z.validatingFields)&&((n||Array.from(d.mount)).forEach(l=>{l&&(u?D(r.validatingFields,l,u):$(r.validatingFields,l))}),V.state.next({validatingFields:r.validatingFields,isValidating:!H(r.validatingFields)}))},N=n=>{const u=Le(i,a),l=Xr(n);D(r.dirtyFields,l,p(u,l))},he=(n,u=[],l,g,m=!0,h=!0)=>{if(g&&l&&!e.disabled){if(o.action=!0,h&&Array.isArray(p(s,n))){const _=l(p(s,n),g.argA,g.argB);m&&D(s,n,_)}if(h&&Array.isArray(p(r.errors,n))){const _=l(p(r.errors,n),g.argA,g.argB);m&&D(r.errors,n,_),is(r.errors,n)}if((O.touchedFields||Z.touchedFields)&&h&&Array.isArray(p(r.touchedFields,n))){const _=l(p(r.touchedFields,n),g.argA,g.argB);m&&D(r.touchedFields,n,_)}(O.dirtyFields||Z.dirtyFields)&&N(n),V.state.next({name:n,isDirty:j(n,u),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else D(a,n,u)},me=(n,u)=>{D(r.errors,n,u),V.state.next({errors:r.errors})},B=n=>{r.errors=n,V.state.next({errors:r.errors,isValid:!1})},Fe=(n,u,l,g)=>{const m=p(s,n);if(m){const h=p(a,n,L(l)?p(i,n):l);L(h)||g&&g.defaultChecked||u?D(a,n,u?h:Ut(m._f)):te(n,h),o.mount&&!o.action&&ie()}},Ie=(n,u,l,g,m)=>{let h=!1,_=!1;const S={name:n};if(!e.disabled){if(!l||g){(O.isDirty||Z.isDirty)&&(_=r.isDirty,r.isDirty=S.isDirty=j(),h=_!==S.isDirty);const F=pe(p(i,n),u);_=!!p(r.dirtyFields,n),F?$(r.dirtyFields,n):D(r.dirtyFields,n,!0),S.dirtyFields=r.dirtyFields,h=h||(O.dirtyFields||Z.dirtyFields)&&_!==!F}if(l){const F=p(r.touchedFields,n);F||(D(r.touchedFields,n,l),S.touchedFields=r.touchedFields,h=h||(O.touchedFields||Z.touchedFields)&&F!==l)}h&&m&&V.state.next(S)}return h?S:{}},rt=(n,u,l,g)=>{const m=p(r.errors,n),h=(O.isValid||Z.isValid)&&le(u)&&r.isValid!==u;if(e.delayError&&l?(f=Q(()=>me(n,l)),f(e.delayError)):(clearTimeout(y),f=null,l?D(r.errors,n,l):$(r.errors,n)),(l?!pe(m,l):m)||!H(g)||h){const _={...g,...h&&le(u)?{isValid:u}:{},errors:r.errors,name:n};r={...r,..._},V.state.next(_)}},ne=async n=>(K(n,!0),await e.resolver(a,e.context,Kr(n||d.mount,s,e.criteriaMode,e.shouldUseNativeValidation))),we=async n=>{const{errors:u}=await ne(n);if(K(n),n)for(const l of n){const g=p(u,l);g?D(r.errors,l,g):$(r.errors,l)}else r.errors=u;return u},De=async({name:n,eventType:u})=>{if(t.validate){const l=await t.validate({formValues:a,formState:r,name:n,eventType:u});if(M(l))for(const g in l)l[g]&&He(`${ut}.${g}`,{message:G(l.message)?l.message:"",type:re.validate});else G(l)||!l?He(ut,{message:l||"",type:re.validate}):Ot(ut);return l}return!0},T=async({fields:n,onlyCheckValid:u,name:l,eventType:g,context:m={valid:!0,runRootValidation:!1}})=>{if(t.validate&&(m.runRootValidation=!0,!await De({name:l,eventType:g})&&(m.valid=!1,u)))return m.valid;for(const h in n){const _=n[h];if(_){const{_f:S,...F}=_;if(S){const W=d.array.has(S.name),de=_._f&&es(_._f);de&&O.validatingFields&&K([S.name],!0);const Y=await Gt(_,d.disabled,a,fe,e.shouldUseNativeValidation&&!u,W);if(de&&O.validatingFields&&K([S.name]),Y[S.name]&&(m.valid=!1,u)||(!u&&(p(Y,S.name)?W?ns(r.errors,Y,S.name):D(r.errors,S.name,Y[S.name]):$(r.errors,S.name)),t.shouldUseNativeValidation&&Y[S.name]))break}!H(F)&&await T({context:m,onlyCheckValid:u,fields:F,name:h,eventType:g})}}return m.valid},I=()=>{for(const n of d.unMount){const u=p(s,n);u&&(u._f.refs?u._f.refs.every(l=>!lt(l)):!lt(u._f.ref))&&at(n)}d.unMount=new Set},j=(n,u)=>!e.disabled&&(n&&u&&D(a,n,u),!pe(Vt(),i)),z=(n,u,l)=>qr(n,d,{...o.mount?a:L(u)?i:G(n)?{[n]:u}:u},l,u),oe=n=>bt(p(o.mount?a:i,n,e.shouldUnregister?p(i,n,[]):[])),te=(n,u,l={})=>{const g=p(s,n);let m=u;if(g){const h=g._f;h&&(!h.disabled&&D(a,n,_r(u,h)),m=Ge(h.ref)&&J(u)?"":u,gr(h.ref)?[...h.ref.options].forEach(_=>_.selected=m.includes(_.value)):h.refs?We(h.ref)?h.refs.forEach(_=>{(!_.defaultChecked||!_.disabled)&&(Array.isArray(m)?_.checked=!!m.find(S=>S===_.value):_.checked=m===_.value||!!m)}):h.refs.forEach(_=>_.checked=_.value===m):wt(h.ref)?h.ref.value="":(h.ref.value=m,h.ref.type||V.state.next({name:n,values:U(a)})))}(l.shouldDirty||l.shouldTouch)&&Ie(n,m,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&st(n)},je=(n,u,l)=>{for(const g in u){if(!u.hasOwnProperty(g))return;const m=u[g],h=n+"."+g,_=p(s,h);(d.array.has(n)||M(m)||_&&!_._f)&&!Ae(m)?je(h,m,l):te(h,m,l)}},ge=(n,u,l={})=>{const g=p(s,n),m=d.array.has(n),h=U(u);D(a,n,h),m?(V.array.next({name:n,values:U(a)}),(O.isDirty||O.dirtyFields||Z.isDirty||Z.dirtyFields)&&l.shouldDirty&&(N(n),V.state.next({name:n,dirtyFields:r.dirtyFields,isDirty:j(n,h)}))):g&&!g._f&&!J(h)?je(n,h,l):te(n,h,l),Wt(n,d)?V.state.next({...r,name:n,values:U(a)}):V.state.next({name:o.mount?n:void 0,values:U(a)})},qe=async n=>{o.mount=!0;const u=n.target;let l=u.name,g=!0;const m=p(s,l),h=F=>{g=Number.isNaN(F)||Ae(F)&&isNaN(F.getTime())||pe(F,p(a,l,F))},_=Bt(e.mode),S=Bt(e.reValidateMode);if(m){let F,W;const de=u.type?Ut(m._f):$r(n),Y=n.type===Ce.BLUR||n.type===Ce.FOCUS_OUT,Nr=!ts(m._f)&&!t.validate&&!e.resolver&&!p(r.errors,l)&&!m._f.deps||as(Y,p(r.touchedFields,l),r.isSubmitted,S,_),ot=Wt(l,d,Y);D(a,l,de),Y?(!u||!u.readOnly)&&(m._f.onBlur&&m._f.onBlur(n),f&&f(0)):m._f.onChange&&m._f.onChange(n);const dt=Ie(l,de,Y),Rr=!H(dt)||ot;if(!Y&&V.state.next({name:l,type:n.type,values:U(a)}),Nr)return(O.isValid||Z.isValid)&&(e.mode==="onBlur"?Y&&ie():Y||ie()),Rr&&V.state.next({name:l,...ot?{}:dt});if(!e.resolver&&t.validate&&await De({name:l,eventType:n.type}),!Y&&ot&&V.state.next({...r}),e.resolver){const{errors:jt}=await ne([l]);if(K([l]),h(de),g){const Fr=qt(r.errors,s,l),Zt=qt(jt,s,Fr.name||l);F=Zt.error,l=Zt.name,W=H(jt)}}else K([l],!0),F=(await Gt(m,d.disabled,a,fe,e.shouldUseNativeValidation))[l],K([l]),h(de),g&&(F?W=!1:(O.isValid||Z.isValid)&&(W=await T({fields:s,onlyCheckValid:!0,name:l,eventType:n.type})));g&&(m._f.deps&&(!Array.isArray(m._f.deps)||m._f.deps.length>0)&&st(m._f.deps),rt(l,W,F,dt))}},Ct=(n,u)=>{if(p(r.errors,u)&&n.focus)return n.focus(),1},st=async(n,u={})=>{let l,g;const m=$e(n);if(e.resolver){const h=await we(L(n)?n:m);l=H(h),g=n?!m.some(_=>p(h,_)):l}else n?(g=(await Promise.all(m.map(async h=>{const _=p(s,h);return await T({fields:_&&_._f?{[h]:_}:_,eventType:Ce.TRIGGER})}))).every(Boolean),!(!g&&!r.isValid)&&ie()):g=l=await T({fields:s,name:n,eventType:Ce.TRIGGER});return V.state.next({...!G(n)||(O.isValid||Z.isValid)&&l!==r.isValid?{}:{name:n},...e.resolver||!n?{isValid:l}:{},errors:r.errors}),u.shouldFocus&&!g&&Pe(s,Ct,n?m:d.mount),g},Vt=(n,u)=>{let l={...o.mount?a:i};return u&&(l=yr(u.dirtyFields?r.dirtyFields:r.touchedFields,l)),L(n)?l:G(n)?p(l,n):n.map(g=>p(l,g))},Tt=(n,u)=>({invalid:!!p((u||r).errors,n),isDirty:!!p((u||r).dirtyFields,n),error:p((u||r).errors,n),isValidating:!!p(r.validatingFields,n),isTouched:!!p((u||r).touchedFields,n)}),Ot=n=>{const u=n?$e(n):void 0;u==null||u.forEach(l=>$(r.errors,l)),u?u.forEach(l=>{V.state.next({name:l,errors:r.errors})}):V.state.next({errors:{}})},He=(n,u,l)=>{const g=(p(s,n,{_f:{}})._f||{}).ref,m=p(r.errors,n)||{},{ref:h,message:_,type:S,...F}=m;D(r.errors,n,{...F,...u,ref:g}),V.state.next({name:n,errors:r.errors,isValid:!1}),l&&l.shouldFocus&&g&&g.focus&&g.focus()},Sr=(n,u)=>se(n)?V.state.subscribe({next:l=>"values"in l&&n(z(void 0,u),l)}):z(n,u,!0),Et=n=>V.state.subscribe({next:u=>{ss(n.name,u.name,n.exact)&&rs(u,n.formState||O,Er,n.reRenderRoot)&&n.callback({values:{...a},...r,...u,defaultValues:i})}}).unsubscribe,Cr=n=>(o.mount=!0,Z={...Z,...n.formState},Et({...n,formState:{...k,...n.formState}})),at=(n,u={})=>{for(const l of n?$e(n):d.mount)d.mount.delete(l),d.array.delete(l),u.keepValue||($(s,l),$(a,l)),!u.keepError&&$(r.errors,l),!u.keepDirty&&$(r.dirtyFields,l),!u.keepTouched&&$(r.touchedFields,l),!u.keepIsValidating&&$(r.validatingFields,l),!e.shouldUnregister&&!u.keepDefaultValue&&$(i,l);V.state.next({values:U(a)}),V.state.next({...r,...u.keepDirty?{isDirty:j()}:{}}),!u.keepIsValid&&ie()},Nt=({disabled:n,name:u})=>{if(le(n)&&o.mount||n||d.disabled.has(u)){const m=d.disabled.has(u)!==!!n;n?d.disabled.add(u):d.disabled.delete(u),m&&o.mount&&!o.action&&ie()}},it=(n,u={})=>{let l=p(s,n);const g=le(u.disabled)||le(e.disabled),m=!d.registerName.has(n)&&l&&!l._f.mount;return D(s,n,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:n}},name:n,mount:!0,...u}}),d.mount.add(n),l&&!m?Nt({disabled:le(u.disabled)?u.disabled:e.disabled,name:n}):Fe(n,!0,u.value),{...g?{disabled:u.disabled||e.disabled}:{},...e.progressive?{required:!!u.required,min:Ze(u.min),max:Ze(u.max),minLength:Ze(u.minLength),maxLength:Ze(u.maxLength),pattern:Ze(u.pattern)}:{},name:n,onChange:qe,onBlur:qe,ref:h=>{if(h){d.registerName.add(n),it(n,u),d.registerName.delete(n),l=p(s,n);const _=L(h.value)&&h.querySelectorAll&&h.querySelectorAll("input,select,textarea")[0]||h,S=Gr(_),F=l._f.refs||[];if(S?F.find(W=>W===_):_===l._f.ref)return;D(s,n,{_f:{...l._f,...S?{refs:[...F.filter(lt),_,...Array.isArray(p(i,n))?[{}]:[]],ref:{type:_.type,name:n}}:{ref:_}}}),Fe(n,!1,void 0,_)}else l=p(s,n,{}),l._f&&(l._f.mount=!1),(e.shouldUnregister||u.shouldUnregister)&&!(Pr(d.array,n)&&o.action)&&d.unMount.add(n)}}},nt=()=>e.shouldFocusError&&Pe(s,Ct,d.mount),Vr=n=>{le(n)&&(V.state.next({disabled:n}),Pe(s,(u,l)=>{const g=p(s,l);g&&(u.disabled=g._f.disabled||n,Array.isArray(g._f.refs)&&g._f.refs.forEach(m=>{m.disabled=g._f.disabled||n}))},0,!1))},Rt=(n,u)=>async l=>{let g;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let m=U(a);if(V.state.next({isSubmitting:!0}),e.resolver){const{errors:h,values:_}=await ne();K(),r.errors=h,m=U(_)}else await T({fields:s,eventType:Ce.SUBMIT});if(d.disabled.size)for(const h of d.disabled)$(m,h);if($(r.errors,hr),H(r.errors)){V.state.next({errors:{}});try{await n(m,l)}catch(h){g=h}}else u&&await u({...r.errors},l),nt(),setTimeout(nt);if(V.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:H(r.errors)&&!g,submitCount:r.submitCount+1,errors:r.errors}),g)throw g},Tr=(n,u={})=>{p(s,n)&&(L(u.defaultValue)?ge(n,U(p(i,n))):(ge(n,u.defaultValue),D(i,n,U(u.defaultValue))),u.keepTouched||$(r.touchedFields,n),u.keepDirty||($(r.dirtyFields,n),r.isDirty=u.defaultValue?j(n,U(p(i,n))):j()),u.keepError||($(r.errors,n),O.isValid&&ie()),V.state.next({...r}))},Ft=(n,u={})=>{const l=n?U(n):i,g=U(l),m=H(n),h=m?i:g;if(u.keepDefaultValues||(i=l),!u.keepValues){if(u.keepDirtyValues){const _=new Set([...d.mount,...Object.keys(Le(i,a))]);for(const S of Array.from(_)){const F=p(r.dirtyFields,S),W=p(a,S),de=p(h,S);F&&!L(W)?D(h,S,W):!F&&!L(de)&&ge(S,de)}}else{if(xt&&L(n))for(const _ of d.mount){const S=p(s,_);if(S&&S._f){const F=Array.isArray(S._f.refs)?S._f.refs[0]:S._f.ref;if(Ge(F)){const W=F.closest("form");if(W){W.reset();break}}}}if(u.keepFieldsRef)for(const _ of d.mount)ge(_,p(h,_));else s={}}a=e.shouldUnregister?u.keepDefaultValues?U(i):{}:U(h),V.array.next({values:{...h}}),V.state.next({values:{...h}})}d={mount:u.keepDirtyValues?d.mount:new Set,unMount:new Set,array:new Set,registerName:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},o.mount=!O.isValid||!!u.keepIsValid||!!u.keepDirtyValues||!e.shouldUnregister&&!H(h),o.watch=!!e.shouldUnregister,o.keepIsValid=!!u.keepIsValid,o.action=!1,u.keepErrors||(r.errors={}),V.state.next({submitCount:u.keepSubmitCount?r.submitCount:0,isDirty:m?!1:u.keepDirty?r.isDirty:!!(u.keepDefaultValues&&!pe(n,i)),isSubmitted:u.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:m?{}:u.keepDirtyValues?u.keepDefaultValues&&a?Le(i,a):r.dirtyFields:u.keepDefaultValues&&n?Le(i,n):u.keepDirty?r.dirtyFields:{},touchedFields:u.keepTouched?r.touchedFields:{},errors:u.keepErrors?r.errors:{},isSubmitSuccessful:u.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:i})},It=(n,u)=>Ft(se(n)?n(a):n,{...e.resetOptions,...u}),Or=(n,u={})=>{const l=p(s,n),g=l&&l._f;if(g){const m=g.refs?g.refs[0]:g.ref;m.focus&&setTimeout(()=>{m.focus(),u.shouldSelect&&se(m.select)&&m.select()})}},Er=n=>{r={...r,...n}},Dt={control:{register:it,unregister:at,getFieldState:Tt,handleSubmit:Rt,setError:He,_subscribe:Et,_runSchema:ne,_updateIsValidating:K,_focusError:nt,_getWatch:z,_getDirty:j,_setValid:ie,_setFieldArray:he,_setDisabledField:Nt,_setErrors:B,_getFieldArray:oe,_reset:Ft,_resetDefaultValues:()=>se(e.defaultValues)&&e.defaultValues().then(n=>{It(n,e.resetOptions),V.state.next({isLoading:!1})}),_removeUnmounted:I,_disableForm:Vr,_subjects:V,_proxyFormState:O,get _fields(){return s},get _formValues(){return a},get _state(){return o},set _state(n){o=n},get _defaultValues(){return i},get _names(){return d},set _names(n){d=n},get _formState(){return r},get _options(){return e},set _options(n){e={...e,...n}}},subscribe:Cr,trigger:st,register:it,handleSubmit:Rt,watch:Sr,setValue:ge,getValues:Vt,reset:It,resetField:Tr,clearErrors:Ot,unregister:at,setError:He,setFocus:Or,getFieldState:Tt};return{...Dt,formControl:Dt}}function us(t={}){const e=q.useRef(void 0),r=q.useRef(void 0),[s,i]=q.useState({isDirty:!1,isValidating:!1,isLoading:se(t.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1,isReady:!1,defaultValues:se(t.defaultValues)?void 0:t.defaultValues});if(!e.current)if(t.formControl)e.current={...t.formControl,formState:s},t.defaultValues&&!se(t.defaultValues)&&t.formControl.reset(t.defaultValues,t.resetOptions);else{const{formControl:o,...d}=ds(t);e.current={...d,formState:s}}const a=e.current.control;return a._options=t,Wr(()=>{const o=a._subscribe({formState:a._proxyFormState,callback:()=>i({...a._formState}),reRenderRoot:!0});return i(d=>({...d,isReady:!0})),a._formState.isReady=!0,o},[a]),q.useEffect(()=>a._disableForm(t.disabled),[a,t.disabled]),q.useEffect(()=>{t.mode&&(a._options.mode=t.mode),t.reValidateMode&&(a._options.reValidateMode=t.reValidateMode)},[a,t.mode,t.reValidateMode]),q.useEffect(()=>{t.errors&&(a._setErrors(t.errors),a._focusError())},[a,t.errors]),q.useEffect(()=>{t.shouldUnregister&&a._subjects.state.next({values:a._getWatch()})},[a,t.shouldUnregister]),q.useEffect(()=>{if(a._proxyFormState.isDirty){const o=a._getDirty();o!==s.isDirty&&a._subjects.state.next({isDirty:o})}},[a,s.isDirty]),q.useEffect(()=>{var o;t.values&&!pe(t.values,r.current)?(a._reset(t.values,{keepFieldsRef:!0,...a._options.resetOptions}),!((o=a._options.resetOptions)===null||o===void 0)&&o.keepIsValid||a._setValid(),r.current=t.values,i(d=>({...d}))):a._resetDefaultValues()},[a,t.values]),q.useEffect(()=>{a._state.mount||(a._setValid(),a._state.mount=!0),a._state.watch&&(a._state.watch=!1,a._subjects.state.next({...a._formState})),a._removeUnmounted()}),e.current.formState=q.useMemo(()=>zr(s,a),[a,s]),e.current}const Yt=(t,e,r)=>{if(t&&"reportValidity"in t){const s=p(r,e);t.setCustomValidity(s&&s.message||""),t.reportValidity()}},br=(t,e)=>{for(const r in e.fields){const s=e.fields[r];s&&s.ref&&"reportValidity"in s.ref?Yt(s.ref,r,t):s.refs&&s.refs.forEach(i=>Yt(i,r,t))}},ls=(t,e)=>{e.shouldUseNativeValidation&&br(t,e);const r={};for(const s in t){const i=p(e.fields,s),a=Object.assign(t[s]||{},{ref:i&&i.ref});if(cs(e.names||Object.keys(t),s)){const o=Object.assign({},p(r,s));D(o,"root",a),D(r,s,o)}else D(r,s,a)}return r},cs=(t,e)=>t.some(r=>r.startsWith(e+"."));var fs=function(t,e){for(var r={};t.length;){var s=t[0],i=s.code,a=s.message,o=s.path.join(".");if(!r[o])if("unionErrors"in s){var d=s.unionErrors[0].errors[0];r[o]={message:d.message,type:d.code}}else r[o]={message:a,type:i};if("unionErrors"in s&&s.unionErrors.forEach(function(k){return k.errors.forEach(function(O){return t.push(O)})}),e){var f=r[o].types,y=f&&f[s.code];r[o]=mr(o,e,r,i,y?[].concat(y,s.message):s.message)}t.shift()}return r},hs=function(t,e,r){return r===void 0&&(r={}),function(s,i,a){try{return Promise.resolve((function(o,d){try{var f=Promise.resolve(t[r.mode==="sync"?"parse":"parseAsync"](s,e)).then(function(y){return a.shouldUseNativeValidation&&br({},a),{errors:{},values:r.raw?s:y}})}catch(y){return d(y)}return f&&f.then?f.then(void 0,d):f})(0,function(o){if((function(d){return Array.isArray(d==null?void 0:d.errors)})(o))return{values:{},errors:ls(fs(o.errors,!a.shouldUseNativeValidation&&a.criteriaMode==="all"),a)};throw o}))}catch(o){return Promise.reject(o)}}},R;(function(t){t.assertEqual=i=>{};function e(i){}t.assertIs=e;function r(i){throw new Error}t.assertNever=r,t.arrayToEnum=i=>{const a={};for(const o of i)a[o]=o;return a},t.getValidEnumValues=i=>{const a=t.objectKeys(i).filter(d=>typeof i[i[d]]!="number"),o={};for(const d of a)o[d]=i[d];return t.objectValues(o)},t.objectValues=i=>t.objectKeys(i).map(function(a){return i[a]}),t.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const a=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&a.push(o);return a},t.find=(i,a)=>{for(const o of i)if(a(o))return o},t.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&Number.isFinite(i)&&Math.floor(i)===i;function s(i,a=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(a)}t.joinValues=s,t.jsonStringifyReplacer=(i,a)=>typeof a=="bigint"?a.toString():a})(R||(R={}));var Jt;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(Jt||(Jt={}));const x=R.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ve=t=>{switch(typeof t){case"undefined":return x.undefined;case"string":return x.string;case"number":return Number.isNaN(t)?x.nan:x.number;case"boolean":return x.boolean;case"function":return x.function;case"bigint":return x.bigint;case"symbol":return x.symbol;case"object":return Array.isArray(t)?x.array:t===null?x.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?x.promise:typeof Map<"u"&&t instanceof Map?x.map:typeof Set<"u"&&t instanceof Set?x.set:typeof Date<"u"&&t instanceof Date?x.date:x.object;default:return x.unknown}},c=R.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class ye extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};const r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){const r=e||function(a){return a.message},s={_errors:[]},i=a=>{for(const o of a.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)s._errors.push(r(o));else{let d=s,f=0;for(;fr.message){const r={},s=[];for(const i of this.issues)if(i.path.length>0){const a=i.path[0];r[a]=r[a]||[],r[a].push(e(i))}else s.push(e(i));return{formErrors:s,fieldErrors:r}}get formErrors(){return this.flatten()}}ye.create=t=>new ye(t);const yt=(t,e)=>{let r;switch(t.code){case c.invalid_type:t.received===x.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case c.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,R.jsonStringifyReplacer)}`;break;case c.unrecognized_keys:r=`Unrecognized key(s) in object: ${R.joinValues(t.keys,", ")}`;break;case c.invalid_union:r="Invalid input";break;case c.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${R.joinValues(t.options)}`;break;case c.invalid_enum_value:r=`Invalid enum value. Expected ${R.joinValues(t.options)}, received '${t.received}'`;break;case c.invalid_arguments:r="Invalid function arguments";break;case c.invalid_return_type:r="Invalid function return type";break;case c.invalid_date:r="Invalid date";break;case c.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:R.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case c.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case c.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case c.custom:r="Invalid input";break;case c.invalid_intersection_types:r="Intersection results could not be merged";break;case c.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case c.not_finite:r="Number must be finite";break;default:r=e.defaultError,R.assertNever(t)}return{message:r}};let ms=yt;function ys(){return ms}const gs=t=>{const{data:e,path:r,errorMaps:s,issueData:i}=t,a=[...r,...i.path||[]],o={...i,path:a};if(i.message!==void 0)return{...i,path:a,message:i.message};let d="";const f=s.filter(y=>!!y).slice().reverse();for(const y of f)d=y(o,{data:e,defaultError:d}).message;return{...i,path:a,message:d}};function v(t,e){const r=ys(),s=gs({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===yt?void 0:yt].filter(i=>!!i)});t.common.issues.push(s)}class X{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){const s=[];for(const i of r){if(i.status==="aborted")return w;i.status==="dirty"&&e.dirty(),s.push(i.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,r){const s=[];for(const i of r){const a=await i.key,o=await i.value;s.push({key:a,value:o})}return X.mergeObjectSync(e,s)}static mergeObjectSync(e,r){const s={};for(const i of r){const{key:a,value:o}=i;if(a.status==="aborted"||o.status==="aborted")return w;a.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),a.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(s[a.value]=o.value)}return{status:e.value,value:s}}}const w=Object.freeze({status:"aborted"}),Me=t=>({status:"dirty",value:t}),ee=t=>({status:"valid",value:t}),Qt=t=>t.status==="aborted",Xt=t=>t.status==="dirty",Oe=t=>t.status==="valid",Je=t=>typeof Promise<"u"&&t instanceof Promise;var b;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(b||(b={}));class be{constructor(e,r,s,i){this._cachedPath=[],this.parent=e,this.data=r,this._path=s,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Kt=(t,e)=>{if(Oe(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const r=new ye(t.common.issues);return this._error=r,this._error}}};function C(t){if(!t)return{};const{errorMap:e,invalid_type_error:r,required_error:s,description:i}=t;if(e&&(r||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:i}:{errorMap:(o,d)=>{const{message:f}=t;return o.code==="invalid_enum_value"?{message:f??d.defaultError}:typeof d.data>"u"?{message:f??s??d.defaultError}:o.code!=="invalid_type"?{message:d.defaultError}:{message:f??r??d.defaultError}},description:i}}class E{get description(){return this._def.description}_getType(e){return ve(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:ve(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new X,ctx:{common:e.parent.common,data:e.data,parsedType:ve(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const r=this._parse(e);if(Je(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){const r=this._parse(e);return Promise.resolve(r)}parse(e,r){const s=this.safeParse(e,r);if(s.success)return s.data;throw s.error}safeParse(e,r){const s={common:{issues:[],async:(r==null?void 0:r.async)??!1,contextualErrorMap:r==null?void 0:r.errorMap},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ve(e)},i=this._parseSync({data:e,path:s.path,parent:s});return Kt(s,i)}"~validate"(e){var s,i;const r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ve(e)};if(!this["~standard"].async)try{const a=this._parseSync({data:e,path:[],parent:r});return Oe(a)?{value:a.value}:{issues:r.common.issues}}catch(a){(i=(s=a==null?void 0:a.message)==null?void 0:s.toLowerCase())!=null&&i.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(a=>Oe(a)?{value:a.value}:{issues:r.common.issues})}async parseAsync(e,r){const s=await this.safeParseAsync(e,r);if(s.success)return s.data;throw s.error}async safeParseAsync(e,r){const s={common:{issues:[],contextualErrorMap:r==null?void 0:r.errorMap,async:!0},path:(r==null?void 0:r.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ve(e)},i=this._parse({data:e,path:s.path,parent:s}),a=await(Je(i)?i:Promise.resolve(i));return Kt(s,a)}refine(e,r){const s=i=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(i):r;return this._refinement((i,a)=>{const o=e(i),d=()=>a.addIssue({code:c.custom,...s(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(f=>f?!0:(d(),!1)):o?!0:(d(),!1)})}refinement(e,r){return this._refinement((s,i)=>e(s)?!0:(i.addIssue(typeof r=="function"?r(s,i):r),!1))}_refinement(e){return new Ne({schema:this,typeName:A.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:r=>this["~validate"](r)}}optional(){return xe.create(this,this._def)}nullable(){return Re.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ce.create(this)}promise(){return et.create(this,this._def)}or(e){return Xe.create([this,e],this._def)}and(e){return Ke.create(this,e,this._def)}transform(e){return new Ne({...C(this._def),schema:this,typeName:A.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const r=typeof e=="function"?e:()=>e;return new vt({...C(this._def),innerType:this,defaultValue:r,typeName:A.ZodDefault})}brand(){return new Ms({typeName:A.ZodBranded,type:this,...C(this._def)})}catch(e){const r=typeof e=="function"?e:()=>e;return new pt({...C(this._def),innerType:this,catchValue:r,typeName:A.ZodCatch})}describe(e){const r=this.constructor;return new r({...this._def,description:e})}pipe(e){return St.create(this,e)}readonly(){return _t.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const vs=/^c[^\s-]{8,}$/i,ps=/^[0-9a-z]+$/,_s=/^[0-9A-HJKMNP-TV-Z]{26}$/i,xs=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,bs=/^[a-z0-9_-]{21}$/i,ks=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ws=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,As=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ss="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let ct;const Cs=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Vs=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Ts=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Os=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Es=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ns=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,kr="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Rs=new RegExp(`^${kr}$`);function wr(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);const r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Fs(t){return new RegExp(`^${wr(t)}$`)}function Is(t){let e=`${kr}T${wr(t)}`;const r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Ds(t,e){return!!((e==="v4"||!e)&&Cs.test(t)||(e==="v6"||!e)&&Ts.test(t))}function js(t,e){if(!ks.test(t))return!1;try{const[r]=t.split(".");if(!r)return!1;const s=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),i=JSON.parse(atob(s));return!(typeof i!="object"||i===null||"typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||e&&i.alg!==e)}catch{return!1}}function Zs(t,e){return!!((e==="v4"||!e)&&Vs.test(t)||(e==="v6"||!e)&&Os.test(t))}class _e extends E{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==x.string){const a=this._getOrReturnCtx(e);return v(a,{code:c.invalid_type,expected:x.string,received:a.parsedType}),w}const s=new X;let i;for(const a of this._def.checks)if(a.kind==="min")e.data.lengtha.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:c.too_big,maximum:a.value,type:"string",inclusive:!0,exact:!1,message:a.message}),s.dirty());else if(a.kind==="length"){const o=e.data.length>a.value,d=e.data.lengthe.test(i),{validation:r,code:c.invalid_string,...b.errToObj(s)})}_addCheck(e){return new _e({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...b.errToObj(e)})}url(e){return this._addCheck({kind:"url",...b.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...b.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...b.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...b.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...b.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...b.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...b.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...b.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...b.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...b.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...b.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...b.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(e==null?void 0:e.offset)??!1,local:(e==null?void 0:e.local)??!1,...b.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...b.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...b.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...b.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r==null?void 0:r.position,...b.errToObj(r==null?void 0:r.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...b.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...b.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...b.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...b.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...b.errToObj(r)})}nonempty(e){return this.min(1,b.errToObj(e))}trim(){return new _e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new _e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new _e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew _e({checks:[],typeName:A.ZodString,coerce:(t==null?void 0:t.coerce)??!1,...C(t)});function Ls(t,e){const r=(t.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,i=r>s?r:s,a=Number.parseInt(t.toFixed(i).replace(".","")),o=Number.parseInt(e.toFixed(i).replace(".",""));return a%o/10**i}class Ue extends E{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==x.number){const a=this._getOrReturnCtx(e);return v(a,{code:c.invalid_type,expected:x.number,received:a.parsedType}),w}let s;const i=new X;for(const a of this._def.checks)a.kind==="int"?R.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),v(s,{code:c.invalid_type,expected:"integer",received:"float",message:a.message}),i.dirty()):a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),v(s,{code:c.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),i.dirty()):a.kind==="multipleOf"?Ls(e.data,a.value)!==0&&(s=this._getOrReturnCtx(e,s),v(s,{code:c.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):a.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),v(s,{code:c.not_finite,message:a.message}),i.dirty()):R.assertNever(a);return{status:i.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,b.toString(r))}gt(e,r){return this.setLimit("min",e,!1,b.toString(r))}lte(e,r){return this.setLimit("max",e,!0,b.toString(r))}lt(e,r){return this.setLimit("max",e,!1,b.toString(r))}setLimit(e,r,s,i){return new Ue({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:s,message:b.toString(i)}]})}_addCheck(e){return new Ue({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:b.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:b.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:b.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:b.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:b.toString(e)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuee.kind==="int"||e.kind==="multipleOf"&&R.isInteger(e.value))}get isFinite(){let e=null,r=null;for(const s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(r===null||s.value>r)&&(r=s.value):s.kind==="max"&&(e===null||s.valuenew Ue({checks:[],typeName:A.ZodNumber,coerce:(t==null?void 0:t.coerce)||!1,...C(t)});class Be extends E{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==x.bigint)return this._getInvalidInput(e);let s;const i=new X;for(const a of this._def.checks)a.kind==="min"?(a.inclusive?e.dataa.value:e.data>=a.value)&&(s=this._getOrReturnCtx(e,s),v(s,{code:c.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),i.dirty()):a.kind==="multipleOf"?e.data%a.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),v(s,{code:c.not_multiple_of,multipleOf:a.value,message:a.message}),i.dirty()):R.assertNever(a);return{status:i.value,value:e.data}}_getInvalidInput(e){const r=this._getOrReturnCtx(e);return v(r,{code:c.invalid_type,expected:x.bigint,received:r.parsedType}),w}gte(e,r){return this.setLimit("min",e,!0,b.toString(r))}gt(e,r){return this.setLimit("min",e,!1,b.toString(r))}lte(e,r){return this.setLimit("max",e,!0,b.toString(r))}lt(e,r){return this.setLimit("max",e,!1,b.toString(r))}setLimit(e,r,s,i){return new Be({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:s,message:b.toString(i)}]})}_addCheck(e){return new Be({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:b.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(r)})}get minValue(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Be({checks:[],typeName:A.ZodBigInt,coerce:(t==null?void 0:t.coerce)??!1,...C(t)});class er extends E{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==x.boolean){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.boolean,received:s.parsedType}),w}return ee(e.data)}}er.create=t=>new er({typeName:A.ZodBoolean,coerce:(t==null?void 0:t.coerce)||!1,...C(t)});class Qe extends E{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==x.date){const a=this._getOrReturnCtx(e);return v(a,{code:c.invalid_type,expected:x.date,received:a.parsedType}),w}if(Number.isNaN(e.data.getTime())){const a=this._getOrReturnCtx(e);return v(a,{code:c.invalid_date}),w}const s=new X;let i;for(const a of this._def.checks)a.kind==="min"?e.data.getTime()a.value&&(i=this._getOrReturnCtx(e,i),v(i,{code:c.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),s.dirty()):R.assertNever(a);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Qe({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:b.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:b.toString(r)})}get minDate(){let e=null;for(const r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const r of this._def.checks)r.kind==="max"&&(e===null||r.valuenew Qe({checks:[],coerce:(t==null?void 0:t.coerce)||!1,typeName:A.ZodDate,...C(t)});class tr extends E{_parse(e){if(this._getType(e)!==x.symbol){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.symbol,received:s.parsedType}),w}return ee(e.data)}}tr.create=t=>new tr({typeName:A.ZodSymbol,...C(t)});class rr extends E{_parse(e){if(this._getType(e)!==x.undefined){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.undefined,received:s.parsedType}),w}return ee(e.data)}}rr.create=t=>new rr({typeName:A.ZodUndefined,...C(t)});class sr extends E{_parse(e){if(this._getType(e)!==x.null){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.null,received:s.parsedType}),w}return ee(e.data)}}sr.create=t=>new sr({typeName:A.ZodNull,...C(t)});class ar extends E{constructor(){super(...arguments),this._any=!0}_parse(e){return ee(e.data)}}ar.create=t=>new ar({typeName:A.ZodAny,...C(t)});class ir extends E{constructor(){super(...arguments),this._unknown=!0}_parse(e){return ee(e.data)}}ir.create=t=>new ir({typeName:A.ZodUnknown,...C(t)});class ke extends E{_parse(e){const r=this._getOrReturnCtx(e);return v(r,{code:c.invalid_type,expected:x.never,received:r.parsedType}),w}}ke.create=t=>new ke({typeName:A.ZodNever,...C(t)});class nr extends E{_parse(e){if(this._getType(e)!==x.undefined){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.void,received:s.parsedType}),w}return ee(e.data)}}nr.create=t=>new nr({typeName:A.ZodVoid,...C(t)});class ce extends E{_parse(e){const{ctx:r,status:s}=this._processInputParams(e),i=this._def;if(r.parsedType!==x.array)return v(r,{code:c.invalid_type,expected:x.array,received:r.parsedType}),w;if(i.exactLength!==null){const o=r.data.length>i.exactLength.value,d=r.data.lengthi.maxLength.value&&(v(r,{code:c.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),s.dirty()),r.common.async)return Promise.all([...r.data].map((o,d)=>i.type._parseAsync(new be(r,o,r.path,d)))).then(o=>X.mergeArray(s,o));const a=[...r.data].map((o,d)=>i.type._parseSync(new be(r,o,r.path,d)));return X.mergeArray(s,a)}get element(){return this._def.type}min(e,r){return new ce({...this._def,minLength:{value:e,message:b.toString(r)}})}max(e,r){return new ce({...this._def,maxLength:{value:e,message:b.toString(r)}})}length(e,r){return new ce({...this._def,exactLength:{value:e,message:b.toString(r)}})}nonempty(e){return this.min(1,e)}}ce.create=(t,e)=>new ce({type:t,minLength:null,maxLength:null,exactLength:null,typeName:A.ZodArray,...C(e)});function Te(t){if(t instanceof P){const e={};for(const r in t.shape){const s=t.shape[r];e[r]=xe.create(Te(s))}return new P({...t._def,shape:()=>e})}else return t instanceof ce?new ce({...t._def,type:Te(t.element)}):t instanceof xe?xe.create(Te(t.unwrap())):t instanceof Re?Re.create(Te(t.unwrap())):t instanceof Se?Se.create(t.items.map(e=>Te(e))):t}class P extends E{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),r=R.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==x.object){const y=this._getOrReturnCtx(e);return v(y,{code:c.invalid_type,expected:x.object,received:y.parsedType}),w}const{status:s,ctx:i}=this._processInputParams(e),{shape:a,keys:o}=this._getCached(),d=[];if(!(this._def.catchall instanceof ke&&this._def.unknownKeys==="strip"))for(const y in i.data)o.includes(y)||d.push(y);const f=[];for(const y of o){const k=a[y],O=i.data[y];f.push({key:{status:"valid",value:y},value:k._parse(new be(i,O,i.path,y)),alwaysSet:y in i.data})}if(this._def.catchall instanceof ke){const y=this._def.unknownKeys;if(y==="passthrough")for(const k of d)f.push({key:{status:"valid",value:k},value:{status:"valid",value:i.data[k]}});else if(y==="strict")d.length>0&&(v(i,{code:c.unrecognized_keys,keys:d}),s.dirty());else if(y!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const y=this._def.catchall;for(const k of d){const O=i.data[k];f.push({key:{status:"valid",value:k},value:y._parse(new be(i,O,i.path,k)),alwaysSet:k in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const y=[];for(const k of f){const O=await k.key,Z=await k.value;y.push({key:O,value:Z,alwaysSet:k.alwaysSet})}return y}).then(y=>X.mergeObjectSync(s,y)):X.mergeObjectSync(s,f)}get shape(){return this._def.shape()}strict(e){return b.errToObj,new P({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,s)=>{var a,o;const i=((o=(a=this._def).errorMap)==null?void 0:o.call(a,r,s).message)??s.defaultError;return r.code==="unrecognized_keys"?{message:b.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new P({...this._def,unknownKeys:"strip"})}passthrough(){return new P({...this._def,unknownKeys:"passthrough"})}extend(e){return new P({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new P({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:A.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new P({...this._def,catchall:e})}pick(e){const r={};for(const s of R.objectKeys(e))e[s]&&this.shape[s]&&(r[s]=this.shape[s]);return new P({...this._def,shape:()=>r})}omit(e){const r={};for(const s of R.objectKeys(this.shape))e[s]||(r[s]=this.shape[s]);return new P({...this._def,shape:()=>r})}deepPartial(){return Te(this)}partial(e){const r={};for(const s of R.objectKeys(this.shape)){const i=this.shape[s];e&&!e[s]?r[s]=i:r[s]=i.optional()}return new P({...this._def,shape:()=>r})}required(e){const r={};for(const s of R.objectKeys(this.shape))if(e&&!e[s])r[s]=this.shape[s];else{let a=this.shape[s];for(;a instanceof xe;)a=a._def.innerType;r[s]=a}return new P({...this._def,shape:()=>r})}keyof(){return Ar(R.objectKeys(this.shape))}}P.create=(t,e)=>new P({shape:()=>t,unknownKeys:"strip",catchall:ke.create(),typeName:A.ZodObject,...C(e)});P.strictCreate=(t,e)=>new P({shape:()=>t,unknownKeys:"strict",catchall:ke.create(),typeName:A.ZodObject,...C(e)});P.lazycreate=(t,e)=>new P({shape:t,unknownKeys:"strip",catchall:ke.create(),typeName:A.ZodObject,...C(e)});class Xe extends E{_parse(e){const{ctx:r}=this._processInputParams(e),s=this._def.options;function i(a){for(const d of a)if(d.result.status==="valid")return d.result;for(const d of a)if(d.result.status==="dirty")return r.common.issues.push(...d.ctx.common.issues),d.result;const o=a.map(d=>new ye(d.ctx.common.issues));return v(r,{code:c.invalid_union,unionErrors:o}),w}if(r.common.async)return Promise.all(s.map(async a=>{const o={...r,common:{...r.common,issues:[]},parent:null};return{result:await a._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(i);{let a;const o=[];for(const f of s){const y={...r,common:{...r.common,issues:[]},parent:null},k=f._parseSync({data:r.data,path:r.path,parent:y});if(k.status==="valid")return k;k.status==="dirty"&&!a&&(a={result:k,ctx:y}),y.common.issues.length&&o.push(y.common.issues)}if(a)return r.common.issues.push(...a.ctx.common.issues),a.result;const d=o.map(f=>new ye(f));return v(r,{code:c.invalid_union,unionErrors:d}),w}}get options(){return this._def.options}}Xe.create=(t,e)=>new Xe({options:t,typeName:A.ZodUnion,...C(e)});function gt(t,e){const r=ve(t),s=ve(e);if(t===e)return{valid:!0,data:t};if(r===x.object&&s===x.object){const i=R.objectKeys(e),a=R.objectKeys(t).filter(d=>i.indexOf(d)!==-1),o={...t,...e};for(const d of a){const f=gt(t[d],e[d]);if(!f.valid)return{valid:!1};o[d]=f.data}return{valid:!0,data:o}}else if(r===x.array&&s===x.array){if(t.length!==e.length)return{valid:!1};const i=[];for(let a=0;a{if(Qt(a)||Qt(o))return w;const d=gt(a.value,o.value);return d.valid?((Xt(a)||Xt(o))&&r.dirty(),{status:r.value,value:d.data}):(v(s,{code:c.invalid_intersection_types}),w)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([a,o])=>i(a,o)):i(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}}Ke.create=(t,e,r)=>new Ke({left:t,right:e,typeName:A.ZodIntersection,...C(r)});class Se extends E{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==x.array)return v(s,{code:c.invalid_type,expected:x.array,received:s.parsedType}),w;if(s.data.lengththis._def.items.length&&(v(s,{code:c.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());const a=[...s.data].map((o,d)=>{const f=this._def.items[d]||this._def.rest;return f?f._parse(new be(s,o,s.path,d)):null}).filter(o=>!!o);return s.common.async?Promise.all(a).then(o=>X.mergeArray(r,o)):X.mergeArray(r,a)}get items(){return this._def.items}rest(e){return new Se({...this._def,rest:e})}}Se.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Se({items:t,typeName:A.ZodTuple,rest:null,...C(e)})};class or extends E{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==x.map)return v(s,{code:c.invalid_type,expected:x.map,received:s.parsedType}),w;const i=this._def.keyType,a=this._def.valueType,o=[...s.data.entries()].map(([d,f],y)=>({key:i._parse(new be(s,d,s.path,[y,"key"])),value:a._parse(new be(s,f,s.path,[y,"value"]))}));if(s.common.async){const d=new Map;return Promise.resolve().then(async()=>{for(const f of o){const y=await f.key,k=await f.value;if(y.status==="aborted"||k.status==="aborted")return w;(y.status==="dirty"||k.status==="dirty")&&r.dirty(),d.set(y.value,k.value)}return{status:r.value,value:d}})}else{const d=new Map;for(const f of o){const y=f.key,k=f.value;if(y.status==="aborted"||k.status==="aborted")return w;(y.status==="dirty"||k.status==="dirty")&&r.dirty(),d.set(y.value,k.value)}return{status:r.value,value:d}}}}or.create=(t,e,r)=>new or({valueType:e,keyType:t,typeName:A.ZodMap,...C(r)});class ze extends E{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.parsedType!==x.set)return v(s,{code:c.invalid_type,expected:x.set,received:s.parsedType}),w;const i=this._def;i.minSize!==null&&s.data.sizei.maxSize.value&&(v(s,{code:c.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),r.dirty());const a=this._def.valueType;function o(f){const y=new Set;for(const k of f){if(k.status==="aborted")return w;k.status==="dirty"&&r.dirty(),y.add(k.value)}return{status:r.value,value:y}}const d=[...s.data.values()].map((f,y)=>a._parse(new be(s,f,s.path,y)));return s.common.async?Promise.all(d).then(f=>o(f)):o(d)}min(e,r){return new ze({...this._def,minSize:{value:e,message:b.toString(r)}})}max(e,r){return new ze({...this._def,maxSize:{value:e,message:b.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}}ze.create=(t,e)=>new ze({valueType:t,minSize:null,maxSize:null,typeName:A.ZodSet,...C(e)});class dr extends E{get schema(){return this._def.getter()}_parse(e){const{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}}dr.create=(t,e)=>new dr({getter:t,typeName:A.ZodLazy,...C(e)});class ur extends E{_parse(e){if(e.data!==this._def.value){const r=this._getOrReturnCtx(e);return v(r,{received:r.data,code:c.invalid_literal,expected:this._def.value}),w}return{status:"valid",value:e.data}}get value(){return this._def.value}}ur.create=(t,e)=>new ur({value:t,typeName:A.ZodLiteral,...C(e)});function Ar(t,e){return new Ee({values:t,typeName:A.ZodEnum,...C(e)})}class Ee extends E{_parse(e){if(typeof e.data!="string"){const r=this._getOrReturnCtx(e),s=this._def.values;return v(r,{expected:R.joinValues(s),received:r.parsedType,code:c.invalid_type}),w}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const r=this._getOrReturnCtx(e),s=this._def.values;return v(r,{received:r.data,code:c.invalid_enum_value,options:s}),w}return ee(e.data)}get options(){return this._def.values}get enum(){const e={};for(const r of this._def.values)e[r]=r;return e}get Values(){const e={};for(const r of this._def.values)e[r]=r;return e}get Enum(){const e={};for(const r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return Ee.create(e,{...this._def,...r})}exclude(e,r=this._def){return Ee.create(this.options.filter(s=>!e.includes(s)),{...this._def,...r})}}Ee.create=Ar;class lr extends E{_parse(e){const r=R.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==x.string&&s.parsedType!==x.number){const i=R.objectValues(r);return v(s,{expected:R.joinValues(i),received:s.parsedType,code:c.invalid_type}),w}if(this._cache||(this._cache=new Set(R.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const i=R.objectValues(r);return v(s,{received:s.data,code:c.invalid_enum_value,options:i}),w}return ee(e.data)}get enum(){return this._def.values}}lr.create=(t,e)=>new lr({values:t,typeName:A.ZodNativeEnum,...C(e)});class et extends E{unwrap(){return this._def.type}_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==x.promise&&r.common.async===!1)return v(r,{code:c.invalid_type,expected:x.promise,received:r.parsedType}),w;const s=r.parsedType===x.promise?r.data:Promise.resolve(r.data);return ee(s.then(i=>this._def.type.parseAsync(i,{path:r.path,errorMap:r.common.contextualErrorMap})))}}et.create=(t,e)=>new et({type:t,typeName:A.ZodPromise,...C(e)});class Ne extends E{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===A.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:r,ctx:s}=this._processInputParams(e),i=this._def.effect||null,a={addIssue:o=>{v(s,o),o.fatal?r.abort():r.dirty()},get path(){return s.path}};if(a.addIssue=a.addIssue.bind(a),i.type==="preprocess"){const o=i.transform(s.data,a);if(s.common.async)return Promise.resolve(o).then(async d=>{if(r.value==="aborted")return w;const f=await this._def.schema._parseAsync({data:d,path:s.path,parent:s});return f.status==="aborted"?w:f.status==="dirty"||r.value==="dirty"?Me(f.value):f});{if(r.value==="aborted")return w;const d=this._def.schema._parseSync({data:o,path:s.path,parent:s});return d.status==="aborted"?w:d.status==="dirty"||r.value==="dirty"?Me(d.value):d}}if(i.type==="refinement"){const o=d=>{const f=i.refinement(d,a);if(s.common.async)return Promise.resolve(f);if(f instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return d};if(s.common.async===!1){const d=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return d.status==="aborted"?w:(d.status==="dirty"&&r.dirty(),o(d.value),{status:r.value,value:d.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(d=>d.status==="aborted"?w:(d.status==="dirty"&&r.dirty(),o(d.value).then(()=>({status:r.value,value:d.value}))))}if(i.type==="transform")if(s.common.async===!1){const o=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!Oe(o))return w;const d=i.transform(o.value,a);if(d instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:d}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(o=>Oe(o)?Promise.resolve(i.transform(o.value,a)).then(d=>({status:r.value,value:d})):w);R.assertNever(i)}}Ne.create=(t,e,r)=>new Ne({schema:t,typeName:A.ZodEffects,effect:e,...C(r)});Ne.createWithPreprocess=(t,e,r)=>new Ne({schema:e,effect:{type:"preprocess",transform:t},typeName:A.ZodEffects,...C(r)});class xe extends E{_parse(e){return this._getType(e)===x.undefined?ee(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}xe.create=(t,e)=>new xe({innerType:t,typeName:A.ZodOptional,...C(e)});class Re extends E{_parse(e){return this._getType(e)===x.null?ee(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Re.create=(t,e)=>new Re({innerType:t,typeName:A.ZodNullable,...C(e)});class vt extends E{_parse(e){const{ctx:r}=this._processInputParams(e);let s=r.data;return r.parsedType===x.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:r.path,parent:r})}removeDefault(){return this._def.innerType}}vt.create=(t,e)=>new vt({innerType:t,typeName:A.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...C(e)});class pt extends E{_parse(e){const{ctx:r}=this._processInputParams(e),s={...r,common:{...r.common,issues:[]}},i=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return Je(i)?i.then(a=>({status:"valid",value:a.status==="valid"?a.value:this._def.catchValue({get error(){return new ye(s.common.issues)},input:s.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ye(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}}pt.create=(t,e)=>new pt({innerType:t,typeName:A.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...C(e)});class cr extends E{_parse(e){if(this._getType(e)!==x.nan){const s=this._getOrReturnCtx(e);return v(s,{code:c.invalid_type,expected:x.nan,received:s.parsedType}),w}return{status:"valid",value:e.data}}}cr.create=t=>new cr({typeName:A.ZodNaN,...C(t)});class Ms extends E{_parse(e){const{ctx:r}=this._processInputParams(e),s=r.data;return this._def.type._parse({data:s,path:r.path,parent:r})}unwrap(){return this._def.type}}class St extends E{_parse(e){const{status:r,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{const a=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return a.status==="aborted"?w:a.status==="dirty"?(r.dirty(),Me(a.value)):this._def.out._parseAsync({data:a.value,path:s.path,parent:s})})();{const i=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return i.status==="aborted"?w:i.status==="dirty"?(r.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:s.path,parent:s})}}static create(e,r){return new St({in:e,out:r,typeName:A.ZodPipeline})}}class _t extends E{_parse(e){const r=this._def.innerType._parse(e),s=i=>(Oe(i)&&(i.value=Object.freeze(i.value)),i);return Je(r)?r.then(i=>s(i)):s(r)}unwrap(){return this._def.innerType}}_t.create=(t,e)=>new _t({innerType:t,typeName:A.ZodReadonly,...C(e)});var A;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(A||(A={}));const ft=_e.create;ke.create;ce.create;const $s=P.create;Xe.create;Ke.create;Se.create;Ee.create;et.create;xe.create;Re.create;const Ps=$s({content:ft().min(1,"Content cannot be empty"),author:ft().optional(),tagsRaw:ft().optional()});function qs(){const{key:t}=Ir(),e=Dr(k=>k.slug),r=jr(),{data:s}=Zr(e,t),i=Lr(e),{register:a,handleSubmit:o,formState:d,reset:f}=us({resolver:hs(Ps),defaultValues:{content:"",author:"",tagsRaw:""}});Mr.useEffect(()=>{s&&f({content:s.content,author:s.author??"",tagsRaw:s.tags.join(", ")})},[s,f]);const y=async k=>{if(!t)return;const O=(k.tagsRaw??"").split(",").map(Z=>Z.trim()).filter(Boolean);await i.mutateAsync({key:t,content:k.content,author:k.author||void 0,tags:O}),r(`/notes/${encodeURIComponent(t)}`)};return ue.jsxs("form",{onSubmit:o(y),className:"note-editor",children:[ue.jsx("div",{className:"note-editor-head",children:ue.jsxs("h1",{className:"note-editor-title",children:["Edit ",t]})}),ue.jsx("textarea",{...a("content"),rows:20,className:"note-editor-textarea","aria-label":"Note content"}),d.errors.content&&ue.jsx("p",{className:"text-xs text-destructive",children:d.errors.content.message}),ue.jsx("input",{...a("author"),placeholder:"Author (optional)",className:"w-full px-3 py-2 bg-card border border-border rounded-md text-sm"}),ue.jsx("input",{...a("tagsRaw"),placeholder:"Tags, comma-separated",className:"w-full px-3 py-2 bg-card border border-border rounded-md text-sm"}),ue.jsxs("div",{className:"flex gap-2",children:[ue.jsx("button",{type:"submit",disabled:d.isSubmitting,className:"px-3 py-1.5 bg-primary text-primary-foreground rounded-md text-sm",children:"Save"}),ue.jsx("button",{type:"button",onClick:()=>r(-1),className:"px-3 py-1.5 border border-border rounded-md text-sm",children:"Cancel"})]})]})}export{qs as default}; diff --git a/ui/dist/assets/NoteView-DbbP0PJj.js b/ui/dist/assets/NoteView-DbbP0PJj.js deleted file mode 100644 index cbab99f..0000000 --- a/ui/dist/assets/NoteView-DbbP0PJj.js +++ /dev/null @@ -1,3 +0,0 @@ -import{j as a,L as m,f as u,e as f,h,i as x}from"./index-DEeQUcqL.js";import{M as p}from"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";const k=/\[\[([^\]|]+?)(?:\|([^\]]+))?\]\]/g;function j(){const o=new p({html:!1,linkify:!0,breaks:!1}),r=o.renderer.rules.link_open||((e,s,n,i,l)=>l.renderToken(e,s,n));o.renderer.rules.link_open=(e,s,n,i,l)=>{const c=e[s].attrGet("href")??"";return/^https?:\/\//.test(c)&&(e[s].attrSet("target","_blank"),e[s].attrSet("rel","noopener noreferrer")),r(e,s,n,i,l)};const t=o.renderer.rules.image||((e,s,n,i,l)=>l.renderToken(e,s,n));return o.renderer.rules.image=(e,s,n,i,l)=>(e[s].attrSet("loading","lazy"),t(e,s,n,i,l)),o}const d=j();function g(o){var s;let r=o;if(r.startsWith(`--- -`)){const n=r.indexOf(` ----`,4);n>0&&(r=r.slice(n+4).replace(/^\n/,""))}const t=[];let e=0;for(const n of r.matchAll(k)){const i=n.index??0;i>e&&t.push({kind:"html",content:d.render(r.slice(e,i))}),t.push({kind:"wikilink",content:n[1].trim(),label:(s=n[2])==null?void 0:s.trim()}),e=i+n[0].length}return et.kind==="html"?a.jsx("div",{dangerouslySetInnerHTML:{__html:t.content}},e):a.jsx(w,{target:t.content,label:t.label},e))})}function I(){const{key:o}=u(),r=f(n=>n.slug),{data:t,isLoading:e,error:s}=h(r,o);return e?a.jsx("div",{className:"p-8 text-muted-foreground text-sm",children:"Loading…"}):s||!t?a.jsxs("div",{className:"p-8 max-w-[620px] mx-auto",children:[a.jsx("h1",{className:"text-xl font-semibold",children:"Note not found"}),a.jsx("p",{className:"text-sm text-muted-foreground mt-2 font-mono",children:o})]}):a.jsxs("article",{className:"doc-view",children:[a.jsxs("header",{children:[a.jsx("h1",{className:"doc-view-title",children:t.key.split("/").pop()}),a.jsxs("div",{className:"doc-view-meta",children:[t.key," · updated ",x(new Date(t.updated_at).getTime()),t.author&&` · by ${t.author}`]})]}),a.jsx("div",{className:"prose-body",children:a.jsx(N,{source:t.content})})]})}export{I as default}; diff --git a/ui/dist/assets/NotesLayout-B2b1sadk.js b/ui/dist/assets/NotesLayout-B2b1sadk.js deleted file mode 100644 index c0f95d1..0000000 --- a/ui/dist/assets/NotesLayout-B2b1sadk.js +++ /dev/null @@ -1 +0,0 @@ -import{u as h,j as e,S as u,a as j,b as N,c as f,L as m,d as k,r as p,e as g,f as b,g as x,O as y}from"./index-DEeQUcqL.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";function v(i){const o={};for(const c of i){const a=c.key.split("/"),s=a.length===1?"":a.slice(0,-1).join("/");(o[s]??(o[s]=[])).push(c)}return o}function O({project:i,open:o,onOpenChange:c,currentKey:a}){const{data:s=[]}=h(i),l=v(s),n=Object.keys(l).sort();return e.jsx(u,{open:o,onOpenChange:c,children:e.jsxs(j,{side:"left",className:"w-[300px] p-0",children:[e.jsx(N,{className:"px-4 py-3 border-b border-border",children:e.jsx(f,{className:"font-mono text-xs uppercase tracking-wider text-muted-foreground",children:"Notes"})}),e.jsxs("div",{className:"p-2 overflow-auto text-sm",children:[n.map(t=>e.jsxs("div",{className:"mb-2",children:[t&&e.jsxs("div",{className:"tree-node-folder",children:[t,"/"]}),l[t].sort((r,d)=>r.key.localeCompare(d.key)).map(r=>e.jsx(m,{to:`/notes/${encodeURIComponent(r.key)}`,className:a===r.key?"tree-node-note tree-node-note-active":"tree-node-note",onClick:()=>c(!1),children:r.key.split("/").pop()},r.key))]},t||"(root)")),n.length===0&&e.jsx("div",{className:"p-2 text-xs text-muted-foreground",children:"No notes yet."})]})]})})}function S({project:i,open:o,onOpenChange:c,currentKey:a}){const{data:s}=k(i),{inbound:l,outbound:n}=p.useMemo(()=>{if(!s||!a)return{inbound:[],outbound:[]};const t=[],r=[];for(const d of s.edges)d.target===a&&t.push(d.source),d.source===a&&r.push(d.target);return{inbound:Array.from(new Set(t)),outbound:Array.from(new Set(r))}},[s,a]);return e.jsx(u,{open:o,onOpenChange:c,children:e.jsxs(j,{side:"right",className:"w-[280px]",children:[e.jsx(N,{className:"mb-4",children:e.jsx(f,{className:"font-mono text-xs uppercase tracking-wider text-muted-foreground",children:"Links"})}),e.jsxs("div",{children:[e.jsxs("section",{className:"link-panel-section",children:[e.jsx("h3",{className:"link-panel-heading",children:"Inbound"}),l.length===0&&e.jsx("p",{className:"link-panel-empty",children:"—"}),e.jsx("ul",{className:"link-panel-list",children:l.map(t=>e.jsx("li",{children:e.jsx(m,{to:`/notes/${encodeURIComponent(t)}`,onClick:()=>c(!1),className:"link-panel-item",children:t})},t))})]}),e.jsxs("section",{className:"link-panel-section",children:[e.jsx("h3",{className:"link-panel-heading",children:"Outbound"}),n.length===0&&e.jsx("p",{className:"link-panel-empty",children:"—"}),e.jsx("ul",{className:"link-panel-list",children:n.map(t=>e.jsx("li",{children:e.jsx(m,{to:`/notes/${encodeURIComponent(t)}`,onClick:()=>c(!1),className:"link-panel-item",children:t})},t))})]})]})]})})}function $(){const i=g(n=>n.slug),{key:o}=b(),[c,a]=p.useState(!1),[s,l]=p.useState(!1);return x("mod+/",()=>a(n=>!n)),x("mod+l",()=>l(n=>!n)),e.jsxs("div",{className:"relative",children:[e.jsx(O,{project:i,open:c,onOpenChange:a,currentKey:o}),e.jsx(S,{project:i,open:s,onOpenChange:l,currentKey:o}),e.jsx(y,{}),!o&&e.jsx(C,{project:i})]})}function C({project:i}){const{data:o,isLoading:c}=h(i),a=p.useMemo(()=>{const s={};for(const l of o??[]){const n=l.key.split("/"),t=n.length>1?n.slice(0,-1).join("/"):"(root)";(s[t]??(s[t]=[])).push(l.key)}for(const l of Object.keys(s))s[l].sort();return Object.entries(s).sort(([l],[n])=>l.localeCompare(n))},[o]);return e.jsxs("div",{className:"notes-index",children:[e.jsxs("div",{className:"notes-index-head",children:[e.jsx("h1",{className:"notes-index-title",children:"Notes"}),e.jsx("span",{className:"notes-index-count",children:c?"loading…":`${(o==null?void 0:o.length)??0} notes in ${a.length} folders`})]}),e.jsxs("p",{className:"notes-index-hint",children:["Open tree ",e.jsx("kbd",{className:"kbd",children:"⌘/"})," · search ",e.jsx("kbd",{className:"kbd",children:"⌘K"})]}),e.jsx("div",{className:"notes-index-grid",children:a.map(([s,l])=>e.jsxs("section",{className:"notes-folder",children:[e.jsxs("h2",{className:"notes-folder-head",children:[s," ",e.jsxs("span",{className:"notes-folder-count",children:["· ",l.length]})]}),e.jsx("ul",{className:"notes-folder-list",children:l.map(n=>e.jsx("li",{className:"notes-folder-item",children:e.jsx(m,{to:`/notes/${encodeURIComponent(n)}`,className:"notes-folder-link",children:n.split("/").pop()})},n))})]},s))})]})}export{$ as default}; diff --git a/ui/dist/assets/NotesSearch-BjwNYEol.js b/ui/dist/assets/NotesSearch-BjwNYEol.js deleted file mode 100644 index f338e2f..0000000 --- a/ui/dist/assets/NotesSearch-BjwNYEol.js +++ /dev/null @@ -1 +0,0 @@ -import{e as u,r as o,m as h,j as s,L as m,n as p,q as d}from"./index-DEeQUcqL.js";import"./markdown-BU1qdTNu.js";import"./graph-mfGjgYhn.js";function g(){const r=u(e=>e.slug),[t,c]=o.useState(""),[n,i]=o.useState("");o.useEffect(()=>{const e=setTimeout(()=>i(t.trim()),300);return()=>clearTimeout(e)},[t]);const{data:a,isFetching:l}=h({queryKey:d.notesSearch(r,n),enabled:n.length>0,queryFn:()=>p(`/api/projects/${encodeURIComponent(r)}/search?q=${encodeURIComponent(n)}`)});return s.jsxs("div",{className:"notes-search",children:[s.jsx("input",{autoFocus:!0,value:t,onChange:e=>c(e.target.value),placeholder:"Search notes…",className:"notes-search-input","aria-label":"Search notes"}),l&&s.jsx("p",{className:"text-xs text-muted-foreground mt-2",children:"searching…"}),s.jsx("ul",{className:"mt-6 space-y-1.5",children:a==null?void 0:a.hits.map(e=>s.jsx("li",{children:s.jsxs(m,{to:`/notes/${encodeURIComponent(e.key)}`,className:"notes-search-hit",children:[s.jsx("div",{className:"notes-search-hit-title",children:e.key}),s.jsx("div",{className:"notes-search-hit-snippet",dangerouslySetInnerHTML:{__html:e.snippet}})]})},e.key))})]})}export{g as default}; diff --git a/ui/dist/assets/editor-l0sNRNKZ.js b/ui/dist/assets/editor-l0sNRNKZ.js deleted file mode 100644 index 8b13789..0000000 --- a/ui/dist/assets/editor-l0sNRNKZ.js +++ /dev/null @@ -1 +0,0 @@ - diff --git a/ui/dist/assets/graph-mfGjgYhn.js b/ui/dist/assets/graph-mfGjgYhn.js deleted file mode 100644 index 918b299..0000000 --- a/ui/dist/assets/graph-mfGjgYhn.js +++ /dev/null @@ -1 +0,0 @@ -function Pt(t,n){var e,r=1;t==null&&(t=0),n==null&&(n=0);function i(){var o,s=e.length,f,c=0,g=0;for(o=0;o=(_=(f+g)/2))?f=_:g=_,(a=e>=(w=(c+x)/2))?c=w:x=w,i=o,!(o=o[l=a<<1|u]))return i[l]=s,t;if(h=+t._x.call(null,o.data),p=+t._y.call(null,o.data),n===h&&e===p)return s.next=o,i?i[l]=s:t._root=s,t;do i=i?i[l]=new Array(4):t._root=new Array(4),(u=n>=(_=(f+g)/2))?f=_:g=_,(a=e>=(w=(c+x)/2))?c=w:x=w;while((l=a<<1|u)===(v=(p>=w)<<1|h>=_));return i[v]=o,i[l]=s,t}function rt(t){var n,e,r=t.length,i,o,s=new Array(r),f=new Array(r),c=1/0,g=1/0,x=-1/0,_=-1/0;for(e=0;ex&&(x=i),o_&&(_=o));if(c>x||g>_)return this;for(this.cover(c,g).cover(x,_),e=0;et||t>=i||r>n||n>=o;)switch(g=(nx||(f=p.y0)>_||(c=p.x1)=l)<<1|t>=a)&&(p=w[w.length-1],w[w.length-1]=w[w.length-1-u],w[w.length-1-u]=p)}else{var v=t-+this._x.call(null,h.data),m=n-+this._y.call(null,h.data),y=v*v+m*m;if(y=(w=(s+c)/2))?s=w:c=w,(u=_>=(h=(f+g)/2))?f=h:g=h,n=e,!(e=e[a=u<<1|p]))return this;if(!e.length)break;(n[a+1&3]||n[a+2&3]||n[a+3&3])&&(r=n,l=a)}for(;e.data!==t;)if(i=e,!(e=e.next))return this;return(o=e.next)&&delete e.next,i?(o?i.next=o:delete i.next,this):n?(o?n[a]=o:delete n[a],(e=n[0]||n[1]||n[2]||n[3])&&e===(n[3]||n[2]||n[1]||n[0])&&!e.length&&(r?r[l]=e:this._root=e),this):(this._root=o,this)}function st(t){for(var n=0,e=t.length;n[n(d,M,s),d])),y;for(a=0,f=new Array(l);a{}};function W(){for(var t=0,n=arguments.length,e={},r;t=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}q.prototype=W.prototype={constructor:q,on:function(t,n){var e=this._,r=mt(t+"",e),i,o=-1,s=r.length;if(arguments.length<2){for(;++o0)for(var e=new Array(i),r=0,i,o;r=0&&t._call.call(void 0,n),t=t._next;--j}function J(){T=(L=k.now())+Q,j=S=0;try{At()}finally{j=0,zt(),T=0}}function Mt(){var t=k.now(),n=t-L;n>Z&&(Q-=n,L=t)}function zt(){for(var t,n=B,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:B=e);O=t,Y(r)}function Y(t){if(!j){S&&(S=clearTimeout(S));var n=t-T;n>24?(t<1/0&&(S=setTimeout(J,t-k.now()-Q)),P&&(P=clearInterval(P))):(P||(L=k.now(),P=setInterval(Mt,Z)),j=1,$(J))}}const It=1664525,Et=1013904223,K=4294967296;function Tt(){let t=1;return()=>(t=(It*t+Et)%K)/K}function bt(t){return t.x}function Dt(t){return t.y}var jt=10,Ft=Math.PI*(3-Math.sqrt(5));function Ot(t){var n,e=1,r=.001,i=1-Math.pow(r,1/300),o=0,s=.6,f=new Map,c=nt(_),g=W("tick","end"),x=Tt();t==null&&(t=[]);function _(){w(),g.call("tick",n),e1?(a==null?f.delete(u):f.set(u,p(a)),n):f.get(u)},find:function(u,a,l){var v=0,m=t.length,y,d,M,I,E;for(l==null?l=1/0:l*=l,v=0;v1?(g.on(u,a),n):g.on(u)}}}function kt(){var t,n,e,r,i=z(-30),o,s=1,f=1/0,c=.81;function g(h){var p,u=t.length,a=V(t,bt,Dt).visitAfter(_);for(r=h,p=0;p=f)return;(h.data!==n||h.next)&&(l===0&&(l=D(e),y+=l*l),v===0&&(v=D(e),y+=v*v),y:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--border)}.stats-strip{border-block-style:var(--tw-border-style);border-block-width:1px;border-color:var(--border);background-color:var(--card)}@media(min-width:40rem){.stats-strip{grid-template-columns:repeat(3,minmax(0,1fr))}:where(.stats-strip>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(0px * var(--tw-divide-y-reverse));border-bottom-width:calc(0px * calc(1 - var(--tw-divide-y-reverse)))}}@media(min-width:48rem){.stats-strip{grid-template-columns:repeat(5,minmax(0,1fr))}}.stats-cell{min-height:86px;padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 4);flex-direction:column;justify-content:space-between;display:flex}.stats-label{--tw-font-weight:var(--font-weight-medium);font-size:10px;font-weight:var(--font-weight-medium);--tw-tracking:.08em;letter-spacing:.08em;color:var(--muted-foreground);text-transform:uppercase}.stats-value-row{margin-top:calc(var(--spacing) * 1);align-items:baseline;gap:calc(var(--spacing) * 2);display:flex}.stats-value{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--foreground);--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stats-delta{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--primary)}.home-split{min-height:calc(var(--spacing) * 0);flex:1;grid-template-columns:repeat(1,minmax(0,1fr));display:grid}:where(.home-split>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)));border-color:var(--border)}@media(min-width:64rem){.home-split{grid-template-columns:minmax(0,1fr) 380px}}.home-main{min-height:calc(var(--spacing) * 0);min-width:calc(var(--spacing) * 0);flex-direction:column;display:flex}.home-rail{min-height:calc(var(--spacing) * 0);flex-direction:column;display:flex}.home-rail-top{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border)}.graph-card{padding-inline:calc(var(--spacing) * 3);padding-bottom:calc(var(--spacing) * 4)}.note-list{flex:1;overflow-y:auto}.note-row{justify-content:space-between;align-items:baseline;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 5);padding-block:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media(hover:hover){.note-row:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.note-row:hover{background-color:color-mix(in oklab,var(--accent) 60%,transparent)}}}.note-row-name{text-overflow:ellipsis;white-space:nowrap;color:var(--foreground);font-family:Geist Mono,ui-monospace,monospace;font-size:13px;overflow:hidden}.note-row-folder{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--muted-foreground);font-family:Geist Mono,ui-monospace,monospace;font-size:10px;overflow:hidden}.notes-index{max-width:980px;padding:calc(var(--spacing) * 6);margin-inline:auto}.notes-index-head{margin-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:baseline;display:flex}.notes-index-title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground)}.notes-index-count{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.notes-index-hint{margin-bottom:calc(var(--spacing) * 6);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.notes-index-grid{gap:calc(var(--spacing) * 5);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:48rem){.notes-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.notes-folder{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 3)}.notes-folder-head{margin-bottom:calc(var(--spacing) * 2);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase;font-size:10px}.notes-folder-count{color:var(--muted-foreground)}:where(.notes-folder-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.notes-folder-list{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.notes-folder-item{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notes-folder-link{color:var(--foreground)}@media(hover:hover){.notes-folder-link:hover{color:var(--primary)}}.kbd{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:10px}.note-view{max-width:720px;padding:calc(var(--spacing) * 8);margin-inline:auto}.note-view-title{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.note-view-meta{margin-top:calc(var(--spacing) * 1.5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.mcp-shell{min-height:calc(var(--spacing) * 0);flex:1;grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:64rem){.mcp-shell{grid-template-columns:300px minmax(0,1fr)}}.mcp-aside{border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--border);overflow-y:auto}.mcp-aside-head{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);padding:calc(var(--spacing) * 3)}.mcp-aside-title{margin-bottom:calc(var(--spacing) * 2);justify-content:space-between;align-items:baseline;display:flex}.mcp-aside-name{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.mcp-aside-count{color:var(--muted-foreground);font-size:10px}.mcp-filter{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);width:100%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.mcp-refresh{margin-top:calc(var(--spacing) * 2);width:100%;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);text-decoration-line:underline;text-decoration-style:dotted}.mcp-error{padding:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--destructive)}.mcp-tool{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);text-align:left;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.mcp-tool:hover{background-color:var(--muted)}}.mcp-tool-active{background-color:var(--muted);color:var(--foreground)}.mcp-tool-desc{margin-top:calc(var(--spacing) * .5);-webkit-line-clamp:2;color:var(--muted-foreground);-webkit-box-orient:vertical;font-size:10px;display:-webkit-box;overflow:hidden}.mcp-main{overflow-y:auto}.mcp-content{max-width:900px;padding:calc(var(--spacing) * 6)}.mcp-title{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.mcp-desc{margin-top:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.mcp-panel{margin-bottom:calc(var(--spacing) * 4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 4)}.mcp-panel-head{margin-bottom:calc(var(--spacing) * 3);justify-content:space-between;align-items:center;display:flex}.mcp-panel-title{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase}.mcp-raw-toggle{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 1.5);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);display:flex}.mcp-textarea{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--background);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.mcp-empty-params{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.mcp-run-row{margin-top:calc(var(--spacing) * 4);align-items:center;gap:calc(var(--spacing) * 3);display:flex}:where(.mcp-history>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}.mcp-history-item{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card)}.mcp-history-head{cursor:pointer;align-items:center;gap:calc(var(--spacing) * 3);padding:calc(var(--spacing) * 3);display:flex}.mcp-history-name{background-color:var(--muted);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * .5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.mcp-history-ms{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.mcp-history-ok{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--primary);margin-left:auto}.mcp-history-err{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--destructive);margin-left:auto;overflow:hidden}.mcp-history-body{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--border);background-color:var(--background);padding:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));overflow:auto}.param-label{margin-bottom:calc(var(--spacing) * 1);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));display:block}.param-name{color:var(--foreground)}.param-type{color:var(--muted-foreground)}.param-required{margin-left:calc(var(--spacing) * 1);color:var(--destructive)}.param-desc{margin-top:calc(var(--spacing) * .5);color:var(--muted-foreground);font-family:Geist,ui-sans-serif,system-ui,sans-serif;font-size:10px;display:block}.param-input{border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--background);width:100%;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));border-radius:.25rem}.skip-link{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link:focus{clip-path:none;white-space:normal;width:auto;height:auto;top:calc(var(--spacing) * 2);left:calc(var(--spacing) * 2);z-index:50;border-radius:var(--radius);background-color:var(--primary);padding:0;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);color:var(--primary-foreground);--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);margin:0;position:fixed;overflow:visible}.sidebar-brand{align-items:center;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1.5);display:flex}.sidebar-brand:is(:where(.group)[data-collapsible=icon] *){padding-inline:calc(var(--spacing) * 0);justify-content:center}.sidebar-brand-link{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * 1);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));flex:1;display:flex}.sidebar-brand-link:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 1);flex:none}@media(hover:hover){.sidebar-brand-link:hover{background-color:var(--sidebar-accent)}}.sidebar-brand-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--sidebar-foreground);overflow:hidden}.sidebar-brand-name:is(:where(.group)[data-collapsible=icon] *){display:none}.sidebar-brand-trigger{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);flex-shrink:0}.sidebar-brand-trigger:is(:where(.group)[data-collapsible=icon] *){display:none}.site-header{height:var(--header-height);justify-content:space-between;align-items:center;gap:calc(var(--spacing) * 2);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);background-color:var(--background);padding-inline:calc(var(--spacing) * 4);flex-shrink:0;display:flex}@media(min-width:64rem){.site-header{padding-inline:calc(var(--spacing) * 6)}}.site-header-left{min-width:calc(var(--spacing) * 0);align-items:center;gap:calc(var(--spacing) * 2);display:flex}.site-header-mobile-trigger{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8);flex-shrink:0}@media(min-width:48rem){.site-header-mobile-trigger{display:none}}.site-header-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground);overflow:hidden}.site-header-actions{align-items:center;gap:calc(var(--spacing) * 2);display:flex}.site-header-search{height:calc(var(--spacing) * 8);gap:calc(var(--spacing) * 2);color:var(--muted-foreground)}.site-header-kbd{pointer-events:none;height:calc(var(--spacing) * 5);align-items:center;gap:calc(var(--spacing) * 1);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding-inline:calc(var(--spacing) * 1.5);--tw-font-weight:var(--font-weight-medium);font-family:Geist Mono,ui-monospace,monospace;font-size:10px;font-weight:var(--font-weight-medium);opacity:1;-webkit-user-select:none;user-select:none;border-radius:.25rem;display:none}@media(min-width:40rem){.site-header-kbd{display:flex}}:where(.activity-list>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-color:var(--border)}.activity-row{align-items:flex-start;gap:calc(var(--spacing) * 3);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 3);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media(hover:hover){.activity-row:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.activity-row:hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}}.activity-icon-wrap{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7);border-radius:var(--radius);background-color:var(--muted);color:var(--muted-foreground);flex-shrink:0;justify-content:center;align-items:center;display:flex}.activity-body{min-width:calc(var(--spacing) * 0);flex:1}.activity-title{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground);overflow:hidden}.activity-detail{margin-top:calc(var(--spacing) * .5);text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);overflow:hidden}.activity-time{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);flex-shrink:0}.activity-empty{padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 8);text-align:center;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.activity-badge{align-items:center;gap:calc(var(--spacing) * 1);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;display:inline-flex}.activity-badge-new{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.activity-badge-new{background-color:color-mix(in oklab,var(--primary) 15%,transparent)}}.activity-badge-new{color:var(--primary)}.activity-badge-doc{background-color:var(--chart-2)}@supports (color:color-mix(in lab,red,red)){.activity-badge-doc{background-color:color-mix(in oklab,var(--chart-2) 15%,transparent)}}.activity-badge-doc{color:var(--chart-2)}.activity-badge-upd{background-color:var(--muted);color:var(--muted-foreground)}.activity-badge-err{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.activity-badge-err{background-color:color-mix(in oklab,var(--destructive) 15%,transparent)}}.activity-badge-err{color:var(--destructive)}.docs-page{max-width:1200px;padding:calc(var(--spacing) * 6);margin-inline:auto}.docs-page-head{margin-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:center;display:flex}.docs-page-title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);color:var(--foreground)}.docs-empty{border-radius:var(--radius);border-style:var(--tw-border-style);--tw-border-style:dashed;border-style:dashed;border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 10)}.docs-empty-title{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--foreground)}.docs-empty-desc{margin-top:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--muted-foreground)}.docs-empty-code{margin-block:calc(var(--spacing) * 4);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--muted);padding:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));white-space:pre;color:var(--foreground);border-radius:.25rem;display:block;overflow-x:auto}.docs-empty-hint{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.doc-view{max-width:860px;padding:calc(var(--spacing) * 8);margin-inline:auto}.doc-view-title{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.doc-view-meta{margin-top:calc(var(--spacing) * 1.5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.note-editor{max-width:820px;padding:calc(var(--spacing) * 6);margin-inline:auto}.note-editor-head{margin-bottom:calc(var(--spacing) * 4);justify-content:space-between;align-items:center;display:flex}.note-editor-title{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.note-editor-textarea{resize:vertical;border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);width:100%;min-height:60vh;padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-outline-style:none;outline-style:none}.note-editor-textarea:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--ring)}.notes-search{max-width:860px;padding:calc(var(--spacing) * 6);margin-inline:auto}.notes-search-input{margin-bottom:calc(var(--spacing) * 4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);width:100%;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 2);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-outline-style:none;outline-style:none}.notes-search-input:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--ring)}.notes-search-hit{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding-inline:calc(var(--spacing) * 4);padding-block:calc(var(--spacing) * 3);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:block}@media(hover:hover){.notes-search-hit:hover{border-color:var(--ring);background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.notes-search-hit:hover{background-color:color-mix(in oklab,var(--accent) 40%,transparent)}}}.notes-search-hit-title{font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground)}.notes-search-hit-snippet{margin-top:calc(var(--spacing) * 1);-webkit-line-clamp:2;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.graph-page{min-height:calc(var(--spacing) * 0);flex-direction:column;flex:1;display:flex}.graph-page-head{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--border);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 4);justify-content:space-between;align-items:baseline;display:flex}.graph-canvas-wrap{min-height:calc(var(--spacing) * 0);flex:1}.wikilink{background-color:var(--primary);border-radius:.25rem}@supports (color:color-mix(in lab,red,red)){.wikilink{background-color:color-mix(in oklab,var(--primary) 10%,transparent)}}.wikilink{padding-inline:calc(var(--spacing) * 1);padding-block:calc(var(--spacing) * .5);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--primary);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.wikilink:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.wikilink:hover{background-color:color-mix(in oklab,var(--primary) 20%,transparent)}}}.wikilink-missing{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.wikilink-missing{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.wikilink-missing{color:var(--destructive)}.prose-body{--tw-leading:calc(var(--spacing) * 7);font-size:15px;line-height:calc(var(--spacing) * 7);color:var(--foreground)}.prose-body h1,.prose-body h2,.prose-body h3{margin-top:calc(var(--spacing) * 8);margin-bottom:calc(var(--spacing) * 3);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight);color:var(--foreground)}.prose-body h1{margin-top:calc(var(--spacing) * 0);font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.prose-body h2{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.prose-body h3{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.prose-body p{margin-block:calc(var(--spacing) * 3)}.prose-body ul{margin-block:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 6);list-style-type:disc}.prose-body ol{margin-block:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 6);list-style-type:decimal}.prose-body li{margin-block:calc(var(--spacing) * 1)}.prose-body a{color:var(--primary);text-underline-offset:2px;text-decoration-line:underline;text-decoration-style:dotted}@media(hover:hover){.prose-body a:hover{text-decoration-style:solid}}.prose-body code{background-color:var(--muted);padding-inline:calc(var(--spacing) * 1);padding-block:calc(var(--spacing) * .5);color:var(--foreground);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:.85em}.prose-body pre{margin-block:calc(var(--spacing) * 4);border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--border);background-color:var(--card);padding:calc(var(--spacing) * 3);overflow-x:auto}.prose-body pre code{padding:calc(var(--spacing) * 0);background-color:#0000;font-size:13px}.prose-body blockquote{margin-block:calc(var(--spacing) * 4);border-left-style:var(--tw-border-style);border-left-width:2px;border-color:var(--border);padding-left:calc(var(--spacing) * 4);color:var(--muted-foreground);font-style:italic}.prose-body hr{margin-block:calc(var(--spacing) * 6);border-color:var(--border)}.theme-toggle{border-radius:var(--radius);padding:calc(var(--spacing) * 1.5);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(hover:hover){.theme-toggle:hover{background-color:var(--muted)}}.tree-node-folder{align-items:center;gap:calc(var(--spacing) * 1.5);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase;display:flex}.tree-node-note{align-items:center;gap:calc(var(--spacing) * 2);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));border-radius:.25rem;display:flex}@media(hover:hover){.tree-node-note:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.tree-node-note:hover{background-color:color-mix(in oklab,var(--accent) 60%,transparent)}}}.tree-node-note-active{background-color:var(--accent);color:var(--foreground)}.link-panel-section{margin-bottom:calc(var(--spacing) * 6)}.link-panel-heading{margin-bottom:calc(var(--spacing) * 2);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider);color:var(--muted-foreground);text-transform:uppercase}:where(.link-panel-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}.link-panel-item{text-overflow:ellipsis;white-space:nowrap;font-family:Geist Mono,ui-monospace,monospace;font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--foreground);display:block;overflow:hidden}@media(hover:hover){.link-panel-item:hover{color:var(--primary)}}.link-panel-empty{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--muted-foreground)}.cmd-chip{margin-right:calc(var(--spacing) * 2);background-color:var(--muted);padding-inline:calc(var(--spacing) * 1.5);color:var(--muted-foreground);border-radius:.25rem;font-family:Geist Mono,ui-monospace,monospace;font-size:10px}}@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[18\%\]{top:18%}.top-\[50\%\]{top:50%}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.mx-auto{margin-inline:auto}.my-0\.5{margin-block:calc(var(--spacing) * .5)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-auto{margin-top:auto}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-full{width:100%;height:100%}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-\[140px\]{height:140px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-\(--radix-dropdown-menu-content-available-height\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-svh{min-height:100svh}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-72{width:calc(var(--spacing) * 72)}.w-\[56px\]{width:56px}.w-\[100px\]{width:100px}.w-\[220px\]{width:220px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-\[620px\]{max-width:620px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-8{min-width:calc(var(--spacing) * 8)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-10{min-width:calc(var(--spacing) * 10)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--radix-dropdown-menu-content-transform-origin\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\(--radix-popover-content-transform-origin\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-none{touch-action:none}.resize{resize:both}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.auto-rows-min{grid-auto-rows:min-content}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[--spacing\(var\(--gap\)\)\]{gap:calc(var(--spacing) * var(--gap))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[4px\]{border-radius:4px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:calc(var(--radius) + 2px)}.rounded-md{border-radius:var(--radius)}.rounded-sm{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\(--color-border\){border-color:var(--color-border)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab,red,red)){.border-border\/50{border-color:color-mix(in oklab,var(--border) 50%,transparent)}}.border-input{border-color:var(--input)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\(--color-bg\){background-color:var(--color-bg)}.bg-accent{background-color:var(--accent)}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-repeat{background-repeat:repeat}.fill-current{fill:currentColor}.fill-foreground{fill:var(--foreground)}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.font-mono{font-family:Geist Mono,ui-monospace,monospace}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-destructive{color:var(--destructive)}.text-foreground,.text-foreground\/60{color:var(--foreground)}@supports (color:color-mix(in lab,red,red)){.text-foreground\/60{color:color-mix(in oklab,var(--foreground) 60%,transparent)}}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground) 70%,transparent)}}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.decoration-dotted{text-decoration-style:dotted}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-border)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-background{--tw-ring-color:var(--background)}.ring-border{--tw-ring-color:var(--border)}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pr-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-right:calc(var(--spacing) * 8)}.group-has-data-\[size\=lg\]\/avatar-group\:size-10:is(:where(.group\/avatar-group):has([data-size=lg]) *){width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.group-has-data-\[size\=sm\]\/avatar-group\:size-6:is(:where(.group\/avatar-group):has([data-size=sm]) *){width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)))}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:right-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){right:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:left-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){left:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[side\=left\]\:-right-4:is(:where(.group)[data-side=left] *){right:calc(var(--spacing) * -4)}.group-data-\[side\=left\]\:border-r:is(:where(.group)[data-side=left] *){border-right-style:var(--tw-border-style);border-right-width:1px}.group-data-\[side\=right\]\:left-0:is(:where(.group)[data-side=right] *){left:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[side\=right\]\:border-l:is(:where(.group)[data-side=right] *){border-left-style:var(--tw-border-style);border-left-width:1px}.group-data-\[size\=default\]\/avatar\:size-2\.5:is(:where(.group\/avatar)[data-size=default] *){width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.group-data-\[size\=lg\]\/avatar\:size-3:is(:where(.group\/avatar)[data-size=lg] *){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=sm\]\/avatar\:size-2:is(:where(.group\/avatar)[data-size=sm] *){width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:text-xs:is(:where(.group\/avatar)[data-size=sm] *){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:calc(var(--radius) + 2px)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){background-color:#0000}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:block:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *){display:block}.group-data-\[vaul-drawer-direction\=bottom\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=bottom] *),.group-data-\[vaul-drawer-direction\=top\]\/drawer-content\:text-center:is(:where(.group\/drawer-content)[data-vaul-drawer-direction=top] *){text-align:center}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.group-data-\[collapsible\=offcanvas\]\:after\:left-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);left:100%}.group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);bottom:-5px}.group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:is(:where(.group\/tabs)[data-orientation=horizontal] *):after{content:var(--tw-content);height:calc(var(--spacing) * .5)}.group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);right:calc(var(--spacing) * -1)}.group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:is(:where(.group\/tabs)[data-orientation=vertical] *):after{content:var(--tw-content);width:calc(var(--spacing) * .5)}@media(hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-muted:hover,.hover\:bg-muted\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,hsl(var(--sidebar-accent)));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:z-10:focus{z-index:10}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:z-10:focus-visible{z-index:10}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-primary:focus-visible{--tw-ring-color:var(--primary)}.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.has-aria-expanded\:bg-muted\/50:has([aria-expanded=true]){background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.has-data-\[variant\=inset\]\:bg-sidebar:has([data-variant=inset]){background-color:var(--sidebar)}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[inset\]\:pl-8[data-inset]{padding-left:calc(var(--spacing) * 8)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=lg\]\:size-10[data-size=lg]{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.data-\[size\=sm\]\:size-6[data-size=sm]{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\:data-\[slot\=avatar\]\:ring-2>*)[data-slot=avatar]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:is(.\*\:data-\[slot\=avatar\]\:ring-background>*)[data-slot=avatar]{--tw-ring-color:var(--background)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.data-\[spacing\=0\]\:rounded-none[data-spacing="0"]{border-radius:0}.data-\[spacing\=0\]\:shadow-none[data-spacing="0"]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[spacing\=0\]\:first\:rounded-l-md[data-spacing="0"]:first-child{border-top-left-radius:var(--radius);border-bottom-left-radius:var(--radius)}.data-\[spacing\=0\]\:last\:rounded-r-md[data-spacing="0"]:last-child{border-top-right-radius:var(--radius);border-bottom-right-radius:var(--radius)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]:after{content:var(--tw-content);opacity:1}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:var(--accent)}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:var(--accent-foreground)}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:var(--secondary)}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:var(--accent-foreground)}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[variant\=destructive\]\:text-destructive[data-variant=destructive]{color:var(--destructive)}.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.data-\[variant\=destructive\]\:focus\:bg-destructive\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive) 10%,transparent)}}.data-\[variant\=destructive\]\:focus\:text-destructive[data-variant=destructive]:focus{color:var(--destructive)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:border-l-0[data-spacing="0"][data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.data-\[spacing\=0\]\:data-\[variant\=outline\]\:first\:border-l[data-spacing="0"][data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[spacing\=default\]\:data-\[variant\=outline\]\:shadow-xs[data-spacing=default][data-variant=outline]{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\[vaul-drawer-direction\=bottom\]\:inset-x-0[data-vaul-drawer-direction=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:bottom-0[data-vaul-drawer-direction=bottom]{bottom:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction=bottom]{margin-top:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction=bottom]{max-height:80vh}.data-\[vaul-drawer-direction\=bottom\]\:rounded-t-lg[data-vaul-drawer-direction=bottom]{border-top-left-radius:calc(var(--radius) + 2px);border-top-right-radius:calc(var(--radius) + 2px)}.data-\[vaul-drawer-direction\=bottom\]\:border-t[data-vaul-drawer-direction=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\[vaul-drawer-direction\=left\]\:inset-y-0[data-vaul-drawer-direction=left]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:left-0[data-vaul-drawer-direction=left]{left:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=left\]\:w-3\/4[data-vaul-drawer-direction=left]{width:75%}.data-\[vaul-drawer-direction\=left\]\:border-r[data-vaul-drawer-direction=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\[vaul-drawer-direction\=right\]\:inset-y-0[data-vaul-drawer-direction=right]{inset-block:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:right-0[data-vaul-drawer-direction=right]{right:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=right\]\:w-3\/4[data-vaul-drawer-direction=right]{width:75%}.data-\[vaul-drawer-direction\=right\]\:border-l[data-vaul-drawer-direction=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\[vaul-drawer-direction\=top\]\:inset-x-0[data-vaul-drawer-direction=top]{inset-inline:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:top-0[data-vaul-drawer-direction=top]{top:calc(var(--spacing) * 0)}.data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction=top]{margin-bottom:calc(var(--spacing) * 24)}.data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction=top]{max-height:80vh}.data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction=top]{border-bottom-right-radius:calc(var(--radius) + 2px);border-bottom-left-radius:calc(var(--radius) + 2px)}.data-\[vaul-drawer-direction\=top\]\:border-b[data-vaul-drawer-direction=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:inline{display:inline}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:calc(var(--spacing) * 2.5)}.sm\:text-left{text-align:left}.data-\[vaul-drawer-direction\=left\]\:sm\:max-w-sm[data-vaul-drawer-direction=left],.data-\[vaul-drawer-direction\=right\]\:sm\:max-w-sm[data-vaul-drawer-direction=right]{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:gap-1\.5{gap:calc(var(--spacing) * 1.5)}.md\:text-left{text-align:left}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:peer-data-\[variant\=inset\]\:m-2:is(:where(.peer)[data-variant=inset]~*){margin:calc(var(--spacing) * 2)}.md\:peer-data-\[variant\=inset\]\:ml-0:is(:where(.peer)[data-variant=inset]~*){margin-left:calc(var(--spacing) * 0)}.md\:peer-data-\[variant\=inset\]\:rounded-xl:is(:where(.peer)[data-variant=inset]~*){border-radius:calc(var(--radius) + 4px)}.md\:peer-data-\[variant\=inset\]\:shadow-sm:is(:where(.peer)[data-variant=inset]~*){--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.md\:peer-data-\[variant\=inset\]\:peer-data-\[state\=collapsed\]\:ml-2:is(:where(.peer)[data-variant=inset]~*):is(:where(.peer)[data-state=collapsed]~*){margin-left:calc(var(--spacing) * 2)}.md\:after\:hidden:after{content:var(--tw-content);display:none}}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:bg-destructive\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-input\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(.dark *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:text-foreground:is(.dark *):hover{color:var(--foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:data-\[state\=active\]\:border-input:is(.dark *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(.dark *)[data-state=active]{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(.dark *)[data-state=active]{color:var(--foreground)}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-color:#0000}.dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent:is(.dark *):is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{background-color:#0000}.dark\:data-\[state\=checked\]\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[variant\=destructive\]\:focus\:bg-destructive\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--destructive) 20%,transparent)}}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:var(--muted-foreground)}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:var(--border)}@supports (color:color-mix(in lab,red,red)){.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"]{stroke:color-mix(in oklab,var(--border) 50%,transparent)}}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:var(--border)}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"]{stroke:var(--border)}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:var(--muted)}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"]{stroke:var(--border)}.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector{outline-offset:2px;outline:2px solid #0000}}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"]{stroke:#0000}.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface{outline-offset:2px;outline:2px solid #0000}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:var(--muted-foreground)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}:is(.data-\[variant\=destructive\]\:\*\:\[svg\]\:text-destructive\![data-variant=destructive]>*):is(svg){color:var(--destructive)!important}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:h-2\.5>svg{height:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:h-3>svg{height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:w-2\.5>svg{width:calc(var(--spacing) * 2.5)}.\[\&\>svg\]\:w-3>svg{width:calc(var(--spacing) * 3)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}.group-has-data-\[size\=lg\]\/avatar-group\:\[\&\>svg\]\:size-5:is(:where(.group\/avatar-group):has([data-size=lg]) *)>svg{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.group-has-data-\[size\=sm\]\/avatar-group\:\[\&\>svg\]\:size-3:is(:where(.group\/avatar-group):has([data-size=sm]) *)>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=default] *)>svg,.group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2:is(:where(.group\/avatar)[data-size=lg] *)>svg{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden:is(:where(.group\/avatar)[data-size=sm] *)>svg{display:none}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}a.\[a\&\]\:hover\:underline:hover{text-decoration-line:underline}}}:root{--background:oklch(99% 0 0);--foreground:oklch(17% .01 260);--card:oklch(100% 0 0);--card-foreground:oklch(17% .01 260);--popover:oklch(100% 0 0);--popover-foreground:oklch(17% .01 260);--muted:oklch(97% .005 260);--muted-foreground:oklch(50% .01 260);--accent:oklch(96% .005 260);--accent-foreground:oklch(17% .01 260);--border:oklch(92% .005 260);--input:oklch(92% .005 260);--primary:oklch(68% .16 152);--primary-foreground:oklch(100% 0 0);--ring:oklch(68% .16 152);--secondary:oklch(97% .005 260);--secondary-foreground:oklch(17% .01 260);--destructive:oklch(58% .2 27);--destructive-foreground:oklch(100% 0 0);--chart-1:oklch(68% .16 152);--chart-2:oklch(60% .18 250);--chart-3:oklch(62% .2 300);--chart-4:oklch(72% .15 80);--chart-5:oklch(58% .2 27);--sidebar:oklch(98% 0 0);--sidebar-foreground:oklch(17% .01 260);--sidebar-primary:oklch(68% .16 152);--sidebar-primary-foreground:oklch(100% 0 0);--sidebar-accent:oklch(95% .005 260);--sidebar-accent-foreground:oklch(17% .01 260);--sidebar-border:oklch(92% .005 260);--sidebar-ring:oklch(68% .16 152);--radius:.375rem}.dark{--background:oklch(14% .01 260);--foreground:oklch(92% .005 260);--card:oklch(17% .01 260);--card-foreground:oklch(92% .005 260);--popover:oklch(19% .01 260);--popover-foreground:oklch(92% .005 260);--muted:oklch(20% .01 260);--muted-foreground:oklch(62% .01 260);--accent:oklch(22% .01 260);--accent-foreground:oklch(92% .005 260);--border:oklch(25% .01 260);--input:oklch(25% .01 260);--primary:oklch(78% .17 152);--primary-foreground:oklch(14% .01 260);--ring:oklch(78% .17 152);--secondary:oklch(22% .01 260);--secondary-foreground:oklch(92% .005 260);--destructive:oklch(70% .2 27);--destructive-foreground:oklch(14% .01 260);--chart-1:oklch(78% .17 152);--chart-2:oklch(70% .18 250);--chart-3:oklch(72% .2 300);--chart-4:oklch(78% .15 80);--chart-5:oklch(70% .2 27);--sidebar:oklch(16% .01 260);--sidebar-foreground:oklch(92% .005 260);--sidebar-primary:oklch(78% .17 152);--sidebar-primary-foreground:oklch(14% .01 260);--sidebar-accent:oklch(22% .01 260);--sidebar-accent-foreground:oklch(92% .005 260);--sidebar-border:oklch(25% .01 260);--sidebar-ring:oklch(78% .17 152)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:Geist;src:url(/fonts/Geist-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-500.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/Geist-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-400.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-500.woff2)format("woff2");font-weight:500;font-display:swap}html,body,#root{background:var(--background);height:100%;color:var(--foreground);font-family:var(--font-sans);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}@supports (padding:env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}}a:focus-visible,button:not([data-slot]):focus-visible,[role=link]:focus-visible{outline:1.5px solid var(--ring);outline-offset:2px;border-radius:calc(var(--radius) - 2px)}html,body{overscroll-behavior:none}@media(max-width:640px){input,select,textarea{font-size:16px!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--muted-foreground) 30%,transparent)}}::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch,var(--muted-foreground) 50%,transparent)}}::-webkit-scrollbar-thumb:hover{background-clip:padding-box;border:2px solid #0000}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}} diff --git a/ui/dist/assets/index-DEeQUcqL.js b/ui/dist/assets/index-DEeQUcqL.js deleted file mode 100644 index 7b55a4a..0000000 --- a/ui/dist/assets/index-DEeQUcqL.js +++ /dev/null @@ -1,221 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NotesLayout-B2b1sadk.js","assets/markdown-BU1qdTNu.js","assets/graph-mfGjgYhn.js","assets/NoteView-DbbP0PJj.js","assets/NoteEditor-XWs05OuT.js","assets/NotesSearch-BjwNYEol.js","assets/DocumentsList-DDiV8Alk.js","assets/useDocs-EWsD7rBb.js","assets/DocumentView-S_kRD8s0.js","assets/Graph-DhboX9Bv.js","assets/MCPConsole-B2jF6C5Z.js"])))=>i.map(i=>d[i]); -var Rw=Object.defineProperty;var fy=n=>{throw TypeError(n)};var Aw=(n,l,r)=>l in n?Rw(n,l,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[l]=r;var id=(n,l,r)=>Aw(n,typeof l!="symbol"?l+"":l,r),od=(n,l,r)=>l.has(n)||fy("Cannot "+r);var O=(n,l,r)=>(od(n,l,"read from private field"),r?r.call(n):l.get(n)),pe=(n,l,r)=>l.has(n)?fy("Cannot add the same private member more than once"):l instanceof WeakSet?l.add(n):l.set(n,r),re=(n,l,r,o)=>(od(n,l,"write to private field"),o?o.call(n,r):l.set(n,r),r),Ce=(n,l,r)=>(od(n,l,"access private method"),r);var tu=(n,l,r,o)=>({set _(s){re(n,l,s,r)},get _(){return O(n,l,o)}});import{_ as ll}from"./markdown-BU1qdTNu.js";import{f as _w,a as Mw,b as Ow,c as Nw,d as Dw,e as jw}from"./graph-mfGjgYhn.js";function zw(n,l){for(var r=0;ro[s]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))o(s);new MutationObserver(s=>{for(const c of s)if(c.type==="childList")for(const d of c.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&o(d)}).observe(document,{childList:!0,subtree:!0});function r(s){const c={};return s.integrity&&(c.integrity=s.integrity),s.referrerPolicy&&(c.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?c.credentials="include":s.crossOrigin==="anonymous"?c.credentials="omit":c.credentials="same-origin",c}function o(s){if(s.ep)return;s.ep=!0;const c=r(s);fetch(s.href,c)}})();function Ib(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var sd={exports:{}},ro={};/** - * @license React - * react-jsx-runtime.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var dy;function Uw(){if(dy)return ro;dy=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function r(o,s,c){var d=null;if(c!==void 0&&(d=""+c),s.key!==void 0&&(d=""+s.key),"key"in s){c={};for(var h in s)h!=="key"&&(c[h]=s[h])}else c=s;return s=c.ref,{$$typeof:n,type:o,key:d,ref:s!==void 0?s:null,props:c}}return ro.Fragment=l,ro.jsx=r,ro.jsxs=r,ro}var hy;function Lw(){return hy||(hy=1,sd.exports=Uw()),sd.exports}var x=Lw(),ud={exports:{}},xe={};/** - * @license React - * react.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var my;function Bw(){if(my)return xe;my=1;var n=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),c=Symbol.for("react.consumer"),d=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),y=Symbol.for("react.activity"),E=Symbol.iterator;function T(_){return _===null||typeof _!="object"?null:(_=E&&_[E]||_["@@iterator"],typeof _=="function"?_:null)}var R={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,C={};function A(_,D,Q){this.props=_,this.context=D,this.refs=C,this.updater=Q||R}A.prototype.isReactComponent={},A.prototype.setState=function(_,D){if(typeof _!="object"&&typeof _!="function"&&_!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,_,D,"setState")},A.prototype.forceUpdate=function(_){this.updater.enqueueForceUpdate(this,_,"forceUpdate")};function N(){}N.prototype=A.prototype;function j(_,D,Q){this.props=_,this.context=D,this.refs=C,this.updater=Q||R}var z=j.prototype=new N;z.constructor=j,w(z,A.prototype),z.isPureReactComponent=!0;var P=Array.isArray;function Y(){}var G={H:null,A:null,T:null,S:null},te=Object.prototype.hasOwnProperty;function le(_,D,Q){var Z=Q.ref;return{$$typeof:n,type:_,key:D,ref:Z!==void 0?Z:null,props:Q}}function ie(_,D){return le(_.type,D,_.props)}function se(_){return typeof _=="object"&&_!==null&&_.$$typeof===n}function ne(_){var D={"=":"=0",":":"=2"};return"$"+_.replace(/[=:]/g,function(Q){return D[Q]})}var be=/\/+/g;function ce(_,D){return typeof _=="object"&&_!==null&&_.key!=null?ne(""+_.key):D.toString(36)}function ge(_){switch(_.status){case"fulfilled":return _.value;case"rejected":throw _.reason;default:switch(typeof _.status=="string"?_.then(Y,Y):(_.status="pending",_.then(function(D){_.status==="pending"&&(_.status="fulfilled",_.value=D)},function(D){_.status==="pending"&&(_.status="rejected",_.reason=D)})),_.status){case"fulfilled":return _.value;case"rejected":throw _.reason}}throw _}function B(_,D,Q,Z,ee){var ae=typeof _;(ae==="undefined"||ae==="boolean")&&(_=null);var J=!1;if(_===null)J=!0;else switch(ae){case"bigint":case"string":case"number":J=!0;break;case"object":switch(_.$$typeof){case n:case l:J=!0;break;case b:return J=_._init,B(J(_._payload),D,Q,Z,ee)}}if(J)return ee=ee(_),J=Z===""?"."+ce(_,0):Z,P(ee)?(Q="",J!=null&&(Q=J.replace(be,"$&/")+"/"),B(ee,D,Q,"",function(Ae){return Ae})):ee!=null&&(se(ee)&&(ee=ie(ee,Q+(ee.key==null||_&&_.key===ee.key?"":(""+ee.key).replace(be,"$&/")+"/")+J)),D.push(ee)),1;J=0;var me=Z===""?".":Z+":";if(P(_))for(var ue=0;ue<_.length;ue++)Z=_[ue],ae=me+ce(Z,ue),J+=B(Z,D,Q,ae,ee);else if(ue=T(_),typeof ue=="function")for(_=ue.call(_),ue=0;!(Z=_.next()).done;)Z=Z.value,ae=me+ce(Z,ue++),J+=B(Z,D,Q,ae,ee);else if(ae==="object"){if(typeof _.then=="function")return B(ge(_),D,Q,Z,ee);throw D=String(_),Error("Objects are not valid as a React child (found: "+(D==="[object Object]"?"object with keys {"+Object.keys(_).join(", ")+"}":D)+"). If you meant to render a collection of children, use an array instead.")}return J}function F(_,D,Q){if(_==null)return _;var Z=[],ee=0;return B(_,Z,"","",function(ae){return D.call(Q,ae,ee++)}),Z}function $(_){if(_._status===-1){var D=_._result;D=D(),D.then(function(Q){(_._status===0||_._status===-1)&&(_._status=1,_._result=Q)},function(Q){(_._status===0||_._status===-1)&&(_._status=2,_._result=Q)}),_._status===-1&&(_._status=0,_._result=D)}if(_._status===1)return _._result.default;throw _._result}var W=typeof reportError=="function"?reportError:function(_){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var D=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof _=="object"&&_!==null&&typeof _.message=="string"?String(_.message):String(_),error:_});if(!window.dispatchEvent(D))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",_);return}console.error(_)},de={map:F,forEach:function(_,D,Q){F(_,function(){D.apply(this,arguments)},Q)},count:function(_){var D=0;return F(_,function(){D++}),D},toArray:function(_){return F(_,function(D){return D})||[]},only:function(_){if(!se(_))throw Error("React.Children.only expected to receive a single React element child.");return _}};return xe.Activity=y,xe.Children=de,xe.Component=A,xe.Fragment=r,xe.Profiler=s,xe.PureComponent=j,xe.StrictMode=o,xe.Suspense=v,xe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=G,xe.__COMPILER_RUNTIME={__proto__:null,c:function(_){return G.H.useMemoCache(_)}},xe.cache=function(_){return function(){return _.apply(null,arguments)}},xe.cacheSignal=function(){return null},xe.cloneElement=function(_,D,Q){if(_==null)throw Error("The argument must be a React element, but you passed "+_+".");var Z=w({},_.props),ee=_.key;if(D!=null)for(ae in D.key!==void 0&&(ee=""+D.key),D)!te.call(D,ae)||ae==="key"||ae==="__self"||ae==="__source"||ae==="ref"&&D.ref===void 0||(Z[ae]=D[ae]);var ae=arguments.length-2;if(ae===1)Z.children=Q;else if(1>>1,de=B[W];if(0>>1;W<_;){var D=2*(W+1)-1,Q=B[D],Z=D+1,ee=B[Z];if(0>s(Q,$))Zs(ee,Q)?(B[W]=ee,B[Z]=$,W=Z):(B[W]=Q,B[D]=$,W=D);else if(Zs(ee,$))B[W]=ee,B[Z]=$,W=Z;else break e}}return F}function s(B,F){var $=B.sortIndex-F.sortIndex;return $!==0?$:B.id-F.id}if(n.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;n.unstable_now=function(){return c.now()}}else{var d=Date,h=d.now();n.unstable_now=function(){return d.now()-h}}var v=[],p=[],b=1,y=null,E=3,T=!1,R=!1,w=!1,C=!1,A=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,j=typeof setImmediate<"u"?setImmediate:null;function z(B){for(var F=r(p);F!==null;){if(F.callback===null)o(p);else if(F.startTime<=B)o(p),F.sortIndex=F.expirationTime,l(v,F);else break;F=r(p)}}function P(B){if(w=!1,z(B),!R)if(r(v)!==null)R=!0,Y||(Y=!0,ne());else{var F=r(p);F!==null&&ge(P,F.startTime-B)}}var Y=!1,G=-1,te=5,le=-1;function ie(){return C?!0:!(n.unstable_now()-leB&&ie());){var W=y.callback;if(typeof W=="function"){y.callback=null,E=y.priorityLevel;var de=W(y.expirationTime<=B);if(B=n.unstable_now(),typeof de=="function"){y.callback=de,z(B),F=!0;break t}y===r(v)&&o(v),z(B)}else o(v);y=r(v)}if(y!==null)F=!0;else{var _=r(p);_!==null&&ge(P,_.startTime-B),F=!1}}break e}finally{y=null,E=$,T=!1}F=void 0}}finally{F?ne():Y=!1}}}var ne;if(typeof j=="function")ne=function(){j(se)};else if(typeof MessageChannel<"u"){var be=new MessageChannel,ce=be.port2;be.port1.onmessage=se,ne=function(){ce.postMessage(null)}}else ne=function(){A(se,0)};function ge(B,F){G=A(function(){B(n.unstable_now())},F)}n.unstable_IdlePriority=5,n.unstable_ImmediatePriority=1,n.unstable_LowPriority=4,n.unstable_NormalPriority=3,n.unstable_Profiling=null,n.unstable_UserBlockingPriority=2,n.unstable_cancelCallback=function(B){B.callback=null},n.unstable_forceFrameRate=function(B){0>B||125W?(B.sortIndex=$,l(p,B),r(v)===null&&B===r(p)&&(w?(N(G),G=-1):w=!0,ge(P,$-W))):(B.sortIndex=de,l(v,B),R||T||(R=!0,Y||(Y=!0,ne()))),B},n.unstable_shouldYield=ie,n.unstable_wrapCallback=function(B){var F=E;return function(){var $=E;E=F;try{return B.apply(this,arguments)}finally{E=$}}}})(dd)),dd}var gy;function kw(){return gy||(gy=1,fd.exports=Hw()),fd.exports}var hd={exports:{}},bt={};/** - * @license React - * react-dom.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var yy;function qw(){if(yy)return bt;yy=1;var n=gh();function l(v){var p="https://react.dev/errors/"+v;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),hd.exports=qw(),hd.exports}/** - * @license React - * react-dom-client.production.js - * - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var xy;function Gw(){if(xy)return io;xy=1;var n=kw(),l=gh(),r=Yb();function o(e){var t="https://react.dev/errors/"+e;if(1de||(e.current=W[de],W[de]=null,de--)}function Q(e,t){de++,W[de]=e.current,e.current=t}var Z=_(null),ee=_(null),ae=_(null),J=_(null);function me(e,t){switch(Q(ae,t),Q(ee,e),Q(Z,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?zg(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=zg(t),e=Ug(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}D(Z),Q(Z,e)}function ue(){D(Z),D(ee),D(ae)}function Ae(e){e.memoizedState!==null&&Q(J,e);var t=Z.current,a=Ug(t,e.type);t!==a&&(Q(ee,e),Q(Z,a))}function ze(e){ee.current===e&&(D(Z),D(ee)),J.current===e&&(D(J),to._currentValue=$)}var Ue,yt;function ut(e){if(Ue===void 0)try{throw Error()}catch(a){var t=a.stack.trim().match(/\n( *(at )?)/);Ue=t&&t[1]||"",yt=-1)":-1u||M[i]!==k[u]){var I=` -`+M[i].replace(" at new "," at ");return e.displayName&&I.includes("")&&(I=I.replace("",e.displayName)),I}while(1<=i&&0<=u);break}}}finally{Ln=!1,Error.prepareStackTrace=a}return(a=e?e.displayName||e.name:"")?ut(a):""}function sl(e,t){switch(e.tag){case 26:case 27:case 5:return ut(e.type);case 16:return ut("Lazy");case 13:return e.child!==t&&t!==null?ut("Suspense Fallback"):ut("Suspense");case 19:return ut("SuspenseList");case 0:case 15:return Bn(e.type,!1);case 11:return Bn(e.type.render,!1);case 1:return Bn(e.type,!0);case 31:return ut("Activity");default:return""}}function Bo(e){try{var t="",a=null;do t+=sl(e,a),a=e,e=e.return;while(e);return t}catch(i){return` -Error generating stack: `+i.message+` -`+i.stack}}var ha=Object.prototype.hasOwnProperty,Yu=n.unstable_scheduleCallback,Qu=n.unstable_cancelCallback,l1=n.unstable_shouldYield,r1=n.unstable_requestPaint,Ht=n.unstable_now,i1=n.unstable_getCurrentPriorityLevel,dm=n.unstable_ImmediatePriority,hm=n.unstable_UserBlockingPriority,Ho=n.unstable_NormalPriority,o1=n.unstable_LowPriority,mm=n.unstable_IdlePriority,s1=n.log,u1=n.unstable_setDisableYieldValue,hi=null,kt=null;function ma(e){if(typeof s1=="function"&&u1(e),kt&&typeof kt.setStrictMode=="function")try{kt.setStrictMode(hi,e)}catch{}}var qt=Math.clz32?Math.clz32:d1,c1=Math.log,f1=Math.LN2;function d1(e){return e>>>=0,e===0?32:31-(c1(e)/f1|0)|0}var ko=256,qo=262144,Go=4194304;function ul(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Vo(e,t,a){var i=e.pendingLanes;if(i===0)return 0;var u=0,f=e.suspendedLanes,g=e.pingedLanes;e=e.warmLanes;var S=i&134217727;return S!==0?(i=S&~f,i!==0?u=ul(i):(g&=S,g!==0?u=ul(g):a||(a=S&~e,a!==0&&(u=ul(a))))):(S=i&~f,S!==0?u=ul(S):g!==0?u=ul(g):a||(a=i&~e,a!==0&&(u=ul(a)))),u===0?0:t!==0&&t!==u&&(t&f)===0&&(f=u&-u,a=t&-t,f>=a||f===32&&(a&4194048)!==0)?t:u}function mi(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function h1(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function pm(){var e=Go;return Go<<=1,(Go&62914560)===0&&(Go=4194304),e}function Ku(e){for(var t=[],a=0;31>a;a++)t.push(e);return t}function pi(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function m1(e,t,a,i,u,f){var g=e.pendingLanes;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=a,e.entangledLanes&=a,e.errorRecoveryDisabledLanes&=a,e.shellSuspendCounter=0;var S=e.entanglements,M=e.expirationTimes,k=e.hiddenUpdates;for(a=g&~a;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var x1=/[\n"\\]/g;function Jt(e){return e.replace(x1,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function Wu(e,t,a,i,u,f,g,S){e.name="",g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?e.type=g:e.removeAttribute("type"),t!=null?g==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+$t(t)):e.value!==""+$t(t)&&(e.value=""+$t(t)):g!=="submit"&&g!=="reset"||e.removeAttribute("value"),t!=null?ec(e,g,$t(t)):a!=null?ec(e,g,$t(a)):i!=null&&e.removeAttribute("value"),u==null&&f!=null&&(e.defaultChecked=!!f),u!=null&&(e.checked=u&&typeof u!="function"&&typeof u!="symbol"),S!=null&&typeof S!="function"&&typeof S!="symbol"&&typeof S!="boolean"?e.name=""+$t(S):e.removeAttribute("name")}function _m(e,t,a,i,u,f,g,S){if(f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(e.type=f),t!=null||a!=null){if(!(f!=="submit"&&f!=="reset"||t!=null)){Ju(e);return}a=a!=null?""+$t(a):"",t=t!=null?""+$t(t):a,S||t===e.value||(e.value=t),e.defaultValue=t}i=i??u,i=typeof i!="function"&&typeof i!="symbol"&&!!i,e.checked=S?e.checked:!!i,e.defaultChecked=!!i,g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(e.name=g),Ju(e)}function ec(e,t,a){t==="number"&&Yo(e.ownerDocument)===e||e.defaultValue===""+a||(e.defaultValue=""+a)}function tr(e,t,a,i){if(e=e.options,t){t={};for(var u=0;u"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),rc=!1;if(qn)try{var bi={};Object.defineProperty(bi,"passive",{get:function(){rc=!0}}),window.addEventListener("test",bi,bi),window.removeEventListener("test",bi,bi)}catch{rc=!1}var va=null,ic=null,Ko=null;function Um(){if(Ko)return Ko;var e,t=ic,a=t.length,i,u="value"in va?va.value:va.textContent,f=u.length;for(e=0;e=Ei),Gm=" ",Vm=!1;function Pm(e,t){switch(e){case"keyup":return X1.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Im(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var rr=!1;function Z1(e,t){switch(e){case"compositionend":return Im(t);case"keypress":return t.which!==32?null:(Vm=!0,Gm);case"textInput":return e=t.data,e===Gm&&Vm?null:e;default:return null}}function $1(e,t){if(rr)return e==="compositionend"||!fc&&Pm(e,t)?(e=Um(),Ko=ic=va=null,rr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:a,offset:t-e};e=i}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=Jm(a)}}function ep(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ep(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function tp(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Yo(e.document);t instanceof e.HTMLIFrameElement;){try{var a=typeof t.contentWindow.location.href=="string"}catch{a=!1}if(a)e=t.contentWindow;else break;t=Yo(e.document)}return t}function mc(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var rE=qn&&"documentMode"in document&&11>=document.documentMode,ir=null,pc=null,Ri=null,vc=!1;function np(e,t,a){var i=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;vc||ir==null||ir!==Yo(i)||(i=ir,"selectionStart"in i&&mc(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),Ri&&Ti(Ri,i)||(Ri=i,i=qs(pc,"onSelect"),0>=g,u-=g,Sn=1<<32-qt(t)+u|a<we?(Ne=he,he=null):Ne=he.sibling;var Be=q(L,he,H[we],K);if(Be===null){he===null&&(he=Ne);break}e&&he&&Be.alternate===null&&t(L,he),U=f(Be,U,we),Le===null?ve=Be:Le.sibling=Be,Le=Be,he=Ne}if(we===H.length)return a(L,he),De&&Vn(L,we),ve;if(he===null){for(;wewe?(Ne=he,he=null):Ne=he.sibling;var Ha=q(L,he,Be.value,K);if(Ha===null){he===null&&(he=Ne);break}e&&he&&Ha.alternate===null&&t(L,he),U=f(Ha,U,we),Le===null?ve=Ha:Le.sibling=Ha,Le=Ha,he=Ne}if(Be.done)return a(L,he),De&&Vn(L,we),ve;if(he===null){for(;!Be.done;we++,Be=H.next())Be=X(L,Be.value,K),Be!==null&&(U=f(Be,U,we),Le===null?ve=Be:Le.sibling=Be,Le=Be);return De&&Vn(L,we),ve}for(he=i(he);!Be.done;we++,Be=H.next())Be=V(he,L,we,Be.value,K),Be!==null&&(e&&Be.alternate!==null&&he.delete(Be.key===null?we:Be.key),U=f(Be,U,we),Le===null?ve=Be:Le.sibling=Be,Le=Be);return e&&he.forEach(function(Tw){return t(L,Tw)}),De&&Vn(L,we),ve}function Ye(L,U,H,K){if(typeof H=="object"&&H!==null&&H.type===w&&H.key===null&&(H=H.props.children),typeof H=="object"&&H!==null){switch(H.$$typeof){case T:e:{for(var ve=H.key;U!==null;){if(U.key===ve){if(ve=H.type,ve===w){if(U.tag===7){a(L,U.sibling),K=u(U,H.props.children),K.return=L,L=K;break e}}else if(U.elementType===ve||typeof ve=="object"&&ve!==null&&ve.$$typeof===te&&xl(ve)===U.type){a(L,U.sibling),K=u(U,H.props),Di(K,H),K.return=L,L=K;break e}a(L,U);break}else t(L,U);U=U.sibling}H.type===w?(K=pl(H.props.children,L.mode,K,H.key),K.return=L,L=K):(K=as(H.type,H.key,H.props,null,L.mode,K),Di(K,H),K.return=L,L=K)}return g(L);case R:e:{for(ve=H.key;U!==null;){if(U.key===ve)if(U.tag===4&&U.stateNode.containerInfo===H.containerInfo&&U.stateNode.implementation===H.implementation){a(L,U.sibling),K=u(U,H.children||[]),K.return=L,L=K;break e}else{a(L,U);break}else t(L,U);U=U.sibling}K=wc(H,L.mode,K),K.return=L,L=K}return g(L);case te:return H=xl(H),Ye(L,U,H,K)}if(ge(H))return oe(L,U,H,K);if(ne(H)){if(ve=ne(H),typeof ve!="function")throw Error(o(150));return H=ve.call(H),ye(L,U,H,K)}if(typeof H.then=="function")return Ye(L,U,cs(H),K);if(H.$$typeof===j)return Ye(L,U,is(L,H),K);fs(L,H)}return typeof H=="string"&&H!==""||typeof H=="number"||typeof H=="bigint"?(H=""+H,U!==null&&U.tag===6?(a(L,U.sibling),K=u(U,H),K.return=L,L=K):(a(L,U),K=Ec(H,L.mode,K),K.return=L,L=K),g(L)):a(L,U)}return function(L,U,H,K){try{Ni=0;var ve=Ye(L,U,H,K);return gr=null,ve}catch(he){if(he===vr||he===ss)throw he;var Le=Vt(29,he,null,L.mode);return Le.lanes=K,Le.return=L,Le}finally{}}}var El=Tp(!0),Rp=Tp(!1),Sa=!1;function Uc(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Lc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Ea(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function wa(e,t,a){var i=e.updateQueue;if(i===null)return null;if(i=i.shared,(He&2)!==0){var u=i.pending;return u===null?t.next=t:(t.next=u.next,u.next=t),i.pending=t,t=ns(e),up(e,null,a),t}return ts(e,i,t,a),ns(e)}function ji(e,t,a){if(t=t.updateQueue,t!==null&&(t=t.shared,(a&4194048)!==0)){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,gm(e,a)}}function Bc(e,t){var a=e.updateQueue,i=e.alternate;if(i!==null&&(i=i.updateQueue,a===i)){var u=null,f=null;if(a=a.firstBaseUpdate,a!==null){do{var g={lane:a.lane,tag:a.tag,payload:a.payload,callback:null,next:null};f===null?u=f=g:f=f.next=g,a=a.next}while(a!==null);f===null?u=f=t:f=f.next=t}else u=f=t;a={baseState:i.baseState,firstBaseUpdate:u,lastBaseUpdate:f,shared:i.shared,callbacks:i.callbacks},e.updateQueue=a;return}e=a.lastBaseUpdate,e===null?a.firstBaseUpdate=t:e.next=t,a.lastBaseUpdate=t}var Hc=!1;function zi(){if(Hc){var e=pr;if(e!==null)throw e}}function Ui(e,t,a,i){Hc=!1;var u=e.updateQueue;Sa=!1;var f=u.firstBaseUpdate,g=u.lastBaseUpdate,S=u.shared.pending;if(S!==null){u.shared.pending=null;var M=S,k=M.next;M.next=null,g===null?f=k:g.next=k,g=M;var I=e.alternate;I!==null&&(I=I.updateQueue,S=I.lastBaseUpdate,S!==g&&(S===null?I.firstBaseUpdate=k:S.next=k,I.lastBaseUpdate=M))}if(f!==null){var X=u.baseState;g=0,I=k=M=null,S=f;do{var q=S.lane&-536870913,V=q!==S.lane;if(V?(Oe&q)===q:(i&q)===q){q!==0&&q===mr&&(Hc=!0),I!==null&&(I=I.next={lane:0,tag:S.tag,payload:S.payload,callback:null,next:null});e:{var oe=e,ye=S;q=t;var Ye=a;switch(ye.tag){case 1:if(oe=ye.payload,typeof oe=="function"){X=oe.call(Ye,X,q);break e}X=oe;break e;case 3:oe.flags=oe.flags&-65537|128;case 0:if(oe=ye.payload,q=typeof oe=="function"?oe.call(Ye,X,q):oe,q==null)break e;X=y({},X,q);break e;case 2:Sa=!0}}q=S.callback,q!==null&&(e.flags|=64,V&&(e.flags|=8192),V=u.callbacks,V===null?u.callbacks=[q]:V.push(q))}else V={lane:q,tag:S.tag,payload:S.payload,callback:S.callback,next:null},I===null?(k=I=V,M=X):I=I.next=V,g|=q;if(S=S.next,S===null){if(S=u.shared.pending,S===null)break;V=S,S=V.next,V.next=null,u.lastBaseUpdate=V,u.shared.pending=null}}while(!0);I===null&&(M=X),u.baseState=M,u.firstBaseUpdate=k,u.lastBaseUpdate=I,f===null&&(u.shared.lanes=0),_a|=g,e.lanes=g,e.memoizedState=X}}function Ap(e,t){if(typeof e!="function")throw Error(o(191,e));e.call(t)}function _p(e,t){var a=e.callbacks;if(a!==null)for(e.callbacks=null,e=0;ef?f:8;var g=B.T,S={};B.T=S,af(e,!1,t,a);try{var M=u(),k=B.S;if(k!==null&&k(S,M),M!==null&&typeof M=="object"&&typeof M.then=="function"){var I=mE(M,i);Hi(e,t,I,Kt(e))}else Hi(e,t,i,Kt(e))}catch(X){Hi(e,t,{then:function(){},status:"rejected",reason:X},Kt())}finally{F.p=f,g!==null&&S.types!==null&&(g.types=S.types),B.T=g}}function xE(){}function tf(e,t,a,i){if(e.tag!==5)throw Error(o(476));var u=iv(e).queue;rv(e,u,t,$,a===null?xE:function(){return ov(e),a(i)})}function iv(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:$,baseState:$,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qn,lastRenderedState:$},next:null};var a={};return t.next={memoizedState:a,baseState:a,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Qn,lastRenderedState:a},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ov(e){var t=iv(e);t.next===null&&(t=e.alternate.memoizedState),Hi(e,t.next.queue,{},Kt())}function nf(){return pt(to)}function sv(){return tt().memoizedState}function uv(){return tt().memoizedState}function SE(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var a=Kt();e=Ea(a);var i=wa(t,e,a);i!==null&&(zt(i,t,a),ji(i,t,a)),t={cache:Nc()},e.payload=t;return}t=t.return}}function EE(e,t,a){var i=Kt();a={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},Ss(e)?fv(t,a):(a=xc(e,t,a,i),a!==null&&(zt(a,e,i),dv(a,t,i)))}function cv(e,t,a){var i=Kt();Hi(e,t,a,i)}function Hi(e,t,a,i){var u={lane:i,revertLane:0,gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null};if(Ss(e))fv(t,u);else{var f=e.alternate;if(e.lanes===0&&(f===null||f.lanes===0)&&(f=t.lastRenderedReducer,f!==null))try{var g=t.lastRenderedState,S=f(g,a);if(u.hasEagerState=!0,u.eagerState=S,Gt(S,g))return ts(e,t,u,0),Qe===null&&es(),!1}catch{}finally{}if(a=xc(e,t,u,i),a!==null)return zt(a,e,i),dv(a,t,i),!0}return!1}function af(e,t,a,i){if(i={lane:2,revertLane:Lf(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},Ss(e)){if(t)throw Error(o(479))}else t=xc(e,a,i,2),t!==null&&zt(t,e,2)}function Ss(e){var t=e.alternate;return e===Ee||t!==null&&t===Ee}function fv(e,t){br=ms=!0;var a=e.pending;a===null?t.next=t:(t.next=a.next,a.next=t),e.pending=t}function dv(e,t,a){if((a&4194048)!==0){var i=t.lanes;i&=e.pendingLanes,a|=i,t.lanes=a,gm(e,a)}}var ki={readContext:pt,use:gs,useCallback:$e,useContext:$e,useEffect:$e,useImperativeHandle:$e,useLayoutEffect:$e,useInsertionEffect:$e,useMemo:$e,useReducer:$e,useRef:$e,useState:$e,useDebugValue:$e,useDeferredValue:$e,useTransition:$e,useSyncExternalStore:$e,useId:$e,useHostTransitionStatus:$e,useFormState:$e,useActionState:$e,useOptimistic:$e,useMemoCache:$e,useCacheRefresh:$e};ki.useEffectEvent=$e;var hv={readContext:pt,use:gs,useCallback:function(e,t){return Ct().memoizedState=[e,t===void 0?null:t],e},useContext:pt,useEffect:Zp,useImperativeHandle:function(e,t,a){a=a!=null?a.concat([e]):null,bs(4194308,4,ev.bind(null,t,e),a)},useLayoutEffect:function(e,t){return bs(4194308,4,e,t)},useInsertionEffect:function(e,t){bs(4,2,e,t)},useMemo:function(e,t){var a=Ct();t=t===void 0?null:t;var i=e();if(wl){ma(!0);try{e()}finally{ma(!1)}}return a.memoizedState=[i,t],i},useReducer:function(e,t,a){var i=Ct();if(a!==void 0){var u=a(t);if(wl){ma(!0);try{a(t)}finally{ma(!1)}}}else u=t;return i.memoizedState=i.baseState=u,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:u},i.queue=e,e=e.dispatch=EE.bind(null,Ee,e),[i.memoizedState,e]},useRef:function(e){var t=Ct();return e={current:e},t.memoizedState=e},useState:function(e){e=Zc(e);var t=e.queue,a=cv.bind(null,Ee,t);return t.dispatch=a,[e.memoizedState,a]},useDebugValue:Wc,useDeferredValue:function(e,t){var a=Ct();return ef(a,e,t)},useTransition:function(){var e=Zc(!1);return e=rv.bind(null,Ee,e.queue,!0,!1),Ct().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,a){var i=Ee,u=Ct();if(De){if(a===void 0)throw Error(o(407));a=a()}else{if(a=t(),Qe===null)throw Error(o(349));(Oe&127)!==0||zp(i,t,a)}u.memoizedState=a;var f={value:a,getSnapshot:t};return u.queue=f,Zp(Lp.bind(null,i,f,e),[e]),i.flags|=2048,Sr(9,{destroy:void 0},Up.bind(null,i,f,a,t),null),a},useId:function(){var e=Ct(),t=Qe.identifierPrefix;if(De){var a=En,i=Sn;a=(i&~(1<<32-qt(i)-1)).toString(32)+a,t="_"+t+"R_"+a,a=ps++,0<\/script>",f=f.removeChild(f.firstChild);break;case"select":f=typeof i.is=="string"?g.createElement("select",{is:i.is}):g.createElement("select"),i.multiple?f.multiple=!0:i.size&&(f.size=i.size);break;default:f=typeof i.is=="string"?g.createElement(u,{is:i.is}):g.createElement(u)}}f[ht]=t,f[_t]=i;e:for(g=t.child;g!==null;){if(g.tag===5||g.tag===6)f.appendChild(g.stateNode);else if(g.tag!==4&&g.tag!==27&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===t)break e;for(;g.sibling===null;){if(g.return===null||g.return===t)break e;g=g.return}g.sibling.return=g.return,g=g.sibling}t.stateNode=f;e:switch(gt(f,u,i),u){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&Xn(t)}}return Xe(t),yf(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,a),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==i&&Xn(t);else{if(typeof i!="string"&&t.stateNode===null)throw Error(o(166));if(e=ae.current,dr(t)){if(e=t.stateNode,a=t.memoizedProps,i=null,u=mt,u!==null)switch(u.tag){case 27:case 5:i=u.memoizedProps}e[ht]=t,e=!!(e.nodeValue===a||i!==null&&i.suppressHydrationWarning===!0||Dg(e.nodeValue,a)),e||ba(t,!0)}else e=Gs(e).createTextNode(i),e[ht]=t,t.stateNode=e}return Xe(t),null;case 31:if(a=t.memoizedState,e===null||e.memoizedState!==null){if(i=dr(t),a!==null){if(e===null){if(!i)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(557));e[ht]=t}else vl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Xe(t),e=!1}else a=Ac(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),e=!0;if(!e)return t.flags&256?(It(t),t):(It(t),null);if((t.flags&128)!==0)throw Error(o(558))}return Xe(t),null;case 13:if(i=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(u=dr(t),i!==null&&i.dehydrated!==null){if(e===null){if(!u)throw Error(o(318));if(u=t.memoizedState,u=u!==null?u.dehydrated:null,!u)throw Error(o(317));u[ht]=t}else vl(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Xe(t),u=!1}else u=Ac(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=u),u=!0;if(!u)return t.flags&256?(It(t),t):(It(t),null)}return It(t),(t.flags&128)!==0?(t.lanes=a,t):(a=i!==null,e=e!==null&&e.memoizedState!==null,a&&(i=t.child,u=null,i.alternate!==null&&i.alternate.memoizedState!==null&&i.alternate.memoizedState.cachePool!==null&&(u=i.alternate.memoizedState.cachePool.pool),f=null,i.memoizedState!==null&&i.memoizedState.cachePool!==null&&(f=i.memoizedState.cachePool.pool),f!==u&&(i.flags|=2048)),a!==e&&a&&(t.child.flags|=8192),Rs(t,t.updateQueue),Xe(t),null);case 4:return ue(),e===null&&qf(t.stateNode.containerInfo),Xe(t),null;case 10:return In(t.type),Xe(t),null;case 19:if(D(et),i=t.memoizedState,i===null)return Xe(t),null;if(u=(t.flags&128)!==0,f=i.rendering,f===null)if(u)Gi(i,!1);else{if(Je!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(f=hs(e),f!==null){for(t.flags|=128,Gi(i,!1),e=f.updateQueue,t.updateQueue=e,Rs(t,e),t.subtreeFlags=0,e=a,a=t.child;a!==null;)cp(a,e),a=a.sibling;return Q(et,et.current&1|2),De&&Vn(t,i.treeForkCount),t.child}e=e.sibling}i.tail!==null&&Ht()>Ns&&(t.flags|=128,u=!0,Gi(i,!1),t.lanes=4194304)}else{if(!u)if(e=hs(f),e!==null){if(t.flags|=128,u=!0,e=e.updateQueue,t.updateQueue=e,Rs(t,e),Gi(i,!0),i.tail===null&&i.tailMode==="hidden"&&!f.alternate&&!De)return Xe(t),null}else 2*Ht()-i.renderingStartTime>Ns&&a!==536870912&&(t.flags|=128,u=!0,Gi(i,!1),t.lanes=4194304);i.isBackwards?(f.sibling=t.child,t.child=f):(e=i.last,e!==null?e.sibling=f:t.child=f,i.last=f)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=Ht(),e.sibling=null,a=et.current,Q(et,u?a&1|2:a&1),De&&Vn(t,i.treeForkCount),e):(Xe(t),null);case 22:case 23:return It(t),qc(),i=t.memoizedState!==null,e!==null?e.memoizedState!==null!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?(a&536870912)!==0&&(t.flags&128)===0&&(Xe(t),t.subtreeFlags&6&&(t.flags|=8192)):Xe(t),a=t.updateQueue,a!==null&&Rs(t,a.retryQueue),a=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(a=e.memoizedState.cachePool.pool),i=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(i=t.memoizedState.cachePool.pool),i!==a&&(t.flags|=2048),e!==null&&D(bl),null;case 24:return a=null,e!==null&&(a=e.memoizedState.cache),t.memoizedState.cache!==a&&(t.flags|=2048),In(nt),Xe(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function AE(e,t){switch(Tc(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return In(nt),ue(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ze(t),null;case 31:if(t.memoizedState!==null){if(It(t),t.alternate===null)throw Error(o(340));vl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(It(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));vl()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return D(et),null;case 4:return ue(),null;case 10:return In(t.type),null;case 22:case 23:return It(t),qc(),e!==null&&D(bl),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return In(nt),null;case 25:return null;default:return null}}function Bv(e,t){switch(Tc(t),t.tag){case 3:In(nt),ue();break;case 26:case 27:case 5:ze(t);break;case 4:ue();break;case 31:t.memoizedState!==null&&It(t);break;case 13:It(t);break;case 19:D(et);break;case 10:In(t.type);break;case 22:case 23:It(t),qc(),e!==null&&D(bl);break;case 24:In(nt)}}function Vi(e,t){try{var a=t.updateQueue,i=a!==null?a.lastEffect:null;if(i!==null){var u=i.next;a=u;do{if((a.tag&e)===e){i=void 0;var f=a.create,g=a.inst;i=f(),g.destroy=i}a=a.next}while(a!==u)}}catch(S){Ge(t,t.return,S)}}function Ra(e,t,a){try{var i=t.updateQueue,u=i!==null?i.lastEffect:null;if(u!==null){var f=u.next;i=f;do{if((i.tag&e)===e){var g=i.inst,S=g.destroy;if(S!==void 0){g.destroy=void 0,u=t;var M=a,k=S;try{k()}catch(I){Ge(u,M,I)}}}i=i.next}while(i!==f)}}catch(I){Ge(t,t.return,I)}}function Hv(e){var t=e.updateQueue;if(t!==null){var a=e.stateNode;try{_p(t,a)}catch(i){Ge(e,e.return,i)}}}function kv(e,t,a){a.props=Cl(e.type,e.memoizedProps),a.state=e.memoizedState;try{a.componentWillUnmount()}catch(i){Ge(e,t,i)}}function Pi(e,t){try{var a=e.ref;if(a!==null){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;case 30:i=e.stateNode;break;default:i=e.stateNode}typeof a=="function"?e.refCleanup=a(i):a.current=i}}catch(u){Ge(e,t,u)}}function wn(e,t){var a=e.ref,i=e.refCleanup;if(a!==null)if(typeof i=="function")try{i()}catch(u){Ge(e,t,u)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof a=="function")try{a(null)}catch(u){Ge(e,t,u)}else a.current=null}function qv(e){var t=e.type,a=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":a.autoFocus&&i.focus();break e;case"img":a.src?i.src=a.src:a.srcSet&&(i.srcset=a.srcSet)}}catch(u){Ge(e,e.return,u)}}function bf(e,t,a){try{var i=e.stateNode;FE(i,e.type,a,t),i[_t]=t}catch(u){Ge(e,e.return,u)}}function Gv(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ja(e.type)||e.tag===4}function xf(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Gv(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ja(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Sf(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?(a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a).insertBefore(e,t):(t=a.nodeType===9?a.body:a.nodeName==="HTML"?a.ownerDocument.body:a,t.appendChild(e),a=a._reactRootContainer,a!=null||t.onclick!==null||(t.onclick=kn));else if(i!==4&&(i===27&&ja(e.type)&&(a=e.stateNode,t=null),e=e.child,e!==null))for(Sf(e,t,a),e=e.sibling;e!==null;)Sf(e,t,a),e=e.sibling}function As(e,t,a){var i=e.tag;if(i===5||i===6)e=e.stateNode,t?a.insertBefore(e,t):a.appendChild(e);else if(i!==4&&(i===27&&ja(e.type)&&(a=e.stateNode),e=e.child,e!==null))for(As(e,t,a),e=e.sibling;e!==null;)As(e,t,a),e=e.sibling}function Vv(e){var t=e.stateNode,a=e.memoizedProps;try{for(var i=e.type,u=t.attributes;u.length;)t.removeAttributeNode(u[0]);gt(t,i,a),t[ht]=e,t[_t]=a}catch(f){Ge(e,e.return,f)}}var Fn=!1,rt=!1,Ef=!1,Pv=typeof WeakSet=="function"?WeakSet:Set,ft=null;function _E(e,t){if(e=e.containerInfo,Pf=Xs,e=tp(e),mc(e)){if("selectionStart"in e)var a={start:e.selectionStart,end:e.selectionEnd};else e:{a=(a=e.ownerDocument)&&a.defaultView||window;var i=a.getSelection&&a.getSelection();if(i&&i.rangeCount!==0){a=i.anchorNode;var u=i.anchorOffset,f=i.focusNode;i=i.focusOffset;try{a.nodeType,f.nodeType}catch{a=null;break e}var g=0,S=-1,M=-1,k=0,I=0,X=e,q=null;t:for(;;){for(var V;X!==a||u!==0&&X.nodeType!==3||(S=g+u),X!==f||i!==0&&X.nodeType!==3||(M=g+i),X.nodeType===3&&(g+=X.nodeValue.length),(V=X.firstChild)!==null;)q=X,X=V;for(;;){if(X===e)break t;if(q===a&&++k===u&&(S=g),q===f&&++I===i&&(M=g),(V=X.nextSibling)!==null)break;X=q,q=X.parentNode}X=V}a=S===-1||M===-1?null:{start:S,end:M}}else a=null}a=a||{start:0,end:0}}else a=null;for(If={focusedElem:e,selectionRange:a},Xs=!1,ft=t;ft!==null;)if(t=ft,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,ft=e;else for(;ft!==null;){switch(t=ft,f=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(a=0;a title"))),gt(f,i,a),f[ht]=e,ct(f),i=f;break e;case"link":var g=Fg("link","href",u).get(i+(a.href||""));if(g){for(var S=0;SYe&&(g=Ye,Ye=ye,ye=g);var L=Wm(S,ye),U=Wm(S,Ye);if(L&&U&&(V.rangeCount!==1||V.anchorNode!==L.node||V.anchorOffset!==L.offset||V.focusNode!==U.node||V.focusOffset!==U.offset)){var H=X.createRange();H.setStart(L.node,L.offset),V.removeAllRanges(),ye>Ye?(V.addRange(H),V.extend(U.node,U.offset)):(H.setEnd(U.node,U.offset),V.addRange(H))}}}}for(X=[],V=S;V=V.parentNode;)V.nodeType===1&&X.push({element:V,left:V.scrollLeft,top:V.scrollTop});for(typeof S.focus=="function"&&S.focus(),S=0;Sa?32:a,B.T=null,a=Mf,Mf=null;var f=Oa,g=ea;if(ot=0,Rr=Oa=null,ea=0,(He&6)!==0)throw Error(o(331));var S=He;if(He|=4,eg(f.current),$v(f,f.current,g,a),He=S,Fi(0,!1),kt&&typeof kt.onPostCommitFiberRoot=="function")try{kt.onPostCommitFiberRoot(hi,f)}catch{}return!0}finally{F.p=u,B.T=i,yg(e,t)}}function xg(e,t,a){t=en(a,t),t=sf(e.stateNode,t,2),e=wa(e,t,2),e!==null&&(pi(e,2),Cn(e))}function Ge(e,t,a){if(e.tag===3)xg(e,e,a);else for(;t!==null;){if(t.tag===3){xg(t,e,a);break}else if(t.tag===1){var i=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof i.componentDidCatch=="function"&&(Ma===null||!Ma.has(i))){e=en(a,e),a=Sv(2),i=wa(t,a,2),i!==null&&(Ev(a,i,t,e),pi(i,2),Cn(i));break}}t=t.return}}function jf(e,t,a){var i=e.pingCache;if(i===null){i=e.pingCache=new NE;var u=new Set;i.set(t,u)}else u=i.get(t),u===void 0&&(u=new Set,i.set(t,u));u.has(a)||(Tf=!0,u.add(a),e=LE.bind(null,e,t,a),t.then(e,e))}function LE(e,t,a){var i=e.pingCache;i!==null&&i.delete(t),e.pingedLanes|=e.suspendedLanes&a,e.warmLanes&=~a,Qe===e&&(Oe&a)===a&&(Je===4||Je===3&&(Oe&62914560)===Oe&&300>Ht()-Os?(He&2)===0&&Ar(e,0):Rf|=a,Tr===Oe&&(Tr=0)),Cn(e)}function Sg(e,t){t===0&&(t=pm()),e=ml(e,t),e!==null&&(pi(e,t),Cn(e))}function BE(e){var t=e.memoizedState,a=0;t!==null&&(a=t.retryLane),Sg(e,a)}function HE(e,t){var a=0;switch(e.tag){case 31:case 13:var i=e.stateNode,u=e.memoizedState;u!==null&&(a=u.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(o(314))}i!==null&&i.delete(t),Sg(e,a)}function kE(e,t){return Yu(e,t)}var Bs=null,Mr=null,zf=!1,Hs=!1,Uf=!1,Da=0;function Cn(e){e!==Mr&&e.next===null&&(Mr===null?Bs=Mr=e:Mr=Mr.next=e),Hs=!0,zf||(zf=!0,GE())}function Fi(e,t){if(!Uf&&Hs){Uf=!0;do for(var a=!1,i=Bs;i!==null;){if(e!==0){var u=i.pendingLanes;if(u===0)var f=0;else{var g=i.suspendedLanes,S=i.pingedLanes;f=(1<<31-qt(42|e)+1)-1,f&=u&~(g&~S),f=f&201326741?f&201326741|1:f?f|2:0}f!==0&&(a=!0,Tg(i,f))}else f=Oe,f=Vo(i,i===Qe?f:0,i.cancelPendingCommit!==null||i.timeoutHandle!==-1),(f&3)===0||mi(i,f)||(a=!0,Tg(i,f));i=i.next}while(a);Uf=!1}}function qE(){Eg()}function Eg(){Hs=zf=!1;var e=0;Da!==0&&$E()&&(e=Da);for(var t=Ht(),a=null,i=Bs;i!==null;){var u=i.next,f=wg(i,t);f===0?(i.next=null,a===null?Bs=u:a.next=u,u===null&&(Mr=a)):(a=i,(e!==0||(f&3)!==0)&&(Hs=!0)),i=u}ot!==0&&ot!==5||Fi(e),Da!==0&&(Da=0)}function wg(e,t){for(var a=e.suspendedLanes,i=e.pingedLanes,u=e.expirationTimes,f=e.pendingLanes&-62914561;0S)break;var I=M.transferSize,X=M.initiatorType;I&&jg(X)&&(M=M.responseEnd,g+=I*(M"u"?null:document;function Yg(e,t,a){var i=Or;if(i&&typeof t=="string"&&t){var u=Jt(t);u='link[rel="'+e+'"][href="'+u+'"]',typeof a=="string"&&(u+='[crossorigin="'+a+'"]'),Ig.has(u)||(Ig.add(u),e={rel:e,crossOrigin:a,href:t},i.querySelector(u)===null&&(t=i.createElement("link"),gt(t,"link",e),ct(t),i.head.appendChild(t)))}}function iw(e){ta.D(e),Yg("dns-prefetch",e,null)}function ow(e,t){ta.C(e,t),Yg("preconnect",e,t)}function sw(e,t,a){ta.L(e,t,a);var i=Or;if(i&&e&&t){var u='link[rel="preload"][as="'+Jt(t)+'"]';t==="image"&&a&&a.imageSrcSet?(u+='[imagesrcset="'+Jt(a.imageSrcSet)+'"]',typeof a.imageSizes=="string"&&(u+='[imagesizes="'+Jt(a.imageSizes)+'"]')):u+='[href="'+Jt(e)+'"]';var f=u;switch(t){case"style":f=Nr(e);break;case"script":f=Dr(e)}on.has(f)||(e=y({rel:"preload",href:t==="image"&&a&&a.imageSrcSet?void 0:e,as:t},a),on.set(f,e),i.querySelector(u)!==null||t==="style"&&i.querySelector(Wi(f))||t==="script"&&i.querySelector(eo(f))||(t=i.createElement("link"),gt(t,"link",e),ct(t),i.head.appendChild(t)))}}function uw(e,t){ta.m(e,t);var a=Or;if(a&&e){var i=t&&typeof t.as=="string"?t.as:"script",u='link[rel="modulepreload"][as="'+Jt(i)+'"][href="'+Jt(e)+'"]',f=u;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":f=Dr(e)}if(!on.has(f)&&(e=y({rel:"modulepreload",href:e},t),on.set(f,e),a.querySelector(u)===null)){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(a.querySelector(eo(f)))return}i=a.createElement("link"),gt(i,"link",e),ct(i),a.head.appendChild(i)}}}function cw(e,t,a){ta.S(e,t,a);var i=Or;if(i&&e){var u=Wl(i).hoistableStyles,f=Nr(e);t=t||"default";var g=u.get(f);if(!g){var S={loading:0,preload:null};if(g=i.querySelector(Wi(f)))S.loading=5;else{e=y({rel:"stylesheet",href:e,"data-precedence":t},a),(a=on.get(f))&&$f(e,a);var M=g=i.createElement("link");ct(M),gt(M,"link",e),M._p=new Promise(function(k,I){M.onload=k,M.onerror=I}),M.addEventListener("load",function(){S.loading|=1}),M.addEventListener("error",function(){S.loading|=2}),S.loading|=4,Ps(g,t,i)}g={type:"stylesheet",instance:g,count:1,state:S},u.set(f,g)}}}function fw(e,t){ta.X(e,t);var a=Or;if(a&&e){var i=Wl(a).hoistableScripts,u=Dr(e),f=i.get(u);f||(f=a.querySelector(eo(u)),f||(e=y({src:e,async:!0},t),(t=on.get(u))&&Jf(e,t),f=a.createElement("script"),ct(f),gt(f,"link",e),a.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},i.set(u,f))}}function dw(e,t){ta.M(e,t);var a=Or;if(a&&e){var i=Wl(a).hoistableScripts,u=Dr(e),f=i.get(u);f||(f=a.querySelector(eo(u)),f||(e=y({src:e,async:!0,type:"module"},t),(t=on.get(u))&&Jf(e,t),f=a.createElement("script"),ct(f),gt(f,"link",e),a.head.appendChild(f)),f={type:"script",instance:f,count:1,state:null},i.set(u,f))}}function Qg(e,t,a,i){var u=(u=ae.current)?Vs(u):null;if(!u)throw Error(o(446));switch(e){case"meta":case"title":return null;case"style":return typeof a.precedence=="string"&&typeof a.href=="string"?(t=Nr(a.href),a=Wl(u).hoistableStyles,i=a.get(t),i||(i={type:"style",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if(a.rel==="stylesheet"&&typeof a.href=="string"&&typeof a.precedence=="string"){e=Nr(a.href);var f=Wl(u).hoistableStyles,g=f.get(e);if(g||(u=u.ownerDocument||u,g={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},f.set(e,g),(f=u.querySelector(Wi(e)))&&!f._p&&(g.instance=f,g.state.loading=5),on.has(e)||(a={rel:"preload",as:"style",href:a.href,crossOrigin:a.crossOrigin,integrity:a.integrity,media:a.media,hrefLang:a.hrefLang,referrerPolicy:a.referrerPolicy},on.set(e,a),f||hw(u,e,a,g.state))),t&&i===null)throw Error(o(528,""));return g}if(t&&i!==null)throw Error(o(529,""));return null;case"script":return t=a.async,a=a.src,typeof a=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Dr(a),a=Wl(u).hoistableScripts,i=a.get(t),i||(i={type:"script",instance:null,count:0,state:null},a.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Nr(e){return'href="'+Jt(e)+'"'}function Wi(e){return'link[rel="stylesheet"]['+e+"]"}function Kg(e){return y({},e,{"data-precedence":e.precedence,precedence:null})}function hw(e,t,a,i){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?i.loading=1:(t=e.createElement("link"),i.preload=t,t.addEventListener("load",function(){return i.loading|=1}),t.addEventListener("error",function(){return i.loading|=2}),gt(t,"link",a),ct(t),e.head.appendChild(t))}function Dr(e){return'[src="'+Jt(e)+'"]'}function eo(e){return"script[async]"+e}function Xg(e,t,a){if(t.count++,t.instance===null)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+Jt(a.href)+'"]');if(i)return t.instance=i,ct(i),i;var u=y({},a,{"data-href":a.href,"data-precedence":a.precedence,href:null,precedence:null});return i=(e.ownerDocument||e).createElement("style"),ct(i),gt(i,"style",u),Ps(i,a.precedence,e),t.instance=i;case"stylesheet":u=Nr(a.href);var f=e.querySelector(Wi(u));if(f)return t.state.loading|=4,t.instance=f,ct(f),f;i=Kg(a),(u=on.get(u))&&$f(i,u),f=(e.ownerDocument||e).createElement("link"),ct(f);var g=f;return g._p=new Promise(function(S,M){g.onload=S,g.onerror=M}),gt(f,"link",i),t.state.loading|=4,Ps(f,a.precedence,e),t.instance=f;case"script":return f=Dr(a.src),(u=e.querySelector(eo(f)))?(t.instance=u,ct(u),u):(i=a,(u=on.get(f))&&(i=y({},a),Jf(i,u)),e=e.ownerDocument||e,u=e.createElement("script"),ct(u),gt(u,"link",i),e.head.appendChild(u),t.instance=u);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(i=t.instance,t.state.loading|=4,Ps(i,a.precedence,e));return t.instance}function Ps(e,t,a){for(var i=a.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),u=i.length?i[i.length-1]:null,f=u,g=0;g title"):null)}function mw(e,t,a){if(a===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function $g(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function pw(e,t,a,i){if(a.type==="stylesheet"&&(typeof i.media!="string"||matchMedia(i.media).matches!==!1)&&(a.state.loading&4)===0){if(a.instance===null){var u=Nr(i.href),f=t.querySelector(Wi(u));if(f){t=f._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Ys.bind(e),t.then(e,e)),a.state.loading|=4,a.instance=f,ct(f);return}f=t.ownerDocument||t,i=Kg(i),(u=on.get(u))&&$f(i,u),f=f.createElement("link"),ct(f);var g=f;g._p=new Promise(function(S,M){g.onload=S,g.onerror=M}),gt(f,"link",i),a.instance=f}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(a,t),(t=a.state.preload)&&(a.state.loading&3)===0&&(e.count++,a=Ys.bind(e),t.addEventListener("load",a),t.addEventListener("error",a))}}var Wf=0;function vw(e,t){return e.stylesheets&&e.count===0&&Ks(e,e.stylesheets),0Wf?50:800)+t);return e.unsuspend=a,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(u)}}:null}function Ys(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ks(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Qs=null;function Ks(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Qs=new Map,t.forEach(gw,e),Qs=null,Ys.call(e))}function gw(e,t){if(!(t.state.loading&4)){var a=Qs.get(e);if(a)var i=a.get(null);else{a=new Map,Qs.set(e,a);for(var u=e.querySelectorAll("link[data-precedence],style[data-precedence]"),f=0;f"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(l){console.error(l)}}return n(),cd.exports=Gw(),cd.exports}var Pw=Vw(),Ao=Yb();const Iw=Ib(Ao);/** - * @remix-run/router v1.23.2 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function mo(){return mo=Object.assign?Object.assign.bind():function(n){for(var l=1;l"u")throw new Error(l)}function bh(n,l){if(!n){typeof console<"u"&&console.warn(l);try{throw new Error(l)}catch{}}}function Qw(){return Math.random().toString(36).substr(2,8)}function wy(n,l){return{usr:n.state,key:n.key,idx:l}}function jd(n,l,r,o){return r===void 0&&(r=null),mo({pathname:typeof n=="string"?n:n.pathname,search:"",hash:""},typeof l=="string"?ri(l):l,{state:r,key:l&&l.key||o||Qw()})}function pu(n){let{pathname:l="/",search:r="",hash:o=""}=n;return r&&r!=="?"&&(l+=r.charAt(0)==="?"?r:"?"+r),o&&o!=="#"&&(l+=o.charAt(0)==="#"?o:"#"+o),l}function ri(n){let l={};if(n){let r=n.indexOf("#");r>=0&&(l.hash=n.substr(r),n=n.substr(0,r));let o=n.indexOf("?");o>=0&&(l.search=n.substr(o),n=n.substr(0,o)),n&&(l.pathname=n)}return l}function Kw(n,l,r,o){o===void 0&&(o={});let{window:s=document.defaultView,v5Compat:c=!1}=o,d=s.history,h=Ja.Pop,v=null,p=b();p==null&&(p=0,d.replaceState(mo({},d.state,{idx:p}),""));function b(){return(d.state||{idx:null}).idx}function y(){h=Ja.Pop;let C=b(),A=C==null?null:C-p;p=C,v&&v({action:h,location:w.location,delta:A})}function E(C,A){h=Ja.Push;let N=jd(w.location,C,A);p=b()+1;let j=wy(N,p),z=w.createHref(N);try{d.pushState(j,"",z)}catch(P){if(P instanceof DOMException&&P.name==="DataCloneError")throw P;s.location.assign(z)}c&&v&&v({action:h,location:w.location,delta:1})}function T(C,A){h=Ja.Replace;let N=jd(w.location,C,A);p=b();let j=wy(N,p),z=w.createHref(N);d.replaceState(j,"",z),c&&v&&v({action:h,location:w.location,delta:0})}function R(C){let A=s.location.origin!=="null"?s.location.origin:s.location.href,N=typeof C=="string"?C:pu(C);return N=N.replace(/ $/,"%20"),it(A,"No window.location.(origin|href) available to create URL for href: "+N),new URL(N,A)}let w={get action(){return h},get location(){return n(s,d)},listen(C){if(v)throw new Error("A history only accepts one active listener");return s.addEventListener(Ey,y),v=C,()=>{s.removeEventListener(Ey,y),v=null}},createHref(C){return l(s,C)},createURL:R,encodeLocation(C){let A=R(C);return{pathname:A.pathname,search:A.search,hash:A.hash}},push:E,replace:T,go(C){return d.go(C)}};return w}var Cy;(function(n){n.data="data",n.deferred="deferred",n.redirect="redirect",n.error="error"})(Cy||(Cy={}));function Xw(n,l,r){return r===void 0&&(r="/"),Fw(n,l,r)}function Fw(n,l,r,o){let s=typeof l=="string"?ri(l):l,c=xh(s.pathname||"/",r);if(c==null)return null;let d=Qb(n);Zw(d);let h=null;for(let v=0;h==null&&v{let v={relativePath:h===void 0?c.path||"":h,caseSensitive:c.caseSensitive===!0,childrenIndex:d,route:c};v.relativePath.startsWith("/")&&(it(v.relativePath.startsWith(o),'Absolute route path "'+v.relativePath+'" nested under path '+('"'+o+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),v.relativePath=v.relativePath.slice(o.length));let p=Wa([o,v.relativePath]),b=r.concat(v);c.children&&c.children.length>0&&(it(c.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+p+'".')),Qb(c.children,l,b,p)),!(c.path==null&&!c.index)&&l.push({path:p,score:aC(p,c.index),routesMeta:b})};return n.forEach((c,d)=>{var h;if(c.path===""||!((h=c.path)!=null&&h.includes("?")))s(c,d);else for(let v of Kb(c.path))s(c,d,v)}),l}function Kb(n){let l=n.split("/");if(l.length===0)return[];let[r,...o]=l,s=r.endsWith("?"),c=r.replace(/\?$/,"");if(o.length===0)return s?[c,""]:[c];let d=Kb(o.join("/")),h=[];return h.push(...d.map(v=>v===""?c:[c,v].join("/"))),s&&h.push(...d),h.map(v=>n.startsWith("/")&&v===""?"/":v)}function Zw(n){n.sort((l,r)=>l.score!==r.score?r.score-l.score:lC(l.routesMeta.map(o=>o.childrenIndex),r.routesMeta.map(o=>o.childrenIndex)))}const $w=/^:[\w-]+$/,Jw=3,Ww=2,eC=1,tC=10,nC=-2,Ty=n=>n==="*";function aC(n,l){let r=n.split("/"),o=r.length;return r.some(Ty)&&(o+=nC),l&&(o+=Ww),r.filter(s=>!Ty(s)).reduce((s,c)=>s+($w.test(c)?Jw:c===""?eC:tC),o)}function lC(n,l){return n.length===l.length&&n.slice(0,-1).every((o,s)=>o===l[s])?n[n.length-1]-l[l.length-1]:0}function rC(n,l,r){let{routesMeta:o}=n,s={},c="/",d=[];for(let h=0;h{let{paramName:E,isOptional:T}=b;if(E==="*"){let w=h[y]||"";d=c.slice(0,c.length-w.length).replace(/(.)\/+$/,"$1")}const R=h[y];return T&&!R?p[E]=void 0:p[E]=(R||"").replace(/%2F/g,"/"),p},{}),pathname:c,pathnameBase:d,pattern:n}}function oC(n,l,r){l===void 0&&(l=!1),r===void 0&&(r=!0),bh(n==="*"||!n.endsWith("*")||n.endsWith("/*"),'Route path "'+n+'" will be treated as if it were '+('"'+n.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+n.replace(/\*$/,"/*")+'".'));let o=[],s="^"+n.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(d,h,v)=>(o.push({paramName:h,isOptional:v!=null}),v?"/?([^\\/]+)?":"/([^\\/]+)"));return n.endsWith("*")?(o.push({paramName:"*"}),s+=n==="*"||n==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?s+="\\/*$":n!==""&&n!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,l?void 0:"i"),o]}function sC(n){try{return n.split("/").map(l=>decodeURIComponent(l).replace(/\//g,"%2F")).join("/")}catch(l){return bh(!1,'The URL path "'+n+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+l+").")),n}}function xh(n,l){if(l==="/")return n;if(!n.toLowerCase().startsWith(l.toLowerCase()))return null;let r=l.endsWith("/")?l.length-1:l.length,o=n.charAt(r);return o&&o!=="/"?null:n.slice(r)||"/"}const uC=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,cC=n=>uC.test(n);function fC(n,l){l===void 0&&(l="/");let{pathname:r,search:o="",hash:s=""}=typeof n=="string"?ri(n):n,c;if(r)if(cC(r))c=r;else{if(r.includes("//")){let d=r;r=r.replace(/\/\/+/g,"/"),bh(!1,"Pathnames cannot have embedded double slashes - normalizing "+(d+" -> "+r))}r.startsWith("/")?c=Ry(r.substring(1),"/"):c=Ry(r,l)}else c=l;return{pathname:c,search:mC(o),hash:pC(s)}}function Ry(n,l){let r=l.replace(/\/+$/,"").split("/");return n.split("/").forEach(s=>{s===".."?r.length>1&&r.pop():s!=="."&&r.push(s)}),r.length>1?r.join("/"):"/"}function md(n,l,r,o){return"Cannot include a '"+n+"' character in a manually specified "+("`to."+l+"` field ["+JSON.stringify(o)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function dC(n){return n.filter((l,r)=>r===0||l.route.path&&l.route.path.length>0)}function Xb(n,l){let r=dC(n);return l?r.map((o,s)=>s===r.length-1?o.pathname:o.pathnameBase):r.map(o=>o.pathnameBase)}function Fb(n,l,r,o){o===void 0&&(o=!1);let s;typeof n=="string"?s=ri(n):(s=mo({},n),it(!s.pathname||!s.pathname.includes("?"),md("?","pathname","search",s)),it(!s.pathname||!s.pathname.includes("#"),md("#","pathname","hash",s)),it(!s.search||!s.search.includes("#"),md("#","search","hash",s)));let c=n===""||s.pathname==="",d=c?"/":s.pathname,h;if(d==null)h=r;else{let y=l.length-1;if(!o&&d.startsWith("..")){let E=d.split("/");for(;E[0]==="..";)E.shift(),y-=1;s.pathname=E.join("/")}h=y>=0?l[y]:"/"}let v=fC(s,h),p=d&&d!=="/"&&d.endsWith("/"),b=(c||d===".")&&r.endsWith("/");return!v.pathname.endsWith("/")&&(p||b)&&(v.pathname+="/"),v}const Wa=n=>n.join("/").replace(/\/\/+/g,"/"),hC=n=>n.replace(/\/+$/,"").replace(/^\/*/,"/"),mC=n=>!n||n==="?"?"":n.startsWith("?")?n:"?"+n,pC=n=>!n||n==="#"?"":n.startsWith("#")?n:"#"+n;function vC(n){return n!=null&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.internal=="boolean"&&"data"in n}const Zb=["post","put","patch","delete"];new Set(Zb);const gC=["get",...Zb];new Set(gC);/** - * React Router v6.30.3 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function po(){return po=Object.assign?Object.assign.bind():function(n){for(var l=1;l{h.current=!0}),m.useCallback(function(p,b){if(b===void 0&&(b={}),!h.current)return;if(typeof p=="number"){o.go(p);return}let y=Fb(p,JSON.parse(d),c,b.relative==="path");n==null&&l!=="/"&&(y.pathname=y.pathname==="/"?l:Wa([l,y.pathname])),(b.replace?o.replace:o.push)(y,b.state,b)},[l,o,d,c,n])}const SC=m.createContext(null);function EC(n){let l=m.useContext(fa).outlet;return l&&m.createElement(SC.Provider,{value:n},l)}function wC(){let{matches:n}=m.useContext(fa),l=n[n.length-1];return l?l.params:{}}function Wb(n,l){let{relative:r}=l===void 0?{}:l,{future:o}=m.useContext(Yl),{matches:s}=m.useContext(fa),{pathname:c}=Ql(),d=JSON.stringify(Xb(s,o.v7_relativeSplatPath));return m.useMemo(()=>Fb(n,JSON.parse(d),c,r==="path"),[n,d,c,r])}function CC(n,l){return TC(n,l)}function TC(n,l,r,o){_o()||it(!1);let{navigator:s}=m.useContext(Yl),{matches:c}=m.useContext(fa),d=c[c.length-1],h=d?d.params:{};d&&d.pathname;let v=d?d.pathnameBase:"/";d&&d.route;let p=Ql(),b;if(l){var y;let C=typeof l=="string"?ri(l):l;v==="/"||(y=C.pathname)!=null&&y.startsWith(v)||it(!1),b=C}else b=p;let E=b.pathname||"/",T=E;if(v!=="/"){let C=v.replace(/^\//,"").split("/");T="/"+E.replace(/^\//,"").split("/").slice(C.length).join("/")}let R=Xw(n,{pathname:T}),w=OC(R&&R.map(C=>Object.assign({},C,{params:Object.assign({},h,C.params),pathname:Wa([v,s.encodeLocation?s.encodeLocation(C.pathname).pathname:C.pathname]),pathnameBase:C.pathnameBase==="/"?v:Wa([v,s.encodeLocation?s.encodeLocation(C.pathnameBase).pathname:C.pathnameBase])})),c,r,o);return l&&w?m.createElement(Au.Provider,{value:{location:po({pathname:"/",search:"",hash:"",state:null,key:"default"},b),navigationType:Ja.Pop}},w):w}function RC(){let n=zC(),l=vC(n)?n.status+" "+n.statusText:n instanceof Error?n.message:JSON.stringify(n),r=n instanceof Error?n.stack:null,s={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return m.createElement(m.Fragment,null,m.createElement("h2",null,"Unexpected Application Error!"),m.createElement("h3",{style:{fontStyle:"italic"}},l),r?m.createElement("pre",{style:s},r):null,null)}const AC=m.createElement(RC,null);class _C extends m.Component{constructor(l){super(l),this.state={location:l.location,revalidation:l.revalidation,error:l.error}}static getDerivedStateFromError(l){return{error:l}}static getDerivedStateFromProps(l,r){return r.location!==l.location||r.revalidation!=="idle"&&l.revalidation==="idle"?{error:l.error,location:l.location,revalidation:l.revalidation}:{error:l.error!==void 0?l.error:r.error,location:r.location,revalidation:l.revalidation||r.revalidation}}componentDidCatch(l,r){console.error("React Router caught the following error during render",l,r)}render(){return this.state.error!==void 0?m.createElement(fa.Provider,{value:this.props.routeContext},m.createElement($b.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function MC(n){let{routeContext:l,match:r,children:o}=n,s=m.useContext(Sh);return s&&s.static&&s.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=r.route.id),m.createElement(fa.Provider,{value:l},o)}function OC(n,l,r,o){var s;if(l===void 0&&(l=[]),r===void 0&&(r=null),o===void 0&&(o=null),n==null){var c;if(!r)return null;if(r.errors)n=r.matches;else if((c=o)!=null&&c.v7_partialHydration&&l.length===0&&!r.initialized&&r.matches.length>0)n=r.matches;else return null}let d=n,h=(s=r)==null?void 0:s.errors;if(h!=null){let b=d.findIndex(y=>y.route.id&&(h==null?void 0:h[y.route.id])!==void 0);b>=0||it(!1),d=d.slice(0,Math.min(d.length,b+1))}let v=!1,p=-1;if(r&&o&&o.v7_partialHydration)for(let b=0;b=0?d=d.slice(0,p+1):d=[d[0]];break}}}return d.reduceRight((b,y,E)=>{let T,R=!1,w=null,C=null;r&&(T=h&&y.route.id?h[y.route.id]:void 0,w=y.route.errorElement||AC,v&&(p<0&&E===0?(LC("route-fallback"),R=!0,C=null):p===E&&(R=!0,C=y.route.hydrateFallbackElement||null)));let A=l.concat(d.slice(0,E+1)),N=()=>{let j;return T?j=w:R?j=C:y.route.Component?j=m.createElement(y.route.Component,null):y.route.element?j=y.route.element:j=b,m.createElement(MC,{match:y,routeContext:{outlet:b,matches:A,isDataRoute:r!=null},children:j})};return r&&(y.route.ErrorBoundary||y.route.errorElement||E===0)?m.createElement(_C,{location:r.location,revalidation:r.revalidation,component:w,error:T,children:N(),routeContext:{outlet:null,matches:A,isDataRoute:!0}}):N()},null)}var e0=(function(n){return n.UseBlocker="useBlocker",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n})(e0||{}),t0=(function(n){return n.UseBlocker="useBlocker",n.UseLoaderData="useLoaderData",n.UseActionData="useActionData",n.UseRouteError="useRouteError",n.UseNavigation="useNavigation",n.UseRouteLoaderData="useRouteLoaderData",n.UseMatches="useMatches",n.UseRevalidator="useRevalidator",n.UseNavigateStable="useNavigate",n.UseRouteId="useRouteId",n})(t0||{});function NC(n){let l=m.useContext(Sh);return l||it(!1),l}function DC(n){let l=m.useContext(yC);return l||it(!1),l}function jC(n){let l=m.useContext(fa);return l||it(!1),l}function n0(n){let l=jC(),r=l.matches[l.matches.length-1];return r.route.id||it(!1),r.route.id}function zC(){var n;let l=m.useContext($b),r=DC(),o=n0();return l!==void 0?l:(n=r.errors)==null?void 0:n[o]}function UC(){let{router:n}=NC(e0.UseNavigateStable),l=n0(t0.UseNavigateStable),r=m.useRef(!1);return Jb(()=>{r.current=!0}),m.useCallback(function(s,c){c===void 0&&(c={}),r.current&&(typeof s=="number"?n.navigate(s):n.navigate(s,po({fromRouteId:l},c)))},[n,l])}const Ay={};function LC(n,l,r){Ay[n]||(Ay[n]=!0)}function BC(n,l){n==null||n.v7_startTransition,n==null||n.v7_relativeSplatPath}function Ij(n){return EC(n.context)}function pn(n){it(!1)}function HC(n){let{basename:l="/",children:r=null,location:o,navigationType:s=Ja.Pop,navigator:c,static:d=!1,future:h}=n;_o()&&it(!1);let v=l.replace(/^\/*/,"/"),p=m.useMemo(()=>({basename:v,navigator:c,static:d,future:po({v7_relativeSplatPath:!1},h)}),[v,h,c,d]);typeof o=="string"&&(o=ri(o));let{pathname:b="/",search:y="",hash:E="",state:T=null,key:R="default"}=o,w=m.useMemo(()=>{let C=xh(b,v);return C==null?null:{location:{pathname:C,search:y,hash:E,state:T,key:R},navigationType:s}},[v,b,y,E,T,R,s]);return w==null?null:m.createElement(Yl.Provider,{value:p},m.createElement(Au.Provider,{children:r,value:w}))}function kC(n){let{children:l,location:r}=n;return CC(zd(l),r)}new Promise(()=>{});function zd(n,l){l===void 0&&(l=[]);let r=[];return m.Children.forEach(n,(o,s)=>{if(!m.isValidElement(o))return;let c=[...l,s];if(o.type===m.Fragment){r.push.apply(r,zd(o.props.children,c));return}o.type!==pn&&it(!1),!o.props.index||!o.props.children||it(!1);let d={id:o.props.id||c.join("-"),caseSensitive:o.props.caseSensitive,element:o.props.element,Component:o.props.Component,index:o.props.index,path:o.props.path,loader:o.props.loader,action:o.props.action,errorElement:o.props.errorElement,ErrorBoundary:o.props.ErrorBoundary,hasErrorBoundary:o.props.ErrorBoundary!=null||o.props.errorElement!=null,shouldRevalidate:o.props.shouldRevalidate,handle:o.props.handle,lazy:o.props.lazy};o.props.children&&(d.children=zd(o.props.children,c)),r.push(d)}),r}/** - * React Router DOM v6.30.3 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Ud(){return Ud=Object.assign?Object.assign.bind():function(n){for(var l=1;l=0)&&(r[s]=n[s]);return r}function GC(n){return!!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)}function VC(n,l){return n.button===0&&(!l||l==="_self")&&!GC(n)}const PC=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],IC="6";try{window.__reactRouterVersion=IC}catch{}const YC="startTransition",_y=yh[YC];function QC(n){let{basename:l,children:r,future:o,window:s}=n,c=m.useRef();c.current==null&&(c.current=Yw({window:s,v5Compat:!0}));let d=c.current,[h,v]=m.useState({action:d.action,location:d.location}),{v7_startTransition:p}=o||{},b=m.useCallback(y=>{p&&_y?_y(()=>v(y)):v(y)},[v,p]);return m.useLayoutEffect(()=>d.listen(b),[d,b]),m.useEffect(()=>BC(o),[o]),m.createElement(HC,{basename:l,children:r,location:h.location,navigationType:h.action,navigator:d,future:o})}const KC=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",XC=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,qr=m.forwardRef(function(l,r){let{onClick:o,relative:s,reloadDocument:c,replace:d,state:h,target:v,to:p,preventScrollReset:b,viewTransition:y}=l,E=qC(l,PC),{basename:T}=m.useContext(Yl),R,w=!1;if(typeof p=="string"&&XC.test(p)&&(R=p,KC))try{let j=new URL(window.location.href),z=p.startsWith("//")?new URL(j.protocol+p):new URL(p),P=xh(z.pathname,T);z.origin===j.origin&&P!=null?p=P+z.search+z.hash:w=!0}catch{}let C=bC(p,{relative:s}),A=FC(p,{replace:d,state:h,target:v,preventScrollReset:b,relative:s,viewTransition:y});function N(j){o&&o(j),j.defaultPrevented||A(j)}return m.createElement("a",Ud({},E,{href:R||C,onClick:w||c?o:N,ref:r,target:v}))});var My;(function(n){n.UseScrollRestoration="useScrollRestoration",n.UseSubmit="useSubmit",n.UseSubmitFetcher="useSubmitFetcher",n.UseFetcher="useFetcher",n.useViewTransitionState="useViewTransitionState"})(My||(My={}));var Oy;(function(n){n.UseFetcher="useFetcher",n.UseFetchers="useFetchers",n.UseScrollRestoration="useScrollRestoration"})(Oy||(Oy={}));function FC(n,l){let{target:r,replace:o,state:s,preventScrollReset:c,relative:d,viewTransition:h}=l===void 0?{}:l,v=Eh(),p=Ql(),b=Wb(n,{relative:d});return m.useCallback(y=>{if(VC(y,r)){y.preventDefault();let E=o!==void 0?o:pu(p)===pu(b);v(n,{replace:E,state:s,preventScrollReset:c,relative:d,viewTransition:h})}},[p,v,b,o,s,r,n,c,d,h])}var ii=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(n){return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},Ol,Pa,Ir,jb,ZC=(jb=class extends ii{constructor(){super();pe(this,Ol);pe(this,Pa);pe(this,Ir);re(this,Ir,l=>{if(typeof window<"u"&&window.addEventListener){const r=()=>l();return window.addEventListener("visibilitychange",r,!1),()=>{window.removeEventListener("visibilitychange",r)}}})}onSubscribe(){O(this,Pa)||this.setEventListener(O(this,Ir))}onUnsubscribe(){var l;this.hasListeners()||((l=O(this,Pa))==null||l.call(this),re(this,Pa,void 0))}setEventListener(l){var r;re(this,Ir,l),(r=O(this,Pa))==null||r.call(this),re(this,Pa,l(o=>{typeof o=="boolean"?this.setFocused(o):this.onFocus()}))}setFocused(l){O(this,Ol)!==l&&(re(this,Ol,l),this.onFocus())}onFocus(){const l=this.isFocused();this.listeners.forEach(r=>{r(l)})}isFocused(){var l;return typeof O(this,Ol)=="boolean"?O(this,Ol):((l=globalThis.document)==null?void 0:l.visibilityState)!=="hidden"}},Ol=new WeakMap,Pa=new WeakMap,Ir=new WeakMap,jb),wh=new ZC,$C={setTimeout:(n,l)=>setTimeout(n,l),clearTimeout:n=>clearTimeout(n),setInterval:(n,l)=>setInterval(n,l),clearInterval:n=>clearInterval(n)},Ia,vh,zb,JC=(zb=class{constructor(){pe(this,Ia,$C);pe(this,vh,!1)}setTimeoutProvider(n){re(this,Ia,n)}setTimeout(n,l){return O(this,Ia).setTimeout(n,l)}clearTimeout(n){O(this,Ia).clearTimeout(n)}setInterval(n,l){return O(this,Ia).setInterval(n,l)}clearInterval(n){O(this,Ia).clearInterval(n)}},Ia=new WeakMap,vh=new WeakMap,zb),Ml=new JC;function WC(n){setTimeout(n,0)}var eT=typeof window>"u"||"Deno"in globalThis;function Rt(){}function tT(n,l){return typeof n=="function"?n(l):n}function Ld(n){return typeof n=="number"&&n>=0&&n!==1/0}function a0(n,l){return Math.max(n+(l||0)-Date.now(),0)}function el(n,l){return typeof n=="function"?n(l):n}function cn(n,l){return typeof n=="function"?n(l):n}function Ny(n,l){const{type:r="all",exact:o,fetchStatus:s,predicate:c,queryKey:d,stale:h}=n;if(d){if(o){if(l.queryHash!==Ch(d,l.options))return!1}else if(!vo(l.queryKey,d))return!1}if(r!=="all"){const v=l.isActive();if(r==="active"&&!v||r==="inactive"&&v)return!1}return!(typeof h=="boolean"&&l.isStale()!==h||s&&s!==l.state.fetchStatus||c&&!c(l))}function Dy(n,l){const{exact:r,status:o,predicate:s,mutationKey:c}=n;if(c){if(!l.options.mutationKey)return!1;if(r){if(kl(l.options.mutationKey)!==kl(c))return!1}else if(!vo(l.options.mutationKey,c))return!1}return!(o&&l.state.status!==o||s&&!s(l))}function Ch(n,l){return((l==null?void 0:l.queryKeyHashFn)||kl)(n)}function kl(n){return JSON.stringify(n,(l,r)=>Bd(r)?Object.keys(r).sort().reduce((o,s)=>(o[s]=r[s],o),{}):r)}function vo(n,l){return n===l?!0:typeof n!=typeof l?!1:n&&l&&typeof n=="object"&&typeof l=="object"?Object.keys(l).every(r=>vo(n[r],l[r])):!1}var nT=Object.prototype.hasOwnProperty;function l0(n,l,r=0){if(n===l)return n;if(r>500)return l;const o=jy(n)&&jy(l);if(!o&&!(Bd(n)&&Bd(l)))return l;const c=(o?n:Object.keys(n)).length,d=o?l:Object.keys(l),h=d.length,v=o?new Array(h):{};let p=0;for(let b=0;b{Ml.setTimeout(l,n)})}function Hd(n,l,r){return typeof r.structuralSharing=="function"?r.structuralSharing(n,l):r.structuralSharing!==!1?l0(n,l):l}function lT(n,l,r=0){const o=[...n,l];return r&&o.length>r?o.slice(1):o}function rT(n,l,r=0){const o=[l,...n];return r&&o.length>r?o.slice(0,-1):o}var Th=Symbol();function r0(n,l){return!n.queryFn&&(l!=null&&l.initialPromise)?()=>l.initialPromise:!n.queryFn||n.queryFn===Th?()=>Promise.reject(new Error(`Missing queryFn: '${n.queryHash}'`)):n.queryFn}function Rh(n,l){return typeof n=="function"?n(...l):!!n}function iT(n,l,r){let o=!1,s;return Object.defineProperty(n,"signal",{enumerable:!0,get:()=>(s??(s=l()),o||(o=!0,s.aborted?r():s.addEventListener("abort",r,{once:!0})),s)}),n}var go=(()=>{let n=()=>eT;return{isServer(){return n()},setIsServer(l){n=l}}})();function kd(){let n,l;const r=new Promise((s,c)=>{n=s,l=c});r.status="pending",r.catch(()=>{});function o(s){Object.assign(r,s),delete r.resolve,delete r.reject}return r.resolve=s=>{o({status:"fulfilled",value:s}),n(s)},r.reject=s=>{o({status:"rejected",reason:s}),l(s)},r}var oT=WC;function sT(){let n=[],l=0,r=h=>{h()},o=h=>{h()},s=oT;const c=h=>{l?n.push(h):s(()=>{r(h)})},d=()=>{const h=n;n=[],h.length&&s(()=>{o(()=>{h.forEach(v=>{r(v)})})})};return{batch:h=>{let v;l++;try{v=h()}finally{l--,l||d()}return v},batchCalls:h=>(...v)=>{c(()=>{h(...v)})},schedule:c,setNotifyFunction:h=>{r=h},setBatchNotifyFunction:h=>{o=h},setScheduler:h=>{s=h}}}var st=sT(),Yr,Ya,Qr,Ub,uT=(Ub=class extends ii{constructor(){super();pe(this,Yr,!0);pe(this,Ya);pe(this,Qr);re(this,Qr,l=>{if(typeof window<"u"&&window.addEventListener){const r=()=>l(!0),o=()=>l(!1);return window.addEventListener("online",r,!1),window.addEventListener("offline",o,!1),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",o)}}})}onSubscribe(){O(this,Ya)||this.setEventListener(O(this,Qr))}onUnsubscribe(){var l;this.hasListeners()||((l=O(this,Ya))==null||l.call(this),re(this,Ya,void 0))}setEventListener(l){var r;re(this,Qr,l),(r=O(this,Ya))==null||r.call(this),re(this,Ya,l(this.setOnline.bind(this)))}setOnline(l){O(this,Yr)!==l&&(re(this,Yr,l),this.listeners.forEach(o=>{o(l)}))}isOnline(){return O(this,Yr)}},Yr=new WeakMap,Ya=new WeakMap,Qr=new WeakMap,Ub),gu=new uT;function cT(n){return Math.min(1e3*2**n,3e4)}function i0(n){return(n??"online")==="online"?gu.isOnline():!0}var qd=class extends Error{constructor(n){super("CancelledError"),this.revert=n==null?void 0:n.revert,this.silent=n==null?void 0:n.silent}};function o0(n){let l=!1,r=0,o;const s=kd(),c=()=>s.status!=="pending",d=w=>{var C;if(!c()){const A=new qd(w);E(A),(C=n.onCancel)==null||C.call(n,A)}},h=()=>{l=!0},v=()=>{l=!1},p=()=>wh.isFocused()&&(n.networkMode==="always"||gu.isOnline())&&n.canRun(),b=()=>i0(n.networkMode)&&n.canRun(),y=w=>{c()||(o==null||o(),s.resolve(w))},E=w=>{c()||(o==null||o(),s.reject(w))},T=()=>new Promise(w=>{var C;o=A=>{(c()||p())&&w(A)},(C=n.onPause)==null||C.call(n)}).then(()=>{var w;o=void 0,c()||(w=n.onContinue)==null||w.call(n)}),R=()=>{if(c())return;let w;const C=r===0?n.initialPromise:void 0;try{w=C??n.fn()}catch(A){w=Promise.reject(A)}Promise.resolve(w).then(y).catch(A=>{var Y;if(c())return;const N=n.retry??(go.isServer()?0:3),j=n.retryDelay??cT,z=typeof j=="function"?j(r,A):j,P=N===!0||typeof N=="number"&&rp()?void 0:T()).then(()=>{l?E(A):R()})})};return{promise:s,status:()=>s.status,cancel:d,continue:()=>(o==null||o(),s),cancelRetry:h,continueRetry:v,canStart:b,start:()=>(b()?R():T().then(R),s)}}var Nl,Lb,s0=(Lb=class{constructor(){pe(this,Nl)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Ld(this.gcTime)&&re(this,Nl,Ml.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(n){this.gcTime=Math.max(this.gcTime||0,n??(go.isServer()?1/0:300*1e3))}clearGcTimeout(){O(this,Nl)!==void 0&&(Ml.clearTimeout(O(this,Nl)),re(this,Nl,void 0))}},Nl=new WeakMap,Lb),Dl,Kr,sn,jl,dt,Eo,zl,Xt,u0,aa,Bb,fT=(Bb=class extends s0{constructor(l){super();pe(this,Xt);pe(this,Dl);pe(this,Kr);pe(this,sn);pe(this,jl);pe(this,dt);pe(this,Eo);pe(this,zl);re(this,zl,!1),re(this,Eo,l.defaultOptions),this.setOptions(l.options),this.observers=[],re(this,jl,l.client),re(this,sn,O(this,jl).getQueryCache()),this.queryKey=l.queryKey,this.queryHash=l.queryHash,re(this,Dl,Ly(this.options)),this.state=l.state??O(this,Dl),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var l;return(l=O(this,dt))==null?void 0:l.promise}setOptions(l){if(this.options={...O(this,Eo),...l},this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){const r=Ly(this.options);r.data!==void 0&&(this.setState(Uy(r.data,r.dataUpdatedAt)),re(this,Dl,r))}}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&O(this,sn).remove(this)}setData(l,r){const o=Hd(this.state.data,l,this.options);return Ce(this,Xt,aa).call(this,{data:o,type:"success",dataUpdatedAt:r==null?void 0:r.updatedAt,manual:r==null?void 0:r.manual}),o}setState(l,r){Ce(this,Xt,aa).call(this,{type:"setState",state:l,setStateOptions:r})}cancel(l){var o,s;const r=(o=O(this,dt))==null?void 0:o.promise;return(s=O(this,dt))==null||s.cancel(l),r?r.then(Rt).catch(Rt):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return O(this,Dl)}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(l=>cn(l.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Th||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(l=>el(l.options.staleTime,this)==="static"):!1}isStale(){return this.getObserversCount()>0?this.observers.some(l=>l.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(l=0){return this.state.data===void 0?!0:l==="static"?!1:this.state.isInvalidated?!0:!a0(this.state.dataUpdatedAt,l)}onFocus(){var r;const l=this.observers.find(o=>o.shouldFetchOnWindowFocus());l==null||l.refetch({cancelRefetch:!1}),(r=O(this,dt))==null||r.continue()}onOnline(){var r;const l=this.observers.find(o=>o.shouldFetchOnReconnect());l==null||l.refetch({cancelRefetch:!1}),(r=O(this,dt))==null||r.continue()}addObserver(l){this.observers.includes(l)||(this.observers.push(l),this.clearGcTimeout(),O(this,sn).notify({type:"observerAdded",query:this,observer:l}))}removeObserver(l){this.observers.includes(l)&&(this.observers=this.observers.filter(r=>r!==l),this.observers.length||(O(this,dt)&&(O(this,zl)||Ce(this,Xt,u0).call(this)?O(this,dt).cancel({revert:!0}):O(this,dt).cancelRetry()),this.scheduleGc()),O(this,sn).notify({type:"observerRemoved",query:this,observer:l}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||Ce(this,Xt,aa).call(this,{type:"invalidate"})}async fetch(l,r){var v,p,b,y,E,T,R,w,C,A,N,j;if(this.state.fetchStatus!=="idle"&&((v=O(this,dt))==null?void 0:v.status())!=="rejected"){if(this.state.data!==void 0&&(r!=null&&r.cancelRefetch))this.cancel({silent:!0});else if(O(this,dt))return O(this,dt).continueRetry(),O(this,dt).promise}if(l&&this.setOptions(l),!this.options.queryFn){const z=this.observers.find(P=>P.options.queryFn);z&&this.setOptions(z.options)}const o=new AbortController,s=z=>{Object.defineProperty(z,"signal",{enumerable:!0,get:()=>(re(this,zl,!0),o.signal)})},c=()=>{const z=r0(this.options,r),Y=(()=>{const G={client:O(this,jl),queryKey:this.queryKey,meta:this.meta};return s(G),G})();return re(this,zl,!1),this.options.persister?this.options.persister(z,Y,this):z(Y)},h=(()=>{const z={fetchOptions:r,options:this.options,queryKey:this.queryKey,client:O(this,jl),state:this.state,fetchFn:c};return s(z),z})();(p=this.options.behavior)==null||p.onFetch(h,this),re(this,Kr,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((b=h.fetchOptions)==null?void 0:b.meta))&&Ce(this,Xt,aa).call(this,{type:"fetch",meta:(y=h.fetchOptions)==null?void 0:y.meta}),re(this,dt,o0({initialPromise:r==null?void 0:r.initialPromise,fn:h.fetchFn,onCancel:z=>{z instanceof qd&&z.revert&&this.setState({...O(this,Kr),fetchStatus:"idle"}),o.abort()},onFail:(z,P)=>{Ce(this,Xt,aa).call(this,{type:"failed",failureCount:z,error:P})},onPause:()=>{Ce(this,Xt,aa).call(this,{type:"pause"})},onContinue:()=>{Ce(this,Xt,aa).call(this,{type:"continue"})},retry:h.options.retry,retryDelay:h.options.retryDelay,networkMode:h.options.networkMode,canRun:()=>!0}));try{const z=await O(this,dt).start();if(z===void 0)throw new Error(`${this.queryHash} data is undefined`);return this.setData(z),(T=(E=O(this,sn).config).onSuccess)==null||T.call(E,z,this),(w=(R=O(this,sn).config).onSettled)==null||w.call(R,z,this.state.error,this),z}catch(z){if(z instanceof qd){if(z.silent)return O(this,dt).promise;if(z.revert){if(this.state.data===void 0)throw z;return this.state.data}}throw Ce(this,Xt,aa).call(this,{type:"error",error:z}),(A=(C=O(this,sn).config).onError)==null||A.call(C,z,this),(j=(N=O(this,sn).config).onSettled)==null||j.call(N,this.state.data,z,this),z}finally{this.scheduleGc()}}},Dl=new WeakMap,Kr=new WeakMap,sn=new WeakMap,jl=new WeakMap,dt=new WeakMap,Eo=new WeakMap,zl=new WeakMap,Xt=new WeakSet,u0=function(){return this.state.fetchStatus==="paused"&&this.state.status==="pending"},aa=function(l){const r=o=>{switch(l.type){case"failed":return{...o,fetchFailureCount:l.failureCount,fetchFailureReason:l.error};case"pause":return{...o,fetchStatus:"paused"};case"continue":return{...o,fetchStatus:"fetching"};case"fetch":return{...o,...c0(o.data,this.options),fetchMeta:l.meta??null};case"success":const s={...o,...Uy(l.data,l.dataUpdatedAt),dataUpdateCount:o.dataUpdateCount+1,...!l.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};return re(this,Kr,l.manual?s:void 0),s;case"error":const c=l.error;return{...o,error:c,errorUpdateCount:o.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:o.fetchFailureCount+1,fetchFailureReason:c,fetchStatus:"idle",status:"error",isInvalidated:!0};case"invalidate":return{...o,isInvalidated:!0};case"setState":return{...o,...l.state}}};this.state=r(this.state),st.batch(()=>{this.observers.forEach(o=>{o.onQueryUpdate()}),O(this,sn).notify({query:this,type:"updated",action:l})})},Bb);function c0(n,l){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:i0(l.networkMode)?"fetching":"paused",...n===void 0&&{error:null,status:"pending"}}}function Uy(n,l){return{data:n,dataUpdatedAt:l??Date.now(),error:null,isInvalidated:!1,status:"success"}}function Ly(n){const l=typeof n.initialData=="function"?n.initialData():n.initialData,r=l!==void 0,o=r?typeof n.initialDataUpdatedAt=="function"?n.initialDataUpdatedAt():n.initialDataUpdatedAt:0;return{data:l,dataUpdateCount:0,dataUpdatedAt:r?o??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}var Ut,je,wo,Tt,Ul,Xr,la,Qa,Co,Fr,Zr,Ll,Bl,Ka,$r,ke,co,Gd,Vd,Pd,Id,Yd,Qd,Kd,f0,Hb,dT=(Hb=class extends ii{constructor(l,r){super();pe(this,ke);pe(this,Ut);pe(this,je);pe(this,wo);pe(this,Tt);pe(this,Ul);pe(this,Xr);pe(this,la);pe(this,Qa);pe(this,Co);pe(this,Fr);pe(this,Zr);pe(this,Ll);pe(this,Bl);pe(this,Ka);pe(this,$r,new Set);this.options=r,re(this,Ut,l),re(this,Qa,null),re(this,la,kd()),this.bindMethods(),this.setOptions(r)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(O(this,je).addObserver(this),By(O(this,je),this.options)?Ce(this,ke,co).call(this):this.updateResult(),Ce(this,ke,Id).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Xd(O(this,je),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Xd(O(this,je),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Ce(this,ke,Yd).call(this),Ce(this,ke,Qd).call(this),O(this,je).removeObserver(this)}setOptions(l){const r=this.options,o=O(this,je);if(this.options=O(this,Ut).defaultQueryOptions(l),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof cn(this.options.enabled,O(this,je))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Ce(this,ke,Kd).call(this),O(this,je).setOptions(this.options),r._defaulted&&!vu(this.options,r)&&O(this,Ut).getQueryCache().notify({type:"observerOptionsUpdated",query:O(this,je),observer:this});const s=this.hasListeners();s&&Hy(O(this,je),o,this.options,r)&&Ce(this,ke,co).call(this),this.updateResult(),s&&(O(this,je)!==o||cn(this.options.enabled,O(this,je))!==cn(r.enabled,O(this,je))||el(this.options.staleTime,O(this,je))!==el(r.staleTime,O(this,je)))&&Ce(this,ke,Gd).call(this);const c=Ce(this,ke,Vd).call(this);s&&(O(this,je)!==o||cn(this.options.enabled,O(this,je))!==cn(r.enabled,O(this,je))||c!==O(this,Ka))&&Ce(this,ke,Pd).call(this,c)}getOptimisticResult(l){const r=O(this,Ut).getQueryCache().build(O(this,Ut),l),o=this.createResult(r,l);return mT(this,o)&&(re(this,Tt,o),re(this,Xr,this.options),re(this,Ul,O(this,je).state)),o}getCurrentResult(){return O(this,Tt)}trackResult(l,r){return new Proxy(l,{get:(o,s)=>(this.trackProp(s),r==null||r(s),s==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&O(this,la).status==="pending"&&O(this,la).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(o,s))})}trackProp(l){O(this,$r).add(l)}getCurrentQuery(){return O(this,je)}refetch({...l}={}){return this.fetch({...l})}fetchOptimistic(l){const r=O(this,Ut).defaultQueryOptions(l),o=O(this,Ut).getQueryCache().build(O(this,Ut),r);return o.fetch().then(()=>this.createResult(o,r))}fetch(l){return Ce(this,ke,co).call(this,{...l,cancelRefetch:l.cancelRefetch??!0}).then(()=>(this.updateResult(),O(this,Tt)))}createResult(l,r){var le;const o=O(this,je),s=this.options,c=O(this,Tt),d=O(this,Ul),h=O(this,Xr),p=l!==o?l.state:O(this,wo),{state:b}=l;let y={...b},E=!1,T;if(r._optimisticResults){const ie=this.hasListeners(),se=!ie&&By(l,r),ne=ie&&Hy(l,o,r,s);(se||ne)&&(y={...y,...c0(b.data,l.options)}),r._optimisticResults==="isRestoring"&&(y.fetchStatus="idle")}let{error:R,errorUpdatedAt:w,status:C}=y;T=y.data;let A=!1;if(r.placeholderData!==void 0&&T===void 0&&C==="pending"){let ie;c!=null&&c.isPlaceholderData&&r.placeholderData===(h==null?void 0:h.placeholderData)?(ie=c.data,A=!0):ie=typeof r.placeholderData=="function"?r.placeholderData((le=O(this,Zr))==null?void 0:le.state.data,O(this,Zr)):r.placeholderData,ie!==void 0&&(C="success",T=Hd(c==null?void 0:c.data,ie,r),E=!0)}if(r.select&&T!==void 0&&!A)if(c&&T===(d==null?void 0:d.data)&&r.select===O(this,Co))T=O(this,Fr);else try{re(this,Co,r.select),T=r.select(T),T=Hd(c==null?void 0:c.data,T,r),re(this,Fr,T),re(this,Qa,null)}catch(ie){re(this,Qa,ie)}O(this,Qa)&&(R=O(this,Qa),T=O(this,Fr),w=Date.now(),C="error");const N=y.fetchStatus==="fetching",j=C==="pending",z=C==="error",P=j&&N,Y=T!==void 0,te={status:C,fetchStatus:y.fetchStatus,isPending:j,isSuccess:C==="success",isError:z,isInitialLoading:P,isLoading:P,data:T,dataUpdatedAt:y.dataUpdatedAt,error:R,errorUpdatedAt:w,failureCount:y.fetchFailureCount,failureReason:y.fetchFailureReason,errorUpdateCount:y.errorUpdateCount,isFetched:l.isFetched(),isFetchedAfterMount:y.dataUpdateCount>p.dataUpdateCount||y.errorUpdateCount>p.errorUpdateCount,isFetching:N,isRefetching:N&&!j,isLoadingError:z&&!Y,isPaused:y.fetchStatus==="paused",isPlaceholderData:E,isRefetchError:z&&Y,isStale:Ah(l,r),refetch:this.refetch,promise:O(this,la),isEnabled:cn(r.enabled,l)!==!1};if(this.options.experimental_prefetchInRender){const ie=te.data!==void 0,se=te.status==="error"&&!ie,ne=ge=>{se?ge.reject(te.error):ie&&ge.resolve(te.data)},be=()=>{const ge=re(this,la,te.promise=kd());ne(ge)},ce=O(this,la);switch(ce.status){case"pending":l.queryHash===o.queryHash&&ne(ce);break;case"fulfilled":(se||te.data!==ce.value)&&be();break;case"rejected":(!se||te.error!==ce.reason)&&be();break}}return te}updateResult(){const l=O(this,Tt),r=this.createResult(O(this,je),this.options);if(re(this,Ul,O(this,je).state),re(this,Xr,this.options),O(this,Ul).data!==void 0&&re(this,Zr,O(this,je)),vu(r,l))return;re(this,Tt,r);const o=()=>{if(!l)return!0;const{notifyOnChangeProps:s}=this.options,c=typeof s=="function"?s():s;if(c==="all"||!c&&!O(this,$r).size)return!0;const d=new Set(c??O(this,$r));return this.options.throwOnError&&d.add("error"),Object.keys(O(this,Tt)).some(h=>{const v=h;return O(this,Tt)[v]!==l[v]&&d.has(v)})};Ce(this,ke,f0).call(this,{listeners:o()})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Ce(this,ke,Id).call(this)}},Ut=new WeakMap,je=new WeakMap,wo=new WeakMap,Tt=new WeakMap,Ul=new WeakMap,Xr=new WeakMap,la=new WeakMap,Qa=new WeakMap,Co=new WeakMap,Fr=new WeakMap,Zr=new WeakMap,Ll=new WeakMap,Bl=new WeakMap,Ka=new WeakMap,$r=new WeakMap,ke=new WeakSet,co=function(l){Ce(this,ke,Kd).call(this);let r=O(this,je).fetch(this.options,l);return l!=null&&l.throwOnError||(r=r.catch(Rt)),r},Gd=function(){Ce(this,ke,Yd).call(this);const l=el(this.options.staleTime,O(this,je));if(go.isServer()||O(this,Tt).isStale||!Ld(l))return;const o=a0(O(this,Tt).dataUpdatedAt,l)+1;re(this,Ll,Ml.setTimeout(()=>{O(this,Tt).isStale||this.updateResult()},o))},Vd=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(O(this,je)):this.options.refetchInterval)??!1},Pd=function(l){Ce(this,ke,Qd).call(this),re(this,Ka,l),!(go.isServer()||cn(this.options.enabled,O(this,je))===!1||!Ld(O(this,Ka))||O(this,Ka)===0)&&re(this,Bl,Ml.setInterval(()=>{(this.options.refetchIntervalInBackground||wh.isFocused())&&Ce(this,ke,co).call(this)},O(this,Ka)))},Id=function(){Ce(this,ke,Gd).call(this),Ce(this,ke,Pd).call(this,Ce(this,ke,Vd).call(this))},Yd=function(){O(this,Ll)!==void 0&&(Ml.clearTimeout(O(this,Ll)),re(this,Ll,void 0))},Qd=function(){O(this,Bl)!==void 0&&(Ml.clearInterval(O(this,Bl)),re(this,Bl,void 0))},Kd=function(){const l=O(this,Ut).getQueryCache().build(O(this,Ut),this.options);if(l===O(this,je))return;const r=O(this,je);re(this,je,l),re(this,wo,l.state),this.hasListeners()&&(r==null||r.removeObserver(this),l.addObserver(this))},f0=function(l){st.batch(()=>{l.listeners&&this.listeners.forEach(r=>{r(O(this,Tt))}),O(this,Ut).getQueryCache().notify({query:O(this,je),type:"observerResultsUpdated"})})},Hb);function hT(n,l){return cn(l.enabled,n)!==!1&&n.state.data===void 0&&!(n.state.status==="error"&&l.retryOnMount===!1)}function By(n,l){return hT(n,l)||n.state.data!==void 0&&Xd(n,l,l.refetchOnMount)}function Xd(n,l,r){if(cn(l.enabled,n)!==!1&&el(l.staleTime,n)!=="static"){const o=typeof r=="function"?r(n):r;return o==="always"||o!==!1&&Ah(n,l)}return!1}function Hy(n,l,r,o){return(n!==l||cn(o.enabled,n)===!1)&&(!r.suspense||n.state.status!=="error")&&Ah(n,r)}function Ah(n,l){return cn(l.enabled,n)!==!1&&n.isStaleByTime(el(l.staleTime,n))}function mT(n,l){return!vu(n.getCurrentResult(),l)}function ky(n){return{onFetch:(l,r)=>{var b,y,E,T,R;const o=l.options,s=(E=(y=(b=l.fetchOptions)==null?void 0:b.meta)==null?void 0:y.fetchMore)==null?void 0:E.direction,c=((T=l.state.data)==null?void 0:T.pages)||[],d=((R=l.state.data)==null?void 0:R.pageParams)||[];let h={pages:[],pageParams:[]},v=0;const p=async()=>{let w=!1;const C=j=>{iT(j,()=>l.signal,()=>w=!0)},A=r0(l.options,l.fetchOptions),N=async(j,z,P)=>{if(w)return Promise.reject();if(z==null&&j.pages.length)return Promise.resolve(j);const G=(()=>{const se={client:l.client,queryKey:l.queryKey,pageParam:z,direction:P?"backward":"forward",meta:l.options.meta};return C(se),se})(),te=await A(G),{maxPages:le}=l.options,ie=P?rT:lT;return{pages:ie(j.pages,te,le),pageParams:ie(j.pageParams,z,le)}};if(s&&c.length){const j=s==="backward",z=j?pT:qy,P={pages:c,pageParams:d},Y=z(o,P);h=await N(P,Y,j)}else{const j=n??c.length;do{const z=v===0?d[0]??o.initialPageParam:qy(o,h);if(v>0&&z==null)break;h=await N(h,z),v++}while(v{var w,C;return(C=(w=l.options).persister)==null?void 0:C.call(w,p,{client:l.client,queryKey:l.queryKey,meta:l.options.meta,signal:l.signal},r)}:l.fetchFn=p}}}function qy(n,{pages:l,pageParams:r}){const o=l.length-1;return l.length>0?n.getNextPageParam(l[o],l,r[o],r):void 0}function pT(n,{pages:l,pageParams:r}){var o;return l.length>0?(o=n.getPreviousPageParam)==null?void 0:o.call(n,l[0],l,r[0],r):void 0}var To,Tn,xt,Hl,Rn,Ga,kb,vT=(kb=class extends s0{constructor(l){super();pe(this,Rn);pe(this,To);pe(this,Tn);pe(this,xt);pe(this,Hl);re(this,To,l.client),this.mutationId=l.mutationId,re(this,xt,l.mutationCache),re(this,Tn,[]),this.state=l.state||d0(),this.setOptions(l.options),this.scheduleGc()}setOptions(l){this.options=l,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(l){O(this,Tn).includes(l)||(O(this,Tn).push(l),this.clearGcTimeout(),O(this,xt).notify({type:"observerAdded",mutation:this,observer:l}))}removeObserver(l){re(this,Tn,O(this,Tn).filter(r=>r!==l)),this.scheduleGc(),O(this,xt).notify({type:"observerRemoved",mutation:this,observer:l})}optionalRemove(){O(this,Tn).length||(this.state.status==="pending"?this.scheduleGc():O(this,xt).remove(this))}continue(){var l;return((l=O(this,Hl))==null?void 0:l.continue())??this.execute(this.state.variables)}async execute(l){var d,h,v,p,b,y,E,T,R,w,C,A,N,j,z,P,Y,G;const r=()=>{Ce(this,Rn,Ga).call(this,{type:"continue"})},o={client:O(this,To),meta:this.options.meta,mutationKey:this.options.mutationKey};re(this,Hl,o0({fn:()=>this.options.mutationFn?this.options.mutationFn(l,o):Promise.reject(new Error("No mutationFn found")),onFail:(te,le)=>{Ce(this,Rn,Ga).call(this,{type:"failed",failureCount:te,error:le})},onPause:()=>{Ce(this,Rn,Ga).call(this,{type:"pause"})},onContinue:r,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>O(this,xt).canRun(this)}));const s=this.state.status==="pending",c=!O(this,Hl).canStart();try{if(s)r();else{Ce(this,Rn,Ga).call(this,{type:"pending",variables:l,isPaused:c}),O(this,xt).config.onMutate&&await O(this,xt).config.onMutate(l,this,o);const le=await((h=(d=this.options).onMutate)==null?void 0:h.call(d,l,o));le!==this.state.context&&Ce(this,Rn,Ga).call(this,{type:"pending",context:le,variables:l,isPaused:c})}const te=await O(this,Hl).start();return await((p=(v=O(this,xt).config).onSuccess)==null?void 0:p.call(v,te,l,this.state.context,this,o)),await((y=(b=this.options).onSuccess)==null?void 0:y.call(b,te,l,this.state.context,o)),await((T=(E=O(this,xt).config).onSettled)==null?void 0:T.call(E,te,null,this.state.variables,this.state.context,this,o)),await((w=(R=this.options).onSettled)==null?void 0:w.call(R,te,null,l,this.state.context,o)),Ce(this,Rn,Ga).call(this,{type:"success",data:te}),te}catch(te){try{await((A=(C=O(this,xt).config).onError)==null?void 0:A.call(C,te,l,this.state.context,this,o))}catch(le){Promise.reject(le)}try{await((j=(N=this.options).onError)==null?void 0:j.call(N,te,l,this.state.context,o))}catch(le){Promise.reject(le)}try{await((P=(z=O(this,xt).config).onSettled)==null?void 0:P.call(z,void 0,te,this.state.variables,this.state.context,this,o))}catch(le){Promise.reject(le)}try{await((G=(Y=this.options).onSettled)==null?void 0:G.call(Y,void 0,te,l,this.state.context,o))}catch(le){Promise.reject(le)}throw Ce(this,Rn,Ga).call(this,{type:"error",error:te}),te}finally{O(this,xt).runNext(this)}}},To=new WeakMap,Tn=new WeakMap,xt=new WeakMap,Hl=new WeakMap,Rn=new WeakSet,Ga=function(l){const r=o=>{switch(l.type){case"failed":return{...o,failureCount:l.failureCount,failureReason:l.error};case"pause":return{...o,isPaused:!0};case"continue":return{...o,isPaused:!1};case"pending":return{...o,context:l.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:l.isPaused,status:"pending",variables:l.variables,submittedAt:Date.now()};case"success":return{...o,data:l.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...o,data:void 0,error:l.error,failureCount:o.failureCount+1,failureReason:l.error,isPaused:!1,status:"error"}}};this.state=r(this.state),st.batch(()=>{O(this,Tn).forEach(o=>{o.onMutationUpdate(l)}),O(this,xt).notify({mutation:this,type:"updated",action:l})})},kb);function d0(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var ra,gn,Ro,qb,gT=(qb=class extends ii{constructor(l={}){super();pe(this,ra);pe(this,gn);pe(this,Ro);this.config=l,re(this,ra,new Set),re(this,gn,new Map),re(this,Ro,0)}build(l,r,o){const s=new vT({client:l,mutationCache:this,mutationId:++tu(this,Ro)._,options:l.defaultMutationOptions(r),state:o});return this.add(s),s}add(l){O(this,ra).add(l);const r=nu(l);if(typeof r=="string"){const o=O(this,gn).get(r);o?o.push(l):O(this,gn).set(r,[l])}this.notify({type:"added",mutation:l})}remove(l){if(O(this,ra).delete(l)){const r=nu(l);if(typeof r=="string"){const o=O(this,gn).get(r);if(o)if(o.length>1){const s=o.indexOf(l);s!==-1&&o.splice(s,1)}else o[0]===l&&O(this,gn).delete(r)}}this.notify({type:"removed",mutation:l})}canRun(l){const r=nu(l);if(typeof r=="string"){const o=O(this,gn).get(r),s=o==null?void 0:o.find(c=>c.state.status==="pending");return!s||s===l}else return!0}runNext(l){var o;const r=nu(l);if(typeof r=="string"){const s=(o=O(this,gn).get(r))==null?void 0:o.find(c=>c!==l&&c.state.isPaused);return(s==null?void 0:s.continue())??Promise.resolve()}else return Promise.resolve()}clear(){st.batch(()=>{O(this,ra).forEach(l=>{this.notify({type:"removed",mutation:l})}),O(this,ra).clear(),O(this,gn).clear()})}getAll(){return Array.from(O(this,ra))}find(l){const r={exact:!0,...l};return this.getAll().find(o=>Dy(r,o))}findAll(l={}){return this.getAll().filter(r=>Dy(l,r))}notify(l){st.batch(()=>{this.listeners.forEach(r=>{r(l)})})}resumePausedMutations(){const l=this.getAll().filter(r=>r.state.isPaused);return st.batch(()=>Promise.all(l.map(r=>r.continue().catch(Rt))))}},ra=new WeakMap,gn=new WeakMap,Ro=new WeakMap,qb);function nu(n){var l;return(l=n.options.scope)==null?void 0:l.id}var ia,Xa,Lt,oa,sa,fu,Fd,Gb,yT=(Gb=class extends ii{constructor(r,o){super();pe(this,sa);pe(this,ia);pe(this,Xa);pe(this,Lt);pe(this,oa);re(this,ia,r),this.setOptions(o),this.bindMethods(),Ce(this,sa,fu).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(r){var s;const o=this.options;this.options=O(this,ia).defaultMutationOptions(r),vu(this.options,o)||O(this,ia).getMutationCache().notify({type:"observerOptionsUpdated",mutation:O(this,Lt),observer:this}),o!=null&&o.mutationKey&&this.options.mutationKey&&kl(o.mutationKey)!==kl(this.options.mutationKey)?this.reset():((s=O(this,Lt))==null?void 0:s.state.status)==="pending"&&O(this,Lt).setOptions(this.options)}onUnsubscribe(){var r;this.hasListeners()||(r=O(this,Lt))==null||r.removeObserver(this)}onMutationUpdate(r){Ce(this,sa,fu).call(this),Ce(this,sa,Fd).call(this,r)}getCurrentResult(){return O(this,Xa)}reset(){var r;(r=O(this,Lt))==null||r.removeObserver(this),re(this,Lt,void 0),Ce(this,sa,fu).call(this),Ce(this,sa,Fd).call(this)}mutate(r,o){var s;return re(this,oa,o),(s=O(this,Lt))==null||s.removeObserver(this),re(this,Lt,O(this,ia).getMutationCache().build(O(this,ia),this.options)),O(this,Lt).addObserver(this),O(this,Lt).execute(r)}},ia=new WeakMap,Xa=new WeakMap,Lt=new WeakMap,oa=new WeakMap,sa=new WeakSet,fu=function(){var o;const r=((o=O(this,Lt))==null?void 0:o.state)??d0();re(this,Xa,{...r,isPending:r.status==="pending",isSuccess:r.status==="success",isError:r.status==="error",isIdle:r.status==="idle",mutate:this.mutate,reset:this.reset})},Fd=function(r){st.batch(()=>{var o,s,c,d,h,v,p,b;if(O(this,oa)&&this.hasListeners()){const y=O(this,Xa).variables,E=O(this,Xa).context,T={client:O(this,ia),meta:this.options.meta,mutationKey:this.options.mutationKey};if((r==null?void 0:r.type)==="success"){try{(s=(o=O(this,oa)).onSuccess)==null||s.call(o,r.data,y,E,T)}catch(R){Promise.reject(R)}try{(d=(c=O(this,oa)).onSettled)==null||d.call(c,r.data,null,y,E,T)}catch(R){Promise.reject(R)}}else if((r==null?void 0:r.type)==="error"){try{(v=(h=O(this,oa)).onError)==null||v.call(h,r.error,y,E,T)}catch(R){Promise.reject(R)}try{(b=(p=O(this,oa)).onSettled)==null||b.call(p,void 0,r.error,y,E,T)}catch(R){Promise.reject(R)}}}this.listeners.forEach(y=>{y(O(this,Xa))})})},Gb),An,Vb,bT=(Vb=class extends ii{constructor(l={}){super();pe(this,An);this.config=l,re(this,An,new Map)}build(l,r,o){const s=r.queryKey,c=r.queryHash??Ch(s,r);let d=this.get(c);return d||(d=new fT({client:l,queryKey:s,queryHash:c,options:l.defaultQueryOptions(r),state:o,defaultOptions:l.getQueryDefaults(s)}),this.add(d)),d}add(l){O(this,An).has(l.queryHash)||(O(this,An).set(l.queryHash,l),this.notify({type:"added",query:l}))}remove(l){const r=O(this,An).get(l.queryHash);r&&(l.destroy(),r===l&&O(this,An).delete(l.queryHash),this.notify({type:"removed",query:l}))}clear(){st.batch(()=>{this.getAll().forEach(l=>{this.remove(l)})})}get(l){return O(this,An).get(l)}getAll(){return[...O(this,An).values()]}find(l){const r={exact:!0,...l};return this.getAll().find(o=>Ny(r,o))}findAll(l={}){const r=this.getAll();return Object.keys(l).length>0?r.filter(o=>Ny(l,o)):r}notify(l){st.batch(()=>{this.listeners.forEach(r=>{r(l)})})}onFocus(){st.batch(()=>{this.getAll().forEach(l=>{l.onFocus()})})}onOnline(){st.batch(()=>{this.getAll().forEach(l=>{l.onOnline()})})}},An=new WeakMap,Vb),We,Fa,Za,Jr,Wr,$a,ei,ti,Pb,xT=(Pb=class{constructor(n={}){pe(this,We);pe(this,Fa);pe(this,Za);pe(this,Jr);pe(this,Wr);pe(this,$a);pe(this,ei);pe(this,ti);re(this,We,n.queryCache||new bT),re(this,Fa,n.mutationCache||new gT),re(this,Za,n.defaultOptions||{}),re(this,Jr,new Map),re(this,Wr,new Map),re(this,$a,0)}mount(){tu(this,$a)._++,O(this,$a)===1&&(re(this,ei,wh.subscribe(async n=>{n&&(await this.resumePausedMutations(),O(this,We).onFocus())})),re(this,ti,gu.subscribe(async n=>{n&&(await this.resumePausedMutations(),O(this,We).onOnline())})))}unmount(){var n,l;tu(this,$a)._--,O(this,$a)===0&&((n=O(this,ei))==null||n.call(this),re(this,ei,void 0),(l=O(this,ti))==null||l.call(this),re(this,ti,void 0))}isFetching(n){return O(this,We).findAll({...n,fetchStatus:"fetching"}).length}isMutating(n){return O(this,Fa).findAll({...n,status:"pending"}).length}getQueryData(n){var r;const l=this.defaultQueryOptions({queryKey:n});return(r=O(this,We).get(l.queryHash))==null?void 0:r.state.data}ensureQueryData(n){const l=this.defaultQueryOptions(n),r=O(this,We).build(this,l),o=r.state.data;return o===void 0?this.fetchQuery(n):(n.revalidateIfStale&&r.isStaleByTime(el(l.staleTime,r))&&this.prefetchQuery(l),Promise.resolve(o))}getQueriesData(n){return O(this,We).findAll(n).map(({queryKey:l,state:r})=>{const o=r.data;return[l,o]})}setQueryData(n,l,r){const o=this.defaultQueryOptions({queryKey:n}),s=O(this,We).get(o.queryHash),c=s==null?void 0:s.state.data,d=tT(l,c);if(d!==void 0)return O(this,We).build(this,o).setData(d,{...r,manual:!0})}setQueriesData(n,l,r){return st.batch(()=>O(this,We).findAll(n).map(({queryKey:o})=>[o,this.setQueryData(o,l,r)]))}getQueryState(n){var r;const l=this.defaultQueryOptions({queryKey:n});return(r=O(this,We).get(l.queryHash))==null?void 0:r.state}removeQueries(n){const l=O(this,We);st.batch(()=>{l.findAll(n).forEach(r=>{l.remove(r)})})}resetQueries(n,l){const r=O(this,We);return st.batch(()=>(r.findAll(n).forEach(o=>{o.reset()}),this.refetchQueries({type:"active",...n},l)))}cancelQueries(n,l={}){const r={revert:!0,...l},o=st.batch(()=>O(this,We).findAll(n).map(s=>s.cancel(r)));return Promise.all(o).then(Rt).catch(Rt)}invalidateQueries(n,l={}){return st.batch(()=>(O(this,We).findAll(n).forEach(r=>{r.invalidate()}),(n==null?void 0:n.refetchType)==="none"?Promise.resolve():this.refetchQueries({...n,type:(n==null?void 0:n.refetchType)??(n==null?void 0:n.type)??"active"},l)))}refetchQueries(n,l={}){const r={...l,cancelRefetch:l.cancelRefetch??!0},o=st.batch(()=>O(this,We).findAll(n).filter(s=>!s.isDisabled()&&!s.isStatic()).map(s=>{let c=s.fetch(void 0,r);return r.throwOnError||(c=c.catch(Rt)),s.state.fetchStatus==="paused"?Promise.resolve():c}));return Promise.all(o).then(Rt)}fetchQuery(n){const l=this.defaultQueryOptions(n);l.retry===void 0&&(l.retry=!1);const r=O(this,We).build(this,l);return r.isStaleByTime(el(l.staleTime,r))?r.fetch(l):Promise.resolve(r.state.data)}prefetchQuery(n){return this.fetchQuery(n).then(Rt).catch(Rt)}fetchInfiniteQuery(n){return n.behavior=ky(n.pages),this.fetchQuery(n)}prefetchInfiniteQuery(n){return this.fetchInfiniteQuery(n).then(Rt).catch(Rt)}ensureInfiniteQueryData(n){return n.behavior=ky(n.pages),this.ensureQueryData(n)}resumePausedMutations(){return gu.isOnline()?O(this,Fa).resumePausedMutations():Promise.resolve()}getQueryCache(){return O(this,We)}getMutationCache(){return O(this,Fa)}getDefaultOptions(){return O(this,Za)}setDefaultOptions(n){re(this,Za,n)}setQueryDefaults(n,l){O(this,Jr).set(kl(n),{queryKey:n,defaultOptions:l})}getQueryDefaults(n){const l=[...O(this,Jr).values()],r={};return l.forEach(o=>{vo(n,o.queryKey)&&Object.assign(r,o.defaultOptions)}),r}setMutationDefaults(n,l){O(this,Wr).set(kl(n),{mutationKey:n,defaultOptions:l})}getMutationDefaults(n){const l=[...O(this,Wr).values()],r={};return l.forEach(o=>{vo(n,o.mutationKey)&&Object.assign(r,o.defaultOptions)}),r}defaultQueryOptions(n){if(n._defaulted)return n;const l={...O(this,Za).queries,...this.getQueryDefaults(n.queryKey),...n,_defaulted:!0};return l.queryHash||(l.queryHash=Ch(l.queryKey,l)),l.refetchOnReconnect===void 0&&(l.refetchOnReconnect=l.networkMode!=="always"),l.throwOnError===void 0&&(l.throwOnError=!!l.suspense),!l.networkMode&&l.persister&&(l.networkMode="offlineFirst"),l.queryFn===Th&&(l.enabled=!1),l}defaultMutationOptions(n){return n!=null&&n._defaulted?n:{...O(this,Za).mutations,...(n==null?void 0:n.mutationKey)&&this.getMutationDefaults(n.mutationKey),...n,_defaulted:!0}}clear(){O(this,We).clear(),O(this,Fa).clear()}},We=new WeakMap,Fa=new WeakMap,Za=new WeakMap,Jr=new WeakMap,Wr=new WeakMap,$a=new WeakMap,ei=new WeakMap,ti=new WeakMap,Pb),h0=m.createContext(void 0),_h=n=>{const l=m.useContext(h0);if(!l)throw new Error("No QueryClient set, use QueryClientProvider to set one");return l},ST=({client:n,children:l})=>(m.useEffect(()=>(n.mount(),()=>{n.unmount()}),[n]),x.jsx(h0.Provider,{value:n,children:l})),m0=m.createContext(!1),ET=()=>m.useContext(m0);m0.Provider;function wT(){let n=!1;return{clearReset:()=>{n=!1},reset:()=>{n=!0},isReset:()=>n}}var CT=m.createContext(wT()),TT=()=>m.useContext(CT),RT=(n,l,r)=>{const o=r!=null&&r.state.error&&typeof n.throwOnError=="function"?Rh(n.throwOnError,[r.state.error,r]):n.throwOnError;(n.suspense||n.experimental_prefetchInRender||o)&&(l.isReset()||(n.retryOnMount=!1))},AT=n=>{m.useEffect(()=>{n.clearReset()},[n])},_T=({result:n,errorResetBoundary:l,throwOnError:r,query:o,suspense:s})=>n.isError&&!l.isReset()&&!n.isFetching&&o&&(s&&n.data===void 0||Rh(r,[n.error,o])),MT=n=>{if(n.suspense){const r=s=>s==="static"?s:Math.max(s??1e3,1e3),o=n.staleTime;n.staleTime=typeof o=="function"?(...s)=>r(o(...s)):r(o),typeof n.gcTime=="number"&&(n.gcTime=Math.max(n.gcTime,1e3))}},OT=(n,l)=>n.isLoading&&n.isFetching&&!l,NT=(n,l)=>(n==null?void 0:n.suspense)&&l.isPending,Gy=(n,l,r)=>l.fetchOptimistic(n).catch(()=>{r.clearReset()});function DT(n,l,r){var E,T,R,w;const o=ET(),s=TT(),c=_h(),d=c.defaultQueryOptions(n);(T=(E=c.getDefaultOptions().queries)==null?void 0:E._experimental_beforeQuery)==null||T.call(E,d);const h=c.getQueryCache().get(d.queryHash);d._optimisticResults=o?"isRestoring":"optimistic",MT(d),RT(d,s,h),AT(s);const v=!c.getQueryCache().get(d.queryHash),[p]=m.useState(()=>new l(c,d)),b=p.getOptimisticResult(d),y=!o&&n.subscribed!==!1;if(m.useSyncExternalStore(m.useCallback(C=>{const A=y?p.subscribe(st.batchCalls(C)):Rt;return p.updateResult(),A},[p,y]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),m.useEffect(()=>{p.setOptions(d)},[d,p]),NT(d,b))throw Gy(d,p,s);if(_T({result:b,errorResetBoundary:s,throwOnError:d.throwOnError,query:h,suspense:d.suspense}))throw b.error;if((w=(R=c.getDefaultOptions().queries)==null?void 0:R._experimental_afterQuery)==null||w.call(R,d,b),d.experimental_prefetchInRender&&!go.isServer()&&OT(b,o)){const C=v?Gy(d,p,s):h==null?void 0:h.promise;C==null||C.catch(Rt).finally(()=>{p.updateResult()})}return d.notifyOnChangeProps?b:p.trackResult(b)}function Kl(n,l){return DT(n,dT)}function jT(n,l){const r=_h(),[o]=m.useState(()=>new yT(r,n));m.useEffect(()=>{o.setOptions(n)},[o,n]);const s=m.useSyncExternalStore(m.useCallback(d=>o.subscribe(st.batchCalls(d)),[o]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),c=m.useCallback((d,h)=>{o.mutate(d,h).catch(Rt)},[o]);if(s.error&&Rh(o.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:c,mutateAsync:s.mutate}}const Vy=n=>{let l;const r=new Set,o=(p,b)=>{const y=typeof p=="function"?p(l):p;if(!Object.is(y,l)){const E=l;l=b??(typeof y!="object"||y===null)?y:Object.assign({},l,y),r.forEach(T=>T(l,E))}},s=()=>l,h={setState:o,getState:s,getInitialState:()=>v,subscribe:p=>(r.add(p),()=>r.delete(p))},v=l=n(o,s,h);return h},zT=(n=>n?Vy(n):Vy),UT=n=>n;function LT(n,l=UT){const r=un.useSyncExternalStore(n.subscribe,un.useCallback(()=>l(n.getState()),[n,l]),un.useCallback(()=>l(n.getInitialState()),[n,l]));return un.useDebugValue(r),r}const Py=n=>{const l=zT(n),r=o=>LT(l,o);return Object.assign(r,l),r},p0=(n=>n?Py(n):Py);function BT(n,l){let r;try{r=n()}catch{return}return{getItem:s=>{var c;const d=v=>v===null?null:JSON.parse(v,void 0),h=(c=r.getItem(s))!=null?c:null;return h instanceof Promise?h.then(d):d(h)},setItem:(s,c)=>r.setItem(s,JSON.stringify(c,void 0)),removeItem:s=>r.removeItem(s)}}const Zd=n=>l=>{try{const r=n(l);return r instanceof Promise?r:{then(o){return Zd(o)(r)},catch(o){return this}}}catch(r){return{then(o){return this},catch(o){return Zd(o)(r)}}}},HT=(n,l)=>(r,o,s)=>{let c={storage:BT(()=>window.localStorage),partialize:C=>C,version:0,merge:(C,A)=>({...A,...C}),...l},d=!1,h=0;const v=new Set,p=new Set;let b=c.storage;if(!b)return n((...C)=>{console.warn(`[zustand persist middleware] Unable to update item '${c.name}', the given storage is currently unavailable.`),r(...C)},o,s);const y=()=>{const C=c.partialize({...o()});return b.setItem(c.name,{state:C,version:c.version})},E=s.setState;s.setState=(C,A)=>(E(C,A),y());const T=n((...C)=>(r(...C),y()),o,s);s.getInitialState=()=>T;let R;const w=()=>{var C,A;if(!b)return;const N=++h;d=!1,v.forEach(z=>{var P;return z((P=o())!=null?P:T)});const j=((A=c.onRehydrateStorage)==null?void 0:A.call(c,(C=o())!=null?C:T))||void 0;return Zd(b.getItem.bind(b))(c.name).then(z=>{if(z)if(typeof z.version=="number"&&z.version!==c.version){if(c.migrate){const P=c.migrate(z.state,z.version);return P instanceof Promise?P.then(Y=>[!0,Y]):[!0,P]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,z.state];return[!1,void 0]}).then(z=>{var P;if(N!==h)return;const[Y,G]=z;if(R=c.merge(G,(P=o())!=null?P:T),r(R,!0),Y)return y()}).then(()=>{N===h&&(j==null||j(o(),void 0),R=o(),d=!0,p.forEach(z=>z(R)))}).catch(z=>{N===h&&(j==null||j(void 0,z))})};return s.persist={setOptions:C=>{c={...c,...C},C.storage&&(b=C.storage)},clearStorage:()=>{b==null||b.removeItem(c.name)},getOptions:()=>c,rehydrate:()=>w(),hasHydrated:()=>d,onHydrate:C=>(v.add(C),()=>{v.delete(C)}),onFinishHydration:C=>(p.add(C),()=>{p.delete(C)})},c.skipHydration||w(),R||T},kT=HT,$d=p0()(kT(n=>({sidebarCollapsed:!1,theme:"system",treeDrawerPinned:!1,linkDrawerPinned:!1,setSidebarCollapsed:l=>n({sidebarCollapsed:l}),toggleSidebar:()=>n(l=>({sidebarCollapsed:!l.sidebarCollapsed})),setTheme:l=>n({theme:l}),setTreeDrawerPinned:l=>n({treeDrawerPinned:l}),setLinkDrawerPinned:l=>n({linkDrawerPinned:l})}),{name:"docsiq-ui"}));function qT({children:n}){const[l]=m.useState(()=>new xT({defaultOptions:{queries:{staleTime:3e4,retry:(o,s)=>{const c=(s==null?void 0:s.status)??0;return c>=400&&c<500?!1:o<3},refetchOnWindowFocus:!1}}})),r=$d(o=>o.theme);return m.useEffect(()=>{const o=document.documentElement,s=()=>{const c=window.matchMedia("(prefers-color-scheme: dark)").matches,d=r==="system"?c?"dark":"light":r;o.dataset.theme=d,o.classList.toggle("dark",d==="dark")};if(s(),r==="system"){const c=window.matchMedia("(prefers-color-scheme: dark)");return c.addEventListener("change",s),()=>c.removeEventListener("change",s)}},[r]),x.jsx(ST,{client:l,children:x.jsx(QC,{children:n})})}/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const GT=n=>n.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),v0=(...n)=>n.filter((l,r,o)=>!!l&&l.trim()!==""&&o.indexOf(l)===r).join(" ").trim();/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var VT={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const PT=m.forwardRef(({color:n="currentColor",size:l=24,strokeWidth:r=2,absoluteStrokeWidth:o,className:s="",children:c,iconNode:d,...h},v)=>m.createElement("svg",{ref:v,...VT,width:l,height:l,stroke:n,strokeWidth:o?Number(r)*24/Number(l):r,className:v0("lucide",s),...h},[...d.map(([p,b])=>m.createElement(p,b)),...Array.isArray(c)?c:[c]]));/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const wt=(n,l)=>{const r=m.forwardRef(({className:o,...s},c)=>m.createElement(PT,{ref:c,iconNode:l,className:v0(`lucide-${GT(n)}`,o),...s}));return r.displayName=`${n}`,r};/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Iy=wt("ArrowUpRight",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const IT=wt("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const YT=wt("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const g0=wt("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const QT=wt("ChevronUp",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const KT=wt("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const XT=wt("House",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"1d0kgt"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Yy=wt("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Qy=wt("Moon",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const FT=wt("Network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ZT=wt("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const y0=wt("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const $T=wt("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ky=wt("Sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const JT=wt("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]);/** - * @license lucide-react v0.469.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const b0=wt("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function x0(n){var l,r,o="";if(typeof n=="string"||typeof n=="number")o+=n;else if(typeof n=="object")if(Array.isArray(n)){var s=n.length;for(l=0;ltypeof n=="boolean"?`${n}`:n===0?"0":n,Fy=S0,E0=(n,l)=>r=>{var o;if((l==null?void 0:l.variants)==null)return Fy(n,r==null?void 0:r.class,r==null?void 0:r.className);const{variants:s,defaultVariants:c}=l,d=Object.keys(s).map(p=>{const b=r==null?void 0:r[p],y=c==null?void 0:c[p];if(b===null)return null;const E=Xy(b)||Xy(y);return s[p][E]}),h=r&&Object.entries(r).reduce((p,b)=>{let[y,E]=b;return E===void 0||(p[y]=E),p},{}),v=l==null||(o=l.compoundVariants)===null||o===void 0?void 0:o.reduce((p,b)=>{let{class:y,className:E,...T}=b;return Object.entries(T).every(R=>{let[w,C]=R;return Array.isArray(C)?C.includes({...c,...h}[w]):{...c,...h}[w]===C})?[...p,y,E]:p},[]);return Fy(n,d,v,r==null?void 0:r.class,r==null?void 0:r.className)};function Zy(n,l){if(typeof n=="function")return n(l);n!=null&&(n.current=l)}function Bt(...n){return l=>{let r=!1;const o=n.map(s=>{const c=Zy(s,l);return!r&&typeof c=="function"&&(r=!0),c});if(r)return()=>{for(let s=0;s{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(nR);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}function eR(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=lR(s),h=aR(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var tR=Symbol("radix.slottable");function nR(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===tR}function aR(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function lR(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var rR=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Se=rR.reduce((n,l)=>{const r=WT(`Primitive.${l}`),o=m.forwardRef((s,c)=>{const{asChild:d,...h}=s,v=d?r:l;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),x.jsx(v,{...h,ref:c})});return o.displayName=`Primitive.${l}`,{...n,[l]:o}},{});function w0(n,l){n&&Ao.flushSync(()=>n.dispatchEvent(l))}var C0=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),iR="VisuallyHidden",T0=m.forwardRef((n,l)=>x.jsx(Se.span,{...n,ref:l,style:{...C0,...n.style}}));T0.displayName=iR;var oR=T0;function sR(n,l){const r=m.createContext(l),o=c=>{const{children:d,...h}=c,v=m.useMemo(()=>h,Object.values(h));return x.jsx(r.Provider,{value:v,children:d})};o.displayName=n+"Provider";function s(c){const d=m.useContext(r);if(d)return d;if(l!==void 0)return l;throw new Error(`\`${c}\` must be used within \`${n}\``)}return[o,s]}function rl(n,l=[]){let r=[];function o(c,d){const h=m.createContext(d),v=r.length;r=[...r,d];const p=y=>{var A;const{scope:E,children:T,...R}=y,w=((A=E==null?void 0:E[n])==null?void 0:A[v])||h,C=m.useMemo(()=>R,Object.values(R));return x.jsx(w.Provider,{value:C,children:T})};p.displayName=c+"Provider";function b(y,E){var w;const T=((w=E==null?void 0:E[n])==null?void 0:w[v])||h,R=m.useContext(T);if(R)return R;if(d!==void 0)return d;throw new Error(`\`${y}\` must be used within \`${c}\``)}return[p,b]}const s=()=>{const c=r.map(d=>m.createContext(d));return function(h){const v=(h==null?void 0:h[n])||c;return m.useMemo(()=>({[`__scope${n}`]:{...h,[n]:v}}),[h,v])}};return s.scopeName=n,[o,uR(s,...l)]}function uR(...n){const l=n[0];if(n.length===1)return l;const r=()=>{const o=n.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(c){const d=o.reduce((h,{useScope:v,scopeName:p})=>{const y=v(c)[`__scope${p}`];return{...h,...y}},{});return m.useMemo(()=>({[`__scope${l.scopeName}`]:d}),[d])}};return r.scopeName=l.scopeName,r}function $y(n){const l=cR(n),r=m.forwardRef((o,s)=>{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(dR);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}function cR(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=mR(s),h=hR(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var fR=Symbol("radix.slottable");function dR(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===fR}function hR(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function mR(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}function Mh(n){const l=n+"CollectionProvider",[r,o]=rl(l),[s,c]=r(l,{collectionRef:{current:null},itemMap:new Map}),d=w=>{const{scope:C,children:A}=w,N=un.useRef(null),j=un.useRef(new Map).current;return x.jsx(s,{scope:C,itemMap:j,collectionRef:N,children:A})};d.displayName=l;const h=n+"CollectionSlot",v=$y(h),p=un.forwardRef((w,C)=>{const{scope:A,children:N}=w,j=c(h,A),z=Ve(C,j.collectionRef);return x.jsx(v,{ref:z,children:N})});p.displayName=h;const b=n+"CollectionItemSlot",y="data-radix-collection-item",E=$y(b),T=un.forwardRef((w,C)=>{const{scope:A,children:N,...j}=w,z=un.useRef(null),P=Ve(C,z),Y=c(b,A);return un.useEffect(()=>(Y.itemMap.set(z,{ref:z,...j}),()=>void Y.itemMap.delete(z))),x.jsx(E,{[y]:"",ref:P,children:N})});T.displayName=b;function R(w){const C=c(n+"CollectionConsumer",w);return un.useCallback(()=>{const N=C.collectionRef.current;if(!N)return[];const j=Array.from(N.querySelectorAll(`[${y}]`));return Array.from(C.itemMap.values()).sort((Y,G)=>j.indexOf(Y.ref.current)-j.indexOf(G.ref.current))},[C.collectionRef,C.itemMap])}return[{Provider:d,Slot:p,ItemSlot:T},R,o]}function fe(n,l,{checkForDefaultPrevented:r=!0}={}){return function(s){if(n==null||n(s),r===!1||!s.defaultPrevented)return l==null?void 0:l(s)}}var Et=globalThis!=null&&globalThis.document?m.useLayoutEffect:()=>{},pR=yh[" useInsertionEffect ".trim().toString()]||Et;function ni({prop:n,defaultProp:l,onChange:r=()=>{},caller:o}){const[s,c,d]=vR({defaultProp:l,onChange:r}),h=n!==void 0,v=h?n:s;{const b=m.useRef(n!==void 0);m.useEffect(()=>{const y=b.current;y!==h&&console.warn(`${o} is changing from ${y?"controlled":"uncontrolled"} to ${h?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),b.current=h},[h,o])}const p=m.useCallback(b=>{var y;if(h){const E=gR(b)?b(n):b;E!==n&&((y=d.current)==null||y.call(d,E))}else c(b)},[h,n,c,d]);return[v,p]}function vR({defaultProp:n,onChange:l}){const[r,o]=m.useState(n),s=m.useRef(r),c=m.useRef(l);return pR(()=>{c.current=l},[l]),m.useEffect(()=>{var d;s.current!==r&&((d=c.current)==null||d.call(c,r),s.current=r)},[r,s]),[r,o,c]}function gR(n){return typeof n=="function"}function yR(n,l){return m.useReducer((r,o)=>l[r][o]??r,n)}var zn=n=>{const{present:l,children:r}=n,o=bR(l),s=typeof r=="function"?r({present:o.isPresent}):m.Children.only(r),c=Ve(o.ref,xR(s));return typeof r=="function"||o.isPresent?m.cloneElement(s,{ref:c}):null};zn.displayName="Presence";function bR(n){const[l,r]=m.useState(),o=m.useRef(null),s=m.useRef(n),c=m.useRef("none"),d=n?"mounted":"unmounted",[h,v]=yR(d,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return m.useEffect(()=>{const p=au(o.current);c.current=h==="mounted"?p:"none"},[h]),Et(()=>{const p=o.current,b=s.current;if(b!==n){const E=c.current,T=au(p);n?v("MOUNT"):T==="none"||(p==null?void 0:p.display)==="none"?v("UNMOUNT"):v(b&&E!==T?"ANIMATION_OUT":"UNMOUNT"),s.current=n}},[n,v]),Et(()=>{if(l){let p;const b=l.ownerDocument.defaultView??window,y=T=>{const w=au(o.current).includes(CSS.escape(T.animationName));if(T.target===l&&w&&(v("ANIMATION_END"),!s.current)){const C=l.style.animationFillMode;l.style.animationFillMode="forwards",p=b.setTimeout(()=>{l.style.animationFillMode==="forwards"&&(l.style.animationFillMode=C)})}},E=T=>{T.target===l&&(c.current=au(o.current))};return l.addEventListener("animationstart",E),l.addEventListener("animationcancel",y),l.addEventListener("animationend",y),()=>{b.clearTimeout(p),l.removeEventListener("animationstart",E),l.removeEventListener("animationcancel",y),l.removeEventListener("animationend",y)}}else v("ANIMATION_END")},[l,v]),{isPresent:["mounted","unmountSuspended"].includes(h),ref:m.useCallback(p=>{o.current=p?getComputedStyle(p):null,r(p)},[])}}function au(n){return(n==null?void 0:n.animationName)||"none"}function xR(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var SR=yh[" useId ".trim().toString()]||(()=>{}),ER=0;function St(n){const[l,r]=m.useState(SR());return Et(()=>{r(o=>o??String(ER++))},[n]),n||(l?`radix-${l}`:"")}var wR=m.createContext(void 0);function Oh(n){const l=m.useContext(wR);return n||l||"ltr"}function Dn(n){const l=m.useRef(n);return m.useEffect(()=>{l.current=n}),m.useMemo(()=>(...r)=>{var o;return(o=l.current)==null?void 0:o.call(l,...r)},[])}function CR(n,l=globalThis==null?void 0:globalThis.document){const r=Dn(n);m.useEffect(()=>{const o=s=>{s.key==="Escape"&&r(s)};return l.addEventListener("keydown",o,{capture:!0}),()=>l.removeEventListener("keydown",o,{capture:!0})},[r,l])}var TR="DismissableLayer",Jd="dismissableLayer.update",RR="dismissableLayer.pointerDownOutside",AR="dismissableLayer.focusOutside",Jy,R0=m.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Mo=m.forwardRef((n,l)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:c,onInteractOutside:d,onDismiss:h,...v}=n,p=m.useContext(R0),[b,y]=m.useState(null),E=(b==null?void 0:b.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,T]=m.useState({}),R=Ve(l,G=>y(G)),w=Array.from(p.layers),[C]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),A=w.indexOf(C),N=b?w.indexOf(b):-1,j=p.layersWithOutsidePointerEventsDisabled.size>0,z=N>=A,P=OR(G=>{const te=G.target,le=[...p.branches].some(ie=>ie.contains(te));!z||le||(s==null||s(G),d==null||d(G),G.defaultPrevented||h==null||h())},E),Y=NR(G=>{const te=G.target;[...p.branches].some(ie=>ie.contains(te))||(c==null||c(G),d==null||d(G),G.defaultPrevented||h==null||h())},E);return CR(G=>{N===p.layers.size-1&&(o==null||o(G),!G.defaultPrevented&&h&&(G.preventDefault(),h()))},E),m.useEffect(()=>{if(b)return r&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(Jy=E.body.style.pointerEvents,E.body.style.pointerEvents="none"),p.layersWithOutsidePointerEventsDisabled.add(b)),p.layers.add(b),Wy(),()=>{r&&p.layersWithOutsidePointerEventsDisabled.size===1&&(E.body.style.pointerEvents=Jy)}},[b,E,r,p]),m.useEffect(()=>()=>{b&&(p.layers.delete(b),p.layersWithOutsidePointerEventsDisabled.delete(b),Wy())},[b,p]),m.useEffect(()=>{const G=()=>T({});return document.addEventListener(Jd,G),()=>document.removeEventListener(Jd,G)},[]),x.jsx(Se.div,{...v,ref:R,style:{pointerEvents:j?z?"auto":"none":void 0,...n.style},onFocusCapture:fe(n.onFocusCapture,Y.onFocusCapture),onBlurCapture:fe(n.onBlurCapture,Y.onBlurCapture),onPointerDownCapture:fe(n.onPointerDownCapture,P.onPointerDownCapture)})});Mo.displayName=TR;var _R="DismissableLayerBranch",MR=m.forwardRef((n,l)=>{const r=m.useContext(R0),o=m.useRef(null),s=Ve(l,o);return m.useEffect(()=>{const c=o.current;if(c)return r.branches.add(c),()=>{r.branches.delete(c)}},[r.branches]),x.jsx(Se.div,{...n,ref:s})});MR.displayName=_R;function OR(n,l=globalThis==null?void 0:globalThis.document){const r=Dn(n),o=m.useRef(!1),s=m.useRef(()=>{});return m.useEffect(()=>{const c=h=>{if(h.target&&!o.current){let v=function(){A0(RR,r,p,{discrete:!0})};const p={originalEvent:h};h.pointerType==="touch"?(l.removeEventListener("click",s.current),s.current=v,l.addEventListener("click",s.current,{once:!0})):v()}else l.removeEventListener("click",s.current);o.current=!1},d=window.setTimeout(()=>{l.addEventListener("pointerdown",c)},0);return()=>{window.clearTimeout(d),l.removeEventListener("pointerdown",c),l.removeEventListener("click",s.current)}},[l,r]),{onPointerDownCapture:()=>o.current=!0}}function NR(n,l=globalThis==null?void 0:globalThis.document){const r=Dn(n),o=m.useRef(!1);return m.useEffect(()=>{const s=c=>{c.target&&!o.current&&A0(AR,r,{originalEvent:c},{discrete:!1})};return l.addEventListener("focusin",s),()=>l.removeEventListener("focusin",s)},[l,r]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function Wy(){const n=new CustomEvent(Jd);document.dispatchEvent(n)}function A0(n,l,r,{discrete:o}){const s=r.originalEvent.target,c=new CustomEvent(n,{bubbles:!1,cancelable:!0,detail:r});l&&s.addEventListener(n,l,{once:!0}),o?w0(s,c):s.dispatchEvent(c)}var pd="focusScope.autoFocusOnMount",vd="focusScope.autoFocusOnUnmount",eb={bubbles:!1,cancelable:!0},DR="FocusScope",_u=m.forwardRef((n,l)=>{const{loop:r=!1,trapped:o=!1,onMountAutoFocus:s,onUnmountAutoFocus:c,...d}=n,[h,v]=m.useState(null),p=Dn(s),b=Dn(c),y=m.useRef(null),E=Ve(l,w=>v(w)),T=m.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;m.useEffect(()=>{if(o){let w=function(j){if(T.paused||!h)return;const z=j.target;h.contains(z)?y.current=z:Va(y.current,{select:!0})},C=function(j){if(T.paused||!h)return;const z=j.relatedTarget;z!==null&&(h.contains(z)||Va(y.current,{select:!0}))},A=function(j){if(document.activeElement===document.body)for(const P of j)P.removedNodes.length>0&&Va(h)};document.addEventListener("focusin",w),document.addEventListener("focusout",C);const N=new MutationObserver(A);return h&&N.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",w),document.removeEventListener("focusout",C),N.disconnect()}}},[o,h,T.paused]),m.useEffect(()=>{if(h){nb.add(T);const w=document.activeElement;if(!h.contains(w)){const A=new CustomEvent(pd,eb);h.addEventListener(pd,p),h.dispatchEvent(A),A.defaultPrevented||(jR(HR(_0(h)),{select:!0}),document.activeElement===w&&Va(h))}return()=>{h.removeEventListener(pd,p),setTimeout(()=>{const A=new CustomEvent(vd,eb);h.addEventListener(vd,b),h.dispatchEvent(A),A.defaultPrevented||Va(w??document.body,{select:!0}),h.removeEventListener(vd,b),nb.remove(T)},0)}}},[h,p,b,T]);const R=m.useCallback(w=>{if(!r&&!o||T.paused)return;const C=w.key==="Tab"&&!w.altKey&&!w.ctrlKey&&!w.metaKey,A=document.activeElement;if(C&&A){const N=w.currentTarget,[j,z]=zR(N);j&&z?!w.shiftKey&&A===z?(w.preventDefault(),r&&Va(j,{select:!0})):w.shiftKey&&A===j&&(w.preventDefault(),r&&Va(z,{select:!0})):A===N&&w.preventDefault()}},[r,o,T.paused]);return x.jsx(Se.div,{tabIndex:-1,...d,ref:E,onKeyDown:R})});_u.displayName=DR;function jR(n,{select:l=!1}={}){const r=document.activeElement;for(const o of n)if(Va(o,{select:l}),document.activeElement!==r)return}function zR(n){const l=_0(n),r=tb(l,n),o=tb(l.reverse(),n);return[r,o]}function _0(n){const l=[],r=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const s=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||s?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)l.push(r.currentNode);return l}function tb(n,l){for(const r of n)if(!UR(r,{upTo:l}))return r}function UR(n,{upTo:l}){if(getComputedStyle(n).visibility==="hidden")return!0;for(;n;){if(l!==void 0&&n===l)return!1;if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}function LR(n){return n instanceof HTMLInputElement&&"select"in n}function Va(n,{select:l=!1}={}){if(n&&n.focus){const r=document.activeElement;n.focus({preventScroll:!0}),n!==r&&LR(n)&&l&&n.select()}}var nb=BR();function BR(){let n=[];return{add(l){const r=n[0];l!==r&&(r==null||r.pause()),n=ab(n,l),n.unshift(l)},remove(l){var r;n=ab(n,l),(r=n[0])==null||r.resume()}}}function ab(n,l){const r=[...n],o=r.indexOf(l);return o!==-1&&r.splice(o,1),r}function HR(n){return n.filter(l=>l.tagName!=="A")}var kR="Portal",Oo=m.forwardRef((n,l)=>{var h;const{container:r,...o}=n,[s,c]=m.useState(!1);Et(()=>c(!0),[]);const d=r||s&&((h=globalThis==null?void 0:globalThis.document)==null?void 0:h.body);return d?Iw.createPortal(x.jsx(Se.div,{...o,ref:l}),d):null});Oo.displayName=kR;var gd=0;function Nh(){m.useEffect(()=>{const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",n[0]??lb()),document.body.insertAdjacentElement("beforeend",n[1]??lb()),gd++,()=>{gd===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(l=>l.remove()),gd--}},[])}function lb(){const n=document.createElement("span");return n.setAttribute("data-radix-focus-guard",""),n.tabIndex=0,n.style.outline="none",n.style.opacity="0",n.style.position="fixed",n.style.pointerEvents="none",n}var _n=function(){return _n=Object.assign||function(l){for(var r,o=1,s=arguments.length;o"u")return nA;var l=aA(n),r=document.documentElement.clientWidth,o=window.innerWidth;return{left:l[0],top:l[1],right:l[2],gap:Math.max(0,o-r+l[2]-l[0])}},rA=D0(),Gr="data-scroll-locked",iA=function(n,l,r,o){var s=n.left,c=n.top,d=n.right,h=n.gap;return r===void 0&&(r="margin"),` - .`.concat(GR,` { - overflow: hidden `).concat(o,`; - padding-right: `).concat(h,"px ").concat(o,`; - } - body[`).concat(Gr,`] { - overflow: hidden `).concat(o,`; - overscroll-behavior: contain; - `).concat([l&&"position: relative ".concat(o,";"),r==="margin"&&` - padding-left: `.concat(s,`px; - padding-top: `).concat(c,`px; - padding-right: `).concat(d,`px; - margin-left:0; - margin-top:0; - margin-right: `).concat(h,"px ").concat(o,`; - `),r==="padding"&&"padding-right: ".concat(h,"px ").concat(o,";")].filter(Boolean).join(""),` - } - - .`).concat(du,` { - right: `).concat(h,"px ").concat(o,`; - } - - .`).concat(hu,` { - margin-right: `).concat(h,"px ").concat(o,`; - } - - .`).concat(du," .").concat(du,` { - right: 0 `).concat(o,`; - } - - .`).concat(hu," .").concat(hu,` { - margin-right: 0 `).concat(o,`; - } - - body[`).concat(Gr,`] { - `).concat(VR,": ").concat(h,`px; - } -`)},ib=function(){var n=parseInt(document.body.getAttribute(Gr)||"0",10);return isFinite(n)?n:0},oA=function(){m.useEffect(function(){return document.body.setAttribute(Gr,(ib()+1).toString()),function(){var n=ib()-1;n<=0?document.body.removeAttribute(Gr):document.body.setAttribute(Gr,n.toString())}},[])},sA=function(n){var l=n.noRelative,r=n.noImportant,o=n.gapMode,s=o===void 0?"margin":o;oA();var c=m.useMemo(function(){return lA(s)},[s]);return m.createElement(rA,{styles:iA(c,!l,s,r?"":"!important")})},Wd=!1;if(typeof window<"u")try{var lu=Object.defineProperty({},"passive",{get:function(){return Wd=!0,!0}});window.addEventListener("test",lu,lu),window.removeEventListener("test",lu,lu)}catch{Wd=!1}var zr=Wd?{passive:!1}:!1,uA=function(n){return n.tagName==="TEXTAREA"},j0=function(n,l){if(!(n instanceof Element))return!1;var r=window.getComputedStyle(n);return r[l]!=="hidden"&&!(r.overflowY===r.overflowX&&!uA(n)&&r[l]==="visible")},cA=function(n){return j0(n,"overflowY")},fA=function(n){return j0(n,"overflowX")},ob=function(n,l){var r=l.ownerDocument,o=l;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var s=z0(n,o);if(s){var c=U0(n,o),d=c[1],h=c[2];if(d>h)return!0}o=o.parentNode}while(o&&o!==r.body);return!1},dA=function(n){var l=n.scrollTop,r=n.scrollHeight,o=n.clientHeight;return[l,r,o]},hA=function(n){var l=n.scrollLeft,r=n.scrollWidth,o=n.clientWidth;return[l,r,o]},z0=function(n,l){return n==="v"?cA(l):fA(l)},U0=function(n,l){return n==="v"?dA(l):hA(l)},mA=function(n,l){return n==="h"&&l==="rtl"?-1:1},pA=function(n,l,r,o,s){var c=mA(n,window.getComputedStyle(l).direction),d=c*o,h=r.target,v=l.contains(h),p=!1,b=d>0,y=0,E=0;do{if(!h)break;var T=U0(n,h),R=T[0],w=T[1],C=T[2],A=w-C-c*R;(R||A)&&z0(n,h)&&(y+=A,E+=R);var N=h.parentNode;h=N&&N.nodeType===Node.DOCUMENT_FRAGMENT_NODE?N.host:N}while(!v&&h!==document.body||v&&(l.contains(h)||l===h));return(b&&Math.abs(y)<1||!b&&Math.abs(E)<1)&&(p=!0),p},ru=function(n){return"changedTouches"in n?[n.changedTouches[0].clientX,n.changedTouches[0].clientY]:[0,0]},sb=function(n){return[n.deltaX,n.deltaY]},ub=function(n){return n&&"current"in n?n.current:n},vA=function(n,l){return n[0]===l[0]&&n[1]===l[1]},gA=function(n){return` - .block-interactivity-`.concat(n,` {pointer-events: none;} - .allow-interactivity-`).concat(n,` {pointer-events: all;} -`)},yA=0,Ur=[];function bA(n){var l=m.useRef([]),r=m.useRef([0,0]),o=m.useRef(),s=m.useState(yA++)[0],c=m.useState(D0)[0],d=m.useRef(n);m.useEffect(function(){d.current=n},[n]),m.useEffect(function(){if(n.inert){document.body.classList.add("block-interactivity-".concat(s));var w=qR([n.lockRef.current],(n.shards||[]).map(ub),!0).filter(Boolean);return w.forEach(function(C){return C.classList.add("allow-interactivity-".concat(s))}),function(){document.body.classList.remove("block-interactivity-".concat(s)),w.forEach(function(C){return C.classList.remove("allow-interactivity-".concat(s))})}}},[n.inert,n.lockRef.current,n.shards]);var h=m.useCallback(function(w,C){if("touches"in w&&w.touches.length===2||w.type==="wheel"&&w.ctrlKey)return!d.current.allowPinchZoom;var A=ru(w),N=r.current,j="deltaX"in w?w.deltaX:N[0]-A[0],z="deltaY"in w?w.deltaY:N[1]-A[1],P,Y=w.target,G=Math.abs(j)>Math.abs(z)?"h":"v";if("touches"in w&&G==="h"&&Y.type==="range")return!1;var te=window.getSelection(),le=te&&te.anchorNode,ie=le?le===Y||le.contains(Y):!1;if(ie)return!1;var se=ob(G,Y);if(!se)return!0;if(se?P=G:(P=G==="v"?"h":"v",se=ob(G,Y)),!se)return!1;if(!o.current&&"changedTouches"in w&&(j||z)&&(o.current=P),!P)return!0;var ne=o.current||P;return pA(ne,C,w,ne==="h"?j:z)},[]),v=m.useCallback(function(w){var C=w;if(!(!Ur.length||Ur[Ur.length-1]!==c)){var A="deltaY"in C?sb(C):ru(C),N=l.current.filter(function(P){return P.name===C.type&&(P.target===C.target||C.target===P.shadowParent)&&vA(P.delta,A)})[0];if(N&&N.should){C.cancelable&&C.preventDefault();return}if(!N){var j=(d.current.shards||[]).map(ub).filter(Boolean).filter(function(P){return P.contains(C.target)}),z=j.length>0?h(C,j[0]):!d.current.noIsolation;z&&C.cancelable&&C.preventDefault()}}},[]),p=m.useCallback(function(w,C,A,N){var j={name:w,delta:C,target:A,should:N,shadowParent:xA(A)};l.current.push(j),setTimeout(function(){l.current=l.current.filter(function(z){return z!==j})},1)},[]),b=m.useCallback(function(w){r.current=ru(w),o.current=void 0},[]),y=m.useCallback(function(w){p(w.type,sb(w),w.target,h(w,n.lockRef.current))},[]),E=m.useCallback(function(w){p(w.type,ru(w),w.target,h(w,n.lockRef.current))},[]);m.useEffect(function(){return Ur.push(c),n.setCallbacks({onScrollCapture:y,onWheelCapture:y,onTouchMoveCapture:E}),document.addEventListener("wheel",v,zr),document.addEventListener("touchmove",v,zr),document.addEventListener("touchstart",b,zr),function(){Ur=Ur.filter(function(w){return w!==c}),document.removeEventListener("wheel",v,zr),document.removeEventListener("touchmove",v,zr),document.removeEventListener("touchstart",b,zr)}},[]);var T=n.removeScrollBar,R=n.inert;return m.createElement(m.Fragment,null,R?m.createElement(c,{styles:gA(s)}):null,T?m.createElement(sA,{noRelative:n.noRelative,gapMode:n.gapMode}):null)}function xA(n){for(var l=null;n!==null;)n instanceof ShadowRoot&&(l=n.host,n=n.host),n=n.parentNode;return l}const SA=FR(N0,bA);var Ou=m.forwardRef(function(n,l){return m.createElement(Mu,_n({},n,{ref:l,sideCar:SA}))});Ou.classNames=Mu.classNames;var EA=function(n){if(typeof document>"u")return null;var l=Array.isArray(n)?n[0]:n;return l.ownerDocument.body},Lr=new WeakMap,iu=new WeakMap,ou={},Sd=0,L0=function(n){return n&&(n.host||L0(n.parentNode))},wA=function(n,l){return l.map(function(r){if(n.contains(r))return r;var o=L0(r);return o&&n.contains(o)?o:(console.error("aria-hidden",r,"in not contained inside",n,". Doing nothing"),null)}).filter(function(r){return!!r})},CA=function(n,l,r,o){var s=wA(l,Array.isArray(n)?n:[n]);ou[r]||(ou[r]=new WeakMap);var c=ou[r],d=[],h=new Set,v=new Set(s),p=function(y){!y||h.has(y)||(h.add(y),p(y.parentNode))};s.forEach(p);var b=function(y){!y||v.has(y)||Array.prototype.forEach.call(y.children,function(E){if(h.has(E))b(E);else try{var T=E.getAttribute(o),R=T!==null&&T!=="false",w=(Lr.get(E)||0)+1,C=(c.get(E)||0)+1;Lr.set(E,w),c.set(E,C),d.push(E),w===1&&R&&iu.set(E,!0),C===1&&E.setAttribute(r,"true"),R||E.setAttribute(o,"true")}catch(A){console.error("aria-hidden: cannot operate on ",E,A)}})};return b(l),h.clear(),Sd++,function(){d.forEach(function(y){var E=Lr.get(y)-1,T=c.get(y)-1;Lr.set(y,E),c.set(y,T),E||(iu.has(y)||y.removeAttribute(o),iu.delete(y)),T||y.removeAttribute(r)}),Sd--,Sd||(Lr=new WeakMap,Lr=new WeakMap,iu=new WeakMap,ou={})}},Dh=function(n,l,r){r===void 0&&(r="data-aria-hidden");var o=Array.from(Array.isArray(n)?n:[n]),s=EA(n);return s?(o.push.apply(o,Array.from(s.querySelectorAll("[aria-live], script"))),CA(o,s,r,"aria-hidden")):function(){return null}};function TA(n){const l=RA(n),r=m.forwardRef((o,s)=>{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(_A);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}function RA(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=OA(s),h=MA(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var AA=Symbol("radix.slottable");function _A(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===AA}function MA(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function OA(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var Nu="Dialog",[B0]=rl(Nu),[NA,xn]=B0(Nu),H0=n=>{const{__scopeDialog:l,children:r,open:o,defaultOpen:s,onOpenChange:c,modal:d=!0}=n,h=m.useRef(null),v=m.useRef(null),[p,b]=ni({prop:o,defaultProp:s??!1,onChange:c,caller:Nu});return x.jsx(NA,{scope:l,triggerRef:h,contentRef:v,contentId:St(),titleId:St(),descriptionId:St(),open:p,onOpenChange:b,onOpenToggle:m.useCallback(()=>b(y=>!y),[b]),modal:d,children:r})};H0.displayName=Nu;var k0="DialogTrigger",DA=m.forwardRef((n,l)=>{const{__scopeDialog:r,...o}=n,s=xn(k0,r),c=Ve(l,s.triggerRef);return x.jsx(Se.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":Uh(s.open),...o,ref:c,onClick:fe(n.onClick,s.onOpenToggle)})});DA.displayName=k0;var jh="DialogPortal",[jA,q0]=B0(jh,{forceMount:void 0}),G0=n=>{const{__scopeDialog:l,forceMount:r,children:o,container:s}=n,c=xn(jh,l);return x.jsx(jA,{scope:l,forceMount:r,children:m.Children.map(o,d=>x.jsx(zn,{present:r||c.open,children:x.jsx(Oo,{asChild:!0,container:s,children:d})}))})};G0.displayName=jh;var yu="DialogOverlay",V0=m.forwardRef((n,l)=>{const r=q0(yu,n.__scopeDialog),{forceMount:o=r.forceMount,...s}=n,c=xn(yu,n.__scopeDialog);return c.modal?x.jsx(zn,{present:o||c.open,children:x.jsx(UA,{...s,ref:l})}):null});V0.displayName=yu;var zA=TA("DialogOverlay.RemoveScroll"),UA=m.forwardRef((n,l)=>{const{__scopeDialog:r,...o}=n,s=xn(yu,r);return x.jsx(Ou,{as:zA,allowPinchZoom:!0,shards:[s.contentRef],children:x.jsx(Se.div,{"data-state":Uh(s.open),...o,ref:l,style:{pointerEvents:"auto",...o.style}})})}),ql="DialogContent",P0=m.forwardRef((n,l)=>{const r=q0(ql,n.__scopeDialog),{forceMount:o=r.forceMount,...s}=n,c=xn(ql,n.__scopeDialog);return x.jsx(zn,{present:o||c.open,children:c.modal?x.jsx(LA,{...s,ref:l}):x.jsx(BA,{...s,ref:l})})});P0.displayName=ql;var LA=m.forwardRef((n,l)=>{const r=xn(ql,n.__scopeDialog),o=m.useRef(null),s=Ve(l,r.contentRef,o);return m.useEffect(()=>{const c=o.current;if(c)return Dh(c)},[]),x.jsx(I0,{...n,ref:s,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:fe(n.onCloseAutoFocus,c=>{var d;c.preventDefault(),(d=r.triggerRef.current)==null||d.focus()}),onPointerDownOutside:fe(n.onPointerDownOutside,c=>{const d=c.detail.originalEvent,h=d.button===0&&d.ctrlKey===!0;(d.button===2||h)&&c.preventDefault()}),onFocusOutside:fe(n.onFocusOutside,c=>c.preventDefault())})}),BA=m.forwardRef((n,l)=>{const r=xn(ql,n.__scopeDialog),o=m.useRef(!1),s=m.useRef(!1);return x.jsx(I0,{...n,ref:l,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:c=>{var d,h;(d=n.onCloseAutoFocus)==null||d.call(n,c),c.defaultPrevented||(o.current||(h=r.triggerRef.current)==null||h.focus(),c.preventDefault()),o.current=!1,s.current=!1},onInteractOutside:c=>{var v,p;(v=n.onInteractOutside)==null||v.call(n,c),c.defaultPrevented||(o.current=!0,c.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const d=c.target;((p=r.triggerRef.current)==null?void 0:p.contains(d))&&c.preventDefault(),c.detail.originalEvent.type==="focusin"&&s.current&&c.preventDefault()}})}),I0=m.forwardRef((n,l)=>{const{__scopeDialog:r,trapFocus:o,onOpenAutoFocus:s,onCloseAutoFocus:c,...d}=n,h=xn(ql,r),v=m.useRef(null),p=Ve(l,v);return Nh(),x.jsxs(x.Fragment,{children:[x.jsx(_u,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:s,onUnmountAutoFocus:c,children:x.jsx(Mo,{role:"dialog",id:h.contentId,"aria-describedby":h.descriptionId,"aria-labelledby":h.titleId,"data-state":Uh(h.open),...d,ref:p,onDismiss:()=>h.onOpenChange(!1)})}),x.jsxs(x.Fragment,{children:[x.jsx(HA,{titleId:h.titleId}),x.jsx(qA,{contentRef:v,descriptionId:h.descriptionId})]})]})}),zh="DialogTitle",Y0=m.forwardRef((n,l)=>{const{__scopeDialog:r,...o}=n,s=xn(zh,r);return x.jsx(Se.h2,{id:s.titleId,...o,ref:l})});Y0.displayName=zh;var Q0="DialogDescription",K0=m.forwardRef((n,l)=>{const{__scopeDialog:r,...o}=n,s=xn(Q0,r);return x.jsx(Se.p,{id:s.descriptionId,...o,ref:l})});K0.displayName=Q0;var X0="DialogClose",F0=m.forwardRef((n,l)=>{const{__scopeDialog:r,...o}=n,s=xn(X0,r);return x.jsx(Se.button,{type:"button",...o,ref:l,onClick:fe(n.onClick,()=>s.onOpenChange(!1))})});F0.displayName=X0;function Uh(n){return n?"open":"closed"}var Z0="DialogTitleWarning",[Qj,$0]=sR(Z0,{contentName:ql,titleName:zh,docsSlug:"dialog"}),HA=({titleId:n})=>{const l=$0(Z0),r=`\`${l.contentName}\` requires a \`${l.titleName}\` for the component to be accessible for screen reader users. - -If you want to hide the \`${l.titleName}\`, you can wrap it with our VisuallyHidden component. - -For more information, see https://radix-ui.com/primitives/docs/components/${l.docsSlug}`;return m.useEffect(()=>{n&&(document.getElementById(n)||console.error(r))},[r,n]),null},kA="DialogDescriptionWarning",qA=({contentRef:n,descriptionId:l})=>{const o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${$0(kA).contentName}}.`;return m.useEffect(()=>{var c;const s=(c=n.current)==null?void 0:c.getAttribute("aria-describedby");l&&s&&(document.getElementById(l)||console.warn(o))},[o,n,l]),null},Lh=H0,Bh=G0,Hh=V0,kh=P0,J0=Y0,W0=K0,ex=F0;function GA(n){const l=m.useRef({value:n,previous:n});return m.useMemo(()=>(l.current.value!==n&&(l.current.previous=l.current.value,l.current.value=n),l.current.previous),[n])}function VA(n){const[l,r]=m.useState(void 0);return Et(()=>{if(n){r({width:n.offsetWidth,height:n.offsetHeight});const o=new ResizeObserver(s=>{if(!Array.isArray(s)||!s.length)return;const c=s[0];let d,h;if("borderBoxSize"in c){const v=c.borderBoxSize,p=Array.isArray(v)?v[0]:v;d=p.inlineSize,h=p.blockSize}else d=n.offsetWidth,h=n.offsetHeight;r({width:d,height:h})});return o.observe(n,{box:"border-box"}),()=>o.unobserve(n)}else r(void 0)},[n]),l}const PA=["top","right","bottom","left"],tl=Math.min,Ft=Math.max,bu=Math.round,su=Math.floor,Nn=n=>({x:n,y:n}),IA={left:"right",right:"left",bottom:"top",top:"bottom"};function eh(n,l,r){return Ft(n,tl(l,r))}function ua(n,l){return typeof n=="function"?n(l):n}function ca(n){return n.split("-")[0]}function oi(n){return n.split("-")[1]}function qh(n){return n==="x"?"y":"x"}function Gh(n){return n==="y"?"height":"width"}function Mn(n){const l=n[0];return l==="t"||l==="b"?"y":"x"}function Vh(n){return qh(Mn(n))}function YA(n,l,r){r===void 0&&(r=!1);const o=oi(n),s=Vh(n),c=Gh(s);let d=s==="x"?o===(r?"end":"start")?"right":"left":o==="start"?"bottom":"top";return l.reference[c]>l.floating[c]&&(d=xu(d)),[d,xu(d)]}function QA(n){const l=xu(n);return[th(n),l,th(l)]}function th(n){return n.includes("start")?n.replace("start","end"):n.replace("end","start")}const cb=["left","right"],fb=["right","left"],KA=["top","bottom"],XA=["bottom","top"];function FA(n,l,r){switch(n){case"top":case"bottom":return r?l?fb:cb:l?cb:fb;case"left":case"right":return l?KA:XA;default:return[]}}function ZA(n,l,r,o){const s=oi(n);let c=FA(ca(n),r==="start",o);return s&&(c=c.map(d=>d+"-"+s),l&&(c=c.concat(c.map(th)))),c}function xu(n){const l=ca(n);return IA[l]+n.slice(l.length)}function $A(n){return{top:0,right:0,bottom:0,left:0,...n}}function tx(n){return typeof n!="number"?$A(n):{top:n,right:n,bottom:n,left:n}}function Su(n){const{x:l,y:r,width:o,height:s}=n;return{width:o,height:s,top:r,left:l,right:l+o,bottom:r+s,x:l,y:r}}function db(n,l,r){let{reference:o,floating:s}=n;const c=Mn(l),d=Vh(l),h=Gh(d),v=ca(l),p=c==="y",b=o.x+o.width/2-s.width/2,y=o.y+o.height/2-s.height/2,E=o[h]/2-s[h]/2;let T;switch(v){case"top":T={x:b,y:o.y-s.height};break;case"bottom":T={x:b,y:o.y+o.height};break;case"right":T={x:o.x+o.width,y};break;case"left":T={x:o.x-s.width,y};break;default:T={x:o.x,y:o.y}}switch(oi(l)){case"start":T[d]-=E*(r&&p?-1:1);break;case"end":T[d]+=E*(r&&p?-1:1);break}return T}async function JA(n,l){var r;l===void 0&&(l={});const{x:o,y:s,platform:c,rects:d,elements:h,strategy:v}=n,{boundary:p="clippingAncestors",rootBoundary:b="viewport",elementContext:y="floating",altBoundary:E=!1,padding:T=0}=ua(l,n),R=tx(T),C=h[E?y==="floating"?"reference":"floating":y],A=Su(await c.getClippingRect({element:(r=await(c.isElement==null?void 0:c.isElement(C)))==null||r?C:C.contextElement||await(c.getDocumentElement==null?void 0:c.getDocumentElement(h.floating)),boundary:p,rootBoundary:b,strategy:v})),N=y==="floating"?{x:o,y:s,width:d.floating.width,height:d.floating.height}:d.reference,j=await(c.getOffsetParent==null?void 0:c.getOffsetParent(h.floating)),z=await(c.isElement==null?void 0:c.isElement(j))?await(c.getScale==null?void 0:c.getScale(j))||{x:1,y:1}:{x:1,y:1},P=Su(c.convertOffsetParentRelativeRectToViewportRelativeRect?await c.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:N,offsetParent:j,strategy:v}):N);return{top:(A.top-P.top+R.top)/z.y,bottom:(P.bottom-A.bottom+R.bottom)/z.y,left:(A.left-P.left+R.left)/z.x,right:(P.right-A.right+R.right)/z.x}}const WA=50,e_=async(n,l,r)=>{const{placement:o="bottom",strategy:s="absolute",middleware:c=[],platform:d}=r,h=d.detectOverflow?d:{...d,detectOverflow:JA},v=await(d.isRTL==null?void 0:d.isRTL(l));let p=await d.getElementRects({reference:n,floating:l,strategy:s}),{x:b,y}=db(p,o,v),E=o,T=0;const R={};for(let w=0;w({name:"arrow",options:n,async fn(l){const{x:r,y:o,placement:s,rects:c,platform:d,elements:h,middlewareData:v}=l,{element:p,padding:b=0}=ua(n,l)||{};if(p==null)return{};const y=tx(b),E={x:r,y:o},T=Vh(s),R=Gh(T),w=await d.getDimensions(p),C=T==="y",A=C?"top":"left",N=C?"bottom":"right",j=C?"clientHeight":"clientWidth",z=c.reference[R]+c.reference[T]-E[T]-c.floating[R],P=E[T]-c.reference[T],Y=await(d.getOffsetParent==null?void 0:d.getOffsetParent(p));let G=Y?Y[j]:0;(!G||!await(d.isElement==null?void 0:d.isElement(Y)))&&(G=h.floating[j]||c.floating[R]);const te=z/2-P/2,le=G/2-w[R]/2-1,ie=tl(y[A],le),se=tl(y[N],le),ne=ie,be=G-w[R]-se,ce=G/2-w[R]/2+te,ge=eh(ne,ce,be),B=!v.arrow&&oi(s)!=null&&ce!==ge&&c.reference[R]/2-(cece<=0)){var se,ne;const ce=(((se=c.flip)==null?void 0:se.index)||0)+1,ge=G[ce];if(ge&&(!(y==="alignment"?N!==Mn(ge):!1)||ie.every($=>Mn($.placement)===N?$.overflows[0]>0:!0)))return{data:{index:ce,overflows:ie},reset:{placement:ge}};let B=(ne=ie.filter(F=>F.overflows[0]<=0).sort((F,$)=>F.overflows[1]-$.overflows[1])[0])==null?void 0:ne.placement;if(!B)switch(T){case"bestFit":{var be;const F=(be=ie.filter($=>{if(Y){const W=Mn($.placement);return W===N||W==="y"}return!0}).map($=>[$.placement,$.overflows.filter(W=>W>0).reduce((W,de)=>W+de,0)]).sort(($,W)=>$[1]-W[1])[0])==null?void 0:be[0];F&&(B=F);break}case"initialPlacement":B=h;break}if(s!==B)return{reset:{placement:B}}}return{}}}};function hb(n,l){return{top:n.top-l.height,right:n.right-l.width,bottom:n.bottom-l.height,left:n.left-l.width}}function mb(n){return PA.some(l=>n[l]>=0)}const a_=function(n){return n===void 0&&(n={}),{name:"hide",options:n,async fn(l){const{rects:r,platform:o}=l,{strategy:s="referenceHidden",...c}=ua(n,l);switch(s){case"referenceHidden":{const d=await o.detectOverflow(l,{...c,elementContext:"reference"}),h=hb(d,r.reference);return{data:{referenceHiddenOffsets:h,referenceHidden:mb(h)}}}case"escaped":{const d=await o.detectOverflow(l,{...c,altBoundary:!0}),h=hb(d,r.floating);return{data:{escapedOffsets:h,escaped:mb(h)}}}default:return{}}}}},nx=new Set(["left","top"]);async function l_(n,l){const{placement:r,platform:o,elements:s}=n,c=await(o.isRTL==null?void 0:o.isRTL(s.floating)),d=ca(r),h=oi(r),v=Mn(r)==="y",p=nx.has(d)?-1:1,b=c&&v?-1:1,y=ua(l,n);let{mainAxis:E,crossAxis:T,alignmentAxis:R}=typeof y=="number"?{mainAxis:y,crossAxis:0,alignmentAxis:null}:{mainAxis:y.mainAxis||0,crossAxis:y.crossAxis||0,alignmentAxis:y.alignmentAxis};return h&&typeof R=="number"&&(T=h==="end"?R*-1:R),v?{x:T*b,y:E*p}:{x:E*p,y:T*b}}const r_=function(n){return n===void 0&&(n=0),{name:"offset",options:n,async fn(l){var r,o;const{x:s,y:c,placement:d,middlewareData:h}=l,v=await l_(l,n);return d===((r=h.offset)==null?void 0:r.placement)&&(o=h.arrow)!=null&&o.alignmentOffset?{}:{x:s+v.x,y:c+v.y,data:{...v,placement:d}}}}},i_=function(n){return n===void 0&&(n={}),{name:"shift",options:n,async fn(l){const{x:r,y:o,placement:s,platform:c}=l,{mainAxis:d=!0,crossAxis:h=!1,limiter:v={fn:A=>{let{x:N,y:j}=A;return{x:N,y:j}}},...p}=ua(n,l),b={x:r,y:o},y=await c.detectOverflow(l,p),E=Mn(ca(s)),T=qh(E);let R=b[T],w=b[E];if(d){const A=T==="y"?"top":"left",N=T==="y"?"bottom":"right",j=R+y[A],z=R-y[N];R=eh(j,R,z)}if(h){const A=E==="y"?"top":"left",N=E==="y"?"bottom":"right",j=w+y[A],z=w-y[N];w=eh(j,w,z)}const C=v.fn({...l,[T]:R,[E]:w});return{...C,data:{x:C.x-r,y:C.y-o,enabled:{[T]:d,[E]:h}}}}}},o_=function(n){return n===void 0&&(n={}),{options:n,fn(l){const{x:r,y:o,placement:s,rects:c,middlewareData:d}=l,{offset:h=0,mainAxis:v=!0,crossAxis:p=!0}=ua(n,l),b={x:r,y:o},y=Mn(s),E=qh(y);let T=b[E],R=b[y];const w=ua(h,l),C=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(v){const j=E==="y"?"height":"width",z=c.reference[E]-c.floating[j]+C.mainAxis,P=c.reference[E]+c.reference[j]-C.mainAxis;TP&&(T=P)}if(p){var A,N;const j=E==="y"?"width":"height",z=nx.has(ca(s)),P=c.reference[y]-c.floating[j]+(z&&((A=d.offset)==null?void 0:A[y])||0)+(z?0:C.crossAxis),Y=c.reference[y]+c.reference[j]+(z?0:((N=d.offset)==null?void 0:N[y])||0)-(z?C.crossAxis:0);RY&&(R=Y)}return{[E]:T,[y]:R}}}},s_=function(n){return n===void 0&&(n={}),{name:"size",options:n,async fn(l){var r,o;const{placement:s,rects:c,platform:d,elements:h}=l,{apply:v=()=>{},...p}=ua(n,l),b=await d.detectOverflow(l,p),y=ca(s),E=oi(s),T=Mn(s)==="y",{width:R,height:w}=c.floating;let C,A;y==="top"||y==="bottom"?(C=y,A=E===(await(d.isRTL==null?void 0:d.isRTL(h.floating))?"start":"end")?"left":"right"):(A=y,C=E==="end"?"top":"bottom");const N=w-b.top-b.bottom,j=R-b.left-b.right,z=tl(w-b[C],N),P=tl(R-b[A],j),Y=!l.middlewareData.shift;let G=z,te=P;if((r=l.middlewareData.shift)!=null&&r.enabled.x&&(te=j),(o=l.middlewareData.shift)!=null&&o.enabled.y&&(G=N),Y&&!E){const ie=Ft(b.left,0),se=Ft(b.right,0),ne=Ft(b.top,0),be=Ft(b.bottom,0);T?te=R-2*(ie!==0||se!==0?ie+se:Ft(b.left,b.right)):G=w-2*(ne!==0||be!==0?ne+be:Ft(b.top,b.bottom))}await v({...l,availableWidth:te,availableHeight:G});const le=await d.getDimensions(h.floating);return R!==le.width||w!==le.height?{reset:{rects:!0}}:{}}}};function Du(){return typeof window<"u"}function si(n){return ax(n)?(n.nodeName||"").toLowerCase():"#document"}function Zt(n){var l;return(n==null||(l=n.ownerDocument)==null?void 0:l.defaultView)||window}function Un(n){var l;return(l=(ax(n)?n.ownerDocument:n.document)||window.document)==null?void 0:l.documentElement}function ax(n){return Du()?n instanceof Node||n instanceof Zt(n).Node:!1}function yn(n){return Du()?n instanceof Element||n instanceof Zt(n).Element:!1}function da(n){return Du()?n instanceof HTMLElement||n instanceof Zt(n).HTMLElement:!1}function pb(n){return!Du()||typeof ShadowRoot>"u"?!1:n instanceof ShadowRoot||n instanceof Zt(n).ShadowRoot}function No(n){const{overflow:l,overflowX:r,overflowY:o,display:s}=bn(n);return/auto|scroll|overlay|hidden|clip/.test(l+o+r)&&s!=="inline"&&s!=="contents"}function u_(n){return/^(table|td|th)$/.test(si(n))}function ju(n){try{if(n.matches(":popover-open"))return!0}catch{}try{return n.matches(":modal")}catch{return!1}}const c_=/transform|translate|scale|rotate|perspective|filter/,f_=/paint|layout|strict|content/,Al=n=>!!n&&n!=="none";let Ed;function Ph(n){const l=yn(n)?bn(n):n;return Al(l.transform)||Al(l.translate)||Al(l.scale)||Al(l.rotate)||Al(l.perspective)||!Ih()&&(Al(l.backdropFilter)||Al(l.filter))||c_.test(l.willChange||"")||f_.test(l.contain||"")}function d_(n){let l=nl(n);for(;da(l)&&!ai(l);){if(Ph(l))return l;if(ju(l))return null;l=nl(l)}return null}function Ih(){return Ed==null&&(Ed=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Ed}function ai(n){return/^(html|body|#document)$/.test(si(n))}function bn(n){return Zt(n).getComputedStyle(n)}function zu(n){return yn(n)?{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}:{scrollLeft:n.scrollX,scrollTop:n.scrollY}}function nl(n){if(si(n)==="html")return n;const l=n.assignedSlot||n.parentNode||pb(n)&&n.host||Un(n);return pb(l)?l.host:l}function lx(n){const l=nl(n);return ai(l)?n.ownerDocument?n.ownerDocument.body:n.body:da(l)&&No(l)?l:lx(l)}function yo(n,l,r){var o;l===void 0&&(l=[]),r===void 0&&(r=!0);const s=lx(n),c=s===((o=n.ownerDocument)==null?void 0:o.body),d=Zt(s);if(c){const h=nh(d);return l.concat(d,d.visualViewport||[],No(s)?s:[],h&&r?yo(h):[])}else return l.concat(s,yo(s,[],r))}function nh(n){return n.parent&&Object.getPrototypeOf(n.parent)?n.frameElement:null}function rx(n){const l=bn(n);let r=parseFloat(l.width)||0,o=parseFloat(l.height)||0;const s=da(n),c=s?n.offsetWidth:r,d=s?n.offsetHeight:o,h=bu(r)!==c||bu(o)!==d;return h&&(r=c,o=d),{width:r,height:o,$:h}}function Yh(n){return yn(n)?n:n.contextElement}function Vr(n){const l=Yh(n);if(!da(l))return Nn(1);const r=l.getBoundingClientRect(),{width:o,height:s,$:c}=rx(l);let d=(c?bu(r.width):r.width)/o,h=(c?bu(r.height):r.height)/s;return(!d||!Number.isFinite(d))&&(d=1),(!h||!Number.isFinite(h))&&(h=1),{x:d,y:h}}const h_=Nn(0);function ix(n){const l=Zt(n);return!Ih()||!l.visualViewport?h_:{x:l.visualViewport.offsetLeft,y:l.visualViewport.offsetTop}}function m_(n,l,r){return l===void 0&&(l=!1),!r||l&&r!==Zt(n)?!1:l}function Gl(n,l,r,o){l===void 0&&(l=!1),r===void 0&&(r=!1);const s=n.getBoundingClientRect(),c=Yh(n);let d=Nn(1);l&&(o?yn(o)&&(d=Vr(o)):d=Vr(n));const h=m_(c,r,o)?ix(c):Nn(0);let v=(s.left+h.x)/d.x,p=(s.top+h.y)/d.y,b=s.width/d.x,y=s.height/d.y;if(c){const E=Zt(c),T=o&&yn(o)?Zt(o):o;let R=E,w=nh(R);for(;w&&o&&T!==R;){const C=Vr(w),A=w.getBoundingClientRect(),N=bn(w),j=A.left+(w.clientLeft+parseFloat(N.paddingLeft))*C.x,z=A.top+(w.clientTop+parseFloat(N.paddingTop))*C.y;v*=C.x,p*=C.y,b*=C.x,y*=C.y,v+=j,p+=z,R=Zt(w),w=nh(R)}}return Su({width:b,height:y,x:v,y:p})}function Uu(n,l){const r=zu(n).scrollLeft;return l?l.left+r:Gl(Un(n)).left+r}function ox(n,l){const r=n.getBoundingClientRect(),o=r.left+l.scrollLeft-Uu(n,r),s=r.top+l.scrollTop;return{x:o,y:s}}function p_(n){let{elements:l,rect:r,offsetParent:o,strategy:s}=n;const c=s==="fixed",d=Un(o),h=l?ju(l.floating):!1;if(o===d||h&&c)return r;let v={scrollLeft:0,scrollTop:0},p=Nn(1);const b=Nn(0),y=da(o);if((y||!y&&!c)&&((si(o)!=="body"||No(d))&&(v=zu(o)),y)){const T=Gl(o);p=Vr(o),b.x=T.x+o.clientLeft,b.y=T.y+o.clientTop}const E=d&&!y&&!c?ox(d,v):Nn(0);return{width:r.width*p.x,height:r.height*p.y,x:r.x*p.x-v.scrollLeft*p.x+b.x+E.x,y:r.y*p.y-v.scrollTop*p.y+b.y+E.y}}function v_(n){return Array.from(n.getClientRects())}function g_(n){const l=Un(n),r=zu(n),o=n.ownerDocument.body,s=Ft(l.scrollWidth,l.clientWidth,o.scrollWidth,o.clientWidth),c=Ft(l.scrollHeight,l.clientHeight,o.scrollHeight,o.clientHeight);let d=-r.scrollLeft+Uu(n);const h=-r.scrollTop;return bn(o).direction==="rtl"&&(d+=Ft(l.clientWidth,o.clientWidth)-s),{width:s,height:c,x:d,y:h}}const vb=25;function y_(n,l){const r=Zt(n),o=Un(n),s=r.visualViewport;let c=o.clientWidth,d=o.clientHeight,h=0,v=0;if(s){c=s.width,d=s.height;const b=Ih();(!b||b&&l==="fixed")&&(h=s.offsetLeft,v=s.offsetTop)}const p=Uu(o);if(p<=0){const b=o.ownerDocument,y=b.body,E=getComputedStyle(y),T=b.compatMode==="CSS1Compat"&&parseFloat(E.marginLeft)+parseFloat(E.marginRight)||0,R=Math.abs(o.clientWidth-y.clientWidth-T);R<=vb&&(c-=R)}else p<=vb&&(c+=p);return{width:c,height:d,x:h,y:v}}function b_(n,l){const r=Gl(n,!0,l==="fixed"),o=r.top+n.clientTop,s=r.left+n.clientLeft,c=da(n)?Vr(n):Nn(1),d=n.clientWidth*c.x,h=n.clientHeight*c.y,v=s*c.x,p=o*c.y;return{width:d,height:h,x:v,y:p}}function gb(n,l,r){let o;if(l==="viewport")o=y_(n,r);else if(l==="document")o=g_(Un(n));else if(yn(l))o=b_(l,r);else{const s=ix(n);o={x:l.x-s.x,y:l.y-s.y,width:l.width,height:l.height}}return Su(o)}function sx(n,l){const r=nl(n);return r===l||!yn(r)||ai(r)?!1:bn(r).position==="fixed"||sx(r,l)}function x_(n,l){const r=l.get(n);if(r)return r;let o=yo(n,[],!1).filter(h=>yn(h)&&si(h)!=="body"),s=null;const c=bn(n).position==="fixed";let d=c?nl(n):n;for(;yn(d)&&!ai(d);){const h=bn(d),v=Ph(d);!v&&h.position==="fixed"&&(s=null),(c?!v&&!s:!v&&h.position==="static"&&!!s&&(s.position==="absolute"||s.position==="fixed")||No(d)&&!v&&sx(n,d))?o=o.filter(b=>b!==d):s=h,d=nl(d)}return l.set(n,o),o}function S_(n){let{element:l,boundary:r,rootBoundary:o,strategy:s}=n;const d=[...r==="clippingAncestors"?ju(l)?[]:x_(l,this._c):[].concat(r),o],h=gb(l,d[0],s);let v=h.top,p=h.right,b=h.bottom,y=h.left;for(let E=1;E{d(!1,1e-7)},1e3)}G===1&&!cx(p,n.getBoundingClientRect())&&d(),z=!1}try{r=new IntersectionObserver(P,{...j,root:s.ownerDocument})}catch{r=new IntersectionObserver(P,j)}r.observe(n)}return d(!0),c}function __(n,l,r,o){o===void 0&&(o={});const{ancestorScroll:s=!0,ancestorResize:c=!0,elementResize:d=typeof ResizeObserver=="function",layoutShift:h=typeof IntersectionObserver=="function",animationFrame:v=!1}=o,p=Yh(n),b=s||c?[...p?yo(p):[],...l?yo(l):[]]:[];b.forEach(A=>{s&&A.addEventListener("scroll",r,{passive:!0}),c&&A.addEventListener("resize",r)});const y=p&&h?A_(p,r):null;let E=-1,T=null;d&&(T=new ResizeObserver(A=>{let[N]=A;N&&N.target===p&&T&&l&&(T.unobserve(l),cancelAnimationFrame(E),E=requestAnimationFrame(()=>{var j;(j=T)==null||j.observe(l)})),r()}),p&&!v&&T.observe(p),l&&T.observe(l));let R,w=v?Gl(n):null;v&&C();function C(){const A=Gl(n);w&&!cx(w,A)&&r(),w=A,R=requestAnimationFrame(C)}return r(),()=>{var A;b.forEach(N=>{s&&N.removeEventListener("scroll",r),c&&N.removeEventListener("resize",r)}),y==null||y(),(A=T)==null||A.disconnect(),T=null,v&&cancelAnimationFrame(R)}}const M_=r_,O_=i_,N_=n_,D_=s_,j_=a_,bb=t_,z_=o_,U_=(n,l,r)=>{const o=new Map,s={platform:R_,...r},c={...s.platform,_c:o};return e_(n,l,{...s,platform:c})};var L_=typeof document<"u",B_=function(){},mu=L_?m.useLayoutEffect:B_;function Eu(n,l){if(n===l)return!0;if(typeof n!=typeof l)return!1;if(typeof n=="function"&&n.toString()===l.toString())return!0;let r,o,s;if(n&&l&&typeof n=="object"){if(Array.isArray(n)){if(r=n.length,r!==l.length)return!1;for(o=r;o--!==0;)if(!Eu(n[o],l[o]))return!1;return!0}if(s=Object.keys(n),r=s.length,r!==Object.keys(l).length)return!1;for(o=r;o--!==0;)if(!{}.hasOwnProperty.call(l,s[o]))return!1;for(o=r;o--!==0;){const c=s[o];if(!(c==="_owner"&&n.$$typeof)&&!Eu(n[c],l[c]))return!1}return!0}return n!==n&&l!==l}function fx(n){return typeof window>"u"?1:(n.ownerDocument.defaultView||window).devicePixelRatio||1}function xb(n,l){const r=fx(n);return Math.round(l*r)/r}function Cd(n){const l=m.useRef(n);return mu(()=>{l.current=n}),l}function H_(n){n===void 0&&(n={});const{placement:l="bottom",strategy:r="absolute",middleware:o=[],platform:s,elements:{reference:c,floating:d}={},transform:h=!0,whileElementsMounted:v,open:p}=n,[b,y]=m.useState({x:0,y:0,strategy:r,placement:l,middlewareData:{},isPositioned:!1}),[E,T]=m.useState(o);Eu(E,o)||T(o);const[R,w]=m.useState(null),[C,A]=m.useState(null),N=m.useCallback($=>{$!==Y.current&&(Y.current=$,w($))},[]),j=m.useCallback($=>{$!==G.current&&(G.current=$,A($))},[]),z=c||R,P=d||C,Y=m.useRef(null),G=m.useRef(null),te=m.useRef(b),le=v!=null,ie=Cd(v),se=Cd(s),ne=Cd(p),be=m.useCallback(()=>{if(!Y.current||!G.current)return;const $={placement:l,strategy:r,middleware:E};se.current&&($.platform=se.current),U_(Y.current,G.current,$).then(W=>{const de={...W,isPositioned:ne.current!==!1};ce.current&&!Eu(te.current,de)&&(te.current=de,Ao.flushSync(()=>{y(de)}))})},[E,l,r,se,ne]);mu(()=>{p===!1&&te.current.isPositioned&&(te.current.isPositioned=!1,y($=>({...$,isPositioned:!1})))},[p]);const ce=m.useRef(!1);mu(()=>(ce.current=!0,()=>{ce.current=!1}),[]),mu(()=>{if(z&&(Y.current=z),P&&(G.current=P),z&&P){if(ie.current)return ie.current(z,P,be);be()}},[z,P,be,ie,le]);const ge=m.useMemo(()=>({reference:Y,floating:G,setReference:N,setFloating:j}),[N,j]),B=m.useMemo(()=>({reference:z,floating:P}),[z,P]),F=m.useMemo(()=>{const $={position:r,left:0,top:0};if(!B.floating)return $;const W=xb(B.floating,b.x),de=xb(B.floating,b.y);return h?{...$,transform:"translate("+W+"px, "+de+"px)",...fx(B.floating)>=1.5&&{willChange:"transform"}}:{position:r,left:W,top:de}},[r,h,B.floating,b.x,b.y]);return m.useMemo(()=>({...b,update:be,refs:ge,elements:B,floatingStyles:F}),[b,be,ge,B,F])}const k_=n=>{function l(r){return{}.hasOwnProperty.call(r,"current")}return{name:"arrow",options:n,fn(r){const{element:o,padding:s}=typeof n=="function"?n(r):n;return o&&l(o)?o.current!=null?bb({element:o.current,padding:s}).fn(r):{}:o?bb({element:o,padding:s}).fn(r):{}}}},q_=(n,l)=>{const r=M_(n);return{name:r.name,fn:r.fn,options:[n,l]}},G_=(n,l)=>{const r=O_(n);return{name:r.name,fn:r.fn,options:[n,l]}},V_=(n,l)=>({fn:z_(n).fn,options:[n,l]}),P_=(n,l)=>{const r=N_(n);return{name:r.name,fn:r.fn,options:[n,l]}},I_=(n,l)=>{const r=D_(n);return{name:r.name,fn:r.fn,options:[n,l]}},Y_=(n,l)=>{const r=j_(n);return{name:r.name,fn:r.fn,options:[n,l]}},Q_=(n,l)=>{const r=k_(n);return{name:r.name,fn:r.fn,options:[n,l]}};var K_="Arrow",dx=m.forwardRef((n,l)=>{const{children:r,width:o=10,height:s=5,...c}=n;return x.jsx(Se.svg,{...c,ref:l,width:o,height:s,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:n.asChild?r:x.jsx("polygon",{points:"0,0 30,0 15,10"})})});dx.displayName=K_;var X_=dx,Qh="Popper",[hx,ui]=rl(Qh),[F_,mx]=hx(Qh),px=n=>{const{__scopePopper:l,children:r}=n,[o,s]=m.useState(null);return x.jsx(F_,{scope:l,anchor:o,onAnchorChange:s,children:r})};px.displayName=Qh;var vx="PopperAnchor",gx=m.forwardRef((n,l)=>{const{__scopePopper:r,virtualRef:o,...s}=n,c=mx(vx,r),d=m.useRef(null),h=Ve(l,d),v=m.useRef(null);return m.useEffect(()=>{const p=v.current;v.current=(o==null?void 0:o.current)||d.current,p!==v.current&&c.onAnchorChange(v.current)}),o?null:x.jsx(Se.div,{...s,ref:h})});gx.displayName=vx;var Kh="PopperContent",[Z_,$_]=hx(Kh),yx=m.forwardRef((n,l)=>{var J,me,ue,Ae,ze,Ue;const{__scopePopper:r,side:o="bottom",sideOffset:s=0,align:c="center",alignOffset:d=0,arrowPadding:h=0,avoidCollisions:v=!0,collisionBoundary:p=[],collisionPadding:b=0,sticky:y="partial",hideWhenDetached:E=!1,updatePositionStrategy:T="optimized",onPlaced:R,...w}=n,C=mx(Kh,r),[A,N]=m.useState(null),j=Ve(l,yt=>N(yt)),[z,P]=m.useState(null),Y=VA(z),G=(Y==null?void 0:Y.width)??0,te=(Y==null?void 0:Y.height)??0,le=o+(c!=="center"?"-"+c:""),ie=typeof b=="number"?b:{top:0,right:0,bottom:0,left:0,...b},se=Array.isArray(p)?p:[p],ne=se.length>0,be={padding:ie,boundary:se.filter(W_),altBoundary:ne},{refs:ce,floatingStyles:ge,placement:B,isPositioned:F,middlewareData:$}=H_({strategy:"fixed",placement:le,whileElementsMounted:(...yt)=>__(...yt,{animationFrame:T==="always"}),elements:{reference:C.anchor},middleware:[q_({mainAxis:s+te,alignmentAxis:d}),v&&G_({mainAxis:!0,crossAxis:!1,limiter:y==="partial"?V_():void 0,...be}),v&&P_({...be}),I_({...be,apply:({elements:yt,rects:ut,availableWidth:Ln,availableHeight:Bn})=>{const{width:sl,height:Bo}=ut.reference,ha=yt.floating.style;ha.setProperty("--radix-popper-available-width",`${Ln}px`),ha.setProperty("--radix-popper-available-height",`${Bn}px`),ha.setProperty("--radix-popper-anchor-width",`${sl}px`),ha.setProperty("--radix-popper-anchor-height",`${Bo}px`)}}),z&&Q_({element:z,padding:h}),eM({arrowWidth:G,arrowHeight:te}),E&&Y_({strategy:"referenceHidden",...be})]}),[W,de]=Sx(B),_=Dn(R);Et(()=>{F&&(_==null||_())},[F,_]);const D=(J=$.arrow)==null?void 0:J.x,Q=(me=$.arrow)==null?void 0:me.y,Z=((ue=$.arrow)==null?void 0:ue.centerOffset)!==0,[ee,ae]=m.useState();return Et(()=>{A&&ae(window.getComputedStyle(A).zIndex)},[A]),x.jsx("div",{ref:ce.setFloating,"data-radix-popper-content-wrapper":"",style:{...ge,transform:F?ge.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ee,"--radix-popper-transform-origin":[(Ae=$.transformOrigin)==null?void 0:Ae.x,(ze=$.transformOrigin)==null?void 0:ze.y].join(" "),...((Ue=$.hide)==null?void 0:Ue.referenceHidden)&&{visibility:"hidden",pointerEvents:"none"}},dir:n.dir,children:x.jsx(Z_,{scope:r,placedSide:W,onArrowChange:P,arrowX:D,arrowY:Q,shouldHideArrow:Z,children:x.jsx(Se.div,{"data-side":W,"data-align":de,...w,ref:j,style:{...w.style,animation:F?void 0:"none"}})})})});yx.displayName=Kh;var bx="PopperArrow",J_={top:"bottom",right:"left",bottom:"top",left:"right"},xx=m.forwardRef(function(l,r){const{__scopePopper:o,...s}=l,c=$_(bx,o),d=J_[c.placedSide];return x.jsx("span",{ref:c.onArrowChange,style:{position:"absolute",left:c.arrowX,top:c.arrowY,[d]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[c.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[c.placedSide],visibility:c.shouldHideArrow?"hidden":void 0},children:x.jsx(X_,{...s,ref:r,style:{...s.style,display:"block"}})})});xx.displayName=bx;function W_(n){return n!==null}var eM=n=>({name:"transformOrigin",options:n,fn(l){var C,A,N;const{placement:r,rects:o,middlewareData:s}=l,d=((C=s.arrow)==null?void 0:C.centerOffset)!==0,h=d?0:n.arrowWidth,v=d?0:n.arrowHeight,[p,b]=Sx(r),y={start:"0%",center:"50%",end:"100%"}[b],E=(((A=s.arrow)==null?void 0:A.x)??0)+h/2,T=(((N=s.arrow)==null?void 0:N.y)??0)+v/2;let R="",w="";return p==="bottom"?(R=d?y:`${E}px`,w=`${-v}px`):p==="top"?(R=d?y:`${E}px`,w=`${o.floating.height+v}px`):p==="right"?(R=`${-v}px`,w=d?y:`${T}px`):p==="left"&&(R=`${o.floating.width+v}px`,w=d?y:`${T}px`),{data:{x:R,y:w}}}});function Sx(n){const[l,r="center"]=n.split("-");return[l,r]}var Xh=px,Fh=gx,Zh=yx,$h=xx,Td="rovingFocusGroup.onEntryFocus",tM={bubbles:!1,cancelable:!0},Do="RovingFocusGroup",[ah,Ex,nM]=Mh(Do),[aM,wx]=rl(Do,[nM]),[lM,rM]=aM(Do),Cx=m.forwardRef((n,l)=>x.jsx(ah.Provider,{scope:n.__scopeRovingFocusGroup,children:x.jsx(ah.Slot,{scope:n.__scopeRovingFocusGroup,children:x.jsx(iM,{...n,ref:l})})}));Cx.displayName=Do;var iM=m.forwardRef((n,l)=>{const{__scopeRovingFocusGroup:r,orientation:o,loop:s=!1,dir:c,currentTabStopId:d,defaultCurrentTabStopId:h,onCurrentTabStopIdChange:v,onEntryFocus:p,preventScrollOnEntryFocus:b=!1,...y}=n,E=m.useRef(null),T=Ve(l,E),R=Oh(c),[w,C]=ni({prop:d,defaultProp:h??null,onChange:v,caller:Do}),[A,N]=m.useState(!1),j=Dn(p),z=Ex(r),P=m.useRef(!1),[Y,G]=m.useState(0);return m.useEffect(()=>{const te=E.current;if(te)return te.addEventListener(Td,j),()=>te.removeEventListener(Td,j)},[j]),x.jsx(lM,{scope:r,orientation:o,dir:R,loop:s,currentTabStopId:w,onItemFocus:m.useCallback(te=>C(te),[C]),onItemShiftTab:m.useCallback(()=>N(!0),[]),onFocusableItemAdd:m.useCallback(()=>G(te=>te+1),[]),onFocusableItemRemove:m.useCallback(()=>G(te=>te-1),[]),children:x.jsx(Se.div,{tabIndex:A||Y===0?-1:0,"data-orientation":o,...y,ref:T,style:{outline:"none",...n.style},onMouseDown:fe(n.onMouseDown,()=>{P.current=!0}),onFocus:fe(n.onFocus,te=>{const le=!P.current;if(te.target===te.currentTarget&&le&&!A){const ie=new CustomEvent(Td,tM);if(te.currentTarget.dispatchEvent(ie),!ie.defaultPrevented){const se=z().filter(B=>B.focusable),ne=se.find(B=>B.active),be=se.find(B=>B.id===w),ge=[ne,be,...se].filter(Boolean).map(B=>B.ref.current);Ax(ge,b)}}P.current=!1}),onBlur:fe(n.onBlur,()=>N(!1))})})}),Tx="RovingFocusGroupItem",Rx=m.forwardRef((n,l)=>{const{__scopeRovingFocusGroup:r,focusable:o=!0,active:s=!1,tabStopId:c,children:d,...h}=n,v=St(),p=c||v,b=rM(Tx,r),y=b.currentTabStopId===p,E=Ex(r),{onFocusableItemAdd:T,onFocusableItemRemove:R,currentTabStopId:w}=b;return m.useEffect(()=>{if(o)return T(),()=>R()},[o,T,R]),x.jsx(ah.ItemSlot,{scope:r,id:p,focusable:o,active:s,children:x.jsx(Se.span,{tabIndex:y?0:-1,"data-orientation":b.orientation,...h,ref:l,onMouseDown:fe(n.onMouseDown,C=>{o?b.onItemFocus(p):C.preventDefault()}),onFocus:fe(n.onFocus,()=>b.onItemFocus(p)),onKeyDown:fe(n.onKeyDown,C=>{if(C.key==="Tab"&&C.shiftKey){b.onItemShiftTab();return}if(C.target!==C.currentTarget)return;const A=uM(C,b.orientation,b.dir);if(A!==void 0){if(C.metaKey||C.ctrlKey||C.altKey||C.shiftKey)return;C.preventDefault();let j=E().filter(z=>z.focusable).map(z=>z.ref.current);if(A==="last")j.reverse();else if(A==="prev"||A==="next"){A==="prev"&&j.reverse();const z=j.indexOf(C.currentTarget);j=b.loop?cM(j,z+1):j.slice(z+1)}setTimeout(()=>Ax(j))}}),children:typeof d=="function"?d({isCurrentTabStop:y,hasTabStop:w!=null}):d})})});Rx.displayName=Tx;var oM={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function sM(n,l){return l!=="rtl"?n:n==="ArrowLeft"?"ArrowRight":n==="ArrowRight"?"ArrowLeft":n}function uM(n,l,r){const o=sM(n.key,r);if(!(l==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(l==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return oM[o]}function Ax(n,l=!1){const r=document.activeElement;for(const o of n)if(o===r||(o.focus({preventScroll:l}),document.activeElement!==r))return}function cM(n,l){return n.map((r,o)=>n[(l+o)%n.length])}var fM=Cx,dM=Rx;function hM(n){const l=mM(n),r=m.forwardRef((o,s)=>{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(vM);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}function mM(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=yM(s),h=gM(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var pM=Symbol("radix.slottable");function vM(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===pM}function gM(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function yM(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var lh=["Enter"," "],bM=["ArrowDown","PageUp","Home"],_x=["ArrowUp","PageDown","End"],xM=[...bM,..._x],SM={ltr:[...lh,"ArrowRight"],rtl:[...lh,"ArrowLeft"]},EM={ltr:["ArrowLeft"],rtl:["ArrowRight"]},jo="Menu",[bo,wM,CM]=Mh(jo),[Xl,Mx]=rl(jo,[CM,ui,wx]),Lu=ui(),Ox=wx(),[TM,Fl]=Xl(jo),[RM,zo]=Xl(jo),Nx=n=>{const{__scopeMenu:l,open:r=!1,children:o,dir:s,onOpenChange:c,modal:d=!0}=n,h=Lu(l),[v,p]=m.useState(null),b=m.useRef(!1),y=Dn(c),E=Oh(s);return m.useEffect(()=>{const T=()=>{b.current=!0,document.addEventListener("pointerdown",R,{capture:!0,once:!0}),document.addEventListener("pointermove",R,{capture:!0,once:!0})},R=()=>b.current=!1;return document.addEventListener("keydown",T,{capture:!0}),()=>{document.removeEventListener("keydown",T,{capture:!0}),document.removeEventListener("pointerdown",R,{capture:!0}),document.removeEventListener("pointermove",R,{capture:!0})}},[]),x.jsx(Xh,{...h,children:x.jsx(TM,{scope:l,open:r,onOpenChange:y,content:v,onContentChange:p,children:x.jsx(RM,{scope:l,onClose:m.useCallback(()=>y(!1),[y]),isUsingKeyboardRef:b,dir:E,modal:d,children:o})})})};Nx.displayName=jo;var AM="MenuAnchor",Jh=m.forwardRef((n,l)=>{const{__scopeMenu:r,...o}=n,s=Lu(r);return x.jsx(Fh,{...s,...o,ref:l})});Jh.displayName=AM;var Wh="MenuPortal",[_M,Dx]=Xl(Wh,{forceMount:void 0}),jx=n=>{const{__scopeMenu:l,forceMount:r,children:o,container:s}=n,c=Fl(Wh,l);return x.jsx(_M,{scope:l,forceMount:r,children:x.jsx(zn,{present:r||c.open,children:x.jsx(Oo,{asChild:!0,container:s,children:o})})})};jx.displayName=Wh;var fn="MenuContent",[MM,em]=Xl(fn),zx=m.forwardRef((n,l)=>{const r=Dx(fn,n.__scopeMenu),{forceMount:o=r.forceMount,...s}=n,c=Fl(fn,n.__scopeMenu),d=zo(fn,n.__scopeMenu);return x.jsx(bo.Provider,{scope:n.__scopeMenu,children:x.jsx(zn,{present:o||c.open,children:x.jsx(bo.Slot,{scope:n.__scopeMenu,children:d.modal?x.jsx(OM,{...s,ref:l}):x.jsx(NM,{...s,ref:l})})})})}),OM=m.forwardRef((n,l)=>{const r=Fl(fn,n.__scopeMenu),o=m.useRef(null),s=Ve(l,o);return m.useEffect(()=>{const c=o.current;if(c)return Dh(c)},[]),x.jsx(tm,{...n,ref:s,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:fe(n.onFocusOutside,c=>c.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),NM=m.forwardRef((n,l)=>{const r=Fl(fn,n.__scopeMenu);return x.jsx(tm,{...n,ref:l,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),DM=hM("MenuContent.ScrollLock"),tm=m.forwardRef((n,l)=>{const{__scopeMenu:r,loop:o=!1,trapFocus:s,onOpenAutoFocus:c,onCloseAutoFocus:d,disableOutsidePointerEvents:h,onEntryFocus:v,onEscapeKeyDown:p,onPointerDownOutside:b,onFocusOutside:y,onInteractOutside:E,onDismiss:T,disableOutsideScroll:R,...w}=n,C=Fl(fn,r),A=zo(fn,r),N=Lu(r),j=Ox(r),z=wM(r),[P,Y]=m.useState(null),G=m.useRef(null),te=Ve(l,G,C.onContentChange),le=m.useRef(0),ie=m.useRef(""),se=m.useRef(0),ne=m.useRef(null),be=m.useRef("right"),ce=m.useRef(0),ge=R?Ou:m.Fragment,B=R?{as:DM,allowPinchZoom:!0}:void 0,F=W=>{var J,me;const de=ie.current+W,_=z().filter(ue=>!ue.disabled),D=document.activeElement,Q=(J=_.find(ue=>ue.ref.current===D))==null?void 0:J.textValue,Z=_.map(ue=>ue.textValue),ee=IM(Z,de,Q),ae=(me=_.find(ue=>ue.textValue===ee))==null?void 0:me.ref.current;(function ue(Ae){ie.current=Ae,window.clearTimeout(le.current),Ae!==""&&(le.current=window.setTimeout(()=>ue(""),1e3))})(de),ae&&setTimeout(()=>ae.focus())};m.useEffect(()=>()=>window.clearTimeout(le.current),[]),Nh();const $=m.useCallback(W=>{var _,D;return be.current===((_=ne.current)==null?void 0:_.side)&&QM(W,(D=ne.current)==null?void 0:D.area)},[]);return x.jsx(MM,{scope:r,searchRef:ie,onItemEnter:m.useCallback(W=>{$(W)&&W.preventDefault()},[$]),onItemLeave:m.useCallback(W=>{var de;$(W)||((de=G.current)==null||de.focus(),Y(null))},[$]),onTriggerLeave:m.useCallback(W=>{$(W)&&W.preventDefault()},[$]),pointerGraceTimerRef:se,onPointerGraceIntentChange:m.useCallback(W=>{ne.current=W},[]),children:x.jsx(ge,{...B,children:x.jsx(_u,{asChild:!0,trapped:s,onMountAutoFocus:fe(c,W=>{var de;W.preventDefault(),(de=G.current)==null||de.focus({preventScroll:!0})}),onUnmountAutoFocus:d,children:x.jsx(Mo,{asChild:!0,disableOutsidePointerEvents:h,onEscapeKeyDown:p,onPointerDownOutside:b,onFocusOutside:y,onInteractOutside:E,onDismiss:T,children:x.jsx(fM,{asChild:!0,...j,dir:A.dir,orientation:"vertical",loop:o,currentTabStopId:P,onCurrentTabStopIdChange:Y,onEntryFocus:fe(v,W=>{A.isUsingKeyboardRef.current||W.preventDefault()}),preventScrollOnEntryFocus:!0,children:x.jsx(Zh,{role:"menu","aria-orientation":"vertical","data-state":Zx(C.open),"data-radix-menu-content":"",dir:A.dir,...N,...w,ref:te,style:{outline:"none",...w.style},onKeyDown:fe(w.onKeyDown,W=>{const _=W.target.closest("[data-radix-menu-content]")===W.currentTarget,D=W.ctrlKey||W.altKey||W.metaKey,Q=W.key.length===1;_&&(W.key==="Tab"&&W.preventDefault(),!D&&Q&&F(W.key));const Z=G.current;if(W.target!==Z||!xM.includes(W.key))return;W.preventDefault();const ae=z().filter(J=>!J.disabled).map(J=>J.ref.current);_x.includes(W.key)&&ae.reverse(),VM(ae)}),onBlur:fe(n.onBlur,W=>{W.currentTarget.contains(W.target)||(window.clearTimeout(le.current),ie.current="")}),onPointerMove:fe(n.onPointerMove,xo(W=>{const de=W.target,_=ce.current!==W.clientX;if(W.currentTarget.contains(de)&&_){const D=W.clientX>ce.current?"right":"left";be.current=D,ce.current=W.clientX}}))})})})})})})});zx.displayName=fn;var jM="MenuGroup",nm=m.forwardRef((n,l)=>{const{__scopeMenu:r,...o}=n;return x.jsx(Se.div,{role:"group",...o,ref:l})});nm.displayName=jM;var zM="MenuLabel",Ux=m.forwardRef((n,l)=>{const{__scopeMenu:r,...o}=n;return x.jsx(Se.div,{...o,ref:l})});Ux.displayName=zM;var wu="MenuItem",Sb="menu.itemSelect",Bu=m.forwardRef((n,l)=>{const{disabled:r=!1,onSelect:o,...s}=n,c=m.useRef(null),d=zo(wu,n.__scopeMenu),h=em(wu,n.__scopeMenu),v=Ve(l,c),p=m.useRef(!1),b=()=>{const y=c.current;if(!r&&y){const E=new CustomEvent(Sb,{bubbles:!0,cancelable:!0});y.addEventListener(Sb,T=>o==null?void 0:o(T),{once:!0}),w0(y,E),E.defaultPrevented?p.current=!1:d.onClose()}};return x.jsx(Lx,{...s,ref:v,disabled:r,onClick:fe(n.onClick,b),onPointerDown:y=>{var E;(E=n.onPointerDown)==null||E.call(n,y),p.current=!0},onPointerUp:fe(n.onPointerUp,y=>{var E;p.current||(E=y.currentTarget)==null||E.click()}),onKeyDown:fe(n.onKeyDown,y=>{const E=h.searchRef.current!=="";r||E&&y.key===" "||lh.includes(y.key)&&(y.currentTarget.click(),y.preventDefault())})})});Bu.displayName=wu;var Lx=m.forwardRef((n,l)=>{const{__scopeMenu:r,disabled:o=!1,textValue:s,...c}=n,d=em(wu,r),h=Ox(r),v=m.useRef(null),p=Ve(l,v),[b,y]=m.useState(!1),[E,T]=m.useState("");return m.useEffect(()=>{const R=v.current;R&&T((R.textContent??"").trim())},[c.children]),x.jsx(bo.ItemSlot,{scope:r,disabled:o,textValue:s??E,children:x.jsx(dM,{asChild:!0,...h,focusable:!o,children:x.jsx(Se.div,{role:"menuitem","data-highlighted":b?"":void 0,"aria-disabled":o||void 0,"data-disabled":o?"":void 0,...c,ref:p,onPointerMove:fe(n.onPointerMove,xo(R=>{o?d.onItemLeave(R):(d.onItemEnter(R),R.defaultPrevented||R.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:fe(n.onPointerLeave,xo(R=>d.onItemLeave(R))),onFocus:fe(n.onFocus,()=>y(!0)),onBlur:fe(n.onBlur,()=>y(!1))})})})}),UM="MenuCheckboxItem",Bx=m.forwardRef((n,l)=>{const{checked:r=!1,onCheckedChange:o,...s}=n;return x.jsx(Vx,{scope:n.__scopeMenu,checked:r,children:x.jsx(Bu,{role:"menuitemcheckbox","aria-checked":Cu(r)?"mixed":r,...s,ref:l,"data-state":lm(r),onSelect:fe(s.onSelect,()=>o==null?void 0:o(Cu(r)?!0:!r),{checkForDefaultPrevented:!1})})})});Bx.displayName=UM;var Hx="MenuRadioGroup",[LM,BM]=Xl(Hx,{value:void 0,onValueChange:()=>{}}),kx=m.forwardRef((n,l)=>{const{value:r,onValueChange:o,...s}=n,c=Dn(o);return x.jsx(LM,{scope:n.__scopeMenu,value:r,onValueChange:c,children:x.jsx(nm,{...s,ref:l})})});kx.displayName=Hx;var qx="MenuRadioItem",Gx=m.forwardRef((n,l)=>{const{value:r,...o}=n,s=BM(qx,n.__scopeMenu),c=r===s.value;return x.jsx(Vx,{scope:n.__scopeMenu,checked:c,children:x.jsx(Bu,{role:"menuitemradio","aria-checked":c,...o,ref:l,"data-state":lm(c),onSelect:fe(o.onSelect,()=>{var d;return(d=s.onValueChange)==null?void 0:d.call(s,r)},{checkForDefaultPrevented:!1})})})});Gx.displayName=qx;var am="MenuItemIndicator",[Vx,HM]=Xl(am,{checked:!1}),Px=m.forwardRef((n,l)=>{const{__scopeMenu:r,forceMount:o,...s}=n,c=HM(am,r);return x.jsx(zn,{present:o||Cu(c.checked)||c.checked===!0,children:x.jsx(Se.span,{...s,ref:l,"data-state":lm(c.checked)})})});Px.displayName=am;var kM="MenuSeparator",Ix=m.forwardRef((n,l)=>{const{__scopeMenu:r,...o}=n;return x.jsx(Se.div,{role:"separator","aria-orientation":"horizontal",...o,ref:l})});Ix.displayName=kM;var qM="MenuArrow",Yx=m.forwardRef((n,l)=>{const{__scopeMenu:r,...o}=n,s=Lu(r);return x.jsx($h,{...s,...o,ref:l})});Yx.displayName=qM;var GM="MenuSub",[Kj,Qx]=Xl(GM),fo="MenuSubTrigger",Kx=m.forwardRef((n,l)=>{const r=Fl(fo,n.__scopeMenu),o=zo(fo,n.__scopeMenu),s=Qx(fo,n.__scopeMenu),c=em(fo,n.__scopeMenu),d=m.useRef(null),{pointerGraceTimerRef:h,onPointerGraceIntentChange:v}=c,p={__scopeMenu:n.__scopeMenu},b=m.useCallback(()=>{d.current&&window.clearTimeout(d.current),d.current=null},[]);return m.useEffect(()=>b,[b]),m.useEffect(()=>{const y=h.current;return()=>{window.clearTimeout(y),v(null)}},[h,v]),x.jsx(Jh,{asChild:!0,...p,children:x.jsx(Lx,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":s.contentId,"data-state":Zx(r.open),...n,ref:Bt(l,s.onTriggerChange),onClick:y=>{var E;(E=n.onClick)==null||E.call(n,y),!(n.disabled||y.defaultPrevented)&&(y.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:fe(n.onPointerMove,xo(y=>{c.onItemEnter(y),!y.defaultPrevented&&!n.disabled&&!r.open&&!d.current&&(c.onPointerGraceIntentChange(null),d.current=window.setTimeout(()=>{r.onOpenChange(!0),b()},100))})),onPointerLeave:fe(n.onPointerLeave,xo(y=>{var T,R;b();const E=(T=r.content)==null?void 0:T.getBoundingClientRect();if(E){const w=(R=r.content)==null?void 0:R.dataset.side,C=w==="right",A=C?-5:5,N=E[C?"left":"right"],j=E[C?"right":"left"];c.onPointerGraceIntentChange({area:[{x:y.clientX+A,y:y.clientY},{x:N,y:E.top},{x:j,y:E.top},{x:j,y:E.bottom},{x:N,y:E.bottom}],side:w}),window.clearTimeout(h.current),h.current=window.setTimeout(()=>c.onPointerGraceIntentChange(null),300)}else{if(c.onTriggerLeave(y),y.defaultPrevented)return;c.onPointerGraceIntentChange(null)}})),onKeyDown:fe(n.onKeyDown,y=>{var T;const E=c.searchRef.current!=="";n.disabled||E&&y.key===" "||SM[o.dir].includes(y.key)&&(r.onOpenChange(!0),(T=r.content)==null||T.focus(),y.preventDefault())})})})});Kx.displayName=fo;var Xx="MenuSubContent",Fx=m.forwardRef((n,l)=>{const r=Dx(fn,n.__scopeMenu),{forceMount:o=r.forceMount,...s}=n,c=Fl(fn,n.__scopeMenu),d=zo(fn,n.__scopeMenu),h=Qx(Xx,n.__scopeMenu),v=m.useRef(null),p=Ve(l,v);return x.jsx(bo.Provider,{scope:n.__scopeMenu,children:x.jsx(zn,{present:o||c.open,children:x.jsx(bo.Slot,{scope:n.__scopeMenu,children:x.jsx(tm,{id:h.contentId,"aria-labelledby":h.triggerId,...s,ref:p,align:"start",side:d.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:b=>{var y;d.isUsingKeyboardRef.current&&((y=v.current)==null||y.focus()),b.preventDefault()},onCloseAutoFocus:b=>b.preventDefault(),onFocusOutside:fe(n.onFocusOutside,b=>{b.target!==h.trigger&&c.onOpenChange(!1)}),onEscapeKeyDown:fe(n.onEscapeKeyDown,b=>{d.onClose(),b.preventDefault()}),onKeyDown:fe(n.onKeyDown,b=>{var T;const y=b.currentTarget.contains(b.target),E=EM[d.dir].includes(b.key);y&&E&&(c.onOpenChange(!1),(T=h.trigger)==null||T.focus(),b.preventDefault())})})})})})});Fx.displayName=Xx;function Zx(n){return n?"open":"closed"}function Cu(n){return n==="indeterminate"}function lm(n){return Cu(n)?"indeterminate":n?"checked":"unchecked"}function VM(n){const l=document.activeElement;for(const r of n)if(r===l||(r.focus(),document.activeElement!==l))return}function PM(n,l){return n.map((r,o)=>n[(l+o)%n.length])}function IM(n,l,r){const s=l.length>1&&Array.from(l).every(p=>p===l[0])?l[0]:l,c=r?n.indexOf(r):-1;let d=PM(n,Math.max(c,0));s.length===1&&(d=d.filter(p=>p!==r));const v=d.find(p=>p.toLowerCase().startsWith(s.toLowerCase()));return v!==r?v:void 0}function YM(n,l){const{x:r,y:o}=n;let s=!1;for(let c=0,d=l.length-1;co!=E>o&&r<(y-p)*(o-b)/(E-b)+p&&(s=!s)}return s}function QM(n,l){if(!l)return!1;const r={x:n.clientX,y:n.clientY};return YM(r,l)}function xo(n){return l=>l.pointerType==="mouse"?n(l):void 0}var KM=Nx,XM=Jh,FM=jx,ZM=zx,$M=nm,JM=Ux,WM=Bu,eO=Bx,tO=kx,nO=Gx,aO=Px,lO=Ix,rO=Yx,iO=Kx,oO=Fx,Hu="DropdownMenu",[sO]=rl(Hu,[Mx]),At=Mx(),[uO,$x]=sO(Hu),Jx=n=>{const{__scopeDropdownMenu:l,children:r,dir:o,open:s,defaultOpen:c,onOpenChange:d,modal:h=!0}=n,v=At(l),p=m.useRef(null),[b,y]=ni({prop:s,defaultProp:c??!1,onChange:d,caller:Hu});return x.jsx(uO,{scope:l,triggerId:St(),triggerRef:p,contentId:St(),open:b,onOpenChange:y,onOpenToggle:m.useCallback(()=>y(E=>!E),[y]),modal:h,children:x.jsx(KM,{...v,open:b,onOpenChange:y,dir:o,modal:h,children:r})})};Jx.displayName=Hu;var Wx="DropdownMenuTrigger",eS=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,disabled:o=!1,...s}=n,c=$x(Wx,r),d=At(r);return x.jsx(XM,{asChild:!0,...d,children:x.jsx(Se.button,{type:"button",id:c.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":c.open?c.contentId:void 0,"data-state":c.open?"open":"closed","data-disabled":o?"":void 0,disabled:o,...s,ref:Bt(l,c.triggerRef),onPointerDown:fe(n.onPointerDown,h=>{!o&&h.button===0&&h.ctrlKey===!1&&(c.onOpenToggle(),c.open||h.preventDefault())}),onKeyDown:fe(n.onKeyDown,h=>{o||(["Enter"," "].includes(h.key)&&c.onOpenToggle(),h.key==="ArrowDown"&&c.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(h.key)&&h.preventDefault())})})})});eS.displayName=Wx;var cO="DropdownMenuPortal",tS=n=>{const{__scopeDropdownMenu:l,...r}=n,o=At(l);return x.jsx(FM,{...o,...r})};tS.displayName=cO;var nS="DropdownMenuContent",aS=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=$x(nS,r),c=At(r),d=m.useRef(!1);return x.jsx(ZM,{id:s.contentId,"aria-labelledby":s.triggerId,...c,...o,ref:l,onCloseAutoFocus:fe(n.onCloseAutoFocus,h=>{var v;d.current||(v=s.triggerRef.current)==null||v.focus(),d.current=!1,h.preventDefault()}),onInteractOutside:fe(n.onInteractOutside,h=>{const v=h.detail.originalEvent,p=v.button===0&&v.ctrlKey===!0,b=v.button===2||p;(!s.modal||b)&&(d.current=!0)}),style:{...n.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});aS.displayName=nS;var fO="DropdownMenuGroup",dO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx($M,{...s,...o,ref:l})});dO.displayName=fO;var hO="DropdownMenuLabel",mO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(JM,{...s,...o,ref:l})});mO.displayName=hO;var pO="DropdownMenuItem",lS=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(WM,{...s,...o,ref:l})});lS.displayName=pO;var vO="DropdownMenuCheckboxItem",gO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(eO,{...s,...o,ref:l})});gO.displayName=vO;var yO="DropdownMenuRadioGroup",bO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(tO,{...s,...o,ref:l})});bO.displayName=yO;var xO="DropdownMenuRadioItem",SO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(nO,{...s,...o,ref:l})});SO.displayName=xO;var EO="DropdownMenuItemIndicator",wO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(aO,{...s,...o,ref:l})});wO.displayName=EO;var CO="DropdownMenuSeparator",TO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(lO,{...s,...o,ref:l})});TO.displayName=CO;var RO="DropdownMenuArrow",AO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(rO,{...s,...o,ref:l})});AO.displayName=RO;var _O="DropdownMenuSubTrigger",MO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(iO,{...s,...o,ref:l})});MO.displayName=_O;var OO="DropdownMenuSubContent",NO=m.forwardRef((n,l)=>{const{__scopeDropdownMenu:r,...o}=n,s=At(r);return x.jsx(oO,{...s,...o,ref:l,style:{...n.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});NO.displayName=OO;var DO=Jx,jO=eS,zO=tS,UO=aS,LO=lS;function Eb(n,[l,r]){return Math.min(r,Math.max(l,n))}function BO(n){const l=HO(n),r=m.forwardRef((o,s)=>{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(qO);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}function HO(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=VO(s),h=GO(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var kO=Symbol("radix.slottable");function qO(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===kO}function GO(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function VO(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var PO=[" ","Enter","ArrowUp","ArrowDown"],IO=[" ","Enter"],Vl="Select",[ku,qu,YO]=Mh(Vl),[ci]=rl(Vl,[YO,ui]),Gu=ui(),[QO,il]=ci(Vl),[KO,XO]=ci(Vl),rS=n=>{const{__scopeSelect:l,children:r,open:o,defaultOpen:s,onOpenChange:c,value:d,defaultValue:h,onValueChange:v,dir:p,name:b,autoComplete:y,disabled:E,required:T,form:R}=n,w=Gu(l),[C,A]=m.useState(null),[N,j]=m.useState(null),[z,P]=m.useState(!1),Y=Oh(p),[G,te]=ni({prop:o,defaultProp:s??!1,onChange:c,caller:Vl}),[le,ie]=ni({prop:d,defaultProp:h,onChange:v,caller:Vl}),se=m.useRef(null),ne=C?R||!!C.closest("form"):!0,[be,ce]=m.useState(new Set),ge=Array.from(be).map(B=>B.props.value).join(";");return x.jsx(Xh,{...w,children:x.jsxs(QO,{required:T,scope:l,trigger:C,onTriggerChange:A,valueNode:N,onValueNodeChange:j,valueNodeHasChildren:z,onValueNodeHasChildrenChange:P,contentId:St(),value:le,onValueChange:ie,open:G,onOpenChange:te,dir:Y,triggerPointerDownPosRef:se,disabled:E,children:[x.jsx(ku.Provider,{scope:l,children:x.jsx(KO,{scope:n.__scopeSelect,onNativeOptionAdd:m.useCallback(B=>{ce(F=>new Set(F).add(B))},[]),onNativeOptionRemove:m.useCallback(B=>{ce(F=>{const $=new Set(F);return $.delete(B),$})},[]),children:r})}),ne?x.jsxs(AS,{"aria-hidden":!0,required:T,tabIndex:-1,name:b,autoComplete:y,value:le,onChange:B=>ie(B.target.value),disabled:E,form:R,children:[le===void 0?x.jsx("option",{value:""}):null,Array.from(be)]},ge):null]})})};rS.displayName=Vl;var iS="SelectTrigger",oS=m.forwardRef((n,l)=>{const{__scopeSelect:r,disabled:o=!1,...s}=n,c=Gu(r),d=il(iS,r),h=d.disabled||o,v=Ve(l,d.onTriggerChange),p=qu(r),b=m.useRef("touch"),[y,E,T]=MS(w=>{const C=p().filter(j=>!j.disabled),A=C.find(j=>j.value===d.value),N=OS(C,w,A);N!==void 0&&d.onValueChange(N.value)}),R=w=>{h||(d.onOpenChange(!0),T()),w&&(d.triggerPointerDownPosRef.current={x:Math.round(w.pageX),y:Math.round(w.pageY)})};return x.jsx(Fh,{asChild:!0,...c,children:x.jsx(Se.button,{type:"button",role:"combobox","aria-controls":d.contentId,"aria-expanded":d.open,"aria-required":d.required,"aria-autocomplete":"none",dir:d.dir,"data-state":d.open?"open":"closed",disabled:h,"data-disabled":h?"":void 0,"data-placeholder":_S(d.value)?"":void 0,...s,ref:v,onClick:fe(s.onClick,w=>{w.currentTarget.focus(),b.current!=="mouse"&&R(w)}),onPointerDown:fe(s.onPointerDown,w=>{b.current=w.pointerType;const C=w.target;C.hasPointerCapture(w.pointerId)&&C.releasePointerCapture(w.pointerId),w.button===0&&w.ctrlKey===!1&&w.pointerType==="mouse"&&(R(w),w.preventDefault())}),onKeyDown:fe(s.onKeyDown,w=>{const C=y.current!=="";!(w.ctrlKey||w.altKey||w.metaKey)&&w.key.length===1&&E(w.key),!(C&&w.key===" ")&&PO.includes(w.key)&&(R(),w.preventDefault())})})})});oS.displayName=iS;var sS="SelectValue",uS=m.forwardRef((n,l)=>{const{__scopeSelect:r,className:o,style:s,children:c,placeholder:d="",...h}=n,v=il(sS,r),{onValueNodeHasChildrenChange:p}=v,b=c!==void 0,y=Ve(l,v.onValueNodeChange);return Et(()=>{p(b)},[p,b]),x.jsx(Se.span,{...h,ref:y,style:{pointerEvents:"none"},children:_S(v.value)?x.jsx(x.Fragment,{children:d}):c})});uS.displayName=sS;var FO="SelectIcon",cS=m.forwardRef((n,l)=>{const{__scopeSelect:r,children:o,...s}=n;return x.jsx(Se.span,{"aria-hidden":!0,...s,ref:l,children:o||"▼"})});cS.displayName=FO;var ZO="SelectPortal",fS=n=>x.jsx(Oo,{asChild:!0,...n});fS.displayName=ZO;var Pl="SelectContent",dS=m.forwardRef((n,l)=>{const r=il(Pl,n.__scopeSelect),[o,s]=m.useState();if(Et(()=>{s(new DocumentFragment)},[]),!r.open){const c=o;return c?Ao.createPortal(x.jsx(hS,{scope:n.__scopeSelect,children:x.jsx(ku.Slot,{scope:n.__scopeSelect,children:x.jsx("div",{children:n.children})})}),c):null}return x.jsx(mS,{...n,ref:l})});dS.displayName=Pl;var vn=10,[hS,ol]=ci(Pl),$O="SelectContentImpl",JO=BO("SelectContent.RemoveScroll"),mS=m.forwardRef((n,l)=>{const{__scopeSelect:r,position:o="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:c,onPointerDownOutside:d,side:h,sideOffset:v,align:p,alignOffset:b,arrowPadding:y,collisionBoundary:E,collisionPadding:T,sticky:R,hideWhenDetached:w,avoidCollisions:C,...A}=n,N=il(Pl,r),[j,z]=m.useState(null),[P,Y]=m.useState(null),G=Ve(l,J=>z(J)),[te,le]=m.useState(null),[ie,se]=m.useState(null),ne=qu(r),[be,ce]=m.useState(!1),ge=m.useRef(!1);m.useEffect(()=>{if(j)return Dh(j)},[j]),Nh();const B=m.useCallback(J=>{const[me,...ue]=ne().map(Ue=>Ue.ref.current),[Ae]=ue.slice(-1),ze=document.activeElement;for(const Ue of J)if(Ue===ze||(Ue==null||Ue.scrollIntoView({block:"nearest"}),Ue===me&&P&&(P.scrollTop=0),Ue===Ae&&P&&(P.scrollTop=P.scrollHeight),Ue==null||Ue.focus(),document.activeElement!==ze))return},[ne,P]),F=m.useCallback(()=>B([te,j]),[B,te,j]);m.useEffect(()=>{be&&F()},[be,F]);const{onOpenChange:$,triggerPointerDownPosRef:W}=N;m.useEffect(()=>{if(j){let J={x:0,y:0};const me=Ae=>{var ze,Ue;J={x:Math.abs(Math.round(Ae.pageX)-(((ze=W.current)==null?void 0:ze.x)??0)),y:Math.abs(Math.round(Ae.pageY)-(((Ue=W.current)==null?void 0:Ue.y)??0))}},ue=Ae=>{J.x<=10&&J.y<=10?Ae.preventDefault():j.contains(Ae.target)||$(!1),document.removeEventListener("pointermove",me),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",me),document.addEventListener("pointerup",ue,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",me),document.removeEventListener("pointerup",ue,{capture:!0})}}},[j,$,W]),m.useEffect(()=>{const J=()=>$(!1);return window.addEventListener("blur",J),window.addEventListener("resize",J),()=>{window.removeEventListener("blur",J),window.removeEventListener("resize",J)}},[$]);const[de,_]=MS(J=>{const me=ne().filter(ze=>!ze.disabled),ue=me.find(ze=>ze.ref.current===document.activeElement),Ae=OS(me,J,ue);Ae&&setTimeout(()=>Ae.ref.current.focus())}),D=m.useCallback((J,me,ue)=>{const Ae=!ge.current&&!ue;(N.value!==void 0&&N.value===me||Ae)&&(le(J),Ae&&(ge.current=!0))},[N.value]),Q=m.useCallback(()=>j==null?void 0:j.focus(),[j]),Z=m.useCallback((J,me,ue)=>{const Ae=!ge.current&&!ue;(N.value!==void 0&&N.value===me||Ae)&&se(J)},[N.value]),ee=o==="popper"?rh:pS,ae=ee===rh?{side:h,sideOffset:v,align:p,alignOffset:b,arrowPadding:y,collisionBoundary:E,collisionPadding:T,sticky:R,hideWhenDetached:w,avoidCollisions:C}:{};return x.jsx(hS,{scope:r,content:j,viewport:P,onViewportChange:Y,itemRefCallback:D,selectedItem:te,onItemLeave:Q,itemTextRefCallback:Z,focusSelectedItem:F,selectedItemText:ie,position:o,isPositioned:be,searchRef:de,children:x.jsx(Ou,{as:JO,allowPinchZoom:!0,children:x.jsx(_u,{asChild:!0,trapped:N.open,onMountAutoFocus:J=>{J.preventDefault()},onUnmountAutoFocus:fe(s,J=>{var me;(me=N.trigger)==null||me.focus({preventScroll:!0}),J.preventDefault()}),children:x.jsx(Mo,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:J=>J.preventDefault(),onDismiss:()=>N.onOpenChange(!1),children:x.jsx(ee,{role:"listbox",id:N.contentId,"data-state":N.open?"open":"closed",dir:N.dir,onContextMenu:J=>J.preventDefault(),...A,...ae,onPlaced:()=>ce(!0),ref:G,style:{display:"flex",flexDirection:"column",outline:"none",...A.style},onKeyDown:fe(A.onKeyDown,J=>{const me=J.ctrlKey||J.altKey||J.metaKey;if(J.key==="Tab"&&J.preventDefault(),!me&&J.key.length===1&&_(J.key),["ArrowUp","ArrowDown","Home","End"].includes(J.key)){let Ae=ne().filter(ze=>!ze.disabled).map(ze=>ze.ref.current);if(["ArrowUp","End"].includes(J.key)&&(Ae=Ae.slice().reverse()),["ArrowUp","ArrowDown"].includes(J.key)){const ze=J.target,Ue=Ae.indexOf(ze);Ae=Ae.slice(Ue+1)}setTimeout(()=>B(Ae)),J.preventDefault()}})})})})})})});mS.displayName=$O;var WO="SelectItemAlignedPosition",pS=m.forwardRef((n,l)=>{const{__scopeSelect:r,onPlaced:o,...s}=n,c=il(Pl,r),d=ol(Pl,r),[h,v]=m.useState(null),[p,b]=m.useState(null),y=Ve(l,G=>b(G)),E=qu(r),T=m.useRef(!1),R=m.useRef(!0),{viewport:w,selectedItem:C,selectedItemText:A,focusSelectedItem:N}=d,j=m.useCallback(()=>{if(c.trigger&&c.valueNode&&h&&p&&w&&C&&A){const G=c.trigger.getBoundingClientRect(),te=p.getBoundingClientRect(),le=c.valueNode.getBoundingClientRect(),ie=A.getBoundingClientRect();if(c.dir!=="rtl"){const ze=ie.left-te.left,Ue=le.left-ze,yt=G.left-Ue,ut=G.width+yt,Ln=Math.max(ut,te.width),Bn=window.innerWidth-vn,sl=Eb(Ue,[vn,Math.max(vn,Bn-Ln)]);h.style.minWidth=ut+"px",h.style.left=sl+"px"}else{const ze=te.right-ie.right,Ue=window.innerWidth-le.right-ze,yt=window.innerWidth-G.right-Ue,ut=G.width+yt,Ln=Math.max(ut,te.width),Bn=window.innerWidth-vn,sl=Eb(Ue,[vn,Math.max(vn,Bn-Ln)]);h.style.minWidth=ut+"px",h.style.right=sl+"px"}const se=E(),ne=window.innerHeight-vn*2,be=w.scrollHeight,ce=window.getComputedStyle(p),ge=parseInt(ce.borderTopWidth,10),B=parseInt(ce.paddingTop,10),F=parseInt(ce.borderBottomWidth,10),$=parseInt(ce.paddingBottom,10),W=ge+B+be+$+F,de=Math.min(C.offsetHeight*5,W),_=window.getComputedStyle(w),D=parseInt(_.paddingTop,10),Q=parseInt(_.paddingBottom,10),Z=G.top+G.height/2-vn,ee=ne-Z,ae=C.offsetHeight/2,J=C.offsetTop+ae,me=ge+B+J,ue=W-me;if(me<=Z){const ze=se.length>0&&C===se[se.length-1].ref.current;h.style.bottom="0px";const Ue=p.clientHeight-w.offsetTop-w.offsetHeight,yt=Math.max(ee,ae+(ze?Q:0)+Ue+F),ut=me+yt;h.style.height=ut+"px"}else{const ze=se.length>0&&C===se[0].ref.current;h.style.top="0px";const yt=Math.max(Z,ge+w.offsetTop+(ze?D:0)+ae)+ue;h.style.height=yt+"px",w.scrollTop=me-Z+w.offsetTop}h.style.margin=`${vn}px 0`,h.style.minHeight=de+"px",h.style.maxHeight=ne+"px",o==null||o(),requestAnimationFrame(()=>T.current=!0)}},[E,c.trigger,c.valueNode,h,p,w,C,A,c.dir,o]);Et(()=>j(),[j]);const[z,P]=m.useState();Et(()=>{p&&P(window.getComputedStyle(p).zIndex)},[p]);const Y=m.useCallback(G=>{G&&R.current===!0&&(j(),N==null||N(),R.current=!1)},[j,N]);return x.jsx(t2,{scope:r,contentWrapper:h,shouldExpandOnScrollRef:T,onScrollButtonChange:Y,children:x.jsx("div",{ref:v,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:z},children:x.jsx(Se.div,{...s,ref:y,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});pS.displayName=WO;var e2="SelectPopperPosition",rh=m.forwardRef((n,l)=>{const{__scopeSelect:r,align:o="start",collisionPadding:s=vn,...c}=n,d=Gu(r);return x.jsx(Zh,{...d,...c,ref:l,align:o,collisionPadding:s,style:{boxSizing:"border-box",...c.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});rh.displayName=e2;var[t2,rm]=ci(Pl,{}),ih="SelectViewport",vS=m.forwardRef((n,l)=>{const{__scopeSelect:r,nonce:o,...s}=n,c=ol(ih,r),d=rm(ih,r),h=Ve(l,c.onViewportChange),v=m.useRef(0);return x.jsxs(x.Fragment,{children:[x.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),x.jsx(ku.Slot,{scope:r,children:x.jsx(Se.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:h,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:fe(s.onScroll,p=>{const b=p.currentTarget,{contentWrapper:y,shouldExpandOnScrollRef:E}=d;if(E!=null&&E.current&&y){const T=Math.abs(v.current-b.scrollTop);if(T>0){const R=window.innerHeight-vn*2,w=parseFloat(y.style.minHeight),C=parseFloat(y.style.height),A=Math.max(w,C);if(A0?z:0,y.style.justifyContent="flex-end")}}}v.current=b.scrollTop})})})]})});vS.displayName=ih;var gS="SelectGroup",[n2,a2]=ci(gS),l2=m.forwardRef((n,l)=>{const{__scopeSelect:r,...o}=n,s=St();return x.jsx(n2,{scope:r,id:s,children:x.jsx(Se.div,{role:"group","aria-labelledby":s,...o,ref:l})})});l2.displayName=gS;var yS="SelectLabel",r2=m.forwardRef((n,l)=>{const{__scopeSelect:r,...o}=n,s=a2(yS,r);return x.jsx(Se.div,{id:s.id,...o,ref:l})});r2.displayName=yS;var Tu="SelectItem",[i2,bS]=ci(Tu),xS=m.forwardRef((n,l)=>{const{__scopeSelect:r,value:o,disabled:s=!1,textValue:c,...d}=n,h=il(Tu,r),v=ol(Tu,r),p=h.value===o,[b,y]=m.useState(c??""),[E,T]=m.useState(!1),R=Ve(l,N=>{var j;return(j=v.itemRefCallback)==null?void 0:j.call(v,N,o,s)}),w=St(),C=m.useRef("touch"),A=()=>{s||(h.onValueChange(o),h.onOpenChange(!1))};if(o==="")throw new Error("A must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return x.jsx(i2,{scope:r,value:o,disabled:s,textId:w,isSelected:p,onItemTextChange:m.useCallback(N=>{y(j=>j||((N==null?void 0:N.textContent)??"").trim())},[]),children:x.jsx(ku.ItemSlot,{scope:r,value:o,disabled:s,textValue:b,children:x.jsx(Se.div,{role:"option","aria-labelledby":w,"data-highlighted":E?"":void 0,"aria-selected":p&&E,"data-state":p?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...d,ref:R,onFocus:fe(d.onFocus,()=>T(!0)),onBlur:fe(d.onBlur,()=>T(!1)),onClick:fe(d.onClick,()=>{C.current!=="mouse"&&A()}),onPointerUp:fe(d.onPointerUp,()=>{C.current==="mouse"&&A()}),onPointerDown:fe(d.onPointerDown,N=>{C.current=N.pointerType}),onPointerMove:fe(d.onPointerMove,N=>{var j;C.current=N.pointerType,s?(j=v.onItemLeave)==null||j.call(v):C.current==="mouse"&&N.currentTarget.focus({preventScroll:!0})}),onPointerLeave:fe(d.onPointerLeave,N=>{var j;N.currentTarget===document.activeElement&&((j=v.onItemLeave)==null||j.call(v))}),onKeyDown:fe(d.onKeyDown,N=>{var z;((z=v.searchRef)==null?void 0:z.current)!==""&&N.key===" "||(IO.includes(N.key)&&A(),N.key===" "&&N.preventDefault())})})})})});xS.displayName=Tu;var ho="SelectItemText",SS=m.forwardRef((n,l)=>{const{__scopeSelect:r,className:o,style:s,...c}=n,d=il(ho,r),h=ol(ho,r),v=bS(ho,r),p=XO(ho,r),[b,y]=m.useState(null),E=Ve(l,A=>y(A),v.onItemTextChange,A=>{var N;return(N=h.itemTextRefCallback)==null?void 0:N.call(h,A,v.value,v.disabled)}),T=b==null?void 0:b.textContent,R=m.useMemo(()=>x.jsx("option",{value:v.value,disabled:v.disabled,children:T},v.value),[v.disabled,v.value,T]),{onNativeOptionAdd:w,onNativeOptionRemove:C}=p;return Et(()=>(w(R),()=>C(R)),[w,C,R]),x.jsxs(x.Fragment,{children:[x.jsx(Se.span,{id:v.textId,...c,ref:E}),v.isSelected&&d.valueNode&&!d.valueNodeHasChildren?Ao.createPortal(c.children,d.valueNode):null]})});SS.displayName=ho;var ES="SelectItemIndicator",wS=m.forwardRef((n,l)=>{const{__scopeSelect:r,...o}=n;return bS(ES,r).isSelected?x.jsx(Se.span,{"aria-hidden":!0,...o,ref:l}):null});wS.displayName=ES;var oh="SelectScrollUpButton",CS=m.forwardRef((n,l)=>{const r=ol(oh,n.__scopeSelect),o=rm(oh,n.__scopeSelect),[s,c]=m.useState(!1),d=Ve(l,o.onScrollButtonChange);return Et(()=>{if(r.viewport&&r.isPositioned){let h=function(){const p=v.scrollTop>0;c(p)};const v=r.viewport;return h(),v.addEventListener("scroll",h),()=>v.removeEventListener("scroll",h)}},[r.viewport,r.isPositioned]),s?x.jsx(RS,{...n,ref:d,onAutoScroll:()=>{const{viewport:h,selectedItem:v}=r;h&&v&&(h.scrollTop=h.scrollTop-v.offsetHeight)}}):null});CS.displayName=oh;var sh="SelectScrollDownButton",TS=m.forwardRef((n,l)=>{const r=ol(sh,n.__scopeSelect),o=rm(sh,n.__scopeSelect),[s,c]=m.useState(!1),d=Ve(l,o.onScrollButtonChange);return Et(()=>{if(r.viewport&&r.isPositioned){let h=function(){const p=v.scrollHeight-v.clientHeight,b=Math.ceil(v.scrollTop)v.removeEventListener("scroll",h)}},[r.viewport,r.isPositioned]),s?x.jsx(RS,{...n,ref:d,onAutoScroll:()=>{const{viewport:h,selectedItem:v}=r;h&&v&&(h.scrollTop=h.scrollTop+v.offsetHeight)}}):null});TS.displayName=sh;var RS=m.forwardRef((n,l)=>{const{__scopeSelect:r,onAutoScroll:o,...s}=n,c=ol("SelectScrollButton",r),d=m.useRef(null),h=qu(r),v=m.useCallback(()=>{d.current!==null&&(window.clearInterval(d.current),d.current=null)},[]);return m.useEffect(()=>()=>v(),[v]),Et(()=>{var b;const p=h().find(y=>y.ref.current===document.activeElement);(b=p==null?void 0:p.ref.current)==null||b.scrollIntoView({block:"nearest"})},[h]),x.jsx(Se.div,{"aria-hidden":!0,...s,ref:l,style:{flexShrink:0,...s.style},onPointerDown:fe(s.onPointerDown,()=>{d.current===null&&(d.current=window.setInterval(o,50))}),onPointerMove:fe(s.onPointerMove,()=>{var p;(p=c.onItemLeave)==null||p.call(c),d.current===null&&(d.current=window.setInterval(o,50))}),onPointerLeave:fe(s.onPointerLeave,()=>{v()})})}),o2="SelectSeparator",s2=m.forwardRef((n,l)=>{const{__scopeSelect:r,...o}=n;return x.jsx(Se.div,{"aria-hidden":!0,...o,ref:l})});s2.displayName=o2;var uh="SelectArrow",u2=m.forwardRef((n,l)=>{const{__scopeSelect:r,...o}=n,s=Gu(r),c=il(uh,r),d=ol(uh,r);return c.open&&d.position==="popper"?x.jsx($h,{...s,...o,ref:l}):null});u2.displayName=uh;var c2="SelectBubbleInput",AS=m.forwardRef(({__scopeSelect:n,value:l,...r},o)=>{const s=m.useRef(null),c=Ve(o,s),d=GA(l);return m.useEffect(()=>{const h=s.current;if(!h)return;const v=window.HTMLSelectElement.prototype,b=Object.getOwnPropertyDescriptor(v,"value").set;if(d!==l&&b){const y=new Event("change",{bubbles:!0});b.call(h,l),h.dispatchEvent(y)}},[d,l]),x.jsx(Se.select,{...r,style:{...C0,...r.style},ref:c,defaultValue:l})});AS.displayName=c2;function _S(n){return n===""||n===void 0}function MS(n){const l=Dn(n),r=m.useRef(""),o=m.useRef(0),s=m.useCallback(d=>{const h=r.current+d;l(h),(function v(p){r.current=p,window.clearTimeout(o.current),p!==""&&(o.current=window.setTimeout(()=>v(""),1e3))})(h)},[l]),c=m.useCallback(()=>{r.current="",window.clearTimeout(o.current)},[]);return m.useEffect(()=>()=>window.clearTimeout(o.current),[]),[r,s,c]}function OS(n,l,r){const s=l.length>1&&Array.from(l).every(p=>p===l[0])?l[0]:l,c=r?n.indexOf(r):-1;let d=f2(n,Math.max(c,0));s.length===1&&(d=d.filter(p=>p!==r));const v=d.find(p=>p.textValue.toLowerCase().startsWith(s.toLowerCase()));return v!==r?v:void 0}function f2(n,l){return n.map((r,o)=>n[(l+o)%n.length])}var d2=rS,h2=oS,m2=uS,p2=cS,v2=fS,g2=dS,y2=vS,b2=xS,x2=SS,S2=wS,E2=CS,w2=TS;function C2(n){const l=T2(n),r=m.forwardRef((o,s)=>{const{children:c,...d}=o,h=m.Children.toArray(c),v=h.find(A2);if(v){const p=v.props.children,b=h.map(y=>y===v?m.Children.count(p)>1?m.Children.only(null):m.isValidElement(p)?p.props.children:null:y);return x.jsx(l,{...d,ref:s,children:m.isValidElement(p)?m.cloneElement(p,void 0,b):null})}return x.jsx(l,{...d,ref:s,children:c})});return r.displayName=`${n}.Slot`,r}var im=C2("Slot");function T2(n){const l=m.forwardRef((r,o)=>{const{children:s,...c}=r;if(m.isValidElement(s)){const d=M2(s),h=_2(c,s.props);return s.type!==m.Fragment&&(h.ref=o?Bt(o,d):d),m.cloneElement(s,h)}return m.Children.count(s)>1?m.Children.only(null):null});return l.displayName=`${n}.SlotClone`,l}var R2=Symbol("radix.slottable");function A2(n){return m.isValidElement(n)&&typeof n.type=="function"&&"__radixId"in n.type&&n.type.__radixId===R2}function _2(n,l){const r={...l};for(const o in l){const s=n[o],c=l[o];/^on[A-Z]/.test(o)?s&&c?r[o]=(...h)=>{const v=c(...h);return s(...h),v}:s&&(r[o]=s):o==="style"?r[o]={...s,...c}:o==="className"&&(r[o]=[s,c].filter(Boolean).join(" "))}return{...n,...r}}function M2(n){var o,s;let l=(o=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:o.get,r=l&&"isReactWarning"in l&&l.isReactWarning;return r?n.ref:(l=(s=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:s.get,r=l&&"isReactWarning"in l&&l.isReactWarning,r?n.props.ref:n.props.ref||n.ref)}var O2=Symbol("radix.slottable");function N2(n){const l=({children:r})=>x.jsx(x.Fragment,{children:r});return l.displayName=`${n}.Slottable`,l.__radixId=O2,l}var[Vu]=rl("Tooltip",[ui]),Pu=ui(),NS="TooltipProvider",D2=700,ch="tooltip.open",[j2,om]=Vu(NS),DS=n=>{const{__scopeTooltip:l,delayDuration:r=D2,skipDelayDuration:o=300,disableHoverableContent:s=!1,children:c}=n,d=m.useRef(!0),h=m.useRef(!1),v=m.useRef(0);return m.useEffect(()=>{const p=v.current;return()=>window.clearTimeout(p)},[]),x.jsx(j2,{scope:l,isOpenDelayedRef:d,delayDuration:r,onOpen:m.useCallback(()=>{window.clearTimeout(v.current),d.current=!1},[]),onClose:m.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>d.current=!0,o)},[o]),isPointerInTransitRef:h,onPointerInTransitChange:m.useCallback(p=>{h.current=p},[]),disableHoverableContent:s,children:c})};DS.displayName=NS;var So="Tooltip",[z2,Uo]=Vu(So),jS=n=>{const{__scopeTooltip:l,children:r,open:o,defaultOpen:s,onOpenChange:c,disableHoverableContent:d,delayDuration:h}=n,v=om(So,n.__scopeTooltip),p=Pu(l),[b,y]=m.useState(null),E=St(),T=m.useRef(0),R=d??v.disableHoverableContent,w=h??v.delayDuration,C=m.useRef(!1),[A,N]=ni({prop:o,defaultProp:s??!1,onChange:G=>{G?(v.onOpen(),document.dispatchEvent(new CustomEvent(ch))):v.onClose(),c==null||c(G)},caller:So}),j=m.useMemo(()=>A?C.current?"delayed-open":"instant-open":"closed",[A]),z=m.useCallback(()=>{window.clearTimeout(T.current),T.current=0,C.current=!1,N(!0)},[N]),P=m.useCallback(()=>{window.clearTimeout(T.current),T.current=0,N(!1)},[N]),Y=m.useCallback(()=>{window.clearTimeout(T.current),T.current=window.setTimeout(()=>{C.current=!0,N(!0),T.current=0},w)},[w,N]);return m.useEffect(()=>()=>{T.current&&(window.clearTimeout(T.current),T.current=0)},[]),x.jsx(Xh,{...p,children:x.jsx(z2,{scope:l,contentId:E,open:A,stateAttribute:j,trigger:b,onTriggerChange:y,onTriggerEnter:m.useCallback(()=>{v.isOpenDelayedRef.current?Y():z()},[v.isOpenDelayedRef,Y,z]),onTriggerLeave:m.useCallback(()=>{R?P():(window.clearTimeout(T.current),T.current=0)},[P,R]),onOpen:z,onClose:P,disableHoverableContent:R,children:r})})};jS.displayName=So;var fh="TooltipTrigger",zS=m.forwardRef((n,l)=>{const{__scopeTooltip:r,...o}=n,s=Uo(fh,r),c=om(fh,r),d=Pu(r),h=m.useRef(null),v=Ve(l,h,s.onTriggerChange),p=m.useRef(!1),b=m.useRef(!1),y=m.useCallback(()=>p.current=!1,[]);return m.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),x.jsx(Fh,{asChild:!0,...d,children:x.jsx(Se.button,{"aria-describedby":s.open?s.contentId:void 0,"data-state":s.stateAttribute,...o,ref:v,onPointerMove:fe(n.onPointerMove,E=>{E.pointerType!=="touch"&&!b.current&&!c.isPointerInTransitRef.current&&(s.onTriggerEnter(),b.current=!0)}),onPointerLeave:fe(n.onPointerLeave,()=>{s.onTriggerLeave(),b.current=!1}),onPointerDown:fe(n.onPointerDown,()=>{s.open&&s.onClose(),p.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:fe(n.onFocus,()=>{p.current||s.onOpen()}),onBlur:fe(n.onBlur,s.onClose),onClick:fe(n.onClick,s.onClose)})})});zS.displayName=fh;var sm="TooltipPortal",[U2,L2]=Vu(sm,{forceMount:void 0}),US=n=>{const{__scopeTooltip:l,forceMount:r,children:o,container:s}=n,c=Uo(sm,l);return x.jsx(U2,{scope:l,forceMount:r,children:x.jsx(zn,{present:r||c.open,children:x.jsx(Oo,{asChild:!0,container:s,children:o})})})};US.displayName=sm;var li="TooltipContent",LS=m.forwardRef((n,l)=>{const r=L2(li,n.__scopeTooltip),{forceMount:o=r.forceMount,side:s="top",...c}=n,d=Uo(li,n.__scopeTooltip);return x.jsx(zn,{present:o||d.open,children:d.disableHoverableContent?x.jsx(BS,{side:s,...c,ref:l}):x.jsx(B2,{side:s,...c,ref:l})})}),B2=m.forwardRef((n,l)=>{const r=Uo(li,n.__scopeTooltip),o=om(li,n.__scopeTooltip),s=m.useRef(null),c=Ve(l,s),[d,h]=m.useState(null),{trigger:v,onClose:p}=r,b=s.current,{onPointerInTransitChange:y}=o,E=m.useCallback(()=>{h(null),y(!1)},[y]),T=m.useCallback((R,w)=>{const C=R.currentTarget,A={x:R.clientX,y:R.clientY},N=G2(A,C.getBoundingClientRect()),j=V2(A,N),z=P2(w.getBoundingClientRect()),P=Y2([...j,...z]);h(P),y(!0)},[y]);return m.useEffect(()=>()=>E(),[E]),m.useEffect(()=>{if(v&&b){const R=C=>T(C,b),w=C=>T(C,v);return v.addEventListener("pointerleave",R),b.addEventListener("pointerleave",w),()=>{v.removeEventListener("pointerleave",R),b.removeEventListener("pointerleave",w)}}},[v,b,T,E]),m.useEffect(()=>{if(d){const R=w=>{const C=w.target,A={x:w.clientX,y:w.clientY},N=(v==null?void 0:v.contains(C))||(b==null?void 0:b.contains(C)),j=!I2(A,d);N?E():j&&(E(),p())};return document.addEventListener("pointermove",R),()=>document.removeEventListener("pointermove",R)}},[v,b,d,p,E]),x.jsx(BS,{...n,ref:c})}),[H2,k2]=Vu(So,{isInside:!1}),q2=N2("TooltipContent"),BS=m.forwardRef((n,l)=>{const{__scopeTooltip:r,children:o,"aria-label":s,onEscapeKeyDown:c,onPointerDownOutside:d,...h}=n,v=Uo(li,r),p=Pu(r),{onClose:b}=v;return m.useEffect(()=>(document.addEventListener(ch,b),()=>document.removeEventListener(ch,b)),[b]),m.useEffect(()=>{if(v.trigger){const y=E=>{const T=E.target;T!=null&&T.contains(v.trigger)&&b()};return window.addEventListener("scroll",y,{capture:!0}),()=>window.removeEventListener("scroll",y,{capture:!0})}},[v.trigger,b]),x.jsx(Mo,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:c,onPointerDownOutside:d,onFocusOutside:y=>y.preventDefault(),onDismiss:b,children:x.jsxs(Zh,{"data-state":v.stateAttribute,...p,...h,ref:l,style:{...h.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[x.jsx(q2,{children:o}),x.jsx(H2,{scope:r,isInside:!0,children:x.jsx(oR,{id:v.contentId,role:"tooltip",children:s||o})})]})})});LS.displayName=li;var HS="TooltipArrow",kS=m.forwardRef((n,l)=>{const{__scopeTooltip:r,...o}=n,s=Pu(r);return k2(HS,r).isInside?null:x.jsx($h,{...s,...o,ref:l})});kS.displayName=HS;function G2(n,l){const r=Math.abs(l.top-n.y),o=Math.abs(l.bottom-n.y),s=Math.abs(l.right-n.x),c=Math.abs(l.left-n.x);switch(Math.min(r,o,s,c)){case c:return"left";case s:return"right";case r:return"top";case o:return"bottom";default:throw new Error("unreachable")}}function V2(n,l,r=5){const o=[];switch(l){case"top":o.push({x:n.x-r,y:n.y+r},{x:n.x+r,y:n.y+r});break;case"bottom":o.push({x:n.x-r,y:n.y-r},{x:n.x+r,y:n.y-r});break;case"left":o.push({x:n.x+r,y:n.y-r},{x:n.x+r,y:n.y+r});break;case"right":o.push({x:n.x-r,y:n.y-r},{x:n.x-r,y:n.y+r});break}return o}function P2(n){const{top:l,right:r,bottom:o,left:s}=n;return[{x:s,y:l},{x:r,y:l},{x:r,y:o},{x:s,y:o}]}function I2(n,l){const{x:r,y:o}=n;let s=!1;for(let c=0,d=l.length-1;co!=E>o&&r<(y-p)*(o-b)/(E-b)+p&&(s=!s)}return s}function Y2(n){const l=n.slice();return l.sort((r,o)=>r.xo.x?1:r.yo.y?1:0),Q2(l)}function Q2(n){if(n.length<=1)return n.slice();const l=[];for(let o=0;o=2;){const c=l[l.length-1],d=l[l.length-2];if((c.x-d.x)*(s.y-d.y)>=(c.y-d.y)*(s.x-d.x))l.pop();else break}l.push(s)}l.pop();const r=[];for(let o=n.length-1;o>=0;o--){const s=n[o];for(;r.length>=2;){const c=r[r.length-1],d=r[r.length-2];if((c.x-d.x)*(s.y-d.y)>=(c.y-d.y)*(s.x-d.x))r.pop();else break}r.push(s)}return r.pop(),l.length===1&&r.length===1&&l[0].x===r[0].x&&l[0].y===r[0].y?l:l.concat(r)}var K2=DS,X2=jS,F2=zS,Z2=US,$2=LS,J2=kS;const Rd=768;function W2(){const[n,l]=m.useState(void 0);return m.useEffect(()=>{const r=window.matchMedia(`(max-width: ${Rd-1}px)`),o=()=>{l(window.innerWidthr.removeEventListener("change",o)},[]),!!n}const um="-",eN=n=>{const l=nN(n),{conflictingClassGroups:r,conflictingClassGroupModifiers:o}=n;return{getClassGroupId:d=>{const h=d.split(um);return h[0]===""&&h.length!==1&&h.shift(),qS(h,l)||tN(d)},getConflictingClassGroupIds:(d,h)=>{const v=r[d]||[];return h&&o[d]?[...v,...o[d]]:v}}},qS=(n,l)=>{var d;if(n.length===0)return l.classGroupId;const r=n[0],o=l.nextPart.get(r),s=o?qS(n.slice(1),o):void 0;if(s)return s;if(l.validators.length===0)return;const c=n.join(um);return(d=l.validators.find(({validator:h})=>h(c)))==null?void 0:d.classGroupId},wb=/^\[(.+)\]$/,tN=n=>{if(wb.test(n)){const l=wb.exec(n)[1],r=l==null?void 0:l.substring(0,l.indexOf(":"));if(r)return"arbitrary.."+r}},nN=n=>{const{theme:l,prefix:r}=n,o={nextPart:new Map,validators:[]};return lN(Object.entries(n.classGroups),r).forEach(([c,d])=>{dh(d,o,c,l)}),o},dh=(n,l,r,o)=>{n.forEach(s=>{if(typeof s=="string"){const c=s===""?l:Cb(l,s);c.classGroupId=r;return}if(typeof s=="function"){if(aN(s)){dh(s(o),l,r,o);return}l.validators.push({validator:s,classGroupId:r});return}Object.entries(s).forEach(([c,d])=>{dh(d,Cb(l,c),r,o)})})},Cb=(n,l)=>{let r=n;return l.split(um).forEach(o=>{r.nextPart.has(o)||r.nextPart.set(o,{nextPart:new Map,validators:[]}),r=r.nextPart.get(o)}),r},aN=n=>n.isThemeGetter,lN=(n,l)=>l?n.map(([r,o])=>{const s=o.map(c=>typeof c=="string"?l+c:typeof c=="object"?Object.fromEntries(Object.entries(c).map(([d,h])=>[l+d,h])):c);return[r,s]}):n,rN=n=>{if(n<1)return{get:()=>{},set:()=>{}};let l=0,r=new Map,o=new Map;const s=(c,d)=>{r.set(c,d),l++,l>n&&(l=0,o=r,r=new Map)};return{get(c){let d=r.get(c);if(d!==void 0)return d;if((d=o.get(c))!==void 0)return s(c,d),d},set(c,d){r.has(c)?r.set(c,d):s(c,d)}}},GS="!",iN=n=>{const{separator:l,experimentalParseClassName:r}=n,o=l.length===1,s=l[0],c=l.length,d=h=>{const v=[];let p=0,b=0,y;for(let C=0;Cb?y-b:void 0;return{modifiers:v,hasImportantModifier:T,baseClassName:R,maybePostfixModifierPosition:w}};return r?h=>r({className:h,parseClassName:d}):d},oN=n=>{if(n.length<=1)return n;const l=[];let r=[];return n.forEach(o=>{o[0]==="["?(l.push(...r.sort(),o),r=[]):r.push(o)}),l.push(...r.sort()),l},sN=n=>({cache:rN(n.cacheSize),parseClassName:iN(n),...eN(n)}),uN=/\s+/,cN=(n,l)=>{const{parseClassName:r,getClassGroupId:o,getConflictingClassGroupIds:s}=l,c=[],d=n.trim().split(uN);let h="";for(let v=d.length-1;v>=0;v-=1){const p=d[v],{modifiers:b,hasImportantModifier:y,baseClassName:E,maybePostfixModifierPosition:T}=r(p);let R=!!T,w=o(R?E.substring(0,T):E);if(!w){if(!R){h=p+(h.length>0?" "+h:h);continue}if(w=o(E),!w){h=p+(h.length>0?" "+h:h);continue}R=!1}const C=oN(b).join(":"),A=y?C+GS:C,N=A+w;if(c.includes(N))continue;c.push(N);const j=s(w,R);for(let z=0;z0?" "+h:h)}return h};function fN(){let n=0,l,r,o="";for(;n{if(typeof n=="string")return n;let l,r="";for(let o=0;oy(b),n());return r=sN(p),o=r.cache.get,s=r.cache.set,c=h,h(v)}function h(v){const p=o(v);if(p)return p;const b=cN(v,r);return s(v,b),b}return function(){return c(fN.apply(null,arguments))}}const Fe=n=>{const l=r=>r[n]||[];return l.isThemeGetter=!0,l},PS=/^\[(?:([a-z-]+):)?(.+)\]$/i,hN=/^\d+\/\d+$/,mN=new Set(["px","full","screen"]),pN=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,vN=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,gN=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,yN=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,bN=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,na=n=>Pr(n)||mN.has(n)||hN.test(n),ka=n=>fi(n,"length",AN),Pr=n=>!!n&&!Number.isNaN(Number(n)),Ad=n=>fi(n,"number",Pr),oo=n=>!!n&&Number.isInteger(Number(n)),xN=n=>n.endsWith("%")&&Pr(n.slice(0,-1)),Te=n=>PS.test(n),qa=n=>pN.test(n),SN=new Set(["length","size","percentage"]),EN=n=>fi(n,SN,IS),wN=n=>fi(n,"position",IS),CN=new Set(["image","url"]),TN=n=>fi(n,CN,MN),RN=n=>fi(n,"",_N),so=()=>!0,fi=(n,l,r)=>{const o=PS.exec(n);return o?o[1]?typeof l=="string"?o[1]===l:l.has(o[1]):r(o[2]):!1},AN=n=>vN.test(n)&&!gN.test(n),IS=()=>!1,_N=n=>yN.test(n),MN=n=>bN.test(n),ON=()=>{const n=Fe("colors"),l=Fe("spacing"),r=Fe("blur"),o=Fe("brightness"),s=Fe("borderColor"),c=Fe("borderRadius"),d=Fe("borderSpacing"),h=Fe("borderWidth"),v=Fe("contrast"),p=Fe("grayscale"),b=Fe("hueRotate"),y=Fe("invert"),E=Fe("gap"),T=Fe("gradientColorStops"),R=Fe("gradientColorStopPositions"),w=Fe("inset"),C=Fe("margin"),A=Fe("opacity"),N=Fe("padding"),j=Fe("saturate"),z=Fe("scale"),P=Fe("sepia"),Y=Fe("skew"),G=Fe("space"),te=Fe("translate"),le=()=>["auto","contain","none"],ie=()=>["auto","hidden","clip","visible","scroll"],se=()=>["auto",Te,l],ne=()=>[Te,l],be=()=>["",na,ka],ce=()=>["auto",Pr,Te],ge=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],B=()=>["solid","dashed","dotted","double","none"],F=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],$=()=>["start","end","center","between","around","evenly","stretch"],W=()=>["","0",Te],de=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>[Pr,Te];return{cacheSize:500,separator:":",theme:{colors:[so],spacing:[na,ka],blur:["none","",qa,Te],brightness:_(),borderColor:[n],borderRadius:["none","","full",qa,Te],borderSpacing:ne(),borderWidth:be(),contrast:_(),grayscale:W(),hueRotate:_(),invert:W(),gap:ne(),gradientColorStops:[n],gradientColorStopPositions:[xN,ka],inset:se(),margin:se(),opacity:_(),padding:ne(),saturate:_(),scale:_(),sepia:W(),skew:_(),space:ne(),translate:ne()},classGroups:{aspect:[{aspect:["auto","square","video",Te]}],container:["container"],columns:[{columns:[qa]}],"break-after":[{"break-after":de()}],"break-before":[{"break-before":de()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...ge(),Te]}],overflow:[{overflow:ie()}],"overflow-x":[{"overflow-x":ie()}],"overflow-y":[{"overflow-y":ie()}],overscroll:[{overscroll:le()}],"overscroll-x":[{"overscroll-x":le()}],"overscroll-y":[{"overscroll-y":le()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[w]}],"inset-x":[{"inset-x":[w]}],"inset-y":[{"inset-y":[w]}],start:[{start:[w]}],end:[{end:[w]}],top:[{top:[w]}],right:[{right:[w]}],bottom:[{bottom:[w]}],left:[{left:[w]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",oo,Te]}],basis:[{basis:se()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",Te]}],grow:[{grow:W()}],shrink:[{shrink:W()}],order:[{order:["first","last","none",oo,Te]}],"grid-cols":[{"grid-cols":[so]}],"col-start-end":[{col:["auto",{span:["full",oo,Te]},Te]}],"col-start":[{"col-start":ce()}],"col-end":[{"col-end":ce()}],"grid-rows":[{"grid-rows":[so]}],"row-start-end":[{row:["auto",{span:[oo,Te]},Te]}],"row-start":[{"row-start":ce()}],"row-end":[{"row-end":ce()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",Te]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",Te]}],gap:[{gap:[E]}],"gap-x":[{"gap-x":[E]}],"gap-y":[{"gap-y":[E]}],"justify-content":[{justify:["normal",...$()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",...$(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[...$(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[N]}],px:[{px:[N]}],py:[{py:[N]}],ps:[{ps:[N]}],pe:[{pe:[N]}],pt:[{pt:[N]}],pr:[{pr:[N]}],pb:[{pb:[N]}],pl:[{pl:[N]}],m:[{m:[C]}],mx:[{mx:[C]}],my:[{my:[C]}],ms:[{ms:[C]}],me:[{me:[C]}],mt:[{mt:[C]}],mr:[{mr:[C]}],mb:[{mb:[C]}],ml:[{ml:[C]}],"space-x":[{"space-x":[G]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[G]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",Te,l]}],"min-w":[{"min-w":[Te,l,"min","max","fit"]}],"max-w":[{"max-w":[Te,l,"none","full","min","max","fit","prose",{screen:[qa]},qa]}],h:[{h:[Te,l,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[Te,l,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[Te,l,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[Te,l,"auto","min","max","fit"]}],"font-size":[{text:["base",qa,ka]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",Ad]}],"font-family":[{font:[so]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",Te]}],"line-clamp":[{"line-clamp":["none",Pr,Ad]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",na,Te]}],"list-image":[{"list-image":["none",Te]}],"list-style-type":[{list:["none","disc","decimal",Te]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[n]}],"placeholder-opacity":[{"placeholder-opacity":[A]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[n]}],"text-opacity":[{"text-opacity":[A]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...B(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",na,ka]}],"underline-offset":[{"underline-offset":["auto",na,Te]}],"text-decoration-color":[{decoration:[n]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:ne()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Te]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Te]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[A]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...ge(),wN]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",EN]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},TN]}],"bg-color":[{bg:[n]}],"gradient-from-pos":[{from:[R]}],"gradient-via-pos":[{via:[R]}],"gradient-to-pos":[{to:[R]}],"gradient-from":[{from:[T]}],"gradient-via":[{via:[T]}],"gradient-to":[{to:[T]}],rounded:[{rounded:[c]}],"rounded-s":[{"rounded-s":[c]}],"rounded-e":[{"rounded-e":[c]}],"rounded-t":[{"rounded-t":[c]}],"rounded-r":[{"rounded-r":[c]}],"rounded-b":[{"rounded-b":[c]}],"rounded-l":[{"rounded-l":[c]}],"rounded-ss":[{"rounded-ss":[c]}],"rounded-se":[{"rounded-se":[c]}],"rounded-ee":[{"rounded-ee":[c]}],"rounded-es":[{"rounded-es":[c]}],"rounded-tl":[{"rounded-tl":[c]}],"rounded-tr":[{"rounded-tr":[c]}],"rounded-br":[{"rounded-br":[c]}],"rounded-bl":[{"rounded-bl":[c]}],"border-w":[{border:[h]}],"border-w-x":[{"border-x":[h]}],"border-w-y":[{"border-y":[h]}],"border-w-s":[{"border-s":[h]}],"border-w-e":[{"border-e":[h]}],"border-w-t":[{"border-t":[h]}],"border-w-r":[{"border-r":[h]}],"border-w-b":[{"border-b":[h]}],"border-w-l":[{"border-l":[h]}],"border-opacity":[{"border-opacity":[A]}],"border-style":[{border:[...B(),"hidden"]}],"divide-x":[{"divide-x":[h]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[h]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[A]}],"divide-style":[{divide:B()}],"border-color":[{border:[s]}],"border-color-x":[{"border-x":[s]}],"border-color-y":[{"border-y":[s]}],"border-color-s":[{"border-s":[s]}],"border-color-e":[{"border-e":[s]}],"border-color-t":[{"border-t":[s]}],"border-color-r":[{"border-r":[s]}],"border-color-b":[{"border-b":[s]}],"border-color-l":[{"border-l":[s]}],"divide-color":[{divide:[s]}],"outline-style":[{outline:["",...B()]}],"outline-offset":[{"outline-offset":[na,Te]}],"outline-w":[{outline:[na,ka]}],"outline-color":[{outline:[n]}],"ring-w":[{ring:be()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[n]}],"ring-opacity":[{"ring-opacity":[A]}],"ring-offset-w":[{"ring-offset":[na,ka]}],"ring-offset-color":[{"ring-offset":[n]}],shadow:[{shadow:["","inner","none",qa,RN]}],"shadow-color":[{shadow:[so]}],opacity:[{opacity:[A]}],"mix-blend":[{"mix-blend":[...F(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":F()}],filter:[{filter:["","none"]}],blur:[{blur:[r]}],brightness:[{brightness:[o]}],contrast:[{contrast:[v]}],"drop-shadow":[{"drop-shadow":["","none",qa,Te]}],grayscale:[{grayscale:[p]}],"hue-rotate":[{"hue-rotate":[b]}],invert:[{invert:[y]}],saturate:[{saturate:[j]}],sepia:[{sepia:[P]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[r]}],"backdrop-brightness":[{"backdrop-brightness":[o]}],"backdrop-contrast":[{"backdrop-contrast":[v]}],"backdrop-grayscale":[{"backdrop-grayscale":[p]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[b]}],"backdrop-invert":[{"backdrop-invert":[y]}],"backdrop-opacity":[{"backdrop-opacity":[A]}],"backdrop-saturate":[{"backdrop-saturate":[j]}],"backdrop-sepia":[{"backdrop-sepia":[P]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[d]}],"border-spacing-x":[{"border-spacing-x":[d]}],"border-spacing-y":[{"border-spacing-y":[d]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",Te]}],duration:[{duration:_()}],ease:[{ease:["linear","in","out","in-out",Te]}],delay:[{delay:_()}],animate:[{animate:["none","spin","ping","pulse","bounce",Te]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[z]}],"scale-x":[{"scale-x":[z]}],"scale-y":[{"scale-y":[z]}],rotate:[{rotate:[oo,Te]}],"translate-x":[{"translate-x":[te]}],"translate-y":[{"translate-y":[te]}],"skew-x":[{"skew-x":[Y]}],"skew-y":[{"skew-y":[Y]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",Te]}],accent:[{accent:["auto",n]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Te]}],"caret-color":[{caret:[n]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":ne()}],"scroll-mx":[{"scroll-mx":ne()}],"scroll-my":[{"scroll-my":ne()}],"scroll-ms":[{"scroll-ms":ne()}],"scroll-me":[{"scroll-me":ne()}],"scroll-mt":[{"scroll-mt":ne()}],"scroll-mr":[{"scroll-mr":ne()}],"scroll-mb":[{"scroll-mb":ne()}],"scroll-ml":[{"scroll-ml":ne()}],"scroll-p":[{"scroll-p":ne()}],"scroll-px":[{"scroll-px":ne()}],"scroll-py":[{"scroll-py":ne()}],"scroll-ps":[{"scroll-ps":ne()}],"scroll-pe":[{"scroll-pe":ne()}],"scroll-pt":[{"scroll-pt":ne()}],"scroll-pr":[{"scroll-pr":ne()}],"scroll-pb":[{"scroll-pb":ne()}],"scroll-pl":[{"scroll-pl":ne()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Te]}],fill:[{fill:[n,"none"]}],"stroke-w":[{stroke:[na,ka,Ad]}],stroke:[{stroke:[n,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}},NN=dN(ON);function Re(...n){return NN(S0(n))}const DN=E0("inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function YS({className:n,variant:l="default",size:r="default",asChild:o=!1,...s}){const c=o?im:"button";return x.jsx(c,{"data-slot":"button","data-variant":l,"data-size":r,className:Re(DN({variant:l,size:r,className:n})),...s})}function jN({...n}){return x.jsx(Lh,{"data-slot":"sheet",...n})}function zN({...n}){return x.jsx(Bh,{"data-slot":"sheet-portal",...n})}function UN({className:n,...l}){return x.jsx(Hh,{"data-slot":"sheet-overlay",className:Re("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",n),...l})}function LN({className:n,children:l,side:r="right",showCloseButton:o=!0,...s}){return x.jsxs(zN,{children:[x.jsx(UN,{}),x.jsxs(kh,{"data-slot":"sheet-content",className:Re("fixed z-50 flex flex-col gap-4 bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:animate-in data-[state=open]:duration-500",r==="right"&&"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",r==="left"&&"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",r==="top"&&"inset-x-0 top-0 h-auto border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",r==="bottom"&&"inset-x-0 bottom-0 h-auto border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",n),...s,children:[l,o&&x.jsxs(ex,{className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary",children:[x.jsx(b0,{className:"size-4"}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function BN({className:n,...l}){return x.jsx("div",{"data-slot":"sheet-header",className:Re("flex flex-col gap-1.5 p-4",n),...l})}function HN({className:n,...l}){return x.jsx(J0,{"data-slot":"sheet-title",className:Re("font-semibold text-foreground",n),...l})}function kN({className:n,...l}){return x.jsx(W0,{"data-slot":"sheet-description",className:Re("text-sm text-muted-foreground",n),...l})}function qN({delayDuration:n=0,...l}){return x.jsx(K2,{"data-slot":"tooltip-provider",delayDuration:n,...l})}function GN({...n}){return x.jsx(X2,{"data-slot":"tooltip",...n})}function VN({...n}){return x.jsx(F2,{"data-slot":"tooltip-trigger",...n})}function PN({className:n,sideOffset:l=0,children:r,...o}){return x.jsx(Z2,{children:x.jsxs($2,{"data-slot":"tooltip-content",sideOffset:l,className:Re("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",n),...o,children:[r,x.jsx(J2,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}const IN="sidebar_state",YN=3600*24*7,QN="16rem",KN="18rem",XN="3rem",FN="b",QS=m.createContext(null);function cm(){const n=m.useContext(QS);if(!n)throw new Error("useSidebar must be used within a SidebarProvider.");return n}function ZN({defaultOpen:n=!0,open:l,onOpenChange:r,className:o,style:s,children:c,...d}){const h=W2(),[v,p]=m.useState(!1),[b,y]=m.useState(n),E=l??b,T=m.useCallback(A=>{const N=typeof A=="function"?A(E):A;r?r(N):y(N),document.cookie=`${IN}=${N}; path=/; max-age=${YN}`},[r,E]),R=m.useCallback(()=>h?p(A=>!A):T(A=>!A),[h,T,p]);m.useEffect(()=>{const A=N=>{N.key===FN&&(N.metaKey||N.ctrlKey)&&(N.preventDefault(),R())};return window.addEventListener("keydown",A),()=>window.removeEventListener("keydown",A)},[R]);const w=E?"expanded":"collapsed",C=m.useMemo(()=>({state:w,open:E,setOpen:T,isMobile:h,openMobile:v,setOpenMobile:p,toggleSidebar:R}),[w,E,T,h,v,p,R]);return x.jsx(QS.Provider,{value:C,children:x.jsx(qN,{delayDuration:0,children:x.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":QN,"--sidebar-width-icon":XN,...s},className:Re("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",o),...d,children:c})})})}function $N({side:n="left",variant:l="sidebar",collapsible:r="offcanvas",className:o,children:s,...c}){const{isMobile:d,state:h,openMobile:v,setOpenMobile:p}=cm();return r==="none"?x.jsx("div",{"data-slot":"sidebar",className:Re("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",o),...c,children:s}):d?x.jsx(jN,{open:v,onOpenChange:p,...c,children:x.jsxs(LN,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":KN},side:n,children:[x.jsxs(BN,{className:"sr-only",children:[x.jsx(HN,{children:"Sidebar"}),x.jsx(kN,{children:"Displays the mobile sidebar."})]}),x.jsx("div",{className:"flex h-full w-full flex-col",children:s})]})}):x.jsxs("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":h,"data-collapsible":h==="collapsed"?r:"","data-variant":l,"data-side":n,"data-slot":"sidebar",children:[x.jsx("div",{"data-slot":"sidebar-gap",className:Re("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",l==="floating"||l==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),x.jsx("div",{"data-slot":"sidebar-container",className:Re("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",n==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",l==="floating"||l==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",o),...c,children:x.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm",children:s})})]})}function KS({className:n,onClick:l,...r}){const{toggleSidebar:o}=cm();return x.jsxs(YS,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:Re("size-7",n),onClick:s=>{l==null||l(s),o()},...r,children:[x.jsx(ZT,{}),x.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function JN({className:n,...l}){return x.jsx("main",{"data-slot":"sidebar-inset",className:Re("relative flex w-full flex-1 flex-col bg-background","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",n),...l})}function WN({className:n,...l}){return x.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:Re("flex flex-col gap-2 p-2",n),...l})}function eD({className:n,...l}){return x.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:Re("flex flex-col gap-2 p-2",n),...l})}function tD({className:n,...l}){return x.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:Re("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",n),...l})}function nD({className:n,...l}){return x.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:Re("relative flex w-full min-w-0 flex-col p-2",n),...l})}function aD({className:n,asChild:l=!1,...r}){const o=l?im:"div";return x.jsx(o,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:Re("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",n),...r})}function lD({className:n,...l}){return x.jsx("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:Re("w-full text-sm",n),...l})}function rD({className:n,...l}){return x.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:Re("flex w-full min-w-0 flex-col gap-1",n),...l})}function iD({className:n,...l}){return x.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:Re("group/menu-item relative",n),...l})}const oD=E0("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function sD({asChild:n=!1,isActive:l=!1,variant:r="default",size:o="default",tooltip:s,className:c,...d}){const h=n?im:"button",{isMobile:v,state:p}=cm(),b=x.jsx(h,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":o,"data-active":l,className:Re(oD({variant:r,size:o}),c),...d});return s?(typeof s=="string"&&(s={children:s}),x.jsxs(GN,{children:[x.jsx(VN,{asChild:!0,children:b}),x.jsx(PN,{side:"right",align:"center",hidden:p!=="collapsed"||v,...s})]})):b}const Ru=p0(n=>({slug:"_default",setSlug:l=>n({slug:l})}));let hh=null;function uD(){if(typeof document>"u")return null;const n=document.querySelector('meta[name="docsiq-api-key"]'),l=n==null?void 0:n.getAttribute("content");return l&&l.length>0?l:null}function cD(){hh=uD()}class fD extends Error{constructor(r,o){super(o.error);id(this,"status");id(this,"requestId");this.status=r,this.requestId=o.request_id}}async function jn(n,l={}){const r=new Headers(l.headers);hh&&r.set("Authorization",`Bearer ${hh}`),l.body&&!r.has("Content-Type")&&r.set("Content-Type","application/json");const o=await fetch(n,{...l,headers:r});if(!o.ok){let s={error:`HTTP ${o.status}`};try{s=await o.json()}catch{}throw new fD(o.status,s)}if(o.status!==204)return o.json()}const On={stats:n=>["stats",n],projects:()=>["projects"],notes:n=>["notes",n],note:(n,l)=>["note",n,l],notesTree:n=>["notes-tree",n],notesGraph:n=>["notes-graph",n],notesSearch:(n,l)=>["notes-search",n,l],docs:n=>["docs",n],doc:(n,l)=>["doc",n,l],search:(n,l,r)=>["search",n,l,r],entities:n=>["entities",n],communities:n=>["communities",n],activity:n=>["activity",n]};function dD(){return Kl({queryKey:On.projects(),queryFn:async()=>{const n=await jn("/api/projects");return Array.isArray(n)?n:[]}})}function hD({...n}){return x.jsx(d2,{"data-slot":"select",...n})}function mD({...n}){return x.jsx(m2,{"data-slot":"select-value",...n})}function pD({className:n,size:l="default",children:r,...o}){return x.jsxs(h2,{"data-slot":"select-trigger","data-size":l,className:Re("flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",n),...o,children:[r,x.jsx(p2,{asChild:!0,children:x.jsx(g0,{className:"size-4 opacity-50"})})]})}function vD({className:n,children:l,position:r="item-aligned",align:o="center",...s}){return x.jsx(v2,{children:x.jsxs(g2,{"data-slot":"select-content",className:Re("relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",n),position:r,align:o,...s,children:[x.jsx(yD,{}),x.jsx(y2,{className:Re("p-1",r==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:l}),x.jsx(bD,{})]})})}function gD({className:n,children:l,...r}){return x.jsxs(b2,{"data-slot":"select-item",className:Re("relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",n),...r,children:[x.jsx("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:x.jsx(S2,{children:x.jsx(YT,{className:"size-4"})})}),x.jsx(x2,{children:l})]})}function yD({className:n,...l}){return x.jsx(E2,{"data-slot":"select-scroll-up-button",className:Re("flex cursor-default items-center justify-center py-1",n),...l,children:x.jsx(QT,{className:"size-4"})})}function bD({className:n,...l}){return x.jsx(w2,{"data-slot":"select-scroll-down-button",className:Re("flex cursor-default items-center justify-center py-1",n),...l,children:x.jsx(g0,{className:"size-4"})})}const xD=[{to:"/",label:"Home",icon:XT},{to:"/notes",label:"Notes",icon:KT},{to:"/docs",label:"Documents",icon:IT},{to:"/graph",label:"Graph",icon:FT},{to:"/mcp",label:"MCP",icon:JT}];function SD(n){const{pathname:l}=Ql(),r=Ru(c=>c.slug),o=Ru(c=>c.setSlug),{data:s}=dD();return x.jsxs($N,{collapsible:"icon",...n,children:[x.jsx(WN,{children:x.jsxs("div",{className:"sidebar-brand",children:[x.jsxs(qr,{to:"/",className:"sidebar-brand-link",children:[x.jsx($T,{className:"size-5 shrink-0 text-primary"}),x.jsx("span",{className:"sidebar-brand-name",children:"docsiq"})]}),x.jsx(KS,{className:"sidebar-brand-trigger"})]})}),x.jsx(tD,{children:x.jsxs(nD,{children:[x.jsx(aD,{children:"Workspace"}),x.jsx(lD,{children:x.jsx(rD,{children:xD.map(c=>{const d=c.to==="/"?l==="/":l.startsWith(c.to);return x.jsx(iD,{children:x.jsx(sD,{asChild:!0,isActive:d,tooltip:c.label,children:x.jsxs(qr,{to:c.to,children:[x.jsx(c.icon,{}),x.jsx("span",{children:c.label})]})})},c.to)})})})]})}),x.jsx(eD,{children:x.jsxs("div",{className:"px-2 pb-2 group-data-[collapsible=icon]:hidden",children:[x.jsx("label",{className:"block text-[10px] uppercase tracking-wider text-muted-foreground mb-1",children:"Project"}),x.jsxs(hD,{value:r,onValueChange:o,children:[x.jsx(pD,{className:"w-full h-8 text-xs font-mono",children:x.jsx(mD,{})}),x.jsx(vD,{children:(s!=null&&s.length?s:[{slug:r,name:r}]).map(c=>x.jsx(gD,{value:c.slug,className:"font-mono text-xs",children:c.name||c.slug},c.slug))})]})]})})]})}function ED({...n}){return x.jsx(DO,{"data-slot":"dropdown-menu",...n})}function wD({...n}){return x.jsx(jO,{"data-slot":"dropdown-menu-trigger",...n})}function CD({className:n,sideOffset:l=4,...r}){return x.jsx(zO,{children:x.jsx(UO,{"data-slot":"dropdown-menu-content",sideOffset:l,className:Re("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",n),...r})})}function _d({className:n,inset:l,variant:r="default",...o}){return x.jsx(LO,{"data-slot":"dropdown-menu-item","data-inset":l,"data-variant":r,className:Re("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",n),...o})}function TD(){const n=$d(o=>o.theme),l=$d(o=>o.setTheme),r=n==="light"?Ky:n==="dark"?Qy:Yy;return x.jsxs(ED,{children:[x.jsx(wD,{"aria-label":"Change theme",className:"theme-toggle",children:x.jsx(r,{size:16})}),x.jsxs(CD,{align:"end",children:[x.jsxs(_d,{onClick:()=>l("light"),children:[x.jsx(Ky,{size:14,className:"mr-2"})," Light"]}),x.jsxs(_d,{onClick:()=>l("dark"),children:[x.jsx(Qy,{size:14,className:"mr-2"})," Dark"]}),x.jsxs(_d,{onClick:()=>l("system"),children:[x.jsx(Yy,{size:14,className:"mr-2"})," System"]})]})]})}const RD={"/":"Home","/notes":"Notes","/docs":"Documents","/graph":"Graph","/mcp":"MCP Console"};function AD({onCommandOpen:n}){const{pathname:l}=Ql(),r=RD[l]??(l.startsWith("/notes")?"Notes":l.startsWith("/docs")?"Documents":"docsiq");return x.jsxs("header",{className:"site-header",children:[x.jsxs("div",{className:"site-header-left",children:[x.jsx(KS,{className:"site-header-mobile-trigger"}),x.jsx("h1",{className:"site-header-title",children:r})]}),x.jsxs("div",{className:"site-header-actions",children:[x.jsxs(YS,{variant:"outline",size:"sm",onClick:n,className:"site-header-search",children:[x.jsx(y0,{className:"size-4"}),x.jsx("span",{className:"hidden sm:inline",children:"Search"}),x.jsxs("kbd",{className:"site-header-kbd",children:[x.jsx("span",{className:"text-xs",children:"⌘"}),"K"]})]}),x.jsx(TD,{})]})]})}function _D(){return x.jsx("a",{href:"#main",className:"skip-link",children:"Skip to main content"})}function Br(n,l,r={}){const{enabled:o=!0,preventDefault:s=!0}=r,c=m.useRef(l);c.current=l,m.useEffect(()=>{if(!o)return;const d=n.includes(",");let h=null,v=0;const p=b=>{const y=b.key.toLowerCase(),E=b.metaKey||b.ctrlKey;if(d){const[C,A]=n.split(",");if(h)y===A&&Date.now()-v<1e3&&(s&&b.preventDefault(),c.current(b)),h=null;else if(y===C){h=y,v=Date.now();return}return}const T=n.split("+"),R=T.includes("mod"),w=T[T.length-1];R===E&&y===w&&(s&&b.preventDefault(),c.current(b))};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[n,o,s])}const MD={"/":"Home","/notes":"Notes","/notes/search":"Search notes","/docs":"Documents","/graph":"Graph","/mcp":"MCP Console"};function OD(n){try{return decodeURIComponent(n).split("/").pop()||n}catch{return n}}function ND(){const{pathname:n}=Ql(),l=wC();m.useEffect(()=>{let r=MD[n];r||(n.startsWith("/notes/")&&l.key?r=OD(l.key):n.startsWith("/docs/")&&l.id?r=`Document ${l.id.slice(0,8)}`:r="docsiq"),document.title=r==="docsiq"?"docsiq":`${r} — docsiq`},[n,l])}var Tb=1,DD=.9,jD=.8,zD=.17,Md=.1,Od=.999,UD=.9999,LD=.99,BD=/[\\\/_+.#"@\[\(\{&]/,HD=/[\\\/_+.#"@\[\(\{&]/g,kD=/[\s-]/,XS=/[\s-]/g;function mh(n,l,r,o,s,c,d){if(c===l.length)return s===n.length?Tb:LD;var h=`${s},${c}`;if(d[h]!==void 0)return d[h];for(var v=o.charAt(c),p=r.indexOf(v,s),b=0,y,E,T,R;p>=0;)y=mh(n,l,r,o,p+1,c+1,d),y>b&&(p===s?y*=Tb:BD.test(n.charAt(p-1))?(y*=jD,T=n.slice(s,p-1).match(HD),T&&s>0&&(y*=Math.pow(Od,T.length))):kD.test(n.charAt(p-1))?(y*=DD,R=n.slice(s,p-1).match(XS),R&&s>0&&(y*=Math.pow(Od,R.length))):(y*=zD,s>0&&(y*=Math.pow(Od,p-s))),n.charAt(p)!==l.charAt(c)&&(y*=UD)),(yy&&(y=E*Md)),y>b&&(b=y),p=r.indexOf(v,p+1);return d[h]=b,b}function Rb(n){return n.toLowerCase().replace(XS," ")}function qD(n,l,r){return n=r&&r.length>0?`${n+" "+r.join(" ")}`:n,mh(n,l,Rb(n),Rb(l),0,0,{})}var uo='[cmdk-group=""]',Nd='[cmdk-group-items=""]',GD='[cmdk-group-heading=""]',FS='[cmdk-item=""]',Ab=`${FS}:not([aria-disabled="true"])`,ph="cmdk-item-select",Hr="data-value",VD=(n,l,r)=>qD(n,l,r),ZS=m.createContext(void 0),Lo=()=>m.useContext(ZS),$S=m.createContext(void 0),fm=()=>m.useContext($S),JS=m.createContext(void 0),WS=m.forwardRef((n,l)=>{let r=kr(()=>{var D,Q;return{search:"",value:(Q=(D=n.value)!=null?D:n.defaultValue)!=null?Q:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),o=kr(()=>new Set),s=kr(()=>new Map),c=kr(()=>new Map),d=kr(()=>new Set),h=e1(n),{label:v,children:p,value:b,onValueChange:y,filter:E,shouldFilter:T,loop:R,disablePointerSelection:w=!1,vimBindings:C=!0,...A}=n,N=St(),j=St(),z=St(),P=m.useRef(null),Y=WD();Il(()=>{if(b!==void 0){let D=b.trim();r.current.value=D,G.emit()}},[b]),Il(()=>{Y(6,be)},[]);let G=m.useMemo(()=>({subscribe:D=>(d.current.add(D),()=>d.current.delete(D)),snapshot:()=>r.current,setState:(D,Q,Z)=>{var ee,ae,J,me;if(!Object.is(r.current[D],Q)){if(r.current[D]=Q,D==="search")ne(),ie(),Y(1,se);else if(D==="value"){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let ue=document.getElementById(z);ue?ue.focus():(ee=document.getElementById(N))==null||ee.focus()}if(Y(7,()=>{var ue;r.current.selectedItemId=(ue=ce())==null?void 0:ue.id,G.emit()}),Z||Y(5,be),((ae=h.current)==null?void 0:ae.value)!==void 0){let ue=Q??"";(me=(J=h.current).onValueChange)==null||me.call(J,ue);return}}G.emit()}},emit:()=>{d.current.forEach(D=>D())}}),[]),te=m.useMemo(()=>({value:(D,Q,Z)=>{var ee;Q!==((ee=c.current.get(D))==null?void 0:ee.value)&&(c.current.set(D,{value:Q,keywords:Z}),r.current.filtered.items.set(D,le(Q,Z)),Y(2,()=>{ie(),G.emit()}))},item:(D,Q)=>(o.current.add(D),Q&&(s.current.has(Q)?s.current.get(Q).add(D):s.current.set(Q,new Set([D]))),Y(3,()=>{ne(),ie(),r.current.value||se(),G.emit()}),()=>{c.current.delete(D),o.current.delete(D),r.current.filtered.items.delete(D);let Z=ce();Y(4,()=>{ne(),(Z==null?void 0:Z.getAttribute("id"))===D&&se(),G.emit()})}),group:D=>(s.current.has(D)||s.current.set(D,new Set),()=>{c.current.delete(D),s.current.delete(D)}),filter:()=>h.current.shouldFilter,label:v||n["aria-label"],getDisablePointerSelection:()=>h.current.disablePointerSelection,listId:N,inputId:z,labelId:j,listInnerRef:P}),[]);function le(D,Q){var Z,ee;let ae=(ee=(Z=h.current)==null?void 0:Z.filter)!=null?ee:VD;return D?ae(D,r.current.search,Q):0}function ie(){if(!r.current.search||h.current.shouldFilter===!1)return;let D=r.current.filtered.items,Q=[];r.current.filtered.groups.forEach(ee=>{let ae=s.current.get(ee),J=0;ae.forEach(me=>{let ue=D.get(me);J=Math.max(ue,J)}),Q.push([ee,J])});let Z=P.current;ge().sort((ee,ae)=>{var J,me;let ue=ee.getAttribute("id"),Ae=ae.getAttribute("id");return((J=D.get(Ae))!=null?J:0)-((me=D.get(ue))!=null?me:0)}).forEach(ee=>{let ae=ee.closest(Nd);ae?ae.appendChild(ee.parentElement===ae?ee:ee.closest(`${Nd} > *`)):Z.appendChild(ee.parentElement===Z?ee:ee.closest(`${Nd} > *`))}),Q.sort((ee,ae)=>ae[1]-ee[1]).forEach(ee=>{var ae;let J=(ae=P.current)==null?void 0:ae.querySelector(`${uo}[${Hr}="${encodeURIComponent(ee[0])}"]`);J==null||J.parentElement.appendChild(J)})}function se(){let D=ge().find(Z=>Z.getAttribute("aria-disabled")!=="true"),Q=D==null?void 0:D.getAttribute(Hr);G.setState("value",Q||void 0)}function ne(){var D,Q,Z,ee;if(!r.current.search||h.current.shouldFilter===!1){r.current.filtered.count=o.current.size;return}r.current.filtered.groups=new Set;let ae=0;for(let J of o.current){let me=(Q=(D=c.current.get(J))==null?void 0:D.value)!=null?Q:"",ue=(ee=(Z=c.current.get(J))==null?void 0:Z.keywords)!=null?ee:[],Ae=le(me,ue);r.current.filtered.items.set(J,Ae),Ae>0&&ae++}for(let[J,me]of s.current)for(let ue of me)if(r.current.filtered.items.get(ue)>0){r.current.filtered.groups.add(J);break}r.current.filtered.count=ae}function be(){var D,Q,Z;let ee=ce();ee&&(((D=ee.parentElement)==null?void 0:D.firstChild)===ee&&((Z=(Q=ee.closest(uo))==null?void 0:Q.querySelector(GD))==null||Z.scrollIntoView({block:"nearest"})),ee.scrollIntoView({block:"nearest"}))}function ce(){var D;return(D=P.current)==null?void 0:D.querySelector(`${FS}[aria-selected="true"]`)}function ge(){var D;return Array.from(((D=P.current)==null?void 0:D.querySelectorAll(Ab))||[])}function B(D){let Q=ge()[D];Q&&G.setState("value",Q.getAttribute(Hr))}function F(D){var Q;let Z=ce(),ee=ge(),ae=ee.findIndex(me=>me===Z),J=ee[ae+D];(Q=h.current)!=null&&Q.loop&&(J=ae+D<0?ee[ee.length-1]:ae+D===ee.length?ee[0]:ee[ae+D]),J&&G.setState("value",J.getAttribute(Hr))}function $(D){let Q=ce(),Z=Q==null?void 0:Q.closest(uo),ee;for(;Z&&!ee;)Z=D>0?$D(Z,uo):JD(Z,uo),ee=Z==null?void 0:Z.querySelector(Ab);ee?G.setState("value",ee.getAttribute(Hr)):F(D)}let W=()=>B(ge().length-1),de=D=>{D.preventDefault(),D.metaKey?W():D.altKey?$(1):F(1)},_=D=>{D.preventDefault(),D.metaKey?B(0):D.altKey?$(-1):F(-1)};return m.createElement(Se.div,{ref:l,tabIndex:-1,...A,"cmdk-root":"",onKeyDown:D=>{var Q;(Q=A.onKeyDown)==null||Q.call(A,D);let Z=D.nativeEvent.isComposing||D.keyCode===229;if(!(D.defaultPrevented||Z))switch(D.key){case"n":case"j":{C&&D.ctrlKey&&de(D);break}case"ArrowDown":{de(D);break}case"p":case"k":{C&&D.ctrlKey&&_(D);break}case"ArrowUp":{_(D);break}case"Home":{D.preventDefault(),B(0);break}case"End":{D.preventDefault(),W();break}case"Enter":{D.preventDefault();let ee=ce();if(ee){let ae=new Event(ph);ee.dispatchEvent(ae)}}}}},m.createElement("label",{"cmdk-label":"",htmlFor:te.inputId,id:te.labelId,style:tj},v),Iu(n,D=>m.createElement($S.Provider,{value:G},m.createElement(ZS.Provider,{value:te},D))))}),PD=m.forwardRef((n,l)=>{var r,o;let s=St(),c=m.useRef(null),d=m.useContext(JS),h=Lo(),v=e1(n),p=(o=(r=v.current)==null?void 0:r.forceMount)!=null?o:d==null?void 0:d.forceMount;Il(()=>{if(!p)return h.item(s,d==null?void 0:d.id)},[p]);let b=t1(s,c,[n.value,n.children,c],n.keywords),y=fm(),E=al(Y=>Y.value&&Y.value===b.current),T=al(Y=>p||h.filter()===!1?!0:Y.search?Y.filtered.items.get(s)>0:!0);m.useEffect(()=>{let Y=c.current;if(!(!Y||n.disabled))return Y.addEventListener(ph,R),()=>Y.removeEventListener(ph,R)},[T,n.onSelect,n.disabled]);function R(){var Y,G;w(),(G=(Y=v.current).onSelect)==null||G.call(Y,b.current)}function w(){y.setState("value",b.current,!0)}if(!T)return null;let{disabled:C,value:A,onSelect:N,forceMount:j,keywords:z,...P}=n;return m.createElement(Se.div,{ref:Bt(c,l),...P,id:s,"cmdk-item":"",role:"option","aria-disabled":!!C,"aria-selected":!!E,"data-disabled":!!C,"data-selected":!!E,onPointerMove:C||h.getDisablePointerSelection()?void 0:w,onClick:C?void 0:R},n.children)}),ID=m.forwardRef((n,l)=>{let{heading:r,children:o,forceMount:s,...c}=n,d=St(),h=m.useRef(null),v=m.useRef(null),p=St(),b=Lo(),y=al(T=>s||b.filter()===!1?!0:T.search?T.filtered.groups.has(d):!0);Il(()=>b.group(d),[]),t1(d,h,[n.value,n.heading,v]);let E=m.useMemo(()=>({id:d,forceMount:s}),[s]);return m.createElement(Se.div,{ref:Bt(h,l),...c,"cmdk-group":"",role:"presentation",hidden:y?void 0:!0},r&&m.createElement("div",{ref:v,"cmdk-group-heading":"","aria-hidden":!0,id:p},r),Iu(n,T=>m.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":r?p:void 0},m.createElement(JS.Provider,{value:E},T))))}),YD=m.forwardRef((n,l)=>{let{alwaysRender:r,...o}=n,s=m.useRef(null),c=al(d=>!d.search);return!r&&!c?null:m.createElement(Se.div,{ref:Bt(s,l),...o,"cmdk-separator":"",role:"separator"})}),QD=m.forwardRef((n,l)=>{let{onValueChange:r,...o}=n,s=n.value!=null,c=fm(),d=al(p=>p.search),h=al(p=>p.selectedItemId),v=Lo();return m.useEffect(()=>{n.value!=null&&c.setState("search",n.value)},[n.value]),m.createElement(Se.input,{ref:l,...o,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":v.listId,"aria-labelledby":v.labelId,"aria-activedescendant":h,id:v.inputId,type:"text",value:s?n.value:d,onChange:p=>{s||c.setState("search",p.target.value),r==null||r(p.target.value)}})}),KD=m.forwardRef((n,l)=>{let{children:r,label:o="Suggestions",...s}=n,c=m.useRef(null),d=m.useRef(null),h=al(p=>p.selectedItemId),v=Lo();return m.useEffect(()=>{if(d.current&&c.current){let p=d.current,b=c.current,y,E=new ResizeObserver(()=>{y=requestAnimationFrame(()=>{let T=p.offsetHeight;b.style.setProperty("--cmdk-list-height",T.toFixed(1)+"px")})});return E.observe(p),()=>{cancelAnimationFrame(y),E.unobserve(p)}}},[]),m.createElement(Se.div,{ref:Bt(c,l),...s,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":h,"aria-label":o,id:v.listId},Iu(n,p=>m.createElement("div",{ref:Bt(d,v.listInnerRef),"cmdk-list-sizer":""},p)))}),XD=m.forwardRef((n,l)=>{let{open:r,onOpenChange:o,overlayClassName:s,contentClassName:c,container:d,...h}=n;return m.createElement(Lh,{open:r,onOpenChange:o},m.createElement(Bh,{container:d},m.createElement(Hh,{"cmdk-overlay":"",className:s}),m.createElement(kh,{"aria-label":n.label,"cmdk-dialog":"",className:c},m.createElement(WS,{ref:l,...h}))))}),FD=m.forwardRef((n,l)=>al(r=>r.filtered.count===0)?m.createElement(Se.div,{ref:l,...n,"cmdk-empty":"",role:"presentation"}):null),ZD=m.forwardRef((n,l)=>{let{progress:r,children:o,label:s="Loading...",...c}=n;return m.createElement(Se.div,{ref:l,...c,"cmdk-loading":"",role:"progressbar","aria-valuenow":r,"aria-valuemin":0,"aria-valuemax":100,"aria-label":s},Iu(n,d=>m.createElement("div",{"aria-hidden":!0},d)))}),di=Object.assign(WS,{List:KD,Item:PD,Input:QD,Group:ID,Separator:YD,Dialog:XD,Empty:FD,Loading:ZD});function $D(n,l){let r=n.nextElementSibling;for(;r;){if(r.matches(l))return r;r=r.nextElementSibling}}function JD(n,l){let r=n.previousElementSibling;for(;r;){if(r.matches(l))return r;r=r.previousElementSibling}}function e1(n){let l=m.useRef(n);return Il(()=>{l.current=n}),l}var Il=typeof window>"u"?m.useEffect:m.useLayoutEffect;function kr(n){let l=m.useRef();return l.current===void 0&&(l.current=n()),l}function al(n){let l=fm(),r=()=>n(l.snapshot());return m.useSyncExternalStore(l.subscribe,r,r)}function t1(n,l,r,o=[]){let s=m.useRef(),c=Lo();return Il(()=>{var d;let h=(()=>{var p;for(let b of r){if(typeof b=="string")return b.trim();if(typeof b=="object"&&"current"in b)return b.current?(p=b.current.textContent)==null?void 0:p.trim():s.current}})(),v=o.map(p=>p.trim());c.value(n,h,v),(d=l.current)==null||d.setAttribute(Hr,h),s.current=h}),s}var WD=()=>{let[n,l]=m.useState(),r=kr(()=>new Map);return Il(()=>{r.current.forEach(o=>o()),r.current=new Map},[n]),(o,s)=>{r.current.set(o,s),l({})}};function ej(n){let l=n.type;return typeof l=="function"?l(n.props):"render"in l?l.render(n.props):n}function Iu({asChild:n,children:l},r){return n&&m.isValidElement(l)?m.cloneElement(ej(l),{ref:l.ref},r(l.props.children)):r(l)}var tj={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function nj({...n}){return x.jsx(Lh,{"data-slot":"dialog",...n})}function aj({...n}){return x.jsx(Bh,{"data-slot":"dialog-portal",...n})}function lj({className:n,...l}){return x.jsx(Hh,{"data-slot":"dialog-overlay",className:Re("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",n),...l})}function rj({className:n,children:l,showCloseButton:r=!0,...o}){return x.jsxs(aj,{"data-slot":"dialog-portal",children:[x.jsx(lj,{}),x.jsxs(kh,{"data-slot":"dialog-content",className:Re("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",n),...o,children:[l,r&&x.jsxs(ex,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[x.jsx(b0,{}),x.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function ij({className:n,...l}){return x.jsx("div",{"data-slot":"dialog-header",className:Re("flex flex-col gap-2 text-center sm:text-left",n),...l})}function oj({className:n,...l}){return x.jsx(J0,{"data-slot":"dialog-title",className:Re("text-lg leading-none font-semibold",n),...l})}function sj({className:n,...l}){return x.jsx(W0,{"data-slot":"dialog-description",className:Re("text-sm text-muted-foreground",n),...l})}function n1({className:n,...l}){return x.jsx(di,{"data-slot":"command",className:Re("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",n),...l})}function uj({title:n="Command Palette",description:l="Search for a command to run...",children:r,className:o,showCloseButton:s=!0,...c}){return x.jsxs(nj,{...c,children:[x.jsxs(ij,{className:"sr-only",children:[x.jsx(oj,{children:n}),x.jsx(sj,{children:l})]}),x.jsx(rj,{className:Re("overflow-hidden p-0 border-0 bg-popover text-popover-foreground ring-1 ring-border shadow-2xl sm:max-w-2xl top-[18%] translate-y-0 rounded-lg",o),showCloseButton:s,children:x.jsx(n1,{className:"**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:r})})]})}function cj({className:n,...l}){return x.jsxs("div",{"data-slot":"command-input-wrapper",className:"flex h-12 items-center gap-3 border-b border-border px-4",children:[x.jsx(y0,{className:"size-4 shrink-0 text-muted-foreground"}),x.jsx(di.Input,{"data-slot":"command-input",className:Re("flex h-10 w-full bg-transparent py-3 text-sm outline-none focus:outline-none focus-visible:outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",n),...l})]})}function fj({className:n,...l}){return x.jsx(di.List,{"data-slot":"command-list",className:Re("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",n),...l})}function dj({...n}){return x.jsx(di.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...n})}function Dd({className:n,...l}){return x.jsx(di.Group,{"data-slot":"command-group",className:Re("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",n),...l})}function _l({className:n,...l}){return x.jsx(di.Item,{"data-slot":"command-item",className:Re("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",n),...l})}function hj(n,l){return Kl({queryKey:["command-search",n,l],enabled:l.trim().length>0,queryFn:async()=>{const[r,o]=await Promise.all([jn(`/api/projects/${encodeURIComponent(n)}/search?q=${encodeURIComponent(l)}`).catch(()=>({hits:[]})),jn(`/api/search?project=${encodeURIComponent(n)}&q=${encodeURIComponent(l)}&mode=local&top_k=5`).catch(()=>({hits:[]}))]);return{notes:r.hits,docs:o.hits}},staleTime:1e4})}function mj({open:n,onOpenChange:l}){const[r,o]=m.useState(""),s=Eh(),c=Ru(v=>v.slug),{data:d}=hj(c,r),h=()=>{l(!1),o("")};return x.jsx(uj,{open:n,onOpenChange:l,children:x.jsxs(n1,{shouldFilter:!1,children:[x.jsx(cj,{value:r,onValueChange:o,placeholder:"Search notes, docs, entities…",autoFocus:!0}),x.jsxs(fj,{children:[x.jsx(dj,{children:"No results."}),!r&&x.jsx("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"Type to search."}),x.jsxs(Dd,{heading:"Pages",children:[x.jsx(_l,{onSelect:()=>{s("/"),h()},children:"Home"}),x.jsx(_l,{onSelect:()=>{s("/notes"),h()},children:"Notes"}),x.jsx(_l,{onSelect:()=>{s("/docs"),h()},children:"Documents"}),x.jsx(_l,{onSelect:()=>{s("/graph"),h()},children:"Graph"}),x.jsx(_l,{onSelect:()=>{s("/mcp"),h()},children:"MCP console"})]}),d&&d.notes.length>0&&x.jsx(Dd,{heading:"Notes",children:d.notes.slice(0,5).map(v=>x.jsxs(_l,{onSelect:()=>{s(`/notes/${v.key}`),h()},children:[x.jsx("span",{className:"cmd-chip",children:"NOTE"}),v.title||v.key]},`note-${v.key}`))}),d&&d.docs.length>0&&x.jsx(Dd,{heading:"Documents",children:d.docs.slice(0,5).map(v=>x.jsxs(_l,{onSelect:()=>{s(`/docs/${v.doc_id}`),h()},children:[x.jsx("span",{className:"cmd-chip",children:"DOC"}),v.doc_title]},`doc-${v.chunk_id}`))})]})]})})}function pj({children:n}){const[l,r]=m.useState(!1),o=Eh();return ND(),Br("mod+k",()=>r(s=>!s)),Br("g,h",()=>o("/")),Br("g,n",()=>o("/notes")),Br("g,d",()=>o("/docs")),Br("g,g",()=>o("/graph")),Br("g,m",()=>o("/mcp")),x.jsxs(ZN,{style:{"--sidebar-width":"calc(var(--spacing) * 72)","--header-height":"calc(var(--spacing) * 12)"},children:[x.jsx(_D,{}),x.jsx(SD,{variant:"inset"}),x.jsxs(JN,{children:[x.jsx(AD,{onCommandOpen:()=>r(!0)}),x.jsx("main",{id:"main",role:"main",tabIndex:-1,className:"flex flex-1 flex-col",children:n})]}),x.jsx(mj,{open:l,onOpenChange:r})]})}const uu=new Intl.RelativeTimeFormat("en",{numeric:"auto"});function a1(n,l=Date.now()){if(!Number.isFinite(n))return"—";const r=n-l,o=Math.abs(r),s=6e4,c=60*s,d=24*c;return ox.jsxs("div",{className:"stats-cell",children:[x.jsx("div",{className:"stats-label",children:o.label}),x.jsxs("div",{className:"stats-value-row",children:[x.jsx("span",{className:"stats-value",children:o.value}),o.delta!==void 0&&o.delta>0&&x.jsxs("span",{className:"stats-delta",children:["+",o.delta]})]})]},o.label))})}const gj={note_added:{label:"+ NOTE",className:"activity-badge-new"},note_updated:{label:"~ NOTE",className:"activity-badge-upd"},doc_indexed:{label:"INDEX",className:"activity-badge-doc"},doc_error:{label:"ERROR",className:"activity-badge-err"}};function yj({kind:n}){const{label:l,className:r}=gj[n];return x.jsx("span",{className:`activity-badge ${r}`,children:l})}function bj({event:n,isNew:l}){return x.jsxs(qr,{to:n.href,className:"activity-row",style:l?{background:"var(--muted)"}:void 0,children:[x.jsx(yj,{kind:n.kind}),x.jsxs("div",{className:"activity-body",children:[x.jsx("div",{className:"activity-title",children:n.title}),n.detail&&x.jsx("div",{className:"activity-detail",children:n.detail})]}),x.jsx("span",{className:"activity-time",children:a1(n.timestamp)})]})}const xj={common:{loading:"Loading…",error:"Something went wrong.",retry:"Retry",cancel:"Cancel",save:"Save",delete:"Delete",close:"Close"},nav:{home:"Home",notes:"Notes",documents:"Documents",graph:"Graph",mcp:"MCP console",search:"Search or jump to…",searchShort:"Search",skipToMain:"Skip to main content"},home:{sinceLastVisit:"Since your last visit",nothingNew:"Nothing new since your last visit.",viewFullActivity:"View full activity",pinnedNotes:"Pinned notes",graphGlance:"Graph glance",stats:{notes:"Notes",docs:"Docs",entities:"Entities",communities:"Communities",updated:"Updated"}},notes:{writtenBy:"Written by",linksIn:"in",linksOut:"out",noContent:"This note has no content.",invalidKey:"Invalid key — use letters, digits, /, -, _"}};function _b(n){const l=n.split(".");let r=xj;for(const o of l){if(typeof r!="object"||r===null||!(o in r))return n;r=r[o]}return typeof r=="string"?r:n}function Sj({events:n,lastVisit:l}){return n.length===0?x.jsx("div",{className:"activity-empty",children:_b("home.nothingNew")}):x.jsxs("div",{className:"activity-list",children:[x.jsx("h2",{className:"text-xs uppercase tracking-wider text-muted-foreground mb-2.5",children:_b("home.sinceLastVisit")}),n.map(r=>x.jsx(bj,{event:r,isNew:r.timestamp>l},r.id))]})}function Ej(n,l,r,o=200){const s=n.nodes.map(h=>({id:h.id,label:h.label,kind:h.kind,x:0,y:0})),c=n.edges.map(h=>({source:h.source,target:h.target})),d=_w(s).force("charge",Mw().strength(-60)).force("center",Ow(l/2,r/2)).force("link",Nw(c).id(h=>h.id).distance(40).strength(.6)).force("x",Dw(l/2).strength(.02)).force("y",jw(r/2).strength(.02)).stop();for(let h=0;h({source:h.source.id??h.source,target:h.target.id??h.target}))}}const Mb={entity:"var(--chart-1)",note:"var(--chart-3)",community:"var(--chart-2)"},Ob=220,Nb=140;function wj({data:n,maxNodes:l=60}){const r=m.useMemo(()=>{if(!n)return null;const s=new Set(n.nodes.slice(0,l).map(d=>d.id)),c={nodes:n.nodes.filter(d=>s.has(d.id)),edges:n.edges.filter(d=>s.has(d.source)&&s.has(d.target))};return Ej(c,Ob,Nb,120)},[n,l]);if(!n||!r||r.nodes.length===0)return x.jsx("div",{className:"h-[140px] grid place-items-center text-xs text-muted-foreground font-mono",children:n?"no graph yet":"loading…"});const o=Object.fromEntries(r.nodes.map(s=>[s.id,s]));return x.jsxs("svg",{viewBox:`0 0 ${Ob} ${Nb}`,className:"w-full h-auto","aria-label":"Graph preview",children:[r.edges.map((s,c)=>{const d=o[s.source],h=o[s.target];return!d||!h?null:x.jsx("line",{x1:d.x,y1:d.y,x2:h.x,y2:h.y,stroke:"var(--border)",strokeWidth:.5,opacity:.6},c)}),r.nodes.map(s=>x.jsx("circle",{cx:s.x,cy:s.y,r:2.5,fill:Mb[s.kind]??Mb.entity},s.id))]})}function Cj(n){return Kl({queryKey:On.stats(n),queryFn:()=>jn(`/api/stats?project=${encodeURIComponent(n)}`)})}function Tj(n){return Kl({queryKey:On.activity(n),queryFn:async()=>{const[l,r]=await Promise.all([jn(`/api/projects/${encodeURIComponent(n)}/notes`).catch(()=>null),jn(`/api/documents?project=${encodeURIComponent(n)}`).catch(()=>null)]),o=Array.isArray(l)?l:((l==null?void 0:l.keys)??[]).map(d=>({key:d,content:"",tags:[],created_at:"",updated_at:""})),s=Array.isArray(r)?r:[],c=[];for(const d of o){const h=new Date(d.updated_at).getTime();if(!Number.isFinite(h))continue;const v=h===new Date(d.created_at).getTime();c.push({id:`note-${d.key}-${h}`,kind:v?"note_added":"note_updated",title:d.key,timestamp:h,href:`/notes/${d.key}`})}for(const d of s){const h=Number(d.updated_at)*1e3;Number.isFinite(h)&&c.push({id:`doc-${d.id}-${d.updated_at}`,kind:"doc_indexed",title:d.title||d.path,detail:d.doc_type,timestamp:h,href:`/docs/${d.id}`})}return c.sort((d,h)=>h.timestamp-d.timestamp),c.slice(0,20)},refetchInterval:1e4})}function Rj(n){return Kl({queryKey:On.notes(n),queryFn:async()=>{const l=await jn(`/api/projects/${encodeURIComponent(n)}/notes`);return Array.isArray(l)?l:((l==null?void 0:l.keys)??[]).map(o=>({key:o,content:"",tags:[],created_at:"",updated_at:""}))}})}function Xj(n,l){return Kl({queryKey:On.note(n,l??""),enabled:!!l,queryFn:async()=>{const r=await jn(`/api/projects/${encodeURIComponent(n)}/notes/${encodeURIComponent(l)}`);return"note"in r&&r.note?r.note:r}})}function Fj(n){const l=_h();return jT({mutationFn:r=>jn(`/api/projects/${encodeURIComponent(n)}/notes/${encodeURIComponent(r.key)}`,{method:"PUT",body:JSON.stringify(r)}),onSuccess:(r,o)=>{l.invalidateQueries({queryKey:On.notes(n)}),l.invalidateQueries({queryKey:On.note(n,o.key)}),l.invalidateQueries({queryKey:On.notesGraph(n)}),l.invalidateQueries({queryKey:On.activity(n)})}})}function Aj(n){return Kl({queryKey:On.notesGraph(n),queryFn:async()=>{const l=await jn(`/api/projects/${encodeURIComponent(n)}/graph`),r=(l==null?void 0:l.nodes)??[],o=(l==null?void 0:l.edges)??[],s=r.map(h=>({id:h.id??h.key??"",label:h.label??h.title??h.key??"",kind:h.kind??"note"})),c=new Set(s.map(h=>h.id)),d=o.filter(h=>c.has(h.source)&&c.has(h.target)).map(h=>({source:h.source,target:h.target}));return{nodes:s,edges:d}}})}const Db="docsiq-last-visit";function _j(){const[n,l]=m.useState(()=>{const o=localStorage.getItem(Db);return o?Number(o):0});function r(){const o=Date.now();localStorage.setItem(Db,String(o)),l(o)}return{lastVisit:n,touch:r}}function Mj(){var b;const n=Ru(y=>y.slug),l=Cj(n),r=Tj(n),o=Rj(n),s=Aj(n),{lastVisit:c,touch:d}=_j(),h=m.useMemo(()=>r.data?r.data.filter(y=>y.kind==="note_added"&&y.timestamp>c).length:0,[r.data,c]);m.useEffect(()=>()=>{d()},[d]);const v=(o.data??[]).slice(0,8),p=m.useMemo(()=>{var T;const y=((T=o.data)==null?void 0:T.length)??0;return{...l.data??{documents:0,chunks:0,entities:0,relationships:0,communities:0,notes:0,last_indexed:null},notes:y}},[l.data,o.data]);return x.jsxs("div",{className:"page",children:[x.jsx(vj,{stats:p,delta:{notes:h}}),x.jsxs("div",{className:"home-split",children:[x.jsxs("div",{className:"home-main",children:[x.jsx("div",{className:"page-header",children:x.jsxs("div",{className:"flex items-baseline gap-3",children:[x.jsx("h2",{className:"page-header-title",children:"Activity"}),x.jsxs("span",{className:"page-header-meta",children:[((b=r.data)==null?void 0:b.length)??0," events"]})]})}),x.jsx("div",{className:"page-body",children:x.jsx(Sj,{events:r.data??[],lastVisit:c})})]}),x.jsxs("aside",{className:"home-rail",children:[x.jsxs("section",{className:"home-rail-top",children:[x.jsxs("div",{className:"section-head",children:[x.jsx("h2",{className:"section-title",children:"Graph"}),x.jsxs(qr,{to:"/graph",className:"section-link",children:["open ",x.jsx(Iy,{className:"size-3"})]})]}),x.jsx("div",{className:"graph-card",children:x.jsx(wj,{data:s.data})})]}),x.jsxs("section",{className:"section flex-1",children:[x.jsxs("div",{className:"section-head",children:[x.jsx("h2",{className:"section-title",children:"Recent notes"}),x.jsxs(qr,{to:"/notes",className:"section-link",children:["all ",x.jsx(Iy,{className:"size-3"})]})]}),x.jsxs("ul",{className:"note-list",children:[v.map(y=>{const E=y.key.split("/"),T=E.pop()??y.key,R=E.join("/");return x.jsx("li",{children:x.jsxs(qr,{to:`/notes/${encodeURIComponent(y.key)}`,className:"note-row",children:[x.jsx("span",{className:"note-row-name",children:T}),R&&x.jsx("span",{className:"note-row-folder",children:R})]})},y.key)}),v.length===0&&x.jsx("li",{className:"px-5 py-4 text-sm text-muted-foreground",children:"No notes yet."})]})]})]})]})]})}const Oj=m.lazy(()=>ll(()=>import("./NotesLayout-B2b1sadk.js"),__vite__mapDeps([0,1,2]))),Nj=m.lazy(()=>ll(()=>import("./NoteView-DbbP0PJj.js"),__vite__mapDeps([3,1,2]))),Dj=m.lazy(()=>ll(()=>import("./NoteEditor-XWs05OuT.js"),__vite__mapDeps([4,1,2]))),jj=m.lazy(()=>ll(()=>import("./NotesSearch-BjwNYEol.js"),__vite__mapDeps([5,1,2]))),zj=m.lazy(()=>ll(()=>import("./DocumentsList-DDiV8Alk.js"),__vite__mapDeps([6,7,1,2]))),Uj=m.lazy(()=>ll(()=>import("./DocumentView-S_kRD8s0.js"),__vite__mapDeps([8,7,1,2]))),Lj=m.lazy(()=>ll(()=>import("./Graph-DhboX9Bv.js"),__vite__mapDeps([9,1,2]))),Bj=m.lazy(()=>ll(()=>import("./MCPConsole-B2jF6C5Z.js"),__vite__mapDeps([10,1,2])));function Hj(){return x.jsx("div",{className:"p-6 text-sm text-muted-foreground",children:"loading…"})}function kj(){return m.useEffect(()=>{cD()},[]),x.jsx(qT,{children:x.jsx(pj,{children:x.jsx(m.Suspense,{fallback:x.jsx(Hj,{}),children:x.jsxs(kC,{children:[x.jsx(pn,{path:"/",element:x.jsx(Mj,{})}),x.jsxs(pn,{path:"/notes",element:x.jsx(Oj,{}),children:[x.jsx(pn,{path:"search",element:x.jsx(jj,{})}),x.jsx(pn,{path:":key",element:x.jsx(Nj,{})}),x.jsx(pn,{path:":key/edit",element:x.jsx(Dj,{})})]}),x.jsx(pn,{path:"/docs",element:x.jsx(zj,{})}),x.jsx(pn,{path:"/docs/:id",element:x.jsx(Uj,{})}),x.jsx(pn,{path:"/graph",element:x.jsx(Lj,{})}),x.jsx(pn,{path:"/mcp",element:x.jsx(Bj,{})}),x.jsx(pn,{path:"*",element:x.jsx(qj,{})})]})})})})}function qj(){return x.jsxs("div",{className:"p-6 text-muted-foreground",children:[x.jsx("h1",{className:"text-xl font-semibold text-foreground",children:"Not found"}),x.jsx("p",{className:"text-sm mt-2",children:"No such page."})]})}"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(n=>{console.warn("sw register failed:",n)})});Pw.createRoot(document.getElementById("root")).render(x.jsx(m.StrictMode,{children:x.jsx(kj,{})}));export{YS as B,nj as D,qr as L,Ij as O,un as R,jN as S,LN as a,BN as b,HN as c,Aj as d,Ru as e,wC as f,Br as g,Xj as h,a1 as i,x as j,Eh as k,Fj as l,Kl as m,jn as n,Re as o,_h as p,On as q,m as r,rj as s,ij as t,Rj as u,oj as v,Ej as w}; diff --git a/ui/dist/assets/markdown-BU1qdTNu.js b/ui/dist/assets/markdown-BU1qdTNu.js deleted file mode 100644 index 075c9b6..0000000 --- a/ui/dist/assets/markdown-BU1qdTNu.js +++ /dev/null @@ -1,16 +0,0 @@ -const E0="modulepreload",F0=function(u){return"/"+u},Bu={},ft=function(e,r,n){let t=Promise.resolve();if(r&&r.length>0){let o=function(s){return Promise.all(s.map(f=>Promise.resolve(f).then(l=>({status:"fulfilled",value:l}),l=>({status:"rejected",reason:l}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),a=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));t=o(r.map(s=>{if(s=F0(s),s in Bu)return;Bu[s]=!0;const f=s.endsWith(".css"),l=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${l}`))return;const b=document.createElement("link");if(b.rel=f?"stylesheet":E0,f||(b.as="script"),b.crossOrigin="",b.href=s,a&&b.setAttribute("nonce",a),document.head.appendChild(b),f)return new Promise((h,d)=>{b.addEventListener("load",h),b.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${s}`)))})}))}function c(o){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=o,window.dispatchEvent(i),!i.defaultPrevented)throw o}return t.then(o=>{for(const i of o||[])i.status==="rejected"&&c(i.reason);return e().catch(c)})},Tu={};function A0(u){let e=Tu[u];if(e)return e;e=Tu[u]=[];for(let r=0;r<128;r++){const n=String.fromCharCode(r);e.push(n)}for(let r=0;r=55296&&f<=57343?t+="���":t+=String.fromCharCode(f),c+=6;continue}}if((i&248)===240&&c+91114111?t+="����":(l-=65536,t+=String.fromCharCode(55296+(l>>10),56320+(l&1023))),c+=9;continue}}t+="�"}return t})}Z.defaultChars=";/?:@&=+$,#";Z.componentChars="";const zu={};function y0(u){let e=zu[u];if(e)return e;e=zu[u]=[];for(let r=0;r<128;r++){const n=String.fromCharCode(r);/^[0-9a-z]$/i.test(n)?e.push(n):e.push("%"+("0"+r.toString(16).toUpperCase()).slice(-2))}for(let r=0;r"u"&&(r=!0);const n=y0(e);let t="";for(let c=0,o=u.length;c=55296&&i<=57343){if(i>=55296&&i<=56319&&c+1=56320&&a<=57343){t+=encodeURIComponent(u[c]+u[c+1]),c++;continue}}t+="%EF%BF%BD";continue}t+=encodeURIComponent(u[c])}return t}Y.defaultChars=";/?:@&=+$,-_.!~*'()#";Y.componentChars="-_.!~*'()";function Du(u){let e="";return e+=u.protocol||"",e+=u.slashes?"//":"",e+=u.auth?u.auth+"@":"",u.hostname&&u.hostname.indexOf(":")!==-1?e+="["+u.hostname+"]":e+=u.hostname||"",e+=u.port?":"+u.port:"",e+=u.pathname||"",e+=u.search||"",e+=u.hash||"",e}function tu(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const w0=/^([a-z0-9.+-]+:)/i,S0=/:[0-9]*$/,v0=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,B0=["<",">",'"',"`"," ","\r",` -`," "],T0=["{","}","|","\\","^","`"].concat(B0),z0=["'"].concat(T0),Iu=["%","/","?",";","#"].concat(z0),Mu=["/","?","#"],I0=255,qu=/^[+a-z0-9A-Z_-]{0,63}$/,M0=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Ru={javascript:!0,"javascript:":!0},Lu={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Cu(u,e){if(u&&u instanceof tu)return u;const r=new tu;return r.parse(u,e),r}tu.prototype.parse=function(u,e){let r,n,t,c=u;if(c=c.trim(),!e&&u.split("#").length===1){const s=v0.exec(c);if(s)return this.pathname=s[1],s[2]&&(this.search=s[2]),this}let o=w0.exec(c);if(o&&(o=o[0],r=o.toLowerCase(),this.protocol=o,c=c.substr(o.length)),(e||o||c.match(/^\/\/[^@\/]+@[^@\/]+/))&&(t=c.substr(0,2)==="//",t&&!(o&&Ru[o])&&(c=c.substr(2),this.slashes=!0)),!Ru[o]&&(t||o&&!Lu[o])){let s=-1;for(let d=0;d127?p+="x":p+=C[_];if(!p.match(qu)){const _=d.slice(0,k),x=d.slice(k+1),m=C.match(M0);m&&(_.push(m[1]),x.unshift(m[2])),x.length&&(c=x.join(".")+c),this.hostname=_.join(".");break}}}}this.hostname.length>I0&&(this.hostname=""),h&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const i=c.indexOf("#");i!==-1&&(this.hash=c.substr(i),c=c.slice(0,i));const a=c.indexOf("?");return a!==-1&&(this.search=c.substr(a),c=c.slice(0,a)),c&&(this.pathname=c),Lu[r]&&this.hostname&&!this.pathname&&(this.pathname=""),this};tu.prototype.parseHost=function(u){let e=S0.exec(u);e&&(e=e[0],e!==":"&&(this.port=e.substr(1)),u=u.substr(0,u.length-e.length)),u&&(this.hostname=u)};const q0=Object.freeze(Object.defineProperty({__proto__:null,decode:Z,encode:Y,format:Du,parse:Cu},Symbol.toStringTag,{value:"Module"})),Ju=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Qu=/[\0-\x1F\x7F-\x9F]/,R0=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,Eu=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,Xu=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/,Yu=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,L0=Object.freeze(Object.defineProperty({__proto__:null,Any:Ju,Cc:Qu,Cf:R0,P:Eu,S:Xu,Z:Yu},Symbol.toStringTag,{value:"Module"})),P0=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(u=>u.charCodeAt(0))),O0=new Uint16Array("Ȁaglq \x1Bɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(u=>u.charCodeAt(0)));var lu;const N0=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),j0=(lu=String.fromCodePoint)!==null&&lu!==void 0?lu:function(u){let e="";return u>65535&&(u-=65536,e+=String.fromCharCode(u>>>10&1023|55296),u=56320|u&1023),e+=String.fromCharCode(u),e};function $0(u){var e;return u>=55296&&u<=57343||u>1114111?65533:(e=N0.get(u))!==null&&e!==void 0?e:u}var A;(function(u){u[u.NUM=35]="NUM",u[u.SEMI=59]="SEMI",u[u.EQUALS=61]="EQUALS",u[u.ZERO=48]="ZERO",u[u.NINE=57]="NINE",u[u.LOWER_A=97]="LOWER_A",u[u.LOWER_F=102]="LOWER_F",u[u.LOWER_X=120]="LOWER_X",u[u.LOWER_Z=122]="LOWER_Z",u[u.UPPER_A=65]="UPPER_A",u[u.UPPER_F=70]="UPPER_F",u[u.UPPER_Z=90]="UPPER_Z"})(A||(A={}));const U0=32;var O;(function(u){u[u.VALUE_LENGTH=49152]="VALUE_LENGTH",u[u.BRANCH_LENGTH=16256]="BRANCH_LENGTH",u[u.JUMP_TABLE=127]="JUMP_TABLE"})(O||(O={}));function mu(u){return u>=A.ZERO&&u<=A.NINE}function Z0(u){return u>=A.UPPER_A&&u<=A.UPPER_F||u>=A.LOWER_A&&u<=A.LOWER_F}function H0(u){return u>=A.UPPER_A&&u<=A.UPPER_Z||u>=A.LOWER_A&&u<=A.LOWER_Z||mu(u)}function V0(u){return u===A.EQUALS||H0(u)}var F;(function(u){u[u.EntityStart=0]="EntityStart",u[u.NumericStart=1]="NumericStart",u[u.NumericDecimal=2]="NumericDecimal",u[u.NumericHex=3]="NumericHex",u[u.NamedEntity=4]="NamedEntity"})(F||(F={}));var P;(function(u){u[u.Legacy=0]="Legacy",u[u.Strict=1]="Strict",u[u.Attribute=2]="Attribute"})(P||(P={}));class G0{constructor(e,r,n){this.decodeTree=e,this.emitCodePoint=r,this.errors=n,this.state=F.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=P.Strict}startEntity(e){this.decodeMode=e,this.state=F.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(e,r){switch(this.state){case F.EntityStart:return e.charCodeAt(r)===A.NUM?(this.state=F.NumericStart,this.consumed+=1,this.stateNumericStart(e,r+1)):(this.state=F.NamedEntity,this.stateNamedEntity(e,r));case F.NumericStart:return this.stateNumericStart(e,r);case F.NumericDecimal:return this.stateNumericDecimal(e,r);case F.NumericHex:return this.stateNumericHex(e,r);case F.NamedEntity:return this.stateNamedEntity(e,r)}}stateNumericStart(e,r){return r>=e.length?-1:(e.charCodeAt(r)|U0)===A.LOWER_X?(this.state=F.NumericHex,this.consumed+=1,this.stateNumericHex(e,r+1)):(this.state=F.NumericDecimal,this.stateNumericDecimal(e,r))}addToNumericResult(e,r,n,t){if(r!==n){const c=n-r;this.result=this.result*Math.pow(t,c)+parseInt(e.substr(r,c),t),this.consumed+=c}}stateNumericHex(e,r){const n=r;for(;r>14;for(;r>14,c!==0){if(o===A.SEMI)return this.emitNamedEntityData(this.treeIndex,c,this.consumed+this.excess);this.decodeMode!==P.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var e;const{result:r,decodeTree:n}=this,t=(n[r]&O.VALUE_LENGTH)>>14;return this.emitNamedEntityData(r,t,this.consumed),(e=this.errors)===null||e===void 0||e.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(e,r,n){const{decodeTree:t}=this;return this.emitCodePoint(r===1?t[e]&~O.VALUE_LENGTH:t[e+1],n),r===3&&this.emitCodePoint(t[e+2],n),n}end(){var e;switch(this.state){case F.NamedEntity:return this.result!==0&&(this.decodeMode!==P.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case F.NumericDecimal:return this.emitNumericEntity(0,2);case F.NumericHex:return this.emitNumericEntity(0,3);case F.NumericStart:return(e=this.errors)===null||e===void 0||e.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case F.EntityStart:return 0}}}function Ku(u){let e="";const r=new G0(u,n=>e+=j0(n));return function(t,c){let o=0,i=0;for(;(i=t.indexOf("&",i))>=0;){e+=t.slice(o,i),r.startEntity(c);const s=r.write(t,i+1);if(s<0){o=i+r.end();break}o=i+s,i=s===0?o+1:o}const a=e+t.slice(o);return e="",a}}function W0(u,e,r,n){const t=(e&O.BRANCH_LENGTH)>>7,c=e&O.JUMP_TABLE;if(t===0)return c!==0&&n===c?r:-1;if(c){const a=n-c;return a<0||a>=t?-1:u[r+a]-1}let o=r,i=o+t-1;for(;o<=i;){const a=o+i>>>1,s=u[a];if(sn)i=a-1;else return u[a+t]}return-1}const J0=Ku(P0);Ku(O0);function u0(u,e=P.Legacy){return J0(u,e)}function Q0(u){return Object.prototype.toString.call(u)}function Fu(u){return Q0(u)==="[object String]"}const X0=Object.prototype.hasOwnProperty;function Y0(u,e){return X0.call(u,e)}function iu(u){return Array.prototype.slice.call(arguments,1).forEach(function(r){if(r){if(typeof r!="object")throw new TypeError(r+"must be object");Object.keys(r).forEach(function(n){u[n]=r[n]})}}),u}function e0(u,e,r){return[].concat(u.slice(0,e),r,u.slice(e+1))}function Au(u){return!(u>=55296&&u<=57343||u>=64976&&u<=65007||(u&65535)===65535||(u&65535)===65534||u>=0&&u<=8||u===11||u>=14&&u<=31||u>=127&&u<=159||u>1114111)}function nu(u){if(u>65535){u-=65536;const e=55296+(u>>10),r=56320+(u&1023);return String.fromCharCode(e,r)}return String.fromCharCode(u)}const r0=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,K0=/&([a-z#][a-z0-9]{1,31});/gi,ue=new RegExp(r0.source+"|"+K0.source,"gi"),ee=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function re(u,e){if(e.charCodeAt(0)===35&&ee.test(e)){const n=e[1].toLowerCase()==="x"?parseInt(e.slice(2),16):parseInt(e.slice(1),10);return Au(n)?nu(n):u}const r=u0(u);return r!==u?r:u}function te(u){return u.indexOf("\\")<0?u:u.replace(r0,"$1")}function H(u){return u.indexOf("\\")<0&&u.indexOf("&")<0?u:u.replace(ue,function(e,r,n){return r||re(e,n)})}const ne=/[&<>"]/,ce=/[&<>"]/g,ie={"&":"&","<":"<",">":">",'"':"""};function oe(u){return ie[u]}function N(u){return ne.test(u)?u.replace(ce,oe):u}const ae=/[.?*+^$[\]\\(){}|-]/g;function se(u){return u.replace(ae,"\\$&")}function E(u){switch(u){case 9:case 32:return!0}return!1}function W(u){if(u>=8192&&u<=8202)return!0;switch(u){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function J(u){return Eu.test(u)||Xu.test(u)}function Q(u){switch(u){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function ou(u){return u=u.trim().replace(/\s+/g," "),"ẞ".toLowerCase()==="Ṿ"&&(u=u.replace(/ẞ/g,"ß")),u.toLowerCase().toUpperCase()}const fe={mdurl:q0,ucmicro:L0},le=Object.freeze(Object.defineProperty({__proto__:null,arrayReplaceAt:e0,assign:iu,escapeHtml:N,escapeRE:se,fromCodePoint:nu,has:Y0,isMdAsciiPunct:Q,isPunctChar:J,isSpace:E,isString:Fu,isValidEntityCode:Au,isWhiteSpace:W,lib:fe,normalizeReference:ou,unescapeAll:H,unescapeMd:te},Symbol.toStringTag,{value:"Module"}));function de(u,e,r){let n,t,c,o;const i=u.posMax,a=u.pos;for(u.pos=e+1,n=1;u.pos32))return c;if(n===41){if(o===0)break;o--}t++}return e===t||o!==0||(c.str=H(u.slice(e,t)),c.pos=t,c.ok=!0),c}function be(u,e,r,n){let t,c=e;const o={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(n)o.str=n.str,o.marker=n.marker;else{if(c>=r)return o;let i=u.charCodeAt(c);if(i!==34&&i!==39&&i!==40)return o;e++,c++,i===40&&(i=41),o.marker=i}for(;c"+N(c.content)+""};M.code_block=function(u,e,r,n,t){const c=u[e];return""+N(u[e].content)+` -`};M.fence=function(u,e,r,n,t){const c=u[e],o=c.info?H(c.info).trim():"";let i="",a="";if(o){const f=o.split(/(\s+)/g);i=f[0],a=f.slice(2).join("")}let s;if(r.highlight?s=r.highlight(c.content,i,a)||N(c.content):s=N(c.content),s.indexOf("${s} -`}return`
${s}
-`};M.image=function(u,e,r,n,t){const c=u[e];return c.attrs[c.attrIndex("alt")][1]=t.renderInlineAsText(c.children,r,n),t.renderToken(u,e,r)};M.hardbreak=function(u,e,r){return r.xhtmlOut?`
-`:`
-`};M.softbreak=function(u,e,r){return r.breaks?r.xhtmlOut?`
-`:`
-`:` -`};M.text=function(u,e){return N(u[e].content)};M.html_block=function(u,e){return u[e].content};M.html_inline=function(u,e){return u[e].content};function V(){this.rules=iu({},M)}V.prototype.renderAttrs=function(e){let r,n,t;if(!e.attrs)return"";for(t="",r=0,n=e.attrs.length;r -`:">",c};V.prototype.renderInline=function(u,e,r){let n="";const t=this.rules;for(let c=0,o=u.length;c=0&&(n=this.attrs[r][1]),n};T.prototype.attrJoin=function(e,r){const n=this.attrIndex(e);n<0?this.attrPush([e,r]):this.attrs[n][1]=this.attrs[n][1]+" "+r};function t0(u,e,r){this.src=u,this.env=r,this.tokens=[],this.inlineMode=!1,this.md=e}t0.prototype.Token=T;const xe=/\r\n?|\n/g,_e=/\0/g;function me(u){let e;e=u.src.replace(xe,` -`),e=e.replace(_e,"�"),u.src=e}function ke(u){let e;u.inlineMode?(e=new u.Token("inline","",0),e.content=u.src,e.map=[0,1],e.children=[],u.tokens.push(e)):u.md.block.parse(u.src,u.md,u.env,u.tokens)}function ge(u){const e=u.tokens;for(let r=0,n=e.length;r\s]/i.test(u)}function Ce(u){return/^<\/a\s*>/i.test(u)}function Ee(u){const e=u.tokens;if(u.md.options.linkify)for(let r=0,n=e.length;r=0;o--){const i=t[o];if(i.type==="link_close"){for(o--;t[o].level!==i.level&&t[o].type!=="link_open";)o--;continue}if(i.type==="html_inline"&&(De(i.content)&&c>0&&c--,Ce(i.content)&&c++),!(c>0)&&i.type==="text"&&u.md.linkify.test(i.content)){const a=i.content;let s=u.md.linkify.match(a);const f=[];let l=i.level,b=0;s.length>0&&s[0].index===0&&o>0&&t[o-1].type==="text_special"&&(s=s.slice(1));for(let h=0;hb){const m=new u.Token("text","",0);m.content=a.slice(b,C),m.level=l,f.push(m)}const p=new u.Token("link_open","a",1);p.attrs=[["href",k]],p.level=l++,p.markup="linkify",p.info="auto",f.push(p);const _=new u.Token("text","",0);_.content=g,_.level=l,f.push(_);const x=new u.Token("link_close","a",-1);x.level=--l,x.markup="linkify",x.info="auto",f.push(x),b=s[h].lastIndex}if(b=0;r--){const n=u[r];n.type==="text"&&!e&&(n.content=n.content.replace(Ae,we)),n.type==="link_open"&&n.info==="auto"&&e--,n.type==="link_close"&&n.info==="auto"&&e++}}function ve(u){let e=0;for(let r=u.length-1;r>=0;r--){const n=u[r];n.type==="text"&&!e&&n0.test(n.content)&&(n.content=n.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),n.type==="link_open"&&n.info==="auto"&&e--,n.type==="link_close"&&n.info==="auto"&&e++}}function Be(u){let e;if(u.md.options.typographer)for(e=u.tokens.length-1;e>=0;e--)u.tokens[e].type==="inline"&&(Fe.test(u.tokens[e].content)&&Se(u.tokens[e].children),n0.test(u.tokens[e].content)&&ve(u.tokens[e].children))}const Te=/['"]/,Pu=/['"]/g,Ou="’";function eu(u,e,r){return u.slice(0,e)+r+u.slice(e+1)}function ze(u,e){let r;const n=[];for(let t=0;t=0&&!(n[r].level<=o);r--);if(n.length=r+1,c.type!=="text")continue;let i=c.content,a=0,s=i.length;u:for(;a=0)d=i.charCodeAt(f.index-1);else for(r=t-1;r>=0&&!(u[r].type==="softbreak"||u[r].type==="hardbreak");r--)if(u[r].content){d=u[r].content.charCodeAt(u[r].content.length-1);break}let k=32;if(a=48&&d<=57&&(b=l=!1),l&&b&&(l=g,b=C),!l&&!b){h&&(c.content=eu(c.content,f.index,Ou));continue}if(b)for(r=n.length-1;r>=0;r--){let x=n[r];if(n[r].level=0;e--)u.tokens[e].type!=="inline"||!Te.test(u.tokens[e].content)||ze(u.tokens[e].children,u)}function Me(u){let e,r;const n=u.tokens,t=n.length;for(let c=0;c0&&this.level++,this.tokens.push(n),n};q.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]};q.prototype.skipEmptyLines=function(e){for(let r=this.lineMax;er;)if(!E(this.src.charCodeAt(--e)))return e+1;return e};q.prototype.skipChars=function(e,r){for(let n=this.src.length;en;)if(r!==this.src.charCodeAt(--e))return e+1;return e};q.prototype.getLines=function(e,r,n,t){if(e>=r)return"";const c=new Array(r-e);for(let o=0,i=e;in?c[o]=new Array(a-n+1).join(" ")+this.src.slice(f,l):c[o]=this.src.slice(f,l)}return c.join("")};q.prototype.Token=T;const qe=65536;function hu(u,e){const r=u.bMarks[e]+u.tShift[e],n=u.eMarks[e];return u.src.slice(r,n)}function Nu(u){const e=[],r=u.length;let n=0,t=u.charCodeAt(n),c=!1,o=0,i="";for(;nr)return!1;let t=e+1;if(u.sCount[t]=4)return!1;let c=u.bMarks[t]+u.tShift[t];if(c>=u.eMarks[t])return!1;const o=u.src.charCodeAt(c++);if(o!==124&&o!==45&&o!==58||c>=u.eMarks[t])return!1;const i=u.src.charCodeAt(c++);if(i!==124&&i!==45&&i!==58&&!E(i)||o===45&&E(i))return!1;for(;c=4)return!1;s=Nu(a),s.length&&s[0]===""&&s.shift(),s.length&&s[s.length-1]===""&&s.pop();const l=s.length;if(l===0||l!==f.length)return!1;if(n)return!0;const b=u.parentType;u.parentType="table";const h=u.md.block.ruler.getRules("blockquote"),d=u.push("table_open","table",1),k=[e,0];d.map=k;const g=u.push("thead_open","thead",1);g.map=[e,e+1];const C=u.push("tr_open","tr",1);C.map=[e,e+1];for(let x=0;x=4||(s=Nu(a),s.length&&s[0]===""&&s.shift(),s.length&&s[s.length-1]===""&&s.pop(),_+=l-s.length,_>qe))break;if(t===e+2){const D=u.push("tbody_open","tbody",1);D.map=p=[e+2,0]}const m=u.push("tr_open","tr",1);m.map=[t,t+1];for(let D=0;D=4){n++,t=n;continue}break}u.line=t;const c=u.push("code_block","code",0);return c.content=u.getLines(e,t,4+u.blkIndent,!1)+` -`,c.map=[e,u.line],!0}function Pe(u,e,r,n){let t=u.bMarks[e]+u.tShift[e],c=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4||t+3>c)return!1;const o=u.src.charCodeAt(t);if(o!==126&&o!==96)return!1;let i=t;t=u.skipChars(t,o);let a=t-i;if(a<3)return!1;const s=u.src.slice(i,t),f=u.src.slice(t,c);if(o===96&&f.indexOf(String.fromCharCode(o))>=0)return!1;if(n)return!0;let l=e,b=!1;for(;l++,!(l>=r||(t=i=u.bMarks[l]+u.tShift[l],c=u.eMarks[l],t=4)&&(t=u.skipChars(t,o),!(t-i=4||u.src.charCodeAt(t)!==62)return!1;if(n)return!0;const i=[],a=[],s=[],f=[],l=u.md.block.ruler.getRules("blockquote"),b=u.parentType;u.parentType="blockquote";let h=!1,d;for(d=e;d=c)break;if(u.src.charCodeAt(t++)===62&&!_){let m=u.sCount[d]+1,D,y;u.src.charCodeAt(t)===32?(t++,m++,y=!1,D=!0):u.src.charCodeAt(t)===9?(D=!0,(u.bsCount[d]+m)%4===3?(t++,m++,y=!1):y=!0):D=!1;let v=m;for(i.push(u.bMarks[d]),u.bMarks[d]=t;t=c,a.push(u.bsCount[d]),u.bsCount[d]=u.sCount[d]+1+(D?1:0),s.push(u.sCount[d]),u.sCount[d]=v-m,f.push(u.tShift[d]),u.tShift[d]=t-u.bMarks[d];continue}if(h)break;let x=!1;for(let m=0,D=l.length;m";const C=[e,0];g.map=C,u.md.block.tokenize(u,e,d);const p=u.push("blockquote_close","blockquote",-1);p.markup=">",u.lineMax=o,u.parentType=b,C[1]=u.line;for(let _=0;_=4)return!1;let c=u.bMarks[e]+u.tShift[e];const o=u.src.charCodeAt(c++);if(o!==42&&o!==45&&o!==95)return!1;let i=1;for(;c=n)return-1;let c=u.src.charCodeAt(t++);if(c<48||c>57)return-1;for(;;){if(t>=n)return-1;if(c=u.src.charCodeAt(t++),c>=48&&c<=57){if(t-r>=10)return-1;continue}if(c===41||c===46)break;return-1}return t=4||u.listIndent>=0&&u.sCount[a]-u.listIndent>=4&&u.sCount[a]=u.blkIndent&&(f=!0);let l,b,h;if((h=$u(u,a))>=0){if(l=!0,o=u.bMarks[a]+u.tShift[a],b=Number(u.src.slice(o,h-1)),f&&b!==1)return!1}else if((h=ju(u,a))>=0)l=!1;else return!1;if(f&&u.skipSpaces(h)>=u.eMarks[a])return!1;if(n)return!0;const d=u.src.charCodeAt(h-1),k=u.tokens.length;l?(i=u.push("ordered_list_open","ol",1),b!==1&&(i.attrs=[["start",b]])):i=u.push("bullet_list_open","ul",1);const g=[a,0];i.map=g,i.markup=String.fromCharCode(d);let C=!1;const p=u.md.block.ruler.getRules("list"),_=u.parentType;for(u.parentType="list";a=t?y=1:y=m-x,y>4&&(y=1);const v=x+y;i=u.push("list_item_open","li",1),i.markup=String.fromCharCode(d);const R=[a,0];i.map=R,l&&(i.info=u.src.slice(o,h-1));const G=u.tight,fu=u.tShift[a],g0=u.sCount[a],D0=u.listIndent;if(u.listIndent=u.blkIndent,u.blkIndent=v,u.tight=!0,u.tShift[a]=D-u.bMarks[a],u.sCount[a]=m,D>=t&&u.isEmpty(a+1)?u.line=Math.min(u.line+2,r):u.md.block.tokenize(u,a,r,!0),(!u.tight||C)&&(s=!1),C=u.line-a>1&&u.isEmpty(u.line-1),u.blkIndent=u.listIndent,u.listIndent=D0,u.tShift[a]=fu,u.sCount[a]=g0,u.tight=G,i=u.push("list_item_close","li",-1),i.markup=String.fromCharCode(d),a=u.line,R[1]=a,a>=r||u.sCount[a]=4)break;let vu=!1;for(let j=0,C0=p.length;j=4||u.src.charCodeAt(t)!==91)return!1;function i(p){const _=u.lineMax;if(p>=_||u.isEmpty(p))return null;let x=!1;if(u.sCount[p]-u.blkIndent>3&&(x=!0),u.sCount[p]<0&&(x=!0),!x){const y=u.md.block.ruler.getRules("reference"),v=u.parentType;u.parentType="reference";let R=!1;for(let G=0,fu=y.length;G"u"&&(u.env.references={}),typeof u.env.references[C]>"u"&&(u.env.references[C]={title:g,href:l}),u.line=o),!0):!1}const Ze=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],He="[a-zA-Z_:][a-zA-Z0-9:._-]*",Ve="[^\"'=<>`\\x00-\\x20]+",Ge="'[^']*'",We='"[^"]*"',Je="(?:"+Ve+"|"+Ge+"|"+We+")",Qe="(?:\\s+"+He+"(?:\\s*=\\s*"+Je+")?)",c0="<[A-Za-z][A-Za-z0-9\\-]*"+Qe+"*\\s*\\/?>",i0="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",Xe="",Ye="<[?][\\s\\S]*?[?]>",Ke="]*>",ur="",er=new RegExp("^(?:"+c0+"|"+i0+"|"+Xe+"|"+Ye+"|"+Ke+"|"+ur+")"),rr=new RegExp("^(?:"+c0+"|"+i0+")"),$=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(rr.source+"\\s*$"),/^$/,!1]];function tr(u,e,r,n){let t=u.bMarks[e]+u.tShift[e],c=u.eMarks[e];if(u.sCount[e]-u.blkIndent>=4||!u.md.options.html||u.src.charCodeAt(t)!==60)return!1;let o=u.src.slice(t,c),i=0;for(;i<$.length&&!$[i][0].test(o);i++);if(i===$.length)return!1;if(n)return $[i][2];let a=e+1;if(!$[i][1].test(o)){for(;a=4)return!1;let o=u.src.charCodeAt(t);if(o!==35||t>=c)return!1;let i=1;for(o=u.src.charCodeAt(++t);o===35&&t6||tt&&E(u.src.charCodeAt(a-1))&&(c=a),u.line=e+1;const s=u.push("heading_open","h"+String(i),1);s.markup="########".slice(0,i),s.map=[e,u.line];const f=u.push("inline","",0);f.content=u.src.slice(t,c).trim(),f.map=[e,u.line],f.children=[];const l=u.push("heading_close","h"+String(i),-1);return l.markup="########".slice(0,i),!0}function cr(u,e,r){const n=u.md.block.ruler.getRules("paragraph");if(u.sCount[e]-u.blkIndent>=4)return!1;const t=u.parentType;u.parentType="paragraph";let c=0,o,i=e+1;for(;i3)continue;if(u.sCount[i]>=u.blkIndent){let h=u.bMarks[i]+u.tShift[i];const d=u.eMarks[i];if(h=d))){c=o===61?1:2;break}}if(u.sCount[i]<0)continue;let b=!1;for(let h=0,d=n.length;h3||u.sCount[c]<0)continue;let s=!1;for(let f=0,l=n.length;f=r||u.sCount[o]=c){u.line=r;break}const a=u.line;let s=!1;for(let f=0;f=u.line)throw new Error("block rule didn't increment state.line");break}if(!s)throw new Error("none of the block rules matched");u.tight=!i,u.isEmpty(u.line-1)&&(i=!0),o=u.line,o0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],t={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(n),this.tokens_meta.push(t),n};K.prototype.scanDelims=function(u,e){const r=this.posMax,n=this.src.charCodeAt(u),t=u>0?this.src.charCodeAt(u-1):32;let c=u;for(;c0)return!1;const r=u.pos,n=u.posMax;if(r+3>n||u.src.charCodeAt(r)!==58||u.src.charCodeAt(r+1)!==47||u.src.charCodeAt(r+2)!==47)return!1;const t=u.pending.match(sr);if(!t)return!1;const c=t[1],o=u.md.linkify.matchAtStart(u.src.slice(r-c.length));if(!o)return!1;let i=o.url;if(i.length<=c.length)return!1;let a=i.length;for(;a>0&&i.charCodeAt(a-1)===42;)a--;a!==i.length&&(i=i.slice(0,a));const s=u.md.normalizeLink(i);if(!u.md.validateLink(s))return!1;if(!e){u.pending=u.pending.slice(0,-c.length);const f=u.push("link_open","a",1);f.attrs=[["href",s]],f.markup="linkify",f.info="auto";const l=u.push("text","",0);l.content=u.md.normalizeLinkText(i);const b=u.push("link_close","a",-1);b.markup="linkify",b.info="auto"}return u.pos+=i.length-c.length,!0}function lr(u,e){let r=u.pos;if(u.src.charCodeAt(r)!==10)return!1;const n=u.pending.length-1,t=u.posMax;if(!e)if(n>=0&&u.pending.charCodeAt(n)===32)if(n>=1&&u.pending.charCodeAt(n-1)===32){let c=n-1;for(;c>=1&&u.pending.charCodeAt(c-1)===32;)c--;u.pending=u.pending.slice(0,c),u.push("hardbreak","br",0)}else u.pending=u.pending.slice(0,-1),u.push("softbreak","br",0);else u.push("softbreak","br",0);for(r++;r?@[]^_`{|}~-".split("").forEach(function(u){wu[u.charCodeAt(0)]=1});function dr(u,e){let r=u.pos;const n=u.posMax;if(u.src.charCodeAt(r)!==92||(r++,r>=n))return!1;let t=u.src.charCodeAt(r);if(t===10){for(e||u.push("hardbreak","br",0),r++;r=55296&&t<=56319&&r+1=56320&&i<=57343&&(c+=u.src[r+1],r++)}const o="\\"+c;if(!e){const i=u.push("text_special","",0);t<256&&wu[t]!==0?i.content=c:i.content=o,i.markup=o,i.info="escape"}return u.pos=r+1,!0}function hr(u,e){let r=u.pos;if(u.src.charCodeAt(r)!==96)return!1;const t=r;r++;const c=u.posMax;for(;r=0;n--){const t=e[n];if(t.marker!==95&&t.marker!==42||t.end===-1)continue;const c=e[t.end],o=n>0&&e[n-1].end===t.end+1&&e[n-1].marker===t.marker&&e[n-1].token===t.token-1&&e[t.end+1].token===c.token+1,i=String.fromCharCode(t.marker),a=u.tokens[t.token];a.type=o?"strong_open":"em_open",a.tag=o?"strong":"em",a.nesting=1,a.markup=o?i+i:i,a.content="";const s=u.tokens[c.token];s.type=o?"strong_close":"em_close",s.tag=o?"strong":"em",s.nesting=-1,s.markup=o?i+i:i,s.content="",o&&(u.tokens[e[n-1].token].content="",u.tokens[e[t.end+1].token].content="",n--)}}function _r(u){const e=u.tokens_meta,r=u.tokens_meta.length;Zu(u,u.delimiters);for(let n=0;n=l)return!1;if(a=d,t=u.md.helpers.parseLinkDestination(u.src,d,u.posMax),t.ok){for(o=u.md.normalizeLink(t.str),u.md.validateLink(o)?d=t.pos:o="",a=d;d=l||u.src.charCodeAt(d)!==41)&&(s=!0),d++}if(s){if(typeof u.env.references>"u")return!1;if(d=0?n=u.src.slice(a,d++):d=h+1):d=h+1,n||(n=u.src.slice(b,h)),c=u.env.references[ou(n)],!c)return u.pos=f,!1;o=c.href,i=c.title}if(!e){u.pos=b,u.posMax=h;const k=u.push("link_open","a",1),g=[["href",o]];k.attrs=g,i&&g.push(["title",i]),u.linkLevel++,u.md.inline.tokenize(u),u.linkLevel--,u.push("link_close","a",-1)}return u.pos=d,u.posMax=l,!0}function kr(u,e){let r,n,t,c,o,i,a,s,f="";const l=u.pos,b=u.posMax;if(u.src.charCodeAt(u.pos)!==33||u.src.charCodeAt(u.pos+1)!==91)return!1;const h=u.pos+2,d=u.md.helpers.parseLinkLabel(u,u.pos+1,!1);if(d<0)return!1;if(c=d+1,c=b)return!1;for(s=c,i=u.md.helpers.parseLinkDestination(u.src,c,u.posMax),i.ok&&(f=u.md.normalizeLink(i.str),u.md.validateLink(f)?c=i.pos:f=""),s=c;c=b||u.src.charCodeAt(c)!==41)return u.pos=l,!1;c++}else{if(typeof u.env.references>"u")return!1;if(c=0?t=u.src.slice(s,c++):c=d+1):c=d+1,t||(t=u.src.slice(h,d)),o=u.env.references[ou(t)],!o)return u.pos=l,!1;f=o.href,a=o.title}if(!e){n=u.src.slice(h,d);const k=[];u.md.inline.parse(n,u.md,u.env,k);const g=u.push("image","img",0),C=[["src",f],["alt",""]];g.attrs=C,g.children=k,g.content=n,a&&C.push(["title",a])}return u.pos=c,u.posMax=b,!0}const gr=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,Dr=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function Cr(u,e){let r=u.pos;if(u.src.charCodeAt(r)!==60)return!1;const n=u.pos,t=u.posMax;for(;;){if(++r>=t)return!1;const o=u.src.charCodeAt(r);if(o===60)return!1;if(o===62)break}const c=u.src.slice(n+1,r);if(Dr.test(c)){const o=u.md.normalizeLink(c);if(!u.md.validateLink(o))return!1;if(!e){const i=u.push("link_open","a",1);i.attrs=[["href",o]],i.markup="autolink",i.info="auto";const a=u.push("text","",0);a.content=u.md.normalizeLinkText(c);const s=u.push("link_close","a",-1);s.markup="autolink",s.info="auto"}return u.pos+=c.length+2,!0}if(gr.test(c)){const o=u.md.normalizeLink("mailto:"+c);if(!u.md.validateLink(o))return!1;if(!e){const i=u.push("link_open","a",1);i.attrs=[["href",o]],i.markup="autolink",i.info="auto";const a=u.push("text","",0);a.content=u.md.normalizeLinkText(c);const s=u.push("link_close","a",-1);s.markup="autolink",s.info="auto"}return u.pos+=c.length+2,!0}return!1}function Er(u){return/^\s]/i.test(u)}function Fr(u){return/^<\/a\s*>/i.test(u)}function Ar(u){const e=u|32;return e>=97&&e<=122}function yr(u,e){if(!u.md.options.html)return!1;const r=u.posMax,n=u.pos;if(u.src.charCodeAt(n)!==60||n+2>=r)return!1;const t=u.src.charCodeAt(n+1);if(t!==33&&t!==63&&t!==47&&!Ar(t))return!1;const c=u.src.slice(n).match(er);if(!c)return!1;if(!e){const o=u.push("html_inline","",0);o.content=c[0],Er(o.content)&&u.linkLevel++,Fr(o.content)&&u.linkLevel--}return u.pos+=c[0].length,!0}const wr=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,Sr=/^&([a-z][a-z0-9]{1,31});/i;function vr(u,e){const r=u.pos,n=u.posMax;if(u.src.charCodeAt(r)!==38||r+1>=n)return!1;if(u.src.charCodeAt(r+1)===35){const c=u.src.slice(r).match(wr);if(c){if(!e){const o=c[1][0].toLowerCase()==="x"?parseInt(c[1].slice(1),16):parseInt(c[1],10),i=u.push("text_special","",0);i.content=Au(o)?nu(o):nu(65533),i.markup=c[0],i.info="entity"}return u.pos+=c[0].length,!0}}else{const c=u.src.slice(r).match(Sr);if(c){const o=u0(c[0]);if(o!==c[0]){if(!e){const i=u.push("text_special","",0);i.content=o,i.markup=c[0],i.info="entity"}return u.pos+=c[0].length,!0}}}return!1}function Hu(u){const e={},r=u.length;if(!r)return;let n=0,t=-2;const c=[];for(let o=0;oa;s-=c[s]+1){const l=u[s];if(l.marker===i.marker&&l.open&&l.end<0){let b=!1;if((l.close||i.open)&&(l.length+i.length)%3===0&&(l.length%3!==0||i.length%3!==0)&&(b=!0),!b){const h=s>0&&!u[s-1].open?c[s-1]+1:0;c[o]=o-s+h,c[s]=h,i.open=!1,l.end=o,l.close=!1,f=-1,t=-2;break}}}f!==-1&&(e[i.marker][(i.open?3:0)+(i.length||0)%3]=f)}}function Br(u){const e=u.tokens_meta,r=u.tokens_meta.length;Hu(u.delimiters);for(let n=0;n0&&n++,t[e].type==="text"&&e+1=u.pos)throw new Error("inline rule didn't increment state.pos");break}}else u.pos=u.posMax;o||u.pos++,c[e]=u.pos};uu.prototype.tokenize=function(u){const e=this.ruler.getRules(""),r=e.length,n=u.posMax,t=u.md.options.maxNesting;for(;u.pos=u.pos)throw new Error("inline rule didn't increment state.pos");break}}if(o){if(u.pos>=n)break;continue}u.pending+=u.src[u.pos++]}u.pending&&u.pushPending()};uu.prototype.parse=function(u,e,r,n){const t=new this.State(u,e,r,n);this.tokenize(t);const c=this.ruler2.getRules(""),o=c.length;for(let i=0;i|$))",e.tpl_email_fuzzy="(^|"+r+'|"|\\(|'+e.src_ZCc+")("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")",e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")",e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")",e}function ku(u){return Array.prototype.slice.call(arguments,1).forEach(function(r){r&&Object.keys(r).forEach(function(n){u[n]=r[n]})}),u}function su(u){return Object.prototype.toString.call(u)}function Ir(u){return su(u)==="[object String]"}function Mr(u){return su(u)==="[object Object]"}function qr(u){return su(u)==="[object RegExp]"}function Vu(u){return su(u)==="[object Function]"}function Rr(u){return u.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}const s0={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function Lr(u){return Object.keys(u||{}).reduce(function(e,r){return e||s0.hasOwnProperty(r)},!1)}const Pr={"http:":{validate:function(u,e,r){const n=u.slice(e);return r.re.http||(r.re.http=new RegExp("^\\/\\/"+r.re.src_auth+r.re.src_host_port_strict+r.re.src_path,"i")),r.re.http.test(n)?n.match(r.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(u,e,r){const n=u.slice(e);return r.re.no_http||(r.re.no_http=new RegExp("^"+r.re.src_auth+"(?:localhost|(?:(?:"+r.re.src_domain+")\\.)+"+r.re.src_domain_root+")"+r.re.src_port+r.re.src_host_terminator+r.re.src_path,"i")),r.re.no_http.test(n)?e>=3&&u[e-3]===":"||e>=3&&u[e-3]==="/"?0:n.match(r.re.no_http)[0].length:0}},"mailto:":{validate:function(u,e,r){const n=u.slice(e);return r.re.mailto||(r.re.mailto=new RegExp("^"+r.re.src_email_name+"@"+r.re.src_host_strict,"i")),r.re.mailto.test(n)?n.match(r.re.mailto)[0].length:0}}},Or="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",Nr="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function jr(u){u.__index__=-1,u.__text_cache__=""}function $r(u){return function(e,r){const n=e.slice(r);return u.test(n)?n.match(u)[0].length:0}}function Gu(){return function(u,e){e.normalize(u)}}function cu(u){const e=u.re=zr(u.__opts__),r=u.__tlds__.slice();u.onCompile(),u.__tlds_replaced__||r.push(Or),r.push(e.src_xn),e.src_tlds=r.join("|");function n(i){return i.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(n(e.tpl_email_fuzzy),"i"),e.link_fuzzy=RegExp(n(e.tpl_link_fuzzy),"i"),e.link_no_ip_fuzzy=RegExp(n(e.tpl_link_no_ip_fuzzy),"i"),e.host_fuzzy_test=RegExp(n(e.tpl_host_fuzzy_test),"i");const t=[];u.__compiled__={};function c(i,a){throw new Error('(LinkifyIt) Invalid schema "'+i+'": '+a)}Object.keys(u.__schemas__).forEach(function(i){const a=u.__schemas__[i];if(a===null)return;const s={validate:null,link:null};if(u.__compiled__[i]=s,Mr(a)){qr(a.validate)?s.validate=$r(a.validate):Vu(a.validate)?s.validate=a.validate:c(i,a),Vu(a.normalize)?s.normalize=a.normalize:a.normalize?c(i,a):s.normalize=Gu();return}if(Ir(a)){t.push(i);return}c(i,a)}),t.forEach(function(i){u.__compiled__[u.__schemas__[i]]&&(u.__compiled__[i].validate=u.__compiled__[u.__schemas__[i]].validate,u.__compiled__[i].normalize=u.__compiled__[u.__schemas__[i]].normalize)}),u.__compiled__[""]={validate:null,normalize:Gu()};const o=Object.keys(u.__compiled__).filter(function(i){return i.length>0&&u.__compiled__[i]}).map(Rr).join("|");u.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+o+")","i"),u.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+o+")","ig"),u.re.schema_at_start=RegExp("^"+u.re.schema_search.source,"i"),u.re.pretest=RegExp("("+u.re.schema_test.source+")|("+u.re.host_fuzzy_test.source+")|@","i"),jr(u)}function Ur(u,e){const r=u.__index__,n=u.__last_index__,t=u.__text_cache__.slice(r,n);this.schema=u.__schema__.toLowerCase(),this.index=r+e,this.lastIndex=n+e,this.raw=t,this.text=t,this.url=t}function gu(u,e){const r=new Ur(u,e);return u.__compiled__[r.schema].normalize(r,u),r}function S(u,e){if(!(this instanceof S))return new S(u,e);e||Lr(u)&&(e=u,u={}),this.__opts__=ku({},s0,e),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=ku({},Pr,u),this.__compiled__={},this.__tlds__=Nr,this.__tlds_replaced__=!1,this.re={},cu(this)}S.prototype.add=function(e,r){return this.__schemas__[e]=r,cu(this),this};S.prototype.set=function(e){return this.__opts__=ku(this.__opts__,e),this};S.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;let r,n,t,c,o,i,a,s,f;if(this.re.schema_test.test(e)){for(a=this.re.schema_search,a.lastIndex=0;(r=a.exec(e))!==null;)if(c=this.testSchemaAt(e,r[2],a.lastIndex),c){this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+c;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(s=e.search(this.re.host_fuzzy_test),s>=0&&(this.__index__<0||s=0&&(t=e.match(this.re.email_fuzzy))!==null&&(o=t.index+t[1].length,i=t.index+t[0].length,(this.__index__<0||othis.__last_index__)&&(this.__schema__="mailto:",this.__index__=o,this.__last_index__=i))),this.__index__>=0};S.prototype.pretest=function(e){return this.re.pretest.test(e)};S.prototype.testSchemaAt=function(e,r,n){return this.__compiled__[r.toLowerCase()]?this.__compiled__[r.toLowerCase()].validate(e,n,this):0};S.prototype.match=function(e){const r=[];let n=0;this.__index__>=0&&this.__text_cache__===e&&(r.push(gu(this,n)),n=this.__last_index__);let t=n?e.slice(n):e;for(;this.test(t);)r.push(gu(this,n)),t=t.slice(this.__last_index__),n+=this.__last_index__;return r.length?r:null};S.prototype.matchAtStart=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return null;const r=this.re.schema_at_start.exec(e);if(!r)return null;const n=this.testSchemaAt(e,r[2],r[0].length);return n?(this.__schema__=r[2],this.__index__=r.index+r[1].length,this.__last_index__=r.index+r[0].length+n,gu(this,0)):null};S.prototype.tlds=function(e,r){return e=Array.isArray(e)?e:[e],r?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(n,t,c){return n!==c[t-1]}).reverse(),cu(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,cu(this),this)};S.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url="mailto:"+e.url)};S.prototype.onCompile=function(){};const U=2147483647,z=36,Su=1,X=26,Zr=38,Hr=700,f0=72,l0=128,d0="-",Vr=/^xn--/,Gr=/[^\0-\x7F]/,Wr=/[\x2E\u3002\uFF0E\uFF61]/g,Jr={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},xu=z-Su,I=Math.floor,_u=String.fromCharCode;function L(u){throw new RangeError(Jr[u])}function Qr(u,e){const r=[];let n=u.length;for(;n--;)r[n]=e(u[n]);return r}function h0(u,e){const r=u.split("@");let n="";r.length>1&&(n=r[0]+"@",u=r[1]),u=u.replace(Wr,".");const t=u.split("."),c=Qr(t,e).join(".");return n+c}function b0(u){const e=[];let r=0;const n=u.length;for(;r=55296&&t<=56319&&rString.fromCodePoint(...u),Yr=function(u){return u>=48&&u<58?26+(u-48):u>=65&&u<91?u-65:u>=97&&u<123?u-97:z},Wu=function(u,e){return u+22+75*(u<26)-((e!=0)<<5)},p0=function(u,e,r){let n=0;for(u=r?I(u/Hr):u>>1,u+=I(u/e);u>xu*X>>1;n+=z)u=I(u/xu);return I(n+(xu+1)*u/(u+Zr))},x0=function(u){const e=[],r=u.length;let n=0,t=l0,c=f0,o=u.lastIndexOf(d0);o<0&&(o=0);for(let i=0;i=128&&L("not-basic"),e.push(u.charCodeAt(i));for(let i=o>0?o+1:0;i=r&&L("invalid-input");const b=Yr(u.charCodeAt(i++));b>=z&&L("invalid-input"),b>I((U-n)/f)&&L("overflow"),n+=b*f;const h=l<=c?Su:l>=c+X?X:l-c;if(bI(U/d)&&L("overflow"),f*=d}const s=e.length+1;c=p0(n-a,s,a==0),I(n/s)>U-t&&L("overflow"),t+=I(n/s),n%=s,e.splice(n++,0,t)}return String.fromCodePoint(...e)},_0=function(u){const e=[];u=b0(u);const r=u.length;let n=l0,t=0,c=f0;for(const a of u)a<128&&e.push(_u(a));const o=e.length;let i=o;for(o&&e.push(d0);i=n&&fI((U-t)/s)&&L("overflow"),t+=(a-n)*s,n=a;for(const f of u)if(fU&&L("overflow"),f===n){let l=t;for(let b=z;;b+=z){const h=b<=c?Su:b>=c+X?X:b-c;if(l=0))try{e.hostname=m0.toASCII(e.hostname)}catch{}return Y(Du(e))}function st(u){const e=Cu(u,!0);if(e.hostname&&(!e.protocol||k0.indexOf(e.protocol)>=0))try{e.hostname=m0.toUnicode(e.hostname)}catch{}return Z(Du(e),Z.defaultChars+"%")}function B(u,e){if(!(this instanceof B))return new B(u,e);e||Fu(u)||(e=u||{},u="default"),this.inline=new uu,this.block=new au,this.core=new yu,this.renderer=new V,this.linkify=new S,this.validateLink=ot,this.normalizeLink=at,this.normalizeLinkText=st,this.utils=le,this.helpers=iu({},pe),this.options={},this.configure(u),e&&this.set(e)}B.prototype.set=function(u){return iu(this.options,u),this};B.prototype.configure=function(u){const e=this;if(Fu(u)){const r=u;if(u=nt[r],!u)throw new Error('Wrong `markdown-it` preset "'+r+'", check name')}if(!u)throw new Error("Wrong `markdown-it` preset, can't be empty");return u.options&&e.set(u.options),u.components&&Object.keys(u.components).forEach(function(r){u.components[r].rules&&e[r].ruler.enableOnly(u.components[r].rules),u.components[r].rules2&&e[r].ruler2.enableOnly(u.components[r].rules2)}),this};B.prototype.enable=function(u,e){let r=[];Array.isArray(u)||(u=[u]),["core","block","inline"].forEach(function(t){r=r.concat(this[t].ruler.enable(u,!0))},this),r=r.concat(this.inline.ruler2.enable(u,!0));const n=u.filter(function(t){return r.indexOf(t)<0});if(n.length&&!e)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+n);return this};B.prototype.disable=function(u,e){let r=[];Array.isArray(u)||(u=[u]),["core","block","inline"].forEach(function(t){r=r.concat(this[t].ruler.disable(u,!0))},this),r=r.concat(this.inline.ruler2.disable(u,!0));const n=u.filter(function(t){return r.indexOf(t)<0});if(n.length&&!e)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+n);return this};B.prototype.use=function(u){const e=[this].concat(Array.prototype.slice.call(arguments,1));return u.apply(u,e),this};B.prototype.parse=function(u,e){if(typeof u!="string")throw new Error("Input data should be a String");const r=new this.core.State(u,this,e);return this.core.process(r),r.tokens};B.prototype.render=function(u,e){return e=e||{},this.renderer.render(this.parse(u,e),this.options,e)};B.prototype.parseInline=function(u,e){const r=new this.core.State(u,this,e);return r.inlineMode=!0,this.core.process(r),r.tokens};B.prototype.renderInline=function(u,e){return e=e||{},this.renderer.render(this.parseInline(u,e),this.options,e)};export{B as M,ft as _}; diff --git a/ui/dist/assets/useDocs-EWsD7rBb.js b/ui/dist/assets/useDocs-EWsD7rBb.js deleted file mode 100644 index 44ae5e3..0000000 --- a/ui/dist/assets/useDocs-EWsD7rBb.js +++ /dev/null @@ -1 +0,0 @@ -import{m as o,n as r,q as s}from"./index-DEeQUcqL.js";function a(n){return o({queryKey:s.docs(n),queryFn:async()=>{const e=await r(`/api/documents?project=${encodeURIComponent(n)}`);return Array.isArray(e)?e:[]}})}function t(n,e){return o({queryKey:s.doc(n,e??""),enabled:!!e,queryFn:()=>r(`/api/documents/${encodeURIComponent(e)}?project=${encodeURIComponent(n)}`)})}export{t as a,a as u}; diff --git a/ui/dist/favicon.svg b/ui/dist/favicon.svg deleted file mode 100644 index 35ef5b1..0000000 --- a/ui/dist/favicon.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/ui/dist/fonts/Geist-400.woff2 b/ui/dist/fonts/Geist-400.woff2 deleted file mode 100644 index 3eb6a71..0000000 Binary files a/ui/dist/fonts/Geist-400.woff2 and /dev/null differ diff --git a/ui/dist/fonts/Geist-500.woff2 b/ui/dist/fonts/Geist-500.woff2 deleted file mode 100644 index 76d44da..0000000 Binary files a/ui/dist/fonts/Geist-500.woff2 and /dev/null differ diff --git a/ui/dist/fonts/Geist-600.woff2 b/ui/dist/fonts/Geist-600.woff2 deleted file mode 100644 index e36e0c7..0000000 Binary files a/ui/dist/fonts/Geist-600.woff2 and /dev/null differ diff --git a/ui/dist/fonts/GeistMono-400.woff2 b/ui/dist/fonts/GeistMono-400.woff2 deleted file mode 100644 index d9d3833..0000000 Binary files a/ui/dist/fonts/GeistMono-400.woff2 and /dev/null differ diff --git a/ui/dist/fonts/GeistMono-500.woff2 b/ui/dist/fonts/GeistMono-500.woff2 deleted file mode 100644 index 853642f..0000000 Binary files a/ui/dist/fonts/GeistMono-500.woff2 and /dev/null differ diff --git a/ui/dist/icon-192.png b/ui/dist/icon-192.png deleted file mode 100644 index 6628f5d..0000000 Binary files a/ui/dist/icon-192.png and /dev/null differ diff --git a/ui/dist/icon-512.png b/ui/dist/icon-512.png deleted file mode 100644 index eda7f9a..0000000 Binary files a/ui/dist/icon-512.png and /dev/null differ diff --git a/ui/dist/icon-maskable-512.png b/ui/dist/icon-maskable-512.png deleted file mode 100644 index 1ede216..0000000 Binary files a/ui/dist/icon-maskable-512.png and /dev/null differ diff --git a/ui/dist/manifest.webmanifest b/ui/dist/manifest.webmanifest deleted file mode 100644 index 4fcf0df..0000000 --- a/ui/dist/manifest.webmanifest +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "docsiq — GraphRAG knowledge base", - "short_name": "docsiq", - "description": "Notes, documents, and a knowledge graph served by one Go binary.", - "start_url": "/", - "scope": "/", - "display": "standalone", - "orientation": "any", - "background_color": "#0f1115", - "theme_color": "#0f1115", - "icons": [ - { "src": "/favicon.svg", "sizes": "any", "type": "image/svg+xml", "purpose": "any" }, - { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" }, - { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" }, - { "src": "/icon-maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" } - ] -} diff --git a/ui/dist/sw.js b/ui/dist/sw.js deleted file mode 100644 index aed058c..0000000 --- a/ui/dist/sw.js +++ /dev/null @@ -1,14 +0,0 @@ -// Minimal service worker — satisfies install criteria, no offline caching. -// docsiq is server-backed; offline UX isn't meaningful without the Go API running. - -self.addEventListener("install", () => { - self.skipWaiting(); -}); - -self.addEventListener("activate", (event) => { - event.waitUntil(self.clients.claim()); -}); - -// A fetch listener is required by Chrome's installability criteria, even if it -// doesn't intercept anything. Network pass-through by omission. -self.addEventListener("fetch", () => {}); diff --git a/ui/package-lock.json b/ui/package-lock.json index fa223dc..dfc7610 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -28,11 +28,15 @@ "@tabler/icons-react": "^3.41.1", "@tanstack/react-query": "^5.62.0", "@tanstack/react-table": "^8.21.3", + "@types/d3-selection": "^3.0.11", + "@types/d3-zoom": "^3.0.8", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "codemirror": "^6.0.1", "d3-force": "^3.0.0", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", "framer-motion": "^11.15.0", "lucide-react": "^0.469.0", "markdown-it": "^14.1.0", @@ -5048,6 +5052,12 @@ "@types/d3-time": "*" } }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "license": "MIT" + }, "node_modules/@types/d3-shape": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz", @@ -5069,6 +5079,16 @@ "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", "license": "MIT" }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, "node_modules/@types/deep-eql": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", diff --git a/ui/package.json b/ui/package.json index 2dcb5da..b719739 100644 --- a/ui/package.json +++ b/ui/package.json @@ -34,11 +34,15 @@ "@tabler/icons-react": "^3.41.1", "@tanstack/react-query": "^5.62.0", "@tanstack/react-table": "^8.21.3", + "@types/d3-selection": "^3.0.11", + "@types/d3-zoom": "^3.0.8", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "codemirror": "^6.0.1", "d3-force": "^3.0.0", + "d3-selection": "^3.0.0", + "d3-zoom": "^3.0.0", "framer-motion": "^11.15.0", "lucide-react": "^0.469.0", "markdown-it": "^14.1.0", diff --git a/ui/src/components/graph/GraphCanvas.tsx b/ui/src/components/graph/GraphCanvas.tsx index eb4404b..a8ff904 100644 --- a/ui/src/components/graph/GraphCanvas.tsx +++ b/ui/src/components/graph/GraphCanvas.tsx @@ -1,92 +1,251 @@ -import { useEffect, useMemo, useRef } from "react"; -import { Graph as Cosmos, type GraphConfigInterface } from "@cosmograph/cosmos"; -import type { GraphData, GraphNode } from "@/hooks/api/useGraph"; +import { useEffect, useMemo, useRef, useState } from "react"; +import { zoom as d3zoom, type ZoomTransform, zoomIdentity } from "d3-zoom"; +import { select } from "d3-selection"; +import type { GraphData } from "@/hooks/api/useGraph"; +import { layoutGraph } from "@/lib/graph-layout"; -interface CosmosNode { - id: string; - label: string; - kind: GraphNode["kind"]; - color?: string; -} +const COLOR: Record = { + entity: "var(--chart-1)", + note: "var(--chart-3)", + community: "var(--chart-2)", +}; -interface CosmosLink { - source: string; - target: string; -} +export function GraphCanvas({ data }: { data: GraphData }) { + const wrapRef = useRef(null); + const svgRef = useRef(null); + const [size, setSize] = useState({ w: 1200, h: 700 }); + const [transform, setTransform] = useState(zoomIdentity); + const [hover, setHover] = useState(null); + const [pinned, setPinned] = useState(null); -function readTokens() { - const style = getComputedStyle(document.documentElement); - const read = (name: string) => style.getPropertyValue(name).trim(); - return { - background: read("--background") || "#0f1115", - primary: read("--primary") || "#3ecf8e", - border: read("--border") || "#262a33", - chart1: read("--chart-1") || "#3ecf8e", - chart2: read("--chart-2") || "#6ba6ff", - chart3: read("--chart-3") || "#b08fe8", - }; -} + useEffect(() => { + const wrap = wrapRef.current; + if (!wrap) return; + const measure = () => { + const r = wrap.getBoundingClientRect(); + setSize({ + w: Math.max(320, Math.floor(r.width)), + h: Math.max(240, Math.floor(r.height)), + }); + }; + measure(); + const ro = new ResizeObserver(measure); + ro.observe(wrap); + return () => ro.disconnect(); + }, []); -export function GraphCanvas({ data }: { data: GraphData }) { - const canvasRef = useRef(null); - const graphRef = useRef | null>(null); + const laid = useMemo(() => layoutGraph(data, size.w, size.h, 240), [data, size]); - const { nodes, links } = useMemo(() => { - const tokens = typeof document === "undefined" ? null : readTokens(); - const kindColor: Record = tokens - ? { entity: tokens.chart1, note: tokens.chart3, community: tokens.chart2 } - : { entity: "#3ecf8e", note: "#b08fe8", community: "#6ba6ff" }; - const trimmedNodes: CosmosNode[] = data.nodes.map((n) => ({ - id: n.id, - label: n.label, - kind: n.kind, - color: kindColor[n.kind] ?? kindColor.entity, - })); - const ids = new Set(trimmedNodes.map((n) => n.id)); - const trimmedLinks: CosmosLink[] = data.edges - .filter((e) => ids.has(e.source) && ids.has(e.target)) - .map((e) => ({ source: e.source, target: e.target })); - return { nodes: trimmedNodes, links: trimmedLinks }; - }, [data]); + // viewBox: tight bounds of content, expanded to match the container aspect + // ratio so the graph fills the visible area (no letterboxing). + const { idx, viewBox } = useMemo(() => { + const index = Object.fromEntries(laid.nodes.map((n) => [n.id, n])); + if (laid.nodes.length === 0) { + return { idx: index, viewBox: [0, 0, size.w, size.h] as const }; + } + let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity; + for (const n of laid.nodes) { + if (n.x < minX) minX = n.x; + if (n.y < minY) minY = n.y; + if (n.x > maxX) maxX = n.x; + if (n.y > maxY) maxY = n.y; + } + const pad = 40; + let x = minX - pad; + let y = minY - pad; + let w = (maxX - minX) + pad * 2; + let h = (maxY - minY) + pad * 2; + // Expand viewBox to match the container's aspect ratio so the graph fills + // the viewport instead of being letterboxed by preserveAspectRatio="meet". + const containerAspect = size.w / size.h; + const contentAspect = w / h; + if (containerAspect > contentAspect) { + const newW = h * containerAspect; + x -= (newW - w) / 2; + w = newW; + } else { + const newH = w / containerAspect; + y -= (newH - h) / 2; + h = newH; + } + return { idx: index, viewBox: [x, y, w, h] as const }; + }, [laid, size]); - useEffect(() => { - const canvas = canvasRef.current; - if (!canvas) return; - const tokens = readTokens(); + // Adjacency for hover-highlight. + const adjacency = useMemo(() => { + const m = new Map>(); + for (const e of laid.edges) { + if (!m.has(e.source)) m.set(e.source, new Set()); + if (!m.has(e.target)) m.set(e.target, new Set()); + m.get(e.source)!.add(e.target); + m.get(e.target)!.add(e.source); + } + return m; + }, [laid.edges]); - // cosmograph uses regl (WebGL2). WebGPU support is slated for cosmos v2; - // until then WebGL2 is the universal path — every WebGPU-capable browser - // also exposes WebGL2. - const config: GraphConfigInterface = { - backgroundColor: tokens.background, - nodeColor: (n) => n.color ?? tokens.chart1, - nodeSize: 4, - nodeGreyoutOpacity: 0.15, - linkColor: tokens.border, - linkWidth: 0.6, - linkGreyoutOpacity: 0.05, - linkArrows: false, - simulation: { - decay: 1500, - gravity: 0.2, - repulsion: 0.4, - linkDistance: 8, - linkSpring: 1, - }, - showFPSMonitor: false, - pixelRatio: window.devicePixelRatio || 1, + // Node radius by degree centrality — hubs get bigger, orphans stay small. + // sqrt scaling keeps extremes sane (a 100-edge hub doesn't eat the screen). + const radiusOf = useMemo(() => { + const base = 3.5; + const scale = 1.6; + return (id: string): number => { + const deg = adjacency.get(id)?.size ?? 0; + return base + Math.sqrt(deg) * scale; }; + }, [adjacency]); - const graph = new Cosmos(canvas, config); - graphRef.current = graph; - graph.setData(nodes, links); - graph.fitView(); - + // Wire d3-zoom (pan + wheel zoom + pinch on touch). + useEffect(() => { + const svg = svgRef.current; + if (!svg) return; + const behavior = d3zoom() + .scaleExtent([0.1, 40]) + .filter((event: Event) => { + // Allow panning and pinching even with a node under the pointer — + // `setPointerCapture` isn't needed since d3-zoom handles it. Only + // block the dblclick-zoom which is unwanted on touch. + return event.type !== "dblclick"; + }) + .on("zoom", (event) => { + setTransform(event.transform); + }); + select(svg).call(behavior); return () => { - graph.destroy(); - graphRef.current = null; + select(svg).on(".zoom", null); }; - }, [nodes, links]); + }, []); + + const active = pinned ?? hover; + const neighbors = active ? adjacency.get(active) : null; + // If the active node has no edges, don't dim the rest — otherwise the whole + // graph goes opaque for no useful reason. + const dimAll = !!active && !!neighbors && neighbors.size > 0; + + function isNodeDimmed(id: string): boolean { + if (!dimAll) return false; + if (id === active) return false; + return !(neighbors?.has(id)); + } + function isEdgeDimmed(source: string, target: string): boolean { + if (!dimAll) return false; + return source !== active && target !== active; + } + + const resetZoom = () => { + const svg = svgRef.current; + if (!svg) return; + const behavior = d3zoom().scaleExtent([0.1, 40]); + select(svg).call(behavior.transform, zoomIdentity); + setTransform(zoomIdentity); + }; + + return ( +
+
+ {data.nodes.length} nodes · {data.edges.length} edges + {active && · {idx[active]?.label ?? active}} +
+ + { + if (pinned) setPinned(null); + }} + > + + {laid.edges.map((e, i) => { + const a = idx[e.source]; + const b = idx[e.target]; + if (!a || !b) return null; + const dimmed = isEdgeDimmed(e.source, e.target); + return ( + + ); + })} + {laid.nodes.map((n) => { + const dimmed = isNodeDimmed(n.id); + const isActive = active === n.id; + const r = radiusOf(n.id) + (isActive ? 2 : 0); + return ( + setHover(n.id)} + onPointerLeave={() => setHover(null)} + onClick={(e) => { + e.stopPropagation(); + setPinned(pinned === n.id ? null : n.id); + }} + > + + + + {truncate(disambiguateLabel(n.id, n.label), 36)} + + + ); + })} + + +
+ ); +} + +function truncate(s: string, max: number): string { + return s.length > max ? s.slice(0, max - 1) + "…" : s; +} - return ; +// Disambiguate labels. Notes commonly share leaf names across projects +// (every project has an `overview`). Show `/` so the user +// can tell them apart at a glance. +function disambiguateLabel(id: string, label: string): string { + const parts = id.split("/").filter(Boolean); + if (parts.length <= 1) return label || id; + const leaf = parts[parts.length - 1]; + const scope = parts.length >= 3 ? parts[parts.length - 2] : parts[0]; + // Prefer the backend-provided label only if it's the leaf; otherwise use it as-is. + const shownLeaf = label && label !== leaf ? label : leaf; + return `${scope}/${shownLeaf}`; } diff --git a/ui/src/components/graph/SVGGraphFallback.tsx b/ui/src/components/graph/SVGGraphFallback.tsx new file mode 100644 index 0000000..4254806 --- /dev/null +++ b/ui/src/components/graph/SVGGraphFallback.tsx @@ -0,0 +1,76 @@ +import { useEffect, useMemo, useRef, useState } from "react"; +import type { GraphData } from "@/hooks/api/useGraph"; +import { layoutGraph } from "@/lib/graph-layout"; + +interface Props { data: GraphData; reason: "no-webgl2" | "init-failed" } + +const COLOR: Record = { + entity: "var(--chart-1)", + note: "var(--chart-3)", + community: "var(--chart-2)", +}; + +export function SVGGraphFallback({ data, reason }: Props) { + const wrapRef = useRef(null); + const [size, setSize] = useState({ w: 1200, h: 700 }); + + useEffect(() => { + const wrap = wrapRef.current; + if (!wrap) return; + const measure = () => { + const r = wrap.getBoundingClientRect(); + setSize({ w: Math.max(320, Math.floor(r.width)), h: Math.max(240, Math.floor(r.height)) }); + }; + measure(); + const ro = new ResizeObserver(measure); + ro.observe(wrap); + return () => ro.disconnect(); + }, []); + + const laid = useMemo(() => layoutGraph(data, size.w, size.h, 180), [data, size]); + const idx = useMemo( + () => Object.fromEntries(laid.nodes.map((n) => [n.id, n])), + [laid.nodes], + ); + + const reasonText = + reason === "no-webgl2" + ? "WebGL2 unavailable — rendering with SVG." + : "WebGL2 renderer failed — rendering with SVG."; + + return ( +
+
{reasonText}
+ + {laid.edges.map((e, i) => { + const a = idx[e.source]; + const b = idx[e.target]; + if (!a || !b) return null; + return ( + + ); + })} + {laid.nodes.map((n) => ( + + + {n.label || n.id} + + ))} + +
+ ); +} diff --git a/ui/src/components/site-header.tsx b/ui/src/components/site-header.tsx index 5378de1..4ce218c 100644 --- a/ui/src/components/site-header.tsx +++ b/ui/src/components/site-header.tsx @@ -1,8 +1,10 @@ import { Button } from "@/components/ui/button"; import { SidebarTrigger } from "@/components/ui/sidebar"; -import { Search } from "lucide-react"; +import { RefreshCw, Search } from "lucide-react"; import { useLocation } from "react-router-dom"; +import { useState } from "react"; import { ThemeToggle } from "@/components/layout/ThemeToggle"; +import { hardReload } from "@/lib/hard-reload"; interface Props { onCommandOpen: () => void } @@ -16,6 +18,7 @@ const TITLES: Record = { export function SiteHeader({ onCommandOpen }: Props) { const { pathname } = useLocation(); + const [reloading, setReloading] = useState(false); const title = TITLES[pathname] ?? (pathname.startsWith("/notes") ? "Notes" @@ -41,6 +44,16 @@ export function SiteHeader({ onCommandOpen }: Props) { K + diff --git a/ui/src/lib/graph-layout.ts b/ui/src/lib/graph-layout.ts index 70932ff..2701494 100644 --- a/ui/src/lib/graph-layout.ts +++ b/ui/src/lib/graph-layout.ts @@ -8,16 +8,27 @@ export function layoutGraph( data: GraphData, width: number, height: number, - ticks = 200, + ticks = 300, ): { nodes: LaidOutNode[]; edges: LaidOutEdge[] } { const nodes: LaidOutNode[] = data.nodes.map((n) => ({ id: n.id, label: n.label, kind: n.kind, x: 0, y: 0 })); const links = data.edges.map((e) => ({ source: e.source, target: e.target })); + + // Detect orphans (no incident edges). Anchor them harder to the centre — + // otherwise forceManyBody pushes them infinitely away with nothing to pull + // them back. + const degree = new Map(); + for (const l of links) { + degree.set(l.source, (degree.get(l.source) ?? 0) + 1); + degree.set(l.target, (degree.get(l.target) ?? 0) + 1); + } + const orphanStrength = (n: any) => ((degree.get(n.id) ?? 0) === 0 ? 0.25 : 0.06); + const sim: Simulation = forceSimulation(nodes) - .force("charge", forceManyBody().strength(-60)) + .force("charge", forceManyBody().strength(-45).distanceMax(260)) .force("center", forceCenter(width / 2, height / 2)) - .force("link", forceLink(links).id((d: any) => d.id).distance(40).strength(0.6)) - .force("x", forceX(width / 2).strength(0.02)) - .force("y", forceY(height / 2).strength(0.02)) + .force("link", forceLink(links).id((d: any) => d.id).distance(42).strength(0.7)) + .force("x", forceX(width / 2).strength(orphanStrength as any)) + .force("y", forceY(height / 2).strength(orphanStrength as any)) .stop(); for (let i = 0; i < ticks; i++) sim.tick(); return { diff --git a/ui/src/lib/hard-reload.ts b/ui/src/lib/hard-reload.ts new file mode 100644 index 0000000..154df3e --- /dev/null +++ b/ui/src/lib/hard-reload.ts @@ -0,0 +1,23 @@ +/** + * Force a full reload on any platform — especially useful on mobile where + * there's no ⌘⇧R. Purges the service worker registration, all cache + * storage (HTTP + CacheStorage), and reloads from network. + */ +export async function hardReload() { + try { + if ("serviceWorker" in navigator) { + const regs = await navigator.serviceWorker.getRegistrations(); + await Promise.all(regs.map((r) => r.unregister())); + } + } catch { /* swallow — proceed to cache purge */ } + try { + if (typeof caches !== "undefined") { + const keys = await caches.keys(); + await Promise.all(keys.map((k) => caches.delete(k))); + } + } catch { /* swallow */ } + // Cache-busting query string forces a fresh network fetch on reload. + const url = new URL(window.location.href); + url.searchParams.set("_r", String(Date.now())); + window.location.replace(url.toString()); +} diff --git a/ui/src/routes/Graph.tsx b/ui/src/routes/Graph.tsx index a2a7741..3d798a3 100644 --- a/ui/src/routes/Graph.tsx +++ b/ui/src/routes/Graph.tsx @@ -6,12 +6,12 @@ export default function Graph() { const project = useProjectStore((s) => s.slug); const { data, isLoading } = useNotesGraph(project); if (isLoading) return
Loading graph…
; - if (!data) return
No graph data.
; + if (!data || data.nodes.length === 0) { + return
No graph data for this project.
; + } return (
-
- -
+
); } diff --git a/ui/src/stores/project.ts b/ui/src/stores/project.ts index c90a903..3f49025 100644 --- a/ui/src/stores/project.ts +++ b/ui/src/stores/project.ts @@ -1,11 +1,21 @@ import { create } from "zustand"; +import { persist, createJSONStorage } from "zustand/middleware"; interface ProjectState { slug: string; setSlug: (s: string) => void; } -export const useProjectStore = create((set) => ({ - slug: "_default", - setSlug: (slug) => set({ slug }), -})); +export const useProjectStore = create()( + persist( + (set) => ({ + slug: "_default", + setSlug: (slug) => set({ slug }), + }), + { + name: "docsiq.project", + storage: createJSONStorage(() => localStorage), + version: 1, + }, + ), +); diff --git a/ui/src/styles/globals.css b/ui/src/styles/globals.css index 87bd5f4..bf633c1 100644 --- a/ui/src/styles/globals.css +++ b/ui/src/styles/globals.css @@ -371,6 +371,7 @@ html, body { .site-header-actions { @apply flex items-center gap-2; } .site-header-search { @apply h-8 gap-2 text-muted-foreground; } .site-header-kbd { @apply pointer-events-none hidden h-5 items-center gap-1 rounded border border-border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 select-none sm:flex; } + .site-header-reload { @apply inline-flex items-center justify-center size-8 rounded-md text-muted-foreground hover:bg-muted hover:text-foreground transition-colors disabled:opacity-50 disabled:cursor-not-allowed; } /* ── Activity feed ───────────────────────────────────────── */ .activity-list { @apply divide-y divide-border; } @@ -415,10 +416,15 @@ html, body { .notes-search-hit-snippet { @apply text-xs text-muted-foreground mt-1 line-clamp-2; } /* ── Graph page ──────────────────────────────────────────── */ - .graph-page { @apply flex flex-col flex-1 min-h-0; } - .graph-page-head { @apply flex items-baseline justify-between px-6 py-4 border-b border-border; } - .graph-canvas-wrap { @apply flex-1 min-h-0 relative; } - .graph-canvas { @apply absolute inset-0 w-full h-full block; } + .graph-page { @apply flex flex-col flex-1 min-h-0 h-[calc(100svh-var(--header-height))]; } + .graph-page-head { @apply flex items-baseline justify-between px-6 py-4 border-b border-border; } + .graph-canvas-wrap { @apply flex-1 min-h-0 relative w-full; } + .graph-canvas { @apply absolute inset-0 w-full h-full block; } + .graph-fallback-banner { @apply absolute top-2 left-2 z-10 px-2 py-1 text-[10px] font-mono rounded-md bg-muted text-muted-foreground border border-border; } + .graph-meta { @apply absolute top-2 left-2 z-10 px-2 py-1 text-[10px] font-mono rounded-md bg-muted text-muted-foreground border border-border max-w-[60%] truncate; } + .graph-meta-sep { @apply text-foreground; } + .graph-reset { @apply absolute top-2 right-2 z-10 px-2 py-1 text-[10px] font-mono rounded-md bg-muted text-muted-foreground border border-border hover:bg-accent hover:text-foreground transition-colors; } + .graph-node { transition: opacity 120ms cubic-bezier(0.3, 0, 0, 1); } /* ── Wikilink inline ─────────────────────────────────────── */ .wikilink { @apply font-mono text-sm rounded px-1 py-0.5 bg-primary/10 text-primary hover:bg-primary/20 transition-colors; }