sillyspec 3.7.7 → 3.7.9

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 (43) hide show
  1. package/.sillyspec/changes/dashboard/design.md +219 -0
  2. package/.sillyspec/plans/2026-04-05-dashboard.md +737 -0
  3. package/.sillyspec/specs/2026-04-05-dashboard-design.md +206 -0
  4. package/bin/sillyspec.js +0 -0
  5. package/package.json +1 -1
  6. package/packages/dashboard/dist/assets/index-Bh-GPjKY.css +1 -0
  7. package/packages/dashboard/dist/assets/index-CrCn5Gg6.js +17 -0
  8. package/packages/dashboard/dist/index.html +16 -0
  9. package/packages/dashboard/index.html +15 -0
  10. package/packages/dashboard/package-lock.json +2164 -0
  11. package/packages/dashboard/package.json +22 -0
  12. package/packages/dashboard/server/executor.js +86 -0
  13. package/packages/dashboard/server/index.js +359 -0
  14. package/packages/dashboard/server/parser.js +154 -0
  15. package/packages/dashboard/server/watcher.js +277 -0
  16. package/packages/dashboard/src/App.vue +154 -0
  17. package/packages/dashboard/src/components/ActionBar.vue +100 -0
  18. package/packages/dashboard/src/components/CommandPalette.vue +117 -0
  19. package/packages/dashboard/src/components/DetailPanel.vue +122 -0
  20. package/packages/dashboard/src/components/LogStream.vue +85 -0
  21. package/packages/dashboard/src/components/PipelineStage.vue +75 -0
  22. package/packages/dashboard/src/components/PipelineView.vue +94 -0
  23. package/packages/dashboard/src/components/ProjectList.vue +152 -0
  24. package/packages/dashboard/src/components/StageBadge.vue +53 -0
  25. package/packages/dashboard/src/components/StepCard.vue +89 -0
  26. package/packages/dashboard/src/composables/useDashboard.js +171 -0
  27. package/packages/dashboard/src/composables/useKeyboard.js +117 -0
  28. package/packages/dashboard/src/composables/useWebSocket.js +129 -0
  29. package/packages/dashboard/src/main.js +5 -0
  30. package/packages/dashboard/src/style.css +132 -0
  31. package/packages/dashboard/vite.config.js +18 -0
  32. package/src/index.js +68 -8
  33. package/src/init.js +23 -1
  34. package/src/progress.js +422 -0
  35. package/src/setup.js +16 -0
  36. package/templates/archive.md +56 -0
  37. package/templates/brainstorm.md +82 -26
  38. package/templates/commit.md +2 -0
  39. package/templates/execute.md +20 -1
  40. package/templates/progress-format.md +90 -0
  41. package/templates/quick.md +36 -3
  42. package/templates/resume-dialog.md +55 -0
  43. package/templates/skills/playwright-e2e/SKILL.md +1 -1
@@ -0,0 +1,206 @@
1
+ # SillySpec Dashboard 设计
2
+
3
+ ## 概述
4
+
5
+ 为 SillySpec CLI 工具添加可视化仪表盘(`sillyspec dashboard`),用户通过浏览器直观查看和管理项目进度、阶段流程、任务详情和实时日志。
6
+
7
+ ## 目标用户
8
+
9
+ SillySpec 全部用户(官方功能,随 npm 包发布)。
10
+
11
+ ## 分期计划
12
+
13
+ ### 一期(MVP)
14
+
15
+ 可视化仪表盘 + CLI 命令执行 + 实时日志流。
16
+
17
+ ### 二期(进阶)
18
+
19
+ Web Terminal(xterm.js)+ 自定义命令 + AI 交互(视需求而定)。
20
+
21
+ ## 架构
22
+
23
+ ```
24
+ sillyspec dashboard
25
+
26
+
27
+ Node.js HTTP Server (localhost:3456)
28
+
29
+ ├─ chokidar: watch .sillyspec/ 目录
30
+ ├─ WebSocket: 实时推送状态变更
31
+ └─ REST API: 项目列表、状态、日志、CLI 执行
32
+
33
+
34
+ Vue 3 SPA (浏览器)
35
+ ```
36
+
37
+ ### 文件结构
38
+
39
+ ```
40
+ sillyspec/packages/dashboard/
41
+ ├── server/
42
+ │ ├── index.js # HTTP + WebSocket 服务启动
43
+ │ ├── watcher.js # chokidar 文件监听 + 增量解析
44
+ │ └── api.js # REST 路由
45
+ ├── src/
46
+ │ ├── App.vue
47
+ │ ├── components/
48
+ │ │ ├── ProjectList.vue # 左栏:项目列表
49
+ │ │ ├── PipelineView.vue # 中栏:阶段 pipeline
50
+ │ │ ├── StepCard.vue # 步骤卡片(可展开折叠)
51
+ │ │ ├── DetailPanel.vue # 右栏:详情 + 日志
52
+ │ │ ├── LogStream.vue # 终端风格日志流
53
+ │ │ ├── CommandPalette.vue # Cmd+K 命令面板
54
+ │ │ └── StageBadge.vue # 阶段状态标签
55
+ │ ├── composables/
56
+ │ │ ├── useWebSocket.js # WebSocket 连接管理
57
+ │ │ └── useKeyboard.js # 键盘快捷键
58
+ │ └── styles/
59
+ │ └── theme.css # 深色主题变量
60
+ ├── package.json
61
+ └── vite.config.js
62
+ ```
63
+
64
+ ## 核心页面设计
65
+
66
+ ### 三栏布局
67
+
68
+ ```
69
+ ┌──────────┬─────────────────────────┬──────────────────┐
70
+ │ 项目列表 │ Pipeline 视图(中) │ 详情+日志(右) │
71
+ │ (200px) │ (flex-1) │ (320px,可收起) │
72
+ │ │ │ │
73
+ │ 📁 proj1 │ ✅ brainstorm │ Step 3 详情 │
74
+ │ 📁 proj2 │ ⏳ plan ← 当前 │ 结论:选择React │
75
+ │ 📁 proj3 │ ⬜ execute │ 决策:... │
76
+ │ │ ⬜ verify │ 📋 实时日志 │
77
+ └──────────┴─────────────────────────┴──────────────────┘
78
+ ```
79
+
80
+ ### 信息分层(三级密度)
81
+
82
+ 1. **低密度(默认)**:阶段名 + 状态图标
83
+ 2. **中密度(hover)**:步骤摘要(1-2 句话)
84
+ 3. **高密度(点击)**:右侧面板展开完整详情 + 日志
85
+
86
+ ### 异常高亮
87
+
88
+ 失败/阻塞/超时步骤自动标红,视觉上突出,不需用户手动查找。
89
+
90
+ ## 数据源与同步
91
+
92
+ ### 数据文件
93
+
94
+ | 文件 | 用途 |
95
+ |---|---|
96
+ | `STATE.md` | 当前阶段、状态、下一步命令 |
97
+ | `.runtime/progress.json` | 步骤进度、摘要、时间戳 |
98
+ | `.runtime/user-inputs.md` | 用户输入记录 |
99
+ | `specs/*.md` | 设计文档 |
100
+ | `changes/*/design.md` | 技术方案 |
101
+
102
+ ### 同步方案
103
+
104
+ - **启动时**:全量读取 `.sillyspec/` 目录,构建初始状态
105
+ - **运行时**:chokidar watch 文件变化 → 解析 → WebSocket 增量推送
106
+ - **不轮询,不做 diff**,文件变化直接读取推送
107
+
108
+ ### CLI 命令执行(一期)
109
+
110
+ 后端通过 `child_process.spawn` 执行 CLI 命令:
111
+ - "下一步"按钮 → `sillyspec next`
112
+ - 阶段切换按钮 → `sillyspec plan` / `sillyspec execute` 等
113
+ - 执行结果通过 WebSocket 实时推送到前端日志面板
114
+
115
+ ## 交互设计
116
+
117
+ ### 键盘快捷键
118
+
119
+ | 快捷键 | 功能 |
120
+ |---|---|
121
+ | `j/k` | 上下切换步骤 |
122
+ | `Enter` | 展开详情 |
123
+ | `Escape` | 收起面板 |
124
+ | `/` | 搜索日志 |
125
+ | `Cmd/Ctrl+K` | 命令面板 |
126
+
127
+ ### 命令面板功能
128
+
129
+ - 搜索项目名
130
+ - 跳转到指定阶段
131
+ - 切换深色/浅色主题
132
+
133
+ ### CLI 命令
134
+
135
+ ```bash
136
+ sillyspec dashboard # 启动 + 自动开浏览器
137
+ sillyspec dashboard --port 8080 # 自定义端口
138
+ sillyspec dashboard --no-open # 不自动打开浏览器
139
+ ```
140
+
141
+ ## 视觉设计
142
+
143
+ ### 配色
144
+
145
+ | 用途 | 色值 |
146
+ |---|---|
147
+ | 背景 | `#0D1117` |
148
+ | 主色(进行中) | `#00D4AA` |
149
+ | 阻塞 | `#F59E0B` |
150
+ | 失败 | `#F87171` |
151
+ | 未开始 | `#6B7280` |
152
+
153
+ ### 动效
154
+
155
+ - 阶段完成:脉冲光效(CSS animation,200ms)
156
+ - 日志新行:淡入
157
+ - hover 过渡:100ms
158
+ - 进度条:弹性缓动
159
+
160
+ ## 技术选型
161
+
162
+ | 层 | 技术 |
163
+ |---|---|
164
+ | 前端框架 | Vue 3 |
165
+ | 构建工具 | Vite |
166
+ | CSS | Tailwind CSS |
167
+ | 后端 | Node.js 原生 http + ws |
168
+ | 文件监听 | chokidar |
169
+ | 数据库 | 无,纯文件系统 |
170
+
171
+ ## 约束和假设
172
+
173
+ - 用户本地已有 Node.js(SillySpec 前置依赖)
174
+ - 仪表盘为本地工具,不考虑多用户并发
175
+ - 前端构建产物嵌入 npm 包,无需额外 build
176
+ - 不引入 Express、数据库等重依赖
177
+
178
+ ## 状态历史时间线
179
+
180
+ Pipeline 视图下方展示时间线,记录每个步骤的:
181
+ - 开始时间 / 结束时间 / 耗时
182
+ - 状态变化(进行中 → 完成/阻塞/失败)
183
+ - 可按时间排序,快速定位耗时最长或异常步骤
184
+
185
+ 数据来源:`progress.json` 中的 `summaries` 和时间戳。
186
+
187
+ ## 不在范围内(一期)
188
+
189
+ - 用户认证/权限
190
+ - 多人协作
191
+ - 数据持久化(纯文件系统)
192
+ - AI 对话交互(二期)
193
+ - Web Terminal(二期)
194
+
195
+ ## 验收标准
196
+
197
+ - [ ] `sillyspec dashboard` 一键启动,自动打开浏览器
198
+ - [ ] 三栏布局正确渲染,响应式适配
199
+ - [ ] 文件变化后前端实时更新(<1s 延迟)
200
+ - [ ] 步骤卡片三级信息分层(默认/hover/点击)
201
+ - [ ] 实时日志流正常显示,可搜索可过滤
202
+ - [ ] 键盘快捷键可用(j/k/Enter/Escape/Cmd+K)
203
+ - [ ] 命令面板可搜索项目名和阶段
204
+ - [ ] CLI 命令执行按钮可用,结果实时显示
205
+ - [ ] 异常步骤自动高亮
206
+ - [ ] 深色/浅色主题切换
package/bin/sillyspec.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sillyspec",
3
- "version": "3.7.7",
3
+ "version": "3.7.9",
4
4
  "description": "SillySpec CLI — 流程状态机,让 AI 严格按步骤来",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1 @@
1
+ .line-clamp-2[data-v-20b76823]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.backdrop-enter-active[data-v-93004906],.backdrop-leave-active[data-v-93004906]{transition:opacity .15s ease}.backdrop-enter-from[data-v-93004906],.backdrop-leave-to[data-v-93004906]{opacity:0}.palette-enter-active[data-v-93004906],.palette-leave-active[data-v-93004906]{transition:all .2s cubic-bezier(.16,1,.3,1)}.palette-enter-from[data-v-93004906],.palette-leave-to[data-v-93004906]{opacity:0;transform:translate(-50%,-8px) scale(.98)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100vw;height:100vh;overflow:hidden}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#0a0a0b;--color-primary:#fbbf24;--color-warning:#fb923c;--color-danger:#ef4444;--color-muted:#525252;--color-surface:#141416;--color-border:#2a2a2d;--color-text:#e4e4e7;--color-text-secondary:#8b8b8e;--animate-pulse-dot:pulse-dot 1.5s ease-in-out infinite}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-\[18\%\]{top:18%}.bottom-0{bottom:calc(var(--spacing) * 0)}.left-0{left:calc(var(--spacing) * 0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.-mt-0\.5{margin-top:calc(var(--spacing) * -.5)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-\[2px\]{height:2px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-72{max-height:calc(var(--spacing) * 72)}.w-0{width:calc(var(--spacing) * 0)}.w-1{width:calc(var(--spacing) * 1)}.w-2{width:calc(var(--spacing) * 2)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-14{width:calc(var(--spacing) * 14)}.w-20{width:calc(var(--spacing) * 20)}.w-32{width:calc(var(--spacing) * 32)}.w-\[2px\]{width:2px}.w-\[240px\]{width:240px}.w-\[340px\]{width:340px}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse-dot{animation:var(--animate-pulse-dot)}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px * var(--tw-space-y-reverse));margin-block-end:calc(1px * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-none{--tw-border-style:none;border-style:none}.bg-transparent{background-color:#0000}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-3{padding:calc(var(--spacing) * 3)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-px{padding-block:1px}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-3\.5{padding-left:calc(var(--spacing) * 3.5)}.pl-\[3px\]{padding-left:3px}.text-center{text-align:center}.font-\[DM_Sans\,sans-serif\]{font-family:DM Sans,sans-serif}.font-\[JetBrains_Mono\,monospace\]{font-family:JetBrains Mono,monospace}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.25em\]{--tw-tracking:.25em;letter-spacing:.25em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-pre-wrap{white-space:pre-wrap}.text-black{color:var(--color-black)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}}}@keyframes pulse-glow{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 12px 2px #fbbf2426}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.5)}}@keyframes breathe{0%,to{opacity:.5}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-border{0%,to{border-color:#fbbf2426}50%{border-color:#fbbf2480}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.font-mono-log{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.noise-bg{position:relative}.noise-bg:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0}.accent-stripe{background:repeating-linear-gradient(-45deg,#0000,#0000 8px,#fbbf2408 8px,#fbbf2408 9px)}.progress-gradient{background:linear-gradient(90deg,#fbbf24,#f59e0b,#fb923c)}.skeleton-shimmer{background:linear-gradient(90deg,#1c1c1f 25%,#2a2a2d,#1c1c1f 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#2a2a2d;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#3a3a3d}*{scrollbar-width:thin;scrollbar-color:#2a2a2d transparent}::selection{color:#fbbf24;background:#fbbf2433}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
@@ -0,0 +1,17 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function s(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(o){if(o.ep)return;o.ep=!0;const r=s(o);fetch(o.href,r)}})();/**
2
+ * @vue/shared v3.5.32
3
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
+ * @license MIT
5
+ **/function gn(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const se={},Tt=[],qe=()=>{},ko=()=>!1,ks=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Fs=e=>e.startsWith("onUpdate:"),pe=Object.assign,mn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Kr=Object.prototype.hasOwnProperty,G=(e,t)=>Kr.call(e,t),N=Array.isArray,$t=e=>ns(e)==="[object Map]",Fo=e=>ns(e)==="[object Set]",Nn=e=>ns(e)==="[object Date]",K=e=>typeof e=="function",ce=e=>typeof e=="string",Ge=e=>typeof e=="symbol",Y=e=>e!==null&&typeof e=="object",To=e=>(Y(e)||K(e))&&K(e.then)&&K(e.catch),$o=Object.prototype.toString,ns=e=>$o.call(e),Ur=e=>ns(e).slice(8,-1),Po=e=>ns(e)==="[object Object]",yn=e=>ce(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Kt=gn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ts=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Wr=/-\w/g,je=Ts(e=>e.replace(Wr,t=>t.slice(1).toUpperCase())),Jr=/\B([A-Z])/g,At=Ts(e=>e.replace(Jr,"-$1").toLowerCase()),Mo=Ts(e=>e.charAt(0).toUpperCase()+e.slice(1)),Hs=Ts(e=>e?`on${Mo(e)}`:""),Je=(e,t)=>!Object.is(e,t),hs=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},jo=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},vn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},qr=e=>{const t=ce(e)?Number(e):NaN;return isNaN(t)?e:t};let In;const $s=()=>In||(In=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function fe(e){if(N(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],o=ce(n)?Qr(n):fe(n);if(o)for(const r in o)t[r]=o[r]}return t}else if(ce(e)||Y(e))return e}const zr=/;(?![^(]*\))/g,Gr=/:([^]+)/,Yr=/\/\*[^]*?\*\//g;function Qr(e){const t={};return e.replace(Yr,"").split(zr).forEach(s=>{if(s){const n=s.split(Gr);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Fe(e){let t="";if(ce(e))t=e;else if(N(e))for(let s=0;s<e.length;s++){const n=Fe(e[s]);n&&(t+=n+" ")}else if(Y(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const Xr="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Zr=gn(Xr);function Bo(e){return!!e||e===""}function ei(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=xn(e[n],t[n]);return s}function xn(e,t){if(e===t)return!0;let s=Nn(e),n=Nn(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Ge(e),n=Ge(t),s||n)return e===t;if(s=N(e),n=N(t),s||n)return s&&n?ei(e,t):!1;if(s=Y(e),n=Y(t),s||n){if(!s||!n)return!1;const o=Object.keys(e).length,r=Object.keys(t).length;if(o!==r)return!1;for(const i in e){const l=e.hasOwnProperty(i),c=t.hasOwnProperty(i);if(l&&!c||!l&&c||!xn(e[i],t[i]))return!1}}return String(e)===String(t)}const Oo=e=>!!(e&&e.__v_isRef===!0),U=e=>ce(e)?e:e==null?"":N(e)||Y(e)&&(e.toString===$o||!K(e.toString))?Oo(e)?U(e.value):JSON.stringify(e,Do,2):String(e),Do=(e,t)=>Oo(t)?Do(e,t.value):$t(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,o],r)=>(s[Vs(n,r)+" =>"]=o,s),{})}:Fo(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Vs(s))}:Ge(t)?Vs(t):Y(t)&&!N(t)&&!Po(t)?String(t):t,Vs=(e,t="")=>{var s;return Ge(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
6
+ * @vue/reactivity v3.5.32
7
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
+ * @license MIT
9
+ **/let Ae;class ti{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Ae,!t&&Ae&&(this.index=(Ae.scopes||(Ae.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=Ae;try{return Ae=this,t()}finally{Ae=s}}}on(){++this._on===1&&(this.prevScope=Ae,Ae=this)}off(){this._on>0&&--this._on===0&&(Ae=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function si(){return Ae}let ie;const Ks=new WeakSet;class Lo{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,Ae&&Ae.active&&Ae.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ks.has(this)&&(Ks.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Io(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Rn(this),Ro(this);const t=ie,s=Be;ie=this,Be=!0;try{return this.fn()}finally{Ho(this),ie=t,Be=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Sn(t);this.deps=this.depsTail=void 0,Rn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ks.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Zs(this)&&this.run()}get dirty(){return Zs(this)}}let No=0,Ut,Wt;function Io(e,t=!1){if(e.flags|=8,t){e.next=Wt,Wt=e;return}e.next=Ut,Ut=e}function bn(){No++}function _n(){if(--No>0)return;if(Wt){let t=Wt;for(Wt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Ut;){let t=Ut;for(Ut=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function Ro(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ho(e){let t,s=e.depsTail,n=s;for(;n;){const o=n.prevDep;n.version===-1?(n===s&&(s=o),Sn(n),ni(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=o}e.deps=t,e.depsTail=s}function Zs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Vo(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Vo(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Yt)||(e.globalVersion=Yt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Zs(e))))return;e.flags|=2;const t=e.dep,s=ie,n=Be;ie=e,Be=!0;try{Ro(e);const o=e.fn(e._value);(t.version===0||Je(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{ie=s,Be=n,Ho(e),e.flags&=-3}}function Sn(e,t=!1){const{dep:s,prevSub:n,nextSub:o}=e;if(n&&(n.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let r=s.computed.deps;r;r=r.nextDep)Sn(r,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function ni(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Be=!0;const Ko=[];function nt(){Ko.push(Be),Be=!1}function ot(){const e=Ko.pop();Be=e===void 0?!0:e}function Rn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=ie;ie=void 0;try{t()}finally{ie=s}}}let Yt=0;class oi{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class wn{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(!ie||!Be||ie===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==ie)s=this.activeLink=new oi(ie,this),ie.deps?(s.prevDep=ie.depsTail,ie.depsTail.nextDep=s,ie.depsTail=s):ie.deps=ie.depsTail=s,Uo(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=ie.depsTail,s.nextDep=void 0,ie.depsTail.nextDep=s,ie.depsTail=s,ie.deps===s&&(ie.deps=n)}return s}trigger(t){this.version++,Yt++,this.notify(t)}notify(t){bn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{_n()}}}function Uo(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Uo(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const en=new WeakMap,bt=Symbol(""),tn=Symbol(""),Qt=Symbol("");function ve(e,t,s){if(Be&&ie){let n=en.get(e);n||en.set(e,n=new Map);let o=n.get(s);o||(n.set(s,o=new wn),o.map=n,o.key=s),o.track()}}function tt(e,t,s,n,o,r){const i=en.get(e);if(!i){Yt++;return}const l=c=>{c&&c.trigger()};if(bn(),t==="clear")i.forEach(l);else{const c=N(e),f=c&&yn(s);if(c&&s==="length"){const a=Number(n);i.forEach((d,x)=>{(x==="length"||x===Qt||!Ge(x)&&x>=a)&&l(d)})}else switch((s!==void 0||i.has(void 0))&&l(i.get(s)),f&&l(i.get(Qt)),t){case"add":c?f&&l(i.get("length")):(l(i.get(bt)),$t(e)&&l(i.get(tn)));break;case"delete":c||(l(i.get(bt)),$t(e)&&l(i.get(tn)));break;case"set":$t(e)&&l(i.get(bt));break}}_n()}function Et(e){const t=z(e);return t===e?t:(ve(t,"iterate",Qt),Pe(e)?t:t.map(Oe))}function Ps(e){return ve(e=z(e),"iterate",Qt),e}function Ue(e,t){return rt(e)?jt(_t(e)?Oe(t):t):Oe(t)}const ri={__proto__:null,[Symbol.iterator](){return Us(this,Symbol.iterator,e=>Ue(this,e))},concat(...e){return Et(this).concat(...e.map(t=>N(t)?Et(t):t))},entries(){return Us(this,"entries",e=>(e[1]=Ue(this,e[1]),e))},every(e,t){return Qe(this,"every",e,t,void 0,arguments)},filter(e,t){return Qe(this,"filter",e,t,s=>s.map(n=>Ue(this,n)),arguments)},find(e,t){return Qe(this,"find",e,t,s=>Ue(this,s),arguments)},findIndex(e,t){return Qe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Qe(this,"findLast",e,t,s=>Ue(this,s),arguments)},findLastIndex(e,t){return Qe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Qe(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ws(this,"includes",e)},indexOf(...e){return Ws(this,"indexOf",e)},join(e){return Et(this).join(e)},lastIndexOf(...e){return Ws(this,"lastIndexOf",e)},map(e,t){return Qe(this,"map",e,t,void 0,arguments)},pop(){return Nt(this,"pop")},push(...e){return Nt(this,"push",e)},reduce(e,...t){return Hn(this,"reduce",e,t)},reduceRight(e,...t){return Hn(this,"reduceRight",e,t)},shift(){return Nt(this,"shift")},some(e,t){return Qe(this,"some",e,t,void 0,arguments)},splice(...e){return Nt(this,"splice",e)},toReversed(){return Et(this).toReversed()},toSorted(e){return Et(this).toSorted(e)},toSpliced(...e){return Et(this).toSpliced(...e)},unshift(...e){return Nt(this,"unshift",e)},values(){return Us(this,"values",e=>Ue(this,e))}};function Us(e,t,s){const n=Ps(e),o=n[t]();return n!==e&&!Pe(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=s(r.value)),r}),o}const ii=Array.prototype;function Qe(e,t,s,n,o,r){const i=Ps(e),l=i!==e&&!Pe(e),c=i[t];if(c!==ii[t]){const d=c.apply(e,r);return l?Oe(d):d}let f=s;i!==e&&(l?f=function(d,x){return s.call(this,Ue(e,d),x,e)}:s.length>2&&(f=function(d,x){return s.call(this,d,x,e)}));const a=c.call(i,f,n);return l&&o?o(a):a}function Hn(e,t,s,n){const o=Ps(e),r=o!==e&&!Pe(e);let i=s,l=!1;o!==e&&(r?(l=n.length===0,i=function(f,a,d){return l&&(l=!1,f=Ue(e,f)),s.call(this,f,Ue(e,a),d,e)}):s.length>3&&(i=function(f,a,d){return s.call(this,f,a,d,e)}));const c=o[t](i,...n);return l?Ue(e,c):c}function Ws(e,t,s){const n=z(e);ve(n,"iterate",Qt);const o=n[t](...s);return(o===-1||o===!1)&&En(s[0])?(s[0]=z(s[0]),n[t](...s)):o}function Nt(e,t,s=[]){nt(),bn();const n=z(e)[t].apply(e,s);return _n(),ot(),n}const li=gn("__proto__,__v_isRef,__isVue"),Wo=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ge));function ci(e){Ge(e)||(e=String(e));const t=z(this);return ve(t,"has",e),t.hasOwnProperty(e)}class Jo{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const o=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(o?r?vi:Yo:r?Go:zo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=N(t);if(!o){let c;if(i&&(c=ri[s]))return c;if(s==="hasOwnProperty")return ci}const l=Reflect.get(t,s,xe(t)?t:n);if((Ge(s)?Wo.has(s):li(s))||(o||ve(t,"get",s),r))return l;if(xe(l)){const c=i&&yn(s)?l:l.value;return o&&Y(c)?nn(c):c}return Y(l)?o?nn(l):Ms(l):l}}class qo extends Jo{constructor(t=!1){super(!1,t)}set(t,s,n,o){let r=t[s];const i=N(t)&&yn(s);if(!this._isShallow){const f=rt(r);if(!Pe(n)&&!rt(n)&&(r=z(r),n=z(n)),!i&&xe(r)&&!xe(n))return f||(r.value=n),!0}const l=i?Number(s)<t.length:G(t,s),c=Reflect.set(t,s,n,xe(t)?t:o);return t===z(o)&&(l?Je(n,r)&&tt(t,"set",s,n):tt(t,"add",s,n)),c}deleteProperty(t,s){const n=G(t,s);t[s];const o=Reflect.deleteProperty(t,s);return o&&n&&tt(t,"delete",s,void 0),o}has(t,s){const n=Reflect.has(t,s);return(!Ge(s)||!Wo.has(s))&&ve(t,"has",s),n}ownKeys(t){return ve(t,"iterate",N(t)?"length":bt),Reflect.ownKeys(t)}}class ai extends Jo{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const ui=new qo,fi=new ai,di=new qo(!0);const sn=e=>e,as=e=>Reflect.getPrototypeOf(e);function pi(e,t,s){return function(...n){const o=this.__v_raw,r=z(o),i=$t(r),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=o[e](...n),a=s?sn:t?jt:Oe;return!t&&ve(r,"iterate",c?tn:bt),pe(Object.create(f),{next(){const{value:d,done:x}=f.next();return x?{value:d,done:x}:{value:l?[a(d[0]),a(d[1])]:a(d),done:x}}})}}function us(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function hi(e,t){const s={get(o){const r=this.__v_raw,i=z(r),l=z(o);e||(Je(o,l)&&ve(i,"get",o),ve(i,"get",l));const{has:c}=as(i),f=t?sn:e?jt:Oe;if(c.call(i,o))return f(r.get(o));if(c.call(i,l))return f(r.get(l));r!==i&&r.get(o)},get size(){const o=this.__v_raw;return!e&&ve(z(o),"iterate",bt),o.size},has(o){const r=this.__v_raw,i=z(r),l=z(o);return e||(Je(o,l)&&ve(i,"has",o),ve(i,"has",l)),o===l?r.has(o):r.has(o)||r.has(l)},forEach(o,r){const i=this,l=i.__v_raw,c=z(l),f=t?sn:e?jt:Oe;return!e&&ve(c,"iterate",bt),l.forEach((a,d)=>o.call(r,f(a),f(d),i))}};return pe(s,e?{add:us("add"),set:us("set"),delete:us("delete"),clear:us("clear")}:{add(o){const r=z(this),i=as(r),l=z(o),c=!t&&!Pe(o)&&!rt(o)?l:o;return i.has.call(r,c)||Je(o,c)&&i.has.call(r,o)||Je(l,c)&&i.has.call(r,l)||(r.add(c),tt(r,"add",c,c)),this},set(o,r){!t&&!Pe(r)&&!rt(r)&&(r=z(r));const i=z(this),{has:l,get:c}=as(i);let f=l.call(i,o);f||(o=z(o),f=l.call(i,o));const a=c.call(i,o);return i.set(o,r),f?Je(r,a)&&tt(i,"set",o,r):tt(i,"add",o,r),this},delete(o){const r=z(this),{has:i,get:l}=as(r);let c=i.call(r,o);c||(o=z(o),c=i.call(r,o)),l&&l.call(r,o);const f=r.delete(o);return c&&tt(r,"delete",o,void 0),f},clear(){const o=z(this),r=o.size!==0,i=o.clear();return r&&tt(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{s[o]=pi(o,e,t)}),s}function Cn(e,t){const s=hi(e,t);return(n,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?n:Reflect.get(G(s,o)&&o in n?s:n,o,r)}const gi={get:Cn(!1,!1)},mi={get:Cn(!1,!0)},yi={get:Cn(!0,!1)};const zo=new WeakMap,Go=new WeakMap,Yo=new WeakMap,vi=new WeakMap;function xi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function bi(e){return e.__v_skip||!Object.isExtensible(e)?0:xi(Ur(e))}function Ms(e){return rt(e)?e:An(e,!1,ui,gi,zo)}function _i(e){return An(e,!1,di,mi,Go)}function nn(e){return An(e,!0,fi,yi,Yo)}function An(e,t,s,n,o){if(!Y(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=bi(e);if(r===0)return e;const i=o.get(e);if(i)return i;const l=new Proxy(e,r===2?n:s);return o.set(e,l),l}function _t(e){return rt(e)?_t(e.__v_raw):!!(e&&e.__v_isReactive)}function rt(e){return!!(e&&e.__v_isReadonly)}function Pe(e){return!!(e&&e.__v_isShallow)}function En(e){return e?!!e.__v_raw:!1}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function Si(e){return!G(e,"__v_skip")&&Object.isExtensible(e)&&jo(e,"__v_skip",!0),e}const Oe=e=>Y(e)?Ms(e):e,jt=e=>Y(e)?nn(e):e;function xe(e){return e?e.__v_isRef===!0:!1}function Me(e){return wi(e,!1)}function wi(e,t){return xe(e)?e:new Ci(e,t)}class Ci{constructor(t,s){this.dep=new wn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:z(t),this._value=s?t:Oe(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Pe(t)||rt(t);t=n?t:z(t),Je(t,s)&&(this._rawValue=t,this._value=n?t:Oe(t),this.dep.trigger())}}function ge(e){return xe(e)?e.value:e}const Ai={get:(e,t,s)=>t==="__v_raw"?e:ge(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const o=e[t];return xe(o)&&!xe(s)?(o.value=s,!0):Reflect.set(e,t,s,n)}};function Qo(e){return _t(e)?e:new Proxy(e,Ai)}class Ei{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new wn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Yt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ie!==this)return Io(this,!0),!0}get value(){const t=this.dep.track();return Vo(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ki(e,t,s=!1){let n,o;return K(e)?n=e:(n=e.get,o=e.set),new Ei(n,o,s)}const fs={},xs=new WeakMap;let yt;function Fi(e,t=!1,s=yt){if(s){let n=xs.get(s);n||xs.set(s,n=[]),n.push(e)}}function Ti(e,t,s=se){const{immediate:n,deep:o,once:r,scheduler:i,augmentJob:l,call:c}=s,f=j=>o?j:Pe(j)||o===!1||o===0?st(j,1):st(j);let a,d,x,b,g=!1,v=!1;if(xe(e)?(d=()=>e.value,g=Pe(e)):_t(e)?(d=()=>f(e),g=!0):N(e)?(v=!0,g=e.some(j=>_t(j)||Pe(j)),d=()=>e.map(j=>{if(xe(j))return j.value;if(_t(j))return f(j);if(K(j))return c?c(j,2):j()})):K(e)?t?d=c?()=>c(e,2):e:d=()=>{if(x){nt();try{x()}finally{ot()}}const j=yt;yt=a;try{return c?c(e,3,[b]):e(b)}finally{yt=j}}:d=qe,t&&o){const j=d,H=o===!0?1/0:o;d=()=>st(j(),H)}const m=si(),A=()=>{a.stop(),m&&m.active&&mn(m.effects,a)};if(r&&t){const j=t;t=(...H)=>{j(...H),A()}}let k=v?new Array(e.length).fill(fs):fs;const D=j=>{if(!(!(a.flags&1)||!a.dirty&&!j))if(t){const H=a.run();if(o||g||(v?H.some((V,Q)=>Je(V,k[Q])):Je(H,k))){x&&x();const V=yt;yt=a;try{const Q=[H,k===fs?void 0:v&&k[0]===fs?[]:k,b];k=H,c?c(t,3,Q):t(...Q)}finally{yt=V}}}else a.run()};return l&&l(D),a=new Lo(d),a.scheduler=i?()=>i(D,!1):D,b=j=>Fi(j,!1,a),x=a.onStop=()=>{const j=xs.get(a);if(j){if(c)c(j,4);else for(const H of j)H();xs.delete(a)}},t?n?D(!0):k=a.run():i?i(D.bind(null,!0),!0):a.run(),A.pause=a.pause.bind(a),A.resume=a.resume.bind(a),A.stop=A,A}function st(e,t=1/0,s){if(t<=0||!Y(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,xe(e))st(e.value,t,s);else if(N(e))for(let n=0;n<e.length;n++)st(e[n],t,s);else if(Fo(e)||$t(e))e.forEach(n=>{st(n,t,s)});else if(Po(e)){for(const n in e)st(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&st(e[n],t,s)}return e}/**
10
+ * @vue/runtime-core v3.5.32
11
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
+ * @license MIT
13
+ **/function os(e,t,s,n){try{return n?e(...n):e()}catch(o){js(o,t,s)}}function De(e,t,s,n){if(K(e)){const o=os(e,t,s,n);return o&&To(o)&&o.catch(r=>{js(r,t,s)}),o}if(N(e)){const o=[];for(let r=0;r<e.length;r++)o.push(De(e[r],t,s,n));return o}}function js(e,t,s,n=!0){const o=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:i}=t&&t.appContext.config||se;if(t){let l=t.parent;const c=t.proxy,f=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const a=l.ec;if(a){for(let d=0;d<a.length;d++)if(a[d](e,c,f)===!1)return}l=l.parent}if(r){nt(),os(r,null,10,[e,c,f]),ot();return}}$i(e,s,o,n,i)}function $i(e,t,s,n=!0,o=!1){if(o)throw e;console.error(e)}const Se=[];let Ve=-1;const Pt=[];let ct=null,kt=0;const Xo=Promise.resolve();let bs=null;function kn(e){const t=bs||Xo;return e?t.then(this?e.bind(this):e):t}function Pi(e){let t=Ve+1,s=Se.length;for(;t<s;){const n=t+s>>>1,o=Se[n],r=Xt(o);r<e||r===e&&o.flags&2?t=n+1:s=n}return t}function Fn(e){if(!(e.flags&1)){const t=Xt(e),s=Se[Se.length-1];!s||!(e.flags&2)&&t>=Xt(s)?Se.push(e):Se.splice(Pi(t),0,e),e.flags|=1,Zo()}}function Zo(){bs||(bs=Xo.then(tr))}function Mi(e){N(e)?Pt.push(...e):ct&&e.id===-1?ct.splice(kt+1,0,e):e.flags&1||(Pt.push(e),e.flags|=1),Zo()}function Vn(e,t,s=Ve+1){for(;s<Se.length;s++){const n=Se[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;Se.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function er(e){if(Pt.length){const t=[...new Set(Pt)].sort((s,n)=>Xt(s)-Xt(n));if(Pt.length=0,ct){ct.push(...t);return}for(ct=t,kt=0;kt<ct.length;kt++){const s=ct[kt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}ct=null,kt=0}}const Xt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function tr(e){try{for(Ve=0;Ve<Se.length;Ve++){const t=Se[Ve];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),os(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ve<Se.length;Ve++){const t=Se[Ve];t&&(t.flags&=-2)}Ve=-1,Se.length=0,er(),bs=null,(Se.length||Pt.length)&&tr()}}let $e=null,sr=null;function _s(e){const t=$e;return $e=e,sr=e&&e.type.__scopeId||null,t}function on(e,t=$e,s){if(!t||e._n)return e;const n=(...o)=>{n._d&&Cs(-1);const r=_s(t);let i;try{i=e(...o)}finally{_s(r),n._d&&Cs(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function nr(e,t){if($e===null)return e;const s=Is($e),n=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,i,l,c=se]=t[o];r&&(K(r)&&(r={mounted:r,updated:r}),r.deep&&st(i),n.push({dir:r,instance:s,value:i,oldValue:void 0,arg:l,modifiers:c}))}return e}function dt(e,t,s,n){const o=e.dirs,r=t&&t.dirs;for(let i=0;i<o.length;i++){const l=o[i];r&&(l.oldValue=r[i].value);let c=l.dir[n];c&&(nt(),De(c,s,8,[e.el,l,e,t]),ot())}}function ji(e,t){if(Ce){let s=Ce.provides;const n=Ce.parent&&Ce.parent.provides;n===s&&(s=Ce.provides=Object.create(n)),s[e]=t}}function gs(e,t,s=!1){const n=Br();if(n||Mt){let o=Mt?Mt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return s&&K(t)?t.call(n&&n.proxy):t}}const Bi=Symbol.for("v-scx"),Oi=()=>gs(Bi);function St(e,t,s){return or(e,t,s)}function or(e,t,s=se){const{immediate:n,deep:o,flush:r,once:i}=s,l=pe({},s),c=t&&n||!t&&r!=="post";let f;if(ts){if(r==="sync"){const b=Oi();f=b.__watcherHandles||(b.__watcherHandles=[])}else if(!c){const b=()=>{};return b.stop=qe,b.resume=qe,b.pause=qe,b}}const a=Ce;l.call=(b,g,v)=>De(b,a,g,v);let d=!1;r==="post"?l.scheduler=b=>{_e(b,a&&a.suspense)}:r!=="sync"&&(d=!0,l.scheduler=(b,g)=>{g?b():Fn(b)}),l.augmentJob=b=>{t&&(b.flags|=4),d&&(b.flags|=2,a&&(b.id=a.uid,b.i=a))};const x=Ti(e,t,l);return ts&&(f?f.push(x):c&&x()),x}function Di(e,t,s){const n=this.proxy,o=ce(e)?e.includes(".")?rr(n,e):()=>n[e]:e.bind(n,n);let r;K(t)?r=t:(r=t.handler,s=t);const i=is(this),l=or(o,r.bind(n),s);return i(),l}function rr(e,t){const s=t.split(".");return()=>{let n=e;for(let o=0;o<s.length&&n;o++)n=n[s[o]];return n}}const pt=new WeakMap,ir=Symbol("_vte"),lr=e=>e.__isTeleport,vt=e=>e&&(e.disabled||e.disabled===""),Li=e=>e&&(e.defer||e.defer===""),Kn=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Un=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,rn=(e,t)=>{const s=e&&e.to;return ce(s)?t?t(s):null:s},Ni={name:"Teleport",__isTeleport:!0,process(e,t,s,n,o,r,i,l,c,f){const{mc:a,pc:d,pbc:x,o:{insert:b,querySelector:g,createText:v,createComment:m}}=f,A=vt(t.props);let{dynamicChildren:k}=t;const D=(V,Q,X)=>{V.shapeFlag&16&&a(V.children,Q,X,o,r,i,l,c)},j=(V=t)=>{const Q=vt(V.props),X=V.target=rn(V.props,g),R=ln(X,V,v,b);X&&(i!=="svg"&&Kn(X)?i="svg":i!=="mathml"&&Un(X)&&(i="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(X),Q||(D(V,X,R),Ht(V,!1)))},H=V=>{const Q=()=>{pt.get(V)===Q&&(pt.delete(V),vt(V.props)&&(D(V,s,V.anchor),Ht(V,!0)),j(V))};pt.set(V,Q),_e(Q,r)};if(e==null){const V=t.el=v(""),Q=t.anchor=v("");if(b(V,s,n),b(Q,s,n),Li(t.props)||r&&r.pendingBranch){H(t);return}A&&(D(t,s,Q),Ht(t,!0)),j()}else{t.el=e.el;const V=t.anchor=e.anchor,Q=pt.get(e);if(Q){Q.flags|=8,pt.delete(e),H(t);return}t.targetStart=e.targetStart;const X=t.target=e.target,R=t.targetAnchor=e.targetAnchor,J=vt(e.props),ne=J?s:X,B=J?V:R;if(i==="svg"||Kn(X)?i="svg":(i==="mathml"||Un(X))&&(i="mathml"),k?(x(e.dynamicChildren,k,ne,o,r,i,l),Pn(e,t,!0)):c||d(e,t,ne,B,o,r,i,l,!1),A)J?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ds(t,s,V,f,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const ee=t.target=rn(t.props,g);ee&&ds(t,ee,null,f,0)}else J&&ds(t,X,R,f,1);Ht(t,A)}},remove(e,t,s,{um:n,o:{remove:o}},r){const{shapeFlag:i,children:l,anchor:c,targetStart:f,targetAnchor:a,target:d,props:x}=e;let b=r||!vt(x);const g=pt.get(e);if(g&&(g.flags|=8,pt.delete(e),b=!1),d&&(o(f),o(a)),r&&o(c),i&16)for(let v=0;v<l.length;v++){const m=l[v];n(m,t,s,b,!!m.dynamicChildren)}},move:ds,hydrate:Ii};function ds(e,t,s,{o:{insert:n},m:o},r=2){r===0&&n(e.targetAnchor,t,s);const{el:i,anchor:l,shapeFlag:c,children:f,props:a}=e,d=r===2;if(d&&n(i,t,s),(!d||vt(a))&&c&16)for(let x=0;x<f.length;x++)o(f[x],t,s,2);d&&n(l,t,s)}function Ii(e,t,s,n,o,r,{o:{nextSibling:i,parentNode:l,querySelector:c,insert:f,createText:a}},d){function x(m,A){let k=A;for(;k;){if(k&&k.nodeType===8){if(k.data==="teleport start anchor")t.targetStart=k;else if(k.data==="teleport anchor"){t.targetAnchor=k,m._lpa=t.targetAnchor&&i(t.targetAnchor);break}}k=i(k)}}function b(m,A){A.anchor=d(i(m),A,l(m),s,n,o,r)}const g=t.target=rn(t.props,c),v=vt(t.props);if(g){const m=g._lpa||g.firstChild;t.shapeFlag&16&&(v?(b(e,t),x(g,m),t.targetAnchor||ln(g,t,a,f,l(e)===g?e:null)):(t.anchor=i(e),x(g,m),t.targetAnchor||ln(g,t,a,f),d(m&&i(m),t,g,s,n,o,r))),Ht(t,v)}else v&&t.shapeFlag&16&&(b(e,t),t.targetStart=e,t.targetAnchor=i(e));return t.anchor&&i(t.anchor)}const Ri=Ni;function Ht(e,t){const s=e.ctx;if(s&&s.ut){let n,o;for(t?(n=e.el,o=e.anchor):(n=e.targetStart,o=e.targetAnchor);n&&n!==o;)n.nodeType===1&&n.setAttribute("data-v-owner",s.uid),n=n.nextSibling;s.ut()}}function ln(e,t,s,n,o=null){const r=t.targetStart=s(""),i=t.targetAnchor=s("");return r[ir]=i,e&&(n(r,e,o),n(i,e,o)),i}const Ke=Symbol("_leaveCb"),It=Symbol("_enterCb");function Hi(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return rs(()=>{e.isMounted=!0}),gr(()=>{e.isUnmounting=!0}),e}const Te=[Function,Array],cr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Te,onEnter:Te,onAfterEnter:Te,onEnterCancelled:Te,onBeforeLeave:Te,onLeave:Te,onAfterLeave:Te,onLeaveCancelled:Te,onBeforeAppear:Te,onAppear:Te,onAfterAppear:Te,onAppearCancelled:Te},ar=e=>{const t=e.subTree;return t.component?ar(t.component):t},Vi={name:"BaseTransition",props:cr,setup(e,{slots:t}){const s=Br(),n=Hi();return()=>{const o=t.default&&dr(t.default(),!0);if(!o||!o.length)return;const r=ur(o),i=z(e),{mode:l}=i;if(n.isLeaving)return Js(r);const c=Wn(r);if(!c)return Js(r);let f=cn(c,i,n,s,d=>f=d);c.type!==we&&Zt(c,f);let a=s.subTree&&Wn(s.subTree);if(a&&a.type!==we&&!xt(a,c)&&ar(s).type!==we){let d=cn(a,i,n,s);if(Zt(a,d),l==="out-in"&&c.type!==we)return n.isLeaving=!0,d.afterLeave=()=>{n.isLeaving=!1,s.job.flags&8||s.update(),delete d.afterLeave,a=void 0},Js(r);l==="in-out"&&c.type!==we?d.delayLeave=(x,b,g)=>{const v=fr(n,a);v[String(a.key)]=a,x[Ke]=()=>{b(),x[Ke]=void 0,delete f.delayedLeave,a=void 0},f.delayedLeave=()=>{g(),delete f.delayedLeave,a=void 0}}:a=void 0}else a&&(a=void 0);return r}}};function ur(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==we){t=s;break}}return t}const Ki=Vi;function fr(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function cn(e,t,s,n,o){const{appear:r,mode:i,persisted:l=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:a,onEnterCancelled:d,onBeforeLeave:x,onLeave:b,onAfterLeave:g,onLeaveCancelled:v,onBeforeAppear:m,onAppear:A,onAfterAppear:k,onAppearCancelled:D}=t,j=String(e.key),H=fr(s,e),V=(R,J)=>{R&&De(R,n,9,J)},Q=(R,J)=>{const ne=J[1];V(R,J),N(R)?R.every(B=>B.length<=1)&&ne():R.length<=1&&ne()},X={mode:i,persisted:l,beforeEnter(R){let J=c;if(!s.isMounted)if(r)J=m||c;else return;R[Ke]&&R[Ke](!0);const ne=H[j];ne&&xt(e,ne)&&ne.el[Ke]&&ne.el[Ke](),V(J,[R])},enter(R){if(H[j]===e)return;let J=f,ne=a,B=d;if(!s.isMounted)if(r)J=A||f,ne=k||a,B=D||d;else return;let ee=!1;R[It]=Ye=>{ee||(ee=!0,Ye?V(B,[R]):V(ne,[R]),X.delayedLeave&&X.delayedLeave(),R[It]=void 0)};const ye=R[It].bind(null,!1);J?Q(J,[R,ye]):ye()},leave(R,J){const ne=String(e.key);if(R[It]&&R[It](!0),s.isUnmounting)return J();V(x,[R]);let B=!1;R[Ke]=ye=>{B||(B=!0,J(),ye?V(v,[R]):V(g,[R]),R[Ke]=void 0,H[ne]===e&&delete H[ne])};const ee=R[Ke].bind(null,!1);H[ne]=e,b?Q(b,[R,ee]):ee()},clone(R){const J=cn(R,t,s,n,o);return o&&o(J),J}};return X}function Js(e){if(Bs(e))return e=at(e),e.children=null,e}function Wn(e){if(!Bs(e))return lr(e.type)&&e.children?ur(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&K(s.default))return s.default()}}function Zt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Zt(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function dr(e,t=!1,s){let n=[],o=0;for(let r=0;r<e.length;r++){let i=e[r];const l=s==null?i.key:String(s)+String(i.key!=null?i.key:r);i.type===me?(i.patchFlag&128&&o++,n=n.concat(dr(i.children,t,l))):(t||i.type!==we)&&n.push(l!=null?at(i,{key:l}):i)}if(o>1)for(let r=0;r<n.length;r++)n[r].patchFlag=-2;return n}function pr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Jn(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const Ss=new WeakMap;function Jt(e,t,s,n,o=!1){if(N(e)){e.forEach((v,m)=>Jt(v,t&&(N(t)?t[m]:t),s,n,o));return}if(qt(n)&&!o){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Jt(e,t,s,n.component.subTree);return}const r=n.shapeFlag&4?Is(n.component):n.el,i=o?null:r,{i:l,r:c}=e,f=t&&t.r,a=l.refs===se?l.refs={}:l.refs,d=l.setupState,x=z(d),b=d===se?ko:v=>Jn(a,v)?!1:G(x,v),g=(v,m)=>!(m&&Jn(a,m));if(f!=null&&f!==c){if(qn(t),ce(f))a[f]=null,b(f)&&(d[f]=null);else if(xe(f)){const v=t;g(f,v.k)&&(f.value=null),v.k&&(a[v.k]=null)}}if(K(c))os(c,l,12,[i,a]);else{const v=ce(c),m=xe(c);if(v||m){const A=()=>{if(e.f){const k=v?b(c)?d[c]:a[c]:g()||!e.k?c.value:a[e.k];if(o)N(k)&&mn(k,r);else if(N(k))k.includes(r)||k.push(r);else if(v)a[c]=[r],b(c)&&(d[c]=a[c]);else{const D=[r];g(c,e.k)&&(c.value=D),e.k&&(a[e.k]=D)}}else v?(a[c]=i,b(c)&&(d[c]=i)):m&&(g(c,e.k)&&(c.value=i),e.k&&(a[e.k]=i))};if(i){const k=()=>{A(),Ss.delete(e)};k.id=-1,Ss.set(e,k),_e(k,s)}else qn(e),A()}}}function qn(e){const t=Ss.get(e);t&&(t.flags|=8,Ss.delete(e))}$s().requestIdleCallback;$s().cancelIdleCallback;const qt=e=>!!e.type.__asyncLoader,Bs=e=>e.type.__isKeepAlive;function Ui(e,t){hr(e,"a",t)}function Wi(e,t){hr(e,"da",t)}function hr(e,t,s=Ce){const n=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Os(t,n,s),s){let o=s.parent;for(;o&&o.parent;)Bs(o.parent.vnode)&&Ji(n,t,s,o),o=o.parent}}function Ji(e,t,s,n){const o=Os(t,e,n,!0);Ds(()=>{mn(n[t],o)},s)}function Os(e,t,s=Ce,n=!1){if(s){const o=s[e]||(s[e]=[]),r=t.__weh||(t.__weh=(...i)=>{nt();const l=is(s),c=De(t,s,e,i);return l(),ot(),c});return n?o.unshift(r):o.push(r),r}}const it=e=>(t,s=Ce)=>{(!ts||e==="sp")&&Os(e,(...n)=>t(...n),s)},qi=it("bm"),rs=it("m"),zi=it("bu"),Gi=it("u"),gr=it("bum"),Ds=it("um"),Yi=it("sp"),Qi=it("rtg"),Xi=it("rtc");function Zi(e,t=Ce){Os("ec",e,t)}const el=Symbol.for("v-ndc");function wt(e,t,s,n){let o;const r=s,i=N(e);if(i||ce(e)){const l=i&&_t(e);let c=!1,f=!1;l&&(c=!Pe(e),f=rt(e),e=Ps(e)),o=new Array(e.length);for(let a=0,d=e.length;a<d;a++)o[a]=t(c?f?jt(Oe(e[a])):Oe(e[a]):e[a],a,void 0,r)}else if(typeof e=="number"){o=new Array(e);for(let l=0;l<e;l++)o[l]=t(l+1,l,void 0,r)}else if(Y(e))if(e[Symbol.iterator])o=Array.from(e,(l,c)=>t(l,c,void 0,r));else{const l=Object.keys(e);o=new Array(l.length);for(let c=0,f=l.length;c<f;c++){const a=l[c];o[c]=t(e[a],a,c,r)}}else o=[];return o}const an=e=>e?Or(e)?Is(e):an(e.parent):null,zt=pe(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=>an(e.parent),$root:e=>an(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>yr(e),$forceUpdate:e=>e.f||(e.f=()=>{Fn(e.update)}),$nextTick:e=>e.n||(e.n=kn.bind(e.proxy)),$watch:e=>Di.bind(e)}),qs=(e,t)=>e!==se&&!e.__isScriptSetup&&G(e,t),tl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:o,props:r,accessCache:i,type:l,appContext:c}=e;if(t[0]!=="$"){const x=i[t];if(x!==void 0)switch(x){case 1:return n[t];case 2:return o[t];case 4:return s[t];case 3:return r[t]}else{if(qs(n,t))return i[t]=1,n[t];if(o!==se&&G(o,t))return i[t]=2,o[t];if(G(r,t))return i[t]=3,r[t];if(s!==se&&G(s,t))return i[t]=4,s[t];un&&(i[t]=0)}}const f=zt[t];let a,d;if(f)return t==="$attrs"&&ve(e.attrs,"get",""),f(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(s!==se&&G(s,t))return i[t]=4,s[t];if(d=c.config.globalProperties,G(d,t))return d[t]},set({_:e},t,s){const{data:n,setupState:o,ctx:r}=e;return qs(o,t)?(o[t]=s,!0):n!==se&&G(n,t)?(n[t]=s,!0):G(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:o,props:r,type:i}},l){let c;return!!(s[l]||e!==se&&l[0]!=="$"&&G(e,l)||qs(t,l)||G(r,l)||G(n,l)||G(zt,l)||G(o.config.globalProperties,l)||(c=i.__cssModules)&&c[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:G(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function zn(e){return N(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let un=!0;function sl(e){const t=yr(e),s=e.proxy,n=e.ctx;un=!1,t.beforeCreate&&Gn(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:l,provide:c,inject:f,created:a,beforeMount:d,mounted:x,beforeUpdate:b,updated:g,activated:v,deactivated:m,beforeDestroy:A,beforeUnmount:k,destroyed:D,unmounted:j,render:H,renderTracked:V,renderTriggered:Q,errorCaptured:X,serverPrefetch:R,expose:J,inheritAttrs:ne,components:B,directives:ee,filters:ye}=t;if(f&&nl(f,n,null),i)for(const le in i){const oe=i[le];K(oe)&&(n[le]=oe.bind(s))}if(o){const le=o.call(s,s);Y(le)&&(e.data=Ms(le))}if(un=!0,r)for(const le in r){const oe=r[le],ut=K(oe)?oe.bind(s,s):K(oe.get)?oe.get.bind(s,s):qe,ls=!K(oe)&&K(oe.set)?oe.set.bind(s):qe,ft=ue({get:ut,set:ls});Object.defineProperty(n,le,{enumerable:!0,configurable:!0,get:()=>ft.value,set:Le=>ft.value=Le})}if(l)for(const le in l)mr(l[le],n,s,le);if(c){const le=K(c)?c.call(s):c;Reflect.ownKeys(le).forEach(oe=>{ji(oe,le[oe])})}a&&Gn(a,e,"c");function de(le,oe){N(oe)?oe.forEach(ut=>le(ut.bind(s))):oe&&le(oe.bind(s))}if(de(qi,d),de(rs,x),de(zi,b),de(Gi,g),de(Ui,v),de(Wi,m),de(Zi,X),de(Xi,V),de(Qi,Q),de(gr,k),de(Ds,j),de(Yi,R),N(J))if(J.length){const le=e.exposed||(e.exposed={});J.forEach(oe=>{Object.defineProperty(le,oe,{get:()=>s[oe],set:ut=>s[oe]=ut,enumerable:!0})})}else e.exposed||(e.exposed={});H&&e.render===qe&&(e.render=H),ne!=null&&(e.inheritAttrs=ne),B&&(e.components=B),ee&&(e.directives=ee),R&&pr(e)}function nl(e,t,s=qe){N(e)&&(e=fn(e));for(const n in e){const o=e[n];let r;Y(o)?"default"in o?r=gs(o.from||n,o.default,!0):r=gs(o.from||n):r=gs(o),xe(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[n]=r}}function Gn(e,t,s){De(N(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function mr(e,t,s,n){let o=n.includes(".")?rr(s,n):()=>s[n];if(ce(e)){const r=t[e];K(r)&&St(o,r)}else if(K(e))St(o,e.bind(s));else if(Y(e))if(N(e))e.forEach(r=>mr(r,t,s,n));else{const r=K(e.handler)?e.handler.bind(s):t[e.handler];K(r)&&St(o,r,e)}}function yr(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,l=r.get(t);let c;return l?c=l:!o.length&&!s&&!n?c=t:(c={},o.length&&o.forEach(f=>ws(c,f,i,!0)),ws(c,t,i)),Y(t)&&r.set(t,c),c}function ws(e,t,s,n=!1){const{mixins:o,extends:r}=t;r&&ws(e,r,s,!0),o&&o.forEach(i=>ws(e,i,s,!0));for(const i in t)if(!(n&&i==="expose")){const l=ol[i]||s&&s[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const ol={data:Yn,props:Qn,emits:Qn,methods:Vt,computed:Vt,beforeCreate:be,created:be,beforeMount:be,mounted:be,beforeUpdate:be,updated:be,beforeDestroy:be,beforeUnmount:be,destroyed:be,unmounted:be,activated:be,deactivated:be,errorCaptured:be,serverPrefetch:be,components:Vt,directives:Vt,watch:il,provide:Yn,inject:rl};function Yn(e,t){return t?e?function(){return pe(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function rl(e,t){return Vt(fn(e),fn(t))}function fn(e){if(N(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function be(e,t){return e?[...new Set([].concat(e,t))]:t}function Vt(e,t){return e?pe(Object.create(null),e,t):t}function Qn(e,t){return e?N(e)&&N(t)?[...new Set([...e,...t])]:pe(Object.create(null),zn(e),zn(t??{})):t}function il(e,t){if(!e)return t;if(!t)return e;const s=pe(Object.create(null),e);for(const n in t)s[n]=be(e[n],t[n]);return s}function vr(){return{app:null,config:{isNativeTag:ko,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 ll=0;function cl(e,t){return function(n,o=null){K(n)||(n=pe({},n)),o!=null&&!Y(o)&&(o=null);const r=vr(),i=new WeakSet,l=[];let c=!1;const f=r.app={_uid:ll++,_component:n,_props:o,_container:null,_context:r,_instance:null,version:Hl,get config(){return r.config},set config(a){},use(a,...d){return i.has(a)||(a&&K(a.install)?(i.add(a),a.install(f,...d)):K(a)&&(i.add(a),a(f,...d))),f},mixin(a){return r.mixins.includes(a)||r.mixins.push(a),f},component(a,d){return d?(r.components[a]=d,f):r.components[a]},directive(a,d){return d?(r.directives[a]=d,f):r.directives[a]},mount(a,d,x){if(!c){const b=f._ceVNode||Z(n,o);return b.appContext=r,x===!0?x="svg":x===!1&&(x=void 0),e(b,a,x),c=!0,f._container=a,a.__vue_app__=f,Is(b.component)}},onUnmount(a){l.push(a)},unmount(){c&&(De(l,f._instance,16),e(null,f._container),delete f._container.__vue_app__)},provide(a,d){return r.provides[a]=d,f},runWithContext(a){const d=Mt;Mt=f;try{return a()}finally{Mt=d}}};return f}}let Mt=null;const al=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${je(t)}Modifiers`]||e[`${At(t)}Modifiers`];function ul(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||se;let o=s;const r=t.startsWith("update:"),i=r&&al(n,t.slice(7));i&&(i.trim&&(o=s.map(a=>ce(a)?a.trim():a)),i.number&&(o=s.map(vn)));let l,c=n[l=Hs(t)]||n[l=Hs(je(t))];!c&&r&&(c=n[l=Hs(At(t))]),c&&De(c,e,6,o);const f=n[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,De(f,e,6,o)}}const fl=new WeakMap;function xr(e,t,s=!1){const n=s?fl:t.emitsCache,o=n.get(e);if(o!==void 0)return o;const r=e.emits;let i={},l=!1;if(!K(e)){const c=f=>{const a=xr(f,t,!0);a&&(l=!0,pe(i,a))};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!r&&!l?(Y(e)&&n.set(e,null),null):(N(r)?r.forEach(c=>i[c]=null):pe(i,r),Y(e)&&n.set(e,i),i)}function Ls(e,t){return!e||!ks(t)?!1:(t=t.slice(2).replace(/Once$/,""),G(e,t[0].toLowerCase()+t.slice(1))||G(e,At(t))||G(e,t))}function Xn(e){const{type:t,vnode:s,proxy:n,withProxy:o,propsOptions:[r],slots:i,attrs:l,emit:c,render:f,renderCache:a,props:d,data:x,setupState:b,ctx:g,inheritAttrs:v}=e,m=_s(e);let A,k;try{if(s.shapeFlag&4){const j=o||n,H=j;A=We(f.call(H,j,a,d,b,x,g)),k=l}else{const j=t;A=We(j.length>1?j(d,{attrs:l,slots:i,emit:c}):j(d,null)),k=t.props?l:dl(l)}}catch(j){Gt.length=0,js(j,e,1),A=Z(we)}let D=A;if(k&&v!==!1){const j=Object.keys(k),{shapeFlag:H}=D;j.length&&H&7&&(r&&j.some(Fs)&&(k=pl(k,r)),D=at(D,k,!1,!0))}return s.dirs&&(D=at(D,null,!1,!0),D.dirs=D.dirs?D.dirs.concat(s.dirs):s.dirs),s.transition&&Zt(D,s.transition),A=D,_s(m),A}const dl=e=>{let t;for(const s in e)(s==="class"||s==="style"||ks(s))&&((t||(t={}))[s]=e[s]);return t},pl=(e,t)=>{const s={};for(const n in e)(!Fs(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function hl(e,t,s){const{props:n,children:o,component:r}=e,{props:i,children:l,patchFlag:c}=t,f=r.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?Zn(n,i,f):!!i;if(c&8){const a=t.dynamicProps;for(let d=0;d<a.length;d++){const x=a[d];if(br(i,n,x)&&!Ls(f,x))return!0}}}else return(o||l)&&(!l||!l.$stable)?!0:n===i?!1:n?i?Zn(n,i,f):!0:!!i;return!1}function Zn(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let o=0;o<n.length;o++){const r=n[o];if(br(t,e,r)&&!Ls(s,r))return!0}return!1}function br(e,t,s){const n=e[s],o=t[s];return s==="style"&&Y(n)&&Y(o)?!xn(n,o):n!==o}function gl({vnode:e,parent:t,suspense:s},n){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.suspense.vnode.el=o.el=n,e=o),o===e)(e=t.vnode).el=n,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=n)}const _r={},Sr=()=>Object.create(_r),wr=e=>Object.getPrototypeOf(e)===_r;function ml(e,t,s,n=!1){const o={},r=Sr();e.propsDefaults=Object.create(null),Cr(e,t,o,r);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);s?e.props=n?o:_i(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function yl(e,t,s,n){const{props:o,attrs:r,vnode:{patchFlag:i}}=e,l=z(o),[c]=e.propsOptions;let f=!1;if((n||i>0)&&!(i&16)){if(i&8){const a=e.vnode.dynamicProps;for(let d=0;d<a.length;d++){let x=a[d];if(Ls(e.emitsOptions,x))continue;const b=t[x];if(c)if(G(r,x))b!==r[x]&&(r[x]=b,f=!0);else{const g=je(x);o[g]=dn(c,l,g,b,e,!1)}else b!==r[x]&&(r[x]=b,f=!0)}}}else{Cr(e,t,o,r)&&(f=!0);let a;for(const d in l)(!t||!G(t,d)&&((a=At(d))===d||!G(t,a)))&&(c?s&&(s[d]!==void 0||s[a]!==void 0)&&(o[d]=dn(c,l,d,void 0,e,!0)):delete o[d]);if(r!==l)for(const d in r)(!t||!G(t,d))&&(delete r[d],f=!0)}f&&tt(e.attrs,"set","")}function Cr(e,t,s,n){const[o,r]=e.propsOptions;let i=!1,l;if(t)for(let c in t){if(Kt(c))continue;const f=t[c];let a;o&&G(o,a=je(c))?!r||!r.includes(a)?s[a]=f:(l||(l={}))[a]=f:Ls(e.emitsOptions,c)||(!(c in n)||f!==n[c])&&(n[c]=f,i=!0)}if(r){const c=z(s),f=l||se;for(let a=0;a<r.length;a++){const d=r[a];s[d]=dn(o,c,d,f[d],e,!G(f,d))}}return i}function dn(e,t,s,n,o,r){const i=e[s];if(i!=null){const l=G(i,"default");if(l&&n===void 0){const c=i.default;if(i.type!==Function&&!i.skipFactory&&K(c)){const{propsDefaults:f}=o;if(s in f)n=f[s];else{const a=is(o);n=f[s]=c.call(null,t),a()}}else n=c;o.ce&&o.ce._setProp(s,n)}i[0]&&(r&&!l?n=!1:i[1]&&(n===""||n===At(s))&&(n=!0))}return n}const vl=new WeakMap;function Ar(e,t,s=!1){const n=s?vl:t.propsCache,o=n.get(e);if(o)return o;const r=e.props,i={},l=[];let c=!1;if(!K(e)){const a=d=>{c=!0;const[x,b]=Ar(d,t,!0);pe(i,x),b&&l.push(...b)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!r&&!c)return Y(e)&&n.set(e,Tt),Tt;if(N(r))for(let a=0;a<r.length;a++){const d=je(r[a]);eo(d)&&(i[d]=se)}else if(r)for(const a in r){const d=je(a);if(eo(d)){const x=r[a],b=i[d]=N(x)||K(x)?{type:x}:pe({},x),g=b.type;let v=!1,m=!0;if(N(g))for(let A=0;A<g.length;++A){const k=g[A],D=K(k)&&k.name;if(D==="Boolean"){v=!0;break}else D==="String"&&(m=!1)}else v=K(g)&&g.name==="Boolean";b[0]=v,b[1]=m,(v||G(b,"default"))&&l.push(d)}}const f=[i,l];return Y(e)&&n.set(e,f),f}function eo(e){return e[0]!=="$"&&!Kt(e)}const Tn=e=>e==="_"||e==="_ctx"||e==="$stable",$n=e=>N(e)?e.map(We):[We(e)],xl=(e,t,s)=>{if(t._n)return t;const n=on((...o)=>$n(t(...o)),s);return n._c=!1,n},Er=(e,t,s)=>{const n=e._ctx;for(const o in e){if(Tn(o))continue;const r=e[o];if(K(r))t[o]=xl(o,r,n);else if(r!=null){const i=$n(r);t[o]=()=>i}}},kr=(e,t)=>{const s=$n(t);e.slots.default=()=>s},Fr=(e,t,s)=>{for(const n in t)(s||!Tn(n))&&(e[n]=t[n])},bl=(e,t,s)=>{const n=e.slots=Sr();if(e.vnode.shapeFlag&32){const o=t._;o?(Fr(n,t,s),s&&jo(n,"_",o,!0)):Er(t,n)}else t&&kr(e,t)},_l=(e,t,s)=>{const{vnode:n,slots:o}=e;let r=!0,i=se;if(n.shapeFlag&32){const l=t._;l?s&&l===1?r=!1:Fr(o,t,s):(r=!t.$stable,Er(t,o)),i=t}else t&&(kr(e,t),i={default:1});if(r)for(const l in o)!Tn(l)&&i[l]==null&&delete o[l]},_e=El;function Sl(e){return wl(e)}function wl(e,t){const s=$s();s.__VUE__=!0;const{insert:n,remove:o,patchProp:r,createElement:i,createText:l,createComment:c,setText:f,setElementText:a,parentNode:d,nextSibling:x,setScopeId:b=qe,insertStaticContent:g}=e,v=(u,p,y,C=null,_=null,S=null,$=void 0,T=null,E=!!p.dynamicChildren)=>{if(u===p)return;u&&!xt(u,p)&&(C=cs(u),Le(u,_,S,!0),u=null),p.patchFlag===-2&&(E=!1,p.dynamicChildren=null);const{type:w,ref:L,shapeFlag:M}=p;switch(w){case Ns:m(u,p,y,C);break;case we:A(u,p,y,C);break;case ms:u==null&&k(p,y,C,$);break;case me:B(u,p,y,C,_,S,$,T,E);break;default:M&1?H(u,p,y,C,_,S,$,T,E):M&6?ee(u,p,y,C,_,S,$,T,E):(M&64||M&128)&&w.process(u,p,y,C,_,S,$,T,E,Dt)}L!=null&&_?Jt(L,u&&u.ref,S,p||u,!p):L==null&&u&&u.ref!=null&&Jt(u.ref,null,S,u,!0)},m=(u,p,y,C)=>{if(u==null)n(p.el=l(p.children),y,C);else{const _=p.el=u.el;p.children!==u.children&&f(_,p.children)}},A=(u,p,y,C)=>{u==null?n(p.el=c(p.children||""),y,C):p.el=u.el},k=(u,p,y,C)=>{[u.el,u.anchor]=g(u.children,p,y,C,u.el,u.anchor)},D=({el:u,anchor:p},y,C)=>{let _;for(;u&&u!==p;)_=x(u),n(u,y,C),u=_;n(p,y,C)},j=({el:u,anchor:p})=>{let y;for(;u&&u!==p;)y=x(u),o(u),u=y;o(p)},H=(u,p,y,C,_,S,$,T,E)=>{if(p.type==="svg"?$="svg":p.type==="math"&&($="mathml"),u==null)V(p,y,C,_,S,$,T,E);else{const w=u.el&&u.el._isVueCE?u.el:null;try{w&&w._beginPatch(),R(u,p,_,S,$,T,E)}finally{w&&w._endPatch()}}},V=(u,p,y,C,_,S,$,T)=>{let E,w;const{props:L,shapeFlag:M,transition:O,dirs:I}=u;if(E=u.el=i(u.type,S,L&&L.is,L),M&8?a(E,u.children):M&16&&X(u.children,E,null,C,_,zs(u,S),$,T),I&&dt(u,null,C,"created"),Q(E,u,u.scopeId,$,C),L){for(const te in L)te!=="value"&&!Kt(te)&&r(E,te,null,L[te],S,C);"value"in L&&r(E,"value",null,L.value,S),(w=L.onVnodeBeforeMount)&&He(w,C,u)}I&&dt(u,null,C,"beforeMount");const q=Cl(_,O);q&&O.beforeEnter(E),n(E,p,y),((w=L&&L.onVnodeMounted)||q||I)&&_e(()=>{try{w&&He(w,C,u),q&&O.enter(E),I&&dt(u,null,C,"mounted")}finally{}},_)},Q=(u,p,y,C,_)=>{if(y&&b(u,y),C)for(let S=0;S<C.length;S++)b(u,C[S]);if(_){let S=_.subTree;if(p===S||Pr(S.type)&&(S.ssContent===p||S.ssFallback===p)){const $=_.vnode;Q(u,$,$.scopeId,$.slotScopeIds,_.parent)}}},X=(u,p,y,C,_,S,$,T,E=0)=>{for(let w=E;w<u.length;w++){const L=u[w]=T?et(u[w]):We(u[w]);v(null,L,p,y,C,_,S,$,T)}},R=(u,p,y,C,_,S,$)=>{const T=p.el=u.el;let{patchFlag:E,dynamicChildren:w,dirs:L}=p;E|=u.patchFlag&16;const M=u.props||se,O=p.props||se;let I;if(y&&ht(y,!1),(I=O.onVnodeBeforeUpdate)&&He(I,y,p,u),L&&dt(p,u,y,"beforeUpdate"),y&&ht(y,!0),(M.innerHTML&&O.innerHTML==null||M.textContent&&O.textContent==null)&&a(T,""),w?J(u.dynamicChildren,w,T,y,C,zs(p,_),S):$||oe(u,p,T,null,y,C,zs(p,_),S,!1),E>0){if(E&16)ne(T,M,O,y,_);else if(E&2&&M.class!==O.class&&r(T,"class",null,O.class,_),E&4&&r(T,"style",M.style,O.style,_),E&8){const q=p.dynamicProps;for(let te=0;te<q.length;te++){const re=q[te],ae=M[re],he=O[re];(he!==ae||re==="value")&&r(T,re,ae,he,_,y)}}E&1&&u.children!==p.children&&a(T,p.children)}else!$&&w==null&&ne(T,M,O,y,_);((I=O.onVnodeUpdated)||L)&&_e(()=>{I&&He(I,y,p,u),L&&dt(p,u,y,"updated")},C)},J=(u,p,y,C,_,S,$)=>{for(let T=0;T<p.length;T++){const E=u[T],w=p[T],L=E.el&&(E.type===me||!xt(E,w)||E.shapeFlag&198)?d(E.el):y;v(E,w,L,null,C,_,S,$,!0)}},ne=(u,p,y,C,_)=>{if(p!==y){if(p!==se)for(const S in p)!Kt(S)&&!(S in y)&&r(u,S,p[S],null,_,C);for(const S in y){if(Kt(S))continue;const $=y[S],T=p[S];$!==T&&S!=="value"&&r(u,S,T,$,_,C)}"value"in y&&r(u,"value",p.value,y.value,_)}},B=(u,p,y,C,_,S,$,T,E)=>{const w=p.el=u?u.el:l(""),L=p.anchor=u?u.anchor:l("");let{patchFlag:M,dynamicChildren:O,slotScopeIds:I}=p;I&&(T=T?T.concat(I):I),u==null?(n(w,y,C),n(L,y,C),X(p.children||[],y,L,_,S,$,T,E)):M>0&&M&64&&O&&u.dynamicChildren&&u.dynamicChildren.length===O.length?(J(u.dynamicChildren,O,y,_,S,$,T),(p.key!=null||_&&p===_.subTree)&&Pn(u,p,!0)):oe(u,p,y,L,_,S,$,T,E)},ee=(u,p,y,C,_,S,$,T,E)=>{p.slotScopeIds=T,u==null?p.shapeFlag&512?_.ctx.activate(p,y,C,$,E):ye(p,y,C,_,S,$,E):Ye(u,p,E)},ye=(u,p,y,C,_,S,$)=>{const T=u.component=Bl(u,C,_);if(Bs(u)&&(T.ctx.renderer=Dt),Ol(T,!1,$),T.asyncDep){if(_&&_.registerDep(T,de,$),!u.el){const E=T.subTree=Z(we);A(null,E,p,y),u.placeholder=E.el}}else de(T,u,p,y,_,S,$)},Ye=(u,p,y)=>{const C=p.component=u.component;if(hl(u,p,y))if(C.asyncDep&&!C.asyncResolved){le(C,p,y);return}else C.next=p,C.update();else p.el=u.el,C.vnode=p},de=(u,p,y,C,_,S,$)=>{const T=()=>{if(u.isMounted){let{next:M,bu:O,u:I,parent:q,vnode:te}=u;{const Ie=Tr(u);if(Ie){M&&(M.el=te.el,le(u,M,$)),Ie.asyncDep.then(()=>{_e(()=>{u.isUnmounted||w()},_)});return}}let re=M,ae;ht(u,!1),M?(M.el=te.el,le(u,M,$)):M=te,O&&hs(O),(ae=M.props&&M.props.onVnodeBeforeUpdate)&&He(ae,q,M,te),ht(u,!0);const he=Xn(u),Ne=u.subTree;u.subTree=he,v(Ne,he,d(Ne.el),cs(Ne),u,_,S),M.el=he.el,re===null&&gl(u,he.el),I&&_e(I,_),(ae=M.props&&M.props.onVnodeUpdated)&&_e(()=>He(ae,q,M,te),_)}else{let M;const{el:O,props:I}=p,{bm:q,m:te,parent:re,root:ae,type:he}=u,Ne=qt(p);ht(u,!1),q&&hs(q),!Ne&&(M=I&&I.onVnodeBeforeMount)&&He(M,re,p),ht(u,!0);{ae.ce&&ae.ce._hasShadowRoot()&&ae.ce._injectChildStyle(he,u.parent?u.parent.type:void 0);const Ie=u.subTree=Xn(u);v(null,Ie,y,C,u,_,S),p.el=Ie.el}if(te&&_e(te,_),!Ne&&(M=I&&I.onVnodeMounted)){const Ie=p;_e(()=>He(M,re,Ie),_)}(p.shapeFlag&256||re&&qt(re.vnode)&&re.vnode.shapeFlag&256)&&u.a&&_e(u.a,_),u.isMounted=!0,p=y=C=null}};u.scope.on();const E=u.effect=new Lo(T);u.scope.off();const w=u.update=E.run.bind(E),L=u.job=E.runIfDirty.bind(E);L.i=u,L.id=u.uid,E.scheduler=()=>Fn(L),ht(u,!0),w()},le=(u,p,y)=>{p.component=u;const C=u.vnode.props;u.vnode=p,u.next=null,yl(u,p.props,C,y),_l(u,p.children,y),nt(),Vn(u),ot()},oe=(u,p,y,C,_,S,$,T,E=!1)=>{const w=u&&u.children,L=u?u.shapeFlag:0,M=p.children,{patchFlag:O,shapeFlag:I}=p;if(O>0){if(O&128){ls(w,M,y,C,_,S,$,T,E);return}else if(O&256){ut(w,M,y,C,_,S,$,T,E);return}}I&8?(L&16&&Ot(w,_,S),M!==w&&a(y,M)):L&16?I&16?ls(w,M,y,C,_,S,$,T,E):Ot(w,_,S,!0):(L&8&&a(y,""),I&16&&X(M,y,C,_,S,$,T,E))},ut=(u,p,y,C,_,S,$,T,E)=>{u=u||Tt,p=p||Tt;const w=u.length,L=p.length,M=Math.min(w,L);let O;for(O=0;O<M;O++){const I=p[O]=E?et(p[O]):We(p[O]);v(u[O],I,y,null,_,S,$,T,E)}w>L?Ot(u,_,S,!0,!1,M):X(p,y,C,_,S,$,T,E,M)},ls=(u,p,y,C,_,S,$,T,E)=>{let w=0;const L=p.length;let M=u.length-1,O=L-1;for(;w<=M&&w<=O;){const I=u[w],q=p[w]=E?et(p[w]):We(p[w]);if(xt(I,q))v(I,q,y,null,_,S,$,T,E);else break;w++}for(;w<=M&&w<=O;){const I=u[M],q=p[O]=E?et(p[O]):We(p[O]);if(xt(I,q))v(I,q,y,null,_,S,$,T,E);else break;M--,O--}if(w>M){if(w<=O){const I=O+1,q=I<L?p[I].el:C;for(;w<=O;)v(null,p[w]=E?et(p[w]):We(p[w]),y,q,_,S,$,T,E),w++}}else if(w>O)for(;w<=M;)Le(u[w],_,S,!0),w++;else{const I=w,q=w,te=new Map;for(w=q;w<=O;w++){const Ee=p[w]=E?et(p[w]):We(p[w]);Ee.key!=null&&te.set(Ee.key,w)}let re,ae=0;const he=O-q+1;let Ne=!1,Ie=0;const Lt=new Array(he);for(w=0;w<he;w++)Lt[w]=0;for(w=I;w<=M;w++){const Ee=u[w];if(ae>=he){Le(Ee,_,S,!0);continue}let Re;if(Ee.key!=null)Re=te.get(Ee.key);else for(re=q;re<=O;re++)if(Lt[re-q]===0&&xt(Ee,p[re])){Re=re;break}Re===void 0?Le(Ee,_,S,!0):(Lt[Re-q]=w+1,Re>=Ie?Ie=Re:Ne=!0,v(Ee,p[Re],y,null,_,S,$,T,E),ae++)}const On=Ne?Al(Lt):Tt;for(re=On.length-1,w=he-1;w>=0;w--){const Ee=q+w,Re=p[Ee],Dn=p[Ee+1],Ln=Ee+1<L?Dn.el||$r(Dn):C;Lt[w]===0?v(null,Re,y,Ln,_,S,$,T,E):Ne&&(re<0||w!==On[re]?ft(Re,y,Ln,2):re--)}}},ft=(u,p,y,C,_=null)=>{const{el:S,type:$,transition:T,children:E,shapeFlag:w}=u;if(w&6){ft(u.component.subTree,p,y,C);return}if(w&128){u.suspense.move(p,y,C);return}if(w&64){$.move(u,p,y,Dt);return}if($===me){n(S,p,y);for(let M=0;M<E.length;M++)ft(E[M],p,y,C);n(u.anchor,p,y);return}if($===ms){D(u,p,y);return}if(C!==2&&w&1&&T)if(C===0)T.beforeEnter(S),n(S,p,y),_e(()=>T.enter(S),_);else{const{leave:M,delayLeave:O,afterLeave:I}=T,q=()=>{u.ctx.isUnmounted?o(S):n(S,p,y)},te=()=>{S._isLeaving&&S[Ke](!0),M(S,()=>{q(),I&&I()})};O?O(S,q,te):te()}else n(S,p,y)},Le=(u,p,y,C=!1,_=!1)=>{const{type:S,props:$,ref:T,children:E,dynamicChildren:w,shapeFlag:L,patchFlag:M,dirs:O,cacheIndex:I,memo:q}=u;if(M===-2&&(_=!1),T!=null&&(nt(),Jt(T,null,y,u,!0),ot()),I!=null&&(p.renderCache[I]=void 0),L&256){p.ctx.deactivate(u);return}const te=L&1&&O,re=!qt(u);let ae;if(re&&(ae=$&&$.onVnodeBeforeUnmount)&&He(ae,p,u),L&6)Vr(u.component,y,C);else{if(L&128){u.suspense.unmount(y,C);return}te&&dt(u,null,p,"beforeUnmount"),L&64?u.type.remove(u,p,y,Dt,C):w&&!w.hasOnce&&(S!==me||M>0&&M&64)?Ot(w,p,y,!1,!0):(S===me&&M&384||!_&&L&16)&&Ot(E,p,y),C&&jn(u)}const he=q!=null&&I==null;(re&&(ae=$&&$.onVnodeUnmounted)||te||he)&&_e(()=>{ae&&He(ae,p,u),te&&dt(u,null,p,"unmounted"),he&&(u.el=null)},y)},jn=u=>{const{type:p,el:y,anchor:C,transition:_}=u;if(p===me){Hr(y,C);return}if(p===ms){j(u);return}const S=()=>{o(y),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(u.shapeFlag&1&&_&&!_.persisted){const{leave:$,delayLeave:T}=_,E=()=>$(y,S);T?T(u.el,S,E):E()}else S()},Hr=(u,p)=>{let y;for(;u!==p;)y=x(u),o(u),u=y;o(p)},Vr=(u,p,y)=>{const{bum:C,scope:_,job:S,subTree:$,um:T,m:E,a:w}=u;to(E),to(w),C&&hs(C),_.stop(),S&&(S.flags|=8,Le($,u,p,y)),T&&_e(T,p),_e(()=>{u.isUnmounted=!0},p)},Ot=(u,p,y,C=!1,_=!1,S=0)=>{for(let $=S;$<u.length;$++)Le(u[$],p,y,C,_)},cs=u=>{if(u.shapeFlag&6)return cs(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const p=x(u.anchor||u.el),y=p&&p[ir];return y?x(y):p};let Rs=!1;const Bn=(u,p,y)=>{let C;u==null?p._vnode&&(Le(p._vnode,null,null,!0),C=p._vnode.component):v(p._vnode||null,u,p,null,null,null,y),p._vnode=u,Rs||(Rs=!0,Vn(C),er(),Rs=!1)},Dt={p:v,um:Le,m:ft,r:jn,mt:ye,mc:X,pc:oe,pbc:J,n:cs,o:e};return{render:Bn,hydrate:void 0,createApp:cl(Bn)}}function zs({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function ht({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Cl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Pn(e,t,s=!1){const n=e.children,o=t.children;if(N(n)&&N(o))for(let r=0;r<n.length;r++){const i=n[r];let l=o[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=o[r]=et(o[r]),l.el=i.el),!s&&l.patchFlag!==-2&&Pn(i,l)),l.type===Ns&&(l.patchFlag===-1&&(l=o[r]=et(l)),l.el=i.el),l.type===we&&!l.el&&(l.el=i.el)}}function Al(e){const t=e.slice(),s=[0];let n,o,r,i,l;const c=e.length;for(n=0;n<c;n++){const f=e[n];if(f!==0){if(o=s[s.length-1],e[o]<f){t[n]=o,s.push(n);continue}for(r=0,i=s.length-1;r<i;)l=r+i>>1,e[s[l]]<f?r=l+1:i=l;f<e[s[r]]&&(r>0&&(t[n]=s[r-1]),s[r]=n)}}for(r=s.length,i=s[r-1];r-- >0;)s[r]=i,i=t[i];return s}function Tr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Tr(t)}function to(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function $r(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?$r(t.subTree):null}const Pr=e=>e.__isSuspense;function El(e,t){t&&t.pendingBranch?N(e)?t.effects.push(...e):t.effects.push(e):Mi(e)}const me=Symbol.for("v-fgt"),Ns=Symbol.for("v-txt"),we=Symbol.for("v-cmt"),ms=Symbol.for("v-stc"),Gt=[];let ke=null;function F(e=!1){Gt.push(ke=e?null:[])}function kl(){Gt.pop(),ke=Gt[Gt.length-1]||null}let es=1;function Cs(e,t=!1){es+=e,e<0&&ke&&t&&(ke.hasOnce=!0)}function Mr(e){return e.dynamicChildren=es>0?ke||Tt:null,kl(),es>0&&ke&&ke.push(e),e}function P(e,t,s,n,o,r){return Mr(h(e,t,s,n,o,r,!0))}function Ct(e,t,s,n,o){return Mr(Z(e,t,s,n,o,!0))}function As(e){return e?e.__v_isVNode===!0:!1}function xt(e,t){return e.type===t.type&&e.key===t.key}const jr=({key:e})=>e??null,ys=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?ce(e)||xe(e)||K(e)?{i:$e,r:e,k:t,f:!!s}:e:null);function h(e,t=null,s=null,n=0,o=null,r=e===me?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&jr(t),ref:t&&ys(t),scopeId:sr,slotScopeIds:null,children:s,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:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:$e};return l?(Mn(c,s),r&128&&e.normalize(c)):s&&(c.shapeFlag|=ce(s)?8:16),es>0&&!i&&ke&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&ke.push(c),c}const Z=Fl;function Fl(e,t=null,s=null,n=0,o=null,r=!1){if((!e||e===el)&&(e=we),As(e)){const l=at(e,t,!0);return s&&Mn(l,s),es>0&&!r&&ke&&(l.shapeFlag&6?ke[ke.indexOf(e)]=l:ke.push(l)),l.patchFlag=-2,l}if(Il(e)&&(e=e.__vccOpts),t){t=Tl(t);let{class:l,style:c}=t;l&&!ce(l)&&(t.class=Fe(l)),Y(c)&&(En(c)&&!N(c)&&(c=pe({},c)),t.style=fe(c))}const i=ce(e)?1:Pr(e)?128:lr(e)?64:Y(e)?4:K(e)?2:0;return h(e,t,s,n,o,i,r,!0)}function Tl(e){return e?En(e)||wr(e)?pe({},e):e:null}function at(e,t,s=!1,n=!1){const{props:o,ref:r,patchFlag:i,children:l,transition:c}=e,f=t?Pl(o||{},t):o,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&jr(f),ref:t&&t.ref?s&&r?N(r)?r.concat(ys(t)):[r,ys(t)]:ys(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!==me?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&at(e.ssContent),ssFallback:e.ssFallback&&at(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&Zt(a,c.clone(a)),a}function ze(e=" ",t=0){return Z(Ns,null,e,t)}function $l(e,t){const s=Z(ms,null,e);return s.staticCount=t,s}function W(e="",t=!1){return t?(F(),Ct(we,null,e)):Z(we,null,e)}function We(e){return e==null||typeof e=="boolean"?Z(we):N(e)?Z(me,null,e.slice()):As(e)?et(e):Z(Ns,null,String(e))}function et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:at(e)}function Mn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(N(t))s=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),Mn(e,o()),o._c&&(o._d=!0));return}else{s=32;const o=t._;!o&&!wr(t)?t._ctx=$e:o===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:$e},s=32):(t=String(t),n&64?(s=16,t=[ze(t)]):s=8);e.children=t,e.shapeFlag|=s}function Pl(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const o in n)if(o==="class")t.class!==n.class&&(t.class=Fe([t.class,n.class]));else if(o==="style")t.style=fe([t.style,n.style]);else if(ks(o)){const r=t[o],i=n[o];i&&r!==i&&!(N(r)&&r.includes(i))?t[o]=r?[].concat(r,i):i:i==null&&r==null&&!Fs(o)&&(t[o]=i)}else o!==""&&(t[o]=n[o])}return t}function He(e,t,s,n=null){De(e,t,7,[s,n])}const Ml=vr();let jl=0;function Bl(e,t,s){const n=e.type,o=(t?t.appContext:e.appContext)||Ml,r={uid:jl++,vnode:e,type:n,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new ti(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ar(n,o),emitsOptions:xr(n,o),emit:null,emitted:null,propsDefaults:se,inheritAttrs:n.inheritAttrs,ctx:se,data:se,props:se,attrs:se,slots:se,refs:se,setupState:se,setupContext:null,suspense:s,suspenseId:s?s.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=ul.bind(null,r),e.ce&&e.ce(r),r}let Ce=null;const Br=()=>Ce||$e;let Es,pn;{const e=$s(),t=(s,n)=>{let o;return(o=e[s])||(o=e[s]=[]),o.push(n),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};Es=t("__VUE_INSTANCE_SETTERS__",s=>Ce=s),pn=t("__VUE_SSR_SETTERS__",s=>ts=s)}const is=e=>{const t=Ce;return Es(e),e.scope.on(),()=>{e.scope.off(),Es(t)}},so=()=>{Ce&&Ce.scope.off(),Es(null)};function Or(e){return e.vnode.shapeFlag&4}let ts=!1;function Ol(e,t=!1,s=!1){t&&pn(t);const{props:n,children:o}=e.vnode,r=Or(e);ml(e,n,r,t),bl(e,o,s||t);const i=r?Dl(e,t):void 0;return t&&pn(!1),i}function Dl(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,tl);const{setup:n}=s;if(n){nt();const o=e.setupContext=n.length>1?Nl(e):null,r=is(e),i=os(n,e,0,[e.props,o]),l=To(i);if(ot(),r(),(l||e.sp)&&!qt(e)&&pr(e),l){if(i.then(so,so),t)return i.then(c=>{no(e,c)}).catch(c=>{js(c,e,0)});e.asyncDep=i}else no(e,i)}else Dr(e)}function no(e,t,s){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Y(t)&&(e.setupState=Qo(t)),Dr(e)}function Dr(e,t,s){const n=e.type;e.render||(e.render=n.render||qe);{const o=is(e);nt();try{sl(e)}finally{ot(),o()}}}const Ll={get(e,t){return ve(e,"get",""),e[t]}};function Nl(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Ll),slots:e.slots,emit:e.emit,expose:t}}function Is(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qo(Si(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in zt)return zt[s](e)},has(t,s){return s in t||s in zt}})):e.proxy}function Il(e){return K(e)&&"__vccOpts"in e}const ue=(e,t)=>ki(e,t,ts);function Rl(e,t,s){try{Cs(-1);const n=arguments.length;return n===2?Y(t)&&!N(t)?As(t)?Z(e,null,[t]):Z(e,t):Z(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&As(s)&&(s=[s]),Z(e,t,s))}finally{Cs(1)}}const Hl="3.5.32";/**
14
+ * @vue/runtime-dom v3.5.32
15
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
+ * @license MIT
17
+ **/let hn;const oo=typeof window<"u"&&window.trustedTypes;if(oo)try{hn=oo.createPolicy("vue",{createHTML:e=>e})}catch{}const Lr=hn?e=>hn.createHTML(e):e=>e,Vl="http://www.w3.org/2000/svg",Kl="http://www.w3.org/1998/Math/MathML",Ze=typeof document<"u"?document:null,ro=Ze&&Ze.createElement("template"),Ul={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const o=t==="svg"?Ze.createElementNS(Vl,e):t==="mathml"?Ze.createElementNS(Kl,e):s?Ze.createElement(e,{is:s}):Ze.createElement(e);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>Ze.createTextNode(e),createComment:e=>Ze.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ze.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,o,r){const i=s?s.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===r||!(o=o.nextSibling)););else{ro.innerHTML=Lr(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=ro.content;if(n==="svg"||n==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,s)}return[i?i.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},lt="transition",Rt="animation",ss=Symbol("_vtc"),Nr={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},Wl=pe({},cr,Nr),Jl=e=>(e.displayName="Transition",e.props=Wl,e),io=Jl((e,{slots:t})=>Rl(Ki,ql(e),t)),gt=(e,t=[])=>{N(e)?e.forEach(s=>s(...t)):e&&e(...t)},lo=e=>e?N(e)?e.some(t=>t.length>1):e.length>1:!1;function ql(e){const t={};for(const B in e)B in Nr||(t[B]=e[B]);if(e.css===!1)return t;const{name:s="v",type:n,duration:o,enterFromClass:r=`${s}-enter-from`,enterActiveClass:i=`${s}-enter-active`,enterToClass:l=`${s}-enter-to`,appearFromClass:c=r,appearActiveClass:f=i,appearToClass:a=l,leaveFromClass:d=`${s}-leave-from`,leaveActiveClass:x=`${s}-leave-active`,leaveToClass:b=`${s}-leave-to`}=e,g=zl(o),v=g&&g[0],m=g&&g[1],{onBeforeEnter:A,onEnter:k,onEnterCancelled:D,onLeave:j,onLeaveCancelled:H,onBeforeAppear:V=A,onAppear:Q=k,onAppearCancelled:X=D}=t,R=(B,ee,ye,Ye)=>{B._enterCancelled=Ye,mt(B,ee?a:l),mt(B,ee?f:i),ye&&ye()},J=(B,ee)=>{B._isLeaving=!1,mt(B,d),mt(B,b),mt(B,x),ee&&ee()},ne=B=>(ee,ye)=>{const Ye=B?Q:k,de=()=>R(ee,B,ye);gt(Ye,[ee,de]),co(()=>{mt(ee,B?c:r),Xe(ee,B?a:l),lo(Ye)||ao(ee,n,v,de)})};return pe(t,{onBeforeEnter(B){gt(A,[B]),Xe(B,r),Xe(B,i)},onBeforeAppear(B){gt(V,[B]),Xe(B,c),Xe(B,f)},onEnter:ne(!1),onAppear:ne(!0),onLeave(B,ee){B._isLeaving=!0;const ye=()=>J(B,ee);Xe(B,d),B._enterCancelled?(Xe(B,x),po(B)):(po(B),Xe(B,x)),co(()=>{B._isLeaving&&(mt(B,d),Xe(B,b),lo(j)||ao(B,n,m,ye))}),gt(j,[B,ye])},onEnterCancelled(B){R(B,!1,void 0,!0),gt(D,[B])},onAppearCancelled(B){R(B,!0,void 0,!0),gt(X,[B])},onLeaveCancelled(B){J(B),gt(H,[B])}})}function zl(e){if(e==null)return null;if(Y(e))return[Gs(e.enter),Gs(e.leave)];{const t=Gs(e);return[t,t]}}function Gs(e){return qr(e)}function Xe(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[ss]||(e[ss]=new Set)).add(t)}function mt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[ss];s&&(s.delete(t),s.size||(e[ss]=void 0))}function co(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Gl=0;function ao(e,t,s,n){const o=e._endId=++Gl,r=()=>{o===e._endId&&n()};if(s!=null)return setTimeout(r,s);const{type:i,timeout:l,propCount:c}=Yl(e,t);if(!i)return n();const f=i+"end";let a=0;const d=()=>{e.removeEventListener(f,x),r()},x=b=>{b.target===e&&++a>=c&&d()};setTimeout(()=>{a<c&&d()},l+1),e.addEventListener(f,x)}function Yl(e,t){const s=window.getComputedStyle(e),n=g=>(s[g]||"").split(", "),o=n(`${lt}Delay`),r=n(`${lt}Duration`),i=uo(o,r),l=n(`${Rt}Delay`),c=n(`${Rt}Duration`),f=uo(l,c);let a=null,d=0,x=0;t===lt?i>0&&(a=lt,d=i,x=r.length):t===Rt?f>0&&(a=Rt,d=f,x=c.length):(d=Math.max(i,f),a=d>0?i>f?lt:Rt:null,x=a?a===lt?r.length:c.length:0);const b=a===lt&&/\b(?:transform|all)(?:,|$)/.test(n(`${lt}Property`).toString());return{type:a,timeout:d,propCount:x,hasTransform:b}}function uo(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((s,n)=>fo(s)+fo(e[n])))}function fo(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function po(e){return(e?e.ownerDocument:document).body.offsetHeight}function Ql(e,t,s){const n=e[ss];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const ho=Symbol("_vod"),Xl=Symbol("_vsh"),Zl=Symbol(""),ec=/(?:^|;)\s*display\s*:/;function tc(e,t,s){const n=e.style,o=ce(s);let r=!1;if(s&&!o){if(t)if(ce(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();s[l]==null&&vs(n,l,"")}else for(const i in t)s[i]==null&&vs(n,i,"");for(const i in s)i==="display"&&(r=!0),vs(n,i,s[i])}else if(o){if(t!==s){const i=n[Zl];i&&(s+=";"+i),n.cssText=s,r=ec.test(s)}}else t&&e.removeAttribute("style");ho in e&&(e[ho]=r?n.display:"",e[Xl]&&(n.display="none"))}const go=/\s*!important$/;function vs(e,t,s){if(N(s))s.forEach(n=>vs(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=sc(e,t);go.test(s)?e.setProperty(At(n),s.replace(go,""),"important"):e[n]=s}}const mo=["Webkit","Moz","ms"],Ys={};function sc(e,t){const s=Ys[t];if(s)return s;let n=je(t);if(n!=="filter"&&n in e)return Ys[t]=n;n=Mo(n);for(let o=0;o<mo.length;o++){const r=mo[o]+n;if(r in e)return Ys[t]=r}return t}const yo="http://www.w3.org/1999/xlink";function vo(e,t,s,n,o,r=Zr(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(yo,t.slice(6,t.length)):e.setAttributeNS(yo,t,s):s==null||r&&!Bo(s)?e.removeAttribute(t):e.setAttribute(t,r?"":Ge(s)?String(s):s)}function xo(e,t,s,n,o){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Lr(s):s);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const l=r==="OPTION"?e.getAttribute("value")||"":e.value,c=s==null?e.type==="checkbox"?"on":"":String(s);(l!==c||!("_value"in e))&&(e.value=c),s==null&&e.removeAttribute(t),e._value=s;return}let i=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=Bo(s):s==null&&l==="string"?(s="",i=!0):l==="number"&&(s=0,i=!0)}try{e[t]=s}catch{}i&&e.removeAttribute(o||t)}function Ft(e,t,s,n){e.addEventListener(t,s,n)}function nc(e,t,s,n){e.removeEventListener(t,s,n)}const bo=Symbol("_vei");function oc(e,t,s,n,o=null){const r=e[bo]||(e[bo]={}),i=r[t];if(n&&i)i.value=n;else{const[l,c]=rc(t);if(n){const f=r[t]=cc(n,o);Ft(e,l,f,c)}else i&&(nc(e,l,i,c),r[t]=void 0)}}const _o=/(?:Once|Passive|Capture)$/;function rc(e){let t;if(_o.test(e)){t={};let n;for(;n=e.match(_o);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):At(e.slice(2)),t]}let Qs=0;const ic=Promise.resolve(),lc=()=>Qs||(ic.then(()=>Qs=0),Qs=Date.now());function cc(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;De(ac(n,s.value),t,5,[n])};return s.value=e,s.attached=lc(),s}function ac(e,t){if(N(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>o=>!o._stopped&&n&&n(o))}else return t}const So=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,uc=(e,t,s,n,o,r)=>{const i=o==="svg";t==="class"?Ql(e,n,i):t==="style"?tc(e,s,n):ks(t)?Fs(t)||oc(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):fc(e,t,n,i))?(xo(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&vo(e,t,n,i,r,t!=="value")):e._isVueCE&&(dc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ce(n)))?xo(e,je(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),vo(e,t,n,i))};function fc(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&So(t)&&K(s));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 o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return So(t)&&ce(s)?!1:t in e}function dc(e,t){const s=e._def.props;if(!s)return!1;const n=je(t);return Array.isArray(s)?s.some(o=>je(o)===n):Object.keys(s).some(o=>je(o)===n)}const wo=e=>{const t=e.props["onUpdate:modelValue"]||!1;return N(t)?s=>hs(t,s):t};function pc(e){e.target.composing=!0}function Co(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Xs=Symbol("_assign");function Ao(e,t,s){return t&&(e=e.trim()),s&&(e=vn(e)),e}const Ir={created(e,{modifiers:{lazy:t,trim:s,number:n}},o){e[Xs]=wo(o);const r=n||o.props&&o.props.type==="number";Ft(e,t?"change":"input",i=>{i.target.composing||e[Xs](Ao(e.value,s,r))}),(s||r)&&Ft(e,"change",()=>{e.value=Ao(e.value,s,r)}),t||(Ft(e,"compositionstart",pc),Ft(e,"compositionend",Co),Ft(e,"change",Co))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:o,number:r}},i){if(e[Xs]=wo(i),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?vn(e.value):e.value,c=t??"";if(l===c)return;const f=e.getRootNode();(f instanceof Document||f instanceof ShadowRoot)&&f.activeElement===e&&e.type!=="range"&&(n&&t===s||o&&e.value.trim()===c)||(e.value=c)}},hc=pe({patchProp:uc},Ul);let Eo;function gc(){return Eo||(Eo=Sl(hc))}const mc=((...e)=>{const t=gc().createApp(...e),{mount:s}=t;return t.mount=n=>{const o=vc(n);if(!o)return;const r=t._component;!K(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=s(o,!1,yc(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t});function yc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function vc(e){return ce(e)?document.querySelector(e):e}function xc(){const e=Me(null),t=Me(!1),s=Me(null),n=new Map;function o(){const f=`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}`;e.value=new WebSocket(f),e.value.onopen=()=>{t.value=!0,console.log("WebSocket connected")},e.value.onclose=()=>{t.value=!1,console.log("WebSocket disconnected, reconnecting in 3s..."),s.value=setTimeout(()=>{o()},3e3)},e.value.onerror=a=>{console.error("WebSocket error:",a)},e.value.onmessage=a=>{try{const d=JSON.parse(a.data),{type:x,data:b}=d;(n.get(x)||[]).forEach(m=>m(b)),(n.get("*")||[]).forEach(m=>m(d))}catch(d){console.error("Error parsing WebSocket message:",d)}}}function r(c,f){return n.has(c)||n.set(c,[]),n.get(c).push(f),()=>{const a=n.get(c);if(a){const d=a.indexOf(f);d>-1&&a.splice(d,1)}}}function i(c){e.value&&t.value?e.value.send(JSON.stringify(c)):console.warn("Cannot send message: WebSocket not connected")}function l(){s.value&&(clearTimeout(s.value),s.value=null),e.value&&(e.value.close(),e.value=null),t.value=!1}return rs(()=>{o()}),Ds(()=>{l()}),{connected:t,on:r,send:i,disconnect:l,reconnect:o}}function bc(){const e=Ms({projects:[],activeProject:null,activeStep:null,logs:[],isPanelOpen:!0,executingProject:null,isLoading:!0});function t(m){return e.projects.find(A=>A.name===m)||null}function s(m){var k,D;const A=typeof m=="string"?t(m):m;A&&(e.activeProject=A,e.activeStep=null,e.logs=[],(D=(k=A.state)==null?void 0:k.progress)!=null&&D.currentLogs&&o(A.state.progress.currentLogs))}function n(m){e.activeStep=m}function o(m){const A=Array.isArray(m)?m:[m];for(const k of A){const D=new Date().toISOString();e.logs.push({id:`${D}-${Math.random().toString(36).substr(2,9)}`,timestamp:D,content:k,type:"info"})}e.logs.length>500&&(e.logs=e.logs.slice(-500))}function r(){e.logs=[]}function i(){e.isPanelOpen=!e.isPanelOpen}function l(){e.isPanelOpen=!0}function c(){e.isPanelOpen=!1}function f(m){if(e.isLoading=!1,e.projects=m,e.activeProject){const A=t(e.activeProject.name);A&&(e.activeProject=A)}}function a(m){e.executingProject=m}function d(m){return e.executingProject===m}const x=ue(()=>{var m;return((m=e.activeProject)==null?void 0:m.name)||null}),b=ue(()=>{var m,A;return((A=(m=e.activeProject)==null?void 0:m.state)==null?void 0:A.currentStage)||null}),g=ue(()=>e.projects.length>0),v=ue(()=>{var k,D,j;if(!((j=(D=(k=e.activeProject)==null?void 0:k.state)==null?void 0:D.progress)!=null&&j.stages))return[];const m=e.activeProject.state.currentStage,A=e.activeProject.state.progress.stages[m];return(A==null?void 0:A.steps)||[]});return{state:e,getProject:t,selectProject:s,selectStep:n,appendLog:o,clearLogs:r,togglePanel:i,openPanel:l,closePanel:c,updateProjects:f,setExecuting:a,isExecuting:d,activeProjectName:x,activeProjectStage:b,hasProjects:g,activeProjectSteps:v}}function _c(e={}){const{onCmdK:t=null,onJ:s=null,onK:n=null,onEscape:o=null,onEnter:r=null,onArrowUp:i=null,onArrowDown:l=null,disabled:c=!1}=e;function f(a){if(c)return;const d=a.target;if(d.tagName==="INPUT"||d.tagName==="TEXTAREA"||d.contentEditable==="true")return;const b=navigator.platform.toUpperCase().indexOf("MAC")>=0?a.metaKey:a.ctrlKey;b&&a.key==="k"&&(a.preventDefault(),t&&t()),a.key==="j"&&!b&&(a.preventDefault(),s&&s()),a.key==="k"&&!b&&(a.preventDefault(),n&&n()),a.key==="Escape"&&(a.preventDefault(),o&&o()),a.key==="Enter"&&!b&&(a.preventDefault(),r&&r()),a.key==="ArrowUp"&&!b&&(a.preventDefault(),i&&i()),a.key==="ArrowDown"&&!b&&(a.preventDefault(),l&&l())}return rs(()=>{window.addEventListener("keydown",f)}),Ds(()=>{window.removeEventListener("keydown",f)}),{disable:()=>{c=!0},enable:()=>{c=!1}}}function Sc(e={}){const{onOpenCommandPalette:t,onNavigateDown:s,onNavigateUp:n,onClose:o,onSelect:r,onPanelToggle:i}=e;return _c({onCmdK:t,onJ:s,onK:n,onEscape:o,onEnter:r})}const Bt={__name:"StageBadge",props:{status:{type:String,default:"pending"},label:{type:String,default:""},size:{type:String,default:"md"}},setup(e){const t=e,s=ue(()=>t.label?t.label:{completed:"done","in-progress":"running",blocked:"blocked",failed:"error",pending:"idle"}[t.status]||"idle"),n=ue(()=>t.size==="sm"?"px-1.5 py-0.5":"px-2 py-1"),o=ue(()=>{const l={completed:{background:"rgba(52,211,153,0.1)",color:"#34D399"},"in-progress":{background:"rgba(251,191,36,0.1)",color:"#FBBF24"},blocked:{background:"rgba(251,146,60,0.1)",color:"#FB923C"},failed:{background:"rgba(239,68,68,0.1)",color:"#EF4444"},pending:{background:"rgba(82,82,82,0.15)",color:"#525252"}};return l[t.status]||l.pending}),r=ue(()=>t.status==="in-progress"?"animate-pulse-dot":""),i=ue(()=>({background:{completed:"#34D399","in-progress":"#FBBF24",blocked:"#FB923C",failed:"#EF4444",pending:"#525252"}[t.status]||"#525252"}));return(l,c)=>(F(),P("span",{class:Fe(["inline-flex items-center gap-1.5 rounded-sm text-[10px] font-medium font-[JetBrains_Mono,monospace] uppercase tracking-wider transition-colors duration-150",n.value]),style:fe(o.value)},[h("span",{class:Fe(["w-1 h-1 rounded-full",r.value]),style:fe(i.value)},null,6),h("span",null,U(s.value),1)],6))}},wc={class:"h-full flex flex-col noise-bg"},Cc={class:"flex-1 overflow-y-auto py-3 relative z-10"},Ac={key:0,class:"px-4 space-y-2"},Ec={key:1,class:"px-4 py-12 text-center"},kc={class:"w-10 h-10 mx-auto mb-3 rounded-full flex items-center justify-center",style:{border:"1px dashed #2A2A2D"}},Fc={class:"w-4 h-4",style:{color:"#525252"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Tc={key:2,class:"px-3 space-y-0.5"},$c=["onMouseenter","onMouseleave","onClick"],Pc={class:"px-3 py-2.5"},Mc={class:"flex items-center justify-between gap-2"},jc={class:"flex-1 min-w-0"},Bc={class:"text-[10px] mt-0.5 truncate font-mono-log",style:{color:"#525252"}},Oc={key:0,class:"mt-2 h-[2px] rounded-full overflow-hidden",style:{background:"#1C1C1F"}},Dc={class:"relative z-10 px-4 py-2.5",style:{"border-top":"1px solid #1F1F22"}},Lc={class:"flex items-center justify-between"},Nc={class:"text-[10px] font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},Ic={__name:"ProjectList",props:{projects:{type:Array,default:()=>[]},activeProject:{type:Object,default:null},isLoading:{type:Boolean,default:!1}},emits:["select"],setup(e,{emit:t}){const s=e;function n(l){var c;return((c=s.activeProject)==null?void 0:c.name)===l.name}function o(l){var d,x,b,g;const c=(d=l.state)==null?void 0:d.currentStage;if(!c)return"pending";const f=(g=(b=(x=l.state)==null?void 0:x.progress)==null?void 0:b.stages)==null?void 0:g[c];if(!f)return"pending";const a=f.steps||[];return a.length===0?"pending":a.some(v=>v.status==="failed")?"failed":a.some(v=>v.status==="blocked")?"blocked":a.some(v=>v.status==="in-progress")?"in-progress":a.every(v=>v.status==="completed")?"completed":"pending"}function r(l){var a;const c=(a=l.state)==null?void 0:a.currentStage;return{brainstorm:"头脑风暴",plan:"规划",execute:"执行",verify:"验证"}[c]||c||"未知"}function i(l){var b;const c=(b=l.state)==null?void 0:b.progress;if(!c)return 0;const f=c.stages||{},a=["brainstorm","plan","execute","verify"];let d=0,x=0;for(const g of a){const v=f[g];v!=null&&v.steps&&(d+=v.steps.length,x+=v.steps.filter(m=>m.status==="completed").length)}return d===0?0:Math.round(x/d*100)}return(l,c)=>(F(),P("div",wc,[c[6]||(c[6]=$l('<div class="relative z-10 px-5 pt-5 pb-4"><div class="flex items-center gap-3"><div class="w-8 h-8 rounded-md flex items-center justify-center" style="background:linear-gradient(135deg, #FBBF24 0%, #F59E0B 100%);clip-path:polygon(0 0, 100% 0, 85% 100%, 15% 100%);"><span class="text-[10px] font-bold text-black font-[JetBrains_Mono,monospace]">S</span></div><div><h1 class="text-[13px] font-semibold tracking-tight font-[JetBrains_Mono,monospace]" style="color:#E4E4E7;"> SillySpec </h1><p class="text-[10px] tracking-widest uppercase" style="color:#525252;">Dashboard</p></div></div></div><div class="mx-4 h-px" style="background:linear-gradient(90deg, transparent, #2A2A2D, transparent);"></div>',2)),h("div",Cc,[e.isLoading?(F(),P("div",Ac,[(F(),P(me,null,wt(4,f=>h("div",{key:f,class:"rounded-lg p-3",style:{background:"#141416"}},[...c[0]||(c[0]=[h("div",{class:"h-3 rounded w-20 skeleton-shimmer mb-2"},null,-1),h("div",{class:"h-2 rounded w-32 skeleton-shimmer"},null,-1)])])),64)),c[1]||(c[1]=h("p",{class:"text-center text-[10px] mt-4 font-[JetBrains_Mono,monospace]",style:{color:"#525252"}}," scanning projects... ",-1))])):e.projects.length===0?(F(),P("div",Ec,[h("div",kc,[(F(),P("svg",Fc,[...c[2]||(c[2]=[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"},null,-1)])]))]),c[3]||(c[3]=h("p",{class:"text-[11px]",style:{color:"#8B8B8E"}},"No projects found",-1)),c[4]||(c[4]=h("p",{class:"text-[10px] mt-1",style:{color:"#525252"}},"Looking for .sillyspec dirs",-1))])):(F(),P("div",Tc,[(F(!0),P(me,null,wt(e.projects,f=>{var a,d;return F(),P("div",{key:f.name,class:Fe(["relative rounded-md cursor-pointer transition-all duration-150 overflow-hidden group"]),style:fe({background:n(f)?"rgba(251,191,36,0.06)":"transparent",borderLeft:n(f)?"2px solid #FBBF24":"2px solid transparent"}),onMouseenter:x=>x.currentTarget.style.background=n(f)?"rgba(251,191,36,0.08)":"rgba(255,255,255,0.02)",onMouseleave:x=>x.currentTarget.style.background=n(f)?"rgba(251,191,36,0.06)":"transparent",onClick:x=>l.$emit("select",f)},[h("div",Pc,[h("div",Mc,[h("div",jc,[h("h3",{class:Fe(["text-[12px] font-medium truncate transition-colors duration-150 font-[JetBrains_Mono,monospace]"]),style:fe({color:n(f)?"#FBBF24":"#E4E4E7"})},U(f.name),5),h("p",Bc,U(f.path),1)]),(a=f.state)!=null&&a.currentStage?(F(),Ct(Bt,{key:0,status:o(f),label:r(f),size:"sm"},null,8,["status","label"])):W("",!0)]),(d=f.state)!=null&&d.progress?(F(),P("div",Oc,[h("div",{class:"h-full rounded-full transition-all duration-500 progress-gradient",style:fe({width:i(f)+"%"})},null,4)])):W("",!0)])],44,$c)}),128))]))]),h("div",Dc,[h("div",Lc,[h("span",Nc,U(e.projects.length)+" proj",1),c[5]||(c[5]=h("kbd",{class:"text-[9px] px-1.5 py-0.5 rounded font-mono-log",style:{color:"#525252",background:"#141416",border:"1px solid #2A2A2D"}},"⌘K",-1))])])]))}},Rr=(e,t)=>{const s=e.__vccOpts||e;for(const[n,o]of t)s[n]=o;return s},Rc={class:"pl-3.5 pr-3 py-2.5"},Hc={class:"flex items-center gap-2"},Vc={class:"mt-1.5 text-[11px] line-clamp-2",style:{color:"#8B8B8E"}},Kc={key:1,class:"mt-2 space-y-1"},Uc={key:0,class:"text-[11px]",style:{color:"#E4E4E7"}},Wc={key:1,class:"text-[11px]",style:{color:"#E4E4E7"}},Jc={key:2,class:"text-[11px] italic",style:{color:"#8B8B8E"}},qc={key:2,class:"mt-1 text-[10px] font-mono-log",style:{color:"#525252"}},zc={__name:"StepCard",props:{step:{type:Object,required:!0},isActive:{type:Boolean,default:!1},isClickable:{type:Boolean,default:!0}},emits:["select"],setup(e,{emit:t}){const s=e,n=t,o=Me(!1),r=ue(()=>{const f={completed:"#34D399","in-progress":"#FBBF24",blocked:"#FB923C",failed:"#EF4444",pending:"#2A2A2D"};return f[s.step.status]||f.pending}),i=ue(()=>({background:s.isActive?"rgba(251,191,36,0.04)":o.value?"rgba(255,255,255,0.015)":"#141416",border:`1px solid ${s.isActive?"rgba(251,191,36,0.2)":"#1F1F22"}`})),l=ue(()=>({completed:"完成","in-progress":"进行中",blocked:"阻塞",failed:"失败",pending:"待办"})[s.step.status]||"待办");function c(){s.isClickable&&n("select",s.step)}return(f,a)=>(F(),P("div",{class:Fe(["group relative rounded-md cursor-pointer overflow-hidden transition-all duration-200"]),style:fe(i.value),onMouseenter:a[0]||(a[0]=d=>o.value=!0),onMouseleave:a[1]||(a[1]=d=>o.value=!1),onClick:c},[h("div",{class:"absolute left-0 top-0 bottom-0 w-[2px]",style:fe({background:r.value})},null,4),h("div",Rc,[h("div",Hc,[h("h3",{class:"text-[12px] font-medium transition-colors duration-150",style:fe({color:e.isActive?"#FBBF24":"#E4E4E7",fontFamily:"'JetBrains Mono', monospace"})},U(e.step.title||e.step.name),5),e.step.status?(F(),Ct(Bt,{key:0,status:e.step.status,label:l.value},null,8,["status","label"])):W("",!0)]),e.step.summary||e.step.description?(F(),P("div",{key:0,class:"overflow-hidden transition-all duration-200",style:fe({maxHeight:o.value?"60px":"0",opacity:o.value?1:0})},[h("p",Vc,U(e.step.summary||e.step.description),1)],4)):W("",!0),e.isActive?(F(),P("div",Kc,[e.step.conclusion?(F(),P("p",Uc,[a[2]||(a[2]=h("span",{style:{color:"#FBBF24","font-weight":"600"}},"结论:",-1)),ze(" "+U(e.step.conclusion),1)])):W("",!0),e.step.decision?(F(),P("p",Wc,[a[3]||(a[3]=h("span",{style:{color:"#FBBF24","font-weight":"600"}},"决策:",-1)),ze(" "+U(e.step.decision),1)])):W("",!0),e.step.userQuery?(F(),P("p",Jc,' "'+U(e.step.userQuery)+'" ',1)):W("",!0)])):W("",!0),e.step.duration?(F(),P("div",qc,U(e.step.duration),1)):W("",!0)])],36))}},Gc=Rr(zc,[["__scopeId","data-v-20b76823"]]),Yc={class:"relative"},Qc={class:"flex items-start gap-3"},Xc={class:"flex flex-col items-center flex-shrink-0 pt-1.5"},Zc={class:"flex-1 min-w-0 -mt-0.5"},ea={class:"flex items-center gap-2.5 mb-3"},ta={class:"space-y-1"},sa={key:0,class:"text-[11px] italic py-1",style:{color:"#525252"}},ps={__name:"PipelineStage",props:{name:{type:String,required:!0},title:{type:String,required:!0},steps:{type:Array,default:()=>[]},status:{type:String,default:"pending"},isActive:{type:Boolean,default:!1},activeStep:{type:Object,default:null}},emits:["select-step"],setup(e,{emit:t}){const s=e,n=ue(()=>{if(s.isActive)return{background:"#FBBF24",boxShadow:"0 0 8px rgba(251,191,36,0.4)"};const r={completed:"#34D399","in-progress":"#FBBF24",blocked:"#FB923C",failed:"#EF4444",pending:"#2A2A2D"};return{background:r[s.status]||r.pending}});function o(r){var i,l;return((i=s.activeStep)==null?void 0:i.id)===r.id||((l=s.activeStep)==null?void 0:l.name)===r.name}return(r,i)=>(F(),P("div",Yc,[h("div",Qc,[h("div",Xc,[h("div",{class:Fe(["w-2 h-2 transition-colors duration-200",{"animate-pulse-dot":e.isActive||e.status==="in-progress"}]),style:fe(n.value)},null,6)]),h("div",Zc,[h("div",ea,[h("span",{class:"text-[12px] font-semibold font-[JetBrains_Mono,monospace] tracking-tight",style:fe({color:e.isActive?"#FBBF24":"#E4E4E7"})},U(e.title),5),Z(Bt,{status:e.status},null,8,["status"])]),h("div",ta,[e.steps.length===0?(F(),P("div",sa," No steps yet ")):W("",!0),(F(!0),P(me,null,wt(e.steps,l=>(F(),Ct(Gc,{key:l.id||l.name,step:l,"is-active":o(l),onSelect:i[0]||(i[0]=c=>r.$emit("select-step",c))},null,8,["step","is-active"]))),128))])])])]))}},na={class:"flex flex-col h-full",style:{background:"#0E0E10"}},oa={class:"px-6 pt-6 pb-4",style:{"border-bottom":"1px solid #1F1F22"}},ra={key:0,class:"text-[12px] mt-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#8B8B8E"}},ia={style:{color:"#FBBF24"}},la={class:"flex-1 overflow-y-auto px-6 py-5"},ca={key:0,class:"flex items-center justify-center h-full"},aa={class:"text-center"},ua={class:"w-14 h-14 mx-auto mb-4 rounded-md flex items-center justify-center",style:{border:"1px dashed #2A2A2D",transform:"rotate(45deg)"}},fa={class:"w-5 h-5",style:{color:"#525252",transform:"rotate(-45deg)"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},da={key:1,class:"space-y-5"},pa={key:0,class:"flex items-center pl-[3px]"},ha={key:1,class:"flex items-center pl-[3px]"},ga={key:2,class:"flex items-center pl-[3px]"},ma={key:0,style:{"border-top":"1px solid #1F1F22",background:"rgba(10,10,11,0.6)"}},ya={class:"px-6 py-2.5 flex items-center justify-between"},va={class:"text-[10px] font-mono-log",style:{color:"#3A3A3D"}},xa={class:"px-6 pb-3 space-y-0.5 max-h-32 overflow-y-auto"},ba={class:"w-10 font-mono-log flex-shrink-0",style:{color:"#3A3A3D"}},_a={style:{color:"#8B8B8E"}},Sa={key:0,class:"text-[10px] py-1",style:{color:"#3A3A3D"}},wa={__name:"PipelineView",props:{project:{type:Object,default:null},activeStep:{type:Object,default:null}},emits:["select-step"],setup(e,{emit:t}){const s=e,n=t,o=ue(()=>{var b,g;return((g=(b=s.project)==null?void 0:b.state)==null?void 0:g.currentStage)||"unknown"}),r=ue(()=>{var b,g;return((g=(b=s.project)==null?void 0:b.state)==null?void 0:g.progress)||{}}),i=ue(()=>r.value.stages||{}),l=ue(()=>{var g;if(!((g=s.project)!=null&&g.state))return[];const b=[];for(const[v,m]of Object.entries(r.value.stages||{}))m.status==="completed"?b.push({time:m.completedAt?c(m.completedAt):"--:--",status:"completed",description:`${v} completed`}):m.status==="in-progress"&&b.push({time:"--:--",status:"in-progress",description:`${v} running`});return b.reverse()});function c(b){try{const g=new Date(b);return`${String(g.getHours()).padStart(2,"0")}:${String(g.getMinutes()).padStart(2,"0")}`}catch{return"--:--"}}function f(b){return!!i.value[b]}function a(b){var g;return((g=i.value[b])==null?void 0:g.steps)||[]}function d(b){const g=i.value[b];if(!g)return"pending";const v=g.steps||[];return v.some(m=>m.status==="failed")?"failed":v.some(m=>m.status==="blocked")?"blocked":v.some(m=>m.status==="in-progress")?"in-progress":v.every(m=>m.status==="completed")?"completed":"pending"}function x(b){n("select-step",b)}return(b,g)=>{var v,m;return F(),P("div",na,[h("div",oa,[g[2]||(g[2]=h("h2",{class:"text-[11px] font-semibold uppercase tracking-[0.2em] font-[JetBrains_Mono,monospace]",style:{color:"#525252"}}," Pipeline ",-1)),e.project?(F(),P("p",ra,[ze(U(e.project.name)+" ",1),g[0]||(g[0]=h("span",{style:{color:"#2A2A2D"}},"/",-1)),g[1]||(g[1]=ze()),h("span",ia,U(o.value),1)])):W("",!0)]),h("div",la,[!e.project||!e.project.state?(F(),P("div",ca,[h("div",aa,[h("div",ua,[(F(),P("svg",fa,[...g[3]||(g[3]=[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"},null,-1)])]))]),g[4]||(g[4]=h("p",{class:"text-[12px] font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},"Select a project",-1))])])):(F(),P("div",da,[Z(ps,{name:"brainstorm",title:"BRAINSTORM",steps:a("brainstorm"),status:d("brainstorm"),"is-active":o.value==="brainstorm","active-step":e.activeStep,onSelectStep:x},null,8,["steps","status","is-active","active-step"]),f("plan")?(F(),P("div",pa,[...g[5]||(g[5]=[h("div",{class:"w-px h-4",style:{background:"#1F1F22"}},null,-1)])])):W("",!0),Z(ps,{name:"plan",title:"PLAN",steps:a("plan"),status:d("plan"),"is-active":o.value==="plan","active-step":e.activeStep,onSelectStep:x},null,8,["steps","status","is-active","active-step"]),f("execute")?(F(),P("div",ha,[...g[6]||(g[6]=[h("div",{class:"w-px h-4",style:{background:"#1F1F22"}},null,-1)])])):W("",!0),Z(ps,{name:"execute",title:"EXECUTE",steps:a("execute"),status:d("execute"),"is-active":o.value==="execute","active-step":e.activeStep,onSelectStep:x},null,8,["steps","status","is-active","active-step"]),f("verify")?(F(),P("div",ga,[...g[7]||(g[7]=[h("div",{class:"w-px h-4",style:{background:"#1F1F22"}},null,-1)])])):W("",!0),Z(ps,{name:"verify",title:"VERIFY",steps:a("verify"),status:d("verify"),"is-active":o.value==="verify","active-step":e.activeStep,onSelectStep:x},null,8,["steps","status","is-active","active-step"])]))]),(m=(v=e.project)==null?void 0:v.state)!=null&&m.progress?(F(),P("div",ma,[h("div",ya,[g[8]||(g[8]=h("div",{class:"text-[9px] font-semibold uppercase tracking-[0.25em] font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},"Activity",-1)),h("div",va,U(l.value.length),1)]),h("div",xa,[(F(!0),P(me,null,wt(l.value,(A,k)=>(F(),P("div",{key:k,class:"flex items-start gap-2.5 text-[11px] py-0.5"},[h("span",ba,U(A.time),1),h("span",{style:fe({color:A.status==="completed"?"#34D399":"#FBBF24"})},"›",4),h("span",_a,U(A.description),1)]))),128)),l.value.length===0?(F(),P("div",Sa,"No activity")):W("",!0)])])):W("",!0)])}}},Ca={class:"flex flex-col h-full",style:{background:"#0E0E10"}},Aa={class:"px-3 py-2 flex items-center gap-2",style:{"border-bottom":"1px solid #1F1F22"}},Ea={key:0,class:"flex items-center justify-center h-full"},ka={class:"font-mono-log",style:{color:"#2A2A2D"}},Fa={key:1,class:"space-y-px"},Ta={style:{color:"#3A3A3D"},class:"select-none"},$a={class:"px-3 py-1 flex items-center justify-between text-[9px] font-mono-log",style:{"border-top":"1px solid #1F1F22",background:"#0E0E10",color:"#3A3A3D"}},Pa={key:0,style:{color:"#FB923C"}},Ma={__name:"LogStream",props:{logs:{type:Array,default:()=>[]}},emits:["clear"],setup(e,{emit:t}){const s=e,n=t,o=Me(""),r=Me(!0),i=Me(null),l=ue(()=>{if(!o.value)return s.logs;const m=o.value.toLowerCase();return s.logs.filter(A=>A.content.toLowerCase().includes(m))});function c(m){return m?new Date(m).toLocaleTimeString("zh-CN",{hour12:!1}):""}function f(m){return m?m.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):""}function a(m){return m==="error"?"rgba(239,68,68,0.05)":m==="warn"?"rgba(251,146,60,0.05)":"transparent"}function d(m){return m==="error"?"#EF4444":m==="warn"?"#FB923C":m==="debug"?"#525252":"#8B8B8E"}function x(){n("clear")}function b(){r.value=!r.value,r.value&&v()}function g(){if(!i.value)return;const{scrollTop:m,scrollHeight:A,clientHeight:k}=i.value,D=A-m-k<50;!D&&r.value?r.value=!1:D&&!r.value&&(r.value=!0)}function v(){kn(()=>{i.value&&r.value&&(i.value.scrollTop=i.value.scrollHeight)})}return St(()=>s.logs.length,()=>{v()},{flush:"post"}),St(i,()=>{v()},{once:!0}),(m,A)=>(F(),P("div",Ca,[h("div",Aa,[nr(h("input",{"onUpdate:modelValue":A[0]||(A[0]=k=>o.value=k),type:"text",placeholder:"filter logs...",class:"flex-1 px-2 py-1 rounded-sm text-[10px] font-mono-log outline-none transition-colors duration-100",style:{background:"#141416",border:"1px solid #1F1F22",color:"#8B8B8E"}},null,512),[[Ir,o.value]]),h("button",{onClick:x,class:"px-2 py-1 text-[10px] rounded-sm transition-colors duration-100",style:{color:"#525252",border:"1px solid #1F1F22"}}," clear "),h("button",{onClick:b,class:"px-2 py-1 text-[10px] rounded-sm font-mono-log transition-colors duration-100",style:fe({color:r.value?"#FBBF24":"#525252",background:r.value?"rgba(251,191,36,0.08)":"transparent",border:r.value?"1px solid rgba(251,191,36,0.2)":"1px solid #1F1F22"})},U(r.value?"auto":"pause"),5)]),h("div",{ref_key:"logContainer",ref:i,class:"flex-1 overflow-y-auto px-2 py-1.5 font-mono-log text-[10px]",style:{background:"#0A0A0B"},onScroll:g},[l.value.length===0?(F(),P("div",Ea,[h("span",ka,U(e.logs.length===0?"no logs":"no match"),1)])):(F(),P("div",Fa,[(F(!0),P(me,null,wt(l.value,k=>(F(),P("div",{key:k.id,class:"px-1.5 py-px rounded-sm",style:fe({background:a(k.type)})},[h("span",Ta,"["+U(c(k.timestamp))+"]",1),h("span",{style:fe({color:d(k.type)})},U(f(k.content)),5)],4))),128))]))],544),h("div",$a,[h("span",null,U(l.value.length)+"/"+U(e.logs.length),1),r.value?W("",!0):(F(),P("span",Pa,"paused"))])]))}},ja={class:"px-4 py-3 flex items-center justify-between flex-shrink-0",style:{"border-bottom":"1px solid #1F1F22"}},Ba={class:"flex-1 overflow-y-auto"},Oa={key:0,class:"flex items-center justify-center h-full"},Da={class:"text-center"},La={class:"w-10 h-10 mx-auto mb-3 rounded-md flex items-center justify-center",style:{border:"1px dashed #2A2A2D",transform:"rotate(45deg)"}},Na={class:"w-4 h-4",style:{color:"#3A3A3D",transform:"rotate(-45deg)"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ia={key:1},Ra={class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},Ha={class:"text-[13px] font-semibold font-[JetBrains_Mono,monospace]",style:{color:"#FBBF24"}},Va={key:0,class:"mt-2"},Ka={key:0,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},Ua={class:"text-[11px] leading-relaxed",style:{color:"#8B8B8E"}},Wa={key:1,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},Ja={class:"text-[11px] leading-relaxed",style:{color:"#E4E4E7"}},qa={key:2,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},za={class:"text-[11px] leading-relaxed",style:{color:"#E4E4E7"}},Ga={key:3,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},Ya={class:"px-3 py-2 rounded-md",style:{background:"#0E0E10",border:"1px solid #1F1F22"}},Qa={class:"text-[11px] italic",style:{color:"#8B8B8E"}},Xa={key:4,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},Za={class:"space-y-1 text-[11px]",style:{color:"#525252"}},eu={key:0},tu={key:1},su={key:5,class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},nu={key:0,class:"px-3 py-2 rounded-md max-h-40 overflow-y-auto",style:{background:"#0E0E10",border:"1px solid #1F1F22"}},ou={class:"text-[10px] whitespace-pre-wrap font-mono-log",style:{color:"#8B8B8E"}},ru={key:1,class:"mt-2 space-y-1"},iu={class:"truncate"},lu={class:"flex-shrink-0",style:{height:"200px","border-top":"1px solid #1F1F22"}},cu={__name:"DetailPanel",props:{isOpen:{type:Boolean,default:!0},activeStep:{type:Object,default:null},logs:{type:Array,default:()=>[]}},emits:["close","clear-logs"],setup(e,{emit:t}){function s(n){return n?new Date(n).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):""}return(n,o)=>(F(),P("div",{class:Fe(["flex flex-col transition-all duration-300",e.isOpen?"w-[340px]":"w-0 opacity-0 overflow-hidden"]),style:{background:"#111113"}},[h("div",ja,[o[3]||(o[3]=h("h2",{class:"text-[11px] font-semibold uppercase tracking-[0.2em] font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},"Detail",-1)),h("button",{onClick:o[0]||(o[0]=r=>n.$emit("close")),class:"p-1 rounded-sm transition-colors duration-100 hover:bg-white/5",style:{color:"#525252"}},[...o[2]||(o[2]=[h("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),h("div",Ba,[e.activeStep?(F(),P("div",Ia,[h("div",Ra,[h("h3",Ha,U(e.activeStep.title||e.activeStep.name),1),e.activeStep.status?(F(),P("div",Va,[Z(Bt,{status:e.activeStep.status},null,8,["status"])])):W("",!0)]),e.activeStep.description||e.activeStep.summary?(F(),P("div",Ka,[o[6]||(o[6]=h("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},"Description",-1)),h("p",Ua,U(e.activeStep.description||e.activeStep.summary),1)])):W("",!0),e.activeStep.conclusion?(F(),P("div",Wa,[o[7]||(o[7]=h("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},"Conclusion",-1)),h("p",Ja,U(e.activeStep.conclusion),1)])):W("",!0),e.activeStep.decision?(F(),P("div",qa,[o[8]||(o[8]=h("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},"Decision",-1)),h("p",za,U(e.activeStep.decision),1)])):W("",!0),e.activeStep.userQuery?(F(),P("div",Ga,[o[9]||(o[9]=h("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},"User Query",-1)),h("div",Ya,[h("p",Qa,'"'+U(e.activeStep.userQuery)+'"',1)])])):W("",!0),e.activeStep.duration||e.activeStep.timestamp?(F(),P("div",Xa,[o[12]||(o[12]=h("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},"Meta",-1)),h("div",Za,[e.activeStep.duration?(F(),P("div",eu,[o[10]||(o[10]=h("span",{style:{color:"#8B8B8E"}},"Time:",-1)),ze(" "+U(e.activeStep.duration),1)])):W("",!0),e.activeStep.timestamp?(F(),P("div",tu,[o[11]||(o[11]=h("span",{style:{color:"#8B8B8E"}},"At:",-1)),ze(" "+U(s(e.activeStep.timestamp)),1)])):W("",!0)])])):W("",!0),e.activeStep.output||e.activeStep.files?(F(),P("div",su,[o[14]||(o[14]=h("h4",{class:"text-[9px] font-semibold uppercase tracking-[0.2em] mb-1.5 font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},"Output",-1)),e.activeStep.output?(F(),P("div",nu,[h("pre",ou,U(e.activeStep.output),1)])):W("",!0),e.activeStep.files?(F(),P("div",ru,[(F(!0),P(me,null,wt(e.activeStep.files,(r,i)=>(F(),P("div",{key:i,class:"flex items-center gap-2 text-[10px]",style:{color:"#525252"}},[o[13]||(o[13]=h("svg",{class:"w-3 h-3 flex-shrink-0",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})],-1)),h("span",iu,U(r),1)]))),128))])):W("",!0)])):W("",!0)])):(F(),P("div",Oa,[h("div",Da,[h("div",La,[(F(),P("svg",Na,[...o[4]||(o[4]=[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"1.5",d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},null,-1)])]))]),o[5]||(o[5]=h("p",{class:"text-[11px] font-[JetBrains_Mono,monospace]",style:{color:"#3A3A3D"}},"Select a step",-1))])]))]),h("div",lu,[Z(Ma,{logs:e.logs,onClear:o[1]||(o[1]=r=>n.$emit("clear-logs"))},null,8,["logs"])])],2))}},au={class:"h-12 flex items-center justify-between px-5 relative",style:{background:"rgba(17,17,19,0.9)","backdrop-filter":"blur(20px)","border-top":"1px solid #1F1F22"}},uu={class:"flex items-center gap-3"},fu={key:0,class:"flex items-center gap-2"},du={class:"text-[11px] font-[JetBrains_Mono,monospace]",style:{color:"#525252"}},pu={key:1,class:"text-[10px] font-[JetBrains_Mono,monospace]",style:{color:"#3A3A3D"}},hu={class:"flex items-center gap-2"},gu={key:0,class:"flex items-center gap-2"},mu={key:1,class:"flex items-center gap-1.5"},yu={class:"flex items-center gap-1"},vu={__name:"ActionBar",props:{project:{type:Object,default:null},isExecuting:{type:Boolean,default:!1},executionResult:{type:Object,default:null},isPanelOpen:{type:Boolean,default:!0}},emits:["execute","kill","toggle-panel","open-palette"],setup(e,{emit:t}){const s=e;function n(){var l,c,f,a;if(!((l=s.project)!=null&&l.state))return"pending";const r=s.project.state.currentStage,i=((a=(f=(c=s.project.state.progress)==null?void 0:c.stages)==null?void 0:f[r])==null?void 0:a.steps)||[];return i.some(d=>d.status==="failed")?"failed":i.some(d=>d.status==="blocked")?"blocked":i.some(d=>d.status==="in-progress")?"in-progress":i.every(d=>d.status==="completed")?"completed":"pending"}function o(){var l,c;const r=(c=(l=s.project)==null?void 0:l.state)==null?void 0:c.currentStage;return{brainstorm:"头脑风暴",plan:"规划",execute:"执行",verify:"验证"}[r]||r||"未知"}return(r,i)=>{var l;return F(),P("div",au,[i[11]||(i[11]=h("div",{class:"absolute inset-x-0 top-0 h-px",style:{background:"linear-gradient(90deg, transparent, rgba(251,191,36,0.1), transparent)"}},null,-1)),h("div",uu,[e.project?(F(),P("div",fu,[h("span",du,U(e.project.name),1),i[7]||(i[7]=h("span",{style:{color:"#1F1F22"}},"|",-1)),(l=e.project.state)!=null&&l.currentStage?(F(),Ct(Bt,{key:0,status:n(),label:o()},null,8,["status","label"])):W("",!0)])):(F(),P("div",pu," no project "))]),h("div",hu,[e.isExecuting?(F(),P("div",gu,[...i[8]||(i[8]=[h("div",{class:"w-1 h-1 rounded-full animate-pulse-dot",style:{background:"#FBBF24"}},null,-1),h("span",{class:"text-[10px] font-[JetBrains_Mono,monospace]",style:{color:"#FBBF24"}},"running",-1)])])):e.executionResult?(F(),P("div",mu,[h("span",{class:"text-[10px] font-[JetBrains_Mono,monospace]",style:fe({color:e.executionResult.exitCode===0?"#34D399":"#EF4444"})},U(e.executionResult.exitCode===0?"● done":`● exit ${e.executionResult.exitCode}`),5)])):W("",!0)]),h("div",yu,[h("button",{onClick:i[0]||(i[0]=c=>r.$emit("toggle-panel")),class:"p-1.5 rounded-sm transition-colors duration-100",style:{color:"#525252"},onMouseenter:i[1]||(i[1]=c=>{c.target.style.color="#FBBF24",c.target.style.background="rgba(251,191,36,0.06)"}),onMouseleave:i[2]||(i[2]=c=>{c.target.style.color="#525252",c.target.style.background="transparent"}),title:"Toggle detail panel"},[(F(),P("svg",{class:Fe(["w-3.5 h-3.5 transition-transform duration-200",{"rotate-180":!e.isPanelOpen}]),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[...i[9]||(i[9]=[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 5l7 7-7 7"},null,-1)])],2))],32),e.isExecuting?(F(),P("button",{key:0,onClick:i[3]||(i[3]=c=>r.$emit("kill")),class:"px-2.5 py-1 rounded-sm text-[10px] font-[JetBrains_Mono,monospace] transition-colors duration-100",style:{background:"rgba(239,68,68,0.08)",border:"1px solid rgba(239,68,68,0.2)",color:"#EF4444"}}," kill ")):W("",!0),h("button",{onClick:i[4]||(i[4]=c=>r.$emit("open-palette")),class:"p-1.5 rounded-sm transition-colors duration-100",style:{color:"#525252"},onMouseenter:i[5]||(i[5]=c=>{c.target.style.color="#FBBF24",c.target.style.background="rgba(251,191,36,0.06)"}),onMouseleave:i[6]||(i[6]=c=>{c.target.style.color="#525252",c.target.style.background="transparent"}),title:"Command palette (⌘K)"},[...i[10]||(i[10]=[h("svg",{class:"w-3.5 h-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})],-1)])],32)])])}}},xu={key:0,class:"fixed left-1/2 top-[18%] -translate-x-1/2 w-full max-w-md z-50"},bu={class:"overflow-hidden rounded-md",style:{background:"#141416",border:"1px solid #2A2A2D","box-shadow":"0 25px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(251,191,36,0.05)"}},_u={class:"px-4 py-3",style:{"border-bottom":"1px solid #1F1F22"}},Su={class:"flex items-center gap-3"},wu={class:"w-3.5 h-3.5 flex-shrink-0",style:{color:"#525252"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Cu={key:0,class:"text-[9px] px-1 py-0.5 rounded-sm font-mono-log",style:{color:"#525252",background:"#0A0A0B",border:"1px solid #2A2A2D"}},Au={class:"max-h-72 overflow-y-auto"},Eu={key:0,class:"py-10 text-center"},ku={key:1,class:"py-0.5"},Fu=["onClick","onMouseenter"],Tu={class:"w-6 h-6 rounded-sm flex items-center justify-center text-[10px] font-[JetBrains_Mono,monospace] flex-shrink-0",style:{background:"#0A0A0B",border:"1px solid #1F1F22",color:"#525252"}},$u={class:"flex-1 min-w-0"},Pu={class:"text-[12px] font-medium truncate font-[JetBrains_Mono,monospace]",style:{color:"#E4E4E7"}},Mu={class:"text-[10px] truncate",style:{color:"#525252"}},ju={__name:"CommandPalette",props:{isOpen:{type:Boolean,default:!1},projects:{type:Array,default:()=>[]}},emits:["close","select-project","select-stage"],setup(e,{emit:t}){const s=e,n=t,o=Me(""),r=Me(null),i=Me(0),l=[{id:"brainstorm",name:"头脑风暴"},{id:"plan",name:"规划"},{id:"execute",name:"执行"},{id:"verify",name:"验证"}],c=ue(()=>{const g=[];for(const v of s.projects){const m=!o.value||v.name.toLowerCase().includes(o.value.toLowerCase())||v.path.toLowerCase().includes(o.value.toLowerCase());m&&g.push({id:`project-${v.name}`,type:"project",title:v.name,subtitle:v.path,data:v,status:f(v)});for(const A of l)(!o.value||A.name.toLowerCase().includes(o.value.toLowerCase())||A.id.toLowerCase().includes(o.value.toLowerCase())||m)&&g.push({id:`stage-${v.name}-${A.id}`,type:"stage",title:`${v.name} / ${A.name}`,subtitle:`Jump to ${A.name}`,data:{project:v,stage:A.id},status:a(v,A.id)})}return g});function f(g){var m,A,k,D,j;const v=((j=(D=(A=(m=g.state)==null?void 0:m.progress)==null?void 0:A.stages)==null?void 0:D[(k=g.state)==null?void 0:k.currentStage])==null?void 0:j.steps)||[];return v.some(H=>H.status==="failed")?"failed":v.some(H=>H.status==="in-progress")?"in-progress":v.every(H=>H.status==="completed")?"completed":"pending"}function a(g,v){var A,k,D,j;const m=((j=(D=(k=(A=g.state)==null?void 0:A.progress)==null?void 0:k.stages)==null?void 0:D[v])==null?void 0:j.steps)||[];return m.length?m.some(H=>H.status==="failed")?"failed":m.some(H=>H.status==="in-progress")?"in-progress":m.every(H=>H.status==="completed")?"completed":"pending":"pending"}function d(){o.value="",i.value=0,n("close")}function x(g){g.type==="project"?n("select-project",g.data):n("select-stage",g.data),d()}function b(g){g.key==="ArrowDown"?(g.preventDefault(),i.value=Math.min(i.value+1,c.value.length-1)):g.key==="ArrowUp"?(g.preventDefault(),i.value=Math.max(i.value-1,0)):g.key==="Enter"?(g.preventDefault(),c.value[i.value]&&x(c.value[i.value])):g.key==="Escape"&&(g.preventDefault(),d())}return St(c,()=>{i.value=0}),St(()=>s.isOpen,g=>{g&&kn(()=>{var v;(v=r.value)==null||v.focus()})}),(g,v)=>(F(),Ct(Ri,{to:"body"},[Z(io,{name:"backdrop"},{default:on(()=>[e.isOpen?(F(),P("div",{key:0,class:"fixed inset-0 z-40",style:{background:"rgba(0,0,0,0.7)","backdrop-filter":"blur(4px)"},onClick:d})):W("",!0)]),_:1}),Z(io,{name:"palette"},{default:on(()=>[e.isOpen?(F(),P("div",xu,[h("div",bu,[h("div",_u,[h("div",Su,[(F(),P("svg",wu,[...v[1]||(v[1]=[h("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"},null,-1)])])),nr(h("input",{ref_key:"searchInput",ref:r,"onUpdate:modelValue":v[0]||(v[0]=m=>o.value=m),type:"text",placeholder:"Search projects or stages...",class:"flex-1 bg-transparent border-none outline-none text-[12px] font-[JetBrains_Mono,monospace]",style:{color:"#E4E4E7"},onKeydown:b},null,544),[[Ir,o.value]]),o.value?(F(),P("kbd",Cu,"ESC")):W("",!0)])]),h("div",Au,[c.value.length===0?(F(),P("div",Eu,[...v[2]||(v[2]=[h("p",{class:"text-[11px] font-[JetBrains_Mono,monospace]",style:{color:"#3A3A3D"}},"No results",-1)])])):(F(),P("div",ku,[(F(!0),P(me,null,wt(c.value,(m,A)=>(F(),P("div",{key:m.id,class:Fe(["px-4 py-2.5 cursor-pointer transition-colors duration-100 flex items-center gap-3"]),style:fe({background:i.value===A?"rgba(251,191,36,0.06)":"transparent"}),onClick:k=>x(m),onMouseenter:k=>i.value=A},[h("div",Tu,U(m.type==="project"?"□":"◇"),1),h("div",$u,[h("div",Pu,U(m.title),1),h("div",Mu,U(m.subtitle),1)]),m.status?(F(),Ct(Bt,{key:0,status:m.status,size:"sm"},null,8,["status"])):W("",!0)],44,Fu))),128))]))]),v[3]||(v[3]=h("div",{class:"px-4 py-2 flex items-center gap-4 text-[9px] font-mono-log",style:{"border-top":"1px solid #1F1F22",color:"#3A3A3D"}},[h("span",null,[h("kbd",{class:"px-1 rounded-sm",style:{background:"#0A0A0B",border:"1px solid #1F1F22"}},"↑↓"),ze(" nav")]),h("span",null,[h("kbd",{class:"px-1 rounded-sm",style:{background:"#0A0A0B",border:"1px solid #1F1F22"}},"↵"),ze(" open")]),h("span",null,[h("kbd",{class:"px-1 rounded-sm",style:{background:"#0A0A0B",border:"1px solid #1F1F22"}},"esc"),ze(" close")])],-1))])])):W("",!0)]),_:1})]))}},Bu=Rr(ju,[["__scopeId","data-v-93004906"]]),Ou={class:"h-screen w-screen flex flex-col overflow-hidden font-[DM_Sans,sans-serif] relative",style:{"background-color":"#0A0A0B"}},Du={class:"flex-1 flex overflow-hidden relative z-10"},Lu={class:"w-[240px] flex-shrink-0 relative",style:{background:"#111113","border-right":"1px solid #1F1F22"}},Nu={class:"flex-1 overflow-hidden accent-stripe"},Iu={__name:"App",setup(e){const t=xc(),s=bc(),n=Me(!1),o=Me(null);Sc({onOpenCommandPalette:()=>{n.value=!0},onClose:()=>{n.value?n.value=!1:s.state.activeStep?s.state.activeStep=null:s.closePanel()}}),rs(()=>{t.on("projects:init",a=>{s.updateProjects(a)}),t.on("projects:updated",a=>{s.updateProjects(a)}),t.on("cli:output",a=>{a.projectName===s.activeProjectName.value&&s.appendLog(a.output)}),t.on("cli:complete",a=>{a.projectName===s.activeProjectName.value&&(s.setExecuting(null),o.value={exitCode:a.exitCode,signal:a.signal})}),t.on("cli:started",a=>{a.projectName===s.activeProjectName.value&&(s.setExecuting(a.projectName),o.value=null)}),t.on("cli:killed",a=>{a.projectName===s.activeProjectName.value&&(s.setExecuting(null),o.value={exitCode:-1,signal:"SIGTERM"})})});function r(a){s.selectProject(a)}function i({project:a,stage:d}){s.selectProject(a)}function l(a){s.selectStep(a)}function c(){const a=s.activeProjectName.value;a&&(s.clearLogs(),t.send({type:"cli:execute",data:{projectName:a,command:"next"}}))}function f(){const a=s.activeProjectName.value;a&&t.send({type:"cli:kill",data:{projectName:a}})}return(a,d)=>(F(),P("div",Ou,[d[2]||(d[2]=h("div",{class:"absolute inset-0 pointer-events-none",style:{background:"radial-gradient(ellipse 60% 40% at 10% 20%, rgba(251,191,36,0.04) 0%, transparent 70%), radial-gradient(ellipse 50% 50% at 90% 80%, rgba(251,191,36,0.02) 0%, transparent 70%)"}},null,-1)),h("div",Du,[h("aside",Lu,[Z(Ic,{projects:ge(s).state.projects,"active-project":ge(s).state.activeProject,"is-loading":ge(s).state.isLoading,onSelect:r},null,8,["projects","active-project","is-loading"])]),h("main",Nu,[Z(wa,{project:ge(s).state.activeProject,"active-step":ge(s).state.activeStep,onSelectStep:l},null,8,["project","active-step"])]),h("aside",{class:Fe(["flex-shrink-0 transition-all duration-300 relative overflow-hidden",ge(s).state.isPanelOpen?"w-[340px]":"w-0"]),style:{background:"#111113","border-left":"1px solid #1F1F22"}},[Z(cu,{"is-open":ge(s).state.isPanelOpen,"active-step":ge(s).state.activeStep,logs:ge(s).state.logs,onClose:ge(s).closePanel,onClearLogs:ge(s).clearLogs},null,8,["is-open","active-step","logs","onClose","onClearLogs"])],2)]),Z(vu,{project:ge(s).state.activeProject,"is-executing":ge(s).state.executingProject!==null,"execution-result":o.value,"is-panel-open":ge(s).state.isPanelOpen,onExecute:c,onKill:f,onTogglePanel:ge(s).togglePanel,onOpenPalette:d[0]||(d[0]=x=>n.value=!0)},null,8,["project","is-executing","execution-result","is-panel-open","onTogglePanel"]),Z(Bu,{"is-open":n.value,projects:ge(s).state.projects,onClose:d[1]||(d[1]=x=>n.value=!1),onSelectProject:r,onSelectStage:i},null,8,["is-open","projects"])]))}};mc(Iu).mount("#app");
@@ -0,0 +1,16 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>SillySpec Dashboard</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&family=JetBrains+Mono:wght@400;500;600;700&display=swap" rel="stylesheet">
10
+ <script type="module" crossorigin src="/assets/index-CrCn5Gg6.js"></script>
11
+ <link rel="stylesheet" crossorigin href="/assets/index-Bh-GPjKY.css">
12
+ </head>
13
+ <body style="background-color: #0A0A0B; margin: 0;">
14
+ <div id="app"></div>
15
+ </body>
16
+ </html>