@latysh-development/monolith 0.1.0-alpha.2 → 0.1.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +24 -1
  2. package/dist/brief/cli.d.ts.map +1 -1
  3. package/dist/brief/cli.js +8 -2
  4. package/dist/brief/collect.d.ts.map +1 -1
  5. package/dist/brief/collect.js +17 -5
  6. package/dist/brief/freshness.d.ts +50 -7
  7. package/dist/brief/freshness.d.ts.map +1 -1
  8. package/dist/brief/freshness.js +89 -17
  9. package/dist/brief/git-signals.d.ts +32 -5
  10. package/dist/brief/git-signals.d.ts.map +1 -1
  11. package/dist/brief/git-signals.js +169 -39
  12. package/dist/brief/knowledge.d.ts +62 -0
  13. package/dist/brief/knowledge.d.ts.map +1 -0
  14. package/dist/brief/knowledge.js +123 -0
  15. package/dist/brief/markdown-context.d.ts +22 -0
  16. package/dist/brief/markdown-context.d.ts.map +1 -0
  17. package/dist/brief/markdown-context.js +66 -0
  18. package/dist/brief/reconcile.d.ts +7 -1
  19. package/dist/brief/reconcile.d.ts.map +1 -1
  20. package/dist/brief/reconcile.js +42 -2
  21. package/dist/brief/story.d.ts +2 -10
  22. package/dist/brief/story.d.ts.map +1 -1
  23. package/dist/brief/story.js +21 -7
  24. package/dist/cli/index.js +1 -1
  25. package/dist/cli/style.d.ts +26 -0
  26. package/dist/cli/style.d.ts.map +1 -0
  27. package/dist/cli/style.js +76 -0
  28. package/dist/cli/ui.d.ts.map +1 -1
  29. package/dist/cli/ui.js +33 -6
  30. package/dist/coordinatorium/cli.d.ts.map +1 -1
  31. package/dist/coordinatorium/cli.js +13 -0
  32. package/dist/finalize/cli.d.ts.map +1 -1
  33. package/dist/finalize/cli.js +30 -13
  34. package/dist/finalize/consistency.d.ts +51 -0
  35. package/dist/finalize/consistency.d.ts.map +1 -0
  36. package/dist/finalize/consistency.js +57 -0
  37. package/dist/finalize/core.d.ts +28 -0
  38. package/dist/finalize/core.d.ts.map +1 -1
  39. package/dist/finalize/core.js +186 -41
  40. package/dist/ideas/cli.d.ts +1 -0
  41. package/dist/ideas/cli.d.ts.map +1 -1
  42. package/dist/ideas/cli.js +14 -3
  43. package/dist/ideas/format.d.ts +31 -1
  44. package/dist/ideas/format.d.ts.map +1 -1
  45. package/dist/ideas/format.js +109 -1
  46. package/dist/ideas/store.d.ts +2 -0
  47. package/dist/ideas/store.d.ts.map +1 -1
  48. package/dist/ideas/store.js +4 -1
  49. package/dist/ideas/types.d.ts +10 -0
  50. package/dist/ideas/types.d.ts.map +1 -1
  51. package/dist/ideas/types.js +3 -0
  52. package/dist/readmodel/dashboard.d.ts.map +1 -1
  53. package/dist/readmodel/dashboard.js +19 -1
  54. package/dist/readmodel/index.d.ts +2 -1
  55. package/dist/readmodel/index.d.ts.map +1 -1
  56. package/dist/readmodel/index.js +1 -0
  57. package/dist/readmodel/roadmap.d.ts +34 -0
  58. package/dist/readmodel/roadmap.d.ts.map +1 -0
  59. package/dist/readmodel/roadmap.js +254 -0
  60. package/dist/readmodel/types.d.ts +88 -0
  61. package/dist/readmodel/types.d.ts.map +1 -1
  62. package/dist/root/safe-write.d.ts +15 -4
  63. package/dist/root/safe-write.d.ts.map +1 -1
  64. package/dist/root/safe-write.js +264 -50
  65. package/dist/ui/apple-touch-icon.png +0 -0
  66. package/dist/ui/assets/index-BJKxUDPD.css +1 -0
  67. package/dist/ui/assets/index-ioC9DPHQ.js +28 -0
  68. package/dist/ui/assets/monolith-mark-Ct0ammrU.webp +0 -0
  69. package/dist/ui/favicon-16x16.png +0 -0
  70. package/dist/ui/favicon-32x32.png +0 -0
  71. package/dist/ui/favicon.ico +0 -0
  72. package/dist/ui/index.html +6 -2
  73. package/dist/update/cli.d.ts +1 -1
  74. package/dist/update/cli.d.ts.map +1 -1
  75. package/dist/update/cli.js +10 -3
  76. package/dist/update/index.d.ts +9 -0
  77. package/dist/update/index.d.ts.map +1 -1
  78. package/dist/update/index.js +50 -1
  79. package/dist/update/legacy-skills.d.ts +15 -0
  80. package/dist/update/legacy-skills.d.ts.map +1 -0
  81. package/dist/update/legacy-skills.js +20 -0
  82. package/dist/validate/index.d.ts.map +1 -1
  83. package/dist/validate/index.js +4 -3
  84. package/dist/version.d.ts +1 -1
  85. package/dist/version.js +1 -1
  86. package/package.json +5 -2
  87. package/templates/default-instance/monolith/context/MONOLITH-CHAT-CONTEXT.md +183 -0
  88. package/templates/default-instance/monolith/skills/finalize-story/SKILL.md +19 -3
  89. package/dist/ui/assets/index-C4NhMaq7.js +0 -28
  90. package/dist/ui/assets/index-DMZ7ZvZY.css +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@latysh-development/monolith",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "0.1.0-alpha.4",
4
4
  "description": "MONOLITH: Cognitive Infrastructure for AI. An open-source toolkit for observable project state, structured knowledge, and explicit execution governance.",
5
5
  "author": "Dmytro Latysh",
6
6
  "license": "MIT",
@@ -12,6 +12,7 @@
12
12
  "bugs": {
13
13
  "url": "https://github.com/Demion-L/the_monolith/issues"
14
14
  },
15
+ "packageManager": "pnpm@10.34.9",
15
16
  "type": "module",
16
17
  "main": "dist/index.js",
17
18
  "types": "dist/index.d.ts",
@@ -40,7 +41,9 @@
40
41
  "dev:ui": "vite --config ui/vite.config.ts",
41
42
  "typecheck:ui": "vue-tsc -p ui/tsconfig.json --noEmit",
42
43
  "build:ui": "vite build --config ui/vite.config.ts",
43
- "test:ui": "vitest run --config ui/vitest.config.ts"
44
+ "test:ui": "vitest run --config ui/vitest.config.ts",
45
+ "check:build-integrity": "node scripts/check-build-integrity.mjs",
46
+ "check:package": "node scripts/validate-package.mjs"
44
47
  },
45
48
  "keywords": [
46
49
  "monolith",
@@ -0,0 +1,183 @@
1
+ # MONOLITH — Context for Your AI Working Chat
2
+
3
+ > Paste this document into the AI assistant you use to plan, review and coordinate
4
+ > development (a ChatGPT Project, a Claude Project or conversation, or a similar
5
+ > workspace). It describes the MONOLITH infrastructure installed in this project.
6
+ > It does not describe the project itself: for that, ask the developer for the
7
+ > output of `monolith brief`.
8
+
9
+ ---
10
+
11
+ ## 1. What Is MONOLITH?
12
+
13
+ MONOLITH is **Cognitive Infrastructure for AI**: a local, file-based toolkit that
14
+ gives AI-assisted development an observable project state, structured knowledge
15
+ and explicit execution rules. Everything lives in the repository as Markdown and
16
+ JSON (by default under `{{MONOLITH_ROOT}}/`) and is read and written by the
17
+ `monolith` CLI. It uses no LLM and makes no external network calls.
18
+
19
+ Division of responsibility:
20
+
21
+ | Party | Responsibility |
22
+ |---|---|
23
+ | **MONOLITH** | Stores project memory, protocols and skills; reports project state deterministically; applies controlled changes (finalization, idea capture) only after checks. |
24
+ | **AI agent / assistant** | Reads the context, proposes and performs work, follows the protocols, reports what it did and what it verified. |
25
+ | **Developer (owner)** | Decides scope, approves changes, runs or reviews verification, and is the only authority on what is "done". |
26
+
27
+ ---
28
+
29
+ ## 2. Core Capabilities
30
+
31
+ All commands run in the project root (the directory where `monolith init` was run;
32
+ it contains `monolith.config.json`). `monolith --help` is the authoritative usage text.
33
+
34
+ | Command | What it does |
35
+ |---|---|
36
+ | `monolith init` | Scaffolds a MONOLITH instance in the current directory. Refuses to run if any file it would write already exists; never overwrites. |
37
+ | `monolith validate` | Static, read-only integrity check of the instance (config, required directories, unreplaced template placeholders). Exit `0` = PASS, `1` = FAIL. Never executes project code. |
38
+ | `monolith brief` | Deterministic, bounded, read-only summary of project state: current story, active missions and checkpoints, mandatory protocols, accepted ADRs, parked ideas. Prints `Completeness` and `Freshness`. Options: `--max-chars N`, `--strict`. |
39
+ | `monolith brief --reconcile` | Read-only report of the evidence behind the `Freshness` verdict: contradictions between state documents, work items referenced in git but not recorded, and what a person should check. Modifies nothing. |
40
+ | `monolith finalize plan --proposal <file>` | Read-only. Checks a JSON finalization proposal against preconditions (`PASS` / `FAIL` / `NOT_VERIFIED`), lists every write target and prints a digest of the exact plan. |
41
+ | `monolith finalize apply --proposal <file> --approve <digest>` | Applies a finalization only if the plan still matches the digest the owner approved. Writes story records in a fixed order; nothing is written if the plan changed. |
42
+ | `monolith mission start\|list\|show\|finish\|checkpoint\|checkpoints` | Records missions and checkpoints in `{{MONOLITH_ROOT}}/state.json`. Experimental; a recommended discipline, not an enforced gate. |
43
+ | `monolith idea add\|list\|show` | Captures a deferred idea without changing the current task, and recalls it later. One Markdown file per idea; ids are not reused (reservations are kept in `ideas/.ids/`). |
44
+ | `monolith update` | For instances created by an older release: previews (and with `--apply` installs) the current agent entry point, the Idea Capture integration and the current `finalize-story` skill. Never overwrites user edits; conflicts are reported, not resolved. Does not add other new template files. |
45
+ | `monolith ui` | Mission Control: a read-only web dashboard on `127.0.0.1` (default port 4173). Does not open a browser. |
46
+
47
+ `monolith status` and `monolith dry-run` exist as names but are **not implemented**.
48
+
49
+ ---
50
+
51
+ ## 3. Project Memory
52
+
53
+ Key files (paths relative to the project root):
54
+
55
+ | File | Role |
56
+ |---|---|
57
+ | `{{MONOLITH_ROOT}}/memory/working/active.md` | The current phase and story. "No active story recorded" means nothing is registered, **not** that the project is complete. |
58
+ | `{{MONOLITH_ROOT}}/memory/working/story-index.md` | Index of finalized stories. |
59
+ | `{{MONOLITH_ROOT}}/context/maps/project-map.md` | Where each kind of knowledge lives in this instance. |
60
+ | `{{MONOLITH_ROOT}}/context/maps/roadmap-index.md` | Phases, stories and their status. |
61
+ | `{{MONOLITH_ROOT}}/context/maps/routing-map.md` | Classifies a request into a task type, and (Table 8) maps each kind of long-term knowledge to its one canonical destination. |
62
+ | `{{MONOLITH_ROOT}}/memory/long-term/` | Decisions, tech debt, architecture principles, execution history. |
63
+ | `{{MONOLITH_ROOT}}/memory/long-term/ideas/` | The Idea Store. Managed only through `monolith idea`; assistants never edit these files. |
64
+ | `{{MONOLITH_ROOT}}/skills/` | Step-by-step procedures (finalize story, current status, idea capture, …) indexed in `skills/INDEX.md`. |
65
+ | `{{MONOLITH_ROOT}}/protocols/` | Rules for boot, cognition modes, governance and execution. |
66
+ | `AGENTS.md` and the AI-tool instruction file (e.g. `CLAUDE.md`) | Instructions for coding agents working inside the repository. |
67
+
68
+ Rule of thumb: knowledge has **one canonical place**. Do not suggest creating new
69
+ directories, registries or templates for something that already has a destination.
70
+
71
+ ---
72
+
73
+ ## 4. Recommended Development Workflow
74
+
75
+ 1. **Restore context.** The developer runs `monolith brief` (and, if `Freshness`
76
+ is not `FRESH`, `monolith brief --reconcile`) and shares the output. Treat it
77
+ as the starting point, not as a complete picture.
78
+ 2. **Plan the task.** Agree on the goal, scope, out-of-scope items and acceptance
79
+ criteria before implementation starts.
80
+ 3. **Implement.** The coding agent works in the repository, following `AGENTS.md`,
81
+ the routing map and the relevant skill. Prefer an isolated branch.
82
+ 4. **Test.** Run the project's own typecheck, build and tests. MONOLITH does not
83
+ run them for you.
84
+ 5. **Review.** Review the diff and the test output, not the agent's summary of them.
85
+ 6. **Update project state.** Keep `active.md`, `roadmap-index.md` and related
86
+ documents in line with what actually happened; use `monolith brief` to spot drift.
87
+ 7. **Controlled finalization.** Close a story only with
88
+ `monolith finalize plan` → owner reviews the plan and digest →
89
+ `monolith finalize apply --proposal <file> --approve <digest>`. Never finalize by editing the
90
+ Markdown by hand.
91
+
92
+ Ideas that come up along the way are saved with `monolith idea add` and the
93
+ current task continues unchanged.
94
+
95
+ ---
96
+
97
+ ## 5. Working With AI Assistants
98
+
99
+ **In ChatGPT:** put this document into the Project instructions (or the first
100
+ message of a conversation). Share `monolith brief` output, diffs and test
101
+ results as the work progresses. The chat cannot see the repository; it only
102
+ knows what you paste.
103
+
104
+ **In Claude:** add this document to a Claude Project's knowledge or paste it at
105
+ the start of a conversation. The same rule applies: it sees only what you share.
106
+
107
+ **Working chat vs. coding agent:**
108
+
109
+ | | Working chat (this context) | Coding agent (Claude Code, Codex, Cursor, …) |
110
+ |---|---|---|
111
+ | Sees | Only what you paste | The repository itself |
112
+ | Instructions | This document | `AGENTS.md`, `CLAUDE.md`, `{{MONOLITH_ROOT}}/AGENT.md`, skills, protocols |
113
+ | Role | Architect, consultant, reviewer: plans, questions, reviews, drafts task specifications | Executes: edits files, runs commands and tests |
114
+ | Can change the project | No | Yes, within the scope it is given |
115
+
116
+ A good pattern: the working chat writes a precise task for the coding agent; the
117
+ agent executes it; the developer brings the agent's report and real command output
118
+ back to the chat for review.
119
+
120
+ ---
121
+
122
+ ## 6. Important Guarantees and Limitations
123
+
124
+ **What the runtime guarantees**
125
+
126
+ - `brief`, `brief --reconcile`, `validate`, `finalize plan`, `idea list|show`,
127
+ `ui` and `update` (without `--apply`) are read-only.
128
+ - Diagnostics are deterministic: the same files and git history produce the same
129
+ output. No LLM and no external network calls (`monolith ui` listens only on
130
+ `127.0.0.1`).
131
+ - User data is protected: `init` never overwrites an existing file;
132
+ `idea add` never overwrites an idea; `update --apply` never changes text you
133
+ edited: it creates missing MONOLITH-owned files, refreshes unedited
134
+ MONOLITH-managed sections and replaces only an unmodified older
135
+ `finalize-story` skill; `finalize apply` writes only
136
+ the exact plan the owner approved by digest. It is not atomic: an interrupted
137
+ run (exit `3`, `INCOMPLETE`) leaves the story not finalized and is completed by
138
+ running `plan` and `apply` again; there is no rollback. Symlinked paths are refused.
139
+
140
+ **What remains a recommendation**
141
+
142
+ - Protocols, skills, cognitive modes and missions are instructions for the AI and
143
+ the developer. Nothing technically stops an assistant from ignoring them or from
144
+ editing Markdown directly.
145
+ - Integrity and governance results used by `finalize` are reports written by the
146
+ assistant. MONOLITH does not run the build or tests; a digest proves the plan did
147
+ not change, not who approved it.
148
+
149
+ **`validate PASS` does not mean the application is correct.** It checks only the
150
+ structure of the MONOLITH instance (configuration, directories, placeholders). It
151
+ does not compile, test, run or analyze your code, and it does not check skill
152
+ content or project state.
153
+
154
+ **`Freshness: UNKNOWN` is not `STALE`.**
155
+
156
+ - `STALE` requires a concrete, named discrepancy: state documents contradict each
157
+ other, or git history references work items no state document mentions.
158
+ - `FRESH` requires positive evidence that nothing changed after the last state update.
159
+ - `UNKNOWN` means there is not enough evidence either way (no git, state never
160
+ committed, commits that name no work item). It is "unverified", not "outdated".
161
+
162
+ `Completeness` is separate: it says whether the brief itself lost information
163
+ while being rendered.
164
+
165
+ ---
166
+
167
+ ## 7. Working Agreement
168
+
169
+ When assisting with a project that uses MONOLITH:
170
+
171
+ 1. **Do not invent project state.** If you have not been shown `brief` output,
172
+ a file or a command result, say that you do not know.
173
+ 2. **An AI's claim is not evidence.** "Tests pass" or "done" from any assistant
174
+ (including you) counts only with the actual command output or diff.
175
+ 3. **No dangerous Git operations without explicit permission:** no force push,
176
+ reset, rebase of shared branches, branch or worktree deletion, tag, publish or
177
+ merge into the main branch unless the developer asks for it.
178
+ 4. **Do not declare work complete without verification:** typecheck, build, tests
179
+ and review, then controlled finalization.
180
+ 5. **Do not expand scope on your own.** Propose additional work separately (or as
181
+ an idea via `monolith idea add`); do not fold it into the current task.
182
+ 6. **Respect the project's existing instructions.** `AGENTS.md`, the AI-tool
183
+ instruction file, protocols and skills take precedence over general advice.
@@ -30,8 +30,24 @@ Triggered by: "finalize story", "complete story", "mark story done"
30
30
 
31
31
  ## Deterministic Execution (`monolith finalize`)
32
32
 
33
- Where the CLI provides `monolith finalize`, use it instead of editing the memory
34
- files by hand (Steps 2-6 below describe what it writes; Step 1 and 5.5 stay yours).
33
+ Finalization is deterministic and goes through the CLI, in this order:
34
+
35
+ ```text
36
+ Proposal -> monolith finalize plan -> READY + digest -> Owner Approval
37
+ -> monolith finalize apply -> Verification
38
+ ```
39
+
40
+ **Do not finalize by hand.** Never edit `active.md`, `story-index.md`,
41
+ `execution-history.md`, a story capsule or any other finalization target yourself
42
+ in order to "finalize" a story, and never skip `plan`, the owner's approval or
43
+ `apply`. If `monolith finalize` is unavailable, fails or reports `NOT_READY` /
44
+ `REFUSED` / `INCOMPLETE`, stop, report the output and ask the owner; do not fall
45
+ back to the manual Steps below. This is an instruction to you, not a technical
46
+ barrier: the CLI cannot stop an assistant from editing Markdown directly, so
47
+ following it is your responsibility.
48
+
49
+ Steps 2-6 below only describe what `monolith finalize apply` writes; they are not a
50
+ manual procedure. Step 1 (the integrity and governance results, item 1 below) stays yours.
35
51
 
36
52
  0. **Structural story identity (required before `plan`).** `monolith finalize` knows
37
53
  which story is active only from one field line in the `## Current Story` section of
@@ -80,7 +96,7 @@ if `monolith.config.json` lists them in `finalization.requiredDocs` / `allowedDo
80
96
 
81
97
  ## Steps
82
98
 
83
- ### Step 1 — Verify integrity
99
+ ### Step 1 — Verify integrity (yours)
84
100
 
85
101
  Run integrity verification. All checks must pass before proceeding.
86
102
 
@@ -1,28 +0,0 @@
1
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();/**
2
- * @vue/shared v3.5.44
3
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
- * @license MIT
5
- **/function _s(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Z={},xt=[],We=()=>{},Ei=()=>!1,Nn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Pn=e=>e.startsWith("onUpdate:"),le=Object.assign,vs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Qr=Object.prototype.hasOwnProperty,B=(e,t)=>Qr.call(e,t),P=Array.isArray,lt=e=>rn(e)==="[object Map]",At=e=>rn(e)==="[object Set]",Us=e=>rn(e)==="[object Date]",D=e=>typeof e=="function",se=e=>typeof e=="string",qe=e=>typeof e=="symbol",W=e=>e!==null&&typeof e=="object",Ii=e=>(W(e)||D(e))&&D(e.then)&&D(e.catch),Mi=Object.prototype.toString,rn=e=>Mi.call(e),eo=e=>rn(e).slice(8,-1),Ni=e=>rn(e)==="[object Object]",bs=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Vt=_s(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$n=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},to=/-\w/g,Re=$n(e=>e.replace(to,t=>t.slice(1).toUpperCase())),no=/\B([A-Z])/g,Ct=$n(e=>e.replace(no,"-$1").toLowerCase()),Pi=$n(e=>e.charAt(0).toUpperCase()+e.slice(1)),Bn=$n(e=>e?`on${Pi(e)}`:""),Ue=(e,t)=>!Object.is(e,t),yn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},$i=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Ri=e=>{const t=parseFloat(e);return isNaN(t)?e:t},so=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Bs;const Rn=()=>Bs||(Bs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ss(e){if(P(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],i=se(s)?lo(s):Ss(s);if(i)for(const r in i)t[r]=i[r]}return t}else if(se(e)||W(e))return e}const io=/;(?![^(]*\))/g,ro=/:([^]+)/,oo=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function lo(e){const t={};return e.replace(oo,n=>n.startsWith("/*")?"":n).split(io).forEach(n=>{if(n){const s=n.split(ro);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function on(e){let t="";if(se(e))t=e;else if(P(e))for(let n=0;n<e.length;n++){const s=on(e[n]);s&&(t+=s+" ")}else if(W(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const co="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly",ao=_s(co);function Li(e){return!!e||e===""}function uo(e,t,n){if(e.length!==t.length)return!1;let s=!0;for(let i=0;s&&i<e.length;i++)s=at(e[i],t[i],n);return s}function Ws(e,t,n){if(e.size!==t.size)return!1;const s=Array.from(t),i=new Uint8Array(s.length);for(const r of e){let o=-1;for(let l=0;l<s.length;l++)if(!i[l]&&at(r,s[l],n)){o=l;break}if(o<0)return!1;i[o]=1}return!0}function fo(e,t,n){let s=lt(e),i=lt(t);if(s||i||(s=At(e),i=At(t),s||i))return s&&i?Ws(e,t,n):!1;const r=Object.keys(e).length,o=Object.keys(t).length;if(r!==o)return!1;for(const l in e){const c=e.hasOwnProperty(l),d=t.hasOwnProperty(l);if(c&&!d||!c&&d||!at(e[l],t[l],n))return!1}return String(e)===String(t)}function qs(e,t,n,s){n||(n=[new Map,new Map]);const[i,r]=n;if(i.has(e)||r.has(t))return i.get(e)===t&&r.get(t)===e;i.set(e,t),r.set(t,e);const o=s(e,t,n);return i.delete(e),r.delete(t),o}function at(e,t,n){if(e===t)return!0;let s=Us(e),i=Us(t);return s||i?s&&i?e.getTime()===t.getTime():!1:(s=qe(e),i=qe(t),s||i?e===t:(s=P(e),i=P(t),s||i?s&&i?qs(e,t,n,uo):!1:(s=W(e),i=W(t),s||i?!s||!i?!1:qs(e,t,n,fo):String(e)===String(t))))}function ho(e,t){return e.findIndex(n=>at(n,t))}const Di=e=>!!(e&&e.__v_isRef===!0),oe=e=>se(e)?e:e==null?"":P(e)||W(e)&&(e.toString===Mi||!D(e.toString))?Di(e)?oe(e.value):JSON.stringify(e,Fi,2):String(e),Fi=(e,t)=>Di(t)?Fi(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],r)=>(n[Wn(s,r)+" =>"]=i,n),{})}:At(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Wn(n))}:qe(t)?Wn(t):W(t)&&!P(t)&&!Ni(t)?String(t):t,Wn=(e,t="")=>{var n;return qe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
6
- * @vue/reactivity v3.5.44
7
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
- * @license MIT
9
- **/let fe;class po{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&fe&&(fe.active?(this.parent=fe,this.index=(fe.scopes||(fe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const i=this.scopes.slice();for(t=0,n=i.length;t<n;t++)i[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=fe;try{return fe=this,t()}finally{fe=n}}}on(){++this._on===1&&(this.prevScope=fe,fe=this)}off(){if(this._on>0&&--this._on===0){if(fe===this)fe=this.prevScope;else{let t=fe;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const i=this.scopes.slice();for(n=0,s=i.length;n<s;n++)i[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function go(){return fe}let Q;const qn=new WeakSet;class ki{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,fe&&(fe.active?fe.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,qn.has(this)&&(qn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ji(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Gs(this),Vi(this);const t=Q,n=Le;Q=this,Le=!0;try{return this.fn()}finally{Ki(this),Q=t,Le=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ts(t);this.deps=this.depsTail=void 0,Gs(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?qn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){rs(this)&&this.run()}get dirty(){return rs(this)}}let Hi=0,Kt,Ut;function ji(e,t=!1){if(e.flags|=8,t){e.next=Ut,Ut=e;return}e.next=Kt,Kt=e}function xs(){Hi++}function ws(){if(--Hi>0)return;if(Ut){let t=Ut;for(Ut=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Kt;){let t=Kt;for(Kt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Vi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ki(e){let t,n=e.depsTail,s=n;for(;s;){const i=s.prevDep;s.version===-1?(s===n&&(n=i),Ts(s),mo(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=i}e.deps=t,e.depsTail=n}function rs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ui(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ui(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Gt)||(e.globalVersion=Gt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!rs(e))))return;e.flags|=2;const t=e.dep,n=Q,s=Le;Q=e,Le=!0;try{Vi(e);const i=e.fn(e._value);(t.version===0||Ue(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{Q=n,Le=s,Ki(e),e.flags&=-3}}function Ts(e,t=!1){const{dep:n,prevSub:s,nextSub:i}=e;if(s&&(s.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)Ts(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function mo(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Le=!0;const Bi=[];function Ge(){Bi.push(Le),Le=!1}function ze(){const e=Bi.pop();Le=e===void 0?!0:e}function Gs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Q;Q=void 0;try{t()}finally{Q=n}}}let Gt=0;class yo{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class As{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Q||!Le||Q===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Q)n=this.activeLink=new yo(Q,this),Q.deps?(n.prevDep=Q.depsTail,Q.depsTail.nextDep=n,Q.depsTail=n):Q.deps=Q.depsTail=n,Wi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Q.depsTail,n.nextDep=void 0,Q.depsTail.nextDep=n,Q.depsTail=n,Q.deps===n&&(Q.deps=s)}return n}trigger(t){this.version++,Gt++,this.notify(t)}notify(t){xs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ws()}}}function Wi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Wi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const os=new WeakMap,wt=Symbol(""),ls=Symbol(""),zt=Symbol("");function pe(e,t,n){if(Le&&Q){let s=os.get(e);s||os.set(e,s=new Map);let i=s.get(n);i||(s.set(n,i=new As),i.map=s,i.key=n),i.track()}}function tt(e,t,n,s,i,r){const o=os.get(e);if(!o){Gt++;return}const l=c=>{c&&c.trigger()};if(xs(),t==="clear")o.forEach(l);else{const c=P(e),d=c&&bs(n);if(c&&n==="length"){const u=Number(s);o.forEach((h,v)=>{(v==="length"||v===zt||!qe(v)&&v>=u)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),d&&l(o.get(zt)),t){case"add":c?d&&l(o.get("length")):(l(o.get(wt)),lt(e)&&l(o.get(ls)));break;case"delete":c||(l(o.get(wt)),lt(e)&&l(o.get(ls)));break;case"set":lt(e)&&l(o.get(wt));break}}ws()}function Ot(e){const t=U(e);return t===e||(pe(t,"iterate",zt),Ie(e))?t:Je(e)?ct(e)?t.map(n=>ut(Me(n))):t.map(ut):t.map(Me)}function Ln(e){return pe(e=U(e),"iterate",zt),e}function je(e,t){return Je(e)?ut(ct(e)?Me(t):t):Me(t)}const _o={__proto__:null,[Symbol.iterator](){return Gn(this,Symbol.iterator,e=>je(this,e))},concat(...e){return Ot(this).concat(...e.map(t=>P(t)?Ot(t):t))},entries(){return Gn(this,"entries",e=>(e[1]=je(this,e[1]),e))},every(e,t){return Ze(this,"every",e,t,void 0,arguments)},filter(e,t){return Ze(this,"filter",e,t,n=>n.map(s=>je(this,s)),arguments)},find(e,t){return Ze(this,"find",e,t,n=>je(this,n),arguments)},findIndex(e,t){return Ze(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ze(this,"findLast",e,t,n=>je(this,n),arguments)},findLastIndex(e,t){return Ze(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ze(this,"forEach",e,t,void 0,arguments)},includes(...e){return zn(this,"includes",e)},indexOf(...e){return zn(this,"indexOf",e)},join(e){return Ot(this).join(e)},lastIndexOf(...e){return zn(this,"lastIndexOf",e)},map(e,t){return Ze(this,"map",e,t,void 0,arguments)},pop(){return Lt(this,"pop")},push(...e){return Lt(this,"push",e)},reduce(e,...t){return Js(this,"reduce",e,t)},reduceRight(e,...t){return Js(this,"reduceRight",e,t)},shift(){return Lt(this,"shift")},some(e,t){return Ze(this,"some",e,t,void 0,arguments)},splice(...e){return Lt(this,"splice",e)},toReversed(){return Ot(this).toReversed()},toSorted(e){return Ot(this).toSorted(e)},toSpliced(...e){return Ot(this).toSpliced(...e)},unshift(...e){return Lt(this,"unshift",e)},values(){return Gn(this,"values",e=>je(this,e))}};function Gn(e,t,n){const s=Ln(e),i=s[t],r=i.call(s);if(s!==e&&!Ie(e)){if(r[Symbol.toStringTag]==="Array Iterator"){const o=Object.create(Object.getPrototypeOf(r));return o.next=()=>zs(r.next(),n),i!==qi[t]&&Object.defineProperties(o,{return:{get(){const l=r.return;return typeof l=="function"?l.bind(r):l}},throw:{get(){const l=r.throw;return typeof l=="function"?l.bind(r):l}}}),o}r._next=r.next,r.next=()=>zs(r._next(),n)}return r}function zs(e,t){return e.done||(e.value=t(e.value)),e}const qi=Array.prototype;function Ze(e,t,n,s,i,r){const o=Ln(e),l=o!==e&&!Ie(e),c=o[t];if(c!==qi[t]){const h=c.apply(e,r);return l?Me(h):h}let d=n;o!==e&&(l?d=function(h,v){return n.call(this,je(e,h),v,e)}:n.length>2&&(d=function(h,v){return n.call(this,h,v,e)}));const u=c.call(o,d,s);return l&&i?i(u):u}function Js(e,t,n,s){const i=Ln(e),r=i!==e&&!Ie(e);let o=n,l=!1;i!==e&&(r?(l=s.length===0,o=function(d,u,h){return l&&(l=!1,d=je(e,d)),n.call(this,d,je(e,u),h,e)}):n.length>3&&(o=function(d,u,h){return n.call(this,d,u,h,e)}));const c=i[t](o,...s);return l?je(e,c):c}function zn(e,t,n){const s=U(e);pe(s,"iterate",zt);const i=s[t](...n);return(i===-1||i===!1)&&Is(n[0])?(n[0]=U(n[0]),s[t](...n)):i}function Lt(e,t,n=[]){Ge(),xs();const s=U(e)[t].apply(e,n);return ws(),ze(),s}const vo=_s("__proto__,__v_isRef,__isVue"),Gi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(qe));function bo(e){qe(e)||(e=String(e));const t=U(this);return pe(t,"has",e),t.hasOwnProperty(e)}class zi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const i=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(i?r?Mo:Xi:r?Zi:Yi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=P(t);if(!i){let c;if(o&&(c=_o[n]))return c;if(n==="hasOwnProperty")return bo}const l=Reflect.get(t,n,me(t)?t:s);if((qe(n)?Gi.has(n):vo(n))||(i||pe(t,"get",n),r))return l;if(me(l)){const c=o&&bs(n)?l:l.value;return i&&W(c)?as(c):c}return W(l)?i?as(l):Os(l):l}}class Ji extends zi{constructor(t=!1){super(!1,t)}set(t,n,s,i){let r=t[n];const o=P(t)&&bs(n);if(!this._isShallow){const d=Je(r);if(!Ie(s)&&!Je(s)&&(r=U(r),s=U(s)),!o&&me(r)&&!me(s))return d||(r.value=s),!0}const l=o?Number(n)<t.length:B(t,n),c=Reflect.set(t,n,s,me(t)?t:i);return t===U(i)&&c&&(l?Ue(s,r)&&tt(t,"set",n,s):tt(t,"add",n,s)),c}deleteProperty(t,n){const s=B(t,n);t[n];const i=Reflect.deleteProperty(t,n);return i&&s&&tt(t,"delete",n,void 0),i}has(t,n){const s=Reflect.has(t,n);return(!qe(n)||!Gi.has(n))&&pe(t,"has",n),s}ownKeys(t){return pe(t,"iterate",P(t)?"length":wt),Reflect.ownKeys(t)}}class So extends zi{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const xo=new Ji,wo=new So,To=new Ji(!0);const cs=e=>e,dn=e=>Reflect.getPrototypeOf(e);function Ao(e,t,n){return function(...s){const i=this.__v_raw,r=U(i),o=lt(r),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,d=i[e](...s),u=n?cs:t?ut:Me;return!t&&pe(r,"iterate",c?ls:wt),le(Object.create(d),{next(){const{value:h,done:v}=d.next();return v?{value:h,done:v}:{value:l?[u(h[0]),u(h[1])]:u(h),done:v}}})}}function hn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Co(e,t){const n={get(i){const r=this.__v_raw,o=U(r),l=U(i);e||(Ue(i,l)&&pe(o,"get",i),pe(o,"get",l));const{has:c}=dn(o),d=t?cs:e?ut:Me;if(c.call(o,i))return d(r.get(i));if(c.call(o,l))return d(r.get(l));r!==o&&r.get(i)},get size(){const i=this.__v_raw;return!e&&pe(U(i),"iterate",wt),i.size},has(i){const r=this.__v_raw,o=U(r),l=U(i);return e||(Ue(i,l)&&pe(o,"has",i),pe(o,"has",l)),i===l?r.has(i):r.has(i)||r.has(l)},forEach(i,r){const o=this,l=o.__v_raw,c=U(l),d=t?cs:e?ut:Me;return!e&&pe(c,"iterate",wt),l.forEach((u,h)=>i.call(r,d(u),d(h),o))}};return le(n,e?{add:hn("add"),set:hn("set"),delete:hn("delete"),clear:hn("clear")}:{add(i){const r=U(this),o=dn(r),l=U(i),c=!t&&!Ie(i)&&!Je(i)?l:i;return o.has.call(r,c)||Ue(i,c)&&o.has.call(r,i)||Ue(l,c)&&o.has.call(r,l)||(r.add(c),tt(r,"add",c,c)),this},set(i,r){!t&&!Ie(r)&&!Je(r)&&(r=U(r));const o=U(this),{has:l,get:c}=dn(o);let d=l.call(o,i);d||(i=U(i),d=l.call(o,i));const u=c.call(o,i);return o.set(i,r),d?Ue(r,u)&&tt(o,"set",i,r):tt(o,"add",i,r),this},delete(i){const r=U(this),{has:o,get:l}=dn(r);let c=o.call(r,i);c||(i=U(i),c=o.call(r,i)),l&&l.call(r,i);const d=r.delete(i);return c&&tt(r,"delete",i,void 0),d},clear(){const i=U(this),r=i.size!==0,o=i.clear();return r&&tt(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=Ao(i,e,t)}),n}function Cs(e,t){const n=Co(e,t);return(s,i,r)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_isShallow"?t:i==="__v_raw"?s:Reflect.get(B(n,i)&&i in s?n:s,i,r)}const Oo={get:Cs(!1,!1)},Eo={get:Cs(!1,!0)},Io={get:Cs(!0,!1)};const Yi=new WeakMap,Zi=new WeakMap,Xi=new WeakMap,Mo=new WeakMap;function No(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Os(e){return Je(e)?e:Es(e,!1,xo,Oo,Yi)}function Po(e){return Es(e,!1,To,Eo,Zi)}function as(e){return Es(e,!0,wo,Io,Xi)}function Es(e,t,n,s,i){if(!W(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=i.get(e);if(r)return r;const o=No(eo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return i.set(e,l),l}function ct(e){return Je(e)?ct(e.__v_raw):!!(e&&e.__v_isReactive)}function Je(e){return!!(e&&e.__v_isReadonly)}function Ie(e){return!!(e&&e.__v_isShallow)}function Is(e){return e?!!e.__v_raw:!1}function U(e){const t=e&&e.__v_raw;return t?U(t):e}function $o(e){return!B(e,"__v_skip")&&Object.isExtensible(e)&&$i(e,"__v_skip",!0),e}const Me=e=>W(e)?Os(e):e,ut=e=>W(e)?as(e):e;function me(e){return e?e.__v_isRef===!0:!1}function It(e){return Ro(e,!1)}function Ro(e,t){return me(e)?e:new Lo(e,t)}class Lo{constructor(t,n){this.dep=new As,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:U(t),this._value=n?t:Me(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ie(t)||Je(t);t=s?t:U(t),Ue(t,n)&&(this._rawValue=t,this._value=s?t:Me(t),this.dep.trigger())}}function Dn(e){return me(e)?e.value:e}const Do={get:(e,t,n)=>t==="__v_raw"?e:Dn(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return me(i)&&!me(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function Qi(e){return ct(e)?e:new Proxy(e,Do)}class Fo{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new As(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Gt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Q!==this)return ji(this,!0),!0}get value(){const t=this.dep.track();return Ui(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ko(e,t,n=!1){let s,i;return D(e)?s=e:(s=e.get,i=e.set),new Fo(s,i,n)}const pn={},bn=new WeakMap;let vt;function Ho(e,t=!1,n=vt){if(n){let s=bn.get(n);s||bn.set(n,s=[]),s.push(e)}}function jo(e,t,n=Z){const{immediate:s,deep:i,once:r,scheduler:o,augmentJob:l,call:c}=n,d=M=>i?M:Ie(M)||i===!1||i===0?nt(M,1):nt(M);let u,h,v,w,F=!1,O=!1;if(me(e)?(h=()=>e.value,F=Ie(e)):ct(e)?(h=()=>d(e),F=!0):P(e)?(O=!0,F=e.some(M=>ct(M)||Ie(M)),h=()=>e.map(M=>{if(me(M))return M.value;if(ct(M))return d(M);if(D(M))return c?c(M,2):M()})):D(e)?t?h=c?()=>c(e,2):e:h=()=>{if(v){Ge();try{v()}finally{ze()}}const M=vt;vt=u;try{return c?c(e,3,[w]):e(w)}finally{vt=M}}:h=We,t&&i){const M=h,z=i===!0?1/0:i;h=()=>nt(M(),z)}const k=go(),j=()=>{u.stop(),k&&k.active&&vs(k.effects,u)};if(r&&t){const M=t;t=(...z)=>{try{return M(...z)}finally{j()}}}let L=O?new Array(e.length).fill(pn):pn;const V=M=>{if(!(!(u.flags&1)||!u.dirty&&!M))if(t){const z=u.run();if(M||i||F||(O?z.some((ce,ye)=>Ue(ce,L[ye])):Ue(z,L))){const ce=vt;Ge();try{v&&v(),vt=u;const ye=[z,L===pn?void 0:O&&L[0]===pn?[]:L,w];L=z,c?c(t,3,ye):t(...ye)}finally{vt=ce,ze()}}}else u.run()};return l&&l(V),u=new ki(h),u.scheduler=o?()=>o(V,!1):V,w=M=>Ho(M,!1,u),v=u.onStop=()=>{const M=bn.get(u);if(M){if(c)c(M,4);else for(const z of M)z();bn.delete(u)}},t?s?V(!0):L=u.run():o?o(V.bind(null,!0),!0):u.run(),j.pause=u.pause.bind(u),j.resume=u.resume.bind(u),j.stop=j,j}function nt(e,t=1/0,n){if(t<=0||!W(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,me(e))nt(e.value,t,n);else if(P(e))for(let s=0;s<e.length;s++)nt(e[s],t,n);else if(At(e)||lt(e))e.forEach(s=>{nt(s,t,n)});else if(Ni(e)){for(const s in e)nt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&nt(e[s],t,n)}return e}/**
10
- * @vue/runtime-core v3.5.44
11
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
- * @license MIT
13
- **/function ln(e,t,n,s){try{return s?e(...s):e()}catch(i){Fn(i,t,n)}}function Ne(e,t,n,s){if(D(e)){const i=ln(e,t,n,s);return i&&Ii(i)&&i.catch(r=>{Fn(r,t,n)}),i}if(P(e)){const i=[];for(let r=0;r<e.length;r++)i.push(Ne(e[r],t,n,s));return i}}function Fn(e,t,n,s=!0){const i=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||Z;if(t){let l=t.parent;const c=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const u=l.ec;if(u){for(let h=0;h<u.length;h++)if(u[h](e,c,d)===!1)return}l=l.parent}if(r){Ge(),ln(r,null,10,[e,c,d]),ze();return}}Vo(e,n,i,s,o)}function Vo(e,t,n,s=!0,i=!1){if(i)throw e;console.error(e)}const ve=[];let $e=-1;const Ve=[];let ot=null,Et=0;const er=Promise.resolve();let Sn=null;function tr(e){const t=Sn||er;return e?t.then(this?e.bind(this):e):t}function Ko(e){let t=$e+1,n=ve.length;for(;t<n;){const s=t+n>>>1,i=ve[s],r=Jt(i);r<e||r===e&&i.flags&2?t=s+1:n=s}return t}function Ms(e){if(!(e.flags&1)){const t=Jt(e),n=ve[ve.length-1];!n||!(e.flags&2)&&t>=Jt(n)?ve.push(e):ve.splice(Ko(t),0,e),e.flags|=1,nr()}}function nr(){Sn||(Sn=er.then(rr))}function Uo(e){if(!P(e))ot&&e.id===-1?ot.splice(Et+1,0,e):e.flags&1||(Ve.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Ve.push(e[t]);nr()}function sr(e,t,n,s=$e+1){for(;s<ve.length;s++){const i=ve[s];if(i&&i.flags&2){if(e&&i.id!==e.uid||t!==void 0&&!(i.id>=t))continue;ve.splice(s,1),s=e?s-1:$e,i.flags&4&&(i.flags&=-2),i(),i.flags&4||(i.flags&=-2)}}}function ir(e,t,n=0){if(Ve.length){let s=Ve,i=0;if(t){s=[];for(let o=0;o<Ve.length;o++){const l=Ve[o];(l.i!==void 0?!l.i||l.i.uid<n:t.has(l))?Ve[i++]=l:s.push(l)}}const r=[...new Set(s)].sort((o,l)=>Jt(o)-Jt(l));if(Ve.length=i,ot){for(let o=0;o<r.length;o++)ot.push(r[o]);return}for(ot=r,Et=0;Et<ot.length;Et++){const o=ot[Et];o.flags&4&&(o.flags&=-2),o.flags&8||o(),o.flags&=-2}ot=null,Et=0}}let Jn=!1;function Bo(e,t){if(Jn){e();return}const n=t===void 0?void 0:new Set(Ve);e(),Jn=!0;try{sr(void 0,t),ir(void 0,n,t)}finally{Jn=!1}}const Jt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function rr(e){try{for($e=0;$e<ve.length;$e++){const t=ve[$e];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),ln(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;$e<ve.length;$e++){const t=ve[$e];t&&(t.flags&=-2)}$e=-1,ve.length=0,ir(),Sn=null,(ve.length||Ve.length)&&rr()}}let Ee=null,or=null;function xn(e){const t=Ee;return Ee=e,or=e&&e.type.__scopeId||null,t}function lr(e,t=Ee,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&Cn(-1);const r=xn(t),o=Tt.length;let l;try{l=e(...i)}finally{for(let c=Tt.length;c>o;c--)Rr();xn(r),s._d&&Cn(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function Wo(e,t){if(Ee===null)return e;const n=Un(Ee),s=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[r,o,l,c=Z]=t[i];r&&(D(r)&&(r={mounted:r,updated:r}),r.deep&&nt(o),s.push({dir:r,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function gt(e,t,n,s){const i=e.dirs,r=t&&t.dirs;for(let o=0;o<i.length;o++){const l=i[o];r&&(l.oldValue=r[o].value);let c=l.dir[s];c&&(Ge(),Ne(c,n,8,[e.el,l,e,t]),ze())}}function qo(e,t){if(be){let n=be.provides;const s=be.parent&&be.parent.provides;s===n&&(n=be.provides=Object.create(s)),n[e]=t}}function _n(e,t,n=!1){const s=kr();if(s||Mt){let i=Mt?Mt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&D(t)?t.call(s&&s.proxy):t}}const Go=Symbol.for("v-scx"),zo=()=>_n(Go);function Yn(e,t,n){return cr(e,t,n)}function cr(e,t,n=Z){const{immediate:s,deep:i,flush:r,once:o}=n,l=le({},n),c=t&&s||!t&&r!=="post";let d;if(tn){if(r==="sync"){const w=zo();d=w.__watcherHandles||(w.__watcherHandles=[])}else if(!c){const w=()=>{};return w.stop=We,w.resume=We,w.pause=We,w}}const u=be;l.call=(w,F,O)=>Ne(w,u,F,O);let h=!1;r==="post"?l.scheduler=w=>{w.i=u,xe(w,u&&u.suspense)}:r!=="sync"&&(h=!0,l.scheduler=(w,F)=>{F?w():Ms(w)}),l.augmentJob=w=>{t&&(w.flags|=4),h&&(w.flags|=2,u&&(w.id=u.uid,w.i=u))};const v=jo(e,t,l);return tn&&(d?d.push(v):c&&v()),v}function Jo(e,t,n){const s=this.proxy,i=se(e)?e.includes(".")?ar(s,e):()=>s[e]:e.bind(s,s);let r;D(t)?r=t:(r=t.handler,n=t);const o=an(this),l=cr(i,r.bind(s),n);return o(),l}function ar(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i<n.length&&s;i++)s=s[n[i]];return s}}const Yo=Symbol("_vte"),kn=e=>e.__isTeleport,Oe=Symbol("_leaveCb"),Dt=Symbol("_enterCb");function Zo(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ns(()=>{e.isMounted=!0}),Ps(()=>{e.isUnmounting=!0}),e}const Ce=[Function,Array],ur={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ce,onEnter:Ce,onAfterEnter:Ce,onEnterCancelled:Ce,onBeforeLeave:Ce,onLeave:Ce,onAfterLeave:Ce,onLeaveCancelled:Ce,onBeforeAppear:Ce,onAppear:Ce,onAfterAppear:Ce,onAppearCancelled:Ce},Xo={name:"BaseTransition",props:ur,setup(e,{slots:t}){const n=kr(),s=Zo();return()=>{const i=t.default&&hr(t.default(),!0),r=i&&i.length?fr(i):n.subTree?Qt():void 0;if(!r)return;const o=U(e),{mode:l}=o;if(s.isLeaving)return Zn(r);const c=wn(r);if(!c)return Zn(r);let d=us(c,o,s,n,h=>d=h);c.type!==ge&&Nt(c,d);let u=n.subTree&&wn(n.subTree);if(u&&u.type!==ge&&!St(u,c)&&Yt(n.subTree)){let h=us(u,o,s,n);if(Nt(u,h),l==="out-in"&&c.type!==ge)return s.isLeaving=!0,h.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave,u=void 0},Zn(r);l==="in-out"&&c.type!==ge?h.delayLeave=(v,w,F)=>{const O=dr(s,u);O[String(u.key)]=u,v[Oe]=()=>{w(),v[Oe]=void 0,delete d.delayedLeave,u=void 0},d.delayedLeave=()=>{F(),delete d.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return r}}};function fr(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ge){t=n;break}}return t}const Qo=Xo;function dr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function us(e,t,n,s,i){const{appear:r,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:u,onEnterCancelled:h,onBeforeLeave:v,onLeave:w,onAfterLeave:F,onLeaveCancelled:O,onBeforeAppear:k,onAppear:j,onAfterAppear:L,onAppearCancelled:V}=t,M=String(e.key),z=dr(n,e),ce=(H,q)=>{H&&Ne(H,s,9,q)},ye=(H,q)=>{const te=q[1];ce(H,q),P(H)?H.every(A=>A.length<=1)&&te():H.length<=1&&te()},Se={mode:o,persisted:l,beforeEnter(H){let q=c;if(!n.isMounted)if(r)q=k||c;else return;H[Oe]&&H[Oe](!0);const te=z[M];if(te&&St(e,te)){let A=te.el[Oe];if(!A){const J=Yt(te);A=J&&J.el[Oe]}A&&A()}ce(q,[H])},enter(H){if(z[M]===e)return;let q=d,te=u,A=h;if(!n.isMounted)if(r)q=j||d,te=L||u,A=V||h;else return;let J=!1;H[Dt]=Ye=>{J||(J=!0,Ye?ce(A,[H]):ce(te,[H]),Se.delayedLeave&&Se.delayedLeave(),H[Dt]=void 0)};const he=H[Dt].bind(null,!1);q?ye(q,[H,he]):he()},leave(H,q){const te=String(e.key);if(H[Dt]&&H[Dt](!0),n.isUnmounting)return q();ce(v,[H]);let A=!1;H[Oe]=he=>{A||(A=!0,q(),he?ce(O,[H]):ce(F,[H]),H[Oe]=void 0,z[te]===e&&delete z[te])};const J=H[Oe].bind(null,!1);z[te]=e,w?ye(w,[H,J]):J()},clone(H){const q=us(H,t,n,s,i);return i&&i(q),q}};return Se}function Zn(e){if(Hn(e))return e=dt(e),e.children=null,e}function wn(e){if(!Hn(e))return kn(e.type)&&e.children?fr(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&D(n.default))return n.default()}}function Nt(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Nt(kn(n.type)&&wn(n)||n,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===ie&&P(e.children)){const n=Sr(e.children,!1);n&&Nt(n,t)}}function hr(e,t=!1,n){let s=[],i=0;for(let r=0;r<e.length;r++){let o=e[r];const l=n==null?o.key:String(n)+String(o.key!=null?o.key:r);o.type===ie?(o.patchFlag&128&&i++,s=s.concat(hr(o.children,t,l))):(t||o.type!==ge)&&s.push(l!=null?dt(o,{key:l}):o)}if(i>1)for(let r=0;r<s.length;r++)s[r].patchFlag=-2;return s}function Yt(e){if(e.component)return Yt(e.component.subTree);if(e.type===ie){const t=P(e.children)&&Sr(e.children,!1);return t?Yt(t):void 0}if(e.type!==ge)return e}function st(e,t){return D(e)?le({name:e.name},t,{setup:e}):e}function pr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ys(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Tn=new WeakMap;function Bt(e,t,n,s,i=!1){if(P(e)){e.forEach((O,k)=>Bt(O,t&&(P(t)?t[k]:t),n,s,i));return}if(Wt(s)&&!i){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Bt(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?Un(s.component):s.el,o=i?null:r,{i:l,r:c}=e,d=t&&t.r,u=l.refs===Z?l.refs={}:l.refs,h=l.setupState,v=U(h),w=h===Z?Ei:O=>Ys(u,O)?!1:B(v,O),F=(O,k)=>!(k&&Ys(u,k));if(d!=null&&d!==c){if(Zs(t),se(d))u[d]=null,w(d)&&(h[d]=null);else if(me(d)){const O=t;F(d,O.k)&&(d.value=null),O.k&&(u[O.k]=null)}}if(D(c))ln(c,l,12,[o,u]);else{const O=se(c),k=me(c);if(O||k){const j=()=>{if(e.f){const L=O?w(c)?h[c]:u[c]:F()||!e.k?c.value:u[e.k];if(i)P(L)&&vs(L,r);else if(P(L))L.includes(r)||L.push(r);else if(O)u[c]=[r],w(c)&&(h[c]=u[c]);else{const V=[r];F(c,e.k)&&(c.value=V),e.k&&(u[e.k]=V)}}else O?(u[c]=o,w(c)&&(h[c]=o)):k&&(F(c,e.k)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){const L=()=>{j(),Tn.delete(e)};L.id=-1,Tn.set(e,L),xe(L,n)}else Zs(e),j()}}}function Zs(e){const t=Tn.get(e);t&&(t.flags|=8,Tn.delete(e))}Rn().requestIdleCallback;Rn().cancelIdleCallback;const Wt=e=>!!e.type.__asyncLoader,Hn=e=>e.type.__isKeepAlive;function el(e,t){gr(e,"a",t)}function tl(e,t){gr(e,"da",t)}function gr(e,t,n=be){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(jn(t,s,n),n){let i=n.parent;for(;i&&i.parent;)Hn(i.parent.vnode)&&nl(s,t,n,i),i=i.parent}}function nl(e,t,n,s){const i=jn(t,e,s,!0);mr(()=>{vs(s[t],i)},n)}function jn(e,t,n=be,s=!1){if(n){const i=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...o)=>{Ge();const l=an(n),c=Ne(t,n,e,o);return l(),ze(),c});return s?i.unshift(r):i.push(r),r}}const it=e=>(t,n=be)=>{(!tn||e==="sp")&&jn(e,(...s)=>t(...s),n)},sl=it("bm"),Ns=it("m"),il=it("bu"),rl=it("u"),Ps=it("bum"),mr=it("um"),ol=it("sp"),ll=it("rtg"),cl=it("rtc");function al(e,t=be){jn("ec",e,t)}const ul=Symbol.for("v-ndc");function ft(e,t,n,s){let i;const r=n,o=P(e);if(o||se(e)){const l=o&&ct(e);let c=!1,d=!1;l&&(c=!Ie(e),d=Je(e),e=Ln(e)),i=new Array(e.length);for(let u=0,h=e.length;u<h;u++)i[u]=t(c?d?ut(Me(e[u])):Me(e[u]):e[u],u,void 0,r)}else if(typeof e=="number")if(!Number.isInteger(e)||e<0)i=[];else{i=new Array(e);for(let l=0;l<e;l++)i[l]=t(l+1,l,void 0,r)}else if(W(e))if(e[Symbol.iterator])i=Array.from(e,(l,c)=>t(l,c,void 0,r));else{const l=Object.keys(e);i=new Array(l.length);for(let c=0,d=l.length;c<d;c++){const u=l[c];i[c]=t(e[u],u,c,r)}}else i=[];return i}const fs=e=>e?Hr(e)?Un(e):fs(e.parent):null,qt=le(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>fs(e.parent),$root:e=>fs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>_r(e),$forceUpdate:e=>e.f||(e.f=()=>{Ms(e.update)}),$nextTick:e=>e.n||(e.n=tr.bind(e.proxy)),$watch:e=>Jo.bind(e)}),Xn=(e,t)=>e!==Z&&!e.__isScriptSetup&&B(e,t),fl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:i,props:r,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return r[t]}else{if(Xn(s,t))return o[t]=1,s[t];if(i!==Z&&B(i,t))return o[t]=2,i[t];if(B(r,t))return o[t]=3,r[t];if(n!==Z&&B(n,t))return o[t]=4,n[t];ds&&(o[t]=0)}}const d=qt[t];let u,h;if(d)return t==="$attrs"&&pe(e.attrs,"get",""),d(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==Z&&B(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,B(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:r}=e;return Xn(i,t)?(i[t]=n,!0):s!==Z&&B(s,t)?(s[t]=n,!0):B(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,props:r,type:o}},l){let c;return!!(n[l]||e!==Z&&l[0]!=="$"&&B(e,l)||Xn(t,l)||B(r,l)||B(s,l)||B(qt,l)||B(i.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:B(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Xs(e){return P(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ds=!0;function dl(e){const t=_r(e),n=e.proxy,s=e.ctx;ds=!1,t.beforeCreate&&Qs(t.beforeCreate,e,"bc");const{data:i,computed:r,methods:o,watch:l,provide:c,inject:d,created:u,beforeMount:h,mounted:v,beforeUpdate:w,updated:F,activated:O,deactivated:k,beforeDestroy:j,beforeUnmount:L,destroyed:V,unmounted:M,render:z,renderTracked:ce,renderTriggered:ye,errorCaptured:Se,serverPrefetch:H,expose:q,inheritAttrs:te,components:A,directives:J,filters:he}=t;if(d&&hl(d,s,null),o)for(const ne in o){const X=o[ne];D(X)&&(s[ne]=X.bind(n))}if(i){const ne=i.call(n,n);W(ne)&&(e.data=Os(ne))}if(ds=!0,r)for(const ne in r){const X=r[ne],ht=D(X)?X.bind(n,n):D(X.get)?X.get.bind(n,n):We,un=!D(X)&&D(X.set)?X.set.bind(n):We,pt=nn({get:ht,set:un});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>pt.value,set:Pe=>pt.value=Pe})}if(l)for(const ne in l)yr(l[ne],s,n,ne);if(c){const ne=D(c)?c.call(n):c;Reflect.ownKeys(ne).forEach(X=>{qo(X,ne[X])})}u&&Qs(u,e,"c");function ae(ne,X){P(X)?X.forEach(ht=>ne(ht.bind(n))):X&&ne(X.bind(n))}if(ae(sl,h),ae(Ns,v),ae(il,w),ae(rl,F),ae(el,O),ae(tl,k),ae(al,Se),ae(cl,ce),ae(ll,ye),ae(Ps,L),ae(mr,M),ae(ol,H),P(q))if(q.length){const ne=e.exposed||(e.exposed={});q.forEach(X=>{Object.defineProperty(ne,X,{get:()=>n[X],set:ht=>n[X]=ht,enumerable:!0})})}else e.exposed||(e.exposed={});z&&e.render===We&&(e.render=z),te!=null&&(e.inheritAttrs=te),A&&(e.components=A),J&&(e.directives=J),H&&pr(e)}function hl(e,t,n=We){P(e)&&(e=hs(e));for(const s in e){const i=e[s];let r;W(i)?"default"in i?r=_n(i.from||s,i.default,!0):r=_n(i.from||s):r=_n(i),me(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):t[s]=r}}function Qs(e,t,n){Ne(P(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function yr(e,t,n,s){let i=s.includes(".")?ar(n,s):()=>n[s];if(se(e)){const r=t[e];D(r)&&Yn(i,r)}else if(D(e))Yn(i,e.bind(n));else if(W(e))if(P(e))e.forEach(r=>yr(r,t,n,s));else{const r=D(e.handler)?e.handler.bind(n):t[e.handler];D(r)&&Yn(i,r,e)}}function _r(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=e.appContext,l=r.get(t);let c;return l?c=l:!i.length&&!n&&!s?c=t:(c={},i.length&&i.forEach(d=>An(c,d,o,!0)),An(c,t,o)),W(t)&&r.set(t,c),c}function An(e,t,n,s=!1){const{mixins:i,extends:r}=t;r&&An(e,r,n,!0),i&&i.forEach(o=>An(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=pl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const pl={data:ei,props:ti,emits:ti,methods:kt,computed:kt,beforeCreate:_e,created:_e,beforeMount:_e,mounted:_e,beforeUpdate:_e,updated:_e,beforeDestroy:_e,beforeUnmount:_e,destroyed:_e,unmounted:_e,activated:_e,deactivated:_e,errorCaptured:_e,serverPrefetch:_e,components:kt,directives:kt,watch:ml,provide:ei,inject:gl};function ei(e,t){return t?e?function(){return le(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function gl(e,t){return kt(hs(e),hs(t))}function hs(e){if(P(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function _e(e,t){return e?[...new Set([].concat(e,t))]:t}function kt(e,t){return e?le(Object.create(null),e,t):t}function ti(e,t){return e?P(e)&&P(t)?[...new Set([...e,...t])]:le(Object.create(null),Xs(e),Xs(t??{})):t}function ml(e,t){if(!e)return t;if(!t)return e;const n=le(Object.create(null),e);for(const s in t)n[s]=_e(e[s],t[s]);return n}function vr(){return{app:null,config:{isNativeTag:Ei,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let yl=0;function _l(e,t){return function(s,i=null){D(s)||(s=le({},s)),i!=null&&!W(i)&&(i=null);const r=vr(),o=new WeakSet,l=[];let c=!1;const d=r.app={_uid:yl++,_component:s,_props:i,_container:null,_context:r,_instance:null,version:Jl,get config(){return r.config},set config(u){},use(u,...h){return o.has(u)||(u&&D(u.install)?(o.add(u),u.install(d,...h)):D(u)&&(o.add(u),u(d,...h))),d},mixin(u){return r.mixins.includes(u)||r.mixins.push(u),d},component(u,h){return h?(r.components[u]=h,d):r.components[u]},directive(u,h){return h?(r.directives[u]=h,d):r.directives[u]},mount(u,h,v){if(!c){const w=d._ceVNode||ee(s,i);return w.appContext=r,v===!0?v="svg":v===!1&&(v=void 0),e(w,u,v),c=!0,d._container=u,u.__vue_app__=d,Un(w.component)}},onUnmount(u){l.push(u)},unmount(){c&&(Ne(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(u,h){return r.provides[u]=h,d},runWithContext(u){const h=Mt;Mt=d;try{return u()}finally{Mt=h}}};return d}}let Mt=null;const vl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Re(t)}Modifiers`]||e[`${Ct(t)}Modifiers`];function bl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Z;let i=n;const r=t.startsWith("update:"),o=r&&vl(s,t.slice(7));o&&(o.trim&&(i=n.map(u=>se(u)?u.trim():u)),o.number&&(i=i.map(Ri)));let l,c=s[l=Bn(t)]||s[l=Bn(Re(t))];!c&&r&&(c=s[l=Bn(Ct(t))]),c&&Ne(c,e,6,i);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ne(d,e,6,i)}}const Sl=new WeakMap;function br(e,t,n=!1){const s=n?Sl:t.emitsCache,i=s.get(e);if(i!==void 0)return i;const r=e.emits;let o={},l=!1;if(!D(e)){const c=d=>{const u=br(d,t,!0);u&&(l=!0,le(o,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!r&&!l?(W(e)&&s.set(e,null),null):(P(r)?r.forEach(c=>o[c]=null):le(o,r),W(e)&&s.set(e,o),o)}function Vn(e,t){return!e||!Nn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),B(e,t[0].toLowerCase()+t.slice(1))||B(e,Ct(t))||B(e,t))}function ni(e){const{type:t,vnode:n,proxy:s,withProxy:i,propsOptions:[r],slots:o,attrs:l,emit:c,render:d,renderCache:u,props:h,data:v,setupState:w,ctx:F,inheritAttrs:O}=e,k=xn(e);let j,L;try{if(n.shapeFlag&4){const M=i||s,z=M;j=Ke(d.call(z,M,u,h,w,v,F)),L=l}else{const M=t;j=Ke(M.length>1?M(h,{attrs:l,slots:o,emit:c}):M(h,null)),L=t.props?l:xl(l)}}catch(M){Tt.length=0,Fn(M,e,1),j=ee(ge)}let V=j;if(L&&O!==!1){const M=Object.keys(L),{shapeFlag:z}=V;M.length&&z&7&&(r&&M.some(Pn)&&(L=wl(L,r)),V=dt(V,L,!1,!0))}if(n.dirs&&(V=dt(V,null,!1,!0),V.dirs=V.dirs?V.dirs.concat(n.dirs):n.dirs),n.transition){const M=kn(V.type)&&wn(V)||V;Nt(M,n.transition)}return j=V,xn(k),j}function Sr(e,t=!0){let n;for(let s=0;s<e.length;s++){const i=e[s];if(Xt(i)){if(i.type!==ge||i.children==="v-if"){if(n)return;n=i}}else return}return n}const xl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Nn(n))&&((t||(t={}))[n]=e[n]);return t},wl=(e,t)=>{const n={};for(const s in e)(!Pn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Tl(e,t,n){const{props:s,children:i,component:r}=e,{props:o,children:l,patchFlag:c}=t,d=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?si(s,o,d):!!o;if(c&8){const u=t.dynamicProps;for(let h=0;h<u.length;h++){const v=u[h];if(xr(o,s,v)&&!Vn(d,v))return!0}}}else return(i||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?si(s,o,d):!0:!!o;return!1}function si(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let i=0;i<s.length;i++){const r=s[i];if(!B(e,r)||xr(t,e,r)&&!Vn(n,r))return!0}return!1}function xr(e,t,n){const s=e[n],i=t[n];return n==="style"&&W(s)&&W(i)?!at(s,i):s!==i}function Al({vnode:e,parent:t,suspense:n},s){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.suspense.vnode.el=i.el=s,e=i),i===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const wr={},Tr=()=>Object.create(wr),Ar=e=>Object.getPrototypeOf(e)===wr;function Cl(e,t,n,s=!1){const i={},r=Tr();e.propsDefaults=Object.create(null),Cr(e,t,i,r);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);n?e.props=s?i:Po(i):e.type.props?e.props=i:e.props=r,e.attrs=r}function Ol(e,t,n,s){const{props:i,attrs:r,vnode:{patchFlag:o}}=e,l=U(i),[c]=e.propsOptions;let d=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let h=0;h<u.length;h++){let v=u[h];if(Vn(e.emitsOptions,v))continue;const w=t[v];if(c)if(B(r,v))w!==r[v]&&(r[v]=w,d=!0);else{const F=Re(v);i[F]=ps(c,l,F,w,e,!1)}else w!==r[v]&&(r[v]=w,d=!0)}}}else{Cr(e,t,i,r)&&(d=!0);let u;for(const h in l)(!t||!B(t,h)&&((u=Ct(h))===h||!B(t,u)))&&(c?n&&(n[h]!==void 0||n[u]!==void 0)&&(i[h]=ps(c,l,h,void 0,e,!0)):delete i[h]);if(r!==l)for(const h in r)(!t||!B(t,h))&&(delete r[h],d=!0)}d&&tt(e.attrs,"set","")}function Cr(e,t,n,s){const[i,r]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Vt(c))continue;const d=t[c];let u;i&&B(i,u=Re(c))?!r||!r.includes(u)?n[u]=d:(l||(l={}))[u]=d:Vn(e.emitsOptions,c)||(!(c in s)||d!==s[c])&&(s[c]=d,o=!0)}if(r){const c=U(n),d=l||Z;for(let u=0;u<r.length;u++){const h=r[u];n[h]=ps(i,c,h,d[h],e,!B(d,h))}}return o}function ps(e,t,n,s,i,r){const o=e[n];if(o!=null){const l=B(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&D(c)){const{propsDefaults:d}=i;if(n in d)s=d[n];else{const u=an(i);s=d[n]=c.call(null,t),u()}}else s=c;i.ce&&i.ce._setProp(n,s)}o[0]&&(r&&!l?s=!1:o[1]&&(s===""||s===Ct(n))&&(s=!0))}return s}const El=new WeakMap;function Or(e,t,n=!1){const s=n?El:t.propsCache,i=s.get(e);if(i)return i;const r=e.props,o={},l=[];let c=!1;if(!D(e)){const u=h=>{c=!0;const[v,w]=Or(h,t,!0);le(o,v),w&&l.push(...w)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!c)return W(e)&&s.set(e,xt),xt;if(P(r))for(let u=0;u<r.length;u++){const h=Re(r[u]);ii(h)&&(o[h]=Z)}else if(r)for(const u in r){const h=Re(u);if(ii(h)){const v=r[u],w=o[h]=P(v)||D(v)?{type:v}:le({},v),F=w.type;let O=!1,k=!0;if(P(F))for(let j=0;j<F.length;++j){const L=F[j],V=D(L)&&L.name;if(V==="Boolean"){O=!0;break}else V==="String"&&(k=!1)}else O=D(F)&&F.name==="Boolean";w[0]=O,w[1]=k,(O||B(w,"default"))&&l.push(h)}}const d=[o,l];return W(e)&&s.set(e,d),d}function ii(e){return e[0]!=="$"&&!Vt(e)}const $s=e=>e==="_"||e==="_ctx"||e==="$stable",Rs=e=>P(e)?e.map(Ke):[Ke(e)],Il=(e,t,n)=>{if(t._n)return t;const s=lr((...i)=>Rs(t(...i)),n);return s._c=!1,s},Er=(e,t,n)=>{const s=e._ctx;for(const i in e){if($s(i))continue;const r=e[i];if(D(r))t[i]=Il(i,r,s);else if(r!=null){const o=Rs(r);t[i]=()=>o}}},Ir=(e,t)=>{const n=Rs(t);e.slots.default=()=>n},Mr=(e,t,n)=>{for(const s in t)(n||!$s(s))&&(e[s]=t[s])},Ml=(e,t,n)=>{const s=e.slots=Tr();if(e.vnode.shapeFlag&32){const i=t._;i?(Mr(s,t,n),n&&$i(s,"_",i,!0)):Er(t,s)}else t&&Ir(e,t)},Nl=(e,t,n)=>{const{vnode:s,slots:i}=e;let r=!0,o=Z;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:Mr(i,t,n):(r=!t.$stable,Er(t,i)),o=t}else t&&(Ir(e,t),o={default:1});if(r)for(const l in i)!$s(l)&&o[l]==null&&delete i[l]},xe=Dl;function Pl(e){return $l(e)}function $l(e,t){const n=Rn();n.__VUE__=!0;const{insert:s,remove:i,patchProp:r,createElement:o,createText:l,createComment:c,setText:d,setElementText:u,parentNode:h,nextSibling:v,setScopeId:w=We,insertStaticContent:F}=e,O=(a,f,p,_=null,m=null,y=null,x=void 0,S=null,b=!!f.dynamicChildren)=>{if(a===f)return;a&&!St(a,f)&&(_=fn(a),Pe(a,m,y,!0),a=null),f.patchFlag===-2&&(b=!1,f.dynamicChildren=null),f.dynamicChildren&&a&&a.dynamicChildren&&a.dynamicChildren.hasOnce&&(f.dynamicChildren===xt&&(f.dynamicChildren=[]),f.dynamicChildren.hasOnce=!0);const{type:g,ref:N,shapeFlag:T}=f;switch(g){case Kn:k(a,f,p,_);break;case ge:j(a,f,p,_);break;case es:a==null&&L(f,p,_,x);break;case ie:A(a,f,p,_,m,y,x,S,b);break;default:T&1?z(a,f,p,_,m,y,x,S,b):T&6?J(a,f,p,_,m,y,x,S,b):(T&64||T&128)&&g.process(a,f,p,_,m,y,x,S,b,$t)}N!=null&&m?Bt(N,a&&a.ref,y,f||a,!f):N==null&&a&&a.ref!=null&&Bt(a.ref,null,y,a,!0)},k=(a,f,p,_)=>{if(a==null)s(f.el=l(f.children),p,_);else{const m=f.el=a.el;f.children!==a.children&&d(m,f.children)}},j=(a,f,p,_)=>{a==null?s(f.el=c(f.children||""),p,_):f.el=a.el},L=(a,f,p,_)=>{[a.el,a.anchor]=F(a.children,f,p,_,a.el,a.anchor)},V=({el:a,anchor:f},p,_)=>{let m;for(;a&&a!==f;)m=v(a),s(a,p,_),a=m;s(f,p,_)},M=({el:a,anchor:f})=>{let p;for(;a&&a!==f;)p=v(a),i(a),a=p;i(f)},z=(a,f,p,_,m,y,x,S,b)=>{if(f.type==="svg"?x="svg":f.type==="math"&&(x="mathml"),a==null)ce(f,p,_,m,y,x,S,b);else{const g=a.el&&a.el._isVueCE?a.el:null;try{g&&g._beginPatch(),H(a,f,m,y,x,S,b)}finally{g&&g._endPatch()}}},ce=(a,f,p,_,m,y,x,S)=>{let b,g;const{props:N,shapeFlag:T,transition:$,dirs:R}=a;if(b=a.el=o(a.type,y,N&&N.is,N),T&8?u(b,a.children):T&16&&Se(a.children,b,null,_,m,Qn(a,y),x,S),R&&gt(a,null,_,"created"),ye(b,a,a.scopeId,x,_),N){for(const Y in N)Y!=="value"&&!Vt(Y)&&r(b,Y,null,N[Y],y,_);"value"in N&&r(b,"value",null,N.value,y),(g=N.onVnodeBeforeMount)&&He(g,_,a)}R&&gt(a,null,_,"beforeMount");const K=Rl(m,$);K&&$.beforeEnter(b),s(b,f,p),((g=N&&N.onVnodeMounted)||K||R)&&xe(()=>{try{g&&He(g,_,a),K&&$.enter(b),R&&gt(a,null,_,"mounted")}finally{}},m)},ye=(a,f,p,_,m)=>{if(p&&w(a,p),_)for(let y=0;y<_.length;y++)w(a,_[y]);if(m){let y=m.subTree;if(f===y||$r(y.type)&&(y.ssContent===f||y.ssFallback===f)){const x=m.vnode;ye(a,x,x.scopeId,x.slotScopeIds,m.parent)}}},Se=(a,f,p,_,m,y,x,S,b=0)=>{for(let g=b;g<a.length;g++){const N=a[g]=S?et(a[g]):Ke(a[g]);O(null,N,f,p,_,m,y,x,S)}},H=(a,f,p,_,m,y,x)=>{const S=f.el=a.el;let{patchFlag:b,dynamicChildren:g,dirs:N}=f;b|=a.patchFlag&16;const T=a.props||Z,$=f.props||Z;let R;if(p&&mt(p,!1),(R=$.onVnodeBeforeUpdate)&&He(R,p,f,a),N&&gt(f,a,p,"beforeUpdate"),p&&mt(p,!0),g&&(!a.dynamicChildren||a.dynamicChildren.length!==g.length)&&(b=0,x=!1,g=null),(T.innerHTML&&$.innerHTML==null||T.textContent&&$.textContent==null)&&u(S,""),g?q(a.dynamicChildren,g,S,p,_,Qn(f,m),y):x||X(a,f,S,null,p,_,Qn(f,m),y,!1),b>0){if(b&16)te(S,T,$,p,m);else if(b&2&&T.class!==$.class&&r(S,"class",null,$.class,m),b&4&&r(S,"style",T.style,$.style,m),b&8){const K=f.dynamicProps;for(let Y=0;Y<K.length;Y++){const G=K[Y],re=T[G],ue=$[G];(ue!==re||G==="value")&&r(S,G,re,ue,m,p)}}b&1&&a.children!==f.children&&u(S,f.children)}else!x&&g==null&&te(S,T,$,p,m);((R=$.onVnodeUpdated)||N)&&xe(()=>{R&&He(R,p,f,a),N&&gt(f,a,p,"updated")},_)},q=(a,f,p,_,m,y,x)=>{for(let S=0;S<f.length;S++){const b=a[S],g=f[S],N=b.el||gs(b),T=N&&(b.type===ie||!St(b,g)||b.shapeFlag&198)?h(N):p;O(b,g,T,null,_,m,y,x,!0)}},te=(a,f,p,_,m)=>{if(f!==p){if(f!==Z)for(const y in f)!Vt(y)&&!(y in p)&&r(a,y,f[y],null,m,_);for(const y in p){if(Vt(y))continue;const x=p[y],S=f[y];x!==S&&y!=="value"&&r(a,y,S,x,m,_)}"value"in p&&r(a,"value",f.value,p.value,m)}},A=(a,f,p,_,m,y,x,S,b)=>{const g=f.el=a?a.el:l(""),N=f.anchor=a?a.anchor:l("");let{patchFlag:T,dynamicChildren:$,slotScopeIds:R}=f;R&&(S=S?S.concat(R):R),a==null?(s(g,p,_),s(N,p,_),Se(f.children||[],p,N,m,y,x,S,b)):T>0&&T&64&&$&&a.dynamicChildren&&a.dynamicChildren.length===$.length?(q(a.dynamicChildren,$,p,m,y,x,S),(f.key!=null||m&&f===m.subTree)&&Nr(a,f,!0)):X(a,f,p,N,m,y,x,S,b)},J=(a,f,p,_,m,y,x,S,b)=>{f.slotScopeIds=S,a==null?f.shapeFlag&512?m.ctx.activate(f,p,_,x,b):he(f,p,_,m,y,x,b):Ye(a,f,b)},he=(a,f,p,_,m,y,x)=>{const S=a.component=Kl(a,_,m);if(Hn(a)&&(S.ctx.renderer=$t),Ul(S,!1,x),S.asyncDep){if(m&&m.registerDep(S,ae,x,y),!a.el){const b=S.subTree=ee(ge);j(null,b,f,p),a.placeholder=b.el}}else ae(S,a,f,p,m,y,x)},Ye=(a,f,p)=>{const _=f.component=a.component;if(Tl(a,f,p))if(_.asyncDep&&!_.asyncResolved){f.el=a.el,f.placeholder=a.placeholder,ne(_,f,p);return}else _.next=f,_.update();else f.el=a.el,f.placeholder=a.placeholder,_.vnode=f},ae=(a,f,p,_,m,y,x)=>{const S=()=>{if(a.isMounted){let{next:T,bu:$,u:R,parent:K,vnode:Y}=a;{const Fe=Pr(a);if(Fe){T&&(T.el=Y.el,ne(a,T,x)),Fe.asyncDep.then(()=>{xe(()=>{a.isUnmounted||g()},m)});return}}let G=T,re;mt(a,!1),T?(T.el=Y.el,ne(a,T,x)):T=Y,$&&yn($),(re=T.props&&T.props.onVnodeBeforeUpdate)&&He(re,K,T,Y),mt(a,!0);const ue=ni(a),De=a.subTree;a.subTree=ue,O(De,ue,h(De.el),fn(De),a,m,y),T.el=ue.el,G===null&&Al(a,ue.el),R&&xe(R,m),(re=T.props&&T.props.onVnodeUpdated)&&xe(()=>He(re,K,T,Y),m)}else{let T;const{el:$,props:R}=f,{bm:K,m:Y,parent:G,root:re,type:ue}=a,De=Wt(f);mt(a,!1),K&&yn(K),!De&&(T=R&&R.onVnodeBeforeMount)&&He(T,G,f),mt(a,!0);{re.ce&&re.ce._hasShadowRoot()&&re.ce._injectChildStyle(ue,a.parent?a.parent.type:void 0);const Fe=a.subTree=ni(a);O(null,Fe,p,_,a,m,y),f.el=Fe.el}if(Y&&xe(Y,m),!De&&(T=R&&R.onVnodeMounted)){const Fe=f;xe(()=>He(T,G,Fe),m)}(f.shapeFlag&256||G&&Wt(G.vnode)&&G.vnode.shapeFlag&256)&&a.a&&xe(a.a,m),a.isMounted=!0,f=p=_=null}};a.scope.on();const b=a.effect=new ki(S);a.scope.off();const g=a.update=b.run.bind(b),N=a.job=b.runIfDirty.bind(b);N.i=a,N.id=a.uid,b.scheduler=()=>Ms(N),mt(a,!0),g()},ne=(a,f,p)=>{f.component=a;const _=a.vnode.props;a.vnode=f,a.next=null,Ol(a,f.props,_,p),Nl(a,f.children,p),Ge(),sr(a),ze()},X=(a,f,p,_,m,y,x,S,b=!1)=>{const g=a&&a.children,N=a?a.shapeFlag:0,T=f.children,{patchFlag:$,shapeFlag:R}=f;if($>0){if($&128){un(g,T,p,_,m,y,x,S,b);return}else if($&256){ht(g,T,p,_,m,y,x,S,b);return}}R&8?(N&16&&Pt(g,m,y),T!==g&&u(p,T)):N&16?R&16?un(g,T,p,_,m,y,x,S,b):Pt(g,m,y,!0):(N&8&&u(p,""),R&16&&Se(T,p,_,m,y,x,S,b))},ht=(a,f,p,_,m,y,x,S,b)=>{a=a||xt,f=f||xt;const g=a.length,N=f.length,T=Math.min(g,N);let $;for($=0;$<T;$++){const R=f[$]=b?et(f[$]):Ke(f[$]);O(a[$],R,p,null,m,y,x,S,b)}g>N?Pt(a,m,y,!0,!1,T):Se(f,p,_,m,y,x,S,b,T)},un=(a,f,p,_,m,y,x,S,b)=>{let g=0;const N=f.length;let T=a.length-1,$=N-1;for(;g<=T&&g<=$;){const R=a[g],K=f[g]=b?et(f[g]):Ke(f[g]);if(St(R,K))O(R,K,p,null,m,y,x,S,b);else break;g++}for(;g<=T&&g<=$;){const R=a[T],K=f[$]=b?et(f[$]):Ke(f[$]);if(St(R,K))O(R,K,p,null,m,y,x,S,b);else break;T--,$--}if(g>T){if(g<=$){const R=$+1,K=R<N?f[R].el:_;for(;g<=$;)O(null,f[g]=b?et(f[g]):Ke(f[g]),p,K,m,y,x,S,b),g++}}else if(g>$)for(;g<=T;)Pe(a[g],m,y,!0),g++;else{const R=g,K=g,Y=new Map;for(g=K;g<=$;g++){const we=f[g]=b?et(f[g]):Ke(f[g]);we.key!=null&&Y.set(we.key,g)}let G,re=0;const ue=$-K+1;let De=!1,Fe=0;const Rt=new Array(ue);for(g=0;g<ue;g++)Rt[g]=0;for(g=R;g<=T;g++){const we=a[g];if(re>=ue){Pe(we,m,y,!0);continue}let ke;if(we.key!=null)ke=Y.get(we.key);else for(G=K;G<=$;G++)if(Rt[G-K]===0&&St(we,f[G])){ke=G;break}ke===void 0?Pe(we,m,y,!0):(Rt[ke-K]=g+1,ke>=Fe?Fe=ke:De=!0,O(we,f[ke],p,null,m,y,x,S,b),re++)}const js=De?Ll(Rt):xt;for(G=js.length-1,g=ue-1;g>=0;g--){const we=K+g,ke=f[we],Vs=f[we+1],Ks=we+1<N?Vs.el||gs(Vs):_;Rt[g]===0?O(null,ke,p,Ks,m,y,x,S,b):De&&(G<0||g!==js[G]?pt(ke,p,Ks,2):G--)}}},pt=(a,f,p,_,m=null)=>{const{el:y,type:x,transition:S,children:b,shapeFlag:g}=a;if(g&6){pt(a.component.subTree,f,p,_);return}if(g&128){a.suspense.move(f,p,_);return}if(g&64){x.move(a,f,p,$t);return}if(x===ie){s(y,f,p);for(let T=0;T<b.length;T++)pt(b[T],f,p,_);s(a.anchor,f,p);return}if(x===es){V(a,f,p);return}if(_!==2&&g&1&&S)if(_===0)S.persisted&&!y[Oe]?s(y,f,p):(S.beforeEnter(y),s(y,f,p),xe(()=>S.enter(y),m));else{const{leave:T,delayLeave:$,afterLeave:R}=S,K=()=>{a.ctx.isUnmounted?i(y):s(y,f,p)},Y=()=>{const G=y._isLeaving||!!y[Oe];y._isLeaving&&y[Oe](!0),S.persisted&&!G?K():T(y,()=>{K(),R&&R()})};$?$(y,K,Y):Y()}else s(y,f,p)},Pe=(a,f,p,_=!1,m=!1)=>{const{type:y,props:x,ref:S,children:b,dynamicChildren:g,shapeFlag:N,patchFlag:T,dirs:$,cacheIndex:R,memo:K}=a;if((T===-2||g&&g.hasOnce)&&(m=!1),S!=null&&(Ge(),Bt(S,null,p,a,!0),ze()),R!=null&&(!a.ctx||a.ctx===f)&&(f.renderCache[R]=void 0),N&256){f.ctx.deactivate(a);return}const Y=N&1&&$,G=!Wt(a);let re;if(G&&(re=x&&x.onVnodeBeforeUnmount)&&He(re,f,a),N&6)Xr(a.component,p,_);else{if(N&128){a.suspense.unmount(p,_);return}Y&&gt(a,null,f,"beforeUnmount"),N&64?a.type.remove(a,f,p,$t,_):g&&!g.hasOnce&&(y!==ie||T>0&&T&64)?Pt(g,f,p,!1,!0):(y===ie&&T&384||!m&&N&16)&&Pt(b,f,p),_&&Fs(a)}const ue=K!=null&&R==null;(G&&(re=x&&x.onVnodeUnmounted)||Y||ue)&&xe(()=>{re&&He(re,f,a),Y&&gt(a,null,f,"unmounted"),ue&&(a.el=null)},p)},Fs=a=>{const{type:f,el:p,anchor:_,transition:m}=a,y=f===ie;if(y&&!m){ks(p,_);return}if(f===es){M(a),m&&!m.persisted&&m.afterLeave&&m.afterLeave();return}const x=y?Yt(a):a,S=()=>{y?h(p)&&ks(p,_):i(p),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(x&&x.shapeFlag&1&&m&&!m.persisted){const{leave:b,delayLeave:g}=m,N=x.el,T=()=>b(N,S);g?g(N,S,T):T()}else S()},ks=(a,f)=>{let p;for(;a!==f;)p=v(a),i(a),a=p;i(f)},Xr=(a,f,p)=>{const{bum:_,scope:m,job:y,subTree:x,um:S,m:b,a:g}=a;ri(b),ri(g),_&&yn(_),m.stop(),y?(y.flags|=8,Pe(x,a,f,p)):a.vnode.el&&x&&(x.transition=a.vnode.transition,Pe(x,a,f,p)),S&&xe(S,f),xe(()=>{a.isUnmounted=!0},f)},Pt=(a,f,p,_=!1,m=!1,y=0)=>{for(let x=y;x<a.length;x++)Pe(a[x],f,p,_,m)},fn=a=>{if(a.shapeFlag&6)return fn(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const f=v(a.anchor||a.el),p=f&&f[Yo];return p?v(p):f},Hs=(a,f,p)=>{const _=a&&f._vnode?void 0:a&&a.component?a.component.uid:Vl();Bo(()=>{a==null?f._vnode&&Pe(f._vnode,null,null,!0):O(f._vnode||null,a,f,null,null,null,p),f._vnode=a},_)},$t={p:O,um:Pe,m:pt,r:Fs,mt:he,mc:Se,pc:X,pbc:q,n:fn,o:e};return{render:Hs,hydrate:void 0,createApp:_l(Hs)}}function Qn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function mt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Rl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Nr(e,t,n=!1){const s=e.children,i=t.children;if(P(s)&&P(i))for(let r=0;r<s.length;r++){const o=s[r];let l=i[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=i[r]=et(i[r]),l.el=o.el),!n&&l.patchFlag!==-2&&Nr(o,l)),l.type===Kn&&(l.patchFlag===-1&&(l=i[r]=et(l)),l.el=o.el),l.type===ge&&!l.el&&(l.el=o.el)}}function Ll(e){const t=e.slice(),n=[0];let s,i,r,o,l;const c=e.length;for(s=0;s<c;s++){const d=e[s];if(d!==0){if(i=n[n.length-1],e[i]<d){t[s]=i,n.push(s);continue}for(r=0,o=n.length-1;r<o;)l=r+o>>1,e[n[l]]<d?r=l+1:o=l;d<e[n[r]]&&(r>0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,o=n[r-1];r-- >0;)n[r]=o,o=t[o];return n}function Pr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Pr(t)}function ri(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function gs(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?gs(t.subTree):null}const $r=e=>e.__isSuspense;function Dl(e,t){t&&t.pendingBranch?P(e)?t.effects.push(...e):t.effects.push(e):Uo(e)}const ie=Symbol.for("v-fgt"),Kn=Symbol.for("v-txt"),ge=Symbol.for("v-cmt"),es=Symbol.for("v-stc"),Tt=[];let Ae=null;function C(e=!1){Tt.push(Ae=e?null:[])}function Rr(){Tt.pop(),Ae=Tt[Tt.length-1]||null}let Zt=1;function Cn(e,t=!1){Zt+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function Lr(e){return e.dynamicChildren=Zt>0?Ae||xt:null,Rr(),Zt>0&&Ae&&Ae.push(e),e}function I(e,t,n,s,i,r){return Lr(E(e,t,n,s,i,r,!0))}function bt(e,t,n,s,i){return Lr(ee(e,t,n,s,i,!0))}function Xt(e){return e?e.__v_isVNode===!0:!1}function St(e,t){return e.type===t.type&&e.key===t.key}const Dr=({key:e})=>e??null,vn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||me(e)||D(e)?{i:Ee,r:e,k:t,f:!!n}:e:null);function E(e,t=null,n=null,s=0,i=null,r=e===ie?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Dr(t),ref:t&&vn(t),scopeId:or,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ee};return l?(On(c,n),r&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),Zt>0&&!o&&Ae&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&Ae.push(c),c}const ee=Fl;function Fl(e,t=null,n=null,s=0,i=null,r=!1){if((!e||e===ul)&&(e=ge),Xt(e)){const l=dt(e,t,!0);return n&&On(l,n),Zt>0&&!r&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(Gl(e)&&(e=e.__vccOpts),t){t=kl(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=on(l)),W(c)&&(Is(c)&&!P(c)&&(c=le({},c)),t.style=Ss(c))}const o=se(e)?1:$r(e)?128:kn(e)?64:W(e)?4:D(e)?2:0;return E(e,t,n,s,i,o,r,!0)}function kl(e){return e?Is(e)||Ar(e)?le({},e):e:null}function dt(e,t,n=!1,s=!1){const{props:i,ref:r,patchFlag:o,children:l,transition:c}=e,d=t?Hl(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Dr(d),ref:t&&t.ref?n&&r?P(r)?r.concat(vn(t)):[r,vn(t)]:vn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ie?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&dt(e.ssContent),ssFallback:e.ssFallback&&dt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&s&&Nt(u,c.clone(u)),u}function cn(e=" ",t=0){return ee(Kn,null,e,t)}function Qt(e="",t=!1){return t?(C(),bt(ge,null,e)):ee(ge,null,e)}function Ke(e){return e==null||typeof e=="boolean"?ee(ge):P(e)?ee(ie,null,e.slice()):Xt(e)?et(e):ee(Kn,null,String(e))}function et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:dt(e)}function On(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(P(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),On(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!Ar(t)?t._ctx=Ee:i===3&&Ee&&(Ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(D(t)){if(s&65){On(e,{default:t});return}t={default:t,_ctx:Ee},n=32}else t=String(t),s&64?(n=16,t=[cn(t)]):n=8;e.children=t,e.shapeFlag|=n}function Hl(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const i in s)if(i==="class")t.class!==s.class&&(t.class=on([t.class,s.class]));else if(i==="style")t.style=Ss([t.style,s.style]);else if(Nn(i)){const r=t[i],o=s[i];o&&r!==o&&!(P(r)&&r.includes(o))?t[i]=r?[].concat(r,o):o:o==null&&r==null&&!Pn(i)&&(t[i]=o)}else i!==""&&(t[i]=s[i])}return t}function He(e,t,n,s=null){Ne(e,t,7,[n,s])}const jl=vr();let Fr=0;function Vl(){return Fr}function Kl(e,t,n){const s=e.type,i=(t?t.appContext:e.appContext)||jl,r={uid:Fr++,vnode:e,type:s,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new po(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Or(s,i),emitsOptions:br(s,i),emit:null,emitted:null,propsDefaults:Z,inheritAttrs:s.inheritAttrs,ctx:Z,data:Z,props:Z,attrs:Z,slots:Z,refs:Z,setupState:Z,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=bl.bind(null,r),e.ce&&e.ce(r),r}let be=null;const kr=()=>be||Ee;let En,en;{const e=Rn(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};En=t("__VUE_INSTANCE_SETTERS__",n=>be=n),en=t("__VUE_SSR_SETTERS__",n=>tn=n)}const an=e=>{const t=be;return En(e),e.scope.on(),()=>{e.scope.off(),En(t)}},oi=()=>{be&&be.scope.off(),En(null)};function Hr(e){return e.vnode.shapeFlag&4}let tn=!1;function Ul(e,t=!1,n=!1){t&&en(t);const{props:s,children:i}=e.vnode,r=Hr(e);Cl(e,s,r,t),Ml(e,i,n||t);const o=r?Bl(e,t):void 0;return t&&en(!1),o}function Bl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fl);const{setup:s}=n;if(s){Ge();const i=e.setupContext=s.length>1?ql(e):null,r=an(e),o=ln(s,e,0,[e.props,i]),l=Ii(o);if(ze(),r(),(l||e.sp)&&!Wt(e)&&pr(e),l){if(o.then(oi,oi),t)return o.then(c=>{en(!0);try{li(e,c,t)}finally{en(!1)}}).catch(c=>{Fn(c,e,0)});e.asyncDep=o}else li(e,o)}else jr(e)}function li(e,t,n){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:W(t)&&(e.setupState=Qi(t)),jr(e)}function jr(e,t,n){const s=e.type;e.render||(e.render=s.render||We);{const i=an(e);Ge();try{dl(e)}finally{ze(),i()}}}const Wl={get(e,t){return pe(e,"get",""),e[t]}};function ql(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Wl),slots:e.slots,emit:e.emit,expose:t}}function Un(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qi($o(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in qt)return qt[n](e)},has(t,n){return n in t||n in qt}})):e.proxy}function Gl(e){return D(e)&&"__vccOpts"in e}const nn=(e,t)=>ko(e,t,tn);function zl(e,t,n){try{Cn(-1);const s=arguments.length;return s===2?W(t)&&!P(t)?Xt(t)?ee(e,null,[t]):ee(e,t):ee(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Xt(n)&&(n=[n]),ee(e,t,n))}finally{Cn(1)}}const Jl="3.5.44";/**
14
- * @vue/runtime-dom v3.5.44
15
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
- * @license MIT
17
- **/let ms;const ci=typeof window<"u"&&window.trustedTypes;if(ci)try{ms=ci.createPolicy("vue",{createHTML:e=>e})}catch{}const Vr=ms?e=>ms.createHTML(e):e=>e,Yl="http://www.w3.org/2000/svg",Zl="http://www.w3.org/1998/Math/MathML",Qe=typeof document<"u"?document:null,ai=Qe&&Qe.createElement("template"),Xl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?Qe.createElementNS(Yl,e):t==="mathml"?Qe.createElementNS(Zl,e):n?Qe.createElement(e,{is:n}):Qe.createElement(e);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>Qe.createTextNode(e),createComment:e=>Qe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Qe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,r){const o=n?n.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===r||!(i=i.nextSibling)););else{ai.innerHTML=Vr(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=ai.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},rt="transition",Ft="animation",sn=Symbol("_vtc"),Kr={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ql=le({},ur,Kr),ec=e=>(e.displayName="Transition",e.props=Ql,e),tc=ec((e,{slots:t})=>zl(Qo,nc(e),t)),yt=(e,t=[])=>{P(e)?e.forEach(n=>n(...t)):e&&e(...t)},ui=e=>e?P(e)?e.some(t=>t.length>1):e.length>1:!1;function nc(e){const t={};for(const A in e)A in Kr||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:r=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=r,appearActiveClass:d=o,appearToClass:u=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:w=`${n}-leave-to`}=e,F=sc(i),O=F&&F[0],k=F&&F[1],{onBeforeEnter:j,onEnter:L,onEnterCancelled:V,onLeave:M,onLeaveCancelled:z,onBeforeAppear:ce=j,onAppear:ye=L,onAppearCancelled:Se=V}=t,H=(A,J,he,Ye)=>{A._enterCancelled=Ye,_t(A,J?u:l),_t(A,J?d:o),he&&he()},q=(A,J)=>{A._isLeaving=!1,_t(A,h),_t(A,w),_t(A,v),J&&J()},te=A=>(J,he)=>{const Ye=A?ye:L,ae=()=>H(J,A,he);yt(Ye,[J,ae]),fi(()=>{_t(J,A?c:r),Xe(J,A?u:l),ui(Ye)||di(J,s,O,ae)})};return le(t,{onBeforeEnter(A){yt(j,[A]),Xe(A,r),Xe(A,o)},onBeforeAppear(A){yt(ce,[A]),Xe(A,c),Xe(A,d)},onEnter:te(!1),onAppear:te(!0),onLeave(A,J){A._isLeaving=!0;const he=()=>q(A,J);Xe(A,h),A._enterCancelled?(Xe(A,v),gi(A)):(gi(A),Xe(A,v)),fi(()=>{A._isLeaving&&(_t(A,h),Xe(A,w),ui(M)||di(A,s,k,he))}),yt(M,[A,he])},onEnterCancelled(A){H(A,!1,void 0,!0),yt(V,[A])},onAppearCancelled(A){H(A,!0,void 0,!0),yt(Se,[A])},onLeaveCancelled(A){q(A),yt(z,[A])}})}function sc(e){if(e==null)return null;if(W(e))return[ts(e.enter),ts(e.leave)];{const t=ts(e);return[t,t]}}function ts(e){return so(e)}function Xe(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[sn]||(e[sn]=new Set)).add(t)}function _t(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[sn];n&&(n.delete(t),n.size||(e[sn]=void 0))}function fi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ic=0;function di(e,t,n,s){const i=e._endId=++ic,r=()=>{i===e._endId&&s()};if(n!=null)return setTimeout(r,n);const{type:o,timeout:l,propCount:c}=rc(e,t);if(!o)return s();const d=o+"end";let u=0;const h=()=>{e.removeEventListener(d,v),r()},v=w=>{w.target===e&&++u>=c&&h()};setTimeout(()=>{u<c&&h()},l+1),e.addEventListener(d,v)}function rc(e,t){const n=window.getComputedStyle(e),s=F=>(n[F]||"").split(", "),i=s(`${rt}Delay`),r=s(`${rt}Duration`),o=hi(i,r),l=s(`${Ft}Delay`),c=s(`${Ft}Duration`),d=hi(l,c);let u=null,h=0,v=0;t===rt?o>0&&(u=rt,h=o,v=r.length):t===Ft?d>0&&(u=Ft,h=d,v=c.length):(h=Math.max(o,d),u=h>0?o>d?rt:Ft:null,v=u?u===rt?r.length:c.length:0);const w=u===rt&&/\b(?:transform|all)(?:,|$)/.test(s(`${rt}Property`).toString());return{type:u,timeout:h,propCount:v,hasTransform:w}}function hi(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>pi(n)+pi(e[s])))}function pi(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function gi(e){return(e?e.ownerDocument:document).body.offsetHeight}function oc(e,t,n){const s=e[sn];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const mi=Symbol("_vod"),lc=Symbol("_vsh"),cc=Symbol(""),ac=/(?:^|;)\s*display\s*:/;function uc(e,t,n){const s=e.style,i=se(n);let r=!1;if(n&&!i){if(t)if(se(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Ht(s,l,"")}else for(const o in t)n[o]==null&&Ht(s,o,"");for(const o in n){o==="display"&&(r=!0);const l=n[o];l!=null?dc(e,o,!se(t)&&t?t[o]:void 0,l)||Ht(s,o,l):Ht(s,o,"")}}else if(i){if(t!==n){const o=s[cc];o&&(n+=";"+o),s.cssText=n,r=ac.test(n)}}else t&&e.removeAttribute("style");mi in e&&((!i||t!==n)&&(e[mi]=r?s.display:""),e[lc]&&(s.display="none"))}const gn=/\s*!important$/;function Ht(e,t,n){if(P(n))n.forEach(s=>Ht(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))gn.test(n)?e.setProperty(t,n.replace(gn,""),"important"):e.setProperty(t,n);else{const s=fc(e,t);gn.test(n)?e.setProperty(Ct(s),n.replace(gn,""),"important"):e[s]=n}}const yi=["Webkit","Moz","ms"],ns={};function fc(e,t){const n=ns[t];if(n)return n;let s=Re(t);if(s!=="filter"&&s in e)return ns[t]=s;s=Pi(s);for(let i=0;i<yi.length;i++){const r=yi[i]+s;if(r in e)return ns[t]=r}return t}function dc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&se(s)&&n===s}const _i="http://www.w3.org/1999/xlink";function vi(e,t,n,s,i,r=ao(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(_i,t.slice(6,t.length)):e.setAttributeNS(_i,t,n):n==null||r&&!Li(n)?e.removeAttribute(t):e.setAttribute(t,r?"":qe(n)?String(n):n)}function bi(e,t,n,s,i){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Vr(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const l=r==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Li(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function Ur(e,t,n,s){e.addEventListener(t,n,s)}function hc(e,t,n,s){e.removeEventListener(t,n,s)}const Si=Symbol("_vei");function pc(e,t,n,s,i=null){const r=e[Si]||(e[Si]={}),o=r[t];if(s&&o)o.value=s;else{const[l,c]=yc(t);if(s){const d=r[t]=bc(s,i);Ur(e,l,d,c)}else o&&(hc(e,l,o,c),r[t]=void 0)}}const gc=/(Once|Passive|Capture)$/,mc=/^on:?(?:Once|Passive|Capture)$/;function yc(e){let t,n;for(;(n=e.match(gc))&&!mc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Ct(e.slice(2)),t]}let ss=0;const _c=Promise.resolve(),vc=()=>ss||(_c.then(()=>ss=0),ss=Date.now());function bc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const i=n.value;if(P(i)){const r=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{r.call(s),s._stopped=!0};const o=i.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const d=o[c];d&&Ne(d,t,5,l)}}else Ne(i,t,5,[s])};return n.value=e,n.attached=vc(),n}const xi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Sc=(e,t,n,s,i,r)=>{const o=i==="svg";t==="class"?oc(e,s,o):t==="style"?uc(e,n,s):Nn(t)?Pn(t)||pc(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xc(e,t,s,o))?(bi(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&vi(e,t,s,o,r,t!=="value")):e._isVueCE&&(wc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!se(s)))?bi(e,Re(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),vi(e,t,s,o))};function xc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&xi(t)&&D(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return xi(t)&&se(n)?!1:t in e}function wc(e,t){const n=e._def.props;if(!n)return!1;const s=Re(t);return Array.isArray(n)?n.some(i=>Re(i)===s):Object.keys(n).some(i=>Re(i)===s)}const wi=e=>{const t=e.props["onUpdate:modelValue"]||!1;return P(t)?n=>yn(t,n):t},is=Symbol("_assign"),Tc={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,Ur(e,"change",()=>{const i=Array.prototype.filter.call(e.options,c=>c.selected).map(c=>n?Ri(In(c)):In(c)),r=e.multiple,o=r?At(e._modelValue)?new Set(i):i:i[0],l=e._pendingValue=[r,r?P(o)?i.slice():i:o];try{e[is](o)}finally{tr(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[is]=wi(s)},mounted(e,{value:t}){Ti(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[is]=wi(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!Ac(t,n[1],n[0]))&&Ti(e,t)}};function Ac(e,t,n){if(!n||P(e))return at(e,t);if(At(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function Ti(e,t){const n=e.multiple,s=P(t);if(!(n&&!s&&!At(t))){for(let i=0,r=e.options.length;i<r;i++){const o=e.options[i],l=In(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=ho(t,l)>-1}else o.selected=t.has(l);else if(at(In(o),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function In(e){return"_value"in e?e._value:e.value}const Cc=le({patchProp:Sc},Xl);let Ai;function Oc(){return Ai||(Ai=Pl(Cc))}const Ec=((...e)=>{const t=Oc().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=Mc(s);if(!i)return;const r=t._component;!D(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=n(i,!1,Ic(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t});function Ic(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Mc(e){return se(e)?document.querySelector(e):e}const Nc={key:0,class:"unknown"},Pc={key:1},Be=st({__name:"ValueOrUnknown",props:{value:{}},setup(e){return(t,n)=>e.value===null||e.value===void 0||e.value===""?(C(),I("span",Nc,"UNKNOWN")):(C(),I("span",Pc,oe(e.value),1))}}),$c={id:"checkpoints",class:"panel","aria-labelledby":"checkpoints-h"},Rc={key:0,class:"empty"},Lc={key:1,class:"empty"},Dc={key:2,class:"cards"},Fc={class:"card-head"},kc={class:"muted"},Hc={key:0,class:"muted","data-testid":"checkpoint-count"},jc={class:"steps"},Vc={key:0},Kc={key:1,class:"muted"},Uc={key:2},Bc=st({__name:"CheckpointsPanel",props:{checkpoints:{}},setup(e){return(t,n)=>(C(),I("section",$c,[n[3]||(n[3]=E("h2",{id:"checkpoints-h"},"Checkpoints",-1)),n[4]||(n[4]=E("p",{class:"muted"},"Latest checkpoint per active mission",-1)),e.checkpoints===null?(C(),I("p",Rc,[...n[0]||(n[0]=[E("span",{class:"unknown"},"NOT AVAILABLE",-1)])])):e.checkpoints.length===0?(C(),I("p",Lc,"No checkpoints recorded.")):(C(),I("ul",Dc,[(C(!0),I(ie,null,ft(e.checkpoints,s=>(C(),I("li",{key:s.id,class:"card","data-testid":"checkpoint"},[E("div",Fc,[E("code",null,oe(s.id),1),E("span",kc,[ee(Be,{value:s.createdAt},null,8,["value"])])]),s.recordedCount!==void 0?(C(),I("p",Hc,oe(s.recordedCount)+" recorded "+oe(s.recordedCount===1?"checkpoint":"checkpoints"),1)):Qt("",!0),E("p",null,[ee(Be,{value:s.summary},null,8,["value"])]),E("div",jc,[n[2]||(n[2]=E("h4",null,[cn("Remaining steps "),E("span",{class:"tag"},"historical record as of this checkpoint, not the current plan")],-1)),s.remainingSteps===null?(C(),I("p",Vc,[...n[1]||(n[1]=[E("span",{class:"unknown"},"UNKNOWN",-1)])])):s.remainingSteps.length===0?(C(),I("p",Kc,"None recorded.")):(C(),I("ul",Uc,[(C(!0),I(ie,null,ft(s.remainingSteps,(i,r)=>(C(),I("li",{key:r},oe(i),1))),128))]))])]))),128))]))]))}}),Wc={id:"mission",class:"panel","aria-labelledby":"mission-h"},qc={key:0,class:"empty"},Gc={key:1,class:"empty"},zc={key:2,class:"cards"},Jc={class:"card-head"},Yc={class:"status status-active"},Zc={class:"facts compact"},Xc=st({__name:"CurrentMission",props:{missions:{}},setup(e){const t=e,n=nn(()=>(t.missions??[]).filter(s=>s.status==="in_progress"));return(s,i)=>(C(),I("section",Wc,[i[3]||(i[3]=E("h2",{id:"mission-h"},"Current Mission",-1)),e.missions===null?(C(),I("p",qc,[...i[0]||(i[0]=[E("span",{class:"unknown"},"NOT AVAILABLE",-1)])])):n.value.length===0?(C(),I("p",Gc,"No active missions.")):(C(),I("ul",zc,[(C(!0),I(ie,null,ft(n.value,r=>(C(),I("li",{key:r.id,class:"card","data-testid":"mission"},[E("div",Jc,[E("code",null,oe(r.id),1),E("span",Yc,oe(r.status),1)]),E("h3",null,[ee(Be,{value:r.title},null,8,["value"])]),E("p",null,[ee(Be,{value:r.summary},null,8,["value"])]),E("dl",Zc,[i[1]||(i[1]=E("dt",null,"Started",-1)),E("dd",null,[ee(Be,{value:r.startedAt},null,8,["value"])]),i[2]||(i[2]=E("dt",null,"Updated",-1)),E("dd",null,[ee(Be,{value:r.updatedAt},null,8,["value"])])])]))),128))]))]))}}),Qc={id:"diagnostics",class:"panel","aria-labelledby":"diagnostics-h"},ea={class:"facts"},ta={key:0,class:"muted"},na={key:1,class:"muted"},sa={key:2,class:"empty"},ia={key:3,class:"diag"},ra={class:"sev"},oa={key:4,class:"empty"},la={key:5,class:"diag","data-testid":"missing"},ca=st({__name:"DiagnosticsPanel",props:{data:{}},setup(e){const t=e,n=nn(()=>{const s=t.data,i=[];s.overview.name===null&&i.push("overview.name"),s.overview.description===null&&i.push("overview.description"),s.overview.stateRevision===null&&i.push("overview.stateRevision"),s.overview.currentStory===null&&i.push("overview.currentStory"),s.roadmapText===null&&i.push("roadmapText"),s.missions===null&&i.push("missions"),s.checkpoints===null&&i.push("checkpoints");for(const r of s.missions??[])for(const o of["title","summary","startedAt","updatedAt"])r[o]===null&&i.push(`mission ${r.id}.${o}`);for(const r of s.checkpoints??[])for(const o of["createdAt","summary","remainingSteps"])r[o]===null&&i.push(`checkpoint ${r.id}.${o}`);return i});return(s,i)=>(C(),I("section",Qc,[i[1]||(i[1]=E("h2",{id:"diagnostics-h"},"Diagnostics",-1)),E("dl",ea,[i[0]||(i[0]=E("dt",null,"Data source",-1)),E("dd",null,oe(e.data.isDemo?"Synthetic demo fixtures (available)":"MONOLITH HTTP API (GET /api/dashboard)"),1)]),e.data.isDemo?(C(),I("p",ta," No runtime checks of a real project are performed. Security status of MONOLITH Core is not reported here. ")):(C(),I("p",na," Only the availability of the fixed source files is reported. Project validity and the security status of MONOLITH Core are not reported here. ")),i[2]||(i[2]=E("h3",null,"Messages",-1)),e.data.diagnostics.length===0?(C(),I("p",sa,"No diagnostic messages.")):(C(),I("ul",ia,[(C(!0),I(ie,null,ft(e.data.diagnostics,(r,o)=>(C(),I("li",{key:o,class:on(`sev-${r.severity}`),"data-testid":"diagnostic"},[E("span",ra,oe(r.severity),1),cn(" "+oe(r.message),1)],2))),128))])),i[3]||(i[3]=E("h3",null,"Missing values",-1)),n.value.length===0?(C(),I("p",oa,"None.")):(C(),I("ul",la,[(C(!0),I(ie,null,ft(n.value,r=>(C(),I("li",{key:r},[E("code",null,oe(r),1)]))),128))]))]))}}),aa={id:"overview",class:"panel","aria-labelledby":"overview-h"},ua={class:"facts"},fa={key:0,class:"story","data-testid":"current-story"},da=st({__name:"ProjectOverview",props:{overview:{}},setup(e){return(t,n)=>(C(),I("section",aa,[n[4]||(n[4]=E("h2",{id:"overview-h"},"Project Overview",-1)),E("dl",ua,[n[2]||(n[2]=E("dt",null,"Name",-1)),E("dd",null,[ee(Be,{value:e.overview.name},null,8,["value"])]),e.overview.description!==void 0?(C(),I(ie,{key:0},[n[0]||(n[0]=E("dt",null,"Description",-1)),E("dd",null,[ee(Be,{value:e.overview.description},null,8,["value"])])],64)):Qt("",!0),n[3]||(n[3]=E("dt",null,"State revision",-1)),E("dd",null,[ee(Be,{value:e.overview.stateRevision},null,8,["value"])]),e.overview.currentStory!==void 0?(C(),I(ie,{key:1},[n[1]||(n[1]=E("dt",null,"Current story",-1)),E("dd",null,[e.overview.currentStory?(C(),I("pre",fa,oe(e.overview.currentStory),1)):(C(),bt(Be,{key:1,value:null}))])],64)):Qt("",!0)])]))}}),ha={id:"roadmap",class:"panel","aria-labelledby":"roadmap-h"},pa={key:0,class:"empty"},ga={key:1,class:"empty"},ma={key:2,class:"roadmap","data-testid":"roadmap-text"},ya=st({__name:"RoadmapPanel",props:{text:{}},setup(e){return(t,n)=>(C(),I("section",ha,[n[1]||(n[1]=E("h2",{id:"roadmap-h"},"Roadmap",-1)),e.text===null?(C(),I("p",pa,[...n[0]||(n[0]=[E("span",{class:"unknown"},"NOT AVAILABLE",-1)])])):e.text.trim()===""?(C(),I("p",ga,"Roadmap is empty.")):(C(),I("pre",ma,oe(e.text),1))]))}}),Ls=[{id:"overview",label:"Project Overview"},{id:"mission",label:"Current Mission"},{id:"checkpoints",label:"Checkpoints"},{id:"roadmap",label:"Roadmap"},{id:"diagnostics",label:"Diagnostics"}],Br=Ls[0].id;function Wr(e){return Ls.some(t=>t.id===e)}function Ci(e){const t=e.replace(/^#/,"");return Wr(t)?t:Br}const qr=["classic","cosmic-glass"],ys="classic",Gr="monolith.skin";function Ds(e){return typeof e=="string"&&qr.includes(e)}function _a(){try{const e=window.localStorage.getItem(Gr);return Ds(e)?e:ys}catch{return ys}}function zr(e){document.documentElement.dataset.skin=e}function va(e){try{window.localStorage.setItem(Gr,e)}catch{}}function ba(e){zr(e),va(e)}function Sa(){const e=_a();return zr(e),e}function xa(){const e=document.documentElement.dataset.skin;return Ds(e)?e:ys}const wa={class:"skin-switcher"},Ta=["value"],Aa=["value"],Ca=st({__name:"SkinSwitcher",setup(e){const t={classic:"Classic","cosmic-glass":"Cosmic Glass"},n=It(xa());function s(i){const r=i.target.value;Ds(r)&&(n.value=r,ba(r))}return(i,r)=>(C(),I("label",wa,[r[0]||(r[0]=cn(" Skin ",-1)),E("select",{value:n.value,"data-testid":"skin-select","aria-label":"Skin",onChange:s},[(C(!0),I(ie,null,ft(Dn(qr),o=>(C(),I("option",{key:o,value:o},oe(t[o]),9,Aa))),128))],40,Ta)]))}}),Oa=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},Ea=Oa(Ca,[["__scopeId","data-v-76c1c45c"]]),Ia={class:"sidebar-head"},Ma=["aria-expanded"],Na={id:"sidebar-panel",class:"sidebar-panel","data-testid":"sidebar-panel"},Pa={key:0,class:"nav","aria-label":"Sections"},$a=["href","aria-current","onClick"],Ra=st({__name:"SideNav",props:{sections:{type:Boolean},active:{}},emits:["select"],setup(e,{emit:t}){const n=t;function s(l,c){var d;l.button!==0||l.ctrlKey||l.metaKey||l.shiftKey||l.altKey||(l.preventDefault(),n("select",c),i.value&&(i.value=!1,(d=r.value)==null||d.focus()))}const i=It(!1),r=It(null);function o(l){var c;l.key==="Escape"&&i.value&&(i.value=!1,(c=r.value)==null||c.focus())}return(l,c)=>(C(),I("aside",{class:on(["sidebar",{open:i.value}]),onKeydown:o},[E("div",Ia,[c[1]||(c[1]=E("div",{class:"brand"},[E("strong",null,"MONOLITH"),E("span",{class:"muted"},"Mission Control")],-1)),E("button",{ref_key:"toggle",ref:r,type:"button",class:"nav-toggle","data-testid":"nav-toggle","aria-controls":"sidebar-panel","aria-expanded":i.value,onClick:c[0]||(c[0]=d=>i.value=!i.value)},oe(i.value?"Close menu":"Menu"),9,Ma)]),E("div",Na,[e.sections?(C(),I("nav",Pa,[(C(!0),I(ie,null,ft(Dn(Ls),d=>(C(),I("a",{key:d.id,href:`#${d.id}`,"aria-current":d.id===e.active?"location":void 0,onClick:u=>s(u,d.id)},oe(d.label),9,$a))),128))])):Qt("",!0),ee(Ea)])],34))}}),La=`# Tidewatch roadmap (demo text)
18
-
19
- Phase 1 - Ingest
20
- - Sensor adapter for harbor gauges
21
- - Draft: <phase> parser (HTML-like text is shown as plain text)
22
-
23
- Phase 2 - Reporting
24
- - Daily tide summary
25
- - Export to CSV
26
-
27
- Phase 3 - Alerts
28
- - Threshold notifications`,Da={isDemo:!0,overview:{name:"Tidewatch (demo)",description:"Fictional harbor tide-logging service used to exercise the dashboard.",stateRevision:14},missions:[{id:"MIS-0003",title:"Add gauge calibration import",status:"in_progress",summary:"Import calibration offsets from a CSV file.",startedAt:"2026-03-02T09:15:00.000Z",updatedAt:"2026-03-04T16:40:00.000Z"},{id:"MIS-0004",title:"Fix timezone drift in daily summary",status:"in_progress",summary:"Summaries cross midnight incorrectly for UTC+13.",startedAt:"2026-03-03T11:00:00.000Z",updatedAt:"2026-03-03T11:00:00.000Z"},{id:"MIS-0002",title:"Initial ingest adapter",status:"completed",summary:"Adapter shipped.",startedAt:"2026-02-10T08:00:00.000Z",updatedAt:"2026-02-20T18:30:00.000Z"}],checkpoints:[{id:"MIS-0003-CKPT-0002",missionId:"MIS-0003",createdAt:"2026-03-04T16:40:00.000Z",summary:"CSV parser done; offset validation pending.",remainingSteps:["Validate offset ranges","Write import tests","Document CSV format"]},{id:"MIS-0003-CKPT-0001",missionId:"MIS-0003",createdAt:"2026-03-03T10:05:00.000Z",summary:"Scoped the CSV format.",remainingSteps:["Implement parser","Validate offset ranges"]}],roadmapText:La,diagnostics:[{severity:"info",message:'Fixture "normal" loaded.'},{severity:"warning",message:"Sample warning: fixture state revision is older than expected."}]},Fa={isDemo:!0,overview:{name:"Tidewatch (demo)",description:null,stateRevision:null},missions:[{id:"MIS-0007",title:null,status:"in_progress",summary:null,startedAt:"2026-03-05T09:00:00.000Z",updatedAt:null}],checkpoints:[{id:"MIS-0007-CKPT-0001",missionId:"MIS-0007",createdAt:null,summary:null,remainingSteps:null}],roadmapText:null,diagnostics:[{severity:"info",message:'Fixture "partial" loaded.'},{severity:"error",message:"Sample error: roadmap source could not be read."}]},ka={isDemo:!0,overview:{name:"Tidewatch (demo)",description:"Fictional project with no recorded work.",stateRevision:0},missions:[],checkpoints:[],roadmapText:"",diagnostics:[{severity:"info",message:'Fixture "empty" loaded.'}]},Jr={normal:Da,partial:Fa,empty:ka},Oi=Object.keys(Jr),Ha={available:"info",absent:"warning",corrupt:"error",forbidden:"error",unreadable:"error"};function ja(e){const t=e.path===null?"path unknown":e.path;return`${e.id} (${t}): ${e.status}${e.code===null?"":` [${e.code}]`}`}function Va(e){var o;const t=e.projectOverview.data,n=e.currentMissions.data,s=e.checkpoints.data,i=e.roadmap.data,r=[{severity:"info",message:"Source availability only; monolith validate was not run."},...e.diagnostics.sources.map(l=>({severity:Ha[l.status],message:ja(l)})),...e.diagnostics.notes.map(l=>({severity:l.severity==="warn"?"warning":"info",message:l.code}))];return{isDemo:!1,overview:{name:(t==null?void 0:t.name)??null,stateRevision:(t==null?void 0:t.stateRevision)??null,currentStory:t===null?null:((o=t.currentStory)==null?void 0:o.excerpt)??null},missions:n===null?null:n.active.map(l=>({id:l.id,title:l.title,status:l.status,summary:l.summary,startedAt:l.startedAt,updatedAt:l.updatedAt})),checkpoints:s===null?null:s.byActiveMission.flatMap(l=>l.latest===null?[]:[{id:l.latest.id,missionId:l.latest.missionId,createdAt:l.latest.createdAt,summary:l.latest.summary,remainingSteps:l.latest.remainingSteps,recordedCount:l.count}]),roadmapText:i===null?null:i.text,diagnostics:r}}const Te=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),de=e=>typeof e=="string",Mn=e=>e===null||typeof e=="string",Ka=e=>e===null||typeof e=="number"&&Number.isFinite(e),Ua=e=>typeof e=="number"&&Number.isFinite(e),Yr=(e,t)=>Array.isArray(e)&&e.every(t),Ba=["in_progress","completed","failed","cancelled"],Wa=["available","absent","corrupt","forbidden","unreadable"];function Zr(e){return Te(e)&&de(e.id)&&Mn(e.path)&&de(e.status)&&Wa.includes(e.status)&&Mn(e.code)}function mn(e,t){return Te(e)&&Yr(e.sources,Zr)&&(e.data===null||t(e.data))}function qa(e){return Te(e)&&de(e.id)&&de(e.title)&&de(e.status)&&Ba.includes(e.status)&&Mn(e.summary)&&de(e.startedAt)&&de(e.updatedAt)}function Ga(e){return Te(e)&&de(e.id)&&de(e.missionId)&&de(e.createdAt)&&de(e.summary)&&Yr(e.remainingSteps,de)}function za(e){return Te(e)&&Mn(e.name)&&Ka(e.stateRevision)&&(e.currentStory===null||Te(e.currentStory)&&de(e.currentStory.excerpt)&&de(e.currentStory.lineRange))}function Ja(e){if(!Te(e))return!1;const t=e.diagnostics;return mn(e.projectOverview,za)&&mn(e.currentMissions,n=>Te(n)&&Array.isArray(n.active)&&n.active.every(qa))&&mn(e.checkpoints,n=>Te(n)&&Array.isArray(n.byActiveMission)&&n.byActiveMission.every(s=>Te(s)&&de(s.missionId)&&Ua(s.count)&&(s.latest===null||Ga(s.latest))))&&mn(e.roadmap,n=>Te(n)&&de(n.text))&&Te(t)&&Array.isArray(t.sources)&&t.sources.every(Zr)&&Array.isArray(t.notes)&&t.notes.every(n=>Te(n)&&de(n.code)&&(n.severity==="info"||n.severity==="warn"))}const Ya="/api/dashboard",Za=["HOST_NOT_ALLOWED","ORIGIN_NOT_ALLOWED","NOT_FOUND","METHOD_NOT_ALLOWED","RESPONSE_TOO_LARGE","INTERNAL_ERROR"];class jt extends Error{}async function Xa(e){var t;try{const n=await e.json(),s=(t=n==null?void 0:n.error)==null?void 0:t.code;return typeof s=="string"&&Za.includes(s)?s:null}catch{return null}}async function Qa(e=fetch){let t;try{t=await e(Ya,{method:"GET",headers:{Accept:"application/json"},cache:"no-store",credentials:"omit",redirect:"error"})}catch{throw new jt("The MONOLITH API is unreachable.")}if(!t.ok){const s=await Xa(t);throw new jt(`Dashboard request failed (HTTP ${t.status}${s?`, ${s}`:""}). Check whether the MONOLITH dev API is running.`)}let n;try{n=await t.json()}catch{throw new jt("The MONOLITH API returned a response that is not valid JSON.")}if(!Ja(n))throw new jt("The MONOLITH API returned an unexpected data shape.");return n}const eu={class:"shell"},tu={class:"shell-main"},nu={class:"topbar"},su={class:"project"},iu={class:"topbar-right"},ru={key:0,class:"scenario"},ou=["value"],lu=["disabled"],cu={key:2,class:"demo-badge","data-testid":"demo-badge"},au={key:3,class:"live-badge","data-testid":"live-badge"},uu={key:4,class:"live-badge live-badge-off","data-testid":"live-badge"},fu={key:0,class:"content"},du={key:1,class:"content"},hu={key:0,class:"panel",role:"alert","data-testid":"load-error"},pu={key:1,class:"panel",role:"status","data-testid":"loading"},gu=st({__name:"App",setup(e){const t=new URLSearchParams(window.location.search),n=t.get("mode")==="demo";function s(){return Oi.find(O=>O===t.get("scenario"))??"normal"}const i=It(s()),r=It({status:"loading"});let o=0;async function l(){const O=++o;r.value={status:"loading"};try{const k=await Qa();O===o&&(r.value={status:"ready",data:k})}catch(k){if(O!==o)return;const j=k instanceof jt?k.message:"The dashboard could not be loaded.";r.value={status:"error",message:j}}}const c=It(Ci(window.location.hash));function d(){const O=window.location.hash;O!==""&&!Wr(O.slice(1))&&window.history.replaceState(window.history.state,"",`#${Br}`)}function u(){d(),c.value=Ci(window.location.hash)}function h(O){O===c.value&&window.location.hash===`#${O}`||(window.history.pushState(window.history.state,"",`#${O}`),c.value=O)}function v(){window.scrollY>0&&window.scrollTo({top:0})}Ns(()=>{d(),window.addEventListener("hashchange",u),window.addEventListener("popstate",u),n||l()}),Ps(()=>{window.removeEventListener("hashchange",u),window.removeEventListener("popstate",u)});const w=nn(()=>n?Jr[i.value]:r.value.status==="ready"?Va(r.value.data):null),F=nn(()=>!n&&r.value.status==="loading");return(O,k)=>{var j;return C(),I("div",eu,[ee(Ra,{sections:w.value!==null,active:c.value,onSelect:h},null,8,["sections","active"]),E("div",tu,[E("header",nu,[E("div",su,oe(((j=w.value)==null?void 0:j.overview.name)??"UNKNOWN"),1),E("div",iu,[n?(C(),I("label",ru,[k[1]||(k[1]=cn(" Scenario ",-1)),Wo(E("select",{"onUpdate:modelValue":k[0]||(k[0]=L=>i.value=L),"data-testid":"scenario-select"},[(C(!0),I(ie,null,ft(Dn(Oi),L=>(C(),I("option",{key:L,value:L},oe(L),9,ou))),128))],512),[[Tc,i.value]])])):(C(),I("button",{key:1,type:"button","data-testid":"refresh",disabled:F.value,onClick:l},"Refresh",8,lu)),n?(C(),I("span",cu,"DEMO DATA")):w.value?(C(),I("span",au,"LIVE DATA")):(C(),I("span",uu,"LIVE · NO DATA"))])]),w.value?(C(),I("main",fu,[ee(tc,{name:"section-fade",mode:"out-in",onAfterLeave:v},{default:lr(()=>[c.value==="overview"?(C(),bt(da,{key:"overview",overview:w.value.overview},null,8,["overview"])):c.value==="mission"?(C(),bt(Xc,{key:"mission",missions:w.value.missions},null,8,["missions"])):c.value==="checkpoints"?(C(),bt(Bc,{key:"checkpoints",checkpoints:w.value.checkpoints},null,8,["checkpoints"])):c.value==="roadmap"?(C(),bt(ya,{key:"roadmap",text:w.value.roadmapText},null,8,["text"])):(C(),bt(ca,{key:"diagnostics",data:w.value},null,8,["data"]))]),_:1})])):(C(),I("main",du,[r.value.status==="error"?(C(),I("section",hu,[k[2]||(k[2]=E("h2",null,"Live data could not be loaded",-1)),E("p",null,oe(r.value.message),1),k[3]||(k[3]=E("p",{class:"muted"},"No data is shown. Demo data is never substituted for live data.",-1)),E("button",{type:"button","data-testid":"retry",onClick:l},"Retry")])):(C(),I("section",pu,[...k[4]||(k[4]=[E("p",{class:"muted"},"Loading live data…",-1)])]))]))])])}}});Sa();Ec(gu).mount("#app");
@@ -1 +0,0 @@
1
- .skin-switcher[data-v-76c1c45c]{color:var(--muted);font-size:13px;display:flex;gap:6px;align-items:center}.skin-switcher select[data-v-76c1c45c]{background:var(--surface-2);color:var(--text);border:1px solid var(--control-border);border-radius:4px;padding:2px 6px}:root{--bg: #0e1116;--surface: #161b22;--surface-2: #1d242d;--border: #2b3440;--control-border: #627185;--text: #e6edf3;--muted: #8b98a8;--accent: #58a6ff;--ok: #3fb950;--warn: #d29922;--err: #f85149;--demo: #f0b429;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}code,pre{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.shell{display:flex;align-items:flex-start;min-height:100vh}.shell-main{flex:1 1 auto;min-width:0}.sidebar{position:sticky;top:0;align-self:flex-start;flex:0 0 240px;width:240px;height:100vh;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border)}.sidebar-head{padding:14px 16px}.sidebar-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:4px 12px 16px;overflow-y:auto}.sidebar-panel .skin-switcher{margin-top:auto;padding:12px 4px 0;border-top:1px solid var(--border)}.nav-toggle{display:none}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:10px 20px;min-height:52px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;flex-wrap:wrap;gap:0 10px;align-items:baseline}.brand .muted{white-space:nowrap}.brand strong{letter-spacing:.12em}.project{font-weight:600}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.scenario{color:var(--muted);font-size:13px;display:flex;gap:6px;align-items:center}.scenario select{background:var(--surface-2);color:var(--text);border:1px solid var(--control-border);border-radius:4px;padding:2px 6px}.demo-badge{background:var(--demo);color:#1a1300;font-weight:800;letter-spacing:.1em;padding:4px 12px;border-radius:4px}.nav{display:flex;flex-direction:column;gap:2px}.nav a{color:var(--muted);text-decoration:none;overflow-wrap:anywhere;padding:6px 10px;border-radius:4px}.nav a:hover{color:var(--text);background:var(--surface-2)}.nav a[aria-current=location]{color:var(--text);background:var(--surface-2);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.nav a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.content{max-width:1100px;margin:0 auto;padding:20px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.panel{min-width:0;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px 20px;scroll-margin-top:16px}.panel h2{margin:0 0 12px;font-size:16px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.panel h3{margin:16px 0 6px;font-size:14px}.panel h4{margin:10px 0 4px;font-size:13px;color:var(--muted)}.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 16px;margin:0}.facts dt{color:var(--muted)}.facts dt,.facts dd{min-width:0}.facts dd{margin:0;overflow-wrap:anywhere}.facts.compact{font-size:13px;margin-top:8px}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.card{min-width:0;overflow-wrap:anywhere;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:10px 14px}.card h3{margin:6px 0 2px;font-size:15px}.card p{margin:4px 0}.card-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.status{font-size:12px;padding:1px 8px;border-radius:10px;border:1px solid var(--ok);color:var(--ok)}.steps ul{margin:0;padding-left:20px}.tag{font-weight:400;font-size:11px;color:var(--warn);border:1px solid var(--warn);border-radius:3px;padding:0 6px;margin-left:6px}.roadmap{margin:0;padding:12px;background:var(--surface-2);border-radius:4px;white-space:pre-wrap;overflow-wrap:anywhere}.diag li{min-width:0}.diag{list-style:none;margin:0;padding:0;display:grid;gap:4px}.sev{font-size:11px;text-transform:uppercase;font-weight:700;margin-right:6px}.sev-info .sev{color:var(--accent)}.sev-warning .sev{color:var(--warn)}.sev-error .sev{color:var(--err)}.muted{color:var(--muted)}.empty{color:var(--muted);font-style:italic;margin:0}.unknown{color:var(--warn);font-weight:600;font-style:normal;letter-spacing:.04em}@media(max-width:899px){.shell{display:block}.sidebar{position:sticky;top:0;z-index:2;width:auto;height:auto;max-height:100vh;border-right:0;border-bottom:1px solid var(--border)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px}.sidebar-panel{display:none;padding-top:4px;max-height:calc(100vh - 56px)}.sidebar.open .sidebar-panel{display:flex}.nav-toggle{display:inline-block}.panel{scroll-margin-top:64px}}@media(max-width:600px){.topbar{padding-left:12px;padding-right:12px}.topbar-right{margin-left:0;width:100%;flex-wrap:wrap;justify-content:space-between}.content{padding:12px}.facts{grid-template-columns:1fr}.facts dd{margin-bottom:6px}}.live-badge{background:#1f6f43;color:#eafff3;font-weight:800;letter-spacing:.1em;padding:4px 12px;border-radius:4px}.live-badge-off{background:var(--surface-2);color:var(--muted, #9aa4b2);border:1px solid var(--border)}.story{white-space:pre-wrap;margin:0;font:inherit}button{background:var(--surface-2);color:var(--text);border:1px solid var(--control-border);border-radius:4px;padding:4px 12px;font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}.section-fade-enter-active{transition:opacity .22s ease-out,transform .22s ease-out}.section-fade-leave-active{transition:opacity .15s ease-in,transform .15s ease-in}.section-fade-enter-from{opacity:0;transform:translateY(8px)}.section-fade-leave-to{opacity:0;transform:translateY(-8px)}@media(prefers-reduced-motion:reduce){.section-fade-enter-active,.section-fade-leave-active{transition:none}.section-fade-enter-from,.section-fade-leave-to{opacity:1;transform:none}}:root[data-skin=cosmic-glass]{--bg: #080a1e;--surface: rgba(12, 16, 40, .74);--surface-2: rgba(30, 34, 76, .62);--border: rgba(190, 200, 255, .2);--control-border: rgba(204, 212, 255, .52);--text: #f1f4ff;--muted: #b8c3df;--accent: #b4a9ff;--ok: #5fd68a;--warn: #f0c040;--err: #ff8a85;--demo: #f0b429;--glass-dense: rgba(9, 12, 32, .86);--glass-edge: inset 0 1px 0 rgba(255, 255, 255, .07);--glass-shadow: 0 8px 32px rgba(2, 3, 14, .45);--glass-blur: blur(14px) saturate(1.15);background:var(--bg)}:root[data-skin=cosmic-glass] body{background:transparent;isolation:isolate}:root[data-skin=cosmic-glass] body:before{content:"";position:fixed;top:0;bottom:0;right:0;left:-14vw;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#080a1e00,#080a1e33 60%,#080a1e99),url(./cosmic-glass-bg-Dwx47zPu.webp) 24% 0 / cover no-repeat,var(--bg)}:root[data-skin=cosmic-glass] .sidebar{background:#080b2080;-webkit-backdrop-filter:blur(4px) saturate(1.1);backdrop-filter:blur(4px) saturate(1.1);border-right-color:var(--border);box-shadow:1px 0 #968cff14,6px 0 28px #02030e59}:root[data-skin=cosmic-glass] .brand strong{color:var(--text);letter-spacing:.16em}:root[data-skin=cosmic-glass] .brand .muted{font-size:13px}:root[data-skin=cosmic-glass] .nav a{color:var(--muted);border-left:2px solid transparent;border-radius:0 6px 6px 0}:root[data-skin=cosmic-glass] .nav a:hover{color:var(--text);background:#968cff29;border-left-color:var(--accent)}:root[data-skin=cosmic-glass] .nav a[aria-current=location]{color:var(--text);background:linear-gradient(90deg,#968cff42,#968cff14);border-left-color:#d3ccff;box-shadow:none}:root[data-skin=cosmic-glass] .sidebar-panel .skin-switcher{border-top-color:var(--border)}:root[data-skin=cosmic-glass] .topbar{background:#080b20a8;-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);border-bottom-color:var(--border);box-shadow:0 6px 24px #02030e4d}:root[data-skin=cosmic-glass] .project{font-size:16px;letter-spacing:.01em}:root[data-skin=cosmic-glass] .live-badge{background:#14532f;color:#eafff3;border:1px solid #5fd68a}:root[data-skin=cosmic-glass] .live-badge-off{background:var(--glass-dense);color:var(--muted);border-color:var(--border)}:root[data-skin=cosmic-glass] .demo-badge{border:1px solid #ffd978}:root[data-skin=cosmic-glass] .panel{background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:10px;box-shadow:var(--glass-edge),var(--glass-shadow);padding:18px 22px}:root[data-skin=cosmic-glass] .panel h2{font-size:14px;letter-spacing:.08em;font-weight:700;padding-bottom:8px;margin-bottom:14px;border-bottom:1px solid var(--border)}:root[data-skin=cosmic-glass] .panel h3{font-size:15px;font-weight:650}:root[data-skin=cosmic-glass] .card{background:var(--surface-2);border-radius:8px;box-shadow:var(--glass-edge);line-height:1.55}:root[data-skin=cosmic-glass] .facts dt{font-size:13px}:root[data-skin=cosmic-glass] .roadmap,:root[data-skin=cosmic-glass] .story{background:var(--glass-dense);border-radius:8px;line-height:1.6}:root[data-skin=cosmic-glass] .roadmap{border:1px solid var(--border)}:root[data-skin=cosmic-glass] .status{background:#5fd68a1f}:root[data-skin=cosmic-glass] .tag{background:#f0c0401a}:root[data-skin=cosmic-glass] button,:root[data-skin=cosmic-glass] select{background:var(--glass-dense);border-color:var(--control-border)}:root[data-skin=cosmic-glass] button:hover:not(:disabled){border-color:var(--accent);background:#3c3882b3}:root[data-skin=cosmic-glass] button:disabled{opacity:1;color:#8f9abb;border-style:dashed;cursor:not-allowed}:root[data-skin=cosmic-glass] a:focus-visible,:root[data-skin=cosmic-glass] button:focus-visible,:root[data-skin=cosmic-glass] select:focus-visible{outline:2px solid #d3ccff;outline-offset:2px;box-shadow:0 0 0 4px #9a8cff59}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root[data-skin=cosmic-glass]{--surface: rgba(12, 16, 40, .92);--surface-2: rgba(26, 30, 70, .92)}:root[data-skin=cosmic-glass] .sidebar,:root[data-skin=cosmic-glass] .topbar{background:#080b20f2}}@media(prefers-reduced-motion:no-preference){:root[data-skin=cosmic-glass] .nav a,:root[data-skin=cosmic-glass] button{transition:background-color .15s,border-color .15s,color .15s}}@media(max-width:899px){:root[data-skin=cosmic-glass] body:before{left:0;background:linear-gradient(180deg,#080a1e00,#080a1e33 55%,#080a1e8c),url(./cosmic-glass-bg-Dwx47zPu.webp) 16% 0 / cover no-repeat,var(--bg)}:root[data-skin=cosmic-glass] .sidebar{background:#080b20d1;border-bottom-color:var(--border)}:root[data-skin=cosmic-glass] .panel{padding:14px 16px;background:#0c102899}}