elanous 0.2.13 → 0.2.14

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 (445) hide show
  1. package/apps/pwa/out/404/index.html +1 -1
  2. package/apps/pwa/out/404.html +1 -1
  3. package/apps/pwa/out/_next/static/chunks/{7334.a6679d9168f37aa8.js → 1268.0840ff91e083fcbd.js} +1 -1
  4. package/apps/pwa/out/_next/static/chunks/1307-6e7e0377c1db0bdc.js +1 -0
  5. package/apps/pwa/out/_next/static/chunks/1826-5d279da64bbbc2de.js +1 -0
  6. package/apps/pwa/out/_next/static/chunks/{9656-c1540088f5859c80.js → 1844-9ec4b1d12f6e80eb.js} +1 -1
  7. package/apps/pwa/out/_next/static/chunks/1866-e7a6999f25548b30.js +1 -0
  8. package/apps/pwa/out/_next/static/chunks/{390.c373e31b3b9d0c41.js → 1948.15f356b15a625597.js} +2 -2
  9. package/apps/pwa/out/_next/static/chunks/211-9c9090c59e2c5907.js +1 -0
  10. package/apps/pwa/out/_next/static/chunks/2196-4700653d12a44b40.js +1 -0
  11. package/apps/pwa/out/_next/static/chunks/224-798346143007ff65.js +1 -0
  12. package/apps/pwa/out/_next/static/chunks/2699-63b73fa4d3bcf6ff.js +1 -0
  13. package/apps/pwa/out/_next/static/chunks/2957-96ffab3d521fb08f.js +1 -0
  14. package/apps/pwa/out/_next/static/chunks/311.e685738f92e6e2ec.js +1 -0
  15. package/apps/pwa/out/_next/static/chunks/3194-807b212fb8eae065.js +1 -0
  16. package/apps/pwa/out/_next/static/chunks/3324-d1d2979821dfa845.js +1 -0
  17. package/apps/pwa/out/_next/static/chunks/3558-bbb5ab553a0471d3.js +1 -0
  18. package/apps/pwa/out/_next/static/chunks/3916-3d02dd1fc257dd3c.js +1 -0
  19. package/apps/pwa/out/_next/static/chunks/4144-a0041c8dc3be57ac.js +1 -0
  20. package/apps/pwa/out/_next/static/chunks/4554-3565eea1f1495ba7.js +1 -0
  21. package/apps/pwa/out/_next/static/chunks/4562-071d8bac44a01069.js +1 -0
  22. package/apps/pwa/out/_next/static/chunks/{4685-c3c1c625b71accd1.js → 4614-21403aac730d4586.js} +1 -1
  23. package/apps/pwa/out/_next/static/chunks/{8039-df92e08fede5de8f.js → 4795-f372490b178583fc.js} +1 -1
  24. package/apps/pwa/out/_next/static/chunks/5135-44008fe8b1f2aa41.js +1 -0
  25. package/apps/pwa/out/_next/static/chunks/5233-bf28bd6bd7a32099.js +1 -0
  26. package/apps/pwa/out/_next/static/chunks/5360-be1f1d8f9fcc9755.js +1 -0
  27. package/apps/pwa/out/_next/static/chunks/5977-2df489622a52a33a.js +1 -0
  28. package/apps/pwa/out/_next/static/chunks/5994-ae92c0de046ab9ba.js +1 -0
  29. package/apps/pwa/out/_next/static/chunks/{1452.93700483b9d4fc61.js → 6110.1297d4093fdfbb0d.js} +1 -1
  30. package/apps/pwa/out/_next/static/chunks/6158.9c0449a9a8d0064b.js +2 -0
  31. package/apps/pwa/out/_next/static/chunks/6877-7c6208705c284124.js +1 -0
  32. package/apps/pwa/out/_next/static/chunks/726.83532d69452ee24b.js +1 -0
  33. package/apps/pwa/out/_next/static/chunks/7290-f09c928a06c52e2d.js +1 -0
  34. package/apps/pwa/out/_next/static/chunks/{1829-b453a1b22d3999bb.js → 7327-2d69fb321ba73389.js} +1 -1
  35. package/apps/pwa/out/_next/static/chunks/7395-164e238f471b5d7b.js +1 -0
  36. package/apps/pwa/out/_next/static/chunks/7787-02a1c0b04e25e811.js +1 -0
  37. package/apps/pwa/out/_next/static/chunks/8060-cc008cc6fedfa818.js +1 -0
  38. package/apps/pwa/out/_next/static/chunks/8085-d065d0393c1760f5.js +1 -0
  39. package/apps/pwa/out/_next/static/chunks/8682-7061dd4fa7bd62ed.js +1 -0
  40. package/apps/pwa/out/_next/static/chunks/8827-e2f5b09a8d37e83b.js +1 -0
  41. package/apps/pwa/out/_next/static/chunks/8868-10a3a4440fb0ccd8.js +25 -0
  42. package/apps/pwa/out/_next/static/chunks/{8421-1c4acfb1395a0edf.js → 8949-ecb4128a0858b911.js} +1 -1
  43. package/apps/pwa/out/_next/static/chunks/9070.067c106528ec1ae6.js +1 -0
  44. package/apps/pwa/out/_next/static/chunks/9103-7a3ae7f60af3b99f.js +1 -0
  45. package/apps/pwa/out/_next/static/chunks/{3869-3cd46526879f454c.js → 9247-29d889b809288e65.js} +1 -1
  46. package/apps/pwa/out/_next/static/chunks/935.4ddaa99fc1d1126c.js +1 -0
  47. package/apps/pwa/out/_next/static/chunks/{79f8be9e-957d68913b590b08.js → a9f2b54d-7865aba0f4d2ee49.js} +1 -1
  48. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-c1a96669158471ec.js +1 -0
  49. package/apps/pwa/out/_next/static/chunks/app/approvals/page-74383f890f075511.js +1 -0
  50. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-7b2b4f378354869a.js +1 -0
  51. package/apps/pwa/out/_next/static/chunks/app/board/page-c496bb16da85385f.js +1 -0
  52. package/apps/pwa/out/_next/static/chunks/app/botlab/{page-f14987d5850a31e0.js → page-1abfe3aec3be6bdc.js} +1 -1
  53. package/apps/pwa/out/_next/static/chunks/app/bots/page-1512d91c7491ed62.js +1 -0
  54. package/apps/pwa/out/_next/static/chunks/app/chat/page-a627db94ec6904a0.js +1 -0
  55. package/apps/pwa/out/_next/static/chunks/app/consult/page-fb260b9283dbf646.js +1 -0
  56. package/apps/pwa/out/_next/static/chunks/app/control/page-e6b84ab07d3567d5.js +1 -0
  57. package/apps/pwa/out/_next/static/chunks/app/design-check/page-61ec1d2e92bdd50a.js +1 -0
  58. package/apps/pwa/out/_next/static/chunks/app/editor/page-fed69f9759d248d0.js +1 -0
  59. package/apps/pwa/out/_next/static/chunks/app/exec/page-15374909d8f1aebd.js +1 -0
  60. package/apps/pwa/out/_next/static/chunks/app/field/page-012a742f81218b01.js +1 -0
  61. package/apps/pwa/out/_next/static/chunks/app/healthz/route-c1a96669158471ec.js +1 -0
  62. package/apps/pwa/out/_next/static/chunks/app/inside/page-fd7e200d4d83fbd7.js +1 -0
  63. package/apps/pwa/out/_next/static/chunks/app/intake/page-99effd9d893a43dc.js +1 -0
  64. package/apps/pwa/out/_next/static/chunks/app/layout-938de57ae0315e46.js +1 -0
  65. package/apps/pwa/out/_next/static/chunks/app/live/page-d47266766766d227.js +1 -0
  66. package/apps/pwa/out/_next/static/chunks/app/loops/page-160089123a40dd91.js +1 -0
  67. package/apps/pwa/out/_next/static/chunks/app/market/page-629e1ede482ec6eb.js +1 -0
  68. package/apps/pwa/out/_next/static/chunks/app/missions/[id]/{page-66c27608f651b866.js → page-2ce5471926761fdd.js} +1 -1
  69. package/apps/pwa/out/_next/static/chunks/app/morning/page-27e99b4e54a849d4.js +1 -0
  70. package/apps/pwa/out/_next/static/chunks/app/not-found-e995d30f6800b6bf.js +1 -0
  71. package/apps/pwa/out/_next/static/chunks/app/observatory/page-39f89c53038a51d4.js +1 -0
  72. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-32cde713be47cddb.js +1 -0
  73. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-e7e10cd3386222e5.js +1 -0
  74. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-5a753bb4ec0cc511.js +1 -0
  75. package/apps/pwa/out/_next/static/chunks/app/outputs/page-04250f0e2c0d03df.js +1 -0
  76. package/apps/pwa/out/_next/static/chunks/app/page-341480ed8e3c1ea8.js +1 -0
  77. package/apps/pwa/out/_next/static/chunks/app/reflection/page-e64caff084f7ce21.js +1 -0
  78. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-db07eaffba0df7e3.js +1 -0
  79. package/apps/pwa/out/_next/static/chunks/app/sessions/page-8ac8d71c2adf9c8a.js +1 -0
  80. package/apps/pwa/out/_next/static/chunks/app/settings/devices/{page-78b40a344ed22f24.js → page-e1e47d8d940aba3d.js} +1 -1
  81. package/apps/pwa/out/_next/static/chunks/app/settings/page-86f91034bd5cabe5.js +1 -0
  82. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-94dc383d3d54db1a.js +1 -0
  83. package/apps/pwa/out/_next/static/chunks/app/setup/layout-c1a96669158471ec.js +1 -0
  84. package/apps/pwa/out/_next/static/chunks/app/setup/page-b3759cc14da80908.js +1 -0
  85. package/apps/pwa/out/_next/static/chunks/app/share/page-ce4d8a1215ce53a3.js +1 -0
  86. package/apps/pwa/out/_next/static/chunks/app/showroom/page-58043db78ba519ae.js +1 -0
  87. package/apps/pwa/out/_next/static/chunks/app/tasks/page-357750dfb91bf960.js +1 -0
  88. package/apps/pwa/out/_next/static/chunks/app/term/{page-63d14a4d8fe1e1c1.js → page-274703bc41b71333.js} +1 -1
  89. package/apps/pwa/out/_next/static/chunks/app/today/page-194dce4a83143fce.js +1 -0
  90. package/apps/pwa/out/_next/static/chunks/app/trace/page-35bdeae2e2c17147.js +1 -0
  91. package/apps/pwa/out/_next/static/chunks/app/vault/page-3b7e821dc492bdfd.js +1 -0
  92. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-16bef3da05a900c3.js +1 -0
  93. package/apps/pwa/out/_next/static/chunks/app/workflows/page-f8da5dc6f3752276.js +1 -0
  94. package/apps/pwa/out/_next/static/chunks/app/workspace/page-2f810b18d89ecba6.js +1 -0
  95. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-134c1bc762aee62c.js +1 -0
  96. package/apps/pwa/out/_next/static/chunks/{5cd7e3a9-404fd6b8d0ecd44c.js → f6231284-45726550aba08fca.js} +1 -1
  97. package/apps/pwa/out/_next/static/chunks/{f48170cc-d05d28bf87a43bf4.js → f6b7c9ba.64a895b8b2fedbdc.js} +1 -1
  98. package/apps/pwa/out/_next/static/chunks/framework-5c169757551134ed.js +1 -0
  99. package/apps/pwa/out/_next/static/chunks/main-59fe95fed40c7a01.js +1 -0
  100. package/apps/pwa/out/_next/static/chunks/main-app-4ca74dbbee7057c6.js +1 -0
  101. package/apps/pwa/out/_next/static/chunks/pages/_app-13a0a886df4d97a1.js +1 -0
  102. package/apps/pwa/out/_next/static/chunks/pages/_error-6af8591cd3a3f038.js +1 -0
  103. package/apps/pwa/out/_next/static/chunks/webpack-539cde99554be20f.js +1 -0
  104. package/apps/pwa/out/_next/static/css/2e33713c444d5b39.css +1 -0
  105. package/apps/pwa/out/_next/static/x6mjI6vqOkVVu0jFuDkz1/_buildManifest.js +1 -0
  106. package/apps/pwa/out/approvals/index.html +1 -1
  107. package/apps/pwa/out/approvals/index.txt +23 -23
  108. package/apps/pwa/out/autopilot/index.html +1 -1
  109. package/apps/pwa/out/autopilot/index.txt +23 -23
  110. package/apps/pwa/out/board/index.html +1 -1
  111. package/apps/pwa/out/board/index.txt +23 -23
  112. package/apps/pwa/out/botlab/index.html +1 -1
  113. package/apps/pwa/out/botlab/index.txt +22 -22
  114. package/apps/pwa/out/bots/index.html +1 -1
  115. package/apps/pwa/out/bots/index.txt +22 -22
  116. package/apps/pwa/out/chat/index.html +1 -1
  117. package/apps/pwa/out/chat/index.txt +22 -22
  118. package/apps/pwa/out/consult/index.html +1 -1
  119. package/apps/pwa/out/consult/index.txt +23 -23
  120. package/apps/pwa/out/control/index.html +1 -1
  121. package/apps/pwa/out/control/index.txt +23 -23
  122. package/apps/pwa/out/design-check/index.html +1 -1
  123. package/apps/pwa/out/design-check/index.txt +23 -23
  124. package/apps/pwa/out/editor/index.html +1 -1
  125. package/apps/pwa/out/editor/index.txt +23 -23
  126. package/apps/pwa/out/exec/index.html +1 -1
  127. package/apps/pwa/out/exec/index.txt +23 -23
  128. package/apps/pwa/out/field/index.html +1 -1
  129. package/apps/pwa/out/field/index.txt +23 -23
  130. package/apps/pwa/out/healthz +1 -1
  131. package/apps/pwa/out/index.html +1 -1
  132. package/apps/pwa/out/index.txt +22 -22
  133. package/apps/pwa/out/inside/index.html +1 -1
  134. package/apps/pwa/out/inside/index.txt +22 -22
  135. package/apps/pwa/out/intake/index.html +1 -1
  136. package/apps/pwa/out/intake/index.txt +23 -23
  137. package/apps/pwa/out/live/index.html +1 -1
  138. package/apps/pwa/out/live/index.txt +23 -23
  139. package/apps/pwa/out/loops/index.html +1 -0
  140. package/apps/pwa/out/loops/index.txt +30 -0
  141. package/apps/pwa/out/market/index.html +1 -1
  142. package/apps/pwa/out/market/index.txt +22 -22
  143. package/apps/pwa/out/missions/placeholder/index.html +1 -1
  144. package/apps/pwa/out/missions/placeholder/index.txt +22 -22
  145. package/apps/pwa/out/morning/index.html +1 -1
  146. package/apps/pwa/out/morning/index.txt +23 -23
  147. package/apps/pwa/out/observatory/index.html +1 -1
  148. package/apps/pwa/out/observatory/index.txt +23 -23
  149. package/apps/pwa/out/ops/checklist/index.html +1 -1
  150. package/apps/pwa/out/ops/checklist/index.txt +22 -22
  151. package/apps/pwa/out/ops/release/index.html +1 -1
  152. package/apps/pwa/out/ops/release/index.txt +22 -22
  153. package/apps/pwa/out/ops/seats/index.html +1 -1
  154. package/apps/pwa/out/ops/seats/index.txt +22 -22
  155. package/apps/pwa/out/outputs/index.html +1 -1
  156. package/apps/pwa/out/outputs/index.txt +22 -22
  157. package/apps/pwa/out/reflection/index.html +1 -1
  158. package/apps/pwa/out/reflection/index.txt +23 -23
  159. package/apps/pwa/out/scheduler/index.html +1 -1
  160. package/apps/pwa/out/scheduler/index.txt +23 -23
  161. package/apps/pwa/out/sessions/index.html +1 -1
  162. package/apps/pwa/out/sessions/index.txt +22 -22
  163. package/apps/pwa/out/settings/devices/index.html +1 -1
  164. package/apps/pwa/out/settings/devices/index.txt +23 -23
  165. package/apps/pwa/out/settings/index.html +1 -1
  166. package/apps/pwa/out/settings/index.txt +23 -23
  167. package/apps/pwa/out/setup/done/index.html +1 -1
  168. package/apps/pwa/out/setup/done/index.txt +23 -23
  169. package/apps/pwa/out/setup/index.html +1 -1
  170. package/apps/pwa/out/setup/index.txt +23 -23
  171. package/apps/pwa/out/share/index.html +1 -1
  172. package/apps/pwa/out/share/index.txt +23 -23
  173. package/apps/pwa/out/showroom/index.html +1 -1
  174. package/apps/pwa/out/showroom/index.txt +22 -22
  175. package/apps/pwa/out/tasks/index.html +1 -1
  176. package/apps/pwa/out/tasks/index.txt +23 -23
  177. package/apps/pwa/out/term/index.html +1 -1
  178. package/apps/pwa/out/term/index.txt +23 -23
  179. package/apps/pwa/out/today/index.html +1 -1
  180. package/apps/pwa/out/today/index.txt +23 -23
  181. package/apps/pwa/out/trace/index.html +1 -1
  182. package/apps/pwa/out/trace/index.txt +23 -23
  183. package/apps/pwa/out/vault/index.html +1 -1
  184. package/apps/pwa/out/vault/index.txt +23 -23
  185. package/apps/pwa/out/workflows/chat-ui/index.html +1 -1
  186. package/apps/pwa/out/workflows/chat-ui/index.txt +23 -23
  187. package/apps/pwa/out/workflows/index.html +1 -1
  188. package/apps/pwa/out/workflows/index.txt +23 -23
  189. package/apps/pwa/out/workspace/index.html +1 -1
  190. package/apps/pwa/out/workspace/index.txt +23 -23
  191. package/apps/pwa/out/worktrees/index.html +1 -1
  192. package/apps/pwa/out/worktrees/index.txt +23 -23
  193. package/graphs/orchestrator/orchestrator.yaml +59 -0
  194. package/graphs/orchestrator/recipes.yaml +18 -0
  195. package/graphs/release/recipes.yaml +3 -0
  196. package/graphs/release/release-loop.yaml +4 -1
  197. package/graphs/rhythm/daily.yaml +38 -0
  198. package/graphs/rhythm/recipes.yaml +18 -0
  199. package/graphs/rhythm/weekly.yaml +39 -0
  200. package/graphs/video/recipes.yaml +3 -0
  201. package/graphs/video/youtube-summary.yaml +17 -0
  202. package/package.json +1 -1
  203. package/scripts/audit-test-state-writes.ts +72 -17
  204. package/scripts/brand/check.ts +186 -0
  205. package/scripts/coord-post.sh +11 -1
  206. package/scripts/docs-cli-check.ts +23 -6
  207. package/scripts/expose-rubric-check.ts +118 -0
  208. package/scripts/expose-rubric-suggest.ts +163 -0
  209. package/scripts/heal/run-role.ts +14 -0
  210. package/scripts/hq/standby-verify.ts +11 -7
  211. package/scripts/lessons/handbook-page.ts +85 -0
  212. package/scripts/release-loop/gate-node.ts +9 -0
  213. package/scripts/release-loop/publish-node.ts +14 -1
  214. package/scripts/release-loop/unattended-release.ts +23 -1
  215. package/scripts/release-loop/vault-note-node.ts +196 -0
  216. package/scripts/release-story/draft.ts +172 -0
  217. package/scripts/rhythm/daily.ts +383 -0
  218. package/scripts/rhythm/weekly.ts +294 -0
  219. package/scripts/skills/public-check.ts +169 -0
  220. package/scripts/test-deterministic.ts +4 -8
  221. package/scripts/test-diet/effectiveness.ts +195 -0
  222. package/scripts/test-diet/lib.ts +16 -8
  223. package/scripts/test-diet/node.ts +77 -9
  224. package/scripts/ux/demo-rehearsal.ts +2 -2
  225. package/scripts/ux/lib/rehearsal-verdict.ts +1 -0
  226. package/scripts/video/youtube-summary.ts +133 -0
  227. package/skills/diagram-master/SKILL.md +42 -49
  228. package/skills/diagram-master/references/pyproject.toml +4 -1
  229. package/skills/diagram-master/references/routing-guide.md +4 -2
  230. package/skills/grill-me/SKILL.md +1 -0
  231. package/skills/youtube-master/SKILL.md +13 -13
  232. package/skills/youtube-master/package-lock.json +0 -545
  233. package/skills/youtube-master/package.json +2 -5
  234. package/skills/youtube-master/scripts/main.ts +2 -2
  235. package/skills/youtube-master/scripts/transcribe-local.ts +1 -1
  236. package/skills/youtube-master/src/util.ts +30 -7
  237. package/src/agent-mission/driver.ts +3 -3
  238. package/src/autopilot/build/llm-conflict-merge.ts +45 -8
  239. package/src/autopilot/build/merge-intent.ts +53 -0
  240. package/src/chat/index.ts +2 -0
  241. package/src/claims/claims-ledger.ts +232 -0
  242. package/src/claims/claims-render.ts +157 -0
  243. package/src/cli/claims-cli.ts +94 -0
  244. package/src/cli/decisions-cli.ts +35 -3
  245. package/src/cli/docs-cli.ts +2 -0
  246. package/src/cli/flow-cli.ts +11 -0
  247. package/src/cli/freeze-cli.ts +45 -0
  248. package/src/cli/lesson-cli.ts +108 -0
  249. package/src/cli/logs-cli.ts +104 -2
  250. package/src/cli/logs-model-input.ts +131 -0
  251. package/src/cli/pr-cli.ts +29 -1
  252. package/src/cli/private-ledger-commands.ts +54 -4
  253. package/src/cli/pty-drive-verdict.ts +11 -2
  254. package/src/cli/release-cli.ts +144 -21
  255. package/src/cli/rfc-status.ts +91 -0
  256. package/src/connectors/linear.ts +5 -3
  257. package/src/context-bus/condense.ts +15 -20
  258. package/src/context-bus/context-now-public.ts +86 -0
  259. package/src/context-bus/context-now-surfaces.ts +55 -2
  260. package/src/context-bus/context-now.ts +4 -3
  261. package/src/context-bus/long-term-memory.ts +92 -11
  262. package/src/dashboard/index.ts +75 -22
  263. package/src/dashboard/slash-runtime/chat-persona.ts +66 -0
  264. package/src/dashboard/slash-runtime/dashboard-handlers.ts +99 -0
  265. package/src/dashboard/slash-runtime/loops-table.ts +77 -0
  266. package/src/decisions/decision-ledger.ts +40 -1
  267. package/src/discord/sprint21-runtime.ts +16 -0
  268. package/src/discord-self-message.ts +8 -0
  269. package/src/discord-slash-wire.ts +31 -2
  270. package/src/domains/outbound-alert.ts +1 -1
  271. package/src/elanous-config-dir.ts +29 -4
  272. package/src/execution-loop/launch-gate.ts +29 -14
  273. package/src/flow/cards.ts +239 -0
  274. package/src/graph-runner/graph-tick.ts +4 -0
  275. package/src/graph-runner/runner.ts +30 -5
  276. package/src/harness/harness-cli-command.ts +152 -27
  277. package/src/harness/harness-incidents.ts +43 -12
  278. package/src/harness/harness-pod-dispatch.ts +2 -0
  279. package/src/harness/harness-queue-child.ts +3 -3
  280. package/src/harness/harness-queue.ts +216 -28
  281. package/src/harness/helper-scan.ts +139 -0
  282. package/src/harness/model-input-observation.ts +37 -0
  283. package/src/hq/hq.ts +1 -1
  284. package/src/hq/promote.ts +301 -0
  285. package/src/index.ts +83 -21
  286. package/src/intake-plane/linear-wish.ts +39 -11
  287. package/src/intake-plane/wish-benchmark-ledger.ts +129 -0
  288. package/src/intake-plane/wish-card.ts +53 -2
  289. package/src/intake-plane/wish-folder.ts +5 -2
  290. package/src/intake-plane/wish-reply.ts +72 -0
  291. package/src/lessons/lesson-import.ts +106 -0
  292. package/src/lessons/lesson-ledger.ts +206 -0
  293. package/src/loops/activity.ts +203 -0
  294. package/src/loops/budget.ts +32 -0
  295. package/src/loops/checker.ts +5 -3
  296. package/src/loops/contract/examples/orchestrator.loop.yaml +1 -1
  297. package/src/loops/loop-cli.ts +36 -4
  298. package/src/loops/neighbors.ts +40 -0
  299. package/src/loops/observe.ts +10 -0
  300. package/src/loops/orchestrator/author-depth.ts +164 -0
  301. package/src/loops/orchestrator/author-input-check.ts +77 -0
  302. package/src/loops/orchestrator/author-ledger.ts +230 -0
  303. package/src/loops/orchestrator/finish-rate.ts +175 -0
  304. package/src/loops/orchestrator/overlap.ts +51 -12
  305. package/src/loops/orchestrator/resync-shadow.ts +227 -0
  306. package/src/loops/orchestrator/tick.ts +302 -0
  307. package/src/loops/orchestrator/traffic.ts +18 -3
  308. package/src/loops/registry.ts +454 -9
  309. package/src/loops/status-rows.ts +118 -0
  310. package/src/loops/verdict.ts +17 -5
  311. package/src/maturity/bot-slash-catalog.ts +66 -0
  312. package/src/maturity/feature-maturity.ts +7 -4
  313. package/src/nexus/api/dashboard.ts +6 -1
  314. package/src/nexus/api/http-server.ts +18 -2
  315. package/src/nexus/api/merge-approvals-gate.ts +1 -1
  316. package/src/nexus/api/schedules-read.ts +5 -1
  317. package/src/nexus/api/task-cards-api.ts +44 -5
  318. package/src/nexus/api/workflows.ts +2 -1
  319. package/src/release-loop/auto-start.ts +48 -0
  320. package/src/release-loop/checklist.ts +13 -4
  321. package/src/release-loop/feature-store.ts +28 -16
  322. package/src/release-loop/landing-freeze.ts +121 -0
  323. package/src/release-loop/placement.ts +242 -0
  324. package/src/release-loop/release-schedule.ts +3 -1
  325. package/src/seat-dispatch/ceo-commands.ts +2 -2
  326. package/src/seat-dispatch/seat-ask.ts +16 -3
  327. package/src/seat-dispatch/seat-questions.ts +58 -0
  328. package/src/seat-loop/seat-loop.ts +406 -31
  329. package/src/self-dev/dev-pipeline.ts +6 -2
  330. package/src/self-dev/draft-sweep.ts +76 -0
  331. package/src/self-dev/run-store.ts +73 -1
  332. package/src/self-dev/run-supervisor.ts +8 -0
  333. package/src/self-dev/self-orchestrate-runtime.ts +5 -1
  334. package/src/self-implement/budget-gate.ts +29 -0
  335. package/src/self-implement/expose-gate.ts +47 -0
  336. package/src/self-implement/frozen-merges.ts +294 -0
  337. package/src/self-implement/gate-cli.ts +10 -4
  338. package/src/self-implement/gate-scope.ts +46 -9
  339. package/src/self-implement/goal-archive.ts +222 -0
  340. package/src/self-implement/goal-lookup.ts +147 -0
  341. package/src/self-implement/heal-intake.ts +79 -0
  342. package/src/self-implement/host-regate.ts +25 -2
  343. package/src/self-implement/orchestrator.ts +114 -10
  344. package/src/self-implement/revert-guard.ts +62 -0
  345. package/src/self-implement/run-ledger.ts +1 -1
  346. package/src/self-implement/seams.ts +28 -8
  347. package/src/session/index.ts +2 -0
  348. package/src/task-cards/card-cli.ts +10 -2
  349. package/src/task-cards/card-store.ts +10 -6
  350. package/src/task-orchestrator/surfaces/pod-lease.ts +5 -2
  351. package/src/task-orchestrator/surfaces/pod-ledger-collect.ts +46 -6
  352. package/src/task-orchestrator/surfaces/self-implement-pod.ts +80 -16
  353. package/src/telegram-commands.ts +27 -3
  354. package/src/telegram-loops-command.ts +44 -0
  355. package/src/user-config.ts +120 -16
  356. package/src/version/packed-revision.json +1 -1
  357. package/src/workflow-runtime/storage.ts +31 -13
  358. package/apps/pwa/out/_next/static/D51l8jUBplJrIpWvENsDK/_buildManifest.js +0 -1
  359. package/apps/pwa/out/_next/static/chunks/1159-0c5ef8bc21cb6afb.js +0 -1
  360. package/apps/pwa/out/_next/static/chunks/1394-931c9827067b2276.js +0 -1
  361. package/apps/pwa/out/_next/static/chunks/2176-c379e3ebce874151.js +0 -1
  362. package/apps/pwa/out/_next/static/chunks/2426.8c6ee0c668d53def.js +0 -1
  363. package/apps/pwa/out/_next/static/chunks/3170-7ec60a56fa0e4728.js +0 -1
  364. package/apps/pwa/out/_next/static/chunks/3278-ae6ef084769f6195.js +0 -1
  365. package/apps/pwa/out/_next/static/chunks/3454-988a53dac60a1763.js +0 -1
  366. package/apps/pwa/out/_next/static/chunks/3638-aa80b4641ea439db.js +0 -1
  367. package/apps/pwa/out/_next/static/chunks/3735-fe3402553ac1c9c6.js +0 -1
  368. package/apps/pwa/out/_next/static/chunks/3992-fe5c06d6b31f8b25.js +0 -25
  369. package/apps/pwa/out/_next/static/chunks/4215-c9d91dd644ec1719.js +0 -1
  370. package/apps/pwa/out/_next/static/chunks/4508-5d0161d1e724d735.js +0 -1
  371. package/apps/pwa/out/_next/static/chunks/4733-623a79345b171e1c.js +0 -1
  372. package/apps/pwa/out/_next/static/chunks/4883.3bd969ea1d3aaaff.js +0 -2
  373. package/apps/pwa/out/_next/static/chunks/5250-c78ca295585bbf95.js +0 -1
  374. package/apps/pwa/out/_next/static/chunks/5532.6899a12958a89b72.js +0 -1
  375. package/apps/pwa/out/_next/static/chunks/5845-e6c003ce8d5fd36a.js +0 -1
  376. package/apps/pwa/out/_next/static/chunks/5978-b27004c677119115.js +0 -1
  377. package/apps/pwa/out/_next/static/chunks/6048-4c5c33579bc4ef78.js +0 -1
  378. package/apps/pwa/out/_next/static/chunks/6303-422dbf0f67c72aac.js +0 -1
  379. package/apps/pwa/out/_next/static/chunks/6511-ff8360be3d65aaa4.js +0 -1
  380. package/apps/pwa/out/_next/static/chunks/6588-ba380869b67c4fa7.js +0 -1
  381. package/apps/pwa/out/_next/static/chunks/6751-bb3595948b2e311b.js +0 -1
  382. package/apps/pwa/out/_next/static/chunks/7274-19b7279f18b47ab3.js +0 -1
  383. package/apps/pwa/out/_next/static/chunks/7551-a0e0707b79164ddd.js +0 -1
  384. package/apps/pwa/out/_next/static/chunks/7758-85c2b53f731da024.js +0 -1
  385. package/apps/pwa/out/_next/static/chunks/7777-79f845045aa1ed86.js +0 -1
  386. package/apps/pwa/out/_next/static/chunks/8025-cc24ee5d8f2fb6f8.js +0 -1
  387. package/apps/pwa/out/_next/static/chunks/8206-c6684dcde12be721.js +0 -1
  388. package/apps/pwa/out/_next/static/chunks/8605-9da4678f8a310d18.js +0 -1
  389. package/apps/pwa/out/_next/static/chunks/8725.bf46bb1395dd0fa2.js +0 -1
  390. package/apps/pwa/out/_next/static/chunks/8734-252d511cd276c0dc.js +0 -1
  391. package/apps/pwa/out/_next/static/chunks/8834-ca1cb09c1cb1a6bf.js +0 -1
  392. package/apps/pwa/out/_next/static/chunks/9269.d2a4795bc6812717.js +0 -1
  393. package/apps/pwa/out/_next/static/chunks/9538-2816b90923606459.js +0 -1
  394. package/apps/pwa/out/_next/static/chunks/9906-e7b8b5310a169dfe.js +0 -1
  395. package/apps/pwa/out/_next/static/chunks/app/_not-found/page-d16993889b125c42.js +0 -1
  396. package/apps/pwa/out/_next/static/chunks/app/approvals/page-e5b4e1b256f41076.js +0 -1
  397. package/apps/pwa/out/_next/static/chunks/app/autopilot/page-e49b9b76c565a0b1.js +0 -1
  398. package/apps/pwa/out/_next/static/chunks/app/board/page-b4f032c893b21cc9.js +0 -1
  399. package/apps/pwa/out/_next/static/chunks/app/bots/page-b433308aad13ceb6.js +0 -1
  400. package/apps/pwa/out/_next/static/chunks/app/chat/page-4c1dbb21861beab2.js +0 -1
  401. package/apps/pwa/out/_next/static/chunks/app/consult/page-c85b816e3b269dbb.js +0 -1
  402. package/apps/pwa/out/_next/static/chunks/app/control/page-f6bc66b919b2ea7d.js +0 -1
  403. package/apps/pwa/out/_next/static/chunks/app/design-check/page-60603c1e056c9b25.js +0 -1
  404. package/apps/pwa/out/_next/static/chunks/app/editor/page-a0ea8f5a2341ee6b.js +0 -1
  405. package/apps/pwa/out/_next/static/chunks/app/exec/page-45c5bf04b4a605e6.js +0 -1
  406. package/apps/pwa/out/_next/static/chunks/app/field/page-36c6c4183353ac9e.js +0 -1
  407. package/apps/pwa/out/_next/static/chunks/app/healthz/route-d16993889b125c42.js +0 -1
  408. package/apps/pwa/out/_next/static/chunks/app/inside/page-cb2eb0fd809980da.js +0 -1
  409. package/apps/pwa/out/_next/static/chunks/app/intake/page-31012264da8a341f.js +0 -1
  410. package/apps/pwa/out/_next/static/chunks/app/layout-50309aeb0bdd554a.js +0 -1
  411. package/apps/pwa/out/_next/static/chunks/app/live/page-bc00e964e855f4df.js +0 -1
  412. package/apps/pwa/out/_next/static/chunks/app/market/page-0696ee3fac9fe56c.js +0 -1
  413. package/apps/pwa/out/_next/static/chunks/app/morning/page-6ddd2109b7fc3a80.js +0 -1
  414. package/apps/pwa/out/_next/static/chunks/app/not-found-4e50b7298c1f69a5.js +0 -1
  415. package/apps/pwa/out/_next/static/chunks/app/observatory/page-7a2bf830038a2264.js +0 -1
  416. package/apps/pwa/out/_next/static/chunks/app/ops/checklist/page-1f327f18694fabca.js +0 -1
  417. package/apps/pwa/out/_next/static/chunks/app/ops/release/page-e5cef2fe6e4028df.js +0 -1
  418. package/apps/pwa/out/_next/static/chunks/app/ops/seats/page-cf596128d2b420ba.js +0 -1
  419. package/apps/pwa/out/_next/static/chunks/app/outputs/page-f672536f14f0969f.js +0 -1
  420. package/apps/pwa/out/_next/static/chunks/app/page-b52365662232db89.js +0 -1
  421. package/apps/pwa/out/_next/static/chunks/app/reflection/page-e7a6c80f288b1948.js +0 -1
  422. package/apps/pwa/out/_next/static/chunks/app/scheduler/page-29a709616df9b050.js +0 -1
  423. package/apps/pwa/out/_next/static/chunks/app/sessions/page-fee842d7c2151129.js +0 -1
  424. package/apps/pwa/out/_next/static/chunks/app/settings/page-75d199f448171014.js +0 -1
  425. package/apps/pwa/out/_next/static/chunks/app/setup/done/page-a011dd5b0bff29c5.js +0 -1
  426. package/apps/pwa/out/_next/static/chunks/app/setup/layout-d16993889b125c42.js +0 -1
  427. package/apps/pwa/out/_next/static/chunks/app/setup/page-d92e32d51ab5157e.js +0 -1
  428. package/apps/pwa/out/_next/static/chunks/app/share/page-5f21aed6932ef375.js +0 -1
  429. package/apps/pwa/out/_next/static/chunks/app/showroom/page-1e1a53946804debf.js +0 -1
  430. package/apps/pwa/out/_next/static/chunks/app/tasks/page-a1833cd43d832601.js +0 -1
  431. package/apps/pwa/out/_next/static/chunks/app/today/page-2a511d320f762e06.js +0 -1
  432. package/apps/pwa/out/_next/static/chunks/app/trace/page-1c3e03f88dac1e21.js +0 -1
  433. package/apps/pwa/out/_next/static/chunks/app/vault/page-c4d5289c2ea97a89.js +0 -1
  434. package/apps/pwa/out/_next/static/chunks/app/workflows/chat-ui/page-b91f8952deaeaf27.js +0 -1
  435. package/apps/pwa/out/_next/static/chunks/app/workflows/page-71b43a2588489987.js +0 -1
  436. package/apps/pwa/out/_next/static/chunks/app/workspace/page-2b256feed331546f.js +0 -1
  437. package/apps/pwa/out/_next/static/chunks/app/worktrees/page-505bb96d69a8622c.js +0 -1
  438. package/apps/pwa/out/_next/static/chunks/framework-172630e6aa5e2d7f.js +0 -1
  439. package/apps/pwa/out/_next/static/chunks/main-app-f0fe2d7477845181.js +0 -1
  440. package/apps/pwa/out/_next/static/chunks/main-fc98ac70b44eccb0.js +0 -1
  441. package/apps/pwa/out/_next/static/chunks/pages/_app-5bd7f10271f72413.js +0 -1
  442. package/apps/pwa/out/_next/static/chunks/pages/_error-97d0d85ea05fef9b.js +0 -1
  443. package/apps/pwa/out/_next/static/chunks/webpack-9e4d02d567b98240.js +0 -1
  444. package/apps/pwa/out/_next/static/css/128fb7fb670b2fbf.css +0 -1
  445. /package/apps/pwa/out/_next/static/{D51l8jUBplJrIpWvENsDK → x6mjI6vqOkVVu0jFuDkz1}/_ssgManifest.js +0 -0
@@ -3477,13 +3477,17 @@ export function resolveRoleModel(role: ModelRole, config: UserConfig = getUserCo
3477
3477
 
3478
3478
  export type OrchestratorSeat = 'OP' | 'TC' | 'MK' | 'UX';
3479
3479
  export interface OrchestratorLoopConfig {
3480
+ /** ORCH1 graph mode — shadow writes observations only; live appends delegations (default shadow). */
3481
+ mode: 'off' | 'shadow' | 'live';
3480
3482
  seatTrees: Partial<Record<OrchestratorSeat, string[]>>;
3481
3483
  seatCaps: Record<OrchestratorSeat, number>;
3484
+ /** Per-seat release gate; absent seats retain the spawn-budget default. */
3485
+ releaseGate?: Partial<Record<OrchestratorSeat, number>>;
3482
3486
  trafficMode: 'shadow' | 'live';
3483
3487
  }
3484
3488
 
3485
3489
  export const ORCHESTRATOR_DEFAULTS: OrchestratorLoopConfig = {
3486
- seatTrees: {}, seatCaps: { TC: 8, UX: 6, MK: 6, OP: 4 }, trafficMode: 'shadow',
3490
+ mode: 'shadow', seatTrees: {}, seatCaps: { TC: 8, UX: 6, MK: 6, OP: 4 }, trafficMode: 'shadow',
3487
3491
  };
3488
3492
 
3489
3493
  export function parseOrchestratorLoopConfig(raw: unknown): OrchestratorLoopConfig {
@@ -3492,25 +3496,34 @@ export function parseOrchestratorLoopConfig(raw: unknown): OrchestratorLoopConfi
3492
3496
  ? value.seatTrees as Record<string, unknown> : {};
3493
3497
  const rawCaps = value.seatCaps && typeof value.seatCaps === 'object' && !Array.isArray(value.seatCaps)
3494
3498
  ? value.seatCaps as Record<string, unknown> : {};
3499
+ const rawGate = value.releaseGate && typeof value.releaseGate === 'object' && !Array.isArray(value.releaseGate)
3500
+ ? value.releaseGate as Record<string, unknown> : {};
3495
3501
  const seatTrees: OrchestratorLoopConfig['seatTrees'] = {};
3496
3502
  const seatCaps = { ...ORCHESTRATOR_DEFAULTS.seatCaps };
3503
+ const releaseGate: NonNullable<OrchestratorLoopConfig['releaseGate']> = {};
3497
3504
  for (const seat of ['OP', 'TC', 'MK', 'UX'] as const) {
3498
3505
  if (Array.isArray(rawTrees[seat])) seatTrees[seat] = rawTrees[seat].filter((path): path is string => typeof path === 'string' && isAbsolute(path));
3499
3506
  const cap = rawCaps[seat];
3500
3507
  if (typeof cap === 'number' && Number.isSafeInteger(cap) && cap >= 0) seatCaps[seat] = cap;
3508
+ const gate = rawGate[seat];
3509
+ if (typeof gate === 'number' && Number.isSafeInteger(gate) && gate >= 0) releaseGate[seat] = gate;
3501
3510
  }
3502
- return { seatTrees, seatCaps, trafficMode: value.trafficMode === 'live' ? 'live' : 'shadow' };
3511
+ const mode = value.mode === 'off' || value.mode === 'live' ? value.mode : 'shadow';
3512
+ return { mode, seatTrees, seatCaps, ...(Object.keys(releaseGate).length ? { releaseGate } : {}),
3513
+ trafficMode: value.trafficMode === 'live' ? 'live' : 'shadow' };
3503
3514
  }
3504
3515
 
3505
3516
  export type StewardLoopMode = 'off' | 'shadow' | 'live' | 'rescue';
3506
3517
 
3507
- export type SeatLoopMode = 'off' | 'shadow' | 'on';
3518
+ export type SeatLoopMode = 'off' | 'shadow' | 'on' | 'live-safe';
3508
3519
 
3509
3520
  export interface PersonaLoopConfig { enabled: boolean }
3510
3521
 
3511
3522
  export interface SeatLoopConfig {
3512
- /** No seat actions by default; shadow observes without execution, on permits the seat loop to act. */
3523
+ /** Shadow observes by default; live-safe acts only through the shared rescue policy, while legacy on retains its behavior. */
3513
3524
  mode: SeatLoopMode;
3525
+ /** Validated loop-agent neighbor entries keyed by the observing seat. */
3526
+ neighbors?: Partial<Record<'OP' | 'TC' | 'MK' | 'UX', import('./loops/neighbors.js').Neighbor[]>>;
3514
3527
  /** Seat-to-seat and human questions default to shadow even when the checklist loop is on. */
3515
3528
  questions?: 'shadow' | 'on';
3516
3529
  seats?: string[];
@@ -3575,17 +3588,20 @@ export interface UserConfig {
3575
3588
  hq?: HqConfig;
3576
3589
  /** Root CLI help audience; absent or invalid means owner. */
3577
3590
  cli?: { helpRole?: 'owner' | 'contributor' | 'general' };
3591
+ /** Daemon public demonstration mode; absent means off. */
3592
+ nexus?: { demoMode?: boolean };
3578
3593
  /** Execution-phase HITL answer deadline; absent means 30 minutes. */
3579
3594
  hitl?: { executionDeadlineMinutes?: number };
3580
3595
  coo?: { linearProject?: string };
3581
- decisions?: { linearProjection: { enabled: boolean }; requireCrossCheck: boolean };
3596
+ decisions?: { linearProjection: { enabled: boolean }; requireCrossCheck: boolean;
3597
+ crossCheckNeighbor: Record<EventSeat, EventSeat>; crossCheckWaitMinutes: number };
3582
3598
  /** Per-seat goal and Pod limits; missing or invalid limits use seat-budget defaults. */
3583
3599
  org?: { budget?: Record<string, { dailyGoals?: number; concurrentPods?: number }> };
3584
- /** Steward and seat loops are parsed independently. An absent seat remains off. */
3585
- loops?: { orchestrator?: OrchestratorLoopConfig; steward?: { mode?: StewardLoopMode; linearTeam?: string; roles?: Record<string, { maxConcurrent?: number }>; budget?: number; tracks?: Record<string, string>; alertAfterFailures?: number; launch?: 'off' | 'shadow' | 'live'; maxParallel?: number; podPool?: string }; seat?: SeatLoopConfig; persona?: PersonaLoopConfig };
3600
+ /** Steward and seat loops are parsed independently. An absent seat defaults to shadow. */
3601
+ loops?: { owners?: Record<string, EventSeat>; defaultOwner?: EventSeat; orchestrator?: OrchestratorLoopConfig; steward?: { mode?: StewardLoopMode; linearTeam?: string; roles?: Record<string, { maxConcurrent?: number }>; budget?: number; tracks?: Record<string, string>; alertAfterFailures?: number; launch?: 'off' | 'shadow' | 'live'; maxParallel?: number; podPool?: string }; seat?: SeatLoopConfig; persona?: PersonaLoopConfig };
3586
3602
  /** 🔐 Pod 의 Grok API 키 과금은 명시 opt-in 만. 생략·잘못된 값은 false.
3587
3603
  * budgetGate 와 같은 `harness` 객체다 — 중복 선언이면 뒤 타입이 앞을 지운다. */
3588
- harness?: { pod?: { grokApiKeyOptIn: boolean }; budgetGate?: HarnessBudgetGateConfig; difficultyPlacement?: boolean; defaultRepo?: string; substrate?: 'local' | 'pod'; podPool?: string; worktreeAddTimeoutSec?: number; queue?: { seatCap?: Partial<Record<'OP' | 'TC' | 'MK' | 'UX', number>> } };
3604
+ harness?: { revertGuard?: { depth: number }; pod?: { grokApiKeyOptIn: boolean }; budgetGate?: HarnessBudgetGateConfig; exposeGate?: 'warn' | 'strict'; difficultyPlacement?: boolean; defaultRepo?: string; substrate?: 'local' | 'pod'; podPool?: string; worktreeAddTimeoutSec?: number; queue?: { seatCap?: Partial<Record<'OP' | 'TC' | 'MK' | 'UX', number>> } };
3589
3605
  /** ☸️ Pod 실행 칸 — `pool` = 기존 기본 풀(`컨텍스트[@ssh호스트][:상한][#k3d-레지스트리:포트]` 쉼표 · 앞이 우선). harness 실행은 인자·ELANOUS_POD_POOL·harness.podPool 다음으로 읽는다. */
3590
3606
  pod?: { pool?: string; /** 호스트 Git 미러 디렉터리 — Pod Job 에 읽기 전용으로 마운트한다. */ hostMirror?: string; /** 원격 그라운딩 엔드포인트(호스트 nexus · tailnet 주소) — Pod 가 토큰으로 «질의→인용»만 묻는다(P13). */ groundingUrl?: string; /** 읽기 전용 Pod lease 권장에 쓰는 계정별 동시 수. */ lease?: { perAccount?: number }; /** 실측 권고를 Pod 발사 기본값으로 쓸지 (기본 off). */ memory?: { adviseDefaults?: boolean } };
3591
3607
  skillRouter: SkillRouterConfig;
@@ -3913,8 +3929,9 @@ function defaultConfig(): UserConfig {
3913
3929
  return {
3914
3930
  cli: { helpRole: 'owner' },
3915
3931
  coo: { linearProject: '외부 행정·큰 일 (COO)' },
3916
- decisions: { linearProjection: { enabled: false }, requireCrossCheck: false },
3917
- loops: { orchestrator: parseOrchestratorLoopConfig(undefined), steward: { mode: 'shadow' }, seat: { mode: 'off', questions: 'shadow', seats: ['MK'], podPool: 'pool-node-b@node-b:8' }, persona: { enabled: false } },
3932
+ decisions: { linearProjection: { enabled: false }, requireCrossCheck: false,
3933
+ crossCheckNeighbor: { OP: 'TC', TC: 'OP', MK: 'OP', UX: 'OP' }, crossCheckWaitMinutes: 120 },
3934
+ loops: { owners: {}, defaultOwner: 'OP', orchestrator: parseOrchestratorLoopConfig(undefined), steward: { mode: 'shadow' }, seat: { mode: 'shadow', questions: 'shadow', seats: ['MK'], podPool: 'pool-node-b@node-b:8' }, persona: { enabled: false } },
3918
3935
  skillRouter: { ...SR_DEFAULTS },
3919
3936
  llm: { ...LLM_DEFAULTS },
3920
3937
  skills: skillsDefaults(),
@@ -3983,7 +4000,7 @@ function defaultConfig(): UserConfig {
3983
4000
  nativeStructure: { ...TOOLS_DEFAULTS.nativeStructure },
3984
4001
  selfImplement: { ...TOOLS_DEFAULTS.selfImplement },
3985
4002
  },
3986
- harness: { budgetGate: { ...DEFAULT_BUDGET_GATE }, difficultyPlacement: false },
4003
+ harness: { revertGuard: { depth: 50 }, budgetGate: { ...DEFAULT_BUDGET_GATE }, exposeGate: 'warn', difficultyPlacement: false },
3987
4004
  grounding: { sources: [] },
3988
4005
  raw: {},
3989
4006
  };
@@ -4394,20 +4411,95 @@ function parseStewardTracks(input: unknown): Record<string, string> | undefined
4394
4411
  return Object.keys(out).length ? out : undefined;
4395
4412
  }
4396
4413
 
4414
+ function parseDecisionsConfig(input: unknown): NonNullable<UserConfig['decisions']> {
4415
+ const defaults: Record<EventSeat, EventSeat> = { OP: 'TC', TC: 'OP', MK: 'OP', UX: 'OP' };
4416
+ const raw = input && typeof input === 'object' && !Array.isArray(input) ? input as Record<string, unknown> : {};
4417
+ const neighbors = { ...defaults };
4418
+ if (raw.crossCheckNeighbor !== undefined) {
4419
+ if (!raw.crossCheckNeighbor || typeof raw.crossCheckNeighbor !== 'object' || Array.isArray(raw.crossCheckNeighbor)) {
4420
+ warnUserConfigDrop('decisions.crossCheckNeighbor', '자리별 이웃 자리 객체가 아닙니다 — 기본값으로 진행합니다.');
4421
+ } else {
4422
+ const values = raw.crossCheckNeighbor as Record<string, unknown>;
4423
+ for (const seat of Object.keys(defaults) as EventSeat[]) {
4424
+ if (values[seat] === undefined) continue;
4425
+ const to = values[seat];
4426
+ if ((to === 'OP' || to === 'TC' || to === 'MK' || to === 'UX') && to !== seat) neighbors[seat] = to;
4427
+ else warnUserConfigDrop(`decisions.crossCheckNeighbor.${seat}`, '다른 자리가 아닙니다 — 기본값으로 진행합니다.');
4428
+ }
4429
+ for (const seat of Object.keys(values)) {
4430
+ if (!(seat in defaults)) warnUserConfigDrop(`decisions.crossCheckNeighbor.${seat}`, '알 수 없는 자리입니다 — 기본값으로 진행합니다.');
4431
+ }
4432
+ }
4433
+ }
4434
+ const wait = raw.crossCheckWaitMinutes;
4435
+ if (wait !== undefined && !(typeof wait === 'number' && Number.isSafeInteger(wait) && wait > 0)) {
4436
+ warnUserConfigDrop('decisions.crossCheckWaitMinutes', '양의 정수가 아닙니다 — 기본값 120으로 진행합니다.');
4437
+ }
4438
+ return { linearProjection: { enabled: (raw.linearProjection as { enabled?: unknown } | undefined)?.enabled === true },
4439
+ requireCrossCheck: raw.requireCrossCheck === true, crossCheckNeighbor: neighbors,
4440
+ crossCheckWaitMinutes: typeof wait === 'number' && Number.isSafeInteger(wait) && wait > 0 ? wait : 120 };
4441
+ }
4442
+
4443
+ function parseLoopOwners(input: unknown): { owners: Record<string, EventSeat>; defaultOwner: EventSeat } {
4444
+ const raw = input && typeof input === 'object' && !Array.isArray(input) ? input as Record<string, unknown> : {};
4445
+ const valid = (value: unknown): value is EventSeat => value === 'OP' || value === 'TC' || value === 'MK' || value === 'UX';
4446
+ const defaultOwner = valid(raw.defaultOwner) ? raw.defaultOwner : 'OP';
4447
+ if (raw.defaultOwner !== undefined && !valid(raw.defaultOwner)) warnUserConfigDrop('loops.defaultOwner', '잘못된 자리 — 기본 OP 로 진행');
4448
+ // Prototype-less: a loop titled «__proto__» (or «constructor») must keep its owner (review round 3).
4449
+ const owners: Record<string, EventSeat> = Object.create(null) as Record<string, EventSeat>;
4450
+ if (raw.owners !== undefined) {
4451
+ if (!raw.owners || typeof raw.owners !== 'object' || Array.isArray(raw.owners)) {
4452
+ warnUserConfigDrop('loops.owners', '객체가 아니다 — 기본 자리로 진행');
4453
+ } else {
4454
+ for (const [key, value] of Object.entries(raw.owners)) {
4455
+ if (key.trim() && valid(value)) owners[key] = value;
4456
+ else warnUserConfigDrop(`loops.owners.${key}`, `잘못된 자리 — 기본 ${defaultOwner} 로 진행`);
4457
+ }
4458
+ }
4459
+ }
4460
+ return { owners, defaultOwner };
4461
+ }
4462
+
4397
4463
  function parseSeatLoopsConfig(input: unknown): SeatLoopConfig {
4398
- const defaults: SeatLoopConfig = { mode: 'off', questions: 'shadow', seats: ['MK'], podPool: 'pool-node-b@node-b:8' };
4464
+ const defaults: SeatLoopConfig = { mode: 'shadow', questions: 'shadow', seats: ['MK'], podPool: 'pool-node-b@node-b:8' };
4399
4465
  if (!input || typeof input !== 'object' || Array.isArray(input)) return defaults;
4400
4466
  const seat = (input as Record<string, unknown>).seat;
4401
4467
  if (!seat || typeof seat !== 'object' || Array.isArray(seat)) return defaults;
4402
4468
  const values = seat as Record<string, unknown>;
4403
4469
  const mode = values.mode;
4404
4470
  return {
4405
- mode: mode === 'on' || mode === 'shadow' ? mode : 'off',
4471
+ mode: mode === 'on' || mode === 'shadow' || mode === 'live-safe' || mode === 'off' ? mode : 'shadow',
4406
4472
  questions: values.questions === 'on' ? 'on' : 'shadow',
4407
4473
  seats: Array.isArray(values.seats) && values.seats.length > 0
4408
4474
  && values.seats.every((value) => typeof value === 'string' && /^(?:MK|OP|TC|UX)$/.test(value))
4409
4475
  ? [...new Set(values.seats as string[])] : ['MK'],
4410
4476
  podPool: typeof values.podPool === 'string' && values.podPool.trim() ? values.podPool.trim() : defaults.podPool,
4477
+ ...(() => {
4478
+ const raw = values.neighbors;
4479
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw)) return {};
4480
+ const neighbors: NonNullable<SeatLoopConfig['neighbors']> = {};
4481
+ for (const [owner, entries] of Object.entries(raw)) {
4482
+ if (!/^(?:OP|TC|MK|UX)$/.test(owner) || !Array.isArray(entries)) continue;
4483
+ const valid = entries.filter((entry): entry is import('./loops/neighbors.js').Neighbor => {
4484
+ if (!entry || typeof entry !== 'object' || Array.isArray(entry)) return false;
4485
+ const value = entry as Record<string, unknown>;
4486
+ const heartbeat = value.heartbeat && typeof value.heartbeat === 'object' && !Array.isArray(value.heartbeat)
4487
+ ? value.heartbeat as Record<string, unknown> : undefined;
4488
+ const onAbsent = value.onAbsent && typeof value.onAbsent === 'object' && !Array.isArray(value.onAbsent)
4489
+ ? value.onAbsent as Record<string, unknown> : undefined;
4490
+ return typeof value.id === 'string' && /^(?:op|tc|mk|ux)-seat$/.test(value.id)
4491
+ && value.id !== `${owner.toLowerCase()}-seat`
4492
+ && Array.isArray(value.exchange) && value.exchange.length > 0
4493
+ && value.exchange.every((item) => typeof item === 'string' && ['status', 'request', 'decision', 'blocked'].includes(item))
4494
+ && !!heartbeat && Number.isSafeInteger(heartbeat.everyMinutes) && (heartbeat.everyMinutes as number) > 0
4495
+ && Number.isSafeInteger(heartbeat.missedTicks) && (heartbeat.missedTicks as number) > 0
4496
+ && !!onAbsent && typeof onAbsent.action === 'string' && ['delegate', 'defer', 'escalate'].includes(onAbsent.action)
4497
+ && typeof onAbsent.delegateTo === 'string' && onAbsent.delegateTo.trim().length > 0;
4498
+ });
4499
+ neighbors[owner as keyof typeof neighbors] = valid;
4500
+ }
4501
+ return { neighbors };
4502
+ })(),
4411
4503
  ...(typeof values.reportPr === 'number' && Number.isSafeInteger(values.reportPr) && values.reportPr > 0
4412
4504
  ? { reportPr: values.reportPr } : {}),
4413
4505
  ...(() => {
@@ -4598,7 +4690,10 @@ export function buildUserConfig(path: string = defaultPath()): UserConfig {
4598
4690
  };
4599
4691
  }
4600
4692
 
4693
+ const nexus = rawObj.nexus && typeof rawObj.nexus === 'object' && !Array.isArray(rawObj.nexus)
4694
+ ? rawObj.nexus as Record<string, unknown> : {};
4601
4695
  return {
4696
+ nexus: { demoMode: nexus.demoMode === true },
4602
4697
  ...(Object.keys(seatBudgets).length ? { org: { budget: seatBudgets } } : {}),
4603
4698
  pod: {
4604
4699
  ...(typeof legacyPod.pool === 'string' && legacyPod.pool.trim() ? { pool: legacyPod.pool.trim() } : {}),
@@ -4614,8 +4709,14 @@ export function buildUserConfig(path: string = defaultPath()): UserConfig {
4614
4709
  })() },
4615
4710
  },
4616
4711
  harness: {
4712
+ revertGuard: { depth: (() => {
4713
+ const value = harness.revertGuard && typeof harness.revertGuard === 'object' && !Array.isArray(harness.revertGuard)
4714
+ ? (harness.revertGuard as Record<string, unknown>).depth : undefined;
4715
+ return typeof value === 'number' && Number.isSafeInteger(value) && value > 0 ? value : 50;
4716
+ })() },
4617
4717
  pod: { grokApiKeyOptIn: harnessPod.grokApiKeyOptIn === true },
4618
4718
  difficultyPlacement: harness.difficultyPlacement === true,
4719
+ exposeGate: harness.exposeGate === 'strict' ? 'strict' : 'warn',
4619
4720
  queue: { seatCap: Object.fromEntries(Object.entries(
4620
4721
  harness.queue && typeof harness.queue === 'object' && !Array.isArray(harness.queue)
4621
4722
  && (harness.queue as Record<string, unknown>).seatCap && typeof (harness.queue as Record<string, unknown>).seatCap === 'object'
@@ -5270,9 +5371,8 @@ export function buildUserConfig(path: string = defaultPath()): UserConfig {
5270
5371
  cli: { helpRole: parseCliHelpRole(rawObj.cli) },
5271
5372
  coo: { linearProject: typeof (rawObj.coo as { linearProject?: unknown } | undefined)?.linearProject === 'string' && (rawObj.coo as { linearProject: string }).linearProject.trim()
5272
5373
  ? (rawObj.coo as { linearProject: string }).linearProject.trim() : '외부 행정·큰 일 (COO)' },
5273
- decisions: { linearProjection: { enabled: ((rawObj.decisions as { linearProjection?: { enabled?: unknown } } | undefined)?.linearProjection?.enabled === true) },
5274
- requireCrossCheck: (rawObj.decisions as { requireCrossCheck?: unknown } | undefined)?.requireCrossCheck === true },
5275
- loops: { ...(stewardLoops ?? {}), orchestrator: parseOrchestratorLoopConfig((rawObj.loops as { orchestrator?: unknown } | undefined)?.orchestrator), seat: parseSeatLoopsConfig(rawObj.loops),
5374
+ decisions: parseDecisionsConfig(rawObj.decisions),
5375
+ loops: { ...(stewardLoops ?? {}), ...parseLoopOwners(rawObj.loops), orchestrator: parseOrchestratorLoopConfig((rawObj.loops as { orchestrator?: unknown } | undefined)?.orchestrator), seat: parseSeatLoopsConfig(rawObj.loops),
5276
5376
  persona: { enabled: (rawObj.loops as { persona?: { enabled?: unknown } } | undefined)?.persona?.enabled === true } },
5277
5377
  events: parseEventsConfig(rawObj.events),
5278
5378
  // M1-1: sparse — undefined when the user hasn't set anything, so
@@ -5868,6 +5968,8 @@ export function saveUserConfig(
5868
5968
  ...rawHarness,
5869
5969
  pod: cfg.harness?.pod ?? rawHarness.pod,
5870
5970
  budgetGate: cfg.harness?.budgetGate ?? rawHarness.budgetGate,
5971
+ exposeGate: cfg.harness?.exposeGate ?? rawHarness.exposeGate,
5972
+ revertGuard: cfg.harness?.revertGuard ?? rawHarness.revertGuard,
5871
5973
  difficultyPlacement: cfg.harness?.difficultyPlacement ?? rawHarness.difficultyPlacement,
5872
5974
  defaultRepo: cfg.harness?.defaultRepo ?? rawHarness.defaultRepo,
5873
5975
  substrate: cfg.harness?.substrate,
@@ -5877,6 +5979,7 @@ export function saveUserConfig(
5877
5979
  ...rawRest,
5878
5980
  ...(cfg.loops ? { loops: {
5879
5981
  ...rawLoops,
5982
+ owners: cfg.loops.owners ?? {}, defaultOwner: cfg.loops.defaultOwner ?? 'OP',
5880
5983
  ...(cfg.loops.steward ? { steward: { ...rawSteward, mode: cfg.loops.steward.mode ?? cfg.loops.steward.launch ?? 'shadow' } } : {}),
5881
5984
  ...(cfg.loops.orchestrator ? { orchestrator: cfg.loops.orchestrator } : {}),
5882
5985
  ...(cfg.loops.seat ? { seat: {
@@ -5884,6 +5987,7 @@ export function saveUserConfig(
5884
5987
  questions: cfg.loops.seat.questions ?? 'shadow',
5885
5988
  seats: cfg.loops.seat.seats ?? ['MK'],
5886
5989
  podPool: cfg.loops.seat.podPool ?? 'pool-node-b@node-b:8',
5990
+ ...(cfg.loops.seat.neighbors ? { neighbors: cfg.loops.seat.neighbors } : {}),
5887
5991
  ...(cfg.loops.seat.reportPr === undefined ? {} : { reportPr: cfg.loops.seat.reportPr }),
5888
5992
  } } : {}),
5889
5993
  } } : {}),
@@ -1 +1 @@
1
- {"commit":"5116219907580581e7bb40b93018d155deafa5c2"}
1
+ {"commit":"855920facfd9b702ac0c47f96011b2fd67dc0f30"}
@@ -13,6 +13,7 @@ import {
13
13
  writeFileSync,
14
14
  } from 'fs';
15
15
  import { join } from 'path';
16
+ import { parseDocument } from 'yaml';
16
17
  import {
17
18
  getGlobalWorkflowDir,
18
19
  getProjectWorkflowDir,
@@ -35,6 +36,17 @@ export interface SaveResult {
35
36
  /** When `ok=false`. */
36
37
  validation?: ValidationResult;
37
38
  error?: string;
39
+ readonly?: boolean;
40
+ }
41
+
42
+ /** Read the target file rather than the incoming body: PUT cannot clear its own lock. */
43
+ function fileIsReadonly(filePath: string): boolean {
44
+ try {
45
+ const doc = parseDocument(readFileSync(filePath, 'utf-8'));
46
+ return doc.errors.length === 0 && doc.get('readonly') === true;
47
+ } catch {
48
+ return false;
49
+ }
38
50
  }
39
51
 
40
52
  /** Write YAML to disk after validation. Creates the dir if missing. */
@@ -43,18 +55,6 @@ export function saveWorkflow(
43
55
  yamlText: string,
44
56
  opts: SaveOpts,
45
57
  ): SaveResult {
46
- const validation = parseWorkflowYaml(yamlText);
47
- if (!validation.ok || !validation.workflow) {
48
- return { ok: false, validation };
49
- }
50
- if (validation.workflow.name !== name) {
51
- return {
52
- ok: false,
53
- error: `name mismatch: YAML declares '${validation.workflow.name}', requested '${name}'`,
54
- validation,
55
- };
56
- }
57
-
58
58
  const dir =
59
59
  opts.scope === 'project'
60
60
  ? getProjectWorkflowDir(opts.cwd ?? process.cwd())
@@ -68,6 +68,20 @@ export function saveWorkflow(
68
68
  };
69
69
  }
70
70
  const filePath = join(dir, `${name}.yaml`);
71
+ if (fileIsReadonly(filePath) || fileIsReadonly(join(dir, `${name}.yml`))) {
72
+ return { ok: false, error: 'readonly workflow cannot be overwritten', readonly: true };
73
+ }
74
+ const validation = parseWorkflowYaml(yamlText);
75
+ if (!validation.ok || !validation.workflow) {
76
+ return { ok: false, validation };
77
+ }
78
+ if (validation.workflow.name !== name) {
79
+ return {
80
+ ok: false,
81
+ error: `name mismatch: YAML declares '${validation.workflow.name}', requested '${name}'`,
82
+ validation,
83
+ };
84
+ }
71
85
  if (existsSync(filePath)) {
72
86
  try {
73
87
  copyFileSync(filePath, `${filePath}.bak`);
@@ -90,6 +104,7 @@ export interface DeleteResult {
90
104
  ok: boolean;
91
105
  path?: string;
92
106
  error?: string;
107
+ readonly?: boolean;
93
108
  }
94
109
 
95
110
  /** Delete a user-written workflow. Refuses built-in scope. */
@@ -102,9 +117,12 @@ export function deleteWorkflow(
102
117
  ? getProjectWorkflowDir(opts.cwd ?? process.cwd())
103
118
  : getGlobalWorkflowDir();
104
119
  const filePath = join(dir, `${name}.yaml`);
120
+ const ymlPath = join(dir, `${name}.yml`);
121
+ if (fileIsReadonly(filePath) || fileIsReadonly(ymlPath)) {
122
+ return { ok: false, error: 'readonly workflow cannot be deleted', readonly: true };
123
+ }
105
124
  if (!existsSync(filePath)) {
106
125
  // Try .yml fallback before declaring missing
107
- const ymlPath = join(dir, `${name}.yml`);
108
126
  if (existsSync(ymlPath)) {
109
127
  try {
110
128
  unlinkSync(ymlPath);
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:43,errorRate:1e-4,numBits:825,numHashes:14,bitArray:[1,0,1,e,e,e,e,e,e,0,r,r,r,e,e,e,e,e,r,e,r,r,e,e,r,r,e,r,e,r,r,r,r,r,e,r,r,e,r,e,r,r,e,r,e,r,r,r,r,e,r,e,e,r,e,e,e,r,e,r,e,e,r,e,r,r,r,e,r,e,r,e,e,r,e,e,e,r,e,e,e,r,r,e,e,e,e,e,r,e,r,r,e,e,e,e,r,r,e,r,r,r,r,r,e,r,r,r,r,e,r,e,e,e,e,r,r,r,r,r,r,e,r,r,r,r,e,r,r,e,e,r,r,e,r,e,e,e,r,e,e,r,r,e,r,e,e,e,e,r,e,e,e,r,r,e,r,r,e,r,r,e,r,r,e,r,e,r,e,e,r,e,r,e,r,r,e,r,e,r,r,e,r,r,e,e,e,e,e,r,r,r,r,r,e,e,r,e,e,r,e,e,e,e,e,e,e,e,r,r,r,e,e,r,r,e,e,r,e,e,r,r,e,r,e,e,r,e,r,e,r,e,r,r,r,e,r,e,r,r,r,r,r,r,r,e,e,e,e,r,r,e,r,e,e,e,r,e,e,r,r,e,e,r,r,e,e,e,e,e,r,e,e,e,e,e,r,e,r,e,r,e,r,r,r,e,r,r,r,r,r,e,e,r,e,e,e,r,r,e,r,e,r,r,e,e,r,r,e,e,e,e,e,r,e,e,e,r,e,r,r,r,r,e,r,e,e,r,r,e,e,e,r,e,r,r,e,r,e,e,r,e,e,r,r,r,r,r,e,e,e,e,r,e,e,r,e,e,r,e,e,r,r,r,r,r,r,e,r,r,e,r,r,e,e,e,r,r,e,e,e,r,e,r,r,e,e,e,r,e,e,e,e,r,e,e,e,r,e,e,r,r,r,e,e,e,r,r,r,e,e,e,r,e,e,r,r,r,e,r,e,r,r,e,r,r,r,e,e,r,r,r,e,r,e,e,e,e,e,e,e,r,r,r,r,r,r,e,r,r,r,e,r,r,e,r,r,r,e,e,r,r,e,r,r,r,e,r,r,r,r,r,e,e,r,e,e,r,e,r,r,e,e,e,e,r,r,e,e,e,r,e,r,e,r,e,r,e,e,r,r,e,e,e,r,r,r,e,e,e,e,r,r,e,e,r,e,e,r,r,e,r,e,r,r,e,e,r,e,r,e,e,r,r,e,r,e,r,e,r,r,e,e,r,r,r,r,r,e,r,e,r,e,r,e,e,r,e,r,e,e,e,e,r,e,e,e,e,e,e,e,e,e,e,r,r,r,e,e,r,r,e,e,e,e,e,r,r,r,r,e,e,e,r,r,e,r,e,r,r,r,e,r,e,r,r,e,r,r,e,r,e,r,r,e,e,e,e,e,r,e,r,e,r,e,e,r,e,e,r,r,r,r,e,r,r,e,r,r,e,r,r,e,r,e,e,r,e,r,r,e,r,r,e,r,e,r,r,r,e,r,r,r,e,e,e,e,e,r,r,r,r,e,r,e,e,e,e,e,e,e,e,r,e,r,e,r,r,r,r,r,r,r,e,r,e,e,e,r,e,r,r,r,r,r,r,r,r,e,r,e,e,r,e,r,r,r,r,e,r,e,r,e,e,e,r,r,e,e,r,r,r,r,r,e,r,e,e,e,e,e,r,r,e,e,r,r,r,e,r,e,r,r,r,r,e,e,e,r,r,e,r,r,e,e,e,e,e,e,r,e,r,e,r,e,e,e,e,r,r,e,r,e,e,e,r,e,r,r,e,e,e,e,r,r,e,r,r,e,r,e,r,e,e,r,r,e,r,r,r,e,r,r,e,r,e,e,e,e,e,r,r,e,r,e]},__routerFilterDynamic:{numItems:e,errorRate:1e-4,numBits:20,numHashes:14,bitArray:[e,r,r,r,e,e,e,r,r,e,e,r,r,e,e,r,e,r,r,r]},"/_error":["static/chunks/pages/_error-97d0d85ea05fef9b.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1159],{1109:(e,t,n)=>{var r=n(60500),o=n(32899),l="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=o.useSyncExternalStore,a=r.useRef,u=r.useEffect,s=r.useMemo,c=r.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,o){var d=a(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var p=i(e,(d=s(function(){function e(e){if(!u){if(u=!0,i=e,e=r(e),void 0!==o&&f.hasValue){var t=f.value;if(o(t,e))return a=t}return a=e}if(t=a,l(i,e))return t;var n=r(e);return void 0!==o&&o(t,n)?(i=e,t):(i=e,a=n)}var i,a,u=!1,s=void 0===n?null:n;return[function(){return e(t())},null===s?void 0:function(){return e(s())}]},[t,n,r,o]))[0],d[1]);return u(function(){f.hasValue=!0,f.value=p},[p]),c(p),p}},1114:(e,t,n)=>{n.d(t,{E:()=>l,Z:()=>i});var r=n(93502),o=n(13291);class l{static create(){return new l}start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=0,t()},e)}isStarted(){return 0!==this.currentId}constructor(){this.currentId=0,this.clear=()=>{0!==this.currentId&&(clearTimeout(this.currentId),this.currentId=0)},this.disposeEffect=()=>this.clear}}function i(){let e=(0,r.j)(l.create).current;return(0,o.y)(e.disposeEffect),e}},3389:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},4136:(e,t,n)=>{n.d(t,{a:()=>l,p:()=>i});var r=n(97102),o=n(60500);let l=o.createContext(void 0);function i(){let e=o.useContext(l);if(void 0===e)throw Error((0,r.A)(53));return e}},6633:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("message-square-plus",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M12 8v6",key:"1ib9pf"}],["path",{d:"M9 11h6",key:"1fldmi"}]])},6838:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("file-plus-corner",[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]])},6935:(e,t,n)=>{n.d(t,{BT:()=>i,Ed:()=>r,WS:()=>l,XA:()=>o});let r="data-base-ui-focusable",o="active",l="selected",i="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])"},8286:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]])},8729:(e,t,n)=>{n.d(t,{v:()=>s});var r=n(60500),o=n(84503),l=n(51989),i=n(89748),a=n(85733),u=n(86175);function s(e){let{enabled:t=!0,open:n,ref:s,onComplete:c}=e,d=(0,o.K)(c),f=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=(0,i.N)();return(0,o.K)(function(o){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;r.cancel();let s=(0,a.q)(e);if(null==s)return;let c=()=>{l.flushSync(o)};if("function"!=typeof s.getAnimations||globalThis.BASE_UI_ANIMATIONS_DISABLED)return void o();function d(){Promise.all(s.getAnimations().map(e=>e.finished)).then(()=>{(null==i?void 0:i.aborted)||c()}).catch(()=>{if(n){(null==i?void 0:i.aborted)||c();return}let e=s.getAnimations();!(null==i?void 0:i.aborted)&&e.length>0&&e.some(e=>e.pending||"finished"!==e.playState)&&d()})}if(t){let e=u.T.startingStyle;if(!s.hasAttribute(e))return void r.request(d);let t=new MutationObserver(()=>{s.hasAttribute(e)||(t.disconnect(),d())});return t.observe(s,{attributes:!0,attributeFilter:[e]}),void(null==i||i.addEventListener("abort",()=>t.disconnect(),{once:!0}))}r.request(d)})}(s,n,!1);r.useEffect(()=>{if(!t)return;let e=new AbortController;return f(d,e.signal),()=>{e.abort()}},[t,n,d,f])}},8875:(e,t,n)=>{n.d(t,{V:()=>E});var r=n(60500),o=n(84503),l=n(1114),i=n(4136),a=n(21442),u=n(81522),s=n(52269),c=n(99633);let d=function(e){return e.orientation="data-orientation",e.hovering="data-hovering",e.scrolling="data-scrolling",e.hasOverflowX="data-has-overflow-x",e.hasOverflowY="data-has-overflow-y",e.overflowXStart="data-overflow-x-start",e.overflowXEnd="data-overflow-x-end",e.overflowYStart="data-overflow-y-start",e.overflowYEnd="data-overflow-y-end",e}({});var f=n(19558),p=n(38806),h=n(42801),v=n(9083);let g=r.createContext(void 0),m={disableStyleElements:!1};var y=n(54456);let b={x:0,y:0},x={width:0,height:0},S={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},w={x:!0,y:!0,corner:!0},E=r.forwardRef(function(e,t){var n;let{render:E,className:R,overflowEdgeThreshold:k,style:A,...C}=e,M=function(e){if("number"==typeof e){let t=Math.max(0,e);return{xStart:t,xEnd:t,yStart:t,yEnd:t}}return{xStart:Math.max(0,(null==e?void 0:e.xStart)||0),xEnd:Math.max(0,(null==e?void 0:e.xEnd)||0),yStart:Math.max(0,(null==e?void 0:e.yStart)||0),yEnd:Math.max(0,(null==e?void 0:e.yEnd)||0)}}(k),O=(0,p.e)(),T=(0,l.Z)(),P=(0,l.Z)(),{nonce:q,disableStyleElements:I}=null!=(n=r.useContext(g))?n:m,[W,j]=r.useState(!1),[X,D]=r.useState(!1),[H,Y]=r.useState(!1),[F,N]=r.useState(!1),[K,z]=r.useState(!1),[V,B]=r.useState(x),[L,$]=r.useState(x),[U,_]=r.useState(S),[G,Z]=r.useState(w),J=r.useRef(null),Q=r.useRef(null),ee=r.useRef(null),et=r.useRef(null),en=r.useRef(null),er=r.useRef(null),eo=r.useRef(null),el=r.useRef(!1),ei=r.useRef(0),ea=r.useRef(0),eu=r.useRef(0),es=r.useRef(0),ec=r.useRef("vertical"),ed=r.useRef(b),ef=(0,o.K)(e=>{let t=e.x-ed.current.x,n=e.y-ed.current.y;ed.current=e,0!==n&&(Y(!0),T.start(s.u,()=>{Y(!1)})),0!==t&&(D(!0),P.start(s.u,()=>{D(!1)}))}),ep=(0,o.K)(e=>{0===e.button&&(el.current=!0,ei.current=e.clientY,ea.current=e.clientX,ec.current=e.currentTarget.getAttribute(d.orientation),Q.current&&(eu.current=Q.current.scrollTop,es.current=Q.current.scrollLeft),en.current&&"vertical"===ec.current&&en.current.setPointerCapture(e.pointerId),er.current&&"horizontal"===ec.current&&er.current.setPointerCapture(e.pointerId))}),eh=(0,o.K)(e=>{if(!el.current)return;let t=e.clientY-ei.current,n=e.clientX-ea.current;if(Q.current){let r=Q.current.scrollHeight,o=Q.current.clientHeight,l=Q.current.scrollWidth,i=Q.current.clientWidth;if(en.current&&ee.current&&"vertical"===ec.current){let n=(0,c.A)(ee.current,"padding","y"),l=(0,c.A)(en.current,"margin","y"),i=en.current.offsetHeight,a=ee.current.offsetHeight-i-n-l;Q.current.scrollTop=eu.current+t/a*(r-o),e.preventDefault(),Y(!0),T.start(s.u,()=>{Y(!1)})}if(er.current&&et.current&&"horizontal"===ec.current){let t=(0,c.A)(et.current,"padding","x"),r=(0,c.A)(er.current,"margin","x"),o=er.current.offsetWidth,a=et.current.offsetWidth-o-t-r;Q.current.scrollLeft=es.current+n/a*(l-i),e.preventDefault(),D(!0),P.start(s.u,()=>{D(!1)})}}}),ev=(0,o.K)(e=>{el.current=!1,en.current&&"vertical"===ec.current&&en.current.releasePointerCapture(e.pointerId),er.current&&"horizontal"===ec.current&&er.current.releasePointerCapture(e.pointerId)});function eg(e){N("touch"===e.pointerType)}function em(e){eg(e),"touch"!==e.pointerType&&j((0,v.gR)(J.current,e.target))}let ey=r.useMemo(()=>({scrolling:X||H,hasOverflowX:!G.x,hasOverflowY:!G.y,overflowXStart:U.xStart,overflowXEnd:U.xEnd,overflowYStart:U.yStart,overflowYEnd:U.yEnd,cornerHidden:G.corner}),[X,H,G.x,G.y,G.corner,U]),eb={role:"presentation",onPointerEnter:em,onPointerMove:em,onPointerDown:eg,onPointerLeave(){j(!1)},style:{position:"relative",[u.I.scrollAreaCornerHeight]:"".concat(V.height,"px"),[u.I.scrollAreaCornerWidth]:"".concat(V.width,"px")}},ex=(0,a.o)("div",e,{state:ey,ref:[t,J],props:[eb,C],stateAttributesMapping:h.r}),eS=r.useMemo(()=>({handlePointerDown:ep,handlePointerMove:eh,handlePointerUp:ev,handleScroll:ef,cornerSize:V,setCornerSize:B,thumbSize:L,setThumbSize:$,hasMeasuredScrollbar:K,setHasMeasuredScrollbar:z,touchModality:F,cornerRef:eo,scrollingX:X,setScrollingX:D,scrollingY:H,setScrollingY:Y,hovering:W,setHovering:j,viewportRef:Q,rootRef:J,scrollbarYRef:ee,scrollbarXRef:et,thumbYRef:en,thumbXRef:er,rootId:O,hiddenState:G,setHiddenState:Z,overflowEdges:U,setOverflowEdges:_,viewportState:ey,overflowEdgeThreshold:M}),[ep,eh,ev,ef,V,L,K,F,X,D,H,Y,W,j,O,G,U,ey,M]);return(0,y.jsxs)(i.a.Provider,{value:eS,children:[!I&&f.E.getElement(q),ex]})})},9064:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("volume-x",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["line",{x1:"22",x2:"16",y1:"9",y2:"15",key:"1ewh16"}],["line",{x1:"16",x2:"22",y1:"9",y2:"15",key:"5ykzw1"}]])},10137:(e,t,n)=>{n.d(t,{KT:()=>d,Tc:()=>a,m0:()=>c,nr:()=>s,un:()=>u});let r="undefined"!=typeof navigator,o=function(){if(!r)return{platform:"",maxTouchPoints:-1};let e=navigator.userAgentData;return e?.platform?{platform:e.platform,maxTouchPoints:navigator.maxTouchPoints}:{platform:navigator.platform??"",maxTouchPoints:navigator.maxTouchPoints??-1}}(),l=function(){if(!r)return"";let e=navigator.userAgentData;return e?.platform?e.platform:navigator.platform??""}(),i=function(){if(!r)return"";let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(({brand:e,version:t})=>`${e}/${t}`).join(" "):navigator.userAgent}(),a="undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter:none"),u="MacIntel"===o.platform&&o.maxTouchPoints>1||/iP(hone|ad|od)|iOS/.test(o.platform);r&&/firefox/i.test(i);let s=r&&/apple/i.test(navigator.vendor);r&&/Edg/i.test(i);let c=r&&/android/i.test(l)||/android/i.test(i);r&&l.toLowerCase().startsWith("mac")&&navigator.maxTouchPoints;let d=i.includes("jsdom/")},13189:(e,t,n)=>{n.d(t,{XF:()=>E,vB:()=>S});var r=n(60500),o=n(51989),l=n(39827),i=n(68549),a=n(69269),u=n(94664),s=n(83319),c=n(84503),d=n(56601),f=n(91500),p=n(29513),h=n(37288),v=n(13290),g=n(74442),m=n(21442),y=n(59466),b=n(54456);let x=r.createContext(null),S=()=>r.useContext(x),w=(0,g.F)("portal"),E=r.forwardRef(function(e,t){let{children:n,container:g,className:E,render:R,renderGuards:k,style:A,...C}=e,{portalNode:M,portalSubtree:O}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{ref:t,container:n,componentProps:i=d.t0,elementProps:a}=e,f=(0,u.B)(),p=S(),h=null==p?void 0:p.portalNode,[v,g]=r.useState(null),[y,b]=r.useState(null),x=(0,c.K)(e=>{null!==e&&b(e)}),E=r.useRef(null);(0,s.g)(()=>{var e,t;if(null===n){E.current&&(E.current=null,b(null),g(null));return}if(null==f)return;let r=null!=(t=null!=(e=n&&((0,l.Ll)(n)?n:n.current))?e:h)?t:document.body;if(null==r){E.current&&(E.current=null,b(null),g(null));return}E.current!==r&&(E.current=r,b(null),g(r))},[n,h,f]);let R=(0,m.o)("div",i,{ref:[t,x],props:[{id:f,[w]:""},a]});return{portalNode:y,portalSubtree:v&&R?o.createPortal(R,v):null}}({container:g,ref:t,componentProps:e,elementProps:C}),T=r.useRef(null),P=r.useRef(null),q=r.useRef(null),I=r.useRef(null),[W,j]=r.useState(null),X=r.useRef(!1),D=null==W?void 0:W.modal,H=null==W?void 0:W.open,Y="boolean"==typeof k?k:!!W&&!W.modal&&W.open&&!!M;r.useEffect(()=>{if(M&&!D)return(0,a.g)((0,i.q)(M,"focusin",e,!0),(0,i.q)(M,"focusout",e,!0));function e(e){M&&e.relatedTarget&&(0,p.Qp)(e)&&("focusin"===e.type?X.current&&((0,p.yV)(M),X.current=!1):((0,p.N)(M),X.current=!0))}},[M,D]),r.useEffect(()=>{M&&!1===H&&((0,p.yV)(M),X.current=!1)},[H,M]);let F=r.useMemo(()=>({beforeOutsideRef:T,afterOutsideRef:P,beforeInsideRef:q,afterInsideRef:I,portalNode:M,setFocusManagerState:j}),[M]);return(0,b.jsxs)(r.Fragment,{children:[O,(0,b.jsxs)(x.Provider,{value:F,children:[Y&&M&&(0,b.jsx)(f.U,{"data-type":"outside",ref:T,onFocus:e=>{if((0,p.Qp)(e,M)){var t;null==(t=q.current)||t.focus()}else{let e=W?W.domReference:null,t=(0,p.XJ)(e);null==t||t.focus()}}}),Y&&M&&(0,b.jsx)("span",{"aria-owns":M.id,style:y.z_}),M&&o.createPortal(n,M),Y&&M&&(0,b.jsx)(f.U,{"data-type":"outside",ref:P,onFocus:e=>{if((0,p.Qp)(e,M)){var t;null==(t=I.current)||t.focus()}else{let t=W?W.domReference:null,n=(0,p.vF)(t);null==n||n.focus(),(null==W?void 0:W.closeOnFocusOut)&&(null==W||W.onOpenChange(!1,(0,h.d)(v.Xn,e.nativeEvent)))}}})]})]})})},13291:(e,t,n)=>{n.d(t,{y:()=>l});var r=n(60500);let o=[];function l(e){r.useEffect(e,o)}},14315:(e,t,n)=>{n.d(t,{R1:()=>i,cq:()=>a});var r=n(60500);n(54456);let o=r.createContext(null),l=r.createContext(null),i=()=>{var e;return(null==(e=r.useContext(o))?void 0:e.id)||null},a=e=>{let t=r.useContext(l);return null!=e?e:t}},15836:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(60500),o=n(56305),l=n(13189),i=n(43071),a=n(85951),u=n(54456);let s=r.forwardRef(function(e,t){let n,{cutout:r,...o}=e;if(r){let e=r.getBoundingClientRect();n=`polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,${e.left}px ${e.top}px,${e.left}px ${e.bottom}px,${e.right}px ${e.bottom}px,${e.right}px ${e.top}px,${e.left}px ${e.top}px)`}return(0,u.jsx)("div",{ref:t,role:"presentation","data-base-ui-inert":"",...o,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:n}})}),c=r.forwardRef(function(e,t){var n;let{keepMounted:r=!1,...c}=e,{store:d}=(0,i.P)(),f=d.useState("mounted"),p=d.useState("modal"),h=d.useState("open");return f||r?(0,u.jsx)(a.m.Provider,{value:r,children:(0,u.jsxs)(l.XF,{ref:t,...c,children:[f&&!0===p&&(0,u.jsx)(s,{ref:d.context.internalBackdropRef,inert:(n=!h,(0,o._)(19)?n:n?"true":void 0)}),e.children]})}):null})},15982:(e,t,n)=>{var r=n(60500),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},l=r.useState,i=r.useEffect,a=r.useLayoutEffect,u=r.useDebugValue;function s(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!o(e,n)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=l({inst:{value:n,getSnapshot:t}}),o=r[0].inst,c=r[1];return a(function(){o.value=n,o.getSnapshot=t,s(o)&&c({inst:o})},[e,n,t]),i(function(){return s(o)&&c({inst:o}),e(function(){s(o)&&c({inst:o})})},[e]),u(n),n};t.useSyncExternalStore=void 0!==r.useSyncExternalStore?r.useSyncExternalStore:c},17954:(e,t,n)=>{n.d(t,{L:()=>a});var r=n(60500),o=n(43071),l=n(21442),i=n(38806);let a=r.forwardRef(function(e,t){let{render:n,className:r,style:a,id:u,...s}=e,{store:c}=(0,o.P)(),d=(0,i.e)(u);return c.useSyncedValueWithCleanup("titleElementId",d),(0,l.o)("h2",e,{ref:t,props:[{id:d},s]})})},19558:(e,t,n)=>{n.d(t,{E:()=>l});var r=n(54456);let o="base-ui-disable-scrollbar",l={className:o,getElement:e=>(0,r.jsx)("style",{nonce:e,href:o,precedence:"base-ui:low",children:`.${o}{scrollbar-width:none}.${o}::-webkit-scrollbar{display:none}`})}},19978:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]])},22280:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("git-fork",[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]])},22720:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("camera",[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]])},26943:(e,t,n)=>{n.d(t,{$4:()=>r,CM:()=>function e(t,n,r=!0){return t.filter(e=>e.parentId===n).flatMap(n=>[...!r||n.context?.open?[n]:[],...e(t,n.id,r)])}});function r(e,t){let n=[],r=e.find(e=>e.id===t)?.parentId;for(;r;){let t=e.find(e=>e.id===r);r=t?.parentId,t&&(n=n.concat(t))}return n}},29478:(e,t,n)=>{n.d(t,{$u:()=>a,F2:()=>l,WZ:()=>u,nd:()=>s,tZ:()=>i});var r=n(39827),o=n(6935);function l(e,t){return null!=t&&("composedPath"in e?e.composedPath().includes(t):null!=e.target&&t.contains(e.target))}function i(e){return e.matches("html,body")}function a(e){return(0,r.sb)(e)&&e.matches(o.BT)}function u(e){return!!e&&"combobox"===e.getAttribute("role")&&a(e)}function s(e){return e?e.hasAttribute(o.Ed)?e:e.querySelector(`[${o.Ed}]`)||e:null}},29513:(e,t,n)=>{n.d(t,{AO:()=>p,Kr:()=>v,N:()=>x,Qp:()=>b,XJ:()=>y,nq:()=>h,vF:()=>m,yV:()=>S});var r=n(39827),o=n(5227),l=n(9083),i=n(77081);function a(e){for(let t of Array.from(e.children))if("summary"===(0,r.mq)(t))return t;return null}function u(e){let t=e?(0,r.mq)(e):"";return null!=e&&e.matches('a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]')&&("summary"!==t||null!=e.parentElement&&"details"===(0,r.mq)(e.parentElement)&&a(e.parentElement)===e)&&("details"!==t||null==a(e))&&("input"!==t||"hidden"!==e.type)}function s(e){if(!u(e)||!e.isConnected||e.matches(":disabled"))return!1;for(let t=e;t;t=function(e){let t=e.assignedSlot;if(t)return t;if(e.parentElement)return e.parentElement;let n=e.getRootNode();return(0,r.Ng)(n)?n.host:null}(t)){let n=t!==e,o="slot"===(0,r.mq)(t);if(t.hasAttribute("inert")||n&&"details"===(0,r.mq)(t)&&!t.open&&!function(e,t){let n=a(t);return!!n&&(e===n||(0,l.gR)(n,e))}(e,t)||t.hasAttribute("hidden")||!o&&!function(e,t){let n=(0,r.L9)(e);return t?"none"!==n.display:(0,i.J9)(e,n)}(t,n))return!1}return!0}function c(e){let t=e.tabIndex;if(t<0){let t=(0,r.mq)(e);if("details"===t||"audio"===t||"video"===t||(0,r.sb)(e)&&e.isContentEditable)return 0}return t}function d(e){return"input"!==(0,r.mq)(e)?null:"radio"===e.type&&""!==e.name?e:null}function f(e){if((0,r.sb)(e)&&"slot"===(0,r.mq)(e)){let t=e.assignedElements({flatten:!0});if(t.length>0)return t}return(0,r.sb)(e)&&e.shadowRoot?Array.from(e.shadowRoot.children):Array.from(e.children)}function p(e){return s(e)&&c(e)>=0}function h(e){let t=[];return!function e(t,n){f(t).forEach(t=>{u(t)&&n.push(t),e(t,n)})}(e,t),t.filter(s)}function v(e){let t=h(e);return t.filter(e=>c(e)>=0&&function(e,t){let n=d(e);if(!n)return!0;let r=t.find(e=>{let t=d(e);return t?.name===n.name&&t.form===n.form&&t.checked});return r?r===n:t.find(e=>{let t=d(e);return t?.name===n.name&&t.form===n.form})===n}(e,t))}function g(e,t){let n=v(e),r=n.length;if(0===r)return;let i=(0,l.RS)((0,o.R)(e)),a=n.indexOf(i);return n[-1===a?1===t?0:r-1:a+t]}function m(e){return g((0,o.R)(e).body,1)||e}function y(e){return g((0,o.R)(e).body,-1)||e}function b(e,t){let n=t||e.currentTarget,r=e.relatedTarget;return!r||!(0,l.gR)(n,r)}function x(e){v(e).forEach(e=>{e.dataset.tabindex=e.getAttribute("tabindex")||"",e.setAttribute("tabindex","-1")})}function S(e){let t=[];!function e(t,n,o){f(t).forEach(t=>{(0,r.sb)(t)&&t.matches(n)&&o.push(t),e(t,n,o)})}(e,"[data-tabindex]",t),t.forEach(e=>{let t=e.dataset.tabindex;delete e.dataset.tabindex,t?e.setAttribute("tabindex",t):e.removeAttribute("tabindex")})}},32899:(e,t,n)=>{e.exports=n(15982)},37550:(e,t,n)=>{n.d(t,{H:()=>s});var r=n(60500),o=n(43071),l=n(21442),i=n(91138),a=n(37288),u=n(13290);let s=r.forwardRef(function(e,t){let{render:n,className:r,disabled:s=!1,nativeButton:c=!0,style:d,...f}=e,{store:p}=(0,o.P)(),h=p.useState("open"),{getButtonProps:v,buttonRef:g}=(0,i.s)({disabled:s,native:c});return(0,l.o)("button",e,{state:{disabled:s},ref:[t,g],props:[{onClick:function(e){h&&p.setOpen(!1,(0,a.d)(u.SR,e.nativeEvent))}},f,v]})})},41767:(e,t,n)=>{n.d(t,{GW:()=>s,lP:()=>o});var r=n(86175);let o=function(e){return e.open="data-open",e.closed="data-closed",e[e.startingStyle=r.T.startingStyle]="startingStyle",e[e.endingStyle=r.T.endingStyle]="endingStyle",e.anchorHidden="data-anchor-hidden",e.side="data-side",e.align="data-align",e}({}),l=function(e){return e.popupOpen="data-popup-open",e.pressed="data-pressed",e}({});l.popupOpen,l.popupOpen,l.pressed;let i={[o.open]:""},a={[o.closed]:""},u={[o.anchorHidden]:""},s={open:e=>e?i:a,anchorHidden:e=>e?u:null}},41951:(e,t,n)=>{n.d(t,{I:()=>i});var r=n(60500),o=n(4136),l=n(21442);let i=r.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{cornerRef:u,cornerSize:s,hiddenState:c}=(0,o.p)(),d=(0,l.o)("div",e,{ref:[t,u],props:[{style:{position:"absolute",bottom:0,insetInlineEnd:0,width:s.width,height:s.height}},a]});return c.corner?null:d})},42801:(e,t,n)=>{n.d(t,{r:()=>o});let r=function(e){return e.scrolling="data-scrolling",e.hasOverflowX="data-has-overflow-x",e.hasOverflowY="data-has-overflow-y",e.overflowXStart="data-overflow-x-start",e.overflowXEnd="data-overflow-x-end",e.overflowYStart="data-overflow-y-start",e.overflowYEnd="data-overflow-y-end",e}({}),o={hasOverflowX:e=>e?{[r.hasOverflowX]:""}:null,hasOverflowY:e=>e?{[r.hasOverflowY]:""}:null,overflowXStart:e=>e?{[r.overflowXStart]:""}:null,overflowXEnd:e=>e?{[r.overflowXEnd]:""}:null,overflowYStart:e=>e?{[r.overflowYStart]:""}:null,overflowYEnd:e=>e?{[r.overflowYEnd]:""}:null,cornerHidden:()=>null}},43071:(e,t,n)=>{n.d(t,{P:()=>i,a:()=>l});var r=n(97102),o=n(60500);let l=o.createContext(void 0);function i(e){let t=o.useContext(l);if(!1===e&&void 0===t)throw Error((0,r.A)(27));return t}},50399:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])},50580:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]])},51059:(e,t,n)=>{let r;n.d(t,{D:()=>Q});var o=n(60500),l=n(39827),i=n(68549),a=n(10137),u=n(5227),s=n(83319),c=n(1114),d=n(89748),f=n(56601);let p={},h={},v="";class g{acquire(e){return this.lockCount+=1,1===this.lockCount&&null===this.restore&&this.timeoutLock.start(0,()=>this.lock(e)),this.release}lock(e){if(0===this.lockCount||null!==this.restore)return;let t=(0,u.R)(e).documentElement,n=(0,l.zk)(t).getComputedStyle(t).overflowY;if("hidden"===n||"clip"===n){this.restore=f.tE;return}let r=a.un||!function(e){if("undefined"==typeof document)return!1;let t=(0,u.R)(e);return(0,l.zk)(t).innerWidth-t.documentElement.clientWidth>0}(e);this.restore=r?function(e){let t=(0,u.R)(e),n=t.documentElement,r=t.body,o=(0,l.ZU)(n)?n:r,i={overflowY:o.style.overflowY,overflowX:o.style.overflowX};return Object.assign(o.style,{overflowY:"hidden",overflowX:"hidden"}),()=>{Object.assign(o.style,i)}}(e):function(e){var t,n;let r=(0,u.R)(e),o=r.documentElement,s=r.body,c=(0,l.zk)(o),f=0,g=0,m=!1,y=d.K.create();if(a.Tc&&(null!=(n=null==(t=c.visualViewport)?void 0:t.scale)?n:1)!==1)return()=>{};function b(){let t=c.getComputedStyle(o),n=c.getComputedStyle(s),r=(t.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";f=o.scrollTop,g=o.scrollLeft,p={scrollbarGutter:o.style.scrollbarGutter,overflowY:o.style.overflowY,overflowX:o.style.overflowX},v=o.style.scrollBehavior,h={position:s.style.position,height:s.style.height,width:s.style.width,boxSizing:s.style.boxSizing,overflowY:s.style.overflowY,overflowX:s.style.overflowX,scrollBehavior:s.style.scrollBehavior};let i=o.scrollHeight>o.clientHeight,a=o.scrollWidth>o.clientWidth,d="scroll"===t.overflowY||"scroll"===n.overflowY,y="scroll"===t.overflowX||"scroll"===n.overflowX,b=Math.max(0,c.innerWidth-s.clientWidth),x=Math.max(0,c.innerHeight-s.clientHeight),S=parseFloat(n.marginTop)+parseFloat(n.marginBottom),w=parseFloat(n.marginLeft)+parseFloat(n.marginRight),E=(0,l.ZU)(o)?o:s;if(m=function(e){if(!("undefined"!=typeof CSS&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||"undefined"==typeof document)return!1;let t=(0,u.R)(e),n=t.documentElement,r=t.body,o=(0,l.ZU)(n)?n:r,i=o.style.overflowY,a=n.style.scrollbarGutter;n.style.scrollbarGutter="stable",o.style.overflowY="scroll";let s=o.offsetWidth;o.style.overflowY="hidden";let c=o.offsetWidth;return o.style.overflowY=i,n.style.scrollbarGutter=a,s===c}(e)){o.style.scrollbarGutter=r,E.style.overflowY="hidden",E.style.overflowX="hidden";return}Object.assign(o.style,{scrollbarGutter:r,overflowY:"hidden",overflowX:"hidden"}),(i||d)&&(o.style.overflowY="scroll"),(a||y)&&(o.style.overflowX="scroll"),Object.assign(s.style,{position:"relative",height:S||x?"calc(100dvh - ".concat(S+x,"px)"):"100dvh",width:w||b?"calc(100vw - ".concat(w+b,"px)"):"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),s.scrollTop=f,s.scrollLeft=g,o.setAttribute("data-base-ui-scroll-locked",""),o.style.scrollBehavior="unset"}function x(){Object.assign(o.style,p),Object.assign(s.style,h),m||(o.scrollTop=f,o.scrollLeft=g,o.removeAttribute("data-base-ui-scroll-locked"),o.style.scrollBehavior=v)}b();let S=(0,i.q)(c,"resize",function(){x(),y.request(b)});return()=>{y.cancel(),x(),"function"==typeof c.removeEventListener&&S()}}(e)}constructor(){this.lockCount=0,this.restore=null,this.timeoutLock=c.E.create(),this.timeoutUnlock=c.E.create(),this.release=()=>{this.lockCount-=1,0===this.lockCount&&this.restore&&this.timeoutUnlock.start(0,this.unlock)},this.unlock=()=>{if(0===this.lockCount&&this.restore){var e;null==(e=this.restore)||e.call(this),this.restore=null}}}}let m=new g;var y=n(94664),b=n(93502),x=n(14315),S=n(97102);let w=(e,t,n,r,o,l,...i)=>{let a;if(i.length>0)throw Error((0,S.A)(1));if(e&&t&&n&&r&&o&&l)a=(i,a,u,s)=>{let c=e(i,a,u,s),d=t(i,a,u,s),f=n(i,a,u,s);return l(c,d,f,r(i,a,u,s),o(i,a,u,s),a,u,s)};else if(e&&t&&n&&r&&o)a=(l,i,a,u)=>{let s=e(l,i,a,u),c=t(l,i,a,u);return o(s,c,n(l,i,a,u),r(l,i,a,u),i,a,u)};else if(e&&t&&n&&r)a=(o,l,i,a)=>{let u=e(o,l,i,a);return r(u,t(o,l,i,a),n(o,l,i,a),l,i,a)};else if(e&&t&&n)a=(r,o,l,i)=>n(e(r,o,l,i),t(r,o,l,i),o,l,i);else if(e&&t)a=(n,r,o,l)=>t(e(n,r,o,l),r,o,l);else if(e)a=e;else throw Error("Missing arguments");return a};var E=n(32899),R=n(53573);let k=(0,n(56305)._)(19)?function(e,t,n,l,i){let a;if(!r){let r=o.useCallback(()=>t(e.getSnapshot(),n,l,i),[e,t,n,l,i]);return(0,E.useSyncExternalStore)(e.subscribe,r,r)}let u=r.syncIndex;return r.syncIndex+=1,r.didInitialize?(a=r.syncHooks[u]).store===e&&a.selector===t&&Object.is(a.a1,n)&&Object.is(a.a2,l)&&Object.is(a.a3,i)||(a.store!==e&&(r.didChangeStore=!0),a.store=e,a.selector=t,a.a1=n,a.a2=l,a.a3=i,a.didChange=!0):(a={store:e,selector:t,a1:n,a2:l,a3:i,value:t(e.getSnapshot(),n,l,i),didChange:!1},r.syncHooks.push(a)),a.value}:function(e,t,n,r,o){return(0,R.useSyncExternalStoreWithSelector)(e.subscribe,e.getSnapshot,e.getSnapshot,e=>t(e,n,r,o))};[].push({before(e){e.syncIndex=0,e.didInitialize||(e.syncTick=1,e.syncHooks=[],e.didChangeStore=!0,e.getSnapshot=()=>{let t=!1;for(let n=0;n<e.syncHooks.length;n+=1){let r=e.syncHooks[n],o=r.selector(r.store.state,r.a1,r.a2,r.a3);(r.didChange||!Object.is(r.value,o))&&(t=!0,r.value=o,r.didChange=!1)}return t&&(e.syncTick+=1),e.syncTick})},after(e){e.syncHooks.length>0&&(e.didChangeStore&&(e.didChangeStore=!1,e.subscribe=t=>{let n=new Set;for(let t of e.syncHooks)n.add(t.store);let r=[];for(let e of n)r.push(e.subscribe(t));return()=>{for(let e of r)e()}}),(0,E.useSyncExternalStore)(e.subscribe,e.getSnapshot,e.getSnapshot))}});class A{constructor(e){this.state=e,this.listeners=new Set,this.updateTick=0}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>this.state;setState(e){if(this.state===e)return;this.state=e,this.updateTick+=1;let t=this.updateTick;for(let n of this.listeners){if(t!==this.updateTick)return;n(e)}}update(e){for(let t in e)if(!Object.is(this.state[t],e[t]))return void this.setState({...this.state,...e})}set(e,t){Object.is(this.state[e],t)||this.setState({...this.state,[e]:t})}notifyAll(){let e={...this.state};this.setState(e)}use(e,t,n,r){return k(this,e,t,n,r)}}var C=n(84503);class M extends A{useSyncedValue(e,t){o.useDebugValue(e),(0,s.g)(()=>{this.state[e]!==t&&this.set(e,t)},[e,t])}useSyncedValueWithCleanup(e,t){let n=this;(0,s.g)(()=>(n.state[e]!==t&&n.set(e,t),()=>{n.set(e,void 0)}),[n,e,t])}useSyncedValues(e){let t=this,n=Object.values(e);(0,s.g)(()=>{t.update(e)},[t,...n])}useControlledProp(e,t){o.useDebugValue(e);let n=void 0!==t;(0,s.g)(()=>{n&&!Object.is(this.state[e],t)&&super.setState({...this.state,[e]:t})},[e,t,n])}select(e,t,n,r){return(0,this.selectors[e])(this.state,t,n,r)}useState(e,t,n,r){return o.useDebugValue(e),k(this,this.selectors[e],t,n,r)}useContextCallback(e,t){o.useDebugValue(e);let n=(0,C.K)(null!=t?t:f.tE);this.context[e]=n}useStateSetter(e){let t=o.useRef(void 0);return void 0===t.current&&(t.current=t=>{this.set(e,t)}),t.current}observe(e,t){let n,r=(n="function"==typeof e?e:this.selectors[e])(this.state);return t(r,r,this),this.subscribe(e=>{let o=n(e);if(!Object.is(r,o)){let e=r;r=o,t(o,e,this)}})}constructor(e,t={},n){super(e),this.context=t,this.selectors=n}}var O=n(88742);let T={open:w(e=>e.open),transitionStatus:w(e=>e.transitionStatus),domReferenceElement:w(e=>e.domReferenceElement),referenceElement:w(e=>e.positionReference??e.referenceElement),floatingElement:w(e=>e.floatingElement),floatingId:w(e=>e.floatingId)};class P extends M{constructor(e){let{syncOnly:t,nested:n,onOpenChange:r,triggerElements:o,...l}=e;super({...l,positionReference:l.referenceElement,domReferenceElement:l.referenceElement},{onOpenChange:r,dataRef:{current:{}},events:function(){let e=new Map;return{emit(t,n){e.get(t)?.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){e.get(t)?.delete(n)}}}(),nested:n,triggerElements:o},T),this.syncOnly=t}syncOpenEvent=(e,t)=>{(!e||!this.state.open||null!=t&&(0,O.Ev)(t))&&(this.context.dataRef.current.openEvent=e?t:void 0)};dispatchOpenChange=(e,t)=>{this.syncOpenEvent(e,t.event);let n={open:e,reason:t.reason,nativeEvent:t.event,nested:this.context.nested,triggerElement:t.trigger};this.context.events.emit("openchange",n)};setOpen=(e,t)=>{if(this.syncOnly)return void this.context.onOpenChange?.(e,t);this.dispatchOpenChange(e,t),this.context.onOpenChange?.(e,t)}}var q=n(29478);let I=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);var W=n(69269),j=n(9083),X=n(26943),D=n(37288),H=n(13290),Y=n(74442);let F={intentional:"onClick",sloppy:"onPointerDown"};function N(){return!1}var K=n(6935);function z(e,t,n){let r=new Map,o="item"===n,l={};for(let t in"floating"===n&&(l.tabIndex=-1,l[K.Ed]=""),e)o&&e&&(t===K.XA||t===K.WS)||(l[t]=e[t]);for(let i=0;i<t.length;i+=1){let a,u=t[i]?.[n];(a="function"==typeof u?e?u(e):null:u)&&V(l,a,o,r)}return V(l,e,o,r),l}function V(e,t,n,r){for(let o in t){let l=t[o];n&&(o===K.XA||o===K.WS)||(o.startsWith("on")?(r.has(o)||r.set(o,[]),"function"==typeof l&&(r.get(o)?.push(l),e[o]=(...e)=>r.get(o)?.map(t=>t(...e)).find(e=>void 0!==e))):e[o]=l)}}var B=n(8729),L=n(43071);class ${constructor(){this.elementsSet=new Set,this.idMap=new Map}add(e,t){let n=this.idMap.get(e);n!==t&&(void 0!==n&&this.elementsSet.delete(n),this.elementsSet.add(t),this.idMap.set(e,t))}delete(e){let t=this.idMap.get(e);t&&(this.elementsSet.delete(t),this.idMap.delete(e))}hasElement(e){return this.elementsSet.has(e)}hasMatchingElement(e){for(let t of this.elementsSet)if(e(t))return!0;return!1}getById(e){return this.idMap.get(e)}entries(){return this.idMap.entries()}elements(){return this.elementsSet.values()}get size(){return this.idMap.size}}let U=w(e=>e.triggerIdProp??e.activeTriggerId),_={...{open:w(e=>e.openProp??e.open),mounted:w(e=>e.mounted),transitionStatus:w(e=>e.transitionStatus),floatingRootContext:w(e=>e.floatingRootContext),preventUnmountingOnClose:w(e=>e.preventUnmountingOnClose),payload:w(e=>e.payload),activeTriggerId:U,activeTriggerElement:w(e=>e.mounted?e.activeTriggerElement:null),isTriggerActive:w((e,t)=>void 0!==t&&U(e)===t),isOpenedByTrigger:w((e,t)=>void 0!==t&&U(e)===t&&e.open),isMountedByTrigger:w((e,t)=>void 0!==t&&U(e)===t&&e.mounted),triggerProps:w((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),popupProps:w(e=>e.popupProps),popupElement:w(e=>e.popupElement),positionerElement:w(e=>e.positionerElement)},modal:w(e=>e.modal),nested:w(e=>e.nested),nestedOpenDialogCount:w(e=>e.nestedOpenDialogCount),nestedOpenDrawerCount:w(e=>e.nestedOpenDrawerCount),disablePointerDismissal:w(e=>e.disablePointerDismissal),openMethod:w(e=>e.openMethod),descriptionElementId:w(e=>e.descriptionElementId),titleElementId:w(e=>e.titleElementId),viewportElement:w(e=>e.viewportElement),role:w(e=>e.role)};class G extends M{constructor(e){super(function(e={}){return{...{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:new P({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new $,floatingId:"",syncOnly:!1,nested:!1,onOpenChange:void 0}),preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:f.t0,inactiveTriggerProps:f.t0,popupProps:f.t0},modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...e}}(e),{popupRef:o.createRef(),backdropRef:o.createRef(),internalBackdropRef:o.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:new $,onOpenChange:void 0,onOpenChangeComplete:void 0},_)}setOpen=(e,t)=>{if(t.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},e||null!=t.trigger||null==this.state.activeTriggerId||(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let n={open:e},r=t.trigger?.id??null;(r||e)&&(n.activeTriggerId=r,n.activeTriggerElement=t.trigger??null),this.update(n)};static useStore(e,t){let n=(0,b.j)(()=>new G(t)).current;return e??n}}var Z=n(54456);let J=o.createContext(!1);function Q(e){let{children:t,open:n,defaultOpen:r=!1,onOpenChange:p,onOpenChangeComplete:h,disablePointerDismissal:v=!1,modal:g=!0,actionsRef:S,handle:w,triggerId:E,defaultTriggerId:R=null}=e,k=(0,L.P)(!0),A=o.useContext(J),M=!!k,T=G.useStore(null==w?void 0:w.store,{open:r,openProp:n,activeTriggerId:R,triggerIdProp:E,modal:g,disablePointerDismissal:v,nested:M}),K=o.useRef(!0);K.current&&(K.current=!1,void 0===n&&!1===T.state.open&&!0===r&&T.update({open:!0,activeTriggerId:R})),T.useControlledProp("openProp",n),T.useControlledProp("triggerIdProp",E),T.useSyncedValues({disablePointerDismissal:v,nested:M,modal:g}),T.useContextCallback("onOpenChange",p),T.useContextCallback("onOpenChangeComplete",h);let V=T.useState("payload");!function(e){let{store:t,parentContext:n,actionsRef:r,isDrawer:p}=e,h=t.useState("open"),v=t.useState("disablePointerDismissal"),g=t.useState("modal"),S=t.useState("popupElement"),{openMethod:w,triggerProps:E}=function(e){let[t,n]=o.useState(null),r=(0,C.K)((t,r)=>{e||n(r||(a.un?"touch":""))}),l=o.useRef(e),i=(0,C.K)(t=>{t&&!e&&n(null)});(0,s.g)(()=>{l.current!==e&&i(l.current)},[e,i]),(0,s.g)(()=>{l.current=e},[e]);let{onClick:u,onPointerDown:c}=function(e){let t=o.useRef(""),n=o.useCallback(n=>{n.defaultPrevented||(t.current=n.pointerType,e(n,n.pointerType))},[e]);return{onClick:o.useCallback(n=>{if(0===n.detail)return void e(n,"keyboard");"pointerType"in n?e(n,n.pointerType):e(n,t.current),t.current=""},[e]),onPointerDown:n}}(r);return o.useMemo(()=>({openMethod:t,triggerProps:{onClick:u,onPointerDown:c}}),[t,u,c])}(h),R=t.useState("open");(0,s.g)(()=>{if(R&&!t.select("activeTriggerId")&&1===t.context.triggerElements.size){let e=t.context.triggerElements.entries().next();if(!e.done){let[n,r]=e.value;t.update({activeTriggerId:n,activeTriggerElement:r})}}},[R,t]);let{forceUnmount:k}=function(e,t,n){let{mounted:r,setMounted:l,transitionStatus:i}=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],[r,l]=o.useState(e&&t?"idle":void 0),[i,a]=o.useState(e);return e&&!i&&(a(!0),l("starting")),e||!i||"ending"===r||n||l("ending"),e||i||"ending"!==r||l(void 0),(0,s.g)(()=>{if(!e&&i&&"ending"!==r&&n){let e=d.K.request(()=>{l("ending")});return()=>{d.K.cancel(e)}}},[e,i,r,n]),(0,s.g)(()=>{if(!e||t)return;let n=d.K.request(()=>{l(void 0)});return()=>{d.K.cancel(n)}},[t,e]),(0,s.g)(()=>{if(!e||!t)return;e&&i&&"idle"!==r&&l("starting");let n=d.K.request(()=>{l("idle")});return()=>{d.K.cancel(n)}},[t,e,i,r]),{mounted:i,setMounted:a,transitionStatus:r}}(e);t.useSyncedValues({mounted:r,transitionStatus:i});let a=(0,C.K)(()=>{var e,n;l(!1),t.update({activeTriggerId:null,activeTriggerElement:null,mounted:!1}),null==(e=(n=t.context).onOpenChangeComplete)||e.call(n,!1)}),u=t.useState("preventUnmountingOnClose");return(0,B.v)({enabled:!u,open:e,ref:t.context.popupRef,onComplete(){e||a()}}),{forceUnmount:a,transitionStatus:i}}(h,t),A=o.useCallback(()=>{t.setOpen(!1,(0,D.d)(H.zJ))},[t]);o.useImperativeHandle(r,()=>({unmount:k,close:A}),[k,A]);let M=function(e){let{popupStore:t,treatPopupAsFloatingElement:n=!1,onOpenChange:r}=e,o=(0,y.B)(),i=null!=(0,x.R1)(),a=t.useState("open"),u=t.useState("activeTriggerElement"),c=t.useState(n?"popupElement":"positionerElement"),d=t.context.triggerElements,f=(0,b.j)(()=>new P({open:a,transitionStatus:void 0,referenceElement:u,floatingElement:c,triggerElements:d,onOpenChange:r,floatingId:o,syncOnly:!0,nested:i})).current;return(0,s.g)(()=>{let e={open:a,floatingId:o,referenceElement:u,floatingElement:c};(0,l.vq)(u)&&(e.domReferenceElement=u),f.state.positionReference===f.state.referenceElement&&(e.positionReference=u),f.update(e)},[a,o,u,c,f]),f.context.onOpenChange=r,f.context.nested=i,f}({popupStore:t,onOpenChange:t.setOpen,treatPopupAsFloatingElement:!0}),[T,K]=o.useState(0),[V,L]=o.useState(0),$=0===T,U=function(e,t={}){let n="rootStore"in e?e.rootStore:e,r=n.useState("open"),l=n.useState("floatingId"),i=n.useState("domReferenceElement"),a=n.useState("floatingElement"),{role:u="dialog"}=t,s=(0,y.B)(),c=i?.id||s,d=o.useMemo(()=>(0,q.nd)(a)?.id||l,[a,l]),p=I.get(u)??u,h=null!=(0,x.R1)(),v=o.useMemo(()=>"tooltip"===p||"label"===u?f.t0:{"aria-haspopup":"alertdialog"===p?"dialog":p,"aria-expanded":"false",..."listbox"===p&&{role:"combobox"},..."menu"===p&&h&&{role:"menuitem"},..."select"===u&&{"aria-autocomplete":"none"},..."combobox"===u&&{"aria-autocomplete":"list"}},[p,h,u]),g=o.useMemo(()=>"tooltip"===p||"label"===u?{[`aria-${"label"===u?"labelledby":"describedby"}`]:r?d:void 0}:{...v,"aria-expanded":r?"true":"false","aria-controls":r?d:void 0,..."menu"===p&&{id:c}},[p,d,r,c,u,v]),m=o.useMemo(()=>{let e={id:d,...p&&{role:p}};return"tooltip"===p||"label"===u?e:{...e,..."menu"===p&&{"aria-labelledby":c}}},[p,d,c,u]),b=o.useCallback(({active:e,selected:t})=>{let n={role:"option",...e&&{id:`${d}-fui-option`}};switch(u){case"select":case"combobox":return{...n,"aria-selected":t}}return{}},[d,u]);return o.useMemo(()=>({reference:g,floating:m,item:b,trigger:v}),[g,m,v,b])}(M),_=function(e){var t,n;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a="rootStore"in e?e.rootStore:e,s=a.useState("open"),d=a.useState("floatingElement"),{dataRef:f}=a.context,{enabled:p=!0,escapeKey:h=!0,outsidePress:v=!0,outsidePressEvent:g="sloppy",referencePress:m=N,referencePressEvent:y="sloppy",bubbles:b,externalTree:S}=r,w=(0,x.cq)(S),E=(0,C.K)("function"==typeof v?v:()=>!1),R="function"==typeof v?E:v,k=!1!==R,A=(0,C.K)(()=>g),M=o.useRef(!1),T=o.useRef(!1),P=o.useRef(!1),{escapeKey:I,outsidePress:K}={escapeKey:"boolean"==typeof b?b:null!=(t=null==b?void 0:b.escapeKey)&&t,outsidePress:"boolean"==typeof b?b:null==(n=null==b?void 0:b.outsidePress)||n},z=o.useRef(null),V=(0,c.Z)(),B=(0,c.Z)(),L=(0,C.K)(()=>{B.clear(),f.current.insideReactTree=!1}),$=o.useRef(!1),U=o.useRef(""),_=(0,C.K)(m),G=(0,C.K)(e=>{var t;if(!s||!p||!h||"Escape"!==e.key||$.current)return;let n=null==(t=f.current.floatingContext)?void 0:t.nodeId,r=w?(0,X.CM)(w.nodesRef.current,n):[];if(!I&&r.length>0){let e=!0;if(r.forEach(t=>{var n;(null==(n=t.context)?void 0:n.open)&&!t.context.dataRef.current.__escapeKeyBubbles&&(e=!1)}),!e)return}let o=(0,O.O_)(e)?e.nativeEvent:e,l=(0,D.d)(H.jv,o);a.setOpen(!1,l),I||l.isPropagationAllowed||e.stopPropagation()}),Z=(0,C.K)(()=>{f.current.insideReactTree=!0,B.start(0,L)});o.useEffect(()=>{if(!s||!p)return;f.current.__escapeKeyBubbles=I,f.current.__outsidePressBubbles=K;let e=new c.E,t=new c.E;function n(){P.current=!0,t.start(0,()=>{P.current=!1})}function r(){M.current=!1,T.current=!1}function o(){let e=U.current,t=A(),n="function"==typeof t?t():t;return"string"==typeof n?n:n["pen"!==e&&e?e:"mouse"]}function v(e){var t;let n=null==(t=f.current.floatingContext)?void 0:t.nodeId,r=w&&(0,X.CM)(w.nodesRef.current,n).some(t=>{var n;return(0,q.F2)(e,null==(n=t.context)?void 0:n.elements.floating)});return(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement"))||r}function g(e){var n;if(function(e){let t=o();return"intentional"===t&&"click"!==e.type||"sloppy"===t&&"click"===e.type}(e)||f.current.insideReactTree)return void L();let r=(0,j.EW)(e),i="[".concat((0,Y.F)("inert"),"]"),s=(0,l.vq)(r)?r.getRootNode():null,c=Array.from(((0,l.Ng)(s)?s:(0,u.R)(a.select("floatingElement"))).querySelectorAll(i)),d=a.context.triggerElements;if(r&&(d.hasElement(r)||d.hasMatchingElement(e=>(0,j.gR)(e,r))))return;let p=(0,l.vq)(r)?r:null;for(;p&&!(0,l.eu)(p);){let e=(0,l.$4)(p);if((0,l.eu)(e)||!(0,l.vq)(e))break;p=e}if(c.length&&(0,l.vq)(r)&&!(0,q.tZ)(r)&&!(0,j.gR)(r,a.select("floatingElement"))&&c.every(e=>!(0,j.gR)(p,e)))return;if((0,l.sb)(r)&&!("touches"in e)){let t=(0,l.eu)(r),n=(0,l.L9)(r),o=/auto|scroll/,i=t||o.test(n.overflowX),a=t||o.test(n.overflowY),u=i&&r.clientWidth>0&&r.scrollWidth>r.clientWidth,s=a&&r.clientHeight>0&&r.scrollHeight>r.clientHeight,c="rtl"===n.direction,d=s&&(c?e.offsetX<=r.offsetWidth-r.clientWidth:e.offsetX>r.clientWidth),f=u&&e.offsetY>r.clientHeight;if(d||f)return}if(v(e))return;if("intentional"===o()&&P.current){t.clear(),P.current=!1;return}if("function"==typeof R&&!R(e))return;let h=null==(n=f.current.floatingContext)?void 0:n.nodeId,g=w?(0,X.CM)(w.nodesRef.current,h):[];if(g.length>0){let e=!0;if(g.forEach(t=>{var n;(null==(n=t.context)?void 0:n.open)&&!t.context.dataRef.current.__outsidePressBubbles&&(e=!1)}),!e)return}a.setOpen(!1,(0,D.d)(H.Np,e)),L()}function m(e){if("sloppy"!==o()||!a.select("open")||!p||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement")))return;let t=e.touches[0];t&&(z.current={startTime:Date.now(),startX:t.clientX,startY:t.clientY,dismissOnTouchEnd:!1,dismissOnMouseDown:!0},V.start(1e3,()=>{z.current&&(z.current.dismissOnTouchEnd=!1,z.current.dismissOnMouseDown=!1)}))}function y(e,t){let n=(0,j.EW)(e);if(!n)return;let r=(0,i.q)(n,e.type,()=>{t(e),r()})}function b(e){V.clear(),"pointerdown"===e.type&&(U.current=e.pointerType),("mousedown"!==e.type||!z.current||z.current.dismissOnMouseDown)&&y(e,e=>{if("pointerdown"===e.type)"sloppy"!==o()||"touch"===e.pointerType||!a.select("open")||!p||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement"))||g(e);else g(e)})}function x(e){if(!M.current)return;let l=T.current;if(r(),"intentional"===o()){if("pointercancel"===e.type){l&&n();return}if(!v(e)){if(l)return void n();("function"!=typeof R||R(e))&&(t.clear(),P.current=!0,L())}}}function S(e){if("sloppy"!==o()||!z.current||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement")))return;let t=e.touches[0];if(!t)return;let n=Math.abs(t.clientX-z.current.startX),r=Math.abs(t.clientY-z.current.startY),l=Math.sqrt(n*n+r*r);l>5&&(z.current.dismissOnTouchEnd=!0),l>10&&(g(e),V.clear(),z.current=null)}function E(e){"sloppy"!==o()||!z.current||(0,q.F2)(e,a.select("floatingElement"))||(0,q.F2)(e,a.select("domReferenceElement"))||(z.current.dismissOnTouchEnd&&g(e),V.clear(),z.current=null)}let C=(0,u.R)(d),O=(0,W.g)(h&&(0,W.g)((0,i.q)(C,"keydown",G),(0,i.q)(C,"compositionstart",function(){e.clear(),$.current=!0}),(0,i.q)(C,"compositionend",function(){e.start(5*!!(0,l.Tc)(),()=>{$.current=!1})})),k&&(0,W.g)((0,i.q)(C,"click",b,!0),(0,i.q)(C,"pointerdown",b,!0),(0,i.q)(C,"pointerup",x,!0),(0,i.q)(C,"pointercancel",x,!0),(0,i.q)(C,"mousedown",b,!0),(0,i.q)(C,"mouseup",x,!0),(0,i.q)(C,"touchstart",function(e){U.current="touch",y(e,m)},!0),(0,i.q)(C,"touchmove",function(e){y(e,S)},!0),(0,i.q)(C,"touchend",function(e){y(e,E)},!0)));return()=>{O(),e.clear(),t.clear(),r(),P.current=!1}},[f,d,h,k,R,s,p,I,K,G,L,A,w,a,V]),o.useEffect(L,[R,L]);let J=o.useMemo(()=>({onKeyDown:G,[F[y]]:e=>{_()&&a.setOpen(!1,(0,D.d)(H.Ui,e.nativeEvent))},..."intentional"!==y&&{onClick(e){_()&&a.setOpen(!1,(0,D.d)(H.Ui,e.nativeEvent))}}}),[G,a,y,_]),Q=(0,C.K)(e=>{if(!s||!p||0!==e.button)return;let t=(0,j.EW)(e.nativeEvent);(0,j.gR)(a.select("floatingElement"),t)&&(M.current||(M.current=!0,T.current=!1))}),ee=(0,C.K)(e=>{s&&p&&(e.defaultPrevented||e.nativeEvent.defaultPrevented)&&M.current&&(T.current=!0)}),et=o.useMemo(()=>({onKeyDown:G,onPointerDown:ee,onMouseDown:ee,onClickCapture:Z,onMouseDownCapture(e){Z(),Q(e)},onPointerDownCapture(e){Z(),Q(e)},onMouseUpCapture:Z,onTouchEndCapture:Z,onTouchMoveCapture:Z}),[G,Z,Q,ee]);return o.useMemo(()=>p?{reference:J,floating:et,trigger:J}:{},[p,J,et])}(M,{outsidePressEvent:()=>t.context.internalBackdropRef.current||t.context.backdropRef.current?"intentional":{mouse:"trap-focus"===g?"sloppy":"intentional",touch:"sloppy"},outsidePress(e){if(!t.context.outsidePressEnabledRef.current||"button"in e&&0!==e.button||"touches"in e&&1!==e.touches.length)return!1;let n=(0,j.EW)(e);return!!$&&!v&&(!g||!t.context.internalBackdropRef.current&&!t.context.backdropRef.current||t.context.internalBackdropRef.current===n||t.context.backdropRef.current===n||(0,j.gR)(n,S)&&!(null==n?void 0:n.hasAttribute("data-base-ui-portal")))},escapeKey:$});!function(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;(0,s.g)(()=>{if(e)return m.acquire(t)},[e,t])}(h&&!0===g,S);let{getReferenceProps:G,getFloatingProps:Z,getTriggerProps:J}=function(e=[]){let t=e.map(e=>e?.reference),n=e.map(e=>e?.floating),r=e.map(e=>e?.item),l=e.map(e=>e?.trigger),i=o.useCallback(t=>z(t,e,"reference"),t),a=o.useCallback(t=>z(t,e,"floating"),n),u=o.useCallback(t=>z(t,e,"item"),r),s=o.useCallback(t=>z(t,e,"trigger"),l);return o.useMemo(()=>({getReferenceProps:i,getFloatingProps:a,getItemProps:u,getTriggerProps:s}),[i,a,u,s])}([U,_]);t.useContextCallback("onNestedDialogOpen",(e,t)=>{K(e),L(t)}),t.useContextCallback("onNestedDialogClose",()=>{K(0),L(0)}),o.useEffect(()=>((null==n?void 0:n.onNestedDialogOpen)&&h&&n.onNestedDialogOpen(T+1,V+ +!!p),(null==n?void 0:n.onNestedDialogClose)&&!h&&n.onNestedDialogClose(),()=>{(null==n?void 0:n.onNestedDialogClose)&&h&&n.onNestedDialogClose()}),[p,h,T,V,n]);let Q=o.useMemo(()=>G(E),[G,E]),ee=o.useMemo(()=>J(E),[J,E]),et=o.useMemo(()=>Z(),[Z]);t.useSyncedValues({openMethod:w,activeTriggerProps:Q,inactiveTriggerProps:ee,popupProps:et,floatingRootContext:M,nestedOpenDialogCount:T,nestedOpenDrawerCount:V})}({store:T,actionsRef:S,parentContext:null==k?void 0:k.store.context,isDrawer:A,onOpenChange:p,triggerIdProp:E});let $=o.useMemo(()=>({store:T}),[T]);return(0,Z.jsx)(J.Provider,{value:!1,children:(0,Z.jsx)(L.a.Provider,{value:$,children:"function"==typeof t?t({payload:V}):t})})}},52269:(e,t,n)=>{n.d(t,{i:()=>o,u:()=>r});let r=500,o=16},52627:(e,t,n)=>{n.d(t,{V:()=>v});var r=n(60500),o=n(68549),l=n(9083),i=n(4136),a=n(93166),u=n(21442),s=n(99633),c=n(81522),d=n(89276),f=n(63881),p=n(42801),h=n(54456);let v=r.forwardRef(function(e,t){let{render:n,className:v,orientation:g="vertical",keepMounted:m=!1,style:y,...b}=e,{hovering:x,scrollingX:S,scrollingY:w,hiddenState:E,overflowEdges:R,scrollbarYRef:k,scrollbarXRef:A,viewportRef:C,thumbYRef:M,thumbXRef:O,handlePointerDown:T,handlePointerUp:P,rootId:q,thumbSize:I,hasMeasuredScrollbar:W}=(0,i.p)(),j={hovering:x,scrolling:{horizontal:S,vertical:w}[g],orientation:g,hasOverflowX:!E.x,hasOverflowY:!E.y,overflowXStart:R.xStart,overflowXEnd:R.xEnd,overflowYStart:R.yStart,overflowYEnd:R.yEnd,cornerHidden:E.corner},X=(0,f.j)();r.useEffect(()=>{let e=C.current,t="vertical"===g?k.current:A.current;if(t)return(0,o.q)(t,"wheel",function(n){if(e&&t&&!n.ctrlKey){if(n.preventDefault(),"vertical"===g){if(0===e.scrollTop&&n.deltaY<0)return}else if(0===e.scrollLeft&&n.deltaX<0)return;if("vertical"===g){if(e.scrollTop===e.scrollHeight-e.clientHeight&&n.deltaY>0)return}else if(e.scrollLeft===e.scrollWidth-e.clientWidth&&n.deltaX>0)return;"vertical"===g?e.scrollTop+=n.deltaY:e.scrollLeft+=n.deltaX}},{passive:!1})},[g,A,k,C]);let D={...q&&{"data-id":"".concat(q,"-scrollbar")},onPointerDown(e){if(0!==e.button)return;let t=(0,l.EW)(e.nativeEvent),n="vertical"===g?M.current:O.current;if(!(n&&(0,l.gR)(n,t))&&C.current){if(M.current&&k.current&&"vertical"===g){let t=(0,s.A)(M.current,"margin","y"),n=(0,s.A)(k.current,"padding","y"),r=M.current.offsetHeight,o=k.current.getBoundingClientRect(),l=e.clientY-o.top-r/2-n+t/2,i=C.current.scrollHeight,a=C.current.clientHeight,u=k.current.offsetHeight-r-n-t;C.current.scrollTop=l/u*(i-a)}if(O.current&&A.current&&"horizontal"===g){let t,n=(0,s.A)(O.current,"margin","x"),r=(0,s.A)(A.current,"padding","x"),o=O.current.offsetWidth,l=A.current.getBoundingClientRect(),i=e.clientX-l.left-o/2-r+n/2,a=C.current.scrollWidth,u=C.current.clientWidth,c=i/(A.current.offsetWidth-o-r-n);"rtl"===X?(t=(1-c)*(a-u),C.current.scrollLeft<=0&&(t=-t)):t=c*(a-u),C.current.scrollLeft=t}T(e)}},onPointerUp:P,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",visibility:W||m?void 0:"hidden",..."vertical"===g&&{top:0,bottom:"var(".concat(c.I.scrollAreaCornerHeight,")"),insetInlineEnd:0,[d.q.scrollAreaThumbHeight]:"".concat(I.height,"px")},..."horizontal"===g&&{insetInlineStart:0,insetInlineEnd:"var(".concat(c.I.scrollAreaCornerWidth,")"),bottom:0,[d.q.scrollAreaThumbWidth]:"".concat(I.width,"px")}}},H=(0,u.o)("div",e,{ref:[t,"vertical"===g?k:A],state:j,props:[D,b],stateAttributesMapping:p.r}),Y=r.useMemo(()=>({orientation:g}),[g]),F="vertical"===g?E.y:E.x;return m||!F?(0,h.jsx)(a.G.Provider,{value:Y,children:H}):null})},53573:(e,t,n)=>{e.exports=n(1109)},56747:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("send",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]])},59466:(e,t,n)=>{n.d(t,{Kd:()=>r,z_:()=>o});let r="data-base-ui-click-trigger",o={clipPath:"inset(50%)",position:"fixed",top:0,left:0}},60685:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]])},62267:(e,t,n)=>{n.d(t,{B:()=>S});var r=n(60500),o=n(84503),l=n(83319),i=n(10137),a=n(1114),u=n(4136);let s=r.createContext(void 0);var c=n(21442),d=n(63881),f=n(99633),p=n(52269);function h(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}var v=n(19558),g=n(42801);let m=function(e){return e.scrollAreaOverflowXStart="--scroll-area-overflow-x-start",e.scrollAreaOverflowXEnd="--scroll-area-overflow-x-end",e.scrollAreaOverflowYStart="--scroll-area-overflow-y-start",e.scrollAreaOverflowYEnd="--scroll-area-overflow-y-end",e}({});function y(e,t){if(t<=0)return 0;let n=h(e,0,t),r=t-n,o=n<=1,l=r<=1;return o&&l?n<=r?0:t:o?0:l?t:n}var b=n(54456);let x=!1,S=r.forwardRef(function(e,t){let{render:n,className:S,style:w,...E}=e,{viewportRef:R,scrollbarYRef:k,scrollbarXRef:A,thumbYRef:C,thumbXRef:M,cornerRef:O,cornerSize:T,setCornerSize:P,setThumbSize:q,rootId:I,setHiddenState:W,hiddenState:j,setHasMeasuredScrollbar:X,handleScroll:D,setHovering:H,setOverflowEdges:Y,overflowEdges:F,overflowEdgeThreshold:N,scrollingX:K,scrollingY:z}=(0,u.p)(),V=(0,d.j)(),B=r.useRef(!0),L=r.useRef([NaN,NaN,NaN,NaN]),$=(0,a.Z)(),U=(0,a.Z)(),_=(0,o.K)(()=>{let e=R.current,t=k.current,n=A.current,r=C.current,o=M.current,l=O.current;if(!e)return;let i=e.scrollHeight,a=e.scrollWidth,u=e.clientHeight,s=e.clientWidth,c=e.scrollTop,d=e.scrollLeft,v=L.current,g=Number.isNaN(v[0]);if(v[0]=u,v[1]=i,v[2]=s,v[3]=a,g&&X(!0),0===i||0===a)return;let b=function(e){let t=e.clientHeight>=e.scrollHeight,n=e.clientWidth>=e.scrollWidth;return{y:t,x:n,corner:t||n}}(e),x=b.y,S=b.x,w=s/a,E=u/i,I=Math.max(0,a-s),j=Math.max(0,i-u),D=0,H=0;!S&&(D=y("rtl"===V?h(-d,0,I):h(d,0,I),I),H=I-D);let F=x?0:h(c,0,j),K=x?0:y(F,j),z=x?0:j-K,B=S?0:s,$=x?0:u,U=0,_=0;S||x||(U=(null==t?void 0:t.offsetWidth)||0,_=(null==n?void 0:n.offsetHeight)||0);let G=0===T.width&&0===T.height,Z=G?U:0,J=G?_:0,Q=(0,f.A)(n,"padding","x"),ee=(0,f.A)(t,"padding","y"),et=(0,f.A)(o,"margin","x"),en=(0,f.A)(r,"margin","y"),er=B-Q-et,eo=$-ee-en,el=n?Math.min(n.offsetWidth-Z,er):er,ei=t?Math.min(t.offsetHeight-J,eo):eo,ea=Math.max(p.i,el*w),eu=Math.max(p.i,ei*E);if(q(e=>e.height===eu&&e.width===ea?e:{width:ea,height:eu}),t&&r){let e=t.offsetHeight-eu-ee-en,n=i-u,o=Math.min(e,Math.max(0,(0===n?0:c/n)*e));r.style.transform="translate3d(0,".concat(o,"px,0)")}if(n&&o){let e=n.offsetWidth-ea-Q-et,t=a-s,r=0===t?0:d/t,l="rtl"===V?h(r*e,-e,0):h(r*e,0,e);o.style.transform="translate3d(".concat(l,"px,0,0)")}for(let[t,n]of[[m.scrollAreaOverflowXStart,D],[m.scrollAreaOverflowXEnd,H],[m.scrollAreaOverflowYStart,K],[m.scrollAreaOverflowYEnd,z]])e.style.setProperty(t,"".concat(n,"px"));l&&(S||x?P({width:0,height:0}):S||x||P({width:U,height:_})),W(e=>{var t,n;return t=e,n=b,t.y===n.y&&t.x===n.x&&t.corner===n.corner?t:n});let es={xStart:!S&&D>N.xStart,xEnd:!S&&H>N.xEnd,yStart:!x&&K>N.yStart,yEnd:!x&&z>N.yEnd};Y(e=>e.xStart===es.xStart&&e.xEnd===es.xEnd&&e.yStart===es.yStart&&e.yEnd===es.yEnd?e:es)});function G(){B.current=!1}(0,l.g)(()=>{R.current&&(x||i.Tc||("undefined"!=typeof CSS&&"registerProperty"in CSS&&[m.scrollAreaOverflowXStart,m.scrollAreaOverflowXEnd,m.scrollAreaOverflowYStart,m.scrollAreaOverflowYEnd].forEach(e=>{try{CSS.registerProperty({name:e,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch(e){}}),x=!0))},[R]),(0,l.g)(()=>{queueMicrotask(_)},[_,j,V]),(0,l.g)(()=>{var e;(null==(e=R.current)?void 0:e.matches(":hover"))&&H(!0)},[R,H]),r.useEffect(()=>{let e=R.current;if("undefined"==typeof ResizeObserver||!e)return;let t=!1,n=new ResizeObserver(()=>{if(!t){t=!0;let n=L.current;if(n[0]===e.clientHeight&&n[1]===e.scrollHeight&&n[2]===e.clientWidth&&n[3]===e.scrollWidth)return}_()});return n.observe(e),U.start(0,()=>{let t=e.getAnimations({subtree:!0});0!==t.length&&Promise.allSettled(t.map(e=>e.finished)).then(_).catch(()=>{})}),()=>{n.disconnect(),U.clear()}},[_,R,U]);let Z={role:"presentation",...I&&{"data-id":"".concat(I,"-viewport")},tabIndex:j.x&&j.y?-1:0,className:v.E.className,style:{overflow:"scroll"},onScroll(){R.current&&(_(),B.current||D({x:R.current.scrollLeft,y:R.current.scrollTop}),$.start(100,()=>{B.current=!0}))},onWheel:G,onTouchMove:G,onPointerMove:G,onPointerEnter:G,onKeyDown:G},J=r.useMemo(()=>({scrolling:K||z,hasOverflowX:!j.x,hasOverflowY:!j.y,overflowXStart:F.xStart,overflowXEnd:F.xEnd,overflowYStart:F.yStart,overflowYEnd:F.yEnd,cornerHidden:j.corner}),[K,z,j.x,j.y,j.corner,F]),Q=(0,c.o)("div",e,{ref:[t,R],state:J,props:[Z,E],stateAttributesMapping:g.r}),ee=r.useMemo(()=>({computeThumbPosition:_}),[_]);return(0,b.jsx)(s.Provider,{value:ee,children:Q})})},63620:(e,t,n)=>{n.d(t,{X:()=>s});var r=n(60500),o=n(43071),l=n(21442),i=n(41767),a=n(86175);let u={...i.GW,...a.G},s=r.forwardRef(function(e,t){let{render:n,className:r,style:i,forceRender:a=!1,...s}=e,{store:c}=(0,o.P)(),d=c.useState("open"),f=c.useState("nested"),p=c.useState("mounted"),h=c.useState("transitionStatus");return(0,l.o)("div",e,{state:{open:d,transitionStatus:h},ref:[c.context.backdropRef,t],stateAttributesMapping:u,props:[{role:"presentation",hidden:!p,style:{userSelect:"none",WebkitUserSelect:"none"}},s],enabled:a||!f})})},63881:(e,t,n)=>{n.d(t,{j:()=>l});var r=n(60500);let o=r.createContext(void 0);function l(){var e;let t=r.useContext(o);return null!=(e=null==t?void 0:t.direction)?e:"ltr"}},67276:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("mic-off",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M15 9.34V5a3 3 0 0 0-5.68-1.33",key:"1gzdoj"}],["path",{d:"M16.95 16.95A7 7 0 0 1 5 12v-2",key:"cqa7eg"}],["path",{d:"M18.89 13.23A7 7 0 0 0 19 12v-2",key:"16hl24"}],["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M9 9v3a3 3 0 0 0 5.12 2.12",key:"r2i35w"}]])},68549:(e,t,n)=>{n.d(t,{q:()=>r});function r(e,t,n,r){return e.addEventListener(t,n,r),()=>{e.removeEventListener(t,n,r)}}},69055:(e,t,n)=>{n.d(t,{h:()=>es});var r=n(60500),o=n(39827),l=n(68549),i=n(69269),a=n(75033),u=n(83319),s=n(93502);function c(e){let t=(0,s.j)(d,e).current;return t.next=e,(0,u.g)(t.effect),t}function d(e){let t={current:e,next:e,effect:()=>{t.current=t.next}};return t}var f=n(84503),p=n(1114),h=n(10137),v=n(89748),g=n(5227),m=n(91500),y=n(9083),b=n(29478),x=n(88742),S=n(29513),w=n(26943),E=n(77081),R=n(37288),k=n(13290),A=n(74442),C=n(56601);let M=0;function O(e,t={}){let{preventScroll:n=!1,cancelPrevious:r=!0,sync:o=!1}=t;r&&cancelAnimationFrame(M);let l=()=>e?.focus({preventScroll:n});if(o)return l(),C.tE;let i=requestAnimationFrame(l);return M=i,()=>{M===i&&(cancelAnimationFrame(i),M=0)}}let T={inert:new WeakMap,"aria-hidden":new WeakMap},P="data-base-ui-inert",q={inert:new WeakSet,"aria-hidden":new WeakSet},I=new WeakMap,W=0,j=(e,t)=>t.map(t=>{if(e.contains(t))return t;let n=function e(t){return t?(0,o.Ng)(t)?t.host:e(t.parentNode):null}(t);return e.contains(n)?n:null}).filter(e=>null!=e),X=e=>{let t=new Set;return e.forEach(e=>{let n=e;for(;n&&!t.has(n);)t.add(n),n=n.parentNode}),t},D=(e,t,n)=>{let r=[],l=e=>{!e||n.has(e)||Array.from(e.children).forEach(e=>{"script"!==(0,o.mq)(e)&&(t.has(e)?l(e):r.push(e))})};return l(e),r};function H(e,t={}){let{ariaHidden:n=!1,inert:r=!1,mark:o=!0,markerIgnoreElements:l=[]}=t,i=(0,g.R)(e[0]).body;return function(e,t,n,r,{mark:o=!0,markerIgnoreElements:l=[]}){let i=r?"inert":n?"aria-hidden":null,a=null,u=null,s=j(t,e),c=new Set(o?j(t,l):[]),d=o?D(t,X(s),new Set(s)).filter(e=>!c.has(e)):[],f=[],p=[];if(i){let e=T[i],n=q[i];u=n,a=e;let r=j(t,Array.from(t.querySelectorAll("[aria-live]"))),o=s.concat(r);D(t,X(o),new Set(o)).forEach(t=>{let r=t.getAttribute(i),o=null!==r&&"false"!==r,l=(e.get(t)||0)+1;e.set(t,l),f.push(t),1===l&&o&&n.add(t),o||t.setAttribute(i,"inert"===i?"":"true")})}return o&&d.forEach(e=>{let t=(I.get(e)||0)+1;I.set(e,t),p.push(e),1===t&&e.setAttribute(P,"")}),W+=1,()=>{a&&f.forEach(e=>{let t=(a.get(e)||0)-1;a.set(e,t),t||(!u?.has(e)&&i&&e.removeAttribute(i),u?.delete(e))}),o&&p.forEach(e=>{let t=(I.get(e)||0)-1;I.set(e,t),t||e.removeAttribute(P)}),(W-=1)||(T.inert=new WeakMap,T["aria-hidden"]=new WeakMap,q.inert=new WeakSet,q["aria-hidden"]=new WeakSet,I=new WeakMap)}}(e,i,n,r,{mark:o,markerIgnoreElements:l})}var Y=n(13189),F=n(14315),N=n(59466),K=n(85733),z=n(54456);let V=[];function B(){V=V.filter(e=>{var t;return null==(t=e.deref())?void 0:t.isConnected})}function L(){var e;return B(),null==(e=V[V.length-1])?void 0:e.deref()}function $(e,t){var n;if(e.hasAttribute("tabindex")&&!e.hasAttribute("data-tabindex")||!t.current.includes("floating")&&!(null==(n=e.getAttribute("role"))?void 0:n.includes("dialog")))return;let r=(0,S.nq)(e).filter(e=>{let t=e.getAttribute("data-tabindex")||"";return(0,S.AO)(e)||e.hasAttribute("data-tabindex")&&!t.startsWith("-")}),o=e.getAttribute("tabindex");t.current.includes("floating")||0===r.length?"0"!==o&&e.setAttribute("tabindex","0"):("-1"!==o||e.hasAttribute("data-tabindex")&&"-1"!==e.getAttribute("data-tabindex"))&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}function U(e){let{context:t,children:n,disabled:s=!1,initialFocus:d=!0,returnFocus:C=!0,restoreFocus:M=!1,modal:T=!0,closeOnFocusOut:P=!0,openInteractionType:q="",nextFocusableElement:I,previousFocusableElement:W,beforeContentFocusGuardRef:j,externalTree:X,getInsideElements:D}=e,U="rootStore"in t?t.rootStore:t,_=U.useState("open"),G=U.useState("domReferenceElement"),Z=U.useState("floatingElement"),{events:J,dataRef:Q}=U.context,ee=(0,f.K)(()=>{var e;return null==(e=Q.current.floatingContext)?void 0:e.nodeId}),et=!1===d,en=(0,b.WZ)(G)&&et,er=r.useRef(["content"]),eo=c(d),el=c(C),ei=c(q),ea=(0,F.cq)(X),eu=(0,Y.vB)(),es=r.useRef(!1),ec=r.useRef(!1),ed=r.useRef(!1),ef=r.useRef(null),ep=r.useRef(""),eh=r.useRef(""),ev=r.useRef(null),eg=r.useRef(null),em=(0,a.a)(ev,j,null==eu?void 0:eu.beforeInsideRef),ey=(0,a.a)(eg,null==eu?void 0:eu.afterInsideRef),eb=(0,p.Z)(),ex=(0,p.Z)(),eS=(0,v.N)(),ew=null!=eu,eE=(0,b.nd)(Z),eR=(0,f.K)(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:eE;return e?(0,S.Kr)(e):[]}),ek=(0,f.K)(()=>{var e;return null!=(e=null==D?void 0:D().filter(e=>null!=e))?e:[]});r.useEffect(()=>{if(s||!T)return;let e=(0,g.R)(eE);return(0,l.q)(e,"keydown",function(e){"Tab"===e.key&&(0,y.gR)(eE,(0,y.RS)((0,g.R)(eE)))&&0===eR().length&&!en&&(0,x.jo)(e)})},[s,G,eE,T,er,en,eR]),r.useEffect(()=>{if(s||!_)return;let e=(0,g.R)(eE);function t(){ed.current=!1}return(0,i.g)((0,l.q)(e,"pointerdown",function(e){let t=(0,y.EW)(e),n=ek();ed.current=!((0,y.gR)(Z,t)||(0,y.gR)(G,t)||(0,y.gR)(null==eu?void 0:eu.portalNode,t)||n.some(e=>e===t||(0,y.gR)(e,t))),eh.current=e.pointerType||"keyboard",(null==t?void 0:t.closest("[".concat(N.Kd,"]")))&&(ec.current=!0)},!0),(0,l.q)(e,"pointerup",t,!0),(0,l.q)(e,"pointercancel",t,!0),(0,l.q)(e,"keydown",function(){eh.current="keyboard"},!0))},[s,Z,G,eE,_,eu,ek]),r.useEffect(()=>{if(s||!P)return;let e=(0,g.R)(eE);function t(t){let n=t.relatedTarget,r=t.currentTarget,l=(0,y.EW)(t);queueMicrotask(()=>{let i=ee(),a=U.context.triggerElements,u=ek(),s=(null==n?void 0:n.hasAttribute((0,A.F)("focus-guard")))&&[ev.current,eg.current,null==eu?void 0:eu.beforeInsideRef.current,null==eu?void 0:eu.afterInsideRef.current,null==eu?void 0:eu.beforeOutsideRef.current,null==eu?void 0:eu.afterOutsideRef.current,(0,K.q)(W),(0,K.q)(I)].includes(n),c=!((0,y.gR)(G,n)||(0,y.gR)(Z,n)||(0,y.gR)(n,Z)||(0,y.gR)(null==eu?void 0:eu.portalNode,n)||u.some(e=>e===n||(0,y.gR)(e,n))||null!=n&&a.hasElement(n)||a.hasMatchingElement(e=>(0,y.gR)(e,n))||s||ea&&((0,w.CM)(ea.nodesRef.current,i).find(e=>{var t,r;return(0,y.gR)(null==(t=e.context)?void 0:t.elements.floating,n)||(0,y.gR)(null==(r=e.context)?void 0:r.elements.domReference,n)})||(0,w.$4)(ea.nodesRef.current,i).find(e=>{var t,r,o;return[null==(t=e.context)?void 0:t.elements.floating,(0,b.nd)(null==(r=e.context)?void 0:r.elements.floating)].includes(n)||(null==(o=e.context)?void 0:o.elements.domReference)===n})));if(r===G&&eE&&$(eE,er),M&&r!==G&&!(0,E.J9)(l)&&(0,y.RS)(e)===e.body){if((0,o.sb)(eE)&&(eE.focus(),"popup"===M))return void eS.request(()=>{eE.focus()});let e=eR(),t=ef.current,n=(t&&e.includes(t)?t:null)||e[e.length-1]||eE;(0,o.sb)(n)&&n.focus()}if(Q.current.insideReactTree){Q.current.insideReactTree=!1;return}(en||!T)&&n&&c&&!ec.current&&(en||n!==L())&&(es.current=!0,U.setOpen(!1,(0,R.d)(k.Xn,t)))})}let n=(0,o.sb)(G)?G:null;if(Z||n)return(0,i.g)(n&&(0,l.q)(n,"focusout",t),n&&(0,l.q)(n,"pointerdown",function(){ec.current=!0,ex.start(0,()=>{ec.current=!1})}),Z&&(0,l.q)(Z,"focusin",function(e){let t=(0,y.EW)(e);(0,S.AO)(t)&&(ef.current=t)}),Z&&(0,l.q)(Z,"focusout",t),Z&&eu&&(0,l.q)(Z,"focusout",function(){ed.current||(Q.current.insideReactTree=!0,eb.start(0,()=>{Q.current.insideReactTree=!1}))},!0))},[s,G,Z,eE,T,ea,eu,U,P,M,eR,en,ee,er,Q,eb,ex,eS,I,W,ek]),r.useEffect(()=>{var e,t,n;if(s||!Z||!_)return;let r=Array.from((null==eu||null==(e=eu.portalNode)?void 0:e.querySelectorAll("[".concat((0,A.F)("portal"),"]")))||[]),o=null==(n=(ea?(0,w.$4)(ea.nodesRef.current,ee()):[]).find(e=>{var t;return(0,b.WZ)((null==(t=e.context)?void 0:t.elements.domReference)||null)}))||null==(t=n.context)?void 0:t.elements.domReference,l=H([Z,...r,ev.current,eg.current,null==eu?void 0:eu.beforeOutsideRef.current,null==eu?void 0:eu.afterOutsideRef.current,...ek(),o,(0,K.q)(W),(0,K.q)(I),en?G:null].filter(e=>null!=e),{ariaHidden:T||en,mark:!1}),i=H([Z,...r].filter(e=>null!=e));return()=>{i(),l()}},[_,s,G,Z,T,er,eu,en,ea,ee,I,W,ek]),(0,u.g)(()=>{if(!_||s||!(0,o.sb)(eE))return;let e=(0,g.R)(eE),t=(0,y.RS)(e);queueMicrotask(()=>{let e,n=eo.current,r="function"==typeof n?n(ei.current||""):n;if(void 0===r||!1===r||(0,y.gR)(eE,t))return;let o=null,l=()=>(null==o&&(o=eR(eE)),o[0]||eE);O(e=(e=!0===r||null===r?l():(0,K.q)(r))||l(),{preventScroll:e===eE})})},[s,_,eE,et,eR,eo,ei]),(0,u.g)(()=>{var e;if(s||!eE)return;let t=(0,g.R)(eE);function n(e){if(e.open||(ep.current=function(e,t){let n=(0,o.zk)((0,y.EW)(e));return e instanceof n.KeyboardEvent?"keyboard":e instanceof n.FocusEvent?t||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof n.MouseEvent?t||(0===e.detail?"keyboard":"mouse"):""}(e.nativeEvent,eh.current)),e.reason===k.N7&&"mouseleave"===e.nativeEvent.type&&(es.current=!0),e.reason===k.Np)if(e.nested)es.current=!1;else if((0,x.YF)(e.nativeEvent)||(0,x.Pg)(e.nativeEvent))es.current=!1;else{let e=!1;(0,g.R)(eE).createElement("div").focus({get preventScroll(){return e=!0,!1}}),e?es.current=!1:es.current=!0}}return e=(0,y.RS)(t),B(),e&&"body"!==(0,o.mq)(e)&&(V.push(new WeakRef(e)),V.length>20&&(V=V.slice(-20))),J.on("openchange",n),()=>{J.off("openchange",n);let e=(0,y.RS)(t),r=ek(),l=(0,y.gR)(Z,e)||r.some(t=>t===e||(0,y.gR)(t,e))||ea&&(0,w.CM)(ea.nodesRef.current,ee(),!1).some(t=>{var n;return(0,y.gR)(null==(n=t.context)?void 0:n.elements.floating,e)}),i=el.current,a=function(){let e=el.current,t="function"==typeof e?e(ep.current):e;if(void 0===t||!1===t)return null;if(null===t&&(t=!0),"boolean"==typeof t){let e=G||L();return e&&e.isConnected?e:null}let n=G||L();return(0,K.q)(t)||n||null}();queueMicrotask(()=>{let n=a?(0,S.AO)(a)?a:(0,S.Kr)(a)[0]||a:null;i&&!es.current&&(0,o.sb)(n)&&("boolean"!=typeof i||n===e||e===t.body||l)&&n.focus({preventScroll:!0}),es.current=!1})}},[s,Z,eE,el,Q,J,ea,G,ee,ek]),(0,u.g)(()=>{if(!h.Tc||_||!Z)return;let e=(0,y.RS)((0,g.R)(Z));(0,o.sb)(e)&&(0,b.$u)(e)&&(0,y.gR)(Z,e)&&e.blur()},[_,Z]),(0,u.g)(()=>{if(!s&&eu)return eu.setFocusManagerState({modal:T,closeOnFocusOut:P,open:_,onOpenChange:U.setOpen,domReference:G}),()=>{eu.setFocusManagerState(null)}},[s,eu,T,_,U,P,G]),(0,u.g)(()=>{if(!s&&eE)return $(eE,er),()=>{queueMicrotask(B)}},[s,eE,er]);let eA=!s&&(!T||!en)&&(ew||T);return(0,z.jsxs)(r.Fragment,{children:[eA&&(0,z.jsx)(m.U,{"data-type":"inside",ref:em,onFocus:e=>{if(T){let e=eR();O(e[e.length-1])}else if(null==eu?void 0:eu.portalNode)if(es.current=!1,(0,S.Qp)(e,eu.portalNode)){let e=(0,S.vF)(G);null==e||e.focus()}else{var t;null==(t=(0,K.q)(null!=W?W:eu.beforeOutsideRef))||t.focus()}}}),n,eA&&(0,z.jsx)(m.U,{"data-type":"inside",ref:ey,onFocus:e=>{if(T)O(eR()[0]);else if(null==eu?void 0:eu.portalNode)if(P&&(es.current=!0),(0,S.Qp)(e,eu.portalNode)){let e=(0,S.XJ)(G);null==e||e.focus()}else{var t;null==(t=(0,K.q)(null!=I?I:eu.afterOutsideRef))||t.focus()}}})]})}var _=n(43071),G=n(21442),Z=n(41767),J=n(86175);let Q=function(e){return e.nestedDialogs="--nested-dialogs",e}({}),ee=function(e){return e[e.open=Z.lP.open]="open",e[e.closed=Z.lP.closed]="closed",e[e.startingStyle=Z.lP.startingStyle]="startingStyle",e[e.endingStyle=Z.lP.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e}({});var et=n(85951),en=n(8729);let er="ArrowUp",eo="ArrowDown",el="ArrowLeft",ei="ArrowRight";[...new Set([...new Set([el,ei]),...new Set([er,eo])])];let ea=new Set([er,eo,el,ei,"Home","End"]),eu={...Z.GW,...J.G,nestedDialogOpen:e=>e?{[ee.nestedDialogOpen]:""}:null},es=r.forwardRef(function(e,t){let{className:n,finalFocus:r,initialFocus:o,render:l,style:i,...a}=e,{store:u}=(0,_.P)(),s=u.useState("descriptionElementId"),c=u.useState("disablePointerDismissal"),d=u.useState("floatingRootContext"),f=u.useState("popupProps"),p=u.useState("modal"),h=u.useState("mounted"),v=u.useState("nested"),g=u.useState("nestedOpenDialogCount"),m=u.useState("open"),y=u.useState("openMethod"),b=u.useState("titleElementId"),x=u.useState("transitionStatus"),S=u.useState("role");(0,et.p)(),(0,en.v)({open:m,ref:u.context.popupRef,onComplete(){if(m){var e,t;null==(e=(t=u.context).onOpenChangeComplete)||e.call(t,!0)}}});let w=void 0===o?function(e){return"touch"!==e||u.context.popupRef.current}:o,E=(0,G.o)("div",e,{state:{open:m,nested:v,transitionStatus:x,nestedDialogOpen:g>0},props:[f,{"aria-labelledby":null!=b?b:void 0,"aria-describedby":null!=s?s:void 0,role:S,tabIndex:-1,hidden:!h,onKeyDown(e){ea.has(e.key)&&e.stopPropagation()},style:{[Q.nestedDialogs]:g}},a],ref:[t,u.context.popupRef,u.useStateSetter("popupElement")],stateAttributesMapping:eu});return(0,z.jsx)(U,{context:d,openInteractionType:y,disabled:!h,closeOnFocusOut:!c,initialFocus:w,returnFocus:r,modal:!1!==p,restoreFocus:"popup",children:E})})},69269:(e,t,n)=>{n.d(t,{g:()=>r});function r(...e){return()=>{for(let t=0;t<e.length;t+=1){let n=e[t];n&&n()}}}},74442:(e,t,n)=>{n.d(t,{F:()=>r});function r(e){return`data-base-ui-${e}`}},75361:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},75591:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},77081:(e,t,n)=>{n.d(t,{J9:()=>o});var r=n(39827);function o(e,t=e?(0,r.L9)(e):null){var n;return!!e&&!!e.isConnected&&!!t&&"hidden"!==(n=t).visibility&&"collapse"!==n.visibility&&("function"==typeof e.checkVisibility?e.checkVisibility():"none"!==t.display&&"contents"!==t.display)}},78130:(e,t,n)=>{n.d(t,{r:()=>a});var r=n(60500),o=n(43071),l=n(21442),i=n(38806);let a=r.forwardRef(function(e,t){let{render:n,className:r,style:a,id:u,...s}=e,{store:c}=(0,o.P)(),d=(0,i.e)(u);return c.useSyncedValueWithCleanup("descriptionElementId",d),(0,l.o)("p",e,{ref:t,props:[{id:d},s]})})},79120:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("list-tree",[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]])},81446:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},81522:(e,t,n)=>{n.d(t,{I:()=>r});let r=function(e){return e.scrollAreaCornerHeight="--scroll-area-corner-height",e.scrollAreaCornerWidth="--scroll-area-corner-width",e}({})},85733:(e,t,n)=>{n.d(t,{q:()=>r});function r(e){return null==e?e:"current"in e?e.current:e}},85767:(e,t,n)=>{n.d(t,{l:()=>u});var r=n(60500),o=n(4136),l=n(93166),i=n(89276),a=n(21442);let u=r.forwardRef(function(e,t){let{render:n,className:r,style:u,...s}=e,{thumbYRef:c,thumbXRef:d,handlePointerDown:f,handlePointerMove:p,handlePointerUp:h,setScrollingX:v,setScrollingY:g,hasMeasuredScrollbar:m}=(0,o.p)(),{orientation:y}=(0,l.r)();return(0,a.o)("div",e,{ref:[t,"vertical"===y?c:d],state:{orientation:y},props:[{onPointerDown:f,onPointerMove:p,onPointerUp(e){"vertical"===y&&g(!1),"horizontal"===y&&v(!1),h(e)},style:{visibility:m?void 0:"hidden",..."vertical"===y&&{height:"var(".concat(i.q.scrollAreaThumbHeight,")")},..."horizontal"===y&&{width:"var(".concat(i.q.scrollAreaThumbWidth,")")}}},s]})})},85951:(e,t,n)=>{n.d(t,{m:()=>l,p:()=>i});var r=n(97102),o=n(60500);let l=o.createContext(void 0);function i(){let e=o.useContext(l);if(void 0===e)throw Error((0,r.A)(26));return e}},86175:(e,t,n)=>{n.d(t,{G:()=>i,T:()=>r});let r=function(e){return e.startingStyle="data-starting-style",e.endingStyle="data-ending-style",e}({}),o={[r.startingStyle]:""},l={[r.endingStyle]:""},i={transitionStatus:e=>"starting"===e?o:"ending"===e?l:null}},86357:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]])},88742:(e,t,n)=>{n.d(t,{Ev:()=>u,O_:()=>l,Pg:()=>a,YF:()=>i,jo:()=>o});var r=n(10137);function o(e){e.preventDefault(),e.stopPropagation()}function l(e){return"nativeEvent"in e}function i(e){return""===e.pointerType&&!!e.isTrusted||(r.m0&&e.pointerType?"click"===e.type&&1===e.buttons:0===e.detail&&!e.pointerType)}function a(e){return!r.KT&&(!r.m0&&0===e.width&&0===e.height||r.m0&&1===e.width&&1===e.height&&0===e.pressure&&0===e.detail&&"mouse"===e.pointerType||e.width<1&&e.height<1&&0===e.pressure&&0===e.detail&&"touch"===e.pointerType)}function u(e){let t=e.type;return"click"===t||"mousedown"===t||"keydown"===t||"keyup"===t}},89276:(e,t,n)=>{n.d(t,{q:()=>r});let r=function(e){return e.scrollAreaThumbHeight="--scroll-area-thumb-height",e.scrollAreaThumbWidth="--scroll-area-thumb-width",e}({})},89748:(e,t,n)=>{n.d(t,{K:()=>a,N:()=>u});var r=n(93502),o=n(13291);globalThis.requestAnimationFrame;class l{request(e){let t=this.nextId;return this.nextId+=1,this.callbacks.push(e),this.callbacksCount+=1,this.isScheduled||(requestAnimationFrame(this.tick),this.isScheduled=!0),t}cancel(e){let t=e-this.startId;t<0||t>=this.callbacks.length||(this.callbacks[t]=null,this.callbacksCount-=1)}constructor(){this.callbacks=[],this.callbacksCount=0,this.nextId=1,this.startId=1,this.isScheduled=!1,this.tick=e=>{this.isScheduled=!1;let t=this.callbacks,n=this.callbacksCount;if(this.callbacks=[],this.callbacksCount=0,this.startId=this.nextId,n>0)for(let n=0;n<t.length;n+=1){var r;null==(r=t[n])||r.call(t,e)}}}}let i=new l;class a{static create(){return new a}static request(e){return i.request(e)}static cancel(e){return i.cancel(e)}request(e){this.cancel(),this.currentId=i.request(()=>{this.currentId=null,e()})}constructor(){this.currentId=null,this.cancel=()=>{null!==this.currentId&&(i.cancel(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.cancel}}function u(){let e=(0,r.j)(a.create).current;return(0,o.y)(e.disposeEffect),e}},91500:(e,t,n)=>{n.d(t,{U:()=>s});var r=n(60500),o=n(83319),l=n(10137);let i={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},a={...i,position:"fixed",top:0,left:0};({...i,position:"absolute"});var u=n(54456);let s=r.forwardRef(function(e,t){let[n,i]=r.useState();return(0,o.g)(()=>{l.nr&&i("button")},[]),(0,u.jsx)("span",{...e,ref:t,style:a,"aria-hidden":!n||void 0,tabIndex:0,role:n,"data-base-ui-focus-guard":""})})},93166:(e,t,n)=>{n.d(t,{G:()=>l,r:()=>i});var r=n(97102),o=n(60500);let l=o.createContext(void 0);function i(){let e=o.useContext(l);if(void 0===e)throw Error((0,r.A)(54));return e}},93684:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]])},96783:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(18494).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])},99633:(e,t,n)=>{n.d(t,{A:()=>r});function r(e,t,n){if(!e)return 0;let r=getComputedStyle(e),o="x"===n?"Inline":"Block";return"x"===n&&"margin"===t?2*parseFloat(r[`${t}InlineStart`]):parseFloat(r[`${t}${o}Start`])+parseFloat(r[`${t}${o}End`])}}}]);