vibedoc 1.4.0 → 1.4.1

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 (138) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +2 -2
  3. package/.next/prerender-manifest.json +3 -3
  4. package/.next/required-server-files.json +1 -1
  5. package/.next/server/app/(app)/activity/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/(app)/board/page_client-reference-manifest.js +1 -1
  7. package/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/(app)/explorer/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/(app)/memory/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
  11. package/.next/server/app/(app)/setup/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_global-error.html +2 -2
  13. package/.next/server/app/_global-error.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  18. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.html +1 -1
  20. package/.next/server/app/_not-found.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  26. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  27. package/.next/server/app/activity.html +1 -1
  28. package/.next/server/app/activity.rsc +4 -4
  29. package/.next/server/app/activity.segments/!KGFwcCk/activity/__PAGE__.segment.rsc +2 -2
  30. package/.next/server/app/activity.segments/!KGFwcCk/activity.segment.rsc +1 -1
  31. package/.next/server/app/activity.segments/!KGFwcCk.segment.rsc +3 -3
  32. package/.next/server/app/activity.segments/_full.segment.rsc +4 -4
  33. package/.next/server/app/activity.segments/_head.segment.rsc +1 -1
  34. package/.next/server/app/activity.segments/_index.segment.rsc +1 -1
  35. package/.next/server/app/activity.segments/_tree.segment.rsc +1 -1
  36. package/.next/server/app/api/activity/route.js.nft.json +1 -1
  37. package/.next/server/app/api/backlinks/route.js.nft.json +1 -1
  38. package/.next/server/app/api/context/route.js.nft.json +1 -1
  39. package/.next/server/app/api/decisions/route.js.nft.json +1 -1
  40. package/.next/server/app/api/docs/route.js.nft.json +1 -1
  41. package/.next/server/app/api/explorer/route.js.nft.json +1 -1
  42. package/.next/server/app/api/mcp/route.js.nft.json +1 -1
  43. package/.next/server/app/api/memory/route.js.nft.json +1 -1
  44. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  45. package/.next/server/app/api/registry/route.js.nft.json +1 -1
  46. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  47. package/.next/server/app/api/setup/generate/route.js.nft.json +1 -1
  48. package/.next/server/app/api/setup/write/route.js.nft.json +1 -1
  49. package/.next/server/app/api/summary/route.js.nft.json +1 -1
  50. package/.next/server/app/api/tasks/create/route.js.nft.json +1 -1
  51. package/.next/server/app/api/tasks/route.js.nft.json +1 -1
  52. package/.next/server/app/board.html +1 -1
  53. package/.next/server/app/board.rsc +4 -4
  54. package/.next/server/app/board.segments/!KGFwcCk/board/__PAGE__.segment.rsc +2 -2
  55. package/.next/server/app/board.segments/!KGFwcCk/board.segment.rsc +1 -1
  56. package/.next/server/app/board.segments/!KGFwcCk.segment.rsc +3 -3
  57. package/.next/server/app/board.segments/_full.segment.rsc +4 -4
  58. package/.next/server/app/board.segments/_head.segment.rsc +1 -1
  59. package/.next/server/app/board.segments/_index.segment.rsc +1 -1
  60. package/.next/server/app/board.segments/_tree.segment.rsc +1 -1
  61. package/.next/server/app/docs.html +1 -1
  62. package/.next/server/app/docs.rsc +4 -4
  63. package/.next/server/app/docs.segments/!KGFwcCk/docs/__PAGE__.segment.rsc +2 -2
  64. package/.next/server/app/docs.segments/!KGFwcCk/docs.segment.rsc +1 -1
  65. package/.next/server/app/docs.segments/!KGFwcCk.segment.rsc +3 -3
  66. package/.next/server/app/docs.segments/_full.segment.rsc +4 -4
  67. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  68. package/.next/server/app/docs.segments/_index.segment.rsc +1 -1
  69. package/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
  70. package/.next/server/app/explorer.html +1 -1
  71. package/.next/server/app/explorer.rsc +4 -4
  72. package/.next/server/app/explorer.segments/!KGFwcCk/explorer/__PAGE__.segment.rsc +2 -2
  73. package/.next/server/app/explorer.segments/!KGFwcCk/explorer.segment.rsc +1 -1
  74. package/.next/server/app/explorer.segments/!KGFwcCk.segment.rsc +3 -3
  75. package/.next/server/app/explorer.segments/_full.segment.rsc +4 -4
  76. package/.next/server/app/explorer.segments/_head.segment.rsc +1 -1
  77. package/.next/server/app/explorer.segments/_index.segment.rsc +1 -1
  78. package/.next/server/app/explorer.segments/_tree.segment.rsc +1 -1
  79. package/.next/server/app/index.html +1 -1
  80. package/.next/server/app/index.rsc +1 -1
  81. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  82. package/.next/server/app/index.segments/_full.segment.rsc +1 -1
  83. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  84. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  85. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  86. package/.next/server/app/memory.html +1 -1
  87. package/.next/server/app/memory.rsc +4 -4
  88. package/.next/server/app/memory.segments/!KGFwcCk/memory/__PAGE__.segment.rsc +2 -2
  89. package/.next/server/app/memory.segments/!KGFwcCk/memory.segment.rsc +1 -1
  90. package/.next/server/app/memory.segments/!KGFwcCk.segment.rsc +3 -3
  91. package/.next/server/app/memory.segments/_full.segment.rsc +4 -4
  92. package/.next/server/app/memory.segments/_head.segment.rsc +1 -1
  93. package/.next/server/app/memory.segments/_index.segment.rsc +1 -1
  94. package/.next/server/app/memory.segments/_tree.segment.rsc +1 -1
  95. package/.next/server/app/settings.html +1 -1
  96. package/.next/server/app/settings.rsc +4 -4
  97. package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +2 -2
  98. package/.next/server/app/settings.segments/!KGFwcCk/settings.segment.rsc +1 -1
  99. package/.next/server/app/settings.segments/!KGFwcCk.segment.rsc +3 -3
  100. package/.next/server/app/settings.segments/_full.segment.rsc +4 -4
  101. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  102. package/.next/server/app/settings.segments/_index.segment.rsc +1 -1
  103. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  104. package/.next/server/app/setup.html +1 -1
  105. package/.next/server/app/setup.rsc +4 -4
  106. package/.next/server/app/setup.segments/!KGFwcCk/setup/__PAGE__.segment.rsc +2 -2
  107. package/.next/server/app/setup.segments/!KGFwcCk/setup.segment.rsc +1 -1
  108. package/.next/server/app/setup.segments/!KGFwcCk.segment.rsc +3 -3
  109. package/.next/server/app/setup.segments/_full.segment.rsc +4 -4
  110. package/.next/server/app/setup.segments/_head.segment.rsc +1 -1
  111. package/.next/server/app/setup.segments/_index.segment.rsc +1 -1
  112. package/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
  113. package/.next/server/chunks/ssr/[root-of-the-server]__add7ce25._.js +1 -1
  114. package/.next/server/chunks/ssr/_10c46cea._.js +1 -1
  115. package/.next/server/chunks/ssr/_15efe9a8._.js +1 -1
  116. package/.next/server/chunks/ssr/_15efe9a8._.js.map +1 -1
  117. package/.next/server/chunks/ssr/_acb63a7d._.js +1 -1
  118. package/.next/server/chunks/ssr/_acb63a7d._.js.map +1 -1
  119. package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_effb3116._.js +1 -1
  120. package/.next/server/chunks/ssr/src_app_(app)_setup_page_tsx_effb3116._.js.map +1 -1
  121. package/.next/server/chunks/ssr/src_components_docs_MarkdownRenderer_tsx_c2823695._.js +2 -2
  122. package/.next/server/chunks/ssr/src_components_docs_MarkdownRenderer_tsx_c2823695._.js.map +1 -1
  123. package/.next/server/pages/404.html +1 -1
  124. package/.next/server/pages/500.html +2 -2
  125. package/.next/server/server-reference-manifest.js +1 -1
  126. package/.next/server/server-reference-manifest.json +1 -1
  127. package/.next/static/chunks/{c613844e13174012.js → 13bb47148aab2650.js} +2 -2
  128. package/.next/static/chunks/58191ebe3f737b95.js +10 -0
  129. package/.next/static/chunks/{a573ce301ebe6879.js → 76dd41a0a6e00541.js} +3 -3
  130. package/.next/static/chunks/918b80a98b47faa7.js +1 -0
  131. package/.next/static/chunks/{25d2e746e06b38ba.js → c5cf10f92eba82e6.js} +2 -2
  132. package/README.md +85 -18
  133. package/package.json +3 -2
  134. package/.next/static/chunks/2899688335d3adb2.js +0 -10
  135. package/.next/static/chunks/9ef7e8256638a410.js +0 -1
  136. /package/.next/static/{3qaTeSReklR4iA-D6kF9C → 5YfD8cBCzJoKPTXc-Q0s5}/_buildManifest.js +0 -0
  137. /package/.next/static/{3qaTeSReklR4iA-D6kF9C → 5YfD8cBCzJoKPTXc-Q0s5}/_clientMiddlewareManifest.json +0 -0
  138. /package/.next/static/{3qaTeSReklR4iA-D6kF9C → 5YfD8cBCzJoKPTXc-Q0s5}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -5,15 +5,19 @@
5
5
  [![npm](https://img.shields.io/npm/v/vibedoc)](https://www.npmjs.com/package/vibedoc)
6
6
  [![node](https://img.shields.io/node/v/vibedoc)](https://nodejs.org)
7
7
  [![license](https://img.shields.io/npm/l/vibedoc)](./LICENSE)
8
+ [![CI](https://github.com/quanghoangf/vibedoc/actions/workflows/ci.yml/badge.svg)](https://github.com/quanghoangf/vibedoc/actions/workflows/ci.yml)
8
9
 
9
10
  A kanban board + docs viewer + MCP server — all in one process, zero config.
10
11
  Point your AI agent at it. Watch tasks move in real time.
12
+ ![alt text](image.png)
11
13
 
12
14
  ```
13
- http://localhost:<port> ← your browser (kanban, docs, activity, memory)
15
+ http://localhost:<port> ← your browser (kanban, docs, activity, memory, explorer)
14
16
  http://localhost:<port>/api/mcp ← AI agent connects here via MCP
15
17
  ```
16
18
 
19
+ **Why VibeDoc?** Most AI coding sessions lose context between chats. VibeDoc gives your agent a persistent home: it reads tasks from markdown files, writes decisions as ADRs, and updates a memory file at session end — so the next agent picks up exactly where the last one left off. The browser UI lets you watch everything happen live.
20
+
17
21
  ---
18
22
 
19
23
  ## Quick start
@@ -23,7 +27,8 @@ cd your-project
23
27
  npx vibedoc
24
28
  ```
25
29
 
26
- VibeDoc picks a free port automatically and opens the setup page in your browser.
30
+ VibeDoc picks a free port automatically and opens the setup page in your browser.
31
+ The port is printed in the terminal — use it when configuring your AI agent.
27
32
 
28
33
  ### Options
29
34
 
@@ -42,15 +47,16 @@ VIBEDOC_ROOT=/path/to/project npx vibedoc
42
47
  - **Kanban board** — tasks live in `plans/tasks/*.md`, rendered as draggable cards
43
48
  - **Docs viewer** — browse and edit every markdown file in `docs/`
44
49
  - **Live activity feed** — every AI action appears instantly via SSE, no polling
45
- - **Memory tab** — persistent `MEMORY.md` for session handoffs
50
+ - **Memory tab** — persistent `MEMORY.md` for session handoffs between AI agents
46
51
  - **File explorer** — treemap/tree/heatmap views of your docs with AI-generated descriptions
47
- - **MCP server** — 10 tools your AI agent can call to read docs, move tasks, write ADRs
52
+ - **MCP server** — 21 tools your AI agent can call to read docs, move tasks, write ADRs, and more
48
53
 
49
54
  ---
50
55
 
51
56
  ## Connect your AI agent
52
57
 
53
58
  ### Claude Code (`~/.claude/claude_desktop_config.json`)
59
+
54
60
  ```json
55
61
  {
56
62
  "mcpServers": {
@@ -62,6 +68,7 @@ VIBEDOC_ROOT=/path/to/project npx vibedoc
62
68
  ```
63
69
 
64
70
  ### Cursor (`.cursor/mcp.json` in project root)
71
+
65
72
  ```json
66
73
  {
67
74
  "mcpServers": {
@@ -73,6 +80,7 @@ VIBEDOC_ROOT=/path/to/project npx vibedoc
73
80
  ```
74
81
 
75
82
  ### Windsurf (`~/.codeium/windsurf/mcp_config.json`)
83
+
76
84
  ```json
77
85
  {
78
86
  "mcpServers": {
@@ -87,20 +95,55 @@ VIBEDOC_ROOT=/path/to/project npx vibedoc
87
95
 
88
96
  ---
89
97
 
90
- ## What the AI can do
91
-
92
- | Tool | Effect |
93
- |------|--------|
94
- | `vibedoc_read_memory` | Reads MEMORY.md — also triggers "session start" in the activity feed |
95
- | `vibedoc_get_status` | Board snapshot — active tasks, blockers, doc count |
96
- | `vibedoc_list_tasks` | Full kanban board |
97
- | `vibedoc_get_task` | Read a specific task with scope and acceptance criteria |
98
- | `vibedoc_update_task` | Move task status **you see it live in the browser** |
99
- | `vibedoc_read_doc` | Load any doc: `"CLAUDE"`, `"HLD"`, `"user-service/API"` |
100
- | `vibedoc_list_docs` | Discover all docs by section |
101
- | `vibedoc_search_docs` | Full-text search across all docs |
102
- | `vibedoc_log_decision` | Write a new ADR → appears in docs immediately |
103
- | `vibedoc_update_memory` | Write end-of-session summary → updates Memory tab |
98
+ ## MCP tools
99
+
100
+ 21 tools your AI agent can call, grouped by category.
101
+
102
+ ### Session & status
103
+
104
+ | Tool | Effect |
105
+ | ----------------------- | ---------------------------------------------------------------- |
106
+ | `vibedoc_read_memory` | Read `MEMORY.md` triggers "session start" in the activity feed |
107
+ | `vibedoc_update_memory` | Write end-of-session summary and handoff note |
108
+ | `vibedoc_get_status` | Board snapshot active tasks, blockers, doc count |
109
+
110
+ ### Tasks
111
+
112
+ | Tool | Effect |
113
+ | --------------------- | ------------------------------------------------------- |
114
+ | `vibedoc_list_tasks` | Full kanban board, filterable by status |
115
+ | `vibedoc_get_task` | Read a specific task with scope and acceptance criteria |
116
+ | `vibedoc_update_task` | Move task status → **you see it live in the browser** |
117
+
118
+ ### Docs
119
+
120
+ | Tool | Effect |
121
+ | ------------------------ | -------------------------------------- |
122
+ | `vibedoc_list_docs` | Discover all docs grouped by section |
123
+ | `vibedoc_read_doc` | Load any doc by name + shows backlinks |
124
+ | `vibedoc_search_docs` | Full-text search across all docs |
125
+ | `vibedoc_write_doc` | Write or overwrite a doc file |
126
+ | `vibedoc_create_doc` | Create a doc from a template |
127
+ | `vibedoc_append_doc` | Append content to an existing doc |
128
+ | `vibedoc_rename_doc` | Move or rename a doc |
129
+ | `vibedoc_delete_doc` | Delete a doc |
130
+ | `vibedoc_list_templates` | List available doc templates with IDs |
131
+
132
+ ### Context & registry
133
+
134
+ | Tool | Effect |
135
+ | -------------------------- | ----------------------------------------------------------- |
136
+ | `vibedoc_get_context` | Bundle multiple docs into a single context block |
137
+ | `vibedoc_get_file_map` | Structured map of all docs with descriptions and dates |
138
+ | `vibedoc_read_registry` | Read `docs/REGISTRY.md` — file tree + annotations |
139
+ | `vibedoc_rebuild_registry` | Regenerate `REGISTRY.md` after adding or removing docs |
140
+ | `vibedoc_annotate_doc` | Update description and keywords for one doc in the registry |
141
+
142
+ ### Decisions
143
+
144
+ | Tool | Effect |
145
+ | ---------------------- | ---------------------------------------------- |
146
+ | `vibedoc_log_decision` | Write a new Architecture Decision Record (ADR) |
104
147
 
105
148
  ---
106
149
 
@@ -112,17 +155,21 @@ Add this to your project's `CLAUDE.md` to guide your AI agent:
112
155
  ## Session protocol
113
156
 
114
157
  **Start of session:**
158
+
115
159
  1. Call `vibedoc_read_memory` — read handoff from last session
116
160
  2. Call `vibedoc_get_status` — check what's active and blocked
117
161
 
118
162
  **Before working on a task:**
163
+
119
164
  - Call `vibedoc_get_task <id>` — read full spec and acceptance criteria
120
165
  - Call `vibedoc_update_task <id> in-progress`
121
166
 
122
167
  **When making architectural decisions:**
168
+
123
169
  - Call `vibedoc_log_decision` — record it as an ADR
124
170
 
125
171
  **End of session:**
172
+
126
173
  - Call `vibedoc_update_task` for each task touched
127
174
  - Call `vibedoc_update_memory` with full summary and handoff note
128
175
  ```
@@ -148,6 +195,7 @@ your-project/
148
195
  │ │ │ └── EVENTS.md
149
196
  │ │ └── decisions/
150
197
  │ │ └── ADR-001-*.md
198
+ │ └── REGISTRY.md ← auto-generated file index
151
199
  ├── plans/tasks/
152
200
  │ ├── T001-scaffold.md ← **Status:** 📋 Ready
153
201
  │ └── T002-auth.md
@@ -171,6 +219,19 @@ The Activity tab shows the last 30 events in real time via SSE.
171
219
 
172
220
  ---
173
221
 
222
+ ## Development
223
+
224
+ ```bash
225
+ git clone https://github.com/quanghoangf/vibedoc.git
226
+ cd vibedoc
227
+ pnpm install
228
+ VIBEDOC_ROOT=/path/to/test-project pnpm dev
229
+ ```
230
+
231
+ See [CONTRIBUTING.md](./CONTRIBUTING.md) for architecture rules, commit conventions, and how to submit a PR.
232
+
233
+ ---
234
+
174
235
  ## Requirements
175
236
 
176
237
  - **Node.js 18+**
@@ -188,6 +249,12 @@ The Activity tab shows the last 30 events in real time via SSE.
188
249
 
189
250
  ---
190
251
 
252
+ ## Contributing
253
+
254
+ Pull requests are welcome. Check [CONTRIBUTING.md](./CONTRIBUTING.md) for the development setup, architecture rules, and commit conventions. For ideas and questions, open a [Discussion](https://github.com/quanghoangf/vibedoc/discussions).
255
+
256
+ ---
257
+
191
258
  ## License
192
259
 
193
260
  MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vibedoc",
3
- "version": "1.4.0",
3
+ "version": "1.4.1",
4
4
  "description": "Local-first project intelligence for AI-assisted development. Web UI + MCP server in one.",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -36,7 +36,8 @@
36
36
  "dev:ws": "node ws-server.js",
37
37
  "build": "next build",
38
38
  "start": "next start",
39
- "lint": "next lint",
39
+ "lint": "eslint src --ext .ts,.tsx",
40
+ "typecheck": "tsc --noEmit",
40
41
  "release": "semantic-release",
41
42
  "prepublishOnly": "next build"
42
43
  },
@@ -1,10 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,98822,e=>{"use strict";var t=e.i(76809),s=e.i(65773);function n(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let r=n(),i=/[&<>"']/,l=RegExp(i.source,"g"),a=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,o=RegExp(a.source,"g"),c={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},d=e=>c[e];function h(e,t){if(t){if(i.test(e))return e.replace(l,d)}else if(a.test(e))return e.replace(o,d);return e}let p=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,u=/(^|[^\[])\^/g;function x(e,t){let s="string"==typeof e?e:e.source;t=t||"";let n={replace:(e,t)=>{let r="string"==typeof t?t:t.source;return r=r.replace(u,"$1"),s=s.replace(e,r),n},getRegex:()=>new RegExp(s,t)};return n}function m(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return null}return e}let g={exec:()=>null};function b(e,t){let s=e.replace(/\|/g,(e,t,s)=>{let n=!1,r=t;for(;--r>=0&&"\\"===s[r];)n=!n;return n?"|":" |"}).split(/ \|/),n=0;if(s[0].trim()||s.shift(),s.length>0&&!s[s.length-1].trim()&&s.pop(),t)if(s.length>t)s.splice(t);else for(;s.length<t;)s.push("");for(;n<s.length;n++)s[n]=s[n].trim().replace(/\\\|/g,"|");return s}function f(e,t,s){let n=e.length;if(0===n)return"";let r=0;for(;r<n;){let i=e.charAt(n-r-1);if(i!==t||s)if(i!==t&&s)r++;else break;else r++}return e.slice(0,n-r)}function k(e,t,s,n){let r=t.href,i=t.title?h(t.title):null,l=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){n.state.inLink=!0;let e={type:"link",raw:s,href:r,title:i,text:l,tokens:n.inlineTokens(l)};return n.state.inLink=!1,e}return{type:"image",raw:s,href:r,title:i,text:h(l)}}class y{options;rules;lexer;constructor(e){this.options=e||r}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:f(e,"\n")}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],s=function(e,t){let s=e.match(/^(\s+)(?:```)/);if(null===s)return t;let n=s[1];return t.split("\n").map(e=>{let t=e.match(/^\s+/);if(null===t)return e;let[s]=t;return s.length>=n.length?e.slice(n.length):e}).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){let t=f(e,"#");this.options.pedantic?e=t.trim():(!t||/ $/.test(t))&&(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=t[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1");e=f(e.replace(/^ *>[ \t]?/gm,""),"\n");let s=this.lexer.state.top;this.lexer.state.top=!0;let n=this.lexer.blockTokens(e);return this.lexer.state.top=s,{type:"blockquote",raw:t[0],tokens:n,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let s=t[1].trim(),n=s.length>1,r={type:"list",raw:"",ordered:n,start:n?+s.slice(0,-1):"",loose:!1,items:[]};s=n?`\\d{1,9}\\${s.slice(-1)}`:`\\${s}`,this.options.pedantic&&(s=n?s:"[*+-]");let i=RegExp(`^( {0,3}${s})((?:[ ][^\\n]*)?(?:\\n|$))`),l="",a="",o=!1;for(;e;){let s,n=!1;if(!(t=i.exec(e))||this.rules.block.hr.test(e))break;l=t[0],e=e.substring(l.length);let c=t[2].split("\n",1)[0].replace(/^\t+/,e=>" ".repeat(3*e.length)),d=e.split("\n",1)[0],h=0;this.options.pedantic?(h=2,a=c.trimStart()):(h=(h=t[2].search(/[^ ]/))>4?1:h,a=c.slice(h),h+=t[1].length);let p=!1;if(!c&&/^ *$/.test(d)&&(l+=d+"\n",e=e.substring(d.length+1),n=!0),!n){let t=RegExp(`^ {0,${Math.min(3,h-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),s=RegExp(`^ {0,${Math.min(3,h-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),n=RegExp(`^ {0,${Math.min(3,h-1)}}(?:\`\`\`|~~~)`),r=RegExp(`^ {0,${Math.min(3,h-1)}}#`);for(;e;){let i=e.split("\n",1)[0];if(d=i,this.options.pedantic&&(d=d.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),n.test(d)||r.test(d)||t.test(d)||s.test(e))break;if(d.search(/[^ ]/)>=h||!d.trim())a+="\n"+d.slice(h);else{if(p||c.search(/[^ ]/)>=4||n.test(c)||r.test(c)||s.test(c))break;a+="\n"+d}p||d.trim()||(p=!0),l+=i+"\n",e=e.substring(i.length+1),c=d.slice(h)}}!r.loose&&(o?r.loose=!0:/\n *\n *$/.test(l)&&(o=!0));let u=null;this.options.gfm&&(u=/^\[[ xX]\] /.exec(a))&&(s="[ ] "!==u[0],a=a.replace(/^\[[ xX]\] +/,"")),r.items.push({type:"list_item",raw:l,task:!!u,checked:s,loose:!1,text:a,tokens:[]}),r.raw+=l}r.items[r.items.length-1].raw=l.trimEnd(),r.items[r.items.length-1].text=a.trimEnd(),r.raw=r.raw.trimEnd();for(let e=0;e<r.items.length;e++)if(this.lexer.state.top=!1,r.items[e].tokens=this.lexer.blockTokens(r.items[e].text,[]),!r.loose){let t=r.items[e].tokens.filter(e=>"space"===e.type);r.loose=t.length>0&&t.some(e=>/\n.*\n/.test(e.raw))}if(r.loose)for(let e=0;e<r.items.length;e++)r.items[e].loose=!0;return r}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(/\s+/g," "),s=t[2]?t[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:s,title:n}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!/[:|]/.test(t[2]))return;let s=b(t[1]),n=t[2].replace(/^\||\| *$/g,"").split("|"),r=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],i={type:"table",raw:t[0],header:[],align:[],rows:[]};if(s.length===n.length){for(let e of n)/^ *-+: *$/.test(e)?i.align.push("right"):/^ *:-+: *$/.test(e)?i.align.push("center"):/^ *:-+ *$/.test(e)?i.align.push("left"):i.align.push(null);for(let e of s)i.header.push({text:e,tokens:this.lexer.inline(e)});for(let e of r)i.rows.push(b(e,i.header.length).map(e=>({text:e,tokens:this.lexer.inline(e)})));return i}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:h(t[1])}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&/^</.test(e)){if(!/>$/.test(e))return;let t=f(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=function(e,t){if(-1===e.indexOf(")"))return -1;let s=0;for(let t=0;t<e.length;t++)if("\\"===e[t])t++;else if("("===e[t])s++;else if(")"===e[t]&&--s<0)return t;return -1}(t[2],0);if(e>-1){let s=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,s).trim(),t[3]=""}}let s=t[2],n="";if(this.options.pedantic){let e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(s);e&&(s=e[1],n=e[3])}else n=t[3]?t[3].slice(1,-1):"";return s=s.trim(),/^</.test(s)&&(s=this.options.pedantic&&!/>$/.test(e)?s.slice(1):s.slice(1,-1)),k(t,{href:s?s.replace(this.rules.inline.anyPunctuation,"$1"):s,title:n?n.replace(this.rules.inline.anyPunctuation,"$1"):n},t[0],this.lexer)}}reflink(e,t){let s;if((s=this.rules.inline.reflink.exec(e))||(s=this.rules.inline.nolink.exec(e))){let e=t[(s[2]||s[1]).replace(/\s+/g," ").toLowerCase()];if(!e){let e=s[0].charAt(0);return{type:"text",raw:e,text:e}}return k(s,e,s[0],this.lexer)}}emStrong(e,t,s=""){let n=this.rules.inline.emStrongLDelim.exec(e);if(!(!n||n[3]&&s.match(/[\p{L}\p{N}]/u))&&(!(n[1]||n[2])||!s||this.rules.inline.punctuation.exec(s))){let s=[...n[0]].length-1,r,i,l=s,a=0,o="*"===n[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(o.lastIndex=0,t=t.slice(-1*e.length+s);null!=(n=o.exec(t));){if(!(r=n[1]||n[2]||n[3]||n[4]||n[5]||n[6]))continue;if(i=[...r].length,n[3]||n[4]){l+=i;continue}if((n[5]||n[6])&&s%3&&!((s+i)%3)){a+=i;continue}if((l-=i)>0)continue;i=Math.min(i,i+l+a);let t=[...n[0]][0].length,o=e.slice(0,s+n.index+t+i);if(Math.min(s,i)%2){let e=o.slice(1,-1);return{type:"em",raw:o,text:e,tokens:this.lexer.inlineTokens(e)}}let c=o.slice(2,-2);return{type:"strong",raw:o,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," "),s=/[^ ]/.test(e),n=/^ /.test(e)&&/ $/.test(e);return s&&n&&(e=e.substring(1,e.length-1)),e=h(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,s;return s="@"===t[2]?"mailto:"+(e=h(t[1])):e=h(t[1]),{type:"link",raw:t[0],text:e,href:s,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,s;if("@"===t[2])s="mailto:"+(e=h(t[0]));else{let n;do n=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(n!==t[0])e=h(t[0]),s="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:s,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:h(t[0]),{type:"text",raw:t[0],text:e}}}}let w=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,v=/(?:[*+-]|\d{1,9}[.)])/,j=x(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,v).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),N=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,T=/(?!\s*\])(?:\\.|[^\[\]\\])+/,S=x(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",T).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),C=x(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,v).getRegex(),$="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",z=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,A=x("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",z).replace("tag",$).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),R=x(N).replace("hr",w).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",$).getRegex(),I={blockquote:x(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",R).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:S,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:w,html:A,lheading:j,list:C,newline:/^(?: *(?:\n|$))+/,paragraph:R,table:g,text:/^[^\n]+/},M=x("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",w).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",$).getRegex(),P={...I,table:M,paragraph:x(N).replace("hr",w).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",M).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",$).getRegex()},L={...I,html:x("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",z).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:g,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:x(N).replace("hr",w).replace("heading"," *#{1,6} *[^\n]").replace("lheading",j).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},_=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,E=/^( {2,}|\\)\n(?!\s*$)/,q="\\p{P}\\p{S}",B=x(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,q).getRegex(),D=x(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,q).getRegex(),F=x("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,q).getRegex(),Q=x("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,q).getRegex(),O=x(/\\([punct])/,"gu").replace(/punct/g,q).getRegex(),Z=x(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),G=x(z).replace("(?:-->|$)","-->").getRegex(),H=x("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",G).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),V=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,K=x(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",V).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),U=x(/^!?\[(label)\]\[(ref)\]/).replace("label",V).replace("ref",T).getRegex(),J=x(/^!?\[(ref)\](?:\[\])?/).replace("ref",T).getRegex(),W=x("reflink|nolink(?!\\()","g").replace("reflink",U).replace("nolink",J).getRegex(),X={_backpedal:g,anyPunctuation:O,autolink:Z,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:E,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:g,emStrongLDelim:D,emStrongRDelimAst:F,emStrongRDelimUnd:Q,escape:_,link:K,nolink:J,punctuation:B,reflink:U,reflinkSearch:W,tag:H,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:g},Y={...X,link:x(/^!?\[(label)\]\((.*?)\)/).replace("label",V).getRegex(),reflink:x(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",V).getRegex()},ee={...X,escape:x(_).replace("])","~|])").getRegex(),url:x(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},et={...ee,br:x(E).replace("{2,}","*").getRegex(),text:x(ee.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},es={normal:I,gfm:P,pedantic:L},en={normal:X,gfm:ee,breaks:et,pedantic:Y};class er{tokens;options;state;tokenizer;inlineQueue;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||r,this.options.tokenizer=this.options.tokenizer||new y,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:es.normal,inline:en.normal};this.options.pedantic?(t.block=es.pedantic,t.inline=en.pedantic):this.options.gfm&&(t.block=es.gfm,this.options.breaks?t.inline=en.breaks:t.inline=en.gfm),this.tokenizer.rules=t}static get rules(){return{block:es,inline:en}}static lex(e,t){return new er(t).lex(e)}static lexInline(e,t){return new er(t).inlineTokens(e)}lex(e){e=e.replace(/\r\n|\r/g,"\n"),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[]){let s,n,r,i;for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,(e,t,s)=>t+" ".repeat(s.length));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(n=>!!(s=n.call({lexer:this},e,t))&&(e=e.substring(s.raw.length),t.push(s),!0)))){if(s=this.tokenizer.space(e)){e=e.substring(s.raw.length),1===s.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(s);continue}if(s=this.tokenizer.code(e)){e=e.substring(s.raw.length),(n=t[t.length-1])&&("paragraph"===n.type||"text"===n.type)?(n.raw+="\n"+s.raw,n.text+="\n"+s.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(s);continue}if((s=this.tokenizer.fences(e))||(s=this.tokenizer.heading(e))||(s=this.tokenizer.hr(e))||(s=this.tokenizer.blockquote(e))||(s=this.tokenizer.list(e))||(s=this.tokenizer.html(e))){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.def(e)){e=e.substring(s.raw.length),(n=t[t.length-1])&&("paragraph"===n.type||"text"===n.type)?(n.raw+="\n"+s.raw,n.text+="\n"+s.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text):this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title});continue}if((s=this.tokenizer.table(e))||(s=this.tokenizer.lheading(e))){e=e.substring(s.raw.length),t.push(s);continue}if(r=e,this.options.extensions&&this.options.extensions.startBlock){let t,s=1/0,n=e.slice(1);this.options.extensions.startBlock.forEach(e=>{"number"==typeof(t=e.call({lexer:this},n))&&t>=0&&(s=Math.min(s,t))}),s<1/0&&s>=0&&(r=e.substring(0,s+1))}if(this.state.top&&(s=this.tokenizer.paragraph(r))){n=t[t.length-1],i&&"paragraph"===n.type?(n.raw+="\n"+s.raw,n.text+="\n"+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(s),i=r.length!==e.length,e=e.substring(s.raw.length);continue}if(s=this.tokenizer.text(e)){e=e.substring(s.raw.length),(n=t[t.length-1])&&"text"===n.type?(n.raw+="\n"+s.raw,n.text+="\n"+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(s);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let s,n,r,i,l,a,o=e;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(o));)e.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(o=o.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(o));)o=o.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+o.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.anyPunctuation.exec(o));)o=o.slice(0,i.index)+"++"+o.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(l||(a=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(n=>!!(s=n.call({lexer:this},e,t))&&(e=e.substring(s.raw.length),t.push(s),!0)))){if(s=this.tokenizer.escape(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.tag(e)){e=e.substring(s.raw.length),(n=t[t.length-1])&&"text"===s.type&&"text"===n.type?(n.raw+=s.raw,n.text+=s.text):t.push(s);continue}if(s=this.tokenizer.link(e)){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(s.raw.length),(n=t[t.length-1])&&"text"===s.type&&"text"===n.type?(n.raw+=s.raw,n.text+=s.text):t.push(s);continue}if((s=this.tokenizer.emStrong(e,o,a))||(s=this.tokenizer.codespan(e))||(s=this.tokenizer.br(e))||(s=this.tokenizer.del(e))||(s=this.tokenizer.autolink(e))||!this.state.inLink&&(s=this.tokenizer.url(e))){e=e.substring(s.raw.length),t.push(s);continue}if(r=e,this.options.extensions&&this.options.extensions.startInline){let t,s=1/0,n=e.slice(1);this.options.extensions.startInline.forEach(e=>{"number"==typeof(t=e.call({lexer:this},n))&&t>=0&&(s=Math.min(s,t))}),s<1/0&&s>=0&&(r=e.substring(0,s+1))}if(s=this.tokenizer.inlineText(r)){e=e.substring(s.raw.length),"_"!==s.raw.slice(-1)&&(a=s.raw.slice(-1)),l=!0,(n=t[t.length-1])&&"text"===n.type?(n.raw+=s.raw,n.text+=s.text):t.push(s);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw Error(t)}}return t}}class ei{options;constructor(e){this.options=e||r}code(e,t,s){let n=(t||"").match(/^\S*/)?.[0];return(e=e.replace(/\n$/,"")+"\n",n)?'<pre><code class="language-'+h(n)+'">'+(s?e:h(e,!0))+"</code></pre>\n":"<pre><code>"+(s?e:h(e,!0))+"</code></pre>\n"}blockquote(e){return`<blockquote>
2
- ${e}</blockquote>
3
- `}html(e,t){return e}heading(e,t,s){return`<h${t}>${e}</h${t}>
4
- `}hr(){return"<hr>\n"}list(e,t,s){let n=t?"ol":"ul";return"<"+n+(t&&1!==s?' start="'+s+'"':"")+">\n"+e+"</"+n+">\n"}listitem(e,t,s){return`<li>${e}</li>
5
- `}checkbox(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph(e){return`<p>${e}</p>
6
- `}table(e,t){return t&&(t=`<tbody>${t}</tbody>`),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"}tablerow(e){return`<tr>
7
- ${e}</tr>
8
- `}tablecell(e,t){let s=t.header?"th":"td";return(t.align?`<${s} align="${t.align}">`:`<${s}>`)+e+`</${s}>
9
- `}strong(e){return`<strong>${e}</strong>`}em(e){return`<em>${e}</em>`}codespan(e){return`<code>${e}</code>`}br(){return"<br>"}del(e){return`<del>${e}</del>`}link(e,t,s){let n=m(e);if(null===n)return s;let r='<a href="'+(e=n)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+s+"</a>"}image(e,t,s){let n=m(e);if(null===n)return s;e=n;let r=`<img src="${e}" alt="${s}"`;return t&&(r+=` title="${t}"`),r+=">"}text(e){return e}}class el{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,s){return""+s}image(e,t,s){return""+s}br(){return""}}class ea{options;renderer;textRenderer;constructor(e){this.options=e||r,this.options.renderer=this.options.renderer||new ei,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new el}static parse(e,t){return new ea(t).parse(e)}static parseInline(e,t){return new ea(t).parseInline(e)}parse(e,t=!0){let s="";for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type]){let e=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==e||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(r.type)){s+=e||"";continue}}switch(r.type){case"space":continue;case"hr":s+=this.renderer.hr();continue;case"heading":s+=this.renderer.heading(this.parseInline(r.tokens),r.depth,this.parseInline(r.tokens,this.textRenderer).replace(p,(e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""));continue;case"code":s+=this.renderer.code(r.text,r.lang,!!r.escaped);continue;case"table":{let e="",t="";for(let e=0;e<r.header.length;e++)t+=this.renderer.tablecell(this.parseInline(r.header[e].tokens),{header:!0,align:r.align[e]});e+=this.renderer.tablerow(t);let n="";for(let e=0;e<r.rows.length;e++){let s=r.rows[e];t="";for(let e=0;e<s.length;e++)t+=this.renderer.tablecell(this.parseInline(s[e].tokens),{header:!1,align:r.align[e]});n+=this.renderer.tablerow(t)}s+=this.renderer.table(e,n);continue}case"blockquote":{let e=this.parse(r.tokens);s+=this.renderer.blockquote(e);continue}case"list":{let e=r.ordered,t=r.start,n=r.loose,i="";for(let e=0;e<r.items.length;e++){let t=r.items[e],s=t.checked,l=t.task,a="";if(t.task){let e=this.renderer.checkbox(!!s);n?t.tokens.length>0&&"paragraph"===t.tokens[0].type?(t.tokens[0].text=e+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&"text"===t.tokens[0].tokens[0].type&&(t.tokens[0].tokens[0].text=e+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",text:e+" "}):a+=e+" "}a+=this.parse(t.tokens,n),i+=this.renderer.listitem(a,l,!!s)}s+=this.renderer.list(i,e,t);continue}case"html":s+=this.renderer.html(r.text,r.block);continue;case"paragraph":s+=this.renderer.paragraph(this.parseInline(r.tokens));continue;case"text":{let i=r,l=i.tokens?this.parseInline(i.tokens):i.text;for(;n+1<e.length&&"text"===e[n+1].type;)l+="\n"+((i=e[++n]).tokens?this.parseInline(i.tokens):i.text);s+=t?this.renderer.paragraph(l):l;continue}default:{let e='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return s}parseInline(e,t){t=t||this.renderer;let s="";for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[r.type]){let e=this.options.extensions.renderers[r.type].call({parser:this},r);if(!1!==e||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(r.type)){s+=e||"";continue}}switch(r.type){case"escape":case"text":s+=t.text(r.text);break;case"html":s+=t.html(r.text);break;case"link":s+=t.link(r.href,r.title,this.parseInline(r.tokens,t));break;case"image":s+=t.image(r.href,r.title,r.text);break;case"strong":s+=t.strong(this.parseInline(r.tokens,t));break;case"em":s+=t.em(this.parseInline(r.tokens,t));break;case"codespan":s+=t.codespan(r.text);break;case"br":s+=t.br();break;case"del":s+=t.del(this.parseInline(r.tokens,t));break;default:{let e='Token with "'+r.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return s}}class eo{options;constructor(e){this.options=e||r}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}}class ec{defaults=n();options=this.setOptions;parse=this.#e(er.lex,ea.parse);parseInline=this.#e(er.lexInline,ea.parseInline);Parser=ea;Renderer=ei;TextRenderer=el;Lexer=er;Tokenizer=y;Hooks=eo;constructor(...e){this.use(...e)}walkTokens(e,t){let s=[];for(let n of e)switch(s=s.concat(t.call(this,n)),n.type){case"table":for(let e of n.header)s=s.concat(this.walkTokens(e.tokens,t));for(let e of n.rows)for(let n of e)s=s.concat(this.walkTokens(n.tokens,t));break;case"list":s=s.concat(this.walkTokens(n.items,t));break;default:{let e=n;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(n=>{let r=e[n].flat(1/0);s=s.concat(this.walkTokens(r,t))}):e.tokens&&(s=s.concat(this.walkTokens(e.tokens,t)))}}return s}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let s={...e};if(s.async=this.defaults.async||s.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let s=t.renderers[e.name];s?t.renderers[e.name]=function(...t){let n=e.renderer.apply(this,t);return!1===n&&(n=s.apply(this,t)),n}:t.renderers[e.name]=e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let s=t[e.level];s?s.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),s.extensions=t),e.renderer){let t=this.defaults.renderer||new ei(this.defaults);for(let s in e.renderer){if(!(s in t))throw Error(`renderer '${s}' does not exist`);if("options"===s)continue;let n=e.renderer[s],r=t[s];t[s]=(...e)=>{let s=n.apply(t,e);return!1===s&&(s=r.apply(t,e)),s||""}}s.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new y(this.defaults);for(let s in e.tokenizer){if(!(s in t))throw Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let n=e.tokenizer[s],r=t[s];t[s]=(...e)=>{let s=n.apply(t,e);return!1===s&&(s=r.apply(t,e)),s}}s.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new eo;for(let s in e.hooks){if(!(s in t))throw Error(`hook '${s}' does not exist`);if("options"===s)continue;let n=e.hooks[s],r=t[s];eo.passThroughHooks.has(s)?t[s]=e=>{if(this.defaults.async)return Promise.resolve(n.call(t,e)).then(e=>r.call(t,e));let s=n.call(t,e);return r.call(t,s)}:t[s]=(...e)=>{let s=n.apply(t,e);return!1===s&&(s=r.apply(t,e)),s}}s.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,n=e.walkTokens;s.walkTokens=function(e){let s=[];return s.push(n.call(this,e)),t&&(s=s.concat(t.call(this,e))),s}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return er.lex(e,t??this.defaults)}parser(e,t){return ea.parse(e,t??this.defaults)}#e(e,t){return(s,n)=>{let r={...n},i={...this.defaults,...r};!0===this.defaults.async&&!1===r.async&&(i.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),i.async=!0);let l=this.#t(!!i.silent,!!i.async);if(null==s)return l(Error("marked(): input parameter is undefined or null"));if("string"!=typeof s)return l(Error("marked(): input parameter is of type "+Object.prototype.toString.call(s)+", string expected"));if(i.hooks&&(i.hooks.options=i),i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(s):s).then(t=>e(t,i)).then(e=>i.hooks?i.hooks.processAllTokens(e):e).then(e=>i.walkTokens?Promise.all(this.walkTokens(e,i.walkTokens)).then(()=>e):e).then(e=>t(e,i)).then(e=>i.hooks?i.hooks.postprocess(e):e).catch(l);try{i.hooks&&(s=i.hooks.preprocess(s));let n=e(s,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=t(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return l(e)}}}#t(e,t){return s=>{if(s.message+="\nPlease report this to https://github.com/markedjs/marked.",e){let e="<p>An error occurred:</p><pre>"+h(s.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(s);throw s}}}let ed=new ec;function eh(e,t){return ed.parse(e,t)}eh.options=eh.setOptions=function(e){return ed.setOptions(e),eh.defaults=ed.defaults,r=eh.defaults,eh},eh.getDefaults=n,eh.defaults=r,eh.use=function(...e){return ed.use(...e),eh.defaults=ed.defaults,r=eh.defaults,eh},eh.walkTokens=function(e,t){return ed.walkTokens(e,t)},eh.parseInline=ed.parseInline,eh.Parser=ea,eh.parser=ea.parse,eh.Renderer=ei,eh.TextRenderer=el,eh.Lexer=er,eh.lexer=er.lex,eh.Tokenizer=y,eh.Hooks=eo,eh.parse=eh,eh.options,eh.setOptions,eh.use,eh.walkTokens,eh.parseInline,ea.parse,er.lex;var ep=e.i(75157);function eu({content:n,className:r}){let i=eh.parse(n).replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"").replace(/\son\w+="[^"]*"/gi,"").replace(/\son\w+='[^']*'/gi,""),l=(0,s.useRef)(null);return(0,s.useEffect)(()=>{let t=l.current;if(!t)return;let s=!1,n=setTimeout(()=>{s||e.A(4352).then(e=>{if(s||!t.isConnected)return;let n=Array.from(t.querySelectorAll(".mermaid:not([data-processed])"));0!==n.length&&(e.default.initialize({startOnLoad:!1,theme:"dark",darkMode:!0,securityLevel:"antiscript"}),e.default.run({nodes:n,suppressErrors:!0}).catch(e=>{console.error("[mermaid]",e)}))})},120);return()=>{s=!0,clearTimeout(n)}},[i]),(0,t.jsx)("div",{ref:l,className:(0,ep.cn)("prose-dark",r),dangerouslySetInnerHTML:{__html:i}})}eh.setOptions({gfm:!0,breaks:!1}),eh.use({renderer:{code(e,t){if("mermaid"===t){let t=e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");return`<div class="mermaid">${t}</div>`}return!1}}}),eh.use({renderer:{heading(e,t){let s=e.toLowerCase().replace(/[^\w\s-]/g,"").replace(/\s+/g,"-");return`<h${t} id="${s}">${e}</h${t}>
10
- `}}}),e.s(["MarkdownRenderer",()=>eu],98822)},62950,e=>{"use strict";let t=(0,e.i(11415).default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);e.s(["AlertTriangle",()=>t],62950)},84295,e=>{"use strict";let t=(0,e.i(11415).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",()=>t],84295)},14054,e=>{"use strict";let t=(0,e.i(11415).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",()=>t],14054)},96372,29257,60888,e=>{"use strict";var t=e.i(11415);let s=(0,t.default)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);e.s(["Users",()=>s],96372);let n=(0,t.default)("code-xml",[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]]);e.s(["Code2",()=>n],29257);let r=(0,t.default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>r],60888)},94895,e=>{"use strict";var t=e.i(76809),s=e.i(65773),n=e.i(63371),r=e.i(11415);let i=(0,r.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var l=e.i(41988);let a=(0,r.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);var o=e.i(84526),c=e.i(84295),d=e.i(75157),h=e.i(14054),p=e.i(89117);let u=(0,r.default)("building-2",[["path",{d:"M10 12h4",key:"a56b0p"}],["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M14 21v-3a2 2 0 0 0-4 0v3",key:"1rgiei"}],["path",{d:"M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2",key:"secmi2"}],["path",{d:"M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16",key:"16ra0t"}]]),x=(0,r.default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);var m=e.i(81009),g=e.i(62950);let b=(0,r.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);var f=e.i(96372);let k=(0,r.default)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]]),y=(0,r.default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),w=(0,r.default)("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);var v=e.i(29257);let j=(0,r.default)("workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);var N=e.i(60888),T=e.i(49021);let S=[{id:"nextjs-production",name:"Next.js Production",description:"Complete setup for a production Next.js application with CI/CD, Docker, and code quality tools",projectTypes:["web-app"],templateIds:["claude-md","architecture-overview","contributing","security","pr-template","changelog","testing","onboarding","dockerfile","docker-compose","dockerignore","env-example","ci-workflow","cd-workflow","dependabot-config","eslintrc","prettierrc","tsconfig-strict","vscode-settings","vscode-extensions"]},{id:"api-backend",name:"API Backend",description:"Production API service with OpenAPI spec, Docker, monitoring, and runbook",projectTypes:["api-backend"],templateIds:["claude-md","architecture-overview","api-reference","openapi","runbook","contributing","security","pr-template","changelog","testing","dockerfile","docker-compose","dockerignore","env-example","ci-workflow","cd-workflow","health-check-doc","slo-doc"]},{id:"library-sdk",name:"Library / SDK",description:"Open-source library with strict TypeScript, changelog, and release automation",projectTypes:["library"],templateIds:["claude-md","contributing","security","pr-template","changelog","testing","tsconfig-strict","eslintrc","prettierrc","editorconfig","commitlint","dependabot-config","release-workflow","codeowners"]},{id:"cli-tool",name:"CLI Tool",description:"Command-line tool with Makefile automation and release workflow",projectTypes:["cli-tool"],templateIds:["claude-md","contributing","security","pr-template","changelog","testing","makefile","env-example","ci-workflow","release-workflow","commitlint","editorconfig","eslintrc"]},{id:"monorepo",name:"Monorepo",description:"Multi-package monorepo with code ownership, commit conventions, and architecture docs",projectTypes:["monorepo"],templateIds:["claude-md","architecture-overview","contributing","security","pr-template","changelog","testing","onboarding","codeowners","commitlint","ci-workflow","cd-workflow","dockerfile","env-example","eslintrc","lint-staged"]},{id:"ai-first",name:"AI-First",description:"Cross-cutting preset for projects that heavily use AI coding agents",projectTypes:[],templateIds:["claude-md","agents-md","gemini-md","cursorrules","copilot-instructions","contributing","pr-template","changelog"]},{id:"minimal",name:"Minimal",description:"Just the essentials — get started fast with 5 key files",projectTypes:[],templateIds:["claude-md","contributing","pr-template","changelog","env-example"]}],C={"ai-agent":"AI Agent Config",github:"GitHub",process:"Process Docs",technical:"Technical Docs",infrastructure:"Infrastructure","github-actions":"GitHub Actions","code-quality":"Code Quality",monitoring:"Monitoring"},$={"ai-agent":h.Bot,github:k,process:j,technical:p.FileText,infrastructure:x,"github-actions":j,"code-quality":o.Check,monitoring:g.AlertTriangle},z={"claude-md":h.Bot,"agents-md":h.Bot,"gemini-md":h.Bot,cursorrules:v.Code2,windsurfrules:v.Code2,"copilot-instructions":h.Bot,contributing:k,security:y,"pr-template":k,"bug-report":g.AlertTriangle,"feature-request":p.FileText,changelog:N.List,deployment:j,testing:o.Check,glossary:m.BookOpen,prd:p.FileText,"architecture-overview":u,"api-reference":x,runbook:m.BookOpen,adr:g.AlertTriangle,onboarding:f.Users,database:w,openapi:x,"meeting-notes":b,blank:p.FileText},A=function(e){let t=[],s=new Map;for(let n of e)s.has(n.category)||(t.push(n.category),s.set(n.category,[])),s.get(n.category).push(n);return t.map(e=>({category:e,displayName:C[e]??e,items:s.get(e)}))}(T.TEMPLATES);function R({selected:e,onChange:n,projectType:r}){let i,[l,a]=(0,s.useState)("recommended"),c=t=>e.some(e=>e.id===t),h=S.filter(e=>0===e.projectTypes.length||e.projectTypes.includes(r??""));return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-2",children:"Select Templates"}),(0,t.jsx)("p",{className:"text-muted",children:"Choose which documentation files to generate for your project."})]}),(0,t.jsxs)("div",{className:"flex gap-1 overflow-x-auto pb-2 border-b border-border",children:[(0,t.jsx)("button",{onClick:()=>a("recommended"),className:(0,d.cn)("px-3 py-1.5 text-sm rounded-md whitespace-nowrap transition-colors","recommended"===l?"bg-accent text-white":"text-muted hover:text-txt"),children:"⭐ Recommended"}),A.map(e=>(0,t.jsx)("button",{onClick:()=>a(e.category),className:(0,d.cn)("px-3 py-1.5 text-sm rounded-md whitespace-nowrap transition-colors",l===e.category?"bg-accent text-white":"text-muted hover:text-txt"),children:e.displayName},e.category))]}),"recommended"===l&&(0,t.jsxs)("div",{className:"space-y-4",children:[0===h.length&&(0,t.jsx)("p",{className:"text-muted text-sm",children:"No presets match your project type. Select templates manually from the tabs above."}),h.map(e=>{let s=e.templateIds.every(e=>c(e));return(0,t.jsx)("div",{className:"p-4 rounded-lg border border-border hover:border-accent/50 transition-colors",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"font-medium text-txt",children:e.name}),(0,t.jsx)("div",{className:"text-sm text-muted mt-1",children:e.description}),(0,t.jsxs)("div",{className:"text-xs text-accent/70 mt-1",children:[e.templateIds.length," templates"]})]}),(0,t.jsx)("button",{onClick:()=>{n(e.templateIds.map(e=>T.TEMPLATES.find(t=>t.id===e)).filter(e=>void 0!==e).map(e=>({id:e.id,name:e.name,path:e.defaultPath})))},className:(0,d.cn)("shrink-0 px-3 py-1.5 text-sm rounded-lg border transition-colors",s?"border-accent bg-accent/10 text-accent":"border-border hover:border-accent text-txt"),children:s?"✓ Selected":"Select bundle"})]})},e.id)})]}),"recommended"!==l&&((i=A.find(e=>e.category===l))?(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-muted uppercase tracking-wider",children:i.displayName}),(0,t.jsx)("button",{onClick:()=>(t=>{let s=A.find(e=>e.category===t);if(s)if(s.items.every(e=>c(e.id)))n(e.filter(e=>!s.items.some(t=>t.id===e.id)));else{let t=[...e];s.items.forEach(e=>{c(e.id)||t.push({id:e.id,name:e.name,path:e.defaultPath})}),n(t)}})(i.category),className:"text-xs text-accent hover:text-accent/80 transition-colors",children:i.items.every(e=>c(e.id))?"Deselect all":"Select all"})]}),(0,t.jsx)("div",{className:"grid grid-cols-2 sm:grid-cols-3 gap-3",children:i.items.map(s=>{let r=z[s.id]??$[s.category],i=c(s.id);return(0,t.jsx)("button",{onClick:()=>{c(s.id)?n(e.filter(e=>e.id!==s.id)):n([...e,{id:s.id,name:s.name,path:s.defaultPath}])},className:(0,d.cn)("p-3 rounded-lg border text-left transition-all",i?"border-accent bg-accent/10":"border-border hover:border-accent/50"),children:(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)("div",{className:(0,d.cn)("w-8 h-8 rounded-lg flex items-center justify-center shrink-0",i?"bg-accent/20":"bg-surface2"),children:(0,t.jsx)(r,{className:(0,d.cn)("w-4 h-4",i?"text-accent":"text-muted")})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"font-medium text-sm text-txt truncate",children:s.name}),(0,t.jsx)("div",{className:"text-xs text-muted truncate",children:s.description})]}),i&&(0,t.jsx)(o.Check,{className:"w-4 h-4 text-accent shrink-0"})]})},s.id)})})]}):null),(0,t.jsxs)("div",{className:"text-sm text-muted",children:[e.length," template",1!==e.length?"s":""," selected"]})]})}var I=e.i(93479);let M=[{value:"web-app",label:"Web Application"},{value:"api-backend",label:"API / Backend"},{value:"cli-tool",label:"CLI Tool"},{value:"library",label:"Library / SDK"},{value:"mobile-app",label:"Mobile App"},{value:"monorepo",label:"Monorepo"}];function P({answers:e,onChange:s}){let n=(t,n)=>{s({...e,[t]:n})};return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-2",children:"Basic Information"}),(0,t.jsx)("p",{className:"text-muted",children:"Tell us about your project to customize the documentation."})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-sm font-medium text-txt mb-1.5",children:["Project Name ",(0,t.jsx)("span",{className:"text-red-400",children:"*"})]}),(0,t.jsx)(I.Input,{value:e.projectName,onChange:e=>n("projectName",e.target.value),placeholder:"My Awesome Project",className:"bg-surface2"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt mb-1.5",children:"Project Type"}),(0,t.jsx)("select",{value:e.projectType,onChange:e=>n("projectType",e.target.value),className:"w-full h-10 px-3 rounded-md border border-border bg-surface2 text-txt text-sm focus:outline-none focus:ring-2 focus:ring-accent/50",children:M.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-sm font-medium text-txt mb-1.5",children:["Repository URL ",(0,t.jsx)("span",{className:"text-muted",children:"(optional)"})]}),(0,t.jsx)(I.Input,{value:e.repoUrl,onChange:e=>n("repoUrl",e.target.value),placeholder:"https://github.com/org/repo",className:"bg-surface2"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt mb-1.5",children:"Description"}),(0,t.jsx)("textarea",{value:e.description,onChange:e=>n("description",e.target.value),placeholder:"A brief description of what your project does...",rows:3,className:"w-full px-3 py-2 rounded-md border border-border bg-surface2 text-txt text-sm resize-none focus:outline-none focus:ring-2 focus:ring-accent/50"})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-sm font-medium text-txt mb-1.5",children:["Key Features ",(0,t.jsx)("span",{className:"text-muted",children:"(optional)"})]}),(0,t.jsx)(I.Input,{value:e.keyFeatures,onChange:e=>n("keyFeatures",e.target.value),placeholder:"Auth, payments, real-time sync, etc.",className:"bg-surface2"}),(0,t.jsx)("p",{className:"text-xs text-muted mt-1",children:"Comma-separated list of main features"})]})]})]})}var L=e.i(6709),_=e.i(96710);let E=[{id:"language",label:"Language",techs:["TypeScript","JavaScript","Python","Go","Rust","Java","C#","Ruby","Kotlin","Swift","PHP","Elixir"]},{id:"frontend",label:"Frontend",techs:["React","Vue","Angular","Next.js","Nuxt","SvelteKit","Remix","Astro","Vite","Tailwind CSS","React Native","Expo"]},{id:"backend",label:"Backend",techs:["Node.js","Express","Fastify","NestJS","FastAPI","Django","Flask","Rails","Spring Boot","Go/Fiber","Rust/Actix","Hono","Bun"]},{id:"database",label:"Database",techs:["PostgreSQL","MySQL","MongoDB","Redis","SQLite","Supabase","PlanetScale","DynamoDB","Cassandra","Prisma","Drizzle","TypeORM"]},{id:"devops",label:"DevOps",techs:["Docker","Kubernetes","GitHub Actions","GitLab CI","CircleCI","Jenkins","Terraform","Pulumi","AWS","GCP","Azure","Vercel","Railway","Fly.io","Render"]},{id:"testing",label:"Testing",techs:["Jest","Vitest","Playwright","Cypress","Testing Library","pytest","RSpec","Mocha","k6"]},{id:"tools",label:"Tools",techs:["ESLint","Prettier","Husky","lint-staged","Storybook","Turborepo","pnpm","Nx","GraphQL","tRPC","Zod","Stripe"]}];E.flatMap(e=>e.techs);let q=[{id:"nextjs",label:"Next.js Full-Stack",techs:["TypeScript","Next.js","React","Tailwind CSS","PostgreSQL","Prisma"]},{id:"python-api",label:"Python API",techs:["Python","FastAPI","PostgreSQL","Redis","Docker"]},{id:"react-native",label:"React Native",techs:["TypeScript","React Native","Expo"]},{id:"go-service",label:"Go Microservice",techs:["Go","Go/Fiber","PostgreSQL","Docker","Kubernetes"]},{id:"sveltekit",label:"SvelteKit",techs:["TypeScript","SvelteKit","Tailwind CSS","SQLite"]}];function B({value:e,onChange:n}){let[r,i]=(0,s.useState)(""),[l,a]=(0,s.useState)("language"),o=r.trim().length>0,c=t=>{e.includes(t)?n(e.filter(e=>e!==t)):n([...e,t])},h=o?E.map(e=>({...e,items:e.techs.filter(e=>e.toLowerCase().includes(r.toLowerCase()))})).filter(e=>e.items.length>0):[],p=E.find(e=>e.id===l)?.techs??[],u=E.flatMap(e=>e.techs).some(e=>e.toLowerCase()===r.toLowerCase()),x=o&&!u&&r.trim().length>0;return(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted mb-2 uppercase tracking-wider",children:"Quick Presets"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:q.map(s=>(0,t.jsx)("button",{type:"button",onClick:()=>{let t;(t=s.techs.filter(t=>!e.includes(t))).length>0&&n([...e,...t])},className:"px-3 py-1 rounded-md border border-border text-xs text-txt hover:border-accent hover:text-accent transition-colors",children:s.label},s.id))})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(L.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-muted pointer-events-none"}),(0,t.jsx)("input",{value:r,onChange:e=>i(e.target.value),onKeyDown:t=>{if("Enter"===t.key){let s;t.preventDefault(),!E.flatMap(e=>e.techs).some(e=>e.toLowerCase()===r.toLowerCase())&&r.trim()&&((s=r.trim())&&!e.includes(s)&&n([...e,s]),i(""))}else"Escape"===t.key&&i("")},placeholder:"Search technologies...",className:"w-full pl-9 pr-3 py-2 rounded-md border border-border bg-surface2 text-txt text-sm outline-none placeholder:text-muted focus:border-accent transition-colors"}),o&&(0,t.jsx)("button",{type:"button",onClick:()=>i(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-muted hover:text-txt transition-colors",children:(0,t.jsx)(_.X,{className:"w-4 h-4"})})]}),!o&&(0,t.jsx)("div",{className:"flex gap-1 overflow-x-auto pb-1 scrollbar-hide",children:E.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>a(e.id),className:(0,d.cn)("px-3 py-1 rounded-md text-xs font-medium whitespace-nowrap transition-colors flex-shrink-0",l===e.id?"bg-accent text-white":"bg-surface2 text-muted hover:text-txt hover:bg-surface"),children:e.label},e.id))}),o?(0,t.jsxs)("div",{className:"space-y-3",children:[h.map(s=>(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"text-xs font-medium text-muted uppercase tracking-wider mb-1.5",children:s.label}),(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:s.items.map(s=>(0,t.jsx)("button",{type:"button",onClick:()=>c(s),className:(0,d.cn)("px-3 py-1 rounded-full text-sm border transition-colors",e.includes(s)?"bg-accent/15 border-accent text-accent":"bg-surface2 border-border text-txt hover:border-accent/50 hover:text-accent/80"),children:s},s))})]},s.id)),x&&(0,t.jsxs)("p",{className:"text-xs text-muted",children:["Press ",(0,t.jsx)("kbd",{className:"px-1 py-0.5 rounded bg-surface border border-border text-xs",children:"Enter"}),' to add "',r,'"']})]}):(0,t.jsx)("div",{className:"flex flex-wrap gap-2",children:p.map(s=>(0,t.jsx)("button",{type:"button",onClick:()=>c(s),className:(0,d.cn)("px-3 py-1 rounded-full text-sm border transition-colors",e.includes(s)?"bg-accent/15 border-accent text-accent":"bg-surface2 border-border text-txt hover:border-accent/50 hover:text-accent/80"),children:s},s))}),e.length>0&&(0,t.jsxs)("div",{className:"pt-2 border-t border-border",children:[(0,t.jsxs)("p",{className:"text-xs font-medium text-muted mb-2",children:["Selected (",e.length,")"]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.map(s=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-md bg-accent/15 text-accent text-sm font-medium",children:[s,(0,t.jsx)("button",{type:"button",onClick:()=>n(e.filter(e=>e!==s)),className:"hover:text-accent/70 transition-colors",children:(0,t.jsx)(_.X,{className:"w-3 h-3"})})]},s))})]})]})}let D=[{value:"solo",label:"Solo"},{value:"2-5",label:"2–5"},{value:"6-15",label:"6–15"},{value:"15+",label:"15+"}],F=[{value:"",label:"Not sure / other"},{value:"Jest",label:"Jest"},{value:"Vitest",label:"Vitest"},{value:"pytest",label:"pytest"},{value:"RSpec",label:"RSpec"},{value:"Mocha",label:"Mocha"}],Q=[{value:"",label:"Not specified"},{value:"trunk-based",label:"Trunk-based"},{value:"gitflow",label:"Gitflow"},{value:"feature-branch",label:"Feature branches"}],O=["GitHub Actions","GitLab CI","CircleCI","Jenkins","Buildkite","Travis CI"],Z=["ESLint","Prettier","Biome","Stylelint","oxc","Rome"],G=["Vercel","AWS","GCP","Azure","Fly.io","Railway","Render","Docker","Kubernetes","Heroku"];function H({answers:e,onChange:s}){let n=(t,n)=>{s({...e,[t]:n})};return(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-2",children:"Team & Conventions"}),(0,t.jsx)("p",{className:"text-muted",children:"Help us tailor documentation to your team. All fields are optional."})]}),(0,t.jsxs)("div",{className:"space-y-5",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt mb-2",children:"Team Size"}),(0,t.jsx)("div",{className:"flex gap-2 flex-wrap",children:D.map(s=>(0,t.jsx)("button",{type:"button",onClick:()=>n("teamSize",e.teamSize===s.value?"":s.value),className:(0,d.cn)("px-4 py-2 rounded-lg border text-sm font-medium transition-all",e.teamSize===s.value?"border-accent bg-accent/10 text-accent":"border-border text-txt hover:border-accent/50"),children:s.label},s.value))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt mb-1.5",children:"Linting & Formatting"}),(0,t.jsx)("div",{className:"flex gap-2 flex-wrap mb-2",children:Z.map(s=>(0,t.jsx)("button",{type:"button",onClick:()=>{n("linting",e.linting.includes(s)?e.linting.filter(e=>e!==s):[...e.linting,s])},className:(0,d.cn)("px-3 py-1.5 rounded-md border text-sm transition-all",e.linting.includes(s)?"border-accent bg-accent/10 text-accent":"border-border text-txt hover:border-accent/50"),children:s},s))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt mb-1.5",children:"Test Framework"}),(0,t.jsx)("select",{value:e.testFramework,onChange:e=>n("testFramework",e.target.value),className:"w-full h-10 px-3 rounded-md border border-border bg-surface2 text-txt text-sm focus:outline-none focus:ring-2 focus:ring-accent/50",children:F.map(e=>(0,t.jsx)("option",{value:e.value,children:e.label},e.value))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt mb-1.5",children:"CI/CD"}),(0,t.jsx)("div",{className:"flex gap-2 flex-wrap mb-2",children:O.map(s=>(0,t.jsx)("button",{type:"button",onClick:()=>{n("ciCd",e.ciCd.includes(s)?e.ciCd.filter(e=>e!==s):[...e.ciCd,s])},className:(0,d.cn)("px-3 py-1.5 rounded-md border text-sm transition-all",e.ciCd.includes(s)?"border-accent bg-accent/10 text-accent":"border-border text-txt hover:border-accent/50"),children:s},s))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt mb-2",children:"Branch Strategy"}),(0,t.jsx)("div",{className:"flex gap-2 flex-wrap",children:Q.filter(e=>e.value).map(s=>(0,t.jsx)("button",{type:"button",onClick:()=>n("branchStrategy",e.branchStrategy===s.value?"":s.value),className:(0,d.cn)("px-4 py-2 rounded-lg border text-sm font-medium transition-all",e.branchStrategy===s.value?"border-accent bg-accent/10 text-accent":"border-border text-txt hover:border-accent/50"),children:s.label},s.value))})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{className:"block text-sm font-medium text-txt mb-1.5",children:"Deployment Target"}),(0,t.jsx)("div",{className:"flex gap-2 flex-wrap",children:G.map(s=>(0,t.jsx)("button",{type:"button",onClick:()=>{n("deploymentTarget",e.deploymentTarget.includes(s)?e.deploymentTarget.filter(e=>e!==s):[...e.deploymentTarget,s])},className:(0,d.cn)("px-3 py-1.5 rounded-md border text-sm transition-all",e.deploymentTarget.includes(s)?"border-accent bg-accent/10 text-accent":"border-border text-txt hover:border-accent/50"),children:s},s))})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("label",{className:"block text-sm font-medium text-txt mb-1.5",children:["Additional Conventions ",(0,t.jsx)("span",{className:"text-muted",children:"(optional)"})]}),(0,t.jsx)(I.Input,{value:e.conventions,onChange:e=>n("conventions",e.target.value),placeholder:"Conventional Commits, semantic versioning, etc.",className:"bg-surface2"})]})]})]})}let V=(0,r.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),K=(0,r.default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);var U=e.i(98822);function J({files:e,onWrite:n,isWriting:r,mode:i,onModeChange:a}){let[o,c]=(0,s.useState)(new Set),h=e.filter(e=>!e.skipped),u=e.filter(e=>e.skipped);return 0===e.length?(0,t.jsxs)("div",{className:"text-center py-12",children:[(0,t.jsx)(K,{className:"w-12 h-12 text-muted mx-auto mb-4"}),(0,t.jsx)("h3",{className:"text-lg font-medium text-txt mb-2",children:"No files generated"}),(0,t.jsx)("p",{className:"text-muted",children:"Something went wrong. Please go back and try again."})]}):(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-2",children:"Preview"}),(0,t.jsx)("p",{className:"text-muted",children:"Review the files that will be created."})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 bg-surface2 rounded-lg p-1",children:[(0,t.jsx)("button",{onClick:()=>a("quick"),className:(0,d.cn)("px-3 py-1 text-sm rounded-md transition-colors","quick"===i?"bg-surface text-txt shadow-sm":"text-muted hover:text-txt"),children:"Quick"}),(0,t.jsx)("button",{onClick:()=>a("ai"),className:(0,d.cn)("px-3 py-1 text-sm rounded-md transition-colors","ai"===i?"bg-surface text-txt shadow-sm":"text-muted hover:text-txt"),children:"AI"})]})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-muted uppercase tracking-wider",children:["Files to create (",h.length,")"]}),(0,t.jsx)("div",{className:"border border-border rounded-lg divide-y divide-border overflow-hidden",children:h.map(e=>{let s=o.has(e.path),n=e.path.endsWith(".md");return(0,t.jsxs)("div",{children:[(0,t.jsxs)("button",{onClick:()=>{var t;return t=e.path,void c(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"w-full flex items-center gap-3 p-3 hover:bg-surface2 transition-colors",children:[s?(0,t.jsx)(V,{className:"w-4 h-4 text-muted shrink-0"}):(0,t.jsx)(l.ChevronRight,{className:"w-4 h-4 text-muted shrink-0"}),(0,t.jsx)(p.FileText,{className:"w-4 h-4 text-accent shrink-0"}),(0,t.jsx)("span",{className:"text-sm font-mono text-txt",children:e.path})]}),s&&(0,t.jsx)("div",{className:"px-3 pb-3",children:n?(0,t.jsx)("div",{className:"prose prose-invert max-w-none p-3 bg-surface2 rounded-lg max-h-64 overflow-y-auto text-sm",children:(0,t.jsx)(U.MarkdownRenderer,{content:e.content.slice(0,3e3)})}):(0,t.jsxs)("pre",{className:"p-3 bg-surface2 rounded-lg text-xs text-muted overflow-x-auto max-h-64 overflow-y-auto",children:[e.content.slice(0,2e3),e.content.length>2e3&&"\n\n...(truncated)"]})})]},e.path)})})]}),u.length>0&&(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("h3",{className:"text-sm font-medium text-muted uppercase tracking-wider",children:["Skipped (",u.length,")"]}),(0,t.jsx)("div",{className:"bg-amber-500/10 border border-amber-500/30 rounded-lg p-3 space-y-1",children:u.map(e=>(0,t.jsxs)("div",{className:"flex items-center gap-2 text-sm",children:[(0,t.jsx)(K,{className:"w-4 h-4 text-amber-400 shrink-0"}),(0,t.jsx)("span",{className:"font-mono text-amber-400",children:e.path}),(0,t.jsxs)("span",{className:"text-amber-400/70",children:["— ",e.reason||"already exists"]})]},e.path))})]}),(0,t.jsxs)("div",{className:"text-sm text-muted",children:[h.length," file",1!==h.length?"s":""," will be created",u.length>0&&`, ${u.length} skipped`]})]})}let W=[{id:"welcome",title:"Welcome"},{id:"basic-info",title:"Basic Info"},{id:"templates",title:"Templates"},{id:"tech-stack",title:"Tech Stack"},{id:"team",title:"Team"},{id:"preview",title:"Preview"},{id:"complete",title:"Complete"}],X=W.length-1;function Y(){let{activeProject:e,rootParam:r,projects:h}=(0,n.useApp)(),p=h.find(t=>t.root===e),[u,x]=(0,s.useState)(0),[m,g]=(0,s.useState)([]),[b,f]=(0,s.useState)({projectName:"",projectType:"web-app",description:"",repoUrl:"",techStackTags:[],keyFeatures:"",teamSize:"",linting:[],testFramework:"",ciCd:[],branchStrategy:"",deploymentTarget:[],conventions:""}),[k,y]=(0,s.useState)("quick"),[w,v]=(0,s.useState)([]),[j,N]=(0,s.useState)(!1),[C,$]=(0,s.useState)([]);(0,s.useEffect)(()=>{!async function(){try{let e=await fetch(`/api/docs${r}`),t=(await e.json()).filter(e=>"CLAUDE.md"===e.path||"AGENTS.md"===e.path).map(e=>e.path);$(t)}catch{}}()},[r]);let z=async()=>{if(4===u){N(!0);try{let e=await fetch(`/api/setup/generate${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({templates:m,answers:b,mode:k})}),t=await e.json();v(t.files||[])}catch{v([])}N(!1)}x(e=>Math.min(e+1,X))},A=async()=>{N(!0);try{await fetch(`/api/setup/write${r}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:w})}),x(6)}catch{}N(!1)};return(0,t.jsxs)("div",{className:"min-h-screen bg-bg flex flex-col",children:[(0,t.jsx)("div",{className:"border-b border-border bg-surface",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto px-6 py-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,t.jsx)("h1",{className:"text-lg font-semibold text-txt",children:"Setup Wizard"}),(0,t.jsxs)("span",{className:"text-sm text-muted",children:["Step ",u+1," of ",W.length]})]}),(0,t.jsx)("div",{className:"flex gap-1",children:W.map((e,s)=>(0,t.jsx)("div",{className:(0,d.cn)("h-1 flex-1 rounded-full transition-colors",s<=u?"bg-accent":"bg-border")},e.id))}),(0,t.jsx)("div",{className:"flex gap-1 mt-1",children:W.map((e,s)=>(0,t.jsx)("div",{className:"flex-1 text-center",children:s===u&&(0,t.jsx)("span",{className:"text-xs text-accent",children:e.title})},e.id))})]})}),(0,t.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto px-6 py-8",children:[0===u&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"text-center space-y-4",children:[(0,t.jsx)("div",{className:"w-16 h-16 rounded-2xl bg-accent/10 flex items-center justify-center mx-auto",children:(0,t.jsx)(a,{className:"w-8 h-8 text-accent"})}),(0,t.jsx)("h2",{className:"text-2xl font-bold text-txt",children:"Welcome to VibeDoc"}),(0,t.jsx)("p",{className:"text-muted max-w-md mx-auto",children:"Let's set up your project documentation. You can generate AI-optimized docs like CLAUDE.md, architecture overviews, and more."})]}),p&&(0,t.jsxs)("div",{className:"bg-surface border border-border rounded-lg p-4",children:[(0,t.jsx)("div",{className:"text-sm text-muted mb-1",children:"Current Project"}),(0,t.jsx)("div",{className:"font-medium text-txt",children:p.name}),(0,t.jsx)("div",{className:"text-xs text-muted mt-1 font-mono",children:p.root})]}),C.length>0&&(0,t.jsxs)("div",{className:"bg-amber-500/10 border border-amber-500/30 rounded-lg p-4",children:[(0,t.jsx)("div",{className:"text-sm font-medium text-amber-400 mb-1",children:"Existing files detected"}),(0,t.jsxs)("div",{className:"text-sm text-amber-400/80",children:[C.join(", ")," already exist. They will be skipped during generation."]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-sm font-medium text-txt mb-3",children:"Quick Start with a Preset"}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-3",children:["nextjs-production","api-backend","minimal","ai-first"].map(e=>{let s=S.find(t=>t.id===e);return s?(0,t.jsxs)("button",{onClick:()=>{g(s.templateIds.map(e=>T.TEMPLATES.find(t=>t.id===e)).filter(e=>void 0!==e).map(e=>({id:e.id,name:e.name,path:e.defaultPath}))),x(1)},className:"p-3 rounded-lg border border-border hover:border-accent/50 text-left transition-all",children:[(0,t.jsx)("div",{className:"font-medium text-sm text-txt",children:s.name}),(0,t.jsx)("div",{className:"text-xs text-muted mt-1",children:s.description})]},e):null})})]})]}),1===u&&(0,t.jsx)(P,{answers:b,onChange:f}),2===u&&(0,t.jsx)(R,{selected:m,onChange:g,projectType:b.projectType}),3===u&&(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h2",{className:"text-xl font-semibold text-txt mb-2",children:"Tech Stack"}),(0,t.jsx)("p",{className:"text-muted",children:"Add the technologies your project uses. Search or type custom ones."})]}),(0,t.jsx)(B,{value:b.techStackTags,onChange:e=>f(t=>({...t,techStackTags:e}))}),b.techStackTags.length>0&&(0,t.jsxs)("p",{className:"text-sm text-muted",children:[b.techStackTags.length," technolog",1!==b.techStackTags.length?"ies":"y"," added"]})]}),4===u&&(0,t.jsx)(H,{answers:b,onChange:f}),5===u&&(0,t.jsx)(J,{files:w,onWrite:A,isWriting:j,mode:k,onModeChange:y}),6===u&&(0,t.jsxs)("div",{className:"text-center space-y-6",children:[(0,t.jsx)("div",{className:"w-16 h-16 rounded-full bg-green-500/10 flex items-center justify-center mx-auto",children:(0,t.jsx)(o.Check,{className:"w-8 h-8 text-green-500"})}),(0,t.jsx)("h2",{className:"text-2xl font-bold text-txt",children:"Setup Complete!"}),(0,t.jsx)("p",{className:"text-muted max-w-md mx-auto",children:"Your documentation files have been created. You can now view and edit them in the Docs tab."}),(0,t.jsxs)("div",{className:"bg-surface border border-border rounded-lg p-4 text-left max-w-md mx-auto",children:[(0,t.jsx)("div",{className:"text-sm font-medium text-txt mb-2",children:"Next steps:"}),(0,t.jsxs)("ul",{className:"text-sm text-muted space-y-2",children:[(0,t.jsx)("li",{children:"• Review generated files in the Docs tab"}),(0,t.jsx)("li",{children:"• Edit content to match your project specifics"}),(0,t.jsx)("li",{children:"• Connect your coding agent via MCP for AI assistance"})]})]}),(0,t.jsxs)("a",{href:"/docs",className:"inline-flex items-center gap-2 px-4 py-2 bg-accent text-white rounded-lg font-medium hover:bg-accent/90 transition-colors",children:["Go to Docs",(0,t.jsx)(l.ChevronRight,{className:"w-4 h-4"})]})]})]})}),u<X&&(0,t.jsx)("div",{className:"border-t border-border bg-surface",children:(0,t.jsxs)("div",{className:"max-w-3xl mx-auto px-6 py-4 flex items-center justify-between",children:[(0,t.jsxs)("button",{onClick:()=>{x(e=>Math.max(e-1,0))},disabled:0===u,className:(0,d.cn)("flex items-center gap-2 px-4 py-2 rounded-lg font-medium transition-colors",0===u?"text-muted cursor-not-allowed":"text-txt hover:bg-surface2"),children:[(0,t.jsx)(i,{className:"w-4 h-4"}),"Back"]}),5===u?(0,t.jsx)("button",{onClick:A,disabled:j||0===w.length,className:"flex items-center gap-2 px-4 py-2 bg-accent text-white rounded-lg font-medium hover:bg-accent/90 transition-colors disabled:opacity-50",children:j?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.Loader2,{className:"w-4 h-4 animate-spin"}),"Writing..."]}):(0,t.jsxs)(t.Fragment,{children:["Write Files",(0,t.jsx)(o.Check,{className:"w-4 h-4"})]})}):(0,t.jsx)("button",{onClick:z,disabled:!(()=>{switch(u){case 0:default:return!0;case 1:return""!==b.projectName.trim();case 2:return m.length>0}})()||j,className:"flex items-center gap-2 px-4 py-2 bg-accent text-white rounded-lg font-medium hover:bg-accent/90 transition-colors disabled:opacity-50",children:j?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.Loader2,{className:"w-4 h-4 animate-spin"}),"Generating..."]}):(0,t.jsxs)(t.Fragment,{children:[4===u?"Generate":"Next",(0,t.jsx)(l.ChevronRight,{className:"w-4 h-4"})]})})]})})]})}function ee(){return(0,t.jsx)(Y,{})}e.s(["default",()=>ee],94895)},4352,e=>{e.v(t=>Promise.all(["static/chunks/0352b3ee31ef4768.js","static/chunks/3d2df9cacb1964d0.js","static/chunks/bb2aa17541b130c8.js","static/chunks/f536c6a4d5d21cee.js","static/chunks/577b654cf1d60a78.js","static/chunks/e762848987aee22c.js","static/chunks/a05858143bd44bd5.js","static/chunks/1ef8bf79adc2568f.js"].map(t=>e.l(t))).then(()=>t(50619)))}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55280,(e,o,r)=>{o.exports=e.r(18435)},63371,43668,7284,75157,e=>{"use strict";var o=e.i(76809),r=e.i(65773),t=e.i(55280);let n={theme:"dark",accentColor:"blue",fontSize:"medium",editor:{autoSave:10,wordWrap:!0,lineNumbers:!0,previewMode:"split"},project:{autoRefresh:10,showHidden:!1},mcp:{endpoint:"http://localhost:3000/api/mcp"}};e.s(["DEFAULT_AGENTS",0,[{id:"code-assistant",name:"Code Assistant",icon:"🤖",description:"General-purpose coding help",skills:["code-review","test-writer"],prompt:"You are a helpful coding assistant. Help the user with their coding tasks.",active:!0},{id:"doc-bot",name:"Documentation Bot",icon:"📚",description:"Focused on docs and comments",skills:["doc-generator"],prompt:"You are a documentation specialist. Focus on creating and improving documentation.",active:!0}],"DEFAULT_SETTINGS",0,n,"DEFAULT_SKILLS",0,[{id:"code-review",name:"Code Review",description:"Analyzes code for quality, security, and performance issues",trigger:"/review",prompt:"You are an expert code reviewer. Analyze the provided code for:\n- Code quality and best practices\n- Security vulnerabilities\n- Performance issues\n- Maintainability concerns\n\nProvide actionable feedback.",tools:["vibedoc_read_doc","vibedoc_search_docs"],icon:"🔧"},{id:"doc-generator",name:"Documentation Generator",description:"Creates documentation from code and comments",trigger:"/docs",prompt:"You are a technical documentation writer. Generate clear, comprehensive documentation for the provided code or feature.",tools:["vibedoc_read_doc","vibedoc_write_doc"],icon:"📝"},{id:"test-writer",name:"Test Writer",description:"Generates unit tests for functions and components",trigger:"/test",prompt:"You are a testing expert. Write comprehensive unit tests for the provided code, covering edge cases and ensuring good test coverage.",tools:["vibedoc_read_doc","vibedoc_search_docs"],icon:"🧪"}]],43668);let s=(0,r.createContext)(null);function a(){let e=(0,r.useContext)(s);if(!e)throw Error("useApp must be used inside AppProvider");return e}function l({children:e}){let a=(0,t.useRouter)(),[l,i]=(0,r.useState)([]),[c,d]=(0,r.useState)(""),[m,p]=(0,r.useState)(null),[u,b]=(0,r.useState)(null),[f,g]=(0,r.useState)([]),[h,k]=(0,r.useState)(!0),[w,v]=(0,r.useState)(!1),[x,y]=(0,r.useState)(null),[z,j]=(0,r.useState)(n.editor),[S,C]=(0,r.useState)(0),_=(0,r.useRef)(null),A=c?`?root=${encodeURIComponent(c)}`:"",G=(0,r.useCallback)(async e=>{let o=e||c;if(!o)return;let r=`?root=${encodeURIComponent(o)}`;try{let[e,o,t]=await Promise.all([fetch(`/api/summary${r}`).then(e=>e.json()),fetch(`/api/tasks${r}`).then(e=>e.json()),fetch(`/api/activity${r}&limit=30`).then(e=>e.json())]);p(e),b(o.board),g(Array.isArray(t)?t:[])}catch{}k(!1)},[c]);(0,r.useEffect)(()=>{fetch("/api/projects").then(e=>e.json()).then(e=>{i(e),e.length>0?(d(e[0].root),G(e[0].root)):k(!1)}).catch(()=>k(!1))},[]),(0,r.useEffect)(()=>{if(!c)return;let e=new EventSource("/api/events");return _.current=e,e.onmessage=e=>{try{let o=JSON.parse(e.data);if("connected"===o.type)return;v(!0),setTimeout(()=>v(!1),2e3),["task_updated","decision_logged","memory_updated","session_start"].includes(o.type)&&G()}catch{}},()=>{e.close()}},[c,G]);let T=(0,r.useCallback)(async(e,o)=>{b(r=>{let t;if(!r)return r;let n=structuredClone(r);for(let r of Object.keys(n)){let s=n[r].findIndex(o=>o.id===e);-1!==s&&(t={...n[r][s],status:o},n[r]=n[r].filter(o=>o.id!==e))}return t&&n[o]&&(n[o]=[t,...n[o]]),n});try{await fetch(`/api/tasks${A}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({taskId:e,status:o,actor:"human"})}),G()}catch{G()}},[A,G]),$=(0,r.useCallback)(async e=>{let o=await fetch(`/api/docs${A}&read=${encodeURIComponent(e)}`);y(await o.json()),a.push("/docs")},[A,a]);return(0,o.jsx)(s.Provider,{value:{projects:l,activeProject:c,summary:m,board:u,activity:f,liveIndicator:w,loading:h,selectedDoc:x,setSelectedDoc:y,rootParam:A,onProjectChange:function(e){d(e),G(e)},refresh:G,moveTask:T,openDoc:$,editorSettings:z,setEditorSettings:j,autoRefreshSeconds:S,setAutoRefreshSeconds:C},children:e})}function i(){for(var e,o,r=0,t="",n=arguments.length;r<n;r++)(e=arguments[r])&&(o=function e(o){var r,t,n="";if("string"==typeof o||"number"==typeof o)n+=o;else if("object"==typeof o)if(Array.isArray(o)){var s=o.length;for(r=0;r<s;r++)o[r]&&(t=e(o[r]))&&(n&&(n+=" "),n+=t)}else for(t in o)o[t]&&(n&&(n+=" "),n+=t);return n}(e))&&(t&&(t+=" "),t+=o);return t}e.s(["AppProvider",()=>l,"useApp",()=>a],63371),e.s(["clsx",()=>i],7284);let c=(e=new Map,o=null,r)=>({nextPart:e,validators:o,classGroupId:r}),d=[],m=(e,o,r)=>{if(0==e.length-o)return r.classGroupId;let t=e[o],n=r.nextPart.get(t);if(n){let r=m(e,o+1,n);if(r)return r}let s=r.validators;if(null===s)return;let a=0===o?e.join("-"):e.slice(o).join("-"),l=s.length;for(let e=0;e<l;e++){let o=s[e];if(o.validator(a))return o.classGroupId}},p=(e,o)=>{let r=c();for(let t in e)u(e[t],r,t,o);return r},u=(e,o,r,t)=>{let n=e.length;for(let s=0;s<n;s++)b(e[s],o,r,t)},b=(e,o,r,t)=>{"string"==typeof e?f(e,o,r):"function"==typeof e?g(e,o,r,t):h(e,o,r,t)},f=(e,o,r)=>{(""===e?o:k(o,e)).classGroupId=r},g=(e,o,r,t)=>{w(e)?u(e(t),o,r,t):(null===o.validators&&(o.validators=[]),o.validators.push({classGroupId:r,validator:e}))},h=(e,o,r,t)=>{let n=Object.entries(e),s=n.length;for(let e=0;e<s;e++){let[s,a]=n[e];u(a,k(o,s),r,t)}},k=(e,o)=>{let r=e,t=o.split("-"),n=t.length;for(let e=0;e<n;e++){let o=t[e],n=r.nextPart.get(o);n||(n=c(),r.nextPart.set(o,n)),r=n}return r},w=e=>"isThemeGetter"in e&&!0===e.isThemeGetter,v=[],x=(e,o,r,t,n)=>({modifiers:e,hasImportantModifier:o,baseClassName:r,maybePostfixModifierPosition:t,isExternal:n}),y=/\s+/,z=e=>{let o;if("string"==typeof e)return e;let r="";for(let t=0;t<e.length;t++)e[t]&&(o=z(e[t]))&&(r&&(r+=" "),r+=o);return r},j=[],S=e=>{let o=o=>o[e]||j;return o.isThemeGetter=!0,o},C=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,_=/^\((?:(\w[\w-]*):)?(.+)\)$/i,A=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,G=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,T=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,$=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,I=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,N=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,O=e=>A.test(e),P=e=>!!e&&!Number.isNaN(Number(e)),E=e=>!!e&&Number.isInteger(Number(e)),R=e=>e.endsWith("%")&&P(e.slice(0,-1)),W=e=>G.test(e),M=()=>!0,U=e=>T.test(e)&&!$.test(e),D=()=>!1,F=e=>I.test(e),L=e=>N.test(e),Y=e=>!B(e)&&!ee(e),q=e=>ei(e,ep,D),B=e=>C.test(e),K=e=>ei(e,eu,U),H=e=>ei(e,eb,P),J=e=>ei(e,eg,M),Q=e=>ei(e,ef,D),V=e=>ei(e,ed,D),X=e=>ei(e,em,L),Z=e=>ei(e,eh,F),ee=e=>_.test(e),eo=e=>ec(e,eu),er=e=>ec(e,ef),et=e=>ec(e,ed),en=e=>ec(e,ep),es=e=>ec(e,em),ea=e=>ec(e,eh,!0),el=e=>ec(e,eg,!0),ei=(e,o,r)=>{let t=C.exec(e);return!!t&&(t[1]?o(t[1]):r(t[2]))},ec=(e,o,r=!1)=>{let t=_.exec(e);return!!t&&(t[1]?o(t[1]):r)},ed=e=>"position"===e||"percentage"===e,em=e=>"image"===e||"url"===e,ep=e=>"length"===e||"size"===e||"bg-size"===e,eu=e=>"length"===e,eb=e=>"number"===e,ef=e=>"family-name"===e,eg=e=>"number"===e||"weight"===e,eh=e=>"shadow"===e,ek=((e,...o)=>{let r,t,n,s,a=e=>{let o=t(e);if(o)return o;let s=((e,o)=>{let{parseClassName:r,getClassGroupId:t,getConflictingClassGroupIds:n,sortModifiers:s}=o,a=[],l=e.trim().split(y),i="";for(let e=l.length-1;e>=0;e-=1){let o=l[e],{isExternal:c,modifiers:d,hasImportantModifier:m,baseClassName:p,maybePostfixModifierPosition:u}=r(o);if(c){i=o+(i.length>0?" "+i:i);continue}let b=!!u,f=t(b?p.substring(0,u):p);if(!f){if(!b||!(f=t(p))){i=o+(i.length>0?" "+i:i);continue}b=!1}let g=0===d.length?"":1===d.length?d[0]:s(d).join(":"),h=m?g+"!":g,k=h+f;if(a.indexOf(k)>-1)continue;a.push(k);let w=n(f,b);for(let e=0;e<w.length;++e){let o=w[e];a.push(h+o)}i=o+(i.length>0?" "+i:i)}return i})(e,r);return n(e,s),s};return s=l=>{var i;let c;return t=(r={cache:(e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let o=0,r=Object.create(null),t=Object.create(null),n=(n,s)=>{r[n]=s,++o>e&&(o=0,t=r,r=Object.create(null))};return{get(e){let o=r[e];return void 0!==o?o:void 0!==(o=t[e])?(n(e,o),o):void 0},set(e,o){e in r?r[e]=o:n(e,o)}}})((i=o.reduce((e,o)=>o(e),e())).cacheSize),parseClassName:(e=>{let{prefix:o,experimentalParseClassName:r}=e,t=e=>{let o,r=[],t=0,n=0,s=0,a=e.length;for(let l=0;l<a;l++){let a=e[l];if(0===t&&0===n){if(":"===a){r.push(e.slice(s,l)),s=l+1;continue}if("/"===a){o=l;continue}}"["===a?t++:"]"===a?t--:"("===a?n++:")"===a&&n--}let l=0===r.length?e:e.slice(s),i=l,c=!1;return l.endsWith("!")?(i=l.slice(0,-1),c=!0):l.startsWith("!")&&(i=l.slice(1),c=!0),x(r,c,i,o&&o>s?o-s:void 0)};if(o){let e=o+":",r=t;t=o=>o.startsWith(e)?r(o.slice(e.length)):x(v,!1,o,void 0,!0)}if(r){let e=t;t=o=>r({className:o,parseClassName:e})}return t})(i),sortModifiers:(c=new Map,i.orderSensitiveModifiers.forEach((e,o)=>{c.set(e,1e6+o)}),e=>{let o=[],r=[];for(let t=0;t<e.length;t++){let n=e[t],s="["===n[0],a=c.has(n);s||a?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(n)):r.push(n)}return r.length>0&&(r.sort(),o.push(...r)),o}),...(e=>{let o=(e=>{let{theme:o,classGroups:r}=e;return p(r,o)})(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:t}=e;return{getClassGroupId:e=>{if(e.startsWith("[")&&e.endsWith("]")){var r;let o,t,n;return -1===(r=e).slice(1,-1).indexOf(":")?void 0:(t=(o=r.slice(1,-1)).indexOf(":"),(n=o.slice(0,t))?"arbitrary.."+n:void 0)}let t=e.split("-"),n=+(""===t[0]&&t.length>1);return m(t,n,o)},getConflictingClassGroupIds:(e,o)=>{if(o){let o=t[e],n=r[e];if(o){if(n){let e=Array(n.length+o.length);for(let o=0;o<n.length;o++)e[o]=n[o];for(let r=0;r<o.length;r++)e[n.length+r]=o[r];return e}return o}return n||d}return r[e]||d}}})(i)}).cache.get,n=r.cache.set,s=a,a(l)},(...e)=>s(((...e)=>{let o,r,t=0,n="";for(;t<e.length;)(o=e[t++])&&(r=z(o))&&(n&&(n+=" "),n+=r);return n})(...e))})(()=>{let e=S("color"),o=S("font"),r=S("text"),t=S("font-weight"),n=S("tracking"),s=S("leading"),a=S("breakpoint"),l=S("container"),i=S("spacing"),c=S("radius"),d=S("shadow"),m=S("inset-shadow"),p=S("text-shadow"),u=S("drop-shadow"),b=S("blur"),f=S("perspective"),g=S("aspect"),h=S("ease"),k=S("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],v=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],x=()=>[...v(),ee,B],y=()=>["auto","hidden","clip","visible","scroll"],z=()=>["auto","contain","none"],j=()=>[ee,B,i],C=()=>[O,"full","auto",...j()],_=()=>[E,"none","subgrid",ee,B],A=()=>["auto",{span:["full",E,ee,B]},E,ee,B],G=()=>[E,"auto",ee,B],T=()=>["auto","min","max","fr",ee,B],$=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],I=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...j()],U=()=>[O,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...j()],D=()=>[O,"screen","full","dvw","lvw","svw","min","max","fit",...j()],F=()=>[O,"screen","full","lh","dvh","lvh","svh","min","max","fit",...j()],L=()=>[e,ee,B],ei=()=>[...v(),et,V,{position:[ee,B]}],ec=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ed=()=>["auto","cover","contain",en,q,{size:[ee,B]}],em=()=>[R,eo,K],ep=()=>["","none","full",c,ee,B],eu=()=>["",P,eo,K],eb=()=>["solid","dashed","dotted","double"],ef=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eg=()=>[P,R,et,V],eh=()=>["","none",b,ee,B],ek=()=>["none",P,ee,B],ew=()=>["none",P,ee,B],ev=()=>[P,ee,B],ex=()=>[O,"full",...j()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[W],breakpoint:[W],color:[M],container:[W],"drop-shadow":[W],ease:["in","out","in-out"],font:[Y],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[W],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[W],shadow:[W],spacing:["px",P],text:[W],"text-shadow":[W],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",O,B,ee,g]}],container:["container"],columns:[{columns:[P,B,ee,l]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:x()}],overflow:[{overflow:y()}],"overflow-x":[{"overflow-x":y()}],"overflow-y":[{"overflow-y":y()}],overscroll:[{overscroll:z()}],"overscroll-x":[{"overscroll-x":z()}],"overscroll-y":[{"overscroll-y":z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{"inset-s":C(),start:C()}],end:[{"inset-e":C(),end:C()}],"inset-bs":[{"inset-bs":C()}],"inset-be":[{"inset-be":C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:["visible","invisible","collapse"],z:[{z:[E,"auto",ee,B]}],basis:[{basis:[O,"full","auto",l,...j()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[P,O,"auto","initial","none",B]}],grow:[{grow:["",P,ee,B]}],shrink:[{shrink:["",P,ee,B]}],order:[{order:[E,"first","last","none",ee,B]}],"grid-cols":[{"grid-cols":_()}],"col-start-end":[{col:A()}],"col-start":[{"col-start":G()}],"col-end":[{"col-end":G()}],"grid-rows":[{"grid-rows":_()}],"row-start-end":[{row:A()}],"row-start":[{"row-start":G()}],"row-end":[{"row-end":G()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":T()}],"auto-rows":[{"auto-rows":T()}],gap:[{gap:j()}],"gap-x":[{"gap-x":j()}],"gap-y":[{"gap-y":j()}],"justify-content":[{justify:[...$(),"normal"]}],"justify-items":[{"justify-items":[...I(),"normal"]}],"justify-self":[{"justify-self":["auto",...I()]}],"align-content":[{content:["normal",...$()]}],"align-items":[{items:[...I(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...I(),{baseline:["","last"]}]}],"place-content":[{"place-content":$()}],"place-items":[{"place-items":[...I(),"baseline"]}],"place-self":[{"place-self":["auto",...I()]}],p:[{p:j()}],px:[{px:j()}],py:[{py:j()}],ps:[{ps:j()}],pe:[{pe:j()}],pbs:[{pbs:j()}],pbe:[{pbe:j()}],pt:[{pt:j()}],pr:[{pr:j()}],pb:[{pb:j()}],pl:[{pl:j()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mbs:[{mbs:N()}],mbe:[{mbe:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":j()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":j()}],"space-y-reverse":["space-y-reverse"],size:[{size:U()}],"inline-size":[{inline:["auto",...D()]}],"min-inline-size":[{"min-inline":["auto",...D()]}],"max-inline-size":[{"max-inline":["none",...D()]}],"block-size":[{block:["auto",...F()]}],"min-block-size":[{"min-block":["auto",...F()]}],"max-block-size":[{"max-block":["none",...F()]}],w:[{w:[l,"screen",...U()]}],"min-w":[{"min-w":[l,"screen","none",...U()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[a]},...U()]}],h:[{h:["screen","lh",...U()]}],"min-h":[{"min-h":["screen","lh","none",...U()]}],"max-h":[{"max-h":["screen","lh",...U()]}],"font-size":[{text:["base",r,eo,K]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[t,el,J]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",R,B]}],"font-family":[{font:[er,Q,o]}],"font-features":[{"font-features":[B]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,ee,B]}],"line-clamp":[{"line-clamp":[P,"none",ee,H]}],leading:[{leading:[s,...j()]}],"list-image":[{"list-image":["none",ee,B]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ee,B]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:L()}],"text-color":[{text:L()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...eb(),"wavy"]}],"text-decoration-thickness":[{decoration:[P,"from-font","auto",ee,K]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[P,"auto",ee,B]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:j()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ee,B]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ee,B]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ei()}],"bg-repeat":[{bg:ec()}],"bg-size":[{bg:ed()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},E,ee,B],radial:["",ee,B],conic:[E,ee,B]},es,X]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:em()}],"gradient-via-pos":[{via:em()}],"gradient-to-pos":[{to:em()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:ep()}],"rounded-s":[{"rounded-s":ep()}],"rounded-e":[{"rounded-e":ep()}],"rounded-t":[{"rounded-t":ep()}],"rounded-r":[{"rounded-r":ep()}],"rounded-b":[{"rounded-b":ep()}],"rounded-l":[{"rounded-l":ep()}],"rounded-ss":[{"rounded-ss":ep()}],"rounded-se":[{"rounded-se":ep()}],"rounded-ee":[{"rounded-ee":ep()}],"rounded-es":[{"rounded-es":ep()}],"rounded-tl":[{"rounded-tl":ep()}],"rounded-tr":[{"rounded-tr":ep()}],"rounded-br":[{"rounded-br":ep()}],"rounded-bl":[{"rounded-bl":ep()}],"border-w":[{border:eu()}],"border-w-x":[{"border-x":eu()}],"border-w-y":[{"border-y":eu()}],"border-w-s":[{"border-s":eu()}],"border-w-e":[{"border-e":eu()}],"border-w-bs":[{"border-bs":eu()}],"border-w-be":[{"border-be":eu()}],"border-w-t":[{"border-t":eu()}],"border-w-r":[{"border-r":eu()}],"border-w-b":[{"border-b":eu()}],"border-w-l":[{"border-l":eu()}],"divide-x":[{"divide-x":eu()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":eu()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...eb(),"hidden","none"]}],"divide-style":[{divide:[...eb(),"hidden","none"]}],"border-color":[{border:L()}],"border-color-x":[{"border-x":L()}],"border-color-y":[{"border-y":L()}],"border-color-s":[{"border-s":L()}],"border-color-e":[{"border-e":L()}],"border-color-bs":[{"border-bs":L()}],"border-color-be":[{"border-be":L()}],"border-color-t":[{"border-t":L()}],"border-color-r":[{"border-r":L()}],"border-color-b":[{"border-b":L()}],"border-color-l":[{"border-l":L()}],"divide-color":[{divide:L()}],"outline-style":[{outline:[...eb(),"none","hidden"]}],"outline-offset":[{"outline-offset":[P,ee,B]}],"outline-w":[{outline:["",P,eo,K]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",d,ea,Z]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",m,ea,Z]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:eu()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:L()}],"ring-offset-w":[{"ring-offset":[P,K]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":eu()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",p,ea,Z]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[P,ee,B]}],"mix-blend":[{"mix-blend":[...ef(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ef()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[P]}],"mask-image-linear-from-pos":[{"mask-linear-from":eg()}],"mask-image-linear-to-pos":[{"mask-linear-to":eg()}],"mask-image-linear-from-color":[{"mask-linear-from":L()}],"mask-image-linear-to-color":[{"mask-linear-to":L()}],"mask-image-t-from-pos":[{"mask-t-from":eg()}],"mask-image-t-to-pos":[{"mask-t-to":eg()}],"mask-image-t-from-color":[{"mask-t-from":L()}],"mask-image-t-to-color":[{"mask-t-to":L()}],"mask-image-r-from-pos":[{"mask-r-from":eg()}],"mask-image-r-to-pos":[{"mask-r-to":eg()}],"mask-image-r-from-color":[{"mask-r-from":L()}],"mask-image-r-to-color":[{"mask-r-to":L()}],"mask-image-b-from-pos":[{"mask-b-from":eg()}],"mask-image-b-to-pos":[{"mask-b-to":eg()}],"mask-image-b-from-color":[{"mask-b-from":L()}],"mask-image-b-to-color":[{"mask-b-to":L()}],"mask-image-l-from-pos":[{"mask-l-from":eg()}],"mask-image-l-to-pos":[{"mask-l-to":eg()}],"mask-image-l-from-color":[{"mask-l-from":L()}],"mask-image-l-to-color":[{"mask-l-to":L()}],"mask-image-x-from-pos":[{"mask-x-from":eg()}],"mask-image-x-to-pos":[{"mask-x-to":eg()}],"mask-image-x-from-color":[{"mask-x-from":L()}],"mask-image-x-to-color":[{"mask-x-to":L()}],"mask-image-y-from-pos":[{"mask-y-from":eg()}],"mask-image-y-to-pos":[{"mask-y-to":eg()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[ee,B]}],"mask-image-radial-from-pos":[{"mask-radial-from":eg()}],"mask-image-radial-to-pos":[{"mask-radial-to":eg()}],"mask-image-radial-from-color":[{"mask-radial-from":L()}],"mask-image-radial-to-color":[{"mask-radial-to":L()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[P]}],"mask-image-conic-from-pos":[{"mask-conic-from":eg()}],"mask-image-conic-to-pos":[{"mask-conic-to":eg()}],"mask-image-conic-from-color":[{"mask-conic-from":L()}],"mask-image-conic-to-color":[{"mask-conic-to":L()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ei()}],"mask-repeat":[{mask:ec()}],"mask-size":[{mask:ed()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ee,B]}],filter:[{filter:["","none",ee,B]}],blur:[{blur:eh()}],brightness:[{brightness:[P,ee,B]}],contrast:[{contrast:[P,ee,B]}],"drop-shadow":[{"drop-shadow":["","none",u,ea,Z]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",P,ee,B]}],"hue-rotate":[{"hue-rotate":[P,ee,B]}],invert:[{invert:["",P,ee,B]}],saturate:[{saturate:[P,ee,B]}],sepia:[{sepia:["",P,ee,B]}],"backdrop-filter":[{"backdrop-filter":["","none",ee,B]}],"backdrop-blur":[{"backdrop-blur":eh()}],"backdrop-brightness":[{"backdrop-brightness":[P,ee,B]}],"backdrop-contrast":[{"backdrop-contrast":[P,ee,B]}],"backdrop-grayscale":[{"backdrop-grayscale":["",P,ee,B]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[P,ee,B]}],"backdrop-invert":[{"backdrop-invert":["",P,ee,B]}],"backdrop-opacity":[{"backdrop-opacity":[P,ee,B]}],"backdrop-saturate":[{"backdrop-saturate":[P,ee,B]}],"backdrop-sepia":[{"backdrop-sepia":["",P,ee,B]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":j()}],"border-spacing-x":[{"border-spacing-x":j()}],"border-spacing-y":[{"border-spacing-y":j()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ee,B]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[P,"initial",ee,B]}],ease:[{ease:["linear","initial",h,ee,B]}],delay:[{delay:[P,ee,B]}],animate:[{animate:["none",k,ee,B]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[f,ee,B]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:ek()}],"rotate-x":[{"rotate-x":ek()}],"rotate-y":[{"rotate-y":ek()}],"rotate-z":[{"rotate-z":ek()}],scale:[{scale:ew()}],"scale-x":[{"scale-x":ew()}],"scale-y":[{"scale-y":ew()}],"scale-z":[{"scale-z":ew()}],"scale-3d":["scale-3d"],skew:[{skew:ev()}],"skew-x":[{"skew-x":ev()}],"skew-y":[{"skew-y":ev()}],transform:[{transform:[ee,B,"","none","gpu","cpu"]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ex()}],"translate-x":[{"translate-x":ex()}],"translate-y":[{"translate-y":ex()}],"translate-z":[{"translate-z":ex()}],"translate-none":["translate-none"],accent:[{accent:L()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:L()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ee,B]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":j()}],"scroll-mx":[{"scroll-mx":j()}],"scroll-my":[{"scroll-my":j()}],"scroll-ms":[{"scroll-ms":j()}],"scroll-me":[{"scroll-me":j()}],"scroll-mbs":[{"scroll-mbs":j()}],"scroll-mbe":[{"scroll-mbe":j()}],"scroll-mt":[{"scroll-mt":j()}],"scroll-mr":[{"scroll-mr":j()}],"scroll-mb":[{"scroll-mb":j()}],"scroll-ml":[{"scroll-ml":j()}],"scroll-p":[{"scroll-p":j()}],"scroll-px":[{"scroll-px":j()}],"scroll-py":[{"scroll-py":j()}],"scroll-ps":[{"scroll-ps":j()}],"scroll-pe":[{"scroll-pe":j()}],"scroll-pbs":[{"scroll-pbs":j()}],"scroll-pbe":[{"scroll-pbe":j()}],"scroll-pt":[{"scroll-pt":j()}],"scroll-pr":[{"scroll-pr":j()}],"scroll-pb":[{"scroll-pb":j()}],"scroll-pl":[{"scroll-pl":j()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ee,B]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[P,eo,K,H]}],stroke:[{stroke:["none",...L()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function ew(...e){return ek(i(e))}e.s(["cn",()=>ew],75157)}]);