@hienlh/ppm 0.22.5 → 0.22.6

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 (283) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/assets/skills/ppm/SKILL.md +1 -1
  3. package/assets/skills/ppm/references/cli-reference.md +4 -4
  4. package/assets/skills/ppm/references/http-api.md +1 -1
  5. package/dist/web/assets/{accounts-settings-section-BoTvueNs.js → accounts-settings-section-SoZ-zMqL.js} +1 -1
  6. package/dist/web/assets/accounts-settings-section-SoZ-zMqL.js.br +0 -0
  7. package/dist/web/assets/accounts-settings-section-SoZ-zMqL.js.gz +0 -0
  8. package/dist/web/assets/{ai-resource-editor-BZz447ab.js → ai-resource-editor-b9DtpHrO.js} +1 -1
  9. package/dist/web/assets/ai-resource-editor-b9DtpHrO.js.br +0 -0
  10. package/dist/web/assets/ai-resource-editor-b9DtpHrO.js.gz +0 -0
  11. package/dist/web/assets/{ai-settings-section-DaBrO2Ce.js → ai-settings-section-BLXcu7H0.js} +1 -1
  12. package/dist/web/assets/{ai-settings-section-DR6ZplH4.js → ai-settings-section-CC8fy0wr.js} +1 -1
  13. package/dist/web/assets/ai-settings-section-CC8fy0wr.js.br +0 -0
  14. package/dist/web/assets/ai-settings-section-CC8fy0wr.js.gz +0 -0
  15. package/dist/web/assets/{appearance-settings-section-JSk2rrSM.js → appearance-settings-section-DrlvGnmZ.js} +1 -1
  16. package/dist/web/assets/appearance-settings-section-DrlvGnmZ.js.br +0 -0
  17. package/dist/web/assets/appearance-settings-section-DrlvGnmZ.js.gz +0 -0
  18. package/dist/web/assets/{branch-review-tab-BTobiTaa.js → branch-review-tab-BbzN5p9l.js} +1 -1
  19. package/dist/web/assets/branch-review-tab-BbzN5p9l.js.br +0 -0
  20. package/dist/web/assets/branch-review-tab-BbzN5p9l.js.gz +0 -0
  21. package/dist/web/assets/{chat-tab-XT-23JtV.js → chat-tab-zWnjUbGY.js} +3 -3
  22. package/dist/web/assets/chat-tab-zWnjUbGY.js.br +0 -0
  23. package/dist/web/assets/chat-tab-zWnjUbGY.js.gz +0 -0
  24. package/dist/web/assets/{code-editor-Jmst2xot.js → code-editor-Dsd0-t0B.js} +3 -3
  25. package/dist/web/assets/code-editor-Dsd0-t0B.js.br +0 -0
  26. package/dist/web/assets/code-editor-Dsd0-t0B.js.gz +0 -0
  27. package/dist/web/assets/{codex-daily-guard-C3m_OZs9.js → codex-daily-guard-5P7_OmUb.js} +1 -1
  28. package/dist/web/assets/codex-daily-guard-5P7_OmUb.js.br +0 -0
  29. package/dist/web/assets/codex-daily-guard-5P7_OmUb.js.gz +0 -0
  30. package/dist/web/assets/{conflict-editor-BYRCRGXw.js → conflict-editor-BGcWuObI.js} +1 -1
  31. package/dist/web/assets/conflict-editor-BGcWuObI.js.br +0 -0
  32. package/dist/web/assets/conflict-editor-BGcWuObI.js.gz +0 -0
  33. package/dist/web/assets/{csv-preview-D7OFzZJY.js → csv-preview-CSmQdPkY.js} +1 -1
  34. package/dist/web/assets/csv-preview-CSmQdPkY.js.br +0 -0
  35. package/dist/web/assets/csv-preview-CSmQdPkY.js.gz +0 -0
  36. package/dist/web/assets/{database-viewer-SSbCY87C.js → database-viewer-h7ffU0AC.js} +1 -1
  37. package/dist/web/assets/database-viewer-h7ffU0AC.js.br +0 -0
  38. package/dist/web/assets/database-viewer-h7ffU0AC.js.gz +0 -0
  39. package/dist/web/assets/{diff-viewer-CdYarQJB.js → diff-viewer-DgUhjbEV.js} +1 -1
  40. package/dist/web/assets/diff-viewer-DgUhjbEV.js.br +0 -0
  41. package/dist/web/assets/diff-viewer-DgUhjbEV.js.gz +0 -0
  42. package/dist/web/assets/{editor-language-service-DfbGcR8Z.js → editor-language-service-B_bF-m5B.js} +1 -1
  43. package/dist/web/assets/editor-language-service-B_bF-m5B.js.br +0 -0
  44. package/dist/web/assets/editor-language-service-B_bF-m5B.js.gz +0 -0
  45. package/dist/web/assets/{explorer-body-wFbIJgNp.js → explorer-body-DRrd8uMc.js} +1 -1
  46. package/dist/web/assets/explorer-body-DRrd8uMc.js.br +0 -0
  47. package/dist/web/assets/explorer-body-DRrd8uMc.js.gz +0 -0
  48. package/dist/web/assets/{explorer-window-content-DYq7KGcO.js → explorer-window-content-zc-kA_lW.js} +1 -1
  49. package/dist/web/assets/explorer-window-content-zc-kA_lW.js.br +0 -0
  50. package/dist/web/assets/explorer-window-content-zc-kA_lW.js.gz +0 -0
  51. package/dist/web/assets/{extension-manager-section-CCefvD3E.js → extension-manager-section-BimH6DIA.js} +1 -1
  52. package/dist/web/assets/extension-manager-section-BimH6DIA.js.br +0 -0
  53. package/dist/web/assets/extension-manager-section-BimH6DIA.js.gz +0 -0
  54. package/dist/web/assets/{extension-webview-FTboocO5.js → extension-webview-DJYTtv-_.js} +1 -1
  55. package/dist/web/assets/extension-webview-DJYTtv-_.js.br +0 -0
  56. package/dist/web/assets/extension-webview-DJYTtv-_.js.gz +0 -0
  57. package/dist/web/assets/{files-settings-section-UVl8GQsn.js → files-settings-section-B0jy7Rez.js} +1 -1
  58. package/dist/web/assets/files-settings-section-B0jy7Rez.js.br +0 -0
  59. package/dist/web/assets/files-settings-section-B0jy7Rez.js.gz +0 -0
  60. package/dist/web/assets/{general-settings-section-xGc2e0nY.js → general-settings-section-MmIFyRwa.js} +1 -1
  61. package/dist/web/assets/general-settings-section-MmIFyRwa.js.br +0 -0
  62. package/dist/web/assets/general-settings-section-MmIFyRwa.js.gz +0 -0
  63. package/dist/web/assets/{git-log-panel-CssMDe8Y.js → git-log-panel-BCTP0Wht.js} +1 -1
  64. package/dist/web/assets/git-log-panel-BCTP0Wht.js.br +0 -0
  65. package/dist/web/assets/git-log-panel-BCTP0Wht.js.gz +0 -0
  66. package/dist/web/assets/{glide-data-grid-Bhwst_aN.js → glide-data-grid-CrE5DlCa.js} +1 -1
  67. package/dist/web/assets/glide-data-grid-CrE5DlCa.js.br +0 -0
  68. package/dist/web/assets/glide-data-grid-CrE5DlCa.js.gz +0 -0
  69. package/dist/web/assets/{group-chat-tab-BwKqWjpw.js → group-chat-tab-DxS-3-0R.js} +1 -1
  70. package/dist/web/assets/group-chat-tab-DxS-3-0R.js.br +0 -0
  71. package/dist/web/assets/group-chat-tab-DxS-3-0R.js.gz +0 -0
  72. package/dist/web/assets/{index-CFa7UeZs.js → index-C2luKRaD.js} +4 -4
  73. package/dist/web/assets/index-C2luKRaD.js.br +0 -0
  74. package/dist/web/assets/index-C2luKRaD.js.gz +0 -0
  75. package/dist/web/assets/index-C3lfHthr.css +1 -0
  76. package/dist/web/assets/index-C3lfHthr.css.br +0 -0
  77. package/dist/web/assets/index-C3lfHthr.css.gz +0 -0
  78. package/dist/web/assets/{jira-watcher-section-twnJI1tr.js → jira-watcher-section-CUGDYREo.js} +1 -1
  79. package/dist/web/assets/jira-watcher-section-CUGDYREo.js.br +0 -0
  80. package/dist/web/assets/jira-watcher-section-CUGDYREo.js.gz +0 -0
  81. package/dist/web/assets/{keybindings-store-BRiD4H8E.js → keybindings-store-jilemP-j.js} +1 -1
  82. package/dist/web/assets/{keyboard-shortcuts-section-3C51ZVVe.js → keyboard-shortcuts-section-DgRgRYMp.js} +1 -1
  83. package/dist/web/assets/keyboard-shortcuts-section-DgRgRYMp.js.br +0 -0
  84. package/dist/web/assets/keyboard-shortcuts-section-DgRgRYMp.js.gz +0 -0
  85. package/dist/web/assets/{markdown-renderer-Cqs7nUrs.js → markdown-renderer-BkQLWgLf.js} +1 -1
  86. package/dist/web/assets/markdown-renderer-BkQLWgLf.js.br +0 -0
  87. package/dist/web/assets/markdown-renderer-BkQLWgLf.js.gz +0 -0
  88. package/dist/web/assets/{markdown-renderer-Bkd3ia2Q.js → markdown-renderer-CeA7gHO_.js} +1 -1
  89. package/dist/web/assets/{mobile-explorer-sheet-BTNZ26Fd.js → mobile-explorer-sheet-DbrEMTTr.js} +1 -1
  90. package/dist/web/assets/mobile-explorer-sheet-DbrEMTTr.js.br +0 -0
  91. package/dist/web/assets/mobile-explorer-sheet-DbrEMTTr.js.gz +0 -0
  92. package/dist/web/assets/{notification-store-B7U7DTsB.js → notification-store-B4AUFEhp.js} +1 -1
  93. package/dist/web/assets/onboarding-entry-C81awoR5.js +1 -0
  94. package/dist/web/assets/onboarding-entry-C81awoR5.js.br +0 -0
  95. package/dist/web/assets/onboarding-entry-C81awoR5.js.gz +0 -0
  96. package/dist/web/assets/{ppmbot-settings-section-nZNoD6vx.js → ppmbot-settings-section-CS1l8Mv9.js} +1 -1
  97. package/dist/web/assets/ppmbot-settings-section-CS1l8Mv9.js.br +0 -0
  98. package/dist/web/assets/ppmbot-settings-section-CS1l8Mv9.js.gz +0 -0
  99. package/dist/web/assets/{problems-panel-oY4-2MDR.js → problems-panel-fCMIRPtD.js} +1 -1
  100. package/dist/web/assets/problems-panel-fCMIRPtD.js.br +0 -0
  101. package/dist/web/assets/problems-panel-fCMIRPtD.js.gz +0 -0
  102. package/dist/web/assets/{process-table-BH-ID142.js → process-table-lC_6ZfjX.js} +1 -1
  103. package/dist/web/assets/process-table-lC_6ZfjX.js.br +0 -0
  104. package/dist/web/assets/process-table-lC_6ZfjX.js.gz +0 -0
  105. package/dist/web/assets/{proxy-settings-section-Dh-NGom9.js → proxy-settings-section-CuOBJ8hL.js} +1 -1
  106. package/dist/web/assets/proxy-settings-section-CuOBJ8hL.js.br +0 -0
  107. package/dist/web/assets/proxy-settings-section-CuOBJ8hL.js.gz +0 -0
  108. package/dist/web/assets/{remote-desktop-clipboard-notice-CTI13Chq.js → remote-desktop-clipboard-notice-Dq7vzYMn.js} +1 -1
  109. package/dist/web/assets/remote-desktop-clipboard-notice-Dq7vzYMn.js.br +0 -0
  110. package/dist/web/assets/{remote-desktop-clipboard-notice-CTI13Chq.js.gz → remote-desktop-clipboard-notice-Dq7vzYMn.js.gz} +0 -0
  111. package/dist/web/assets/{remote-desktop-mobile-sheet-Dwx3wwZ2.js → remote-desktop-mobile-sheet-Ld9ebBdx.js} +2 -2
  112. package/dist/web/assets/remote-desktop-mobile-sheet-Ld9ebBdx.js.br +0 -0
  113. package/dist/web/assets/remote-desktop-mobile-sheet-Ld9ebBdx.js.gz +0 -0
  114. package/dist/web/assets/{remote-desktop-mobile-view-BCTHG_gw.js → remote-desktop-mobile-view-CX6o3CnW.js} +1 -1
  115. package/dist/web/assets/remote-desktop-mobile-view-CX6o3CnW.js.br +0 -0
  116. package/dist/web/assets/remote-desktop-mobile-view-CX6o3CnW.js.gz +0 -0
  117. package/dist/web/assets/{remote-desktop-readiness-gate-BfLXj0rs.js → remote-desktop-readiness-gate-M5FT8r1R.js} +1 -1
  118. package/dist/web/assets/remote-desktop-readiness-gate-M5FT8r1R.js.br +0 -0
  119. package/dist/web/assets/remote-desktop-readiness-gate-M5FT8r1R.js.gz +0 -0
  120. package/dist/web/assets/{remote-desktop-window-content-DifWxLaW.js → remote-desktop-window-content-9VmDB-li.js} +1 -1
  121. package/dist/web/assets/remote-desktop-window-content-9VmDB-li.js.br +0 -0
  122. package/dist/web/assets/remote-desktop-window-content-9VmDB-li.js.gz +0 -0
  123. package/dist/web/assets/{schedules-settings-section-B5ub8-6k.js → schedules-settings-section-S1GGjkHd.js} +1 -1
  124. package/dist/web/assets/schedules-settings-section-S1GGjkHd.js.br +0 -0
  125. package/dist/web/assets/schedules-settings-section-S1GGjkHd.js.gz +0 -0
  126. package/dist/web/assets/{settings-body-pB2eNvZs.js → settings-body-7BozQZQk.js} +2 -2
  127. package/dist/web/assets/settings-body-7BozQZQk.js.br +0 -0
  128. package/dist/web/assets/settings-body-7BozQZQk.js.gz +0 -0
  129. package/dist/web/assets/{settings-tab-CKzSb8CD.js → settings-tab-YB7WKDB2.js} +1 -1
  130. package/dist/web/assets/{settings-window-content-CMrJh0P1.js → settings-window-content-B_7MLQMM.js} +1 -1
  131. package/dist/web/assets/{sql-query-editor-CpGE7sKJ.js → sql-query-editor-DH7KmPwl.js} +1 -1
  132. package/dist/web/assets/sql-query-editor-DH7KmPwl.js.br +0 -0
  133. package/dist/web/assets/sql-query-editor-DH7KmPwl.js.gz +0 -0
  134. package/dist/web/assets/{sqlite-viewer-BTfTkzaU.js → sqlite-viewer-DV48IAz3.js} +1 -1
  135. package/dist/web/assets/sqlite-viewer-DV48IAz3.js.br +0 -0
  136. package/dist/web/assets/sqlite-viewer-DV48IAz3.js.gz +0 -0
  137. package/dist/web/assets/{system-monitor-body-D4N-0ePl.js → system-monitor-body-CkzG57Wr.js} +2 -2
  138. package/dist/web/assets/system-monitor-body-CkzG57Wr.js.br +0 -0
  139. package/dist/web/assets/system-monitor-body-CkzG57Wr.js.gz +0 -0
  140. package/dist/web/assets/{system-monitor-tab-CbqRdflk.js → system-monitor-tab-DHxUvcC_.js} +1 -1
  141. package/dist/web/assets/{system-monitor-window-content-C4QqmYwM.js → system-monitor-window-content-B2_i1Q61.js} +1 -1
  142. package/dist/web/assets/{tab-host-window-content-By_8oxwV.js → tab-host-window-content-BZeCdBjG.js} +1 -1
  143. package/dist/web/assets/tab-host-window-content-BZeCdBjG.js.br +0 -0
  144. package/dist/web/assets/tab-host-window-content-BZeCdBjG.js.gz +0 -0
  145. package/dist/web/assets/{team-member-sheet-pTyGJL8v.js → team-member-sheet-DoeUyf_H.js} +2 -2
  146. package/dist/web/assets/team-member-sheet-DoeUyf_H.js.br +0 -0
  147. package/dist/web/assets/team-member-sheet-DoeUyf_H.js.gz +0 -0
  148. package/dist/web/assets/{team-member-window-content-Dxy7ualQ.js → team-member-window-content-Bcjjehng.js} +1 -1
  149. package/dist/web/assets/team-member-window-content-Bcjjehng.js.br +0 -0
  150. package/dist/web/assets/team-member-window-content-Bcjjehng.js.gz +0 -0
  151. package/dist/web/assets/{terminal-tab-DZ-DBHmv.js → terminal-tab-DUfUFotE.js} +1 -1
  152. package/dist/web/assets/terminal-tab-DUfUFotE.js.br +0 -0
  153. package/dist/web/assets/terminal-tab-DUfUFotE.js.gz +0 -0
  154. package/dist/web/assets/{tool-cards-CPf7WLQy.js → tool-cards-DxWaY8Or.js} +2 -2
  155. package/dist/web/assets/tool-cards-DxWaY8Or.js.br +0 -0
  156. package/dist/web/assets/tool-cards-DxWaY8Or.js.gz +0 -0
  157. package/dist/web/assets/{use-inline-blame-vXJpe0ON.js → use-inline-blame-Bxjr1iem.js} +1 -1
  158. package/dist/web/assets/use-inline-blame-Bxjr1iem.js.br +0 -0
  159. package/dist/web/assets/use-inline-blame-Bxjr1iem.js.gz +0 -0
  160. package/dist/web/assets/{use-lsp-BVZ0d9td.js → use-lsp-C-glLtst.js} +1 -1
  161. package/dist/web/assets/use-lsp-C-glLtst.js.br +0 -0
  162. package/dist/web/assets/use-lsp-C-glLtst.js.gz +0 -0
  163. package/dist/web/assets/{use-monaco-theme-D69h-y-X.js → use-monaco-theme-VsUPgzDf.js} +1 -1
  164. package/dist/web/assets/{use-websocket-DMoom-pE.js → use-websocket-CutSagT7.js} +1 -1
  165. package/dist/web/assets/{video-preview-DoeqTKYG.js → video-preview-dXES6MNI.js} +1 -1
  166. package/dist/web/assets/video-preview-dXES6MNI.js.br +0 -0
  167. package/dist/web/assets/video-preview-dXES6MNI.js.gz +0 -0
  168. package/dist/web/index.html +2 -2
  169. package/dist/web/index.html.br +0 -0
  170. package/dist/web/index.html.gz +0 -0
  171. package/dist/web/sw.js +1 -1
  172. package/dist/web/sw.js.br +0 -0
  173. package/dist/web/sw.js.gz +0 -0
  174. package/package.json +1 -1
  175. package/src/services/edge-forwarder.ts +191 -191
  176. package/src/services/windows-process-tree.ts +351 -351
  177. package/src/web/components/chat/chat-welcome.tsx +1 -1
  178. package/src/web/components/onboarding/onboarding-entry.tsx +13 -4
  179. package/dist/web/assets/accounts-settings-section-BoTvueNs.js.br +0 -0
  180. package/dist/web/assets/accounts-settings-section-BoTvueNs.js.gz +0 -0
  181. package/dist/web/assets/ai-resource-editor-BZz447ab.js.br +0 -0
  182. package/dist/web/assets/ai-resource-editor-BZz447ab.js.gz +0 -0
  183. package/dist/web/assets/ai-settings-section-DR6ZplH4.js.br +0 -0
  184. package/dist/web/assets/ai-settings-section-DR6ZplH4.js.gz +0 -0
  185. package/dist/web/assets/appearance-settings-section-JSk2rrSM.js.br +0 -0
  186. package/dist/web/assets/appearance-settings-section-JSk2rrSM.js.gz +0 -0
  187. package/dist/web/assets/branch-review-tab-BTobiTaa.js.br +0 -0
  188. package/dist/web/assets/branch-review-tab-BTobiTaa.js.gz +0 -0
  189. package/dist/web/assets/chat-tab-XT-23JtV.js.br +0 -0
  190. package/dist/web/assets/chat-tab-XT-23JtV.js.gz +0 -0
  191. package/dist/web/assets/code-editor-Jmst2xot.js.br +0 -0
  192. package/dist/web/assets/code-editor-Jmst2xot.js.gz +0 -0
  193. package/dist/web/assets/codex-daily-guard-C3m_OZs9.js.br +0 -0
  194. package/dist/web/assets/codex-daily-guard-C3m_OZs9.js.gz +0 -0
  195. package/dist/web/assets/conflict-editor-BYRCRGXw.js.br +0 -0
  196. package/dist/web/assets/conflict-editor-BYRCRGXw.js.gz +0 -0
  197. package/dist/web/assets/csv-preview-D7OFzZJY.js.br +0 -0
  198. package/dist/web/assets/csv-preview-D7OFzZJY.js.gz +0 -0
  199. package/dist/web/assets/database-viewer-SSbCY87C.js.br +0 -0
  200. package/dist/web/assets/database-viewer-SSbCY87C.js.gz +0 -0
  201. package/dist/web/assets/diff-viewer-CdYarQJB.js.br +0 -0
  202. package/dist/web/assets/diff-viewer-CdYarQJB.js.gz +0 -0
  203. package/dist/web/assets/editor-language-service-DfbGcR8Z.js.br +0 -0
  204. package/dist/web/assets/editor-language-service-DfbGcR8Z.js.gz +0 -0
  205. package/dist/web/assets/explorer-body-wFbIJgNp.js.br +0 -0
  206. package/dist/web/assets/explorer-body-wFbIJgNp.js.gz +0 -0
  207. package/dist/web/assets/explorer-window-content-DYq7KGcO.js.br +0 -0
  208. package/dist/web/assets/explorer-window-content-DYq7KGcO.js.gz +0 -0
  209. package/dist/web/assets/extension-manager-section-CCefvD3E.js.br +0 -0
  210. package/dist/web/assets/extension-manager-section-CCefvD3E.js.gz +0 -0
  211. package/dist/web/assets/extension-webview-FTboocO5.js.br +0 -0
  212. package/dist/web/assets/extension-webview-FTboocO5.js.gz +0 -0
  213. package/dist/web/assets/files-settings-section-UVl8GQsn.js.br +0 -0
  214. package/dist/web/assets/files-settings-section-UVl8GQsn.js.gz +0 -0
  215. package/dist/web/assets/general-settings-section-xGc2e0nY.js.br +0 -0
  216. package/dist/web/assets/general-settings-section-xGc2e0nY.js.gz +0 -0
  217. package/dist/web/assets/git-log-panel-CssMDe8Y.js.br +0 -0
  218. package/dist/web/assets/git-log-panel-CssMDe8Y.js.gz +0 -0
  219. package/dist/web/assets/glide-data-grid-Bhwst_aN.js.br +0 -0
  220. package/dist/web/assets/glide-data-grid-Bhwst_aN.js.gz +0 -0
  221. package/dist/web/assets/group-chat-tab-BwKqWjpw.js.br +0 -0
  222. package/dist/web/assets/group-chat-tab-BwKqWjpw.js.gz +0 -0
  223. package/dist/web/assets/index-CFa7UeZs.js.br +0 -0
  224. package/dist/web/assets/index-CFa7UeZs.js.gz +0 -0
  225. package/dist/web/assets/index-CWL5emyr.css +0 -1
  226. package/dist/web/assets/index-CWL5emyr.css.br +0 -0
  227. package/dist/web/assets/index-CWL5emyr.css.gz +0 -0
  228. package/dist/web/assets/jira-watcher-section-twnJI1tr.js.br +0 -0
  229. package/dist/web/assets/jira-watcher-section-twnJI1tr.js.gz +0 -0
  230. package/dist/web/assets/keyboard-shortcuts-section-3C51ZVVe.js.br +0 -0
  231. package/dist/web/assets/keyboard-shortcuts-section-3C51ZVVe.js.gz +0 -0
  232. package/dist/web/assets/markdown-renderer-Cqs7nUrs.js.br +0 -0
  233. package/dist/web/assets/markdown-renderer-Cqs7nUrs.js.gz +0 -0
  234. package/dist/web/assets/mobile-explorer-sheet-BTNZ26Fd.js.br +0 -0
  235. package/dist/web/assets/mobile-explorer-sheet-BTNZ26Fd.js.gz +0 -0
  236. package/dist/web/assets/onboarding-entry-BpvMFO1h.js +0 -1
  237. package/dist/web/assets/ppmbot-settings-section-nZNoD6vx.js.br +0 -0
  238. package/dist/web/assets/ppmbot-settings-section-nZNoD6vx.js.gz +0 -0
  239. package/dist/web/assets/problems-panel-oY4-2MDR.js.br +0 -0
  240. package/dist/web/assets/problems-panel-oY4-2MDR.js.gz +0 -0
  241. package/dist/web/assets/process-table-BH-ID142.js.br +0 -0
  242. package/dist/web/assets/process-table-BH-ID142.js.gz +0 -0
  243. package/dist/web/assets/proxy-settings-section-Dh-NGom9.js.br +0 -0
  244. package/dist/web/assets/proxy-settings-section-Dh-NGom9.js.gz +0 -0
  245. package/dist/web/assets/remote-desktop-clipboard-notice-CTI13Chq.js.br +0 -0
  246. package/dist/web/assets/remote-desktop-mobile-sheet-Dwx3wwZ2.js.br +0 -0
  247. package/dist/web/assets/remote-desktop-mobile-sheet-Dwx3wwZ2.js.gz +0 -0
  248. package/dist/web/assets/remote-desktop-mobile-view-BCTHG_gw.js.br +0 -0
  249. package/dist/web/assets/remote-desktop-mobile-view-BCTHG_gw.js.gz +0 -0
  250. package/dist/web/assets/remote-desktop-readiness-gate-BfLXj0rs.js.br +0 -0
  251. package/dist/web/assets/remote-desktop-readiness-gate-BfLXj0rs.js.gz +0 -0
  252. package/dist/web/assets/remote-desktop-window-content-DifWxLaW.js.br +0 -0
  253. package/dist/web/assets/remote-desktop-window-content-DifWxLaW.js.gz +0 -0
  254. package/dist/web/assets/schedules-settings-section-B5ub8-6k.js.br +0 -0
  255. package/dist/web/assets/schedules-settings-section-B5ub8-6k.js.gz +0 -0
  256. package/dist/web/assets/settings-body-pB2eNvZs.js.br +0 -0
  257. package/dist/web/assets/settings-body-pB2eNvZs.js.gz +0 -0
  258. package/dist/web/assets/sql-query-editor-CpGE7sKJ.js.br +0 -0
  259. package/dist/web/assets/sql-query-editor-CpGE7sKJ.js.gz +0 -0
  260. package/dist/web/assets/sqlite-viewer-BTfTkzaU.js.br +0 -0
  261. package/dist/web/assets/sqlite-viewer-BTfTkzaU.js.gz +0 -0
  262. package/dist/web/assets/system-monitor-body-D4N-0ePl.js.br +0 -0
  263. package/dist/web/assets/system-monitor-body-D4N-0ePl.js.gz +0 -0
  264. package/dist/web/assets/tab-host-window-content-By_8oxwV.js.br +0 -0
  265. package/dist/web/assets/tab-host-window-content-By_8oxwV.js.gz +0 -0
  266. package/dist/web/assets/team-member-sheet-pTyGJL8v.js.br +0 -0
  267. package/dist/web/assets/team-member-sheet-pTyGJL8v.js.gz +0 -0
  268. package/dist/web/assets/team-member-window-content-Dxy7ualQ.js.br +0 -0
  269. package/dist/web/assets/team-member-window-content-Dxy7ualQ.js.gz +0 -0
  270. package/dist/web/assets/terminal-tab-DZ-DBHmv.js.br +0 -0
  271. package/dist/web/assets/terminal-tab-DZ-DBHmv.js.gz +0 -0
  272. package/dist/web/assets/tool-cards-CPf7WLQy.js.br +0 -0
  273. package/dist/web/assets/tool-cards-CPf7WLQy.js.gz +0 -0
  274. package/dist/web/assets/use-inline-blame-vXJpe0ON.js.br +0 -0
  275. package/dist/web/assets/use-inline-blame-vXJpe0ON.js.gz +0 -0
  276. package/dist/web/assets/use-lsp-BVZ0d9td.js.br +0 -0
  277. package/dist/web/assets/use-lsp-BVZ0d9td.js.gz +0 -0
  278. package/dist/web/assets/video-preview-DoeqTKYG.js.br +0 -0
  279. package/dist/web/assets/video-preview-DoeqTKYG.js.gz +0 -0
  280. package/packages/vscode-compat/node_modules/.bin/tsc.bunx +0 -0
  281. package/packages/vscode-compat/node_modules/.bin/tsc.exe +0 -0
  282. package/packages/vscode-compat/node_modules/.bin/tsserver.bunx +0 -0
  283. package/packages/vscode-compat/node_modules/.bin/tsserver.exe +0 -0
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-tab-DZ-DBHmv.js","assets/rolldown-runtime-FhOqtrmT.js","assets/vendor-mermaid-D6lgjvVE.js","assets/vendor-ui-DmZ-Mb-H.js","assets/vendor-markdown-CuWCHIVb.js","assets/vendor-xterm-_yyu5n32.js","assets/vendor-xterm-DkTCHfhq.css","assets/utils-Bmf_8h7Y.js","assets/api-client-Jn3njtNw.js","assets/settings-store-tWrnlyEW.js","assets/react-Bghu0NUO.js","assets/window-store-UC1jJeLM.js","assets/mobile-bottom-sheet-C3TniEP-.js","assets/portal-container-context-BarKmT4S.js","assets/use-visual-viewport-Lp878uzs.js","assets/editor-font-D_4aaSCa.js","assets/icons-DQjqk0lJ.js","assets/run-in-terminal-BFR70TLU.js","assets/panel-store-D20Zuf3i.js","assets/send-to-chat-C8l7AcV4.js","assets/ws-auth-CaxV807E.js","assets/tab-store-krAuHQ6_.js","assets/apply-theme-CbR31K6I.js","assets/resolve-theme-BNubecVz.js","assets/chat-tab-XT-23JtV.js","assets/button-B9CTrsEf.js","assets/libesm-cUHvIIuW.js","assets/createLucideIcon-DoiEKeJ_.js","assets/tool-cards-CPf7WLQy.js","assets/image-preview-geometry-BFKR37Pj.js","assets/use-blob-url-C0VR6Uhh.js","assets/image-gallery-DdQblMAe.js","assets/codex-daily-guard-C3m_OZs9.js","assets/api-settings-BZFSteM_.js","assets/use-open-team-member-y9sVhaNr.js","assets/use-is-mobile-TkcwP1Gx.js","assets/file-store-Ds3qJ4hC.js","assets/onboarding-entry-BpvMFO1h.js","assets/onboarding-quick-orientation-Dqmis-E5.js","assets/dialog-B84_DJQ8.js","assets/project-store-hNvwfqX3.js","assets/project-framework-store-ViZgce6y.js","assets/ai-settings-section-DR6ZplH4.js","assets/input-QNG_gTHh.js","assets/context-menu-C6pIsf83.js","assets/use-websocket-DMoom-pE.js","assets/code-editor-Jmst2xot.js","assets/glide-data-grid-Bhwst_aN.js","assets/dist-BD2gbdy0.js","assets/data-grid-types-C6UX8kgh.js","assets/csv-parser-DZ_75eCb.js","assets/use-monaco-theme-D69h-y-X.js","assets/glide-data-grid-nthEL3fk.css","assets/use-inline-blame-vXJpe0ON.js","assets/can-open-in-ppm-CUW3vVJg.js","assets/format-file-meta-eKLstbCL.js","assets/fs-api-orca76dV.js","assets/scroll-area-C0fQWNnx.js","assets/file-icons-wS-OmEVu.js","assets/git-repo-store-BCEPfUGT.js","assets/monaco-dotenv-language-DD8_UQG7.js","assets/database-viewer-SSbCY87C.js","assets/sql-query-editor-CpGE7sKJ.js","assets/sqlite-viewer-BTfTkzaU.js","assets/postgres-viewer-CGf7_g6Z.js","assets/dist-D39GQICe.js","assets/lib-BWyA9SvU.js","assets/diff-viewer-CdYarQJB.js","assets/branch-review-tab-BTobiTaa.js","assets/settings-tab-CKzSb8CD.js","assets/settings-body-pB2eNvZs.js","assets/separator-DwDoQpxS.js","assets/extension-webview-FTboocO5.js","assets/conflict-editor-BYRCRGXw.js","assets/system-monitor-tab-CbqRdflk.js","assets/system-monitor-body-D4N-0ePl.js","assets/git-log-panel-CssMDe8Y.js","assets/ai-resource-editor-BZz447ab.js","assets/group-chat-tab-BwKqWjpw.js","assets/markdown-renderer-Cqs7nUrs.js","assets/problems-panel-oY4-2MDR.js","assets/explorer-window-content-DYq7KGcO.js","assets/explorer-body-wFbIJgNp.js","assets/window-pip-registry-D1oXq-Dq.js","assets/team-member-window-content-Dxy7ualQ.js","assets/system-monitor-window-content-C4QqmYwM.js","assets/tab-host-window-content-By_8oxwV.js","assets/remote-desktop-window-content-DifWxLaW.js","assets/remote-desktop-clipboard-notice-CTI13Chq.js","assets/remote-desktop-readiness-gate-BfLXj0rs.js","assets/settings-window-content-CMrJh0P1.js","assets/angular-html-DnrsWZqK.js","assets/html-DXzY5Cew.js","assets/css-Ca_hTmU6.js","assets/javascript-5aQKJRxB.js","assets/angular-ts-BXEqA9t1.js","assets/scss-V4NlXnGi.js","assets/apl-DUQ6Oyth.js","assets/json-BOq7QblK.js","assets/xml-bWQJszMK.js","assets/java-JWdrzVo8.js","assets/astro-CakOjJ6X.js","assets/postcss-GpU0Sjqc.js","assets/tsx-CKaH7SzK.js","assets/typescript-DZozDFsi.js","assets/blade-C903KM82.js","assets/html-derivative-DhcVfYuw.js","assets/sql-ljEiM8nf.js","assets/bsl-slfcE_kB.js","assets/sdbl-D6a8sHP9.js","assets/c-BWO-aeyf.js","assets/cairo-DRwEaH6w.js","assets/python-Mh7JD25U.js","assets/cobol--n4m6b70.js","assets/coffee-CjyFmw8_.js","assets/cpp-D18jdQPZ.js","assets/glsl-BcsfmwJZ.js","assets/regexp-Vdt2OEkk.js","assets/crystal-CySzfH-7.js","assets/shellscript-DRxJLgrx.js","assets/edge-B6b5FHmU.js","assets/elixir-Dpo1rvn2.js","assets/elm-D9CNOsWT.js","assets/erb-sY7Yee1W.js","assets/ruby-Cx413jgE.js","assets/graphql-dv4wuJsK.js","assets/jsx-BSLWViGE.js","assets/haml-CoKfcM3E.js","assets/lua-BYupsB1B.js","assets/yaml-4pzZq5KT.js","assets/erlang-CfyrBxyF.js","assets/markdown-9Nuxib8a.js","assets/fortran-fixed-form-N67gM_wp.js","assets/fortran-free-form-CB6SdVKB.js","assets/fsharp-Dq0K01wX.js","assets/gdresource-DkFbszqY.js","assets/gdscript--YoKuvEA.js","assets/gdshader-BRtMwf5z.js","assets/git-commit-Ddt_nerD.js","assets/diff-CRrKo-mH.js","assets/git-rebase-CVK5OA7i.js","assets/glimmer-js-51jbYnyY.js","assets/glimmer-ts-C5L1J32J.js","assets/hack-DLE5d3bx.js","assets/handlebars-Bn0jy8pD.js","assets/http-DepeIWQ1.js","assets/hurl-CfsP4sCj.js","assets/csv-DND7YJXD.js","assets/hxml-IfVkY3HL.js","assets/haxe-Ckfl4osD.js","assets/jinja-DcCmNDQ8.js","assets/jison-Bt-5cKVZ.js","assets/julia-DewYVRtE.js","assets/r-DHu15BOo.js","assets/just-CLT_ggBy.js","assets/perl-B6QNc69s.js","assets/latex-DXmcayW1.js","assets/tex-022M3-MR.js","assets/liquid-BVcHf0IA.js","assets/marko-CsD0R5tv.js","assets/less-ikHAUlPb.js","assets/mdc-DP2tC4Kc.js","assets/nextflow-FQM6iZO2.js","assets/nextflow-groovy-L-FBME4e.js","assets/nginx-Bg0TK_a9.js","assets/nim-D1kSCHdq.js","assets/php-Bvwf1t96.js","assets/pug-I8oitXP4.js","assets/qml-LKb7CHg-.js","assets/razor-CIPT897U.js","assets/csharp-DSy4nlrl.js","assets/rst-BpcmfJFA.js","assets/cmake-Bx26bw5u.js","assets/sas-B3ui_NHy.js","assets/shaderlab-Cf7qZ4DR.js","assets/hlsl-BBCTeANz.js","assets/shellsession-BfA8Fmhb.js","assets/soy-CGKN9rxg.js","assets/sparql-CArCsIdI.js","assets/turtle-BddVklvD.js","assets/stata-CplvndbA.js","assets/surrealql-DwX1PCpP.js","assets/svelte-DYCNmQjy.js","assets/templ-b_h2-Z9l.js","assets/go-bFdCrzvY.js","assets/ts-tags-BUl0AdO6.js","assets/twig-CMzYUcSa.js","assets/vue-D83SsURi.js","assets/vue-html-BGU-OYYb.js","assets/vue-vine-1sHE1gZn.js","assets/stylus-xlRhcbpN.js","assets/xsl-DTMc1Tsm.js","assets/mobile-explorer-sheet-BTNZ26Fd.js","assets/team-member-sheet-pTyGJL8v.js","assets/remote-desktop-mobile-sheet-Dwx3wwZ2.js","assets/keybindings-store-BRiD4H8E.js","assets/notification-store-B7U7DTsB.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-tab-DUfUFotE.js","assets/rolldown-runtime-FhOqtrmT.js","assets/vendor-mermaid-D6lgjvVE.js","assets/vendor-ui-DmZ-Mb-H.js","assets/vendor-markdown-CuWCHIVb.js","assets/vendor-xterm-_yyu5n32.js","assets/vendor-xterm-DkTCHfhq.css","assets/utils-Bmf_8h7Y.js","assets/api-client-Jn3njtNw.js","assets/settings-store-tWrnlyEW.js","assets/react-Bghu0NUO.js","assets/window-store-UC1jJeLM.js","assets/mobile-bottom-sheet-C3TniEP-.js","assets/portal-container-context-BarKmT4S.js","assets/use-visual-viewport-Lp878uzs.js","assets/editor-font-D_4aaSCa.js","assets/icons-DQjqk0lJ.js","assets/run-in-terminal-BFR70TLU.js","assets/panel-store-D20Zuf3i.js","assets/send-to-chat-C8l7AcV4.js","assets/ws-auth-CaxV807E.js","assets/tab-store-krAuHQ6_.js","assets/apply-theme-CbR31K6I.js","assets/resolve-theme-BNubecVz.js","assets/chat-tab-zWnjUbGY.js","assets/button-B9CTrsEf.js","assets/libesm-cUHvIIuW.js","assets/createLucideIcon-DoiEKeJ_.js","assets/tool-cards-DxWaY8Or.js","assets/image-preview-geometry-BFKR37Pj.js","assets/use-blob-url-C0VR6Uhh.js","assets/image-gallery-DdQblMAe.js","assets/codex-daily-guard-5P7_OmUb.js","assets/api-settings-BZFSteM_.js","assets/use-open-team-member-y9sVhaNr.js","assets/use-is-mobile-TkcwP1Gx.js","assets/file-store-Ds3qJ4hC.js","assets/onboarding-entry-C81awoR5.js","assets/onboarding-quick-orientation-Dqmis-E5.js","assets/dialog-B84_DJQ8.js","assets/project-store-hNvwfqX3.js","assets/project-framework-store-ViZgce6y.js","assets/ai-settings-section-CC8fy0wr.js","assets/input-QNG_gTHh.js","assets/context-menu-C6pIsf83.js","assets/use-websocket-CutSagT7.js","assets/code-editor-Dsd0-t0B.js","assets/glide-data-grid-CrE5DlCa.js","assets/dist-BD2gbdy0.js","assets/data-grid-types-C6UX8kgh.js","assets/csv-parser-DZ_75eCb.js","assets/use-monaco-theme-VsUPgzDf.js","assets/glide-data-grid-nthEL3fk.css","assets/use-inline-blame-Bxjr1iem.js","assets/can-open-in-ppm-CUW3vVJg.js","assets/format-file-meta-eKLstbCL.js","assets/fs-api-orca76dV.js","assets/scroll-area-C0fQWNnx.js","assets/file-icons-wS-OmEVu.js","assets/git-repo-store-BCEPfUGT.js","assets/monaco-dotenv-language-DD8_UQG7.js","assets/database-viewer-h7ffU0AC.js","assets/sql-query-editor-DH7KmPwl.js","assets/sqlite-viewer-DV48IAz3.js","assets/postgres-viewer-CGf7_g6Z.js","assets/dist-D39GQICe.js","assets/lib-BWyA9SvU.js","assets/diff-viewer-DgUhjbEV.js","assets/branch-review-tab-BbzN5p9l.js","assets/settings-tab-YB7WKDB2.js","assets/settings-body-7BozQZQk.js","assets/separator-DwDoQpxS.js","assets/extension-webview-DJYTtv-_.js","assets/conflict-editor-BGcWuObI.js","assets/system-monitor-tab-DHxUvcC_.js","assets/system-monitor-body-CkzG57Wr.js","assets/git-log-panel-BCTP0Wht.js","assets/ai-resource-editor-b9DtpHrO.js","assets/group-chat-tab-DxS-3-0R.js","assets/markdown-renderer-BkQLWgLf.js","assets/problems-panel-fCMIRPtD.js","assets/explorer-window-content-zc-kA_lW.js","assets/explorer-body-DRrd8uMc.js","assets/window-pip-registry-D1oXq-Dq.js","assets/team-member-window-content-Bcjjehng.js","assets/system-monitor-window-content-B2_i1Q61.js","assets/tab-host-window-content-BZeCdBjG.js","assets/remote-desktop-window-content-9VmDB-li.js","assets/remote-desktop-clipboard-notice-Dq7vzYMn.js","assets/remote-desktop-readiness-gate-M5FT8r1R.js","assets/settings-window-content-B_7MLQMM.js","assets/angular-html-DnrsWZqK.js","assets/html-DXzY5Cew.js","assets/css-Ca_hTmU6.js","assets/javascript-5aQKJRxB.js","assets/angular-ts-BXEqA9t1.js","assets/scss-V4NlXnGi.js","assets/apl-DUQ6Oyth.js","assets/json-BOq7QblK.js","assets/xml-bWQJszMK.js","assets/java-JWdrzVo8.js","assets/astro-CakOjJ6X.js","assets/postcss-GpU0Sjqc.js","assets/tsx-CKaH7SzK.js","assets/typescript-DZozDFsi.js","assets/blade-C903KM82.js","assets/html-derivative-DhcVfYuw.js","assets/sql-ljEiM8nf.js","assets/bsl-slfcE_kB.js","assets/sdbl-D6a8sHP9.js","assets/c-BWO-aeyf.js","assets/cairo-DRwEaH6w.js","assets/python-Mh7JD25U.js","assets/cobol--n4m6b70.js","assets/coffee-CjyFmw8_.js","assets/cpp-D18jdQPZ.js","assets/glsl-BcsfmwJZ.js","assets/regexp-Vdt2OEkk.js","assets/crystal-CySzfH-7.js","assets/shellscript-DRxJLgrx.js","assets/edge-B6b5FHmU.js","assets/elixir-Dpo1rvn2.js","assets/elm-D9CNOsWT.js","assets/erb-sY7Yee1W.js","assets/ruby-Cx413jgE.js","assets/graphql-dv4wuJsK.js","assets/jsx-BSLWViGE.js","assets/haml-CoKfcM3E.js","assets/lua-BYupsB1B.js","assets/yaml-4pzZq5KT.js","assets/erlang-CfyrBxyF.js","assets/markdown-9Nuxib8a.js","assets/fortran-fixed-form-N67gM_wp.js","assets/fortran-free-form-CB6SdVKB.js","assets/fsharp-Dq0K01wX.js","assets/gdresource-DkFbszqY.js","assets/gdscript--YoKuvEA.js","assets/gdshader-BRtMwf5z.js","assets/git-commit-Ddt_nerD.js","assets/diff-CRrKo-mH.js","assets/git-rebase-CVK5OA7i.js","assets/glimmer-js-51jbYnyY.js","assets/glimmer-ts-C5L1J32J.js","assets/hack-DLE5d3bx.js","assets/handlebars-Bn0jy8pD.js","assets/http-DepeIWQ1.js","assets/hurl-CfsP4sCj.js","assets/csv-DND7YJXD.js","assets/hxml-IfVkY3HL.js","assets/haxe-Ckfl4osD.js","assets/jinja-DcCmNDQ8.js","assets/jison-Bt-5cKVZ.js","assets/julia-DewYVRtE.js","assets/r-DHu15BOo.js","assets/just-CLT_ggBy.js","assets/perl-B6QNc69s.js","assets/latex-DXmcayW1.js","assets/tex-022M3-MR.js","assets/liquid-BVcHf0IA.js","assets/marko-CsD0R5tv.js","assets/less-ikHAUlPb.js","assets/mdc-DP2tC4Kc.js","assets/nextflow-FQM6iZO2.js","assets/nextflow-groovy-L-FBME4e.js","assets/nginx-Bg0TK_a9.js","assets/nim-D1kSCHdq.js","assets/php-Bvwf1t96.js","assets/pug-I8oitXP4.js","assets/qml-LKb7CHg-.js","assets/razor-CIPT897U.js","assets/csharp-DSy4nlrl.js","assets/rst-BpcmfJFA.js","assets/cmake-Bx26bw5u.js","assets/sas-B3ui_NHy.js","assets/shaderlab-Cf7qZ4DR.js","assets/hlsl-BBCTeANz.js","assets/shellsession-BfA8Fmhb.js","assets/soy-CGKN9rxg.js","assets/sparql-CArCsIdI.js","assets/turtle-BddVklvD.js","assets/stata-CplvndbA.js","assets/surrealql-DwX1PCpP.js","assets/svelte-DYCNmQjy.js","assets/templ-b_h2-Z9l.js","assets/go-bFdCrzvY.js","assets/ts-tags-BUl0AdO6.js","assets/twig-CMzYUcSa.js","assets/vue-D83SsURi.js","assets/vue-html-BGU-OYYb.js","assets/vue-vine-1sHE1gZn.js","assets/stylus-xlRhcbpN.js","assets/xsl-DTMc1Tsm.js","assets/mobile-explorer-sheet-DbrEMTTr.js","assets/team-member-sheet-DoeUyf_H.js","assets/remote-desktop-mobile-sheet-Ld9ebBdx.js","assets/keybindings-store-jilemP-j.js","assets/notification-store-B4AUFEhp.js"])))=>i.map(i=>d[i]);
2
2
  import{o as e,r as t,t as n}from"./rolldown-runtime-FhOqtrmT.js";import{C as r,S as i,_ as a,b as o,g as s,h as c,v as l,x as u,y as d}from"./vendor-markdown-CuWCHIVb.js";import{B as f,C as p,F as m,G as h,H as g,I as _,L as v,M as y,N as b,P as x,R as S,S as C,T as w,U as T,V as E,W as D,_ as O,a as k,b as A,d as j,f as M,g as ee,h as N,i as P,j as F,m as te,n as ne,o as re,pt as ie,r as ae,t as I,v as oe,w as se,x as ce,y as le,z as ue}from"./vendor-ui-DmZ-Mb-H.js";import{$n as de,A as fe,B as pe,Bn as me,Br as he,Bt as ge,C as _e,Cn as ve,D as ye,Dn as be,Dr as xe,Dt as Se,Er as Ce,Et as we,Fn as Te,Ft as Ee,Gn as De,H as Oe,Hn as ke,Ht as Ae,I as je,In as Me,It as Ne,J as Pe,Jt as Fe,Kn as Ie,Kr as Le,L as Re,Ln as ze,Lt as Be,M as Ve,Mn as He,N as Ue,Nn as We,Nr as Ge,Nt as Ke,O as qe,On as Je,Or as Ye,Ot as Xe,P as Ze,Pn as Qe,Pt as $e,Q as et,Qn as tt,Qt as nt,R as rt,Rr as it,Sn as at,Sr as ot,St as st,T as ct,Tn as lt,U as ut,Un as dt,Ur as ft,Ut as pt,W as mt,Wn as ht,Wr as gt,Wt as _t,Xn as vt,Y as yt,Yn as bt,Yt as xt,Z as St,_n as Ct,_r as wt,_t as Tt,a as Et,at as Dt,br as Ot,c as kt,cr as At,ct as jt,d as Mt,dn as Nt,dt as Pt,er as Ft,et as It,f as Lt,fr as Rt,ft as zt,g as Bt,gn as Vt,gr as Ht,h as Ut,hn as Wt,hr as Gt,i as Kt,in as qt,ir as Jt,it as Yt,j as Xt,jt as Zt,k as Qt,kn as $t,kr as en,l as tn,ln as L,lr as nn,lt as rn,m as an,mr as on,mt as sn,n as cn,nn as ln,nt as un,o as dn,on as fn,or as pn,pn as mn,pr as hn,q as gn,qn as _n,qr as vn,r as yn,rt as bn,s as xn,sn as Sn,sr as Cn,st as wn,tn as Tn,un as En,ut as Dn,v as On,vn as kn,w as An,wn as jn,wr as Mn,wt as Nn,x as Pn,xr as Fn,y as In,yn as Ln,yr as Rn,z as zn,zr as Bn}from"./icons-DQjqk0lJ.js";import{t as Vn}from"./createLucideIcon-DoiEKeJ_.js";import{a as Hn,i as R,n as z,o as Un,r as Wn,s as B}from"./api-client-Jn3njtNw.js";import{t as Gn}from"./react-Bghu0NUO.js";import{t as V}from"./settings-store-tWrnlyEW.js";import{q as H}from"./vendor-mermaid-D6lgjvVE.js";import{n as U,r as Kn,t as qn}from"./utils-Bmf_8h7Y.js";import{n as Jn,t as Yn}from"./portal-container-context-BarKmT4S.js";import{a as Xn,c as Zn,d as Qn,f as $n,i as er,l as tr,n as nr,o as rr,p as ir,r as ar,t as W,u as or}from"./panel-store-D20Zuf3i.js";import{a as sr,i as cr,n as lr,o as ur,r as dr,s as fr,t as pr}from"./window-store-UC1jJeLM.js";import{i as G,n as mr,r as hr,t as gr}from"./project-store-hNvwfqX3.js";import"./project-framework-store-ViZgce6y.js";import{t as K}from"./tab-store-krAuHQ6_.js";import{a as _r,c as vr,i as yr,l as br,n as xr,o as Sr,r as Cr,s as wr,t as Tr,u as Er}from"./context-menu-C6pIsf83.js";import{a as Dr,c as Or,i as kr,l as Ar,n as jr,o as Mr,r as Nr,s as Pr,t as Fr}from"./file-store-Ds3qJ4hC.js";import{n as Ir,t as Lr}from"./use-is-mobile-TkcwP1Gx.js";import{a as Rr,c as zr,i as Br,l as Vr,n as Hr,o as Ur,r as Wr,s as Gr,t as Kr,u as qr}from"./git-repo-store-BCEPfUGT.js";import{a as Jr,c as Yr,i as Xr,l as Zr,n as Qr,o as $r,r as ei,s as ti,t as ni,u as ri}from"./onboarding-quick-orientation-Dqmis-E5.js";import{n as ii,r as ai,t as oi}from"./apply-theme-CbR31K6I.js";import{a as si,c as ci,i as li,l as ui,n as di,o as fi,r as pi,s as mi,t as hi,u as gi}from"./window-pip-registry-D1oXq-Dq.js";import{a as _i,c as vi,d as yi,i as bi,l as xi,n as Si,o as Ci,r as wi,s as Ti,t as Ei,u as Di}from"./format-file-meta-eKLstbCL.js";import{t as q}from"./button-B9CTrsEf.js";import{a as Oi,i as ki,n as Ai,o as ji,r as Mi,s as Ni,t as Pi}from"./dialog-B84_DJQ8.js";import{n as Fi,t as Ii}from"./file-icons-wS-OmEVu.js";import{a as Li,i as Ri,n as zi,o as Bi,r as Vi,t as Hi}from"./mobile-bottom-sheet-C3TniEP-.js";import{t as Ui}from"./use-visual-viewport-Lp878uzs.js";import{n as Wi,t as Gi}from"./fs-api-orca76dV.js";import{t as Ki}from"./input-QNG_gTHh.js";import{t as qi}from"./scroll-area-C0fQWNnx.js";import{n as Ji,r as Yi,t as Xi}from"./resolve-theme-BNubecVz.js";import{t as Zi}from"./ws-auth-CaxV807E.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Qi=n((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),$i=n(((e,t)=>{t.exports=Qi()})),ea=n((e=>{var t=$i(),n=r(),i=ie();function a(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function o(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function s(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function c(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function u(e){if(s(e)!==e)throw Error(a(188))}function d(e){var t=e.alternate;if(!t){if(t=s(e),t===null)throw Error(a(188));return t===e?e:null}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var o=i.alternate;if(o===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return u(i),e;if(o===r)return u(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var c=!1,l=i.child;l;){if(l===n){c=!0,n=i,r=o;break}if(l===r){c=!0,r=i,n=o;break}l=l.sibling}if(!c){for(l=o.child;l;){if(l===n){c=!0,n=o,r=i;break}if(l===r){c=!0,r=o,n=i;break}l=l.sibling}if(!c)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(n.tag!==3)throw Error(a(188));return n.stateNode.current===n?e:t}function f(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=f(e),t!==null)return t;e=e.sibling}return null}var p=Object.assign,m=Symbol.for(`react.element`),h=Symbol.for(`react.transitional.element`),g=Symbol.for(`react.portal`),_=Symbol.for(`react.fragment`),v=Symbol.for(`react.strict_mode`),y=Symbol.for(`react.profiler`),b=Symbol.for(`react.consumer`),x=Symbol.for(`react.context`),S=Symbol.for(`react.forward_ref`),C=Symbol.for(`react.suspense`),w=Symbol.for(`react.suspense_list`),T=Symbol.for(`react.memo`),E=Symbol.for(`react.lazy`),D=Symbol.for(`react.activity`),O=Symbol.for(`react.memo_cache_sentinel`),k=Symbol.iterator;function A(e){return typeof e!=`object`||!e?null:(e=k&&e[k]||e[`@@iterator`],typeof e==`function`?e:null)}var j=Symbol.for(`react.client.reference`);function M(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===j?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case _:return`Fragment`;case y:return`Profiler`;case v:return`StrictMode`;case C:return`Suspense`;case w:return`SuspenseList`;case D:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case g:return`Portal`;case x:return e.displayName||`Context`;case b:return(e._context.displayName||`Context`)+`.Consumer`;case S:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case T:return t=e.displayName||null,t===null?M(e.type)||`Memo`:t;case E:t=e._payload,e=e._init;try{return M(e(t))}catch{}}return null}var ee=Array.isArray,N=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,P=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,F={pending:!1,data:null,method:null,action:null},te=[],ne=-1;function re(e){return{current:e}}function ae(e){0>ne||(e.current=te[ne],te[ne]=null,ne--)}function I(e,t){ne++,te[ne]=e.current,e.current=t}var oe=re(null),se=re(null),ce=re(null),le=re(null);function ue(e,t){switch(I(ce,t),I(se,e),I(oe,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Vd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Vd(t),e=Hd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}ae(oe),I(oe,e)}function de(){ae(oe),ae(se),ae(ce)}function fe(e){e.memoizedState!==null&&I(le,e);var t=oe.current,n=Hd(t,e.type);t!==n&&(I(se,e),I(oe,n))}function pe(e){se.current===e&&(ae(oe),ae(se)),le.current===e&&(ae(le),Qf._currentValue=F)}var me,he;function ge(e){if(me===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);me=t&&t[1]||``,he=-1<e.stack.indexOf(`
3
3
  at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
4
4
  `+me+e+he}var _e=!1;function ve(e,t){if(!e||_e)return``;_e=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
@@ -9,7 +9,7 @@ Error generating stack: `+e.message+`
9
9
  `+e.stack}}var xe=Object.prototype.hasOwnProperty,Se=t.unstable_scheduleCallback,Ce=t.unstable_cancelCallback,we=t.unstable_shouldYield,Te=t.unstable_requestPaint,Ee=t.unstable_now,De=t.unstable_getCurrentPriorityLevel,Oe=t.unstable_ImmediatePriority,ke=t.unstable_UserBlockingPriority,Ae=t.unstable_NormalPriority,je=t.unstable_LowPriority,Me=t.unstable_IdlePriority,Ne=t.log,Pe=t.unstable_setDisableYieldValue,Fe=null,Ie=null;function Le(e){if(typeof Ne==`function`&&Pe(e),Ie&&typeof Ie.setStrictMode==`function`)try{Ie.setStrictMode(Fe,e)}catch{}}var Re=Math.clz32?Math.clz32:Ve,ze=Math.log,Be=Math.LN2;function Ve(e){return e>>>=0,e===0?32:31-(ze(e)/Be|0)|0}var He=256,Ue=262144,We=4194304;function Ge(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Ke(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ge(n))):i=Ge(o):i=Ge(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ge(n))):i=Ge(o)):i=Ge(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function qe(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Je(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ye(){var e=We;return We<<=1,!(We&62914560)&&(We=4194304),e}function Xe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ze(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Qe(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Re(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&$e(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function $e(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Re(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function et(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Re(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function tt(e,t){var n=t&-t;return n=n&42?1:nt(n),(n&(e.suspendedLanes|t))===0?n:0}function nt(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function rt(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function it(){var e=P.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function at(e,t){var n=P.p;try{return P.p=e,t()}finally{P.p=n}}var ot=Math.random().toString(36).slice(2),st=`__reactFiber$`+ot,ct=`__reactProps$`+ot,lt=`__reactContainer$`+ot,ut=`__reactEvents$`+ot,dt=`__reactListeners$`+ot,ft=`__reactHandles$`+ot,pt=`__reactResources$`+ot,mt=`__reactMarker$`+ot;function ht(e){delete e[st],delete e[ct],delete e[ut],delete e[dt],delete e[ft]}function gt(e){var t=e[st];if(t)return t;for(var n=e.parentNode;n;){if(t=n[lt]||n[st]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=df(e);e!==null;){if(n=e[st])return n;e=df(e)}return t}e=n,n=e.parentNode}return null}function _t(e){if(e=e[st]||e[lt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function vt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(a(33))}function yt(e){var t=e[pt];return t||=e[pt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function bt(e){e[mt]=!0}var xt=new Set,St={};function Ct(e,t){wt(e,t),wt(e+`Capture`,t)}function wt(e,t){for(St[e]=t,e=0;e<t.length;e++)xt.add(t[e])}var Tt=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),Et={},Dt={};function Ot(e){return xe.call(Dt,e)?!0:xe.call(Et,e)?!1:Tt.test(e)?Dt[e]=!0:(Et[e]=!0,!1)}function kt(e,t,n){if(Ot(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function At(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function jt(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function Mt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Nt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Pt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ft(e){if(!e._valueTracker){var t=Nt(e)?`checked`:`value`;e._valueTracker=Pt(e,t,``+e[t])}}function It(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Nt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function Lt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Rt=/[\n"\\]/g;function zt(e){return e.replace(Rt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Bt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Mt(t)):e.value!==``+Mt(t)&&(e.value=``+Mt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Ht(e,o,Mt(n)):Ht(e,o,Mt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Mt(s):e.removeAttribute(`name`)}function Vt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Ft(e);return}n=n==null?``:``+Mt(n),t=t==null?n:``+Mt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Ft(e)}function Ht(e,t,n){t===`number`&&Lt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Ut(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Mt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Wt(e,t,n){if(t!=null&&(t=``+Mt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Mt(n)}function Gt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(a(92));if(ee(r)){if(1<r.length)throw Error(a(93));r=r[0]}n=r}n??=``,t=n}n=Mt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Ft(e)}function Kt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var qt=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function Jt(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||qt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function Yt(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(a(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var i in t)r=t[i],t.hasOwnProperty(i)&&n[i]!==r&&Jt(e,i,r)}else for(var o in t)t.hasOwnProperty(o)&&Jt(e,o,t[o])}function Xt(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var Zt=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),Qt=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function $t(e){return Qt.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function en(){}var tn=null;function L(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var nn=null,rn=null;function an(e){var t=_t(e);if(t&&(e=t.stateNode)){var n=e[ct]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Bt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+zt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[ct]||null;if(!i)throw Error(a(90));Bt(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&It(r)}break a;case`textarea`:Wt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Ut(e,!!n.multiple,t,!1)}}}var on=!1;function sn(e,t,n){if(on)return e(t,n);on=!0;try{return e(t)}finally{if(on=!1,(nn!==null||rn!==null)&&(yu(),nn&&(t=nn,e=rn,rn=nn=null,an(t),e)))for(t=0;t<e.length;t++)an(e[t])}}function cn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[ct]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(a(231,t,typeof n));return n}var ln=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),un=!1;if(ln)try{var dn={};Object.defineProperty(dn,`passive`,{get:function(){un=!0}}),window.addEventListener(`test`,dn,dn),window.removeEventListener(`test`,dn,dn)}catch{un=!1}var fn=null,pn=null,mn=null;function hn(){if(mn)return mn;var e,t=pn,n=t.length,r,i=`value`in fn?fn.value:fn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return mn=i.slice(e,1<r?1-r:void 0)}function gn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function _n(){return!0}function vn(){return!1}function yn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?_n:vn,this.isPropagationStopped=vn,this}return p(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=_n)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=_n)},persist:function(){},isPersistent:_n}),t}var bn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},xn=yn(bn),Sn=p({},bn,{view:0,detail:0}),Cn=yn(Sn),wn,Tn,En,Dn=p({},Sn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Rn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==En&&(En&&e.type===`mousemove`?(wn=e.screenX-En.screenX,Tn=e.screenY-En.screenY):Tn=wn=0,En=e),wn)},movementY:function(e){return`movementY`in e?e.movementY:Tn}}),On=yn(Dn),kn=yn(p({},Dn,{dataTransfer:0})),An=yn(p({},Sn,{relatedTarget:0})),jn=yn(p({},bn,{animationName:0,elapsedTime:0,pseudoElement:0})),Mn=yn(p({},bn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Nn=yn(p({},bn,{data:0})),Pn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Fn={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},In={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function Ln(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=In[e])?!!t[e]:!1}function Rn(){return Ln}var zn=yn(p({},Sn,{key:function(e){if(e.key){var t=Pn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=gn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Fn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Rn,charCode:function(e){return e.type===`keypress`?gn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?gn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Bn=yn(p({},Dn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Vn=yn(p({},Sn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Rn})),Hn=yn(p({},bn,{propertyName:0,elapsedTime:0,pseudoElement:0})),R=yn(p({},Dn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),z=yn(p({},bn,{newState:0,oldState:0})),Un=[9,13,27,32],Wn=ln&&`CompositionEvent`in window,B=null;ln&&`documentMode`in document&&(B=document.documentMode);var Gn=ln&&`TextEvent`in window&&!B,V=ln&&(!Wn||B&&8<B&&11>=B),H=` `,U=!1;function Kn(e,t){switch(e){case`keyup`:return Un.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function qn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Jn=!1;function Yn(e,t){switch(e){case`compositionend`:return qn(t);case`keypress`:return t.which===32?(U=!0,H):null;case`textInput`:return e=t.data,e===H&&U?null:e;default:return null}}function Xn(e,t){if(Jn)return e===`compositionend`||!Wn&&Kn(e,t)?(e=hn(),mn=pn=fn=null,Jn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return V&&t.locale!==`ko`?null:t.data;default:return null}}var Zn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Qn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!Zn[e.type]:t===`textarea`}function $n(e,t,n,r){nn?rn?rn.push(r):rn=[r]:nn=r,t=Td(t,`onChange`),0<t.length&&(n=new xn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var er=null,tr=null;function nr(e){yd(e,0)}function rr(e){if(It(vt(e)))return e}function ir(e,t){if(e===`change`)return t}var ar=!1;if(ln){var W;if(ln){var or=`oninput`in document;if(!or){var sr=document.createElement(`div`);sr.setAttribute(`oninput`,`return;`),or=typeof sr.oninput==`function`}W=or}else W=!1;ar=W&&(!document.documentMode||9<document.documentMode)}function cr(){er&&(er.detachEvent(`onpropertychange`,lr),tr=er=null)}function lr(e){if(e.propertyName===`value`&&rr(tr)){var t=[];$n(t,tr,e,L(e)),sn(nr,t)}}function ur(e,t,n){e===`focusin`?(cr(),er=t,tr=n,er.attachEvent(`onpropertychange`,lr)):e===`focusout`&&cr()}function dr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return rr(tr)}function fr(e,t){if(e===`click`)return rr(t)}function pr(e,t){if(e===`input`||e===`change`)return rr(t)}function G(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var mr=typeof Object.is==`function`?Object.is:G;function hr(e,t){if(mr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!xe.call(t,i)||!mr(e[i],t[i]))return!1}return!0}function gr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function K(e,t){var n=gr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=gr(n)}}function _r(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?_r(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Lt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Lt(e.document)}return t}function yr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var br=ln&&`documentMode`in document&&11>=document.documentMode,xr=null,Sr=null,Cr=null,wr=!1;function Tr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;wr||xr==null||xr!==Lt(r)||(r=xr,`selectionStart`in r&&yr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Cr&&hr(Cr,r)||(Cr=r,r=Td(Sr,`onSelect`),0<r.length&&(t=new xn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=xr)))}function Er(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Dr={animationend:Er(`Animation`,`AnimationEnd`),animationiteration:Er(`Animation`,`AnimationIteration`),animationstart:Er(`Animation`,`AnimationStart`),transitionrun:Er(`Transition`,`TransitionRun`),transitionstart:Er(`Transition`,`TransitionStart`),transitioncancel:Er(`Transition`,`TransitionCancel`),transitionend:Er(`Transition`,`TransitionEnd`)},Or={},kr={};ln&&(kr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Dr.animationend.animation,delete Dr.animationiteration.animation,delete Dr.animationstart.animation),`TransitionEvent`in window||delete Dr.transitionend.transition);function Ar(e){if(Or[e])return Or[e];if(!Dr[e])return e;var t=Dr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in kr)return Or[e]=t[n];return e}var jr=Ar(`animationend`),Mr=Ar(`animationiteration`),Nr=Ar(`animationstart`),Pr=Ar(`transitionrun`),Fr=Ar(`transitionstart`),Ir=Ar(`transitioncancel`),Lr=Ar(`transitionend`),Rr=new Map,zr=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);zr.push(`scrollEnd`);function Br(e,t){Rr.set(e,t),Ct(t,[e])}var Vr=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},Hr=[],Ur=0,Wr=0;function Gr(){for(var e=Ur,t=Wr=Ur=0;t<e;){var n=Hr[t];Hr[t++]=null;var r=Hr[t];Hr[t++]=null;var i=Hr[t];Hr[t++]=null;var a=Hr[t];if(Hr[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&Yr(n,i,a)}}function Kr(e,t,n,r){Hr[Ur++]=e,Hr[Ur++]=t,Hr[Ur++]=n,Hr[Ur++]=r,Wr|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function qr(e,t,n,r){return Kr(e,t,n,r),Xr(e)}function Jr(e,t){return Kr(e,null,null,t),Xr(e)}function Yr(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Re(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function Xr(e){if(50<uu)throw uu=0,du=null,Error(a(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Zr={};function Qr(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $r(e,t,n,r){return new Qr(e,t,n,r)}function ei(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ti(e,t){var n=e.alternate;return n===null?(n=$r(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function ni(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ri(e,t,n,r,i,o){var s=0;if(r=e,typeof e==`function`)ei(e)&&(s=1);else if(typeof e==`string`)s=Uf(e,n,oe.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case D:return e=$r(31,n,t,i),e.elementType=D,e.lanes=o,e;case _:return ii(n.children,i,o,t);case v:s=8,i|=24;break;case y:return e=$r(12,n,t,i|2),e.elementType=y,e.lanes=o,e;case C:return e=$r(13,n,t,i),e.elementType=C,e.lanes=o,e;case w:return e=$r(19,n,t,i),e.elementType=w,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case x:s=10;break a;case b:s=9;break a;case S:s=11;break a;case T:s=14;break a;case E:s=16,r=null;break a}s=29,n=Error(a(130,e===null?`null`:typeof e,``)),r=null}return t=$r(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function ii(e,t,n,r){return e=$r(7,e,r,t),e.lanes=n,e}function ai(e,t,n){return e=$r(6,e,null,t),e.lanes=n,e}function oi(e){var t=$r(18,null,null,0);return t.stateNode=e,t}function si(e,t,n){return t=$r(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ci=new WeakMap;function li(e,t){if(typeof e==`object`&&e){var n=ci.get(e);return n===void 0?(t={value:e,source:t,stack:be(t)},ci.set(e,t),t):n}return{value:e,source:t,stack:be(t)}}var ui=[],di=0,fi=null,pi=0,mi=[],hi=0,gi=null,_i=1,vi=``;function yi(e,t){ui[di++]=pi,ui[di++]=fi,fi=e,pi=t}function bi(e,t,n){mi[hi++]=_i,mi[hi++]=vi,mi[hi++]=gi,gi=e;var r=_i;e=vi;var i=32-Re(r)-1;r&=~(1<<i),n+=1;var a=32-Re(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,_i=1<<32-Re(t)+i|n<<i|r,vi=a+e}else _i=1<<a|n<<i|r,vi=e}function xi(e){e.return!==null&&(yi(e,1),bi(e,1,0))}function Si(e){for(;e===fi;)fi=ui[--di],ui[di]=null,pi=ui[--di],ui[di]=null;for(;e===gi;)gi=mi[--hi],mi[hi]=null,vi=mi[--hi],mi[hi]=null,_i=mi[--hi],mi[hi]=null}function Ci(e,t){mi[hi++]=_i,mi[hi++]=vi,mi[hi++]=gi,_i=t.id,vi=t.overflow,gi=e}var wi=null,Ti=null,Ei=!1,Di=null,q=!1,Oi=Error(a(519));function ki(e){throw Fi(li(Error(a(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Oi}function Ai(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[st]=e,t[ct]=r,n){case`dialog`:Q(`cancel`,t),Q(`close`,t);break;case`iframe`:case`object`:case`embed`:Q(`load`,t);break;case`video`:case`audio`:for(n=0;n<_d.length;n++)Q(_d[n],t);break;case`source`:Q(`error`,t);break;case`img`:case`image`:case`link`:Q(`error`,t),Q(`load`,t);break;case`details`:Q(`toggle`,t);break;case`input`:Q(`invalid`,t),Vt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:Q(`invalid`,t);break;case`textarea`:Q(`invalid`,t),Gt(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||jd(t.textContent,n)?(r.popover!=null&&(Q(`beforetoggle`,t),Q(`toggle`,t)),r.onScroll!=null&&Q(`scroll`,t),r.onScrollEnd!=null&&Q(`scrollend`,t),r.onClick!=null&&(t.onclick=en),t=!0):t=!1,t||ki(e,!0)}function ji(e){for(wi=e.return;wi;)switch(wi.tag){case 5:case 31:case 13:q=!1;return;case 27:case 3:q=!0;return;default:wi=wi.return}}function Mi(e){if(e!==wi)return!1;if(!Ei)return ji(e),Ei=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||Ud(e.type,e.memoizedProps)),n=!n),n&&Ti&&ki(e),ji(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));Ti=uf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));Ti=uf(e)}else t===27?(t=Ti,Zd(e.type)?(e=lf,lf=null,Ti=e):Ti=t):Ti=wi?cf(e.stateNode.nextSibling):null;return!0}function Ni(){Ti=wi=null,Ei=!1}function Pi(){var e=Di;return e!==null&&(Xl===null?Xl=e:Xl.push.apply(Xl,e),Di=null),e}function Fi(e){Di===null?Di=[e]:Di.push(e)}var Ii=re(null),Li=null,Ri=null;function zi(e,t,n){I(Ii,t._currentValue),t._currentValue=n}function Bi(e){e._currentValue=Ii.current,ae(Ii)}function Vi(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Hi(e,t,n,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var o=i.dependencies;if(o!==null){var s=i.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=i;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),Vi(o.return,n,e),r||(s=null);break a}o=c.next}}else if(i.tag===18){if(s=i.return,s===null)throw Error(a(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),Vi(s,n,e),s=null}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===e){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}}function Ui(e,t,n,r){e=null;for(var i=t,o=!1;i!==null;){if(!o){if(i.flags&524288)o=!0;else if(i.flags&262144)break}if(i.tag===10){var s=i.alternate;if(s===null)throw Error(a(387));if(s=s.memoizedProps,s!==null){var c=i.type;mr(i.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(i===le.current){if(s=i.alternate,s===null)throw Error(a(387));s.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e===null?e=[Qf]:e.push(Qf))}i=i.return}e!==null&&Hi(t,e,n,r),t.flags|=262144}function Wi(e){for(e=e.firstContext;e!==null;){if(!mr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Gi(e){Li=e,Ri=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Ki(e){return Ji(Li,e)}function qi(e,t){return Li===null&&Gi(e),Ji(e,t)}function Ji(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Ri===null){if(e===null)throw Error(a(308));Ri=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Ri=Ri.next=t;return n}var Yi=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},Xi=t.unstable_scheduleCallback,Zi=t.unstable_NormalPriority,Qi={$$typeof:x,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function ea(){return{controller:new Yi,data:new Map,refCount:0}}function ta(e){e.refCount--,e.refCount===0&&Xi(Zi,function(){e.controller.abort()})}var na=null,ra=0,ia=0,aa=null;function oa(e,t){if(na===null){var n=na=[];ra=0,ia=dd(),aa={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return ra++,t.then(sa,sa),t}function sa(){if(--ra===0&&na!==null){aa!==null&&(aa.status=`fulfilled`);var e=na;na=null,ia=0,aa=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function ca(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var la=N.S;N.S=function(e,t){$l=Ee(),typeof t==`object`&&t&&typeof t.then==`function`&&oa(e,t),la!==null&&la(e,t)};var ua=re(null);function da(){var e=ua.current;return e===null?Fl.pooledCache:e}function fa(e,t){t===null?I(ua,ua.current):I(ua,t.pool)}function pa(){var e=da();return e===null?null:{parent:Qi._currentValue,pool:e}}var J=Error(a(460)),Y=Error(a(474)),ma=Error(a(542)),ha={then:function(){}};function ga(e){return e=e.status,e===`fulfilled`||e===`rejected`}function _a(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(en,en),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,xa(e),e;default:if(typeof t.status==`string`)t.then(en,en);else{if(e=Fl,e!==null&&100<e.shellSuspendCounter)throw Error(a(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,xa(e),e}throw ya=t,J}}function va(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(ya=e,J):e}}var ya=null;function ba(){if(ya===null)throw Error(a(459));var e=ya;return ya=null,e}function xa(e){if(e===J||e===ma)throw Error(a(483))}var Sa=null,Ca=0;function wa(e){var t=Ca;return Ca+=1,Sa===null&&(Sa=[]),_a(Sa,e,t)}function Ta(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ea(e,t){throw t.$$typeof===m?Error(a(525)):(e=Object.prototype.toString.call(t),Error(a(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Da(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function i(e,t){return e=ti(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=ai(n,e.mode,r),t.return=e,t):(t=i(t,n),t.return=e,t)}function l(e,t,n,r){var a=n.type;return a===_?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===a||typeof a==`object`&&a&&a.$$typeof===E&&va(a)===t.type)?(t=i(t,n.props),Ta(t,n),t.return=e,t):(t=ri(n.type,n.key,n.props,null,e.mode,r),Ta(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=si(n,e.mode,r),t.return=e,t):(t=i(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,a){return t===null||t.tag!==7?(t=ii(n,e.mode,r,a),t.return=e,t):(t=i(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=ai(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case h:return n=ri(t.type,t.key,t.props,null,e.mode,n),Ta(n,t),n.return=e,n;case g:return t=si(t,e.mode,n),t.return=e,t;case E:return t=va(t),f(e,t,n)}if(ee(t)||A(t))return t=ii(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,wa(t),n);if(t.$$typeof===x)return f(e,qi(e,t),n);Ea(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case h:return n.key===i?l(e,t,n,r):null;case g:return n.key===i?u(e,t,n,r):null;case E:return n=va(n),p(e,t,n,r)}if(ee(n)||A(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,wa(n),r);if(n.$$typeof===x)return p(e,t,qi(e,n),r);Ea(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case h:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case g:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case E:return r=va(r),m(e,t,n,r,i)}if(ee(r)||A(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,wa(r),i);if(r.$$typeof===x)return m(e,t,n,qi(t,r),i);Ea(t,r)}return null}function v(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),Ei&&yi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return Ei&&yi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),Ei&&yi(i,h),l}function y(i,s,c,l){if(c==null)throw Error(a(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),Ei&&yi(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Ei&&yi(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),Ei&&yi(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===_&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case h:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===_){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===E&&va(l)===r.type){n(e,r.sibling),c=i(r,o.props),Ta(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===_?(c=ii(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=ri(o.type,o.key,o.props,null,e.mode,c),Ta(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=si(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=va(o),b(e,r,o,c)}if(ee(o))return v(e,r,o,c);if(A(o)){if(l=A(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,wa(o),c);if(o.$$typeof===x)return b(e,r,qi(e,o),c);Ea(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=ai(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ca=0;var i=b(e,t,n,r);return Sa=null,i}catch(t){if(t===J||t===ma)throw t;var a=$r(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Oa=Da(!0),ka=Da(!1),Aa=!1;function ja(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Ma(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Na(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Pa(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Pl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Xr(e),Yr(e,null,n),t}return Kr(e,r,t,n),Xr(e)}function Fa(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,et(e,n)}}function Ia(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var La=!1;function Ra(){if(La){var e=aa;if(e!==null)throw e}}function za(e,t,n,r){La=!1;var i=e.updateQueue;Aa=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,m=f!==s.lane;if(m?(Z&f)===f:(r&f)===f){f!==0&&f===ia&&(La=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=p({},d,f);break a;case 2:Aa=!0}}f=s.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Wl|=o,e.lanes=o,e.memoizedState=d}}function Ba(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Va(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)Ba(n[e],t)}var Ha=re(null),Ua=re(0);function Wa(e,t){e=Hl,I(Ua,e),I(Ha,t),Hl=e|t.baseLanes}function Ga(){I(Ua,Hl),I(Ha,Ha.current)}function Ka(){Hl=Ua.current,ae(Ha),ae(Ua)}var qa=re(null),Ja=null;function Ya(e){var t=e.alternate;I(eo,eo.current&1),I(qa,e),Ja===null&&(t===null||Ha.current!==null||t.memoizedState!==null)&&(Ja=e)}function Xa(e){I(eo,eo.current),I(qa,e),Ja===null&&(Ja=e)}function Za(e){e.tag===22?(I(eo,eo.current),I(qa,e),Ja===null&&(Ja=e)):Qa(e)}function Qa(){I(eo,eo.current),I(qa,qa.current)}function $a(e){ae(qa),Ja===e&&(Ja=null),ae(eo)}var eo=re(0);function to(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||af(n)||of(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var no=0,X=null,ro=null,io=null,ao=!1,oo=!1,so=!1,co=0,lo=0,uo=null,fo=0;function po(){throw Error(a(321))}function mo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!mr(e[n],t[n]))return!1;return!0}function ho(e,t,n,r,i,a){return no=a,X=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,N.H=e===null||e.memoizedState===null?Ms:Ns,so=!1,a=n(r,i),so=!1,oo&&(a=_o(t,n,r,i)),go(e),a}function go(e){N.H=js;var t=ro!==null&&ro.next!==null;if(no=0,io=ro=X=null,ao=!1,lo=0,uo=null,t)throw Error(a(300));e===null||Xs||(e=e.dependencies,e!==null&&Wi(e)&&(Xs=!0))}function _o(e,t,n,r){X=e;var i=0;do{if(oo&&(uo=null),lo=0,oo=!1,25<=i)throw Error(a(301));if(i+=1,io=ro=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}N.H=Ps,o=t(n,r)}while(oo);return o}function vo(){var e=N.H,t=e.useState()[0];return t=typeof t.then==`function`?To(t):t,e=e.useState()[0],(ro===null?null:ro.memoizedState)!==e&&(X.flags|=1024),t}function yo(){var e=co!==0;return co=0,e}function bo(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function xo(e){if(ao){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}ao=!1}no=0,io=ro=X=null,oo=!1,lo=co=0,uo=null}function So(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return io===null?X.memoizedState=io=e:io=io.next=e,io}function Co(){if(ro===null){var e=X.alternate;e=e===null?null:e.memoizedState}else e=ro.next;var t=io===null?X.memoizedState:io.next;if(t!==null)io=t,ro=e;else{if(e===null)throw X.alternate===null?Error(a(467)):Error(a(310));ro=e,e={memoizedState:ro.memoizedState,baseState:ro.baseState,baseQueue:ro.baseQueue,queue:ro.queue,next:null},io===null?X.memoizedState=io=e:io=io.next=e}return io}function wo(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function To(e){var t=lo;return lo+=1,uo===null&&(uo=[]),e=_a(uo,e,t),t=X,(io===null?t.memoizedState:io.next)===null&&(t=t.alternate,N.H=t===null||t.memoizedState===null?Ms:Ns),e}function Eo(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return To(e);if(e.$$typeof===x)return Ki(e)}throw Error(a(438,String(e)))}function Do(e){var t=null,n=X.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=X.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=wo(),X.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=O;return t.index++,n}function Oo(e,t){return typeof t==`function`?t(e):t}function ko(e){return Ao(Co(),ro,e)}function Ao(e,t,n){var r=e.queue;if(r===null)throw Error(a(311));r.lastRenderedReducer=n;var i=e.baseQueue,o=r.pending;if(o!==null){if(i!==null){var s=i.next;i.next=o.next,o.next=s}t.baseQueue=i=o,r.pending=null}if(o=e.baseState,i===null)e.memoizedState=o;else{t=i.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(no&f)===f:(Z&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===ia&&(d=!0);else if((no&p)===p){u=u.next,p===ia&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,X.lanes|=p,Wl|=p;f=u.action,so&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,X.lanes|=f,Wl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!mr(o,e.memoizedState)&&(Xs=!0,d&&(n=aa,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function jo(e){var t=Co(),n=t.queue;if(n===null)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(i!==null){n.pending=null;var s=i=i.next;do o=e(o,s.action),s=s.next;while(s!==i);mr(o,t.memoizedState)||(Xs=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Mo(e,t,n){var r=X,i=Co(),o=Ei;if(o){if(n===void 0)throw Error(a(407));n=n()}else n=t();var s=!mr((ro||i).memoizedState,n);if(s&&(i.memoizedState=n,Xs=!0),i=i.queue,rs(Fo.bind(null,r,i,e),[e]),i.getSnapshot!==t||s||io!==null&&io.memoizedState.tag&1){if(r.flags|=2048,Qo(9,{destroy:void 0},Po.bind(null,r,i,n,t),null),Fl===null)throw Error(a(349));o||no&127||No(r,t,n)}return n}function No(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=X.updateQueue,t===null?(t=wo(),X.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Po(e,t,n,r){t.value=n,t.getSnapshot=r,Io(t)&&Lo(e)}function Fo(e,t,n){return n(function(){Io(t)&&Lo(e)})}function Io(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!mr(e,n)}catch{return!0}}function Lo(e){var t=Jr(e,2);t!==null&&mu(t,e,2)}function Ro(e){var t=So();if(typeof e==`function`){var n=e;if(e=n(),so){Le(!0);try{n()}finally{Le(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Oo,lastRenderedState:e},t}function zo(e,t,n,r){return e.baseState=n,Ao(e,ro,typeof r==`function`?r:Oo)}function Bo(e,t,n,r,i){if(Os(e))throw Error(a(485));if(e=t.action,e!==null){var o={payload:i,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};N.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Vo(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Vo(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=N.T,o={};N.T=o;try{var s=n(i,r),c=N.S;c!==null&&c(o,s),Ho(e,t,s)}catch(n){Wo(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),N.T=a}}else try{a=n(i,r),Ho(e,t,a)}catch(n){Wo(e,t,n)}}function Ho(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Uo(e,t,n)},function(n){return Wo(e,t,n)}):Uo(e,t,n)}function Uo(e,t,n){t.status=`fulfilled`,t.value=n,Go(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Vo(e,n)))}function Wo(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,Go(t),t=t.next;while(t!==r)}e.action=null}function Go(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Ko(e,t){return t}function qo(e,t){if(Ei){var n=Fl.formState;if(n!==null){a:{var r=X;if(Ei){if(Ti){b:{for(var i=Ti,a=q;i.nodeType!==8;){if(!a){i=null;break b}if(i=cf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){Ti=cf(i.nextSibling),r=i.data===`F!`;break a}}ki(r)}r=!1}r&&(t=n[0])}}return n=So(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ko,lastRenderedState:t},n.queue=r,n=Ts.bind(null,X,r),r.dispatch=n,r=Ro(!1),a=Ds.bind(null,X,!1,r.queue),r=So(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Bo.bind(null,X,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function Jo(e){return Yo(Co(),ro,e)}function Yo(e,t,n){if(t=Ao(e,t,Ko)[0],e=ko(Oo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=To(t)}catch(e){throw e===J?ma:e}else r=t;t=Co();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(X.flags|=2048,Qo(9,{destroy:void 0},Xo.bind(null,i,n),null)),[r,a,e]}function Xo(e,t){e.action=t}function Zo(e){var t=Co(),n=ro;if(n!==null)return Yo(t,n,e);Co(),t=t.memoizedState,n=Co();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function Qo(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=X.updateQueue,t===null&&(t=wo(),X.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function $o(){return Co().memoizedState}function es(e,t,n,r){var i=So();X.flags|=e,i.memoizedState=Qo(1|t,{destroy:void 0},n,r===void 0?null:r)}function ts(e,t,n,r){var i=Co();r=r===void 0?null:r;var a=i.memoizedState.inst;ro!==null&&r!==null&&mo(r,ro.memoizedState.deps)?i.memoizedState=Qo(t,a,n,r):(X.flags|=e,i.memoizedState=Qo(1|t,a,n,r))}function ns(e,t){es(8390656,8,e,t)}function rs(e,t){ts(2048,8,e,t)}function is(e){X.flags|=4;var t=X.updateQueue;if(t===null)t=wo(),X.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function as(e){var t=Co().memoizedState;return is({ref:t,nextImpl:e}),function(){if(Pl&2)throw Error(a(440));return t.impl.apply(void 0,arguments)}}function os(e,t){return ts(4,2,e,t)}function ss(e,t){return ts(4,4,e,t)}function cs(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function ls(e,t,n){n=n==null?null:n.concat([e]),ts(4,4,cs.bind(null,t,e),n)}function us(){}function ds(e,t){var n=Co();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&mo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function fs(e,t){var n=Co();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&mo(t,r[1]))return r[0];if(r=e(),so){Le(!0);try{e()}finally{Le(!1)}}return n.memoizedState=[r,t],r}function ps(e,t,n){return n===void 0||no&1073741824&&!(Z&261930)?e.memoizedState=t:(e.memoizedState=n,e=pu(),X.lanes|=e,Wl|=e,n)}function ms(e,t,n,r){return mr(n,t)?n:Ha.current===null?!(no&42)||no&1073741824&&!(Z&261930)?(Xs=!0,e.memoizedState=n):(e=pu(),X.lanes|=e,Wl|=e,t):(e=ps(e,n,r),mr(e,t)||(Xs=!0),e)}function hs(e,t,n,r,i){var a=P.p;P.p=a!==0&&8>a?a:8;var o=N.T,s={};N.T=s,Ds(e,!1,t,n);try{var c=i(),l=N.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Es(e,t,ca(c,r),fu(e)):Es(e,t,r,fu(e))}catch(n){Es(e,t,{then:function(){},status:`rejected`,reason:n},fu())}finally{P.p=a,o!==null&&s.types!==null&&(o.types=s.types),N.T=o}}function gs(){}function _s(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=vs(e).queue;hs(e,i,t,F,n===null?gs:function(){return ys(e),n(r)})}function vs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:F,baseState:F,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Oo,lastRenderedState:F},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Oo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ys(e){var t=vs(e);t.next===null&&(t=e.alternate.memoizedState),Es(e,t.next.queue,{},fu())}function bs(){return Ki(Qf)}function xs(){return Co().memoizedState}function Ss(){return Co().memoizedState}function Cs(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=fu();e=Na(n);var r=Pa(t,e,n);r!==null&&(mu(r,t,n),Fa(r,t,n)),t={cache:ea()},e.payload=t;return}t=t.return}}function ws(e,t,n){var r=fu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Os(e)?ks(t,n):(n=qr(e,t,n,r),n!==null&&(mu(n,e,r),As(n,t,r)))}function Ts(e,t,n){Es(e,t,n,fu())}function Es(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Os(e))ks(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,mr(s,o))return Kr(e,t,i,0),Fl===null&&Gr(),!1}catch{}if(n=qr(e,t,i,r),n!==null)return mu(n,e,r),As(n,t,r),!0}return!1}function Ds(e,t,n,r){if(r={lane:2,revertLane:dd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Os(e)){if(t)throw Error(a(479))}else t=qr(e,n,r,2),t!==null&&mu(t,e,2)}function Os(e){var t=e.alternate;return e===X||t!==null&&t===X}function ks(e,t){oo=ao=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function As(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,et(e,n)}}var js={readContext:Ki,use:Eo,useCallback:po,useContext:po,useEffect:po,useImperativeHandle:po,useLayoutEffect:po,useInsertionEffect:po,useMemo:po,useReducer:po,useRef:po,useState:po,useDebugValue:po,useDeferredValue:po,useTransition:po,useSyncExternalStore:po,useId:po,useHostTransitionStatus:po,useFormState:po,useActionState:po,useOptimistic:po,useMemoCache:po,useCacheRefresh:po};js.useEffectEvent=po;var Ms={readContext:Ki,use:Eo,useCallback:function(e,t){return So().memoizedState=[e,t===void 0?null:t],e},useContext:Ki,useEffect:ns,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),es(4194308,4,cs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return es(4194308,4,e,t)},useInsertionEffect:function(e,t){es(4,2,e,t)},useMemo:function(e,t){var n=So();t=t===void 0?null:t;var r=e();if(so){Le(!0);try{e()}finally{Le(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=So();if(n!==void 0){var i=n(t);if(so){Le(!0);try{n(t)}finally{Le(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=ws.bind(null,X,e),[r.memoizedState,e]},useRef:function(e){var t=So();return e={current:e},t.memoizedState=e},useState:function(e){e=Ro(e);var t=e.queue,n=Ts.bind(null,X,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:us,useDeferredValue:function(e,t){return ps(So(),e,t)},useTransition:function(){var e=Ro(!1);return e=hs.bind(null,X,e.queue,!0,!1),So().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=X,i=So();if(Ei){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Fl===null)throw Error(a(349));Z&127||No(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,ns(Fo.bind(null,r,o,e),[e]),r.flags|=2048,Qo(9,{destroy:void 0},Po.bind(null,r,o,n,t),null),n},useId:function(){var e=So(),t=Fl.identifierPrefix;if(Ei){var n=vi,r=_i;n=(r&~(1<<32-Re(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=co++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=fo++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:bs,useFormState:qo,useActionState:qo,useOptimistic:function(e){var t=So();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Ds.bind(null,X,!0,n),n.dispatch=t,[e,t]},useMemoCache:Do,useCacheRefresh:function(){return So().memoizedState=Cs.bind(null,X)},useEffectEvent:function(e){var t=So(),n={impl:e};return t.memoizedState=n,function(){if(Pl&2)throw Error(a(440));return n.impl.apply(void 0,arguments)}}},Ns={readContext:Ki,use:Eo,useCallback:ds,useContext:Ki,useEffect:rs,useImperativeHandle:ls,useInsertionEffect:os,useLayoutEffect:ss,useMemo:fs,useReducer:ko,useRef:$o,useState:function(){return ko(Oo)},useDebugValue:us,useDeferredValue:function(e,t){return ms(Co(),ro.memoizedState,e,t)},useTransition:function(){var e=ko(Oo)[0],t=Co().memoizedState;return[typeof e==`boolean`?e:To(e),t]},useSyncExternalStore:Mo,useId:xs,useHostTransitionStatus:bs,useFormState:Jo,useActionState:Jo,useOptimistic:function(e,t){return zo(Co(),ro,e,t)},useMemoCache:Do,useCacheRefresh:Ss};Ns.useEffectEvent=as;var Ps={readContext:Ki,use:Eo,useCallback:ds,useContext:Ki,useEffect:rs,useImperativeHandle:ls,useInsertionEffect:os,useLayoutEffect:ss,useMemo:fs,useReducer:jo,useRef:$o,useState:function(){return jo(Oo)},useDebugValue:us,useDeferredValue:function(e,t){var n=Co();return ro===null?ps(n,e,t):ms(n,ro.memoizedState,e,t)},useTransition:function(){var e=jo(Oo)[0],t=Co().memoizedState;return[typeof e==`boolean`?e:To(e),t]},useSyncExternalStore:Mo,useId:xs,useHostTransitionStatus:bs,useFormState:Zo,useActionState:Zo,useOptimistic:function(e,t){var n=Co();return ro===null?(n.baseState=e,[e,n.queue.dispatch]):zo(n,ro,e,t)},useMemoCache:Do,useCacheRefresh:Ss};Ps.useEffectEvent=as;function Fs(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:p({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Is={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=fu(),i=Na(r);i.payload=t,n!=null&&(i.callback=n),t=Pa(e,i,r),t!==null&&(mu(t,e,r),Fa(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=fu(),i=Na(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Pa(e,i,r),t!==null&&(mu(t,e,r),Fa(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=fu(),r=Na(n);r.tag=2,t!=null&&(r.callback=t),t=Pa(e,r,n),t!==null&&(mu(t,e,n),Fa(t,e,n))}};function Ls(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!hr(n,r)||!hr(i,a):!0}function Rs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Is.enqueueReplaceState(t,t.state,null)}function zs(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=p({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Bs(e){Vr(e)}function Vs(e){console.error(e)}function Hs(e){Vr(e)}function Us(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Ws(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Gs(e,t,n){return n=Na(n),n.tag=3,n.payload={element:null},n.callback=function(){Us(e,t)},n}function Ks(e){return e=Na(e),e.tag=3,e}function qs(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){Ws(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Ws(t,n,r),typeof i!=`function`&&(nu===null?nu=new Set([this]):nu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function Js(e,t,n,r,i){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Ui(t,n,i,!0),n=qa.current,n!==null){switch(n.tag){case 31:case 13:return Ja===null?Eu():n.alternate===null&&Ul===0&&(Ul=3),n.flags&=-257,n.flags|=65536,n.lanes=i,r===ha?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Gu(e,r,i)),!1;case 22:return n.flags|=65536,r===ha?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Gu(e,r,i)),!1}throw Error(a(435,n.tag))}return Gu(e,r,i),Eu(),!1}if(Ei)return t=qa.current,t===null?(r!==Oi&&(t=Error(a(423),{cause:r}),Fi(li(t,n))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=li(r,n),i=Gs(e.stateNode,r,i),Ia(e,i),Ul!==4&&(Ul=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Oi&&(e=Error(a(422),{cause:r}),Fi(li(e,n)))),!1;var o=Error(a(520),{cause:r});if(o=li(o,n),Yl===null?Yl=[o]:Yl.push(o),Ul!==4&&(Ul=2),t===null)return!0;r=li(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=Gs(n.stateNode,r,e),Ia(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(nu===null||!nu.has(o))))return n.flags|=65536,i&=-i,n.lanes|=i,i=Ks(i),qs(i,e,n,r),Ia(n,i),!1}n=n.return}while(n!==null);return!1}var Ys=Error(a(461)),Xs=!1;function Zs(e,t,n,r){t.child=e===null?ka(t,null,n,r):Oa(t,e.child,n,r)}function Qs(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Gi(t),r=ho(e,t,n,o,a,i),s=yo(),e!==null&&!Xs?(bo(e,t,i),Sc(e,t,i)):(Ei&&s&&xi(t),t.flags|=1,Zs(e,t,r,i),t.child)}function $s(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!ei(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,ec(e,t,a,r,i)):(e=ri(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Cc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?hr:n,n(o,r)&&e.ref===t.ref)return Sc(e,t,i)}return t.flags|=1,e=ti(a,r),e.ref=t.ref,e.return=t,t.child=e}function ec(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(hr(a,r)&&e.ref===t.ref)if(Xs=!1,t.pendingProps=r=a,Cc(e,i))e.flags&131072&&(Xs=!0);else return t.lanes=e.lanes,Sc(e,t,i)}return cc(e,t,n,r,i)}function tc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return rc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&fa(t,a===null?null:a.cachePool),a===null?Ga():Wa(t,a),Za(t);else return r=t.lanes=536870912,rc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&fa(t,null),Ga(),Qa(t)):(fa(t,a.cachePool),Wa(t,a),Qa(t),t.memoizedState=null);return Zs(e,t,i,n),t.child}function nc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function rc(e,t,n,r,i){var a=da();return a=a===null?null:{parent:Qi._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&fa(t,null),Ga(),Za(t),e!==null&&Ui(e,t,r,!0),t.childLanes=i,null}function ic(e,t){return t=_c({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function ac(e,t,n){return Oa(t,e.child,null,n),e=ic(t,t.pendingProps),e.flags|=2,$a(t),t.memoizedState=null,e}function oc(e,t,n){var r=t.pendingProps,i=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(Ei){if(r.mode===`hidden`)return e=ic(t,r),t.lanes=536870912,nc(null,e);if(Xa(t),(e=Ti)?(e=rf(e,q),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:gi===null?null:{id:_i,overflow:vi},retryLane:536870912,hydrationErrors:null},n=oi(e),n.return=t,t.child=n,wi=t,Ti=null)):e=null,e===null)throw ki(t);return t.lanes=536870912,null}return ic(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(Xa(t),i)if(t.flags&256)t.flags&=-257,t=ac(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(a(558));else if(Xs||Ui(e,t,n,!1),i=(n&e.childLanes)!==0,Xs||i){if(r=Fl,r!==null&&(s=tt(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,Jr(e,s),mu(r,e,s),Ys;Eu(),t=ac(e,t,n)}else e=o.treeContext,Ti=cf(s.nextSibling),wi=t,Ei=!0,Di=null,q=!1,e!==null&&Ci(t,e),t=ic(t,r),t.flags|=4096;return t}return e=ti(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function sc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(a(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function cc(e,t,n,r,i){return Gi(t),n=ho(e,t,n,r,void 0,i),r=yo(),e!==null&&!Xs?(bo(e,t,i),Sc(e,t,i)):(Ei&&r&&xi(t),t.flags|=1,Zs(e,t,n,i),t.child)}function lc(e,t,n,r,i,a){return Gi(t),t.updateQueue=null,n=_o(t,r,n,i),go(e),r=yo(),e!==null&&!Xs?(bo(e,t,a),Sc(e,t,a)):(Ei&&r&&xi(t),t.flags|=1,Zs(e,t,n,a),t.child)}function uc(e,t,n,r,i){if(Gi(t),t.stateNode===null){var a=Zr,o=n.contextType;typeof o==`object`&&o&&(a=Ki(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Is,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},ja(t),o=n.contextType,a.context=typeof o==`object`&&o?Ki(o):Zr,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Fs(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Is.enqueueReplaceState(a,a.state,null),za(t,r,a,i),Ra(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=zs(n,s);a.props=c;var l=a.context,u=n.contextType;o=Zr,typeof u==`object`&&u&&(o=Ki(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Rs(t,a,r,o),Aa=!1;var f=t.memoizedState;a.state=f,za(t,r,a,i),Ra(),l=t.memoizedState,s||f!==l||Aa?(typeof d==`function`&&(Fs(t,n,d,r),l=t.memoizedState),(c=Aa||Ls(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Ma(e,t),o=t.memoizedProps,u=zs(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=Zr,typeof l==`object`&&l&&(c=Ki(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Rs(t,a,r,c),Aa=!1,f=t.memoizedState,a.state=f,za(t,r,a,i),Ra();var p=t.memoizedState;o!==d||f!==p||Aa||e!==null&&e.dependencies!==null&&Wi(e.dependencies)?(typeof s==`function`&&(Fs(t,n,s,r),p=t.memoizedState),(u=Aa||Ls(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Wi(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,sc(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Oa(t,e.child,null,i),t.child=Oa(t,null,n,i)):Zs(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Sc(e,t,i),e}function dc(e,t,n,r){return Ni(),t.flags|=256,Zs(e,t,n,r),t.child}var fc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function pc(e){return{baseLanes:e,cachePool:pa()}}function mc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=ql),e}function hc(e,t,n){var r=t.pendingProps,i=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(eo.current&2)!=0),s&&(i=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(Ei){if(i?Ya(t):Qa(t),(e=Ti)?(e=rf(e,q),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:gi===null?null:{id:_i,overflow:vi},retryLane:536870912,hydrationErrors:null},n=oi(e),n.return=t,t.child=n,wi=t,Ti=null)):e=null,e===null)throw ki(t);return of(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,i?(Qa(t),i=t.mode,c=_c({mode:`hidden`,children:c},i),r=ii(r,i,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=pc(n),r.childLanes=mc(e,s,n),t.memoizedState=fc,nc(null,r)):(Ya(t),gc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(Ya(t),t.flags&=-257,t=vc(e,t,n)):t.memoizedState===null?(Qa(t),c=r.fallback,i=t.mode,r=_c({mode:`visible`,children:r.children},i),c=ii(c,i,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Oa(t,e.child,null,n),r=t.child,r.memoizedState=pc(n),r.childLanes=mc(e,s,n),t.memoizedState=fc,t=nc(null,r)):(Qa(t),t.child=e.child,t.flags|=128,t=null);else if(Ya(t),of(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(a(419)),r.stack=``,r.digest=s,Fi({value:r,source:null,stack:null}),t=vc(e,t,n)}else if(Xs||Ui(e,t,n,!1),s=(n&e.childLanes)!==0,Xs||s){if(s=Fl,s!==null&&(r=tt(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,Jr(e,r),mu(s,e,r),Ys;af(c)||Eu(),t=vc(e,t,n)}else af(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Ti=cf(c.nextSibling),wi=t,Ei=!0,Di=null,q=!1,e!==null&&Ci(t,e),t=gc(t,r.children),t.flags|=4096);return t}return i?(Qa(t),c=r.fallback,i=t.mode,l=e.child,u=l.sibling,r=ti(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=ii(c,i,n,null),c.flags|=2):c=ti(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,nc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=pc(n):(i=c.cachePool,i===null?i=pa():(l=Qi._currentValue,i=i.parent===l?i:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:i}),r.memoizedState=c,r.childLanes=mc(e,s,n),t.memoizedState=fc,nc(e.child,r)):(Ya(t),n=e.child,e=n.sibling,n=ti(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function gc(e,t){return t=_c({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function _c(e,t){return e=$r(22,e,null,t),e.lanes=0,e}function vc(e,t,n){return Oa(t,e.child,null,n),e=gc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function yc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Vi(e.return,t,n)}function bc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function xc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=eo.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,I(eo,o),Zs(e,t,r,n),r=Ei?pi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&yc(e,n,t);else if(e.tag===19)yc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&to(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),bc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&to(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}bc(t,!0,n,null,a,r);break;case`together`:bc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Sc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Wl|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(Ui(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(a(153));if(t.child!==null){for(e=t.child,n=ti(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ti(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Cc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&Wi(e))):!0}function wc(e,t,n){switch(t.tag){case 3:ue(t,t.stateNode.containerInfo),zi(t,Qi,e.memoizedState.cache),Ni();break;case 27:case 5:fe(t);break;case 4:ue(t,t.stateNode.containerInfo);break;case 10:zi(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Xa(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Ya(t),e=Sc(e,t,n),e===null?null:e.sibling):hc(e,t,n):(Ya(t),t.flags|=128,null);Ya(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(Ui(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return xc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),I(eo,eo.current),r)break;return null;case 22:return t.lanes=0,tc(e,t,n,t.pendingProps);case 24:zi(t,Qi,e.memoizedState.cache)}return Sc(e,t,n)}function Tc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Xs=!0;else{if(!Cc(e,n)&&!(t.flags&128))return Xs=!1,wc(e,t,n);Xs=!!(e.flags&131072)}else Xs=!1,Ei&&t.flags&1048576&&bi(t,pi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=va(t.elementType),t.type=e,typeof e==`function`)ei(e)?(r=zs(e,r),t.tag=1,t=uc(null,t,e,r,n)):(t.tag=0,t=cc(null,t,e,r,n));else{if(e!=null){var i=e.$$typeof;if(i===S){t.tag=11,t=Qs(null,t,e,r,n);break a}else if(i===T){t.tag=14,t=$s(null,t,e,r,n);break a}}throw t=M(e)||e,Error(a(306,t,``))}}return t;case 0:return cc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=zs(r,t.pendingProps),uc(e,t,r,i,n);case 3:a:{if(ue(t,t.stateNode.containerInfo),e===null)throw Error(a(387));r=t.pendingProps;var o=t.memoizedState;i=o.element,Ma(e,t),za(t,r,null,n);var s=t.memoizedState;if(r=s.cache,zi(t,Qi,r),r!==o.cache&&Hi(t,[Qi],n,!0),Ra(),r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=dc(e,t,r,n);break a}else if(r!==i){i=li(Error(a(424)),t),Fi(i),t=dc(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(Ti=cf(e.firstChild),wi=t,Ei=!0,Di=null,q=!0,n=ka(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Ni(),r===i){t=Sc(e,t,n);break a}Zs(e,t,r,n)}t=t.child}return t;case 26:return sc(e,t),e===null?(n=kf(t.type,null,t.pendingProps,null))?t.memoizedState=n:Ei||(n=t.type,e=t.pendingProps,r=Bd(ce.current).createElement(n),r[st]=t,r[ct]=e,Pd(r,n,e),bt(r),t.stateNode=r):t.memoizedState=kf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return fe(t),e===null&&Ei&&(r=t.stateNode=ff(t.type,t.pendingProps,ce.current),wi=t,q=!0,i=Ti,Zd(t.type)?(lf=i,Ti=cf(r.firstChild)):Ti=i),Zs(e,t,t.pendingProps.children,n),sc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ei&&((i=r=Ti)&&(r=tf(r,t.type,t.pendingProps,q),r===null?i=!1:(t.stateNode=r,wi=t,Ti=cf(r.firstChild),q=!1,i=!0)),i||ki(t)),fe(t),i=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Ud(i,o)?r=null:s!==null&&Ud(i,s)&&(t.flags|=32),t.memoizedState!==null&&(i=ho(e,t,vo,null,null,n),Qf._currentValue=i),sc(e,t),Zs(e,t,r,n),t.child;case 6:return e===null&&Ei&&((e=n=Ti)&&(n=nf(n,t.pendingProps,q),n===null?e=!1:(t.stateNode=n,wi=t,Ti=null,e=!0)),e||ki(t)),null;case 13:return hc(e,t,n);case 4:return ue(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Oa(t,null,r,n):Zs(e,t,r,n),t.child;case 11:return Qs(e,t,t.type,t.pendingProps,n);case 7:return Zs(e,t,t.pendingProps,n),t.child;case 8:return Zs(e,t,t.pendingProps.children,n),t.child;case 12:return Zs(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,zi(t,t.type,r.value),Zs(e,t,r.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,Gi(t),i=Ki(i),r=r(i),t.flags|=1,Zs(e,t,r,n),t.child;case 14:return $s(e,t,t.type,t.pendingProps,n);case 15:return ec(e,t,t.type,t.pendingProps,n);case 19:return xc(e,t,n);case 31:return oc(e,t,n);case 22:return tc(e,t,n,t.pendingProps);case 24:return Gi(t),r=Ki(Qi),e===null?(i=da(),i===null&&(i=Fl,o=ea(),i.pooledCache=o,o.refCount++,o!==null&&(i.pooledCacheLanes|=n),i=o),t.memoizedState={parent:r,cache:i},ja(t),zi(t,Qi,i)):((e.lanes&n)!==0&&(Ma(e,t),za(t,null,null,n),Ra()),i=e.memoizedState,o=t.memoizedState,i.parent===r?(r=o.cache,zi(t,Qi,r),r!==i.cache&&Hi(t,[Qi],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),zi(t,Qi,r))),Zs(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(a(156,t.tag))}function Ec(e){e.flags|=4}function Dc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(Cu())e.flags|=8192;else throw ya=ha,Y}else e.flags&=-16777217}function Oc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Wf(t))if(Cu())e.flags|=8192;else throw ya=ha,Y}function kc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Ye(),e.lanes|=t,Jl|=t)}function Ac(e,t){if(!Ei)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function jc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Mc(e,t,n){var r=t.pendingProps;switch(Si(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return jc(t),null;case 1:return jc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Bi(Qi),de(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Mi(t)?Ec(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Pi())),jc(t),null;case 26:var i=t.type,o=t.memoizedState;return e===null?(Ec(t),o===null?(jc(t),Dc(t,i,null,r,n)):(jc(t),Oc(t,o))):o?o===e.memoizedState?(jc(t),t.flags&=-16777217):(Ec(t),jc(t),Oc(t,o)):(e=e.memoizedProps,e!==r&&Ec(t),jc(t),Dc(t,i,e,r,n)),null;case 27:if(pe(t),n=ce.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Ec(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return jc(t),null}e=oe.current,Mi(t)?Ai(t,e):(e=ff(i,r,n),t.stateNode=e,Ec(t))}return jc(t),null;case 5:if(pe(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Ec(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return jc(t),null}if(o=oe.current,Mi(t))Ai(t,o);else{var s=Bd(ce.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;default:switch(i){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[st]=t,o[ct]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Pd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Ec(t)}}return jc(t),Dc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Ec(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=ce.current,Mi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=wi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[st]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||ki(t,!0)}else e=Bd(e).createTextNode(r),e[st]=t,t.stateNode=e}return jc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Mi(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[st]=t}else Ni(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;jc(t),e=!1}else n=Pi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?($a(t),t):($a(t),null);if(t.flags&128)throw Error(a(558))}return jc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Mi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[st]=t}else Ni(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;jc(t),i=!1}else i=Pi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?($a(t),t):($a(t),null)}return $a(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),kc(t,t.updateQueue),jc(t),null);case 4:return de(),e===null&&xd(t.stateNode.containerInfo),jc(t),null;case 10:return Bi(t.type),jc(t),null;case 19:if(ae(eo),r=t.memoizedState,r===null)return jc(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)Ac(r,!1);else{if(Ul!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=to(e),o!==null){for(t.flags|=128,Ac(r,!1),e=o.updateQueue,t.updateQueue=e,kc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ni(n,e),n=n.sibling;return I(eo,eo.current&1|2),Ei&&yi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Ee()>eu&&(t.flags|=128,i=!0,Ac(r,!1),t.lanes=4194304)}else{if(!i)if(e=to(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,kc(t,e),Ac(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Ei)return jc(t),null}else 2*Ee()-r.renderingStartTime>eu&&n!==536870912&&(t.flags|=128,i=!0,Ac(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(jc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Ee(),e.sibling=null,n=eo.current,I(eo,i?n&1|2:n&1),Ei&&yi(t,r.treeForkCount),e);case 22:case 23:return $a(t),Ka(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(jc(t),t.subtreeFlags&6&&(t.flags|=8192)):jc(t),n=t.updateQueue,n!==null&&kc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&ae(ua),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Bi(Qi),jc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Nc(e,t){switch(Si(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Bi(Qi),de(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return pe(t),null;case 31:if(t.memoizedState!==null){if($a(t),t.alternate===null)throw Error(a(340));Ni()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if($a(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Ni()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ae(eo),null;case 4:return de(),null;case 10:return Bi(t.type),null;case 22:case 23:return $a(t),Ka(),e!==null&&ae(ua),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Bi(Qi),null;case 25:return null;default:return null}}function Pc(e,t){switch(Si(t),t.tag){case 3:Bi(Qi),de();break;case 26:case 27:case 5:pe(t);break;case 4:de();break;case 31:t.memoizedState!==null&&$a(t);break;case 13:$a(t);break;case 19:ae(eo);break;case 10:Bi(t.type);break;case 22:case 23:$a(t),Ka(),e!==null&&ae(ua);break;case 24:Bi(Qi)}}function Fc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Wu(t,t.return,e)}}function Ic(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Wu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Wu(t,t.return,e)}}function Lc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Va(t,n)}catch(t){Wu(e,e.return,t)}}}function Rc(e,t,n){n.props=zs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Wu(e,t,n)}}function zc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Wu(e,t,n)}}function Bc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Wu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Wu(e,t,n)}else n.current=null}function Vc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Wu(e,e.return,t)}}function Hc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[ct]=t}catch(t){Wu(e,e.return,t)}}function Uc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Wc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Uc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Zd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Gc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=en));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Gc(e,t,n),e=e.sibling;e!==null;)Gc(e,t,n),e=e.sibling}function Kc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Kc(e,t,n),e=e.sibling;e!==null;)Kc(e,t,n),e=e.sibling}function qc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Pd(t,r,n),t[st]=e,t[ct]=n}catch(t){Wu(e,e.return,t)}}var Jc=!1,Yc=!1,Xc=!1,Zc=typeof WeakSet==`function`?WeakSet:Set,Qc=null;function $c(e,t){if(e=e.containerInfo,Rd=sp,e=vr(e),yr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(zd={focusedElem:e,selectionRange:n},sp=!1,Qc=t;Qc!==null;)if(t=Qc,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Qc=e;else for(;Qc!==null;){switch(t=Qc,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)i=e[n],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,i=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=zs(n.type,i);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Wu(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)ef(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:ef(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(a(163))}if(e=t.sibling,e!==null){e.return=t.return,Qc=e;break}Qc=t.return}}function el(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:hl(e,n),r&4&&Fc(5,n);break;case 1:if(hl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Wu(n,n.return,e)}else{var i=zs(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Wu(n,n.return,e)}}r&64&&Lc(n),r&512&&zc(n,n.return);break;case 3:if(hl(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Va(e,t)}catch(e){Wu(n,n.return,e)}}break;case 27:t===null&&r&4&&qc(n);case 26:case 5:hl(e,n),t===null&&r&4&&Vc(n),r&512&&zc(n,n.return);break;case 12:hl(e,n);break;case 31:hl(e,n),r&4&&ol(e,n);break;case 13:hl(e,n),r&4&&sl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Ju.bind(null,n),sf(e,n))));break;case 22:if(r=n.memoizedState!==null||Jc,!r){t=t!==null&&t.memoizedState!==null||Yc,i=Jc;var a=Yc;Jc=r,(Yc=t)&&!a?_l(e,n,(n.subtreeFlags&8772)!=0):hl(e,n),Jc=i,Yc=a}break;case 30:break;default:hl(e,n)}}function tl(e){var t=e.alternate;t!==null&&(e.alternate=null,tl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&ht(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var nl=null,rl=!1;function il(e,t,n){for(n=n.child;n!==null;)al(e,t,n),n=n.sibling}function al(e,t,n){if(Ie&&typeof Ie.onCommitFiberUnmount==`function`)try{Ie.onCommitFiberUnmount(Fe,n)}catch{}switch(n.tag){case 26:Yc||Bc(n,t),il(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Yc||Bc(n,t);var r=nl,i=rl;Zd(n.type)&&(nl=n.stateNode,rl=!1),il(e,t,n),pf(n.stateNode),nl=r,rl=i;break;case 5:Yc||Bc(n,t);case 6:if(r=nl,i=rl,nl=null,il(e,t,n),nl=r,rl=i,nl!==null)if(rl)try{(nl.nodeType===9?nl.body:nl.nodeName===`HTML`?nl.ownerDocument.body:nl).removeChild(n.stateNode)}catch(e){Wu(n,t,e)}else try{nl.removeChild(n.stateNode)}catch(e){Wu(n,t,e)}break;case 18:nl!==null&&(rl?(e=nl,Qd(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):Qd(nl,n.stateNode));break;case 4:r=nl,i=rl,nl=n.stateNode.containerInfo,rl=!0,il(e,t,n),nl=r,rl=i;break;case 0:case 11:case 14:case 15:Ic(2,n,t),Yc||Ic(4,n,t),il(e,t,n);break;case 1:Yc||(Bc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Rc(n,t,r)),il(e,t,n);break;case 21:il(e,t,n);break;case 22:Yc=(r=Yc)||n.memoizedState!==null,il(e,t,n),Yc=r;break;default:il(e,t,n)}}function ol(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){Wu(t,t.return,e)}}}function sl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Np(e)}catch(e){Wu(t,t.return,e)}}function cl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Zc),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Zc),t;default:throw Error(a(435,e.tag))}}function ll(e,t){var n=cl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Yu.bind(null,e,t);t.then(r,r)}})}function ul(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(Zd(c.type)){nl=c.stateNode,rl=!1;break a}break;case 5:nl=c.stateNode,rl=!1;break a;case 3:case 4:nl=c.stateNode.containerInfo,rl=!0;break a}c=c.return}if(nl===null)throw Error(a(160));al(o,s,i),nl=null,rl=!1,o=i.alternate,o!==null&&(o.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)fl(t,e),t=t.sibling}var dl=null;function fl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:ul(t,e),pl(e),r&4&&(Ic(3,e,e.return),Fc(3,e),Ic(5,e,e.return));break;case 1:ul(t,e),pl(e),r&512&&(Yc||n===null||Bc(n,n.return)),r&64&&Jc&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var i=dl;if(ul(t,e),pl(e),r&512&&(Yc||n===null||Bc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,i=i.ownerDocument||i;b:switch(r){case`title`:o=i.getElementsByTagName(`title`)[0],(!o||o[mt]||o[st]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=i.createElement(r),i.head.insertBefore(o,i.querySelector(`head > title`))),Pd(o,r,n),o[st]=e,bt(o),r=o;break a;case`link`:var s=Vf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=i.createElement(r),Pd(o,r,n),i.head.appendChild(o);break;case`meta`:if(s=Vf(`meta`,`content`,i).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=i.createElement(r),Pd(o,r,n),i.head.appendChild(o);break;default:throw Error(a(468,r))}o[st]=e,bt(o),r=o}e.stateNode=r}else Hf(i,e.type,e.stateNode);else e.stateNode=If(i,r,e.memoizedProps);else o===r?r===null&&e.stateNode!==null&&Hc(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Hf(i,e.type,e.stateNode):If(i,r,e.memoizedProps))}break;case 27:ul(t,e),pl(e),r&512&&(Yc||n===null||Bc(n,n.return)),n!==null&&r&4&&Hc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(ul(t,e),pl(e),r&512&&(Yc||n===null||Bc(n,n.return)),e.flags&32){i=e.stateNode;try{Kt(i,``)}catch(t){Wu(e,e.return,t)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,Hc(e,i,n===null?i:n.memoizedProps)),r&1024&&(Xc=!0);break;case 6:if(ul(t,e),pl(e),r&4){if(e.stateNode===null)throw Error(a(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Wu(e,e.return,t)}}break;case 3:if(Bf=null,i=dl,dl=gf(t.containerInfo),ul(t,e),dl=i,pl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){Wu(e,e.return,t)}Xc&&(Xc=!1,ml(e));break;case 4:r=dl,dl=gf(e.stateNode.containerInfo),ul(t,e),pl(e),dl=r;break;case 12:ul(t,e),pl(e);break;case 31:ul(t,e),pl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ll(e,r)));break;case 13:ul(t,e),pl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Ql=Ee()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ll(e,r)));break;case 22:i=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=Jc,d=Yc;if(Jc=u||i,Yc=d||l,ul(t,e),Yc=d,Jc=u,pl(e),r&8192)a:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(n===null||l||Jc||Yc||gl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,i)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Wu(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=i?``:l.memoizedProps}catch(e){Wu(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;i?$d(m,!0):$d(l.stateNode,!1)}catch(e){Wu(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,ll(e,n))));break;case 19:ul(t,e),pl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ll(e,r)));break;case 30:break;case 21:break;default:ul(t,e),pl(e)}}function pl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Uc(r)){n=r;break}r=r.return}if(n==null)throw Error(a(160));switch(n.tag){case 27:var i=n.stateNode;Kc(e,Wc(e),i);break;case 5:var o=n.stateNode;n.flags&32&&(Kt(o,``),n.flags&=-33),Kc(e,Wc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Gc(e,Wc(e),s);break;default:throw Error(a(161))}}catch(t){Wu(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function ml(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;ml(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function hl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)el(e,t.alternate,t),t=t.sibling}function gl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ic(4,t,t.return),gl(t);break;case 1:Bc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Rc(t,t.return,n),gl(t);break;case 27:pf(t.stateNode);case 26:case 5:Bc(t,t.return),gl(t);break;case 22:t.memoizedState===null&&gl(t);break;case 30:gl(t);break;default:gl(t)}e=e.sibling}}function _l(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:_l(i,a,n),Fc(4,a);break;case 1:if(_l(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Wu(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)Ba(c[i],s)}catch(e){Wu(r,r.return,e)}}n&&o&64&&Lc(a),zc(a,a.return);break;case 27:qc(a);case 26:case 5:_l(i,a,n),n&&r===null&&o&4&&Vc(a),zc(a,a.return);break;case 12:_l(i,a,n);break;case 31:_l(i,a,n),n&&o&4&&ol(i,a);break;case 13:_l(i,a,n),n&&o&4&&sl(i,a);break;case 22:a.memoizedState===null&&_l(i,a,n),zc(a,a.return);break;case 30:break;default:_l(i,a,n)}t=t.sibling}}function vl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&ta(n))}function yl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ta(e))}function bl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)xl(e,t,n,r),t=t.sibling}function xl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:bl(e,t,n,r),i&2048&&Fc(9,t);break;case 1:bl(e,t,n,r);break;case 3:bl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ta(e)));break;case 12:if(i&2048){bl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Wu(t,t.return,e)}}else bl(e,t,n,r);break;case 31:bl(e,t,n,r);break;case 13:bl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?bl(e,t,n,r):(a._visibility|=2,Sl(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?bl(e,t,n,r):Cl(e,t),i&2048&&vl(o,t);break;case 24:bl(e,t,n,r),i&2048&&yl(t.alternate,t);break;default:bl(e,t,n,r)}}function Sl(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Sl(a,o,s,c,i),Fc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Sl(a,o,s,c,i)):u._visibility&2?Sl(a,o,s,c,i):Cl(a,o),i&&l&2048&&vl(o.alternate,o);break;case 24:Sl(a,o,s,c,i),i&&l&2048&&yl(o.alternate,o);break;default:Sl(a,o,s,c,i)}t=t.sibling}}function Cl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Cl(n,r),i&2048&&vl(r.alternate,r);break;case 24:Cl(n,r),i&2048&&yl(r.alternate,r);break;default:Cl(n,r)}t=t.sibling}}var wl=8192;function Tl(e,t,n){if(e.subtreeFlags&wl)for(e=e.child;e!==null;)El(e,t,n),e=e.sibling}function El(e,t,n){switch(e.tag){case 26:Tl(e,t,n),e.flags&wl&&e.memoizedState!==null&&Gf(n,dl,e.memoizedState,e.memoizedProps);break;case 5:Tl(e,t,n);break;case 3:case 4:var r=dl;dl=gf(e.stateNode.containerInfo),Tl(e,t,n),dl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=wl,wl=16777216,Tl(e,t,n),wl=r):Tl(e,t,n));break;default:Tl(e,t,n)}}function Dl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Ol(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Qc=r,jl(r,e)}Dl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)kl(e),e=e.sibling}function kl(e){switch(e.tag){case 0:case 11:case 15:Ol(e),e.flags&2048&&Ic(9,e,e.return);break;case 3:Ol(e);break;case 12:Ol(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Al(e)):Ol(e);break;default:Ol(e)}}function Al(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Qc=r,jl(r,e)}Dl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ic(8,t,t.return),Al(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Al(t));break;default:Al(t)}e=e.sibling}}function jl(e,t){for(;Qc!==null;){var n=Qc;switch(n.tag){case 0:case 11:case 15:Ic(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ta(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,Qc=r;else a:for(n=e;Qc!==null;){r=Qc;var i=r.sibling,a=r.return;if(tl(r),r===n){Qc=null;break a}if(i!==null){i.return=a,Qc=i;break a}Qc=a}}}var Ml={getCacheForType:function(e){var t=Ki(Qi),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Ki(Qi).controller.signal}},Nl=typeof WeakMap==`function`?WeakMap:Map,Pl=0,Fl=null,Il=null,Z=0,Ll=0,Rl=null,zl=!1,Bl=!1,Vl=!1,Hl=0,Ul=0,Wl=0,Gl=0,Kl=0,ql=0,Jl=0,Yl=null,Xl=null,Zl=!1,Ql=0,$l=0,eu=1/0,tu=null,nu=null,ru=0,iu=null,au=null,ou=0,su=0,cu=null,lu=null,uu=0,du=null;function fu(){return Pl&2&&Z!==0?Z&-Z:N.T===null?it():dd()}function pu(){if(ql===0)if(!(Z&536870912)||Ei){var e=Ue;Ue<<=1,!(Ue&3932160)&&(Ue=262144),ql=e}else ql=536870912;return e=qa.current,e!==null&&(e.flags|=32),ql}function mu(e,t,n){(e===Fl&&(Ll===2||Ll===9)||e.cancelPendingCommit!==null)&&(xu(e,0),vu(e,Z,ql,!1)),Ze(e,n),(!(Pl&2)||e!==Fl)&&(e===Fl&&(!(Pl&2)&&(Gl|=n),Ul===4&&vu(e,Z,ql,!1)),rd(e))}function hu(e,t,n){if(Pl&6)throw Error(a(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||qe(e,t),i=r?ku(e,t):Du(e,t,!0),o=r;do{if(i===0){Bl&&!r&&vu(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!_u(n)){i=Du(e,t,!1),o=!1;continue}if(i===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;i=Yl;var l=c.current.memoizedState.isDehydrated;if(l&&(xu(c,s).flags|=256),s=Du(c,s,!1),s!==2){if(Vl&&!l){c.errorRecoveryDisabledLanes|=o,Gl|=o,i=4;break a}o=Xl,Xl=i,o!==null&&(Xl===null?Xl=o:Xl.push.apply(Xl,o))}i=s}if(o=!1,i!==2)continue}}if(i===1){xu(e,0),vu(e,t,0,!0);break}a:{switch(r=e,o=i,o){case 0:case 1:throw Error(a(345));case 4:if((t&4194048)!==t)break;case 6:vu(r,t,ql,!zl);break a;case 2:Xl=null;break;case 3:case 5:break;default:throw Error(a(329))}if((t&62914560)===t&&(i=Ql+300-Ee(),10<i)){if(vu(r,t,ql,!zl),Ke(r,0,!0)!==0)break a;ou=t,r.timeoutHandle=Kd(gu.bind(null,r,n,Xl,tu,Zl,t,ql,Gl,Jl,zl,o,`Throttled`,-0,0),i);break a}gu(r,n,Xl,tu,Zl,t,ql,Gl,Jl,zl,o,null,-0,0)}}break}while(1);rd(e)}function gu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:en},El(t,a,d);var m=(a&62914560)===a?Ql-Ee():(a&4194048)===a?$l-Ee():0;if(m=qf(d,m),m!==null){ou=a,e.cancelPendingCommit=m(Iu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),vu(e,a,o,!l);return}}Iu(e,t,a,n,r,i,o,s,c)}function _u(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!mr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function vu(e,t,n,r){t&=~Kl,t&=~Gl,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Re(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&$e(e,n,t)}function yu(){return Pl&6?!0:(id(0,!1),!1)}function bu(){if(Il!==null){if(Ll===0)var e=Il.return;else e=Il,Ri=Li=null,xo(e),Sa=null,Ca=0,e=Il;for(;e!==null;)Pc(e.alternate,e),e=e.return;Il=null}}function xu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,qd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),ou=0,bu(),Fl=e,Il=n=ti(e.current,null),Z=t,Ll=0,Rl=null,zl=!1,Bl=qe(e,t),Vl=!1,Jl=ql=Kl=Gl=Wl=Ul=0,Xl=Yl=null,Zl=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Re(r),a=1<<i;t|=e[i],r&=~a}return Hl=t,Gr(),n}function Su(e,t){X=null,N.H=js,t===J||t===ma?(t=ba(),Ll=3):t===Y?(t=ba(),Ll=4):Ll=t===Ys?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Rl=t,Il===null&&(Ul=1,Us(e,li(t,e.current)))}function Cu(){var e=qa.current;return e===null?!0:(Z&4194048)===Z?Ja===null:(Z&62914560)===Z||Z&536870912?e===Ja:!1}function wu(){var e=N.H;return N.H=js,e===null?js:e}function Tu(){var e=N.A;return N.A=Ml,e}function Eu(){Ul=4,zl||(Z&4194048)!==Z&&qa.current!==null||(Bl=!0),!(Wl&134217727)&&!(Gl&134217727)||Fl===null||vu(Fl,Z,ql,!1)}function Du(e,t,n){var r=Pl;Pl|=2;var i=wu(),a=Tu();(Fl!==e||Z!==t)&&(tu=null,xu(e,t)),t=!1;var o=Ul;a:do try{if(Ll!==0&&Il!==null){var s=Il,c=Rl;switch(Ll){case 8:bu(),o=6;break a;case 3:case 2:case 9:case 6:qa.current===null&&(t=!0);var l=Ll;if(Ll=0,Rl=null,Nu(e,s,c,l),n&&Bl){o=0;break a}break;default:l=Ll,Ll=0,Rl=null,Nu(e,s,c,l)}}Ou(),o=Ul;break}catch(t){Su(e,t)}while(1);return t&&e.shellSuspendCounter++,Ri=Li=null,Pl=r,N.H=i,N.A=a,Il===null&&(Fl=null,Z=0,Gr()),o}function Ou(){for(;Il!==null;)ju(Il)}function ku(e,t){var n=Pl;Pl|=2;var r=wu(),i=Tu();Fl!==e||Z!==t?(tu=null,eu=Ee()+500,xu(e,t)):Bl=qe(e,t);a:do try{if(Ll!==0&&Il!==null){t=Il;var o=Rl;b:switch(Ll){case 1:Ll=0,Rl=null,Nu(e,t,o,1);break;case 2:case 9:if(ga(o)){Ll=0,Rl=null,Mu(t);break}t=function(){Ll!==2&&Ll!==9||Fl!==e||(Ll=7),rd(e)},o.then(t,t);break a;case 3:Ll=7;break a;case 4:Ll=5;break a;case 7:ga(o)?(Ll=0,Rl=null,Mu(t)):(Ll=0,Rl=null,Nu(e,t,o,7));break;case 5:var s=null;switch(Il.tag){case 26:s=Il.memoizedState;case 5:case 27:var c=Il;if(s?Wf(s):c.stateNode.complete){Ll=0,Rl=null;var l=c.sibling;if(l!==null)Il=l;else{var u=c.return;u===null?Il=null:(Il=u,Pu(u))}break b}}Ll=0,Rl=null,Nu(e,t,o,5);break;case 6:Ll=0,Rl=null,Nu(e,t,o,6);break;case 8:bu(),Ul=6;break a;default:throw Error(a(462))}}Au();break}catch(t){Su(e,t)}while(1);return Ri=Li=null,N.H=r,N.A=i,Pl=n,Il===null?(Fl=null,Z=0,Gr(),Ul):0}function Au(){for(;Il!==null&&!we();)ju(Il)}function ju(e){var t=Tc(e.alternate,e,Hl);e.memoizedProps=e.pendingProps,t===null?Pu(e):Il=t}function Mu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=lc(n,t,t.pendingProps,t.type,void 0,Z);break;case 11:t=lc(n,t,t.pendingProps,t.type.render,t.ref,Z);break;case 5:xo(t);default:Pc(n,t),t=Il=ni(t,Hl),t=Tc(n,t,Hl)}e.memoizedProps=e.pendingProps,t===null?Pu(e):Il=t}function Nu(e,t,n,r){Ri=Li=null,xo(t),Sa=null,Ca=0;var i=t.return;try{if(Js(e,i,t,n,Z)){Ul=1,Us(e,li(n,e.current)),Il=null;return}}catch(t){if(i!==null)throw Il=i,t;Ul=1,Us(e,li(n,e.current)),Il=null;return}t.flags&32768?(Ei||r===1?e=!0:Bl||Z&536870912?e=!1:(zl=e=!0,(r===2||r===9||r===3||r===6)&&(r=qa.current,r!==null&&r.tag===13&&(r.flags|=16384))),Fu(t,e)):Pu(t)}function Pu(e){var t=e;do{if(t.flags&32768){Fu(t,zl);return}e=t.return;var n=Mc(t.alternate,t,Hl);if(n!==null){Il=n;return}if(t=t.sibling,t!==null){Il=t;return}Il=t=e}while(t!==null);Ul===0&&(Ul=5)}function Fu(e,t){do{var n=Nc(e.alternate,e);if(n!==null){n.flags&=32767,Il=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Il=e;return}Il=e=n}while(e!==null);Ul=6,Il=null}function Iu(e,t,n,r,i,o,s,c,l){e.cancelPendingCommit=null;do Vu();while(ru!==0);if(Pl&6)throw Error(a(327));if(t!==null){if(t===e.current)throw Error(a(177));if(o=t.lanes|t.childLanes,o|=Wr,Qe(e,n,o,s,c,l),e===Fl&&(Il=Fl=null,Z=0),au=t,iu=e,ou=n,su=o,cu=i,lu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Xu(Ae,function(){return Hu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=N.T,N.T=null,i=P.p,P.p=2,s=Pl,Pl|=4;try{$c(e,t,n)}finally{Pl=s,P.p=i,N.T=r}}ru=1,Lu(),Ru(),zu()}}function Lu(){if(ru===1){ru=0;var e=iu,t=au,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=N.T,N.T=null;var r=P.p;P.p=2;var i=Pl;Pl|=4;try{fl(t,e);var a=zd,o=vr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&_r(s.ownerDocument.documentElement,s)){if(c!==null&&yr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=K(s,h),v=K(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}sp=!!Rd,zd=Rd=null}finally{Pl=i,P.p=r,N.T=n}}e.current=t,ru=2}}function Ru(){if(ru===2){ru=0;var e=iu,t=au,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=N.T,N.T=null;var r=P.p;P.p=2;var i=Pl;Pl|=4;try{el(e,t.alternate,t)}finally{Pl=i,P.p=r,N.T=n}}ru=3}}function zu(){if(ru===4||ru===3){ru=0,Te();var e=iu,t=au,n=ou,r=lu;t.subtreeFlags&10256||t.flags&10256?ru=5:(ru=0,au=iu=null,Bu(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(nu=null),rt(n),t=t.stateNode,Ie&&typeof Ie.onCommitFiberRoot==`function`)try{Ie.onCommitFiberRoot(Fe,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=N.T,i=P.p,P.p=2,N.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{N.T=t,P.p=i}}ou&3&&Vu(),rd(e),i=e.pendingLanes,n&261930&&i&42?e===du?uu++:(uu=0,du=e):uu=0,id(0,!1)}}function Bu(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ta(t)))}function Vu(){return Lu(),Ru(),zu(),Hu()}function Hu(){if(ru!==5)return!1;var e=iu,t=su;su=0;var n=rt(ou),r=N.T,i=P.p;try{P.p=32>n?32:n,N.T=null,n=cu,cu=null;var o=iu,s=ou;if(ru=0,au=iu=null,ou=0,Pl&6)throw Error(a(331));var c=Pl;if(Pl|=4,kl(o.current),xl(o,o.current,s,n),Pl=c,id(0,!1),Ie&&typeof Ie.onPostCommitFiberRoot==`function`)try{Ie.onPostCommitFiberRoot(Fe,o)}catch{}return!0}finally{P.p=i,N.T=r,Bu(e,t)}}function Uu(e,t,n){t=li(n,t),t=Gs(e.stateNode,t,2),e=Pa(e,t,2),e!==null&&(Ze(e,2),rd(e))}function Wu(e,t,n){if(e.tag===3)Uu(e,e,n);else for(;t!==null;){if(t.tag===3){Uu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(nu===null||!nu.has(r))){e=li(n,e),n=Ks(2),r=Pa(t,n,2),r!==null&&(qs(n,r,t,e),Ze(r,2),rd(r));break}}t=t.return}}function Gu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Nl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Vl=!0,i.add(n),e=Ku.bind(null,e,t,n),t.then(e,e))}function Ku(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Fl===e&&(Z&n)===n&&(Ul===4||Ul===3&&(Z&62914560)===Z&&300>Ee()-Ql?!(Pl&2)&&xu(e,0):Kl|=n,Jl===Z&&(Jl=0)),rd(e)}function qu(e,t){t===0&&(t=Ye()),e=Jr(e,t),e!==null&&(Ze(e,t),rd(e))}function Ju(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qu(e,n)}function Yu(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),qu(e,n)}function Xu(e,t){return Se(e,t)}var Zu=null,Qu=null,$u=!1,ed=!1,td=!1,nd=0;function rd(e){e!==Qu&&e.next===null&&(Qu===null?Zu=Qu=e:Qu=Qu.next=e),ed=!0,$u||($u=!0,ud())}function id(e,t){if(!td&&ed){td=!0;do for(var n=!1,r=Zu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Re(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,ld(r,a))}else a=Z,a=Ke(r,r===Fl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||qe(r,a)||(n=!0,ld(r,a));r=r.next}while(n);td=!1}}function ad(){od()}function od(){ed=$u=!1;var e=0;nd!==0&&Gd()&&(e=nd);for(var t=Ee(),n=null,r=Zu;r!==null;){var i=r.next,a=sd(r,t);a===0?(r.next=null,n===null?Zu=i:n.next=i,i===null&&(Qu=n)):(n=r,(e!==0||a&3)&&(ed=!0)),r=i}ru!==0&&ru!==5||id(e,!1),nd!==0&&(nd=0)}function sd(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Re(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Je(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Fl,n=Z,n=Ke(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Ll===2||Ll===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Ce(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||qe(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Ce(r),rt(n)){case 2:case 8:n=ke;break;case 32:n=Ae;break;case 268435456:n=Me;break;default:n=Ae}return r=cd.bind(null,e),n=Se(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Ce(r),e.callbackPriority=2,e.callbackNode=null,2}function cd(e,t){if(ru!==0&&ru!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Vu()&&e.callbackNode!==n)return null;var r=Z;return r=Ke(e,e===Fl?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(hu(e,r,t),sd(e,Ee()),e.callbackNode!=null&&e.callbackNode===n?cd.bind(null,e):null)}function ld(e,t){if(Vu())return null;hu(e,t,!0)}function ud(){Yd(function(){Pl&6?Se(Oe,ad):od()})}function dd(){if(nd===0){var e=ia;e===0&&(e=He,He<<=1,!(He&261888)&&(He=256)),nd=e}return nd}function fd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:$t(``+e)}function pd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function md(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=fd((i[ct]||null).action),o=r.submitter;o&&(t=(t=o[ct]||null)?fd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new xn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(nd!==0){var e=o?pd(i,o):new FormData(i);_s(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?pd(i,o):new FormData(i),_s(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var hd=0;hd<zr.length;hd++){var gd=zr[hd];Br(gd.toLowerCase(),`on`+(gd[0].toUpperCase()+gd.slice(1)))}Br(jr,`onAnimationEnd`),Br(Mr,`onAnimationIteration`),Br(Nr,`onAnimationStart`),Br(`dblclick`,`onDoubleClick`),Br(`focusin`,`onFocus`),Br(`focusout`,`onBlur`),Br(Pr,`onTransitionRun`),Br(Fr,`onTransitionStart`),Br(Ir,`onTransitionCancel`),Br(Lr,`onTransitionEnd`),wt(`onMouseEnter`,[`mouseout`,`mouseover`]),wt(`onMouseLeave`,[`mouseout`,`mouseover`]),wt(`onPointerEnter`,[`pointerout`,`pointerover`]),wt(`onPointerLeave`,[`pointerout`,`pointerover`]),Ct(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Ct(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Ct(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Ct(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Ct(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Ct(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var _d=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),vd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(_d));function yd(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Vr(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Vr(e)}i.currentTarget=null,a=c}}}}function Q(e,t){var n=t[ut];n===void 0&&(n=t[ut]=new Set);var r=e+`__bubble`;n.has(r)||(Sd(t,e,2,!1),n.add(r))}function $(e,t,n){var r=0;t&&(r|=4),Sd(n,e,r,t)}var bd=`_reactListening`+Math.random().toString(36).slice(2);function xd(e){if(!e[bd]){e[bd]=!0,xt.forEach(function(t){t!==`selectionchange`&&(vd.has(t)||$(t,!1,e),$(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[bd]||(t[bd]=!0,$(`selectionchange`,!1,t))}}function Sd(e,t,n,r){switch(mp(t)){case 2:var i=cp;break;case 8:i=lp;break;default:i=up}n=i.bind(null,t,n,e),i=void 0,!un||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Cd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var c=r.stateNode.containerInfo;if(c===i)break;if(o===4)for(o=r.return;o!==null;){var l=o.tag;if((l===3||l===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;c!==null;){if(o=gt(c),o===null)return;if(l=o.tag,l===5||l===6||l===26||l===27){r=a=o;continue a}c=c.parentNode}}r=r.return}sn(function(){var r=a,i=L(n),o=[];a:{var c=Rr.get(e);if(c!==void 0){var l=xn,u=e;switch(e){case`keypress`:if(gn(n)===0)break a;case`keydown`:case`keyup`:l=zn;break;case`focusin`:u=`focus`,l=An;break;case`focusout`:u=`blur`,l=An;break;case`beforeblur`:case`afterblur`:l=An;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=On;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=kn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Vn;break;case jr:case Mr:case Nr:l=jn;break;case Lr:l=Hn;break;case`scroll`:case`scrollend`:l=Cn;break;case`wheel`:l=R;break;case`copy`:case`cut`:case`paste`:l=Mn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Bn;break;case`toggle`:case`beforetoggle`:l=z}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=cn(m,p),g!=null&&d.push(wd(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),o.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==tn&&(u=n.relatedTarget||n.fromElement)&&(gt(u)||u[lt]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?gt(u):null,u!==null&&(f=s(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=On,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Bn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:vt(l),h=u==null?c:vt(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,gt(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Ed,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Dd(o,c,l,d,!1),u!==null&&f!==null&&Dd(o,f,u,d,!0)}}a:{if(c=r?vt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=ir;else if(Qn(c))if(ar)v=pr;else{v=dr;var y=ur}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&Xt(r.elementType)&&(v=ir):v=fr;if(v&&=v(e,r)){$n(o,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&Ht(c,`number`,c.value)}switch(y=r?vt(r):window,e){case`focusin`:(Qn(y)||y.contentEditable===`true`)&&(xr=y,Sr=r,Cr=null);break;case`focusout`:Cr=Sr=xr=null;break;case`mousedown`:wr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:wr=!1,Tr(o,n,i);break;case`selectionchange`:if(br)break;case`keydown`:case`keyup`:Tr(o,n,i)}var b;if(Wn)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else Jn?Kn(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(V&&n.locale!==`ko`&&(Jn||x!==`onCompositionStart`?x===`onCompositionEnd`&&Jn&&(b=hn()):(fn=i,pn=`value`in fn?fn.value:fn.textContent,Jn=!0)),y=Td(r,x),0<y.length&&(x=new Nn(x,e,null,n,i),o.push({event:x,listeners:y}),b?x.data=b:(b=qn(n),b!==null&&(x.data=b)))),(b=Gn?Yn(e,n):Xn(e,n))&&(x=Td(r,`onBeforeInput`),0<x.length&&(y=new Nn(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:y,listeners:x}),y.data=b)),md(o,e,r,n,i)}yd(o,t)})}function wd(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Td(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=cn(e,n),i!=null&&r.unshift(wd(e,i,a)),i=cn(e,t),i!=null&&r.push(wd(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Ed(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Dd(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=cn(n,a),l!=null&&o.unshift(wd(n,l,c))):i||(l=cn(n,a),l!=null&&o.push(wd(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Od=/\r\n?/g,kd=/\u0000|\uFFFD/g;function Ad(e){return(typeof e==`string`?e:``+e).replace(Od,`
10
10
  `).replace(kd,``)}function jd(e,t){return t=Ad(t),Ad(e)===t}function Md(e,t,n,r,i,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Kt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Kt(e,``+r);break;case`className`:At(e,`class`,r);break;case`tabIndex`:At(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:At(e,n,r);break;case`style`:Yt(e,r,o);break;case`data`:if(t!==`object`){At(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=$t(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}else typeof o==`function`&&(n===`formAction`?(t!==`input`&&Md(e,t,`name`,i.name,i,null),Md(e,t,`formEncType`,i.formEncType,i,null),Md(e,t,`formMethod`,i.formMethod,i,null),Md(e,t,`formTarget`,i.formTarget,i,null)):(Md(e,t,`encType`,i.encType,i,null),Md(e,t,`method`,i.method,i,null),Md(e,t,`target`,i.target,i,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=$t(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=en);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=$t(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Q(`beforetoggle`,e),Q(`toggle`,e),kt(e,`popover`,r);break;case`xlinkActuate`:jt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:jt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:jt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:jt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:jt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:jt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:jt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:jt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:jt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:kt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=Zt.get(n)||n,kt(e,n,r))}}function Nd(e,t,n,r,i,o){switch(n){case`style`:Yt(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Kt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Kt(e,``+r);break;case`onScroll`:r!=null&&Q(`scroll`,e);break;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=en);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!St.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),o=e[ct]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,i),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):kt(e,n,r)}}}function Pd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:Q(`error`,e),Q(`load`,e);var r=!1,i=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Md(e,t,o,s,n,null)}}i&&Md(e,t,`srcSet`,n.srcSet,n,null),r&&Md(e,t,`src`,n.src,n,null);return;case`input`:Q(`invalid`,e);var c=o=s=i=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:i=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(a(137,t));break;default:Md(e,t,r,d,n,null)}}Vt(e,o,c,l,u,s,i,!1);return;case`select`:for(i in Q(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(i)&&(c=n[i],c!=null))switch(i){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Md(e,t,i,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Ut(e,!!r,n,!0):Ut(e,!!r,t,!1);return;case`textarea`:for(s in Q(`invalid`,e),o=i=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:i=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(a(91));break;default:Md(e,t,s,c,n,null)}Gt(e,r,i,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Md(e,t,l,r,n,null)}return;case`dialog`:Q(`beforetoggle`,e),Q(`toggle`,e),Q(`cancel`,e),Q(`close`,e);break;case`iframe`:case`object`:Q(`load`,e);break;case`video`:case`audio`:for(r=0;r<_d.length;r++)Q(_d[r],e);break;case`image`:Q(`error`,e),Q(`load`,e);break;case`details`:Q(`toggle`,e);break;case`embed`:case`source`:case`link`:Q(`error`,e),Q(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Md(e,t,u,r,n,null)}return;default:if(Xt(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Nd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Md(e,t,c,r,n,null))}function Fd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Md(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:i=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(a(137,t));break;default:m!==f&&Md(e,t,p,m,r,f)}}Bt(e,s,c,l,u,d,o,i);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Md(e,t,o,null,r,l)}for(i in r)if(o=r[i],l=n[i],r.hasOwnProperty(i)&&(o!=null||l!=null))switch(i){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Md(e,t,i,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Ut(e,!!n,n?[]:``,!1):Ut(e,!!n,t,!0)):Ut(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(i=n[c],n.hasOwnProperty(c)&&i!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Md(e,t,c,null,r,i)}for(s in r)if(i=r[s],o=n[s],r.hasOwnProperty(s)&&(i!=null||o!=null))switch(s){case`value`:p=i;break;case`defaultValue`:m=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error(a(91));break;default:i!==o&&Md(e,t,s,i,r,o)}Wt(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Md(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Md(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Md(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(a(137,t));break;default:Md(e,t,u,p,r,m)}return;default:if(Xt(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Nd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Nd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Md(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Md(e,t,f,p,r,m)}function Id(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Ld(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Id(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Id(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Rd=null,zd=null;function Bd(e){return e.nodeType===9?e:e.ownerDocument}function Vd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Hd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Ud(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Wd=null;function Gd(){var e=window.event;return e&&e.type===`popstate`?e===Wd?!1:(Wd=e,!0):(Wd=null,!1)}var Kd=typeof setTimeout==`function`?setTimeout:void 0,qd=typeof clearTimeout==`function`?clearTimeout:void 0,Jd=typeof Promise==`function`?Promise:void 0,Yd=typeof queueMicrotask==`function`?queueMicrotask:Jd===void 0?Kd:function(e){return Jd.resolve(null).then(e).catch(Xd)};function Xd(e){setTimeout(function(){throw e})}function Zd(e){return e===`head`}function Qd(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)pf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,pf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[mt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&pf(e.ownerDocument.body);n=i}while(n);Np(t)}function $d(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function ef(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:ef(n),ht(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function tf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[mt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=cf(e.nextSibling),e===null)break}return null}function nf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=cf(e.nextSibling),e===null))return null;return e}function rf(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=cf(e.nextSibling),e===null))return null;return e}function af(e){return e.data===`$?`||e.data===`$~`}function of(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function sf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function cf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var lf=null;function uf(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return cf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function df(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function ff(e,t,n){switch(t=Bd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(a(452));return e;case`head`:if(e=t.head,!e)throw Error(a(453));return e;case`body`:if(e=t.body,!e)throw Error(a(454));return e;default:throw Error(a(451))}}function pf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);ht(e)}var mf=new Map,hf=new Set;function gf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var _f=P.d;P.d={f:vf,r:yf,D:Sf,C:Cf,L:wf,m:Tf,X:Df,S:Ef,M:Of};function vf(){var e=_f.f(),t=yu();return e||t}function yf(e){var t=_t(e);t!==null&&t.tag===5&&t.type===`form`?ys(t):_f.r(e)}var bf=typeof document>`u`?null:document;function xf(e,t,n){var r=bf;if(r&&typeof t==`string`&&t){var i=zt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),hf.has(i)||(hf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Pd(t,`link`,e),bt(t),r.head.appendChild(t)))}}function Sf(e){_f.D(e),xf(`dns-prefetch`,e,null)}function Cf(e,t){_f.C(e,t),xf(`preconnect`,e,t)}function wf(e,t,n){_f.L(e,t,n);var r=bf;if(r&&e&&t){var i=`link[rel="preload"][as="`+zt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+zt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+zt(n.imageSizes)+`"]`)):i+=`[href="`+zt(e)+`"]`;var a=i;switch(t){case`style`:a=Af(e);break;case`script`:a=Pf(e)}mf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),mf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(jf(a))||t===`script`&&r.querySelector(Ff(a))||(t=r.createElement(`link`),Pd(t,`link`,e),bt(t),r.head.appendChild(t)))}}function Tf(e,t){_f.m(e,t);var n=bf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+zt(r)+`"][href="`+zt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Pf(e)}if(!mf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),mf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Ff(a)))return}r=n.createElement(`link`),Pd(r,`link`,e),bt(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=yt(r).hoistableStyles,a=Af(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(jf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=mf.get(a))&&Rf(e,n);var c=o=r.createElement(`link`);bt(c),Pd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Lf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Df(e,t){_f.X(e,t);var n=bf;if(n&&e){var r=yt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),bt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Of(e,t){_f.M(e,t);var n=bf;if(n&&e){var r=yt(n).hoistableScripts,i=Pf(e),a=r.get(i);a||(a=n.querySelector(Ff(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=mf.get(i))&&zf(e,t),a=n.createElement(`script`),bt(a),Pd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t,n,r){var i=(i=ce.current)?gf(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Af(n.href),n=yt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Af(n.href);var o=yt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(jf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),mf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},mf.set(e,n),o||Nf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Pf(n),n=yt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function Af(e){return`href="`+zt(e)+`"`}function jf(e){return`link[rel="stylesheet"][`+e+`]`}function Mf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Nf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Pd(t,`link`,n),bt(t),e.head.appendChild(t))}function Pf(e){return`[src="`+zt(e)+`"]`}function Ff(e){return`script[async]`+e}function If(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+zt(n.href)+`"]`);if(r)return t.instance=r,bt(r),r;var i=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),bt(r),Pd(r,`style`,i),Lf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Af(n.href);var o=e.querySelector(jf(i));if(o)return t.state.loading|=4,t.instance=o,bt(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),bt(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Pd(o,`link`,r),t.state.loading|=4,Lf(o,n.precedence,e),t.instance=o;case`script`:return o=Pf(n.src),(i=e.querySelector(Ff(o)))?(t.instance=i,bt(i),i):(r=n,(i=mf.get(o))&&(r=p({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),bt(i),Pd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Lf(r,n.precedence,e));return t.instance}function Lf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Rf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Bf=null;function Vf(e,t,n){if(Bf===null){var r=new Map,i=Bf=new Map;i.set(n,r)}else i=Bf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[mt]||a[st]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Hf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Uf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Wf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Gf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Af(r.href),a=t.querySelector(jf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Jf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,bt(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),bt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Pd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Jf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var Kf=0;function qf(e,t){return e.stylesheets&&e.count===0&&Xf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&Kf===0&&(Kf=62500*Ld());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Xf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>Kf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Jf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Xf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yf=null;function Xf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yf=new Map,t.forEach(Zf,e),Yf=null,Jf.call(e))}function Zf(e,t){if(!(t.state.loading&4)){var n=Yf.get(e);if(n)var r=n.get(null);else{n=new Map,Yf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Jf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var Qf={$$typeof:x,Provider:null,Consumer:null,_currentValue:F,_currentValue2:F,_threadCount:0};function $f(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Xe(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Xe(0),this.hiddenUpdates=Xe(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function ep(e,t,n,r,i,a,o,s,c,l,u,d){return e=new $f(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=$r(3,null,null,t),e.current=a,a.stateNode=e,t=ea(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},ja(a),e}function tp(e){return e?(e=Zr,e):Zr}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=Na(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Pa(e,r,t),n!==null&&(mu(n,e,t),Fa(n,e,t))}function rp(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ip(e,t){rp(e,t),(e=e.alternate)&&rp(e,t)}function ap(e){if(e.tag===13||e.tag===31){var t=Jr(e,67108864);t!==null&&mu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=fu();t=nt(t);var n=Jr(e,t);n!==null&&mu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=N.T;N.T=null;var a=P.p;try{P.p=2,up(e,t,n,r)}finally{P.p=a,N.T=i}}function lp(e,t,n,r){var i=N.T;N.T=null;var a=P.p;try{P.p=8,up(e,t,n,r)}finally{P.p=a,N.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)Cd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=_t(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Ge(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Re(o);s.entanglements[1]|=c,o&=~c}rd(a),!(Pl&6)&&(eu=Ee()+500,id(0,!1))}}break;case 31:case 13:s=Jr(a,2),s!==null&&mu(s,a,2),yu(),ip(a,2)}if(a=dp(r),a===null&&Cd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Cd(e,t,r,null,n)}}function dp(e){return e=L(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=gt(e),e!==null){var t=s(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=c(t),e!==null)return e;e=null}else if(n===31){if(e=l(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return fp=e,null}function mp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(De()){case Oe:return 2;case ke:return 8;case Ae:case je:return 32;case Me:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=_t(t),t!==null&&ap(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=gt(e.target);if(t!==null){var n=s(t);if(n!==null){if(t=n.tag,t===13){if(t=c(n),t!==null){e.blockedOn=t,at(e.priority,function(){op(n)});return}}else if(t===31){if(t=l(n),t!==null){e.blockedOn=t,at(e.priority,function(){op(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);tn=r,n.target.dispatchEvent(r),tn=null}else return t=_t(n),t!==null&&ap(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=_t(n);a!==null&&(e.splice(t,3),t-=3,_s(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[ct]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[ct]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(a(409));var n=t.current;np(n,fu(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;np(e.current,2,null,e,null,null),yu(),t[lt]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=it();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.4`)throw Error(a(527,Lp,`19.2.4`));P.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(a(188)):(e=Object.keys(e).join(`,`),Error(a(268,e)));return e=d(t),e=e===null?null:f(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.4`,rendererPackageName:`react-dom`,currentDispatcherRef:N,reconcilerVersion:`19.2.4`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{Fe=zp.inject(Rp),Ie=zp}catch{}}e.createRoot=function(e,t){if(!o(e))throw Error(a(299));var n=!1,r=``,i=Bs,s=Vs,c=Hs;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=ep(e,1,!1,null,null,n,r,null,i,s,c,Pp),e[lt]=t.current,xd(e),new Fp(t)}})),ta=n(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=ea()})),na=Vn(`case-sensitive`,[[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`,key:`d5nyq2`}],[`path`,{d:`M22 9v7`,key:`pvm9v3`}],[`path`,{d:`M3.304 13h6.392`,key:`1q3zxz`}],[`circle`,{cx:`18.5`,cy:`12.5`,r:`3.5`,key:`z97x68`}]]),ra=Vn(`file-diff`,[[`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:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]),ia=Vn(`folder-git-2`,[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]),aa=Vn(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),oa=Vn(`github`,[[`path`,{d:`M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4`,key:`tonef`}],[`path`,{d:`M9 18c-4.51 2-5-2-7-2`,key:`9comsn`}]]),sa=Vn(`hexagon`,[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`,key:`yt0hxn`}]]),ca=Vn(`regex`,[[`path`,{d:`M17 3v10`,key:`15fgeh`}],[`path`,{d:`m12.67 5.5 8.66 5`,key:`1gpheq`}],[`path`,{d:`m12.67 10.5 8.66-5`,key:`1dkfa6`}],[`path`,{d:`M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z`,key:`swwfx4`}]]),la=Vn(`replace-all`,[[`path`,{d:`M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`,key:`zg1ipl`}],[`path`,{d:`M14 4a1 1 0 0 1 1-1`,key:`dhj8ez`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`,key:`1mnyi5`}],[`path`,{d:`M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`,key:`txt6k4`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`,key:`sfs9ap`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`,key:`mp6qeo`}],[`path`,{d:`m3 7 3 3 3-3`,key:`x25e72`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`,key:`15xut4`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}]]),ua=Vn(`scan`,[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}]]),da=Vn(`server-off`,[[`path`,{d:`M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5`,key:`bt2siv`}],[`path`,{d:`M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z`,key:`1hjrv1`}],[`path`,{d:`M22 17v-1a2 2 0 0 0-2-2h-1`,key:`1iynyr`}],[`path`,{d:`M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z`,key:`161ggg`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),fa=Vn(`whole-word`,[[`circle`,{cx:`7`,cy:`12`,r:`3`,key:`12clwm`}],[`path`,{d:`M10 9v6`,key:`17i7lo`}],[`circle`,{cx:`17`,cy:`12`,r:`3`,key:`gl7c2s`}],[`path`,{d:`M14 7v8`,key:`dl84cr`}],[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`,key:`lt2kga`}]]),pa=ta(),J=e(r(),1),Y=i(),ma=({...e})=>{let t=V(e=>e.themeMode);return(0,Y.jsx)(Un,{theme:t===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t,className:`toaster group`,icons:{success:(0,Y.jsx)(pe,{className:`size-4`}),info:(0,Y.jsx)(Fe,{className:`size-4`}),warning:(0,Y.jsx)(Ce,{className:`size-4`}),error:(0,Y.jsx)(He,{className:`size-4`}),loading:(0,Y.jsx)(En,{className:`size-4 animate-spin`})},style:{"--normal-bg":`var(--color-popover)`,"--normal-text":`var(--color-popover-foreground)`,"--normal-border":`var(--color-border)`,"--border-radius":`var(--radius)`},...e})},ha=500;function ga({delayDuration:e=ha,disableHoverableContent:t=!0,...n}){return(0,Y.jsx)(P,{"data-slot":`tooltip-provider`,delayDuration:e,disableHoverableContent:t,...n})}function _a({...e}){return(0,Y.jsx)(ga,{children:(0,Y.jsx)(k,{"data-slot":`tooltip`,...e})})}function va({...e}){return(0,Y.jsx)(re,{"data-slot":`tooltip-trigger`,...e})}function ya({className:e,sideOffset:t=0,children:n,...r}){let i=Jn();return(0,Y.jsx)(ae,{container:i,children:(0,Y.jsxs)(ne,{"data-slot":`tooltip-content`,sideOffset:t,className:U(`pointer-events-none z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,e),...r,children:[n,(0,Y.jsx)(I,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground`})]})})}function ba(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function xa(e,t){let n=getComputedStyle(e.ownerDocument.body);return t*parseFloat(n.fontSize)}function Sa(e){return e/100*window.innerHeight}function Ca(e){return e/100*window.innerWidth}function wa(e){switch(typeof e){case`number`:return[e,`px`];case`string`:{let t=parseFloat(e);return e.endsWith(`%`)?[t,`%`]:e.endsWith(`px`)?[t,`px`]:e.endsWith(`rem`)?[t,`rem`]:e.endsWith(`em`)?[t,`em`]:e.endsWith(`vh`)?[t,`vh`]:e.endsWith(`vw`)?[t,`vw`]:[t,`%`]}}}function Ta({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=wa(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=xa(t,i);break;case`em`:r=ba(t,i);break;case`vh`:r=Sa(i);break;case`vw`:r=Ca(i);break}return r}function Ea(e){return parseFloat(e.toFixed(3))}function Da({group:e}){let{orientation:t,panels:n}=e;return n.reduce((e,n)=>(e+=t===`horizontal`?n.element.offsetWidth:n.element.offsetHeight,e),0)}function Oa(e){let{panels:t}=e,n=Da({group:e});return n===0?t.map(e=>({groupResizeBehavior:e.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:e.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:e.panelConstraints.disabled,minSize:0,maxSize:100,panelId:e.id})):t.map(e=>{let{element:t,panelConstraints:r}=e,i=0;r.collapsedSize!==void 0&&(i=Ea(Ta({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=Ea(Ta({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=Ea(Ta({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=Ea(Ta({groupSize:n,panelElement:t,styleProp:r.maxSize})/n*100)),{groupResizeBehavior:r.groupResizeBehavior,collapsedSize:i,collapsible:r.collapsible===!0,defaultSize:a,disabled:r.disabled,minSize:o,maxSize:s,panelId:e.id}})}function ka(e,t=`Assertion error`){if(!e)throw Error(t)}function Aa(e,t){return Array.from(t).sort(e===`horizontal`?ja:Ma)}function ja(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function Ma(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function Na(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function Pa(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function Fa({orientation:e,rects:t,targetRect:n}){let r={x:n.x+n.width/2,y:n.y+n.height/2},i,a=Number.MAX_VALUE;for(let n of t){let{x:t,y:o}=Pa(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return ka(i,`No rect found`),i}var Ia;function La(){return Ia===void 0&&(Ia=typeof matchMedia==`function`?!!matchMedia(`(pointer:coarse)`).matches:!1),Ia}function Ra(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=Aa(n,Array.from(t.children).filter(Na).map(e=>({element:e}))).map(({element:e})=>e),o=[],s=!1,c=!1,l=-1,u=-1,d=0,f,p=[];{let e=-1;for(let t of a)t.hasAttribute(`data-panel`)&&(e++,t.ariaDisabled===null&&(d++,l===-1&&(l=e),u=e))}if(d>1){let t=-1;for(let d of a)if(d.hasAttribute(`data-panel`)){t++;let i=r.find(e=>e.element===d);if(i){if(f){let r=f.element.getBoundingClientRect(),a=d.getBoundingClientRect(),m;if(c){let e=n===`horizontal`?new DOMRect(r.right,r.top,0,r.height):new DOMRect(r.left,r.bottom,r.width,0),t=n===`horizontal`?new DOMRect(a.left,a.top,0,a.height):new DOMRect(a.left,a.top,a.width,0);switch(p.length){case 0:m=[e,t];break;case 1:{let i=p[0];m=[i,Fa({orientation:n,rects:[r,a],targetRect:i.element.getBoundingClientRect()})===r?t:e];break}default:m=p;break}}else m=p.length?p:[n===`horizontal`?new DOMRect(r.right,a.top,a.left-r.right,a.height):new DOMRect(a.left,r.bottom,a.width,a.top-r.bottom)];for(let n of m){let r=`width`in n?n:n.element.getBoundingClientRect(),a=La()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(r.width<a){let e=a-r.width;r=new DOMRect(r.x-e/2,r.y,r.width+e,r.height)}if(r.height<a){let e=a-r.height;r=new DOMRect(r.x,r.y-e/2,r.width,r.height+e)}!s&&!(t<=l||t>u)&&o.push({group:e,groupSize:Da({group:e}),panels:[f,i],separator:`width`in n?void 0:n,rect:r}),s=!1}}c=!1,f=i,p=[]}}else if(d.hasAttribute(`data-separator`)){d.ariaDisabled!==null&&(s=!0);let e=i.find(e=>e.element===d);e?p.push(e):(f=void 0,p=[])}else c=!0}return o}var za=class{#e={};addListener(e,t){let n=this.#e[e];return n===void 0?this.#e[e]=[t]:n.includes(t)||n.push(t),()=>{this.removeListener(e,t)}}emit(e,t){let n=this.#e[e];if(n!==void 0)if(n.length===1)n[0].call(null,t);else{let e=!1,r=null,i=Array.from(n);for(let n=0;n<i.length;n++){let a=i[n];try{a.call(null,t)}catch(t){r===null&&(e=!0,r=t)}}if(e)throw r}}removeAllListeners(){this.#e={}}removeListener(e,t){let n=this.#e[e];if(n!==void 0){let e=n.indexOf(t);e>=0&&n.splice(e,1)}}},Ba=new Map,Va=new za;function Ha(e){Ba=new Map(Ba),Ba.delete(e)}function Ua(e,t){for(let[t]of Ba)if(t.id===e)return t}function Wa(e,t){for(let[t,n]of Ba)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function Ga(){return Ba}function Ka(e,t){return Va.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function qa(e,t){let n=Ba.get(e);Ba=new Map(Ba),Ba.set(e,t),Va.emit(`groupChange`,{group:e,prev:n,next:t})}function Ja(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=Pa(n,a.rect);switch(e){case`horizontal`:t.x<=i.x&&(r=a,i=t);break;case`vertical`:t.y<=i.y&&(r=a,i=t);break}}return r?{distance:i,hitRegion:r}:void 0}function Ya(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function Xa(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:no(e),b:no(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();ka(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:to(eo(n.a)),b:to(eo(n.b))};if(i.a===i.b){let e=r.childNodes,t={a:n.a.at(-1),b:n.b.at(-1)},i=e.length;for(;i--;){let n=e[i];if(n===t.a)return 1;if(n===t.b)return-1}}return Math.sign(i.a-i.b)}var Za=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function Qa(e){let t=getComputedStyle(X(e)??e).display;return t===`flex`||t===`inline-flex`}function $a(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||Qa(e))||+t.opacity<1||`transform`in t&&t.transform!==`none`||`webkitTransform`in t&&t.webkitTransform!==`none`||`mixBlendMode`in t&&t.mixBlendMode!==`normal`||`filter`in t&&t.filter!==`none`||`webkitFilter`in t&&t.webkitFilter!==`none`||`isolation`in t&&t.isolation===`isolate`||Za.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function eo(e){let t=e.length;for(;t--;){let n=e[t];if(ka(n,`Missing node`),$a(n))return n}return null}function to(e){return e&&Number(getComputedStyle(e).zIndex)||0}function no(e){let t=[];for(;e;)t.push(e),e=X(e);return t}function X(e){let{parentNode:t}=e;return Ya(t)?t.host:t}function ro(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function io({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Na(n)||n.contains(e)||e.contains(n))return!0;if(Xa(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(ro(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function ao(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=Ra(r),a=Ja(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&io({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function oo(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function so(e,t,n=0){return Math.abs(Ea(e)-Ea(t))<=n}function co(e,t){return so(e,t)?0:e>t?1:-1}function lo({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){let{collapsedSize:i=0,collapsible:a,disabled:o,maxSize:s=100,minSize:c=0}=t;if(o&&!e)return n;if(co(r,c)<0)if(a){let e=(i+c)/2;r=co(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=Ea(r),r}function uo({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(so(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;ka(u!=null,`Invalid first pivot index`),ka(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];ka(r,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(ka(n!=null,`Previous layout not found for panel index ${t}`),so(n,i)){let t=o-n;co(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];ka(r,`No panel constraints found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(ka(n!=null,`Previous layout not found for panel index ${t}`),so(n,o)){let t=n-i;co(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];ka(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&co(i,c)<0)if(e>0){let t=c-o,n=t/2;co(i+e,c)<0&&(e=co(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;co(i-e,c)<0&&(e=co(100+e,n)>0?0:-t)}break}}{let t=e<0?1:-1,r=e<0?d:u,i=0;for(;;){let e=s[r];ka(e!=null,`Previous layout not found for panel index ${r}`);let a=lo({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:e,size:100})-e;if(i+=a,r+=t,r<0||r>=n.length)break}let a=Math.min(Math.abs(e),Math.abs(i));e=e<0?0-a:a}{let t=e<0?u:d;for(;t>=0&&t<n.length;){let r=Math.abs(e)-Math.abs(f),i=s[t];ka(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=lo({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!so(i,c)&&(f+=i-c,l[t]=c,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?t--:t++}}if(oo(c,l))return i;{let t=e<0?d:u,r=s[t];ka(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=lo({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!so(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];ka(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=lo({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(so(i,s)||(t-=s-i,l[r]=s),so(t,0))break;e>0?r--:r++}}}if(!so(Object.values(l).reduce((e,t)=>t+e,0),100,.1))return i;let p=Object.keys(i);return l.reduce((e,t,n)=>(e[p[n]]=t,e),{})}function fo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||co(e[n],t[n])!==0)return!1;return!0}function po({layout:e,panelConstraints:t}){let n=Object.values(e),r=[...n],i=r.reduce((e,t)=>e+t,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(e=>`${e}%`).join(`, `)}`);if(!so(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];ka(t!=null,`No layout data found for index ${e}`),r[e]=100/i*t}let a=0;for(let e=0;e<t.length;e++){let i=n[e];ka(i!=null,`No layout data found for index ${e}`);let o=r[e];ka(o!=null,`No layout data found for index ${e}`);let s=lo({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!so(a,0))for(let e=0;e<t.length;e++){let n=r[e];ka(n!=null,`No layout data found for index ${e}`);let i=n+a,o=lo({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,so(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function mo({groupId:e,panelId:t}){let n=()=>{let t=Ga();for(let[n,{defaultLayoutDeferred:r,derivedPanelConstraints:i,layout:a,groupSize:o,separatorToPanels:s}]of t)if(n.id===e)return{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:n,groupSize:o,layout:a,separatorToPanels:s};throw Error(`Group ${e} not found`)},r=()=>{let e=n().derivedPanelConstraints.find(e=>e.panelId===t);if(e!==void 0)return e;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{let e=n().group.panels.find(e=>e.id===t);if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},a=()=>{let e=n().layout[t];if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},o=e=>{let r=a();if(e===r)return;let{defaultLayoutDeferred:i,derivedPanelConstraints:o,group:s,groupSize:c,layout:l,separatorToPanels:u}=n(),d=s.panels.findIndex(e=>e.id===t),f=d===s.panels.length-1,p=po({layout:uo({delta:f?r-e:e-r,initialLayout:l,panelConstraints:o,pivotIndices:f?[d-1,d]:[d,d+1],prevLayout:l,trigger:`imperative-api`}),panelConstraints:o});fo(l,p)||qa(s,{defaultLayoutDeferred:i,derivedPanelConstraints:o,groupSize:c,layout:p,separatorToPanels:u})};return{collapse:()=>{let{collapsible:e,collapsedSize:t}=r(),{mutableValues:n}=i(),s=a();e&&s!==t&&(n.expandToSize=s,o(t))},expand:()=>{let{collapsible:e,collapsedSize:t,minSize:n}=r(),{mutableValues:s}=i(),c=a();if(e&&c===t){let e=s.expandToSize??n;e===0&&(e=1),o(e)}},getSize:()=>{let{group:e}=n(),t=a(),{element:r}=i();return{asPercentage:t,inPixels:e.orientation===`horizontal`?r.offsetWidth:r.offsetHeight}},isCollapsed:()=>{let{collapsible:e,collapsedSize:t}=r(),n=a();return e&&so(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=Da({group:t});o(Ea(Ta({groupSize:a,panelElement:r,styleProp:e})/a*100))}}}function ho(e){e.defaultPrevented||ao(e,Ga()).forEach(t=>{if(t.separator){let n=t.panels.find(e=>e.panelConstraints.defaultSize!==void 0);if(n){let r=n.panelConstraints.defaultSize,i=mo({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function go(e){let t=Ga();for(let[n]of t)if(n.separators.some(t=>t.element===e))return n;throw Error(`Could not find parent Group for separator element`)}function _o({groupId:e}){let t=()=>{let t=Ga();for(let[n,r]of t)if(n.id===e)return{group:n,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){let{defaultLayoutDeferred:e,layout:n}=t();return e?{}:n},setLayout(e){let{defaultLayoutDeferred:n,derivedPanelConstraints:r,group:i,groupSize:a,layout:o,separatorToPanels:s}=t(),c=po({layout:e,panelConstraints:r});return n?o:(fo(o,c)||qa(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function vo(e,t){let n=go(e),r=Wa(n.id,!0),i=n.separators.find(t=>t.element===e);ka(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);ka(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=_o({groupId:n.id}).getLayout(),c=po({layout:uo({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});fo(s,c)||qa(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels})}function yo(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=go(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&vo(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&vo(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&vo(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&vo(t,-5);break;case`End`:e.preventDefault(),vo(t,100);break;case`Enter`:{e.preventDefault();let n=go(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=Wa(n.id,!0),o=n.separators.find(e=>e.element===t);ka(o,`Matching separator not found`);let s=a.get(o);ka(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(ka(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];vo(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=go(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);ka(r!==null,`Index not found`),n[e.shiftKey?r>0?r-1:n.length-1:r+1<n.length?r+1:0].focus({preventScroll:!0});break}case`Home`:e.preventDefault(),vo(t,-100);break}}var bo={cursorFlags:0,state:`inactive`},xo=new za;function So(){return bo}function Co(e){return xo.addListener(`change`,e)}function wo(e){let t=bo,n={...bo};n.cursorFlags=e,bo=n,xo.emit(`change`,{prev:t,next:n})}function To(e){let t=bo;bo=e,xo.emit(`change`,{prev:t,next:e})}function Eo(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Ga(),n=ao(e,t),r=new Map,i=!1;n.forEach(e=>{e.separator&&(i||(i=!0,e.separator.element.focus({preventScroll:!0})));let n=t.get(e.group);n&&r.set(e.group,n.layout)}),To({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}var Do=e=>e,Oo=()=>{},ko=1,Ao=2,jo=4,Mo=8,No=3,Po=12,Fo;function Io(){return Fo===void 0&&(Fo=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&(Fo=!0)),Fo}function Lo({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case`active`:case`hover`:t.forEach(e=>{if(!e.mutableState.disableCursor)switch(e.orientation){case`horizontal`:r++;break;case`vertical`:i++;break}})}if(!(r===0&&i===0)){switch(n){case`active`:if(e&&Io()){let t=(e&ko)!==0,n=(e&Ao)!==0,r=(e&jo)!==0,i=(e&Mo)!==0;if(t)return r?`se-resize`:i?`ne-resize`:`e-resize`;if(n)return r?`sw-resize`:i?`nw-resize`:`w-resize`;if(r)return`s-resize`;if(i)return`n-resize`}break}return Io()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var Ro=new WeakMap;function zo(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Ro.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));let r=So();switch(r.state){case`active`:case`hover`:{let e=Lo({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(e=>e.group),state:r.state}),i=`*, *:hover {cursor: ${e} !important; }`;if(t===i)return;t=i,e?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case`inactive`:t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}Ro.set(e,{prevStyle:t,styleSheet:n})}function Bo({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:a,prevCursorFlags:o}){let s=0;n.forEach(e=>{let{group:n,groupSize:o}=e,{orientation:c,panels:l}=n,{disableCursor:u}=n.mutableState,d=0;d=a?c===`horizontal`?(t.clientX-a.x)/o*100:(t.clientY-a.y)/o*100:c===`horizontal`?t.clientX<0?-100:100:t.clientY<0?-100:100;let f=r.get(n),p=i.get(n);if(!f||!p)return;let{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:_,separatorToPanels:v}=p;if(h&&_&&v){let t=uo({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(fo(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?ko:Ao;break;case`vertical`:s|=d<0?jo:Mo;break}}else qa(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&No:c|=s&No,t.movementY===0?c|=o&Po:c|=s&Po,wo(c),zo(e)}function Vo(e){let t=Ga(),n=So();switch(n.state){case`active`:Bo({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Ho(e){if(e.defaultPrevented)return;let t=So(),n=Ga();switch(t.state){case`active`:if(e.buttons===0){To({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=Wa(e.group.id,!0);qa(e.group,t)});return}Bo({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=ao(e,n);r.length===0?t.state!==`inactive`&&To({cursorFlags:0,state:`inactive`}):To({cursorFlags:0,hitRegions:r,state:`hover`}),zo(e.currentTarget);break}}}function Uo(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(So().state){case`hover`:To({cursorFlags:0,state:`inactive`})}}function Wo(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=So();switch(t.state){case`active`:To({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(zo(e.currentTarget),t.hitRegions.forEach(e=>{let t=Wa(e.group.id,!0);qa(e.group,t)}),e.preventDefault())}}function Go(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=Ea(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=Ea((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function Ko(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=Da({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:Ea(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function qo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Jo({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,a=0,o=!1,s=new Map,c=[];for(let l of e.panels){let e=r[l.id]??0;switch(l.panelConstraints.groupResizeBehavior){case`preserve-pixel-size`:{o=!0;let r=Ea(e/100*n/t*100);s.set(l.id,r),i+=r;break}default:c.push(l.id),a+=e;break}}if(!o||c.length===0)return r;let l=100-i,u={...r};if(s.forEach((e,t)=>{u[t]=e}),a>0)for(let e of c)u[e]=Ea((r[e]??0)/a*l);else{let e=Ea(l/c.length);for(let t of c)u[t]=e}return u}function Yo(e,t){let n=e.map(e=>e.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(let e of n)if(!r.includes(e))return!1;return!0}var Xo=new Map;function Zo(e){let t=!0;ka(e.element.ownerDocument.defaultView,`Cannot register an unmounted Group`);let n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,a=new n(n=>{for(let r of n){let{borderBoxSize:n,target:i}=r;if(i===e.element){if(t){let t=Da({group:e});if(t===0)return;let n=Wa(e.id);if(!n)return;let r=Oa(e),i=n.defaultLayoutDeferred?Go(r):n.layout,a=po({layout:Jo({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&fo(n.layout,a)&&qo(n.derivedPanelConstraints,r)&&n.groupSize===t)return;qa(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else Ko(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{ka(!r.has(e.id),`Panel ids must be unique; id "${e.id}" was used more than once`),r.add(e.id),e.onResize&&a.observe(e.element)});let o=Da({group:e}),s=Oa(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&(Yo(e.panels,l)||(l=void 0));let u=po({layout:e.mutableState.layouts[c]??l??Go(s),panelConstraints:s}),d=e.element.ownerDocument;Xo.set(d,(Xo.get(d)??0)+1);let f=new Map;return Ra(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),qa(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{ka(!i.has(e.id),`Separator ids must be unique; id "${e.id}" was used more than once`),i.add(e.id),e.element.addEventListener(`keydown`,yo)}),Xo.get(d)===1&&(d.addEventListener(`dblclick`,ho,!0),d.addEventListener(`pointerdown`,Eo,!0),d.addEventListener(`pointerleave`,Vo),d.addEventListener(`pointermove`,Ho),d.addEventListener(`pointerout`,Uo),d.addEventListener(`pointerup`,Wo,!0)),function(){t=!1,Xo.set(d,Math.max(0,(Xo.get(d)??0)-1)),Ha(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,yo)}),Xo.get(d)||(d.removeEventListener(`dblclick`,ho,!0),d.removeEventListener(`pointerdown`,Eo,!0),d.removeEventListener(`pointerleave`,Vo),d.removeEventListener(`pointermove`,Ho),d.removeEventListener(`pointerout`,Uo),d.removeEventListener(`pointerup`,Wo,!0)),a.disconnect()}}function Qo(){let[e,t]=(0,J.useState)({});return[e,(0,J.useCallback)(()=>t({}),[])]}function $o(e){let t=(0,J.useId)();return`${e??t}`}var es=typeof window<`u`?J.useLayoutEffect:J.useEffect;function ts(e){let t=(0,J.useRef)(e);return es(()=>{t.current=e},[e]),(0,J.useCallback)((...e)=>t.current?.(...e),[t])}function ns(...e){return ts(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function rs(e){let t=(0,J.useRef)({...e});return es(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var is=(0,J.createContext)(null);function as(e,t){let n=(0,J.useRef)({getLayout:()=>({}),setLayout:Do});(0,J.useImperativeHandle)(t,()=>n.current,[]),es(()=>{Object.assign(n.current,_o({groupId:e}))})}function os({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:a,groupRef:o,id:s,onLayoutChange:c,onLayoutChanged:l,orientation:u=`horizontal`,resizeTargetMinimumSize:d={coarse:20,fine:10},style:f,...p}){let m=(0,J.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=ts(e=>{fo(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=ts(e=>{fo(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e))}),_=$o(s),v=(0,J.useRef)(null),[y,b]=Qo(),x=(0,J.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=ns(v,a);as(_,o);let C=ts((e,t)=>{let r=So(),i=Ua(e),a=Wa(e);if(a){let e=!1;switch(r.state){case`active`:e=r.hitRegions.some(e=>e.group===i);break}return{flexGrow:a.layout[t]??1,pointerEvents:e?`none`:void 0}}return{flexGrow:n?.[t]??1}}),w=rs({defaultLayout:n,disableCursor:r}),T=(0,J.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=Aa(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=Aa(u,[...t.separators,e]),b(),()=>{t.separators=t.separators.filter(t=>t!==e),b()}},togglePanelDisabled:(e,t)=>{let n=x.current.panels.find(t=>t.id===e);n&&(n.panelConstraints.disabled=t);let r=Ua(_),i=Wa(_);r&&i&&qa(r,{...i,derivedPanelConstraints:Oa(r)})},toggleSeparatorDisabled:(e,t)=>{let n=x.current.separators.find(t=>t.id===e);n&&(n.disabled=t)}}),[C,_,b,u,w]),E=(0,J.useRef)(null);return es(()=>{let e=v.current;if(e===null)return;let t=x.current,n;if(w.defaultLayout!==void 0&&Object.keys(w.defaultLayout).length===t.panels.length){n={};for(let e of t.panels){let t=w.defaultLayout[e.id];t!==void 0&&(n[e.id]=t)}}let r={disabled:!!i,element:e,id:_,mutableState:{defaultLayout:n,disableCursor:!!w.disableCursor,expandedPanelSizes:x.current.lastExpandedPanelSizes,layouts:x.current.layouts},orientation:u,panels:t.panels,resizeTargetMinimumSize:t.resizeTargetMinimumSize,separators:t.separators};E.current=r;let a=Zo(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=Wa(r.id,!0);!o&&s.length>0&&(h(c),g(c));let l=Ka(_,e=>{let{defaultLayoutDeferred:t,derivedPanelConstraints:n,layout:i}=e.next;if(t||n.length===0)return;let a=r.panels.map(({id:e})=>e).join(`,`);r.mutableState.layouts[a]=i,n.forEach(t=>{if(t.collapsible){let{layout:n}=e.prev??{};if(n){let e=so(t.collapsedSize,i[t.panelId]),a=so(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=So().state!==`active`;h(i),o&&g(i)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,J.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,Y.jsx)(is.Provider,{value:T,children:(0,Y.jsx)(`div`,{...p,className:t,"data-group":!0,"data-testid":_,id:_,ref:S,style:{height:`100%`,width:`100%`,overflow:`hidden`,...f,display:`flex`,flexDirection:u===`horizontal`?`row`:`column`,flexWrap:`nowrap`,touchAction:u===`horizontal`?`pan-y`:`pan-x`},children:e})})}os.displayName=`Group`;function ss(){let e=(0,J.useContext)(is);return ka(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function cs(e,t){let{id:n}=ss(),r=(0,J.useRef)({collapse:Oo,expand:Oo,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Oo});(0,J.useImperativeHandle)(t,()=>r.current,[]),es(()=>{Object.assign(r.current,mo({groupId:n,panelId:e}))})}function ls({children:e,className:t,collapsedSize:n=`0%`,collapsible:r=!1,defaultSize:i,disabled:a,elementRef:o,groupResizeBehavior:s=`preserve-relative-size`,id:c,maxSize:l=`100%`,minSize:u=`0%`,onResize:d,panelRef:f,style:p,...m}){let h=!!c,g=$o(c),_=rs({disabled:a}),v=(0,J.useRef)(null),y=ns(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,togglePanelDisabled:w}=ss(),T=d!==null,E=ts((e,t,n)=>{d?.(e,c,n)});es(()=>{let e=v.current;if(e!==null)return C({element:e,id:g,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:T?E:void 0,panelConstraints:{groupResizeBehavior:s,collapsedSize:n,collapsible:r,defaultSize:i,disabled:_.disabled,maxSize:l,minSize:u}})},[s,n,r,i,T,g,h,l,u,E,C,_]),(0,J.useEffect)(()=>{w(g,!!a)},[a,g,w]),cs(g,f);let D=(0,J.useSyncExternalStore)(e=>Ka(x,e),()=>JSON.stringify(b(x,g)),()=>JSON.stringify(b(x,g)));return(0,Y.jsx)(`div`,{...m,"aria-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...us,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...JSON.parse(D)},children:(0,Y.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}ls.displayName=`Panel`;var us={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function ds({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,a,o=e[n],s=t.find(e=>e.panelId===n);if(s){let c=s.maxSize,l=s.collapsible?s.collapsedSize:s.minSize,u=[r,r+1];a=po({layout:uo({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=po({layout:uo({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function fs({children:e,className:t,disabled:n,elementRef:r,id:i,style:a,...o}){let s=$o(i),c=rs({disabled:n}),[l,u]=(0,J.useState)({}),[d,f]=(0,J.useState)(`inactive`),p=(0,J.useRef)(null),m=ns(p,r),{disableCursor:h,id:g,orientation:_,registerSeparator:v,toggleSeparatorDisabled:y}=ss(),b=_===`horizontal`?`vertical`:`horizontal`;es(()=>{let e=p.current;if(e!==null){let t={disabled:c.disabled,element:e,id:s},n=v(t),r=Co(e=>{f(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=Ka(g,e=>{let{derivedPanelConstraints:n,layout:r,separatorToPanels:i}=e.next,a=i.get(t);if(a){let e=a[0],t=a.indexOf(e);u(ds({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[g,s,v,c]),(0,J.useEffect)(()=>{y(s,!!n)},[n,s,y]);let x;return n&&!h&&(x=`not-allowed`),(0,Y.jsx)(`div`,{...o,"aria-controls":l.valueControls,"aria-disabled":n||void 0,"aria-orientation":b,"aria-valuemax":l.valueMax,"aria-valuemin":l.valueMin,"aria-valuenow":l.valueNow,children:e,className:t,"data-separator":n?`disabled`:d,"data-testid":s,id:s,ref:m,role:`separator`,style:{flexBasis:`auto`,cursor:x,...a,flexGrow:0,flexShrink:0,touchAction:`none`},tabIndex:n?void 0:0})}fs.displayName=`Separator`;function ps(e){let[t,n]=(0,J.useState)(()=>typeof window<`u`?window.matchMedia(e).matches:!1);return(0,J.useEffect)(()=>{let t=window.matchMedia(e),r=e=>n(e.matches);return t.addEventListener(`change`,r),n(t.matches),()=>t.removeEventListener(`change`,r)},[e]),t}function ms(e){try{let t=new Date(e),n=new Date().getTime()-t.getTime(),r=Math.floor(n/6e4);if(r<1)return`just now`;if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<7?`${a}d ago`:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}catch{return``}}function hs(e,t){let[n,r]=(0,J.useState)(e);return(0,J.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function gs(e){let[t,n]=(0,J.useState)([]),[r,i]=(0,J.useState)({}),a=(0,J.useCallback)(async()=>{if(e)try{let t=await z.get(`${R(e)}/tags`);n(t.tags),i(t.counts)}catch{}},[e]);return(0,J.useEffect)(()=>{a()},[a]),{projectTags:t,tagCounts:r,loadTags:a}}function _s({projectTags:e,tagCounts:t,totalCount:n,selectedTagId:r,onSelect:i}){return e.length===0?null:(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5 overflow-x-auto scrollbar-none`,children:[(0,Y.jsxs)(`button`,{onClick:()=>i(null),className:`shrink-0 rounded-md border px-2 py-1 text-[10px] transition-colors ${r===null?`bg-primary/20 border-primary text-primary`:`border-border bg-surface text-text-secondary hover:bg-surface-elevated`}`,children:[`All (`,n,`)`]}),e.map(e=>(0,Y.jsxs)(`button`,{onClick:()=>i(r===e.id?null:e.id),className:`shrink-0 flex items-center gap-1 rounded-md border px-2 py-1 text-[10px] transition-colors ${r===e.id?`border-current`:`border-border bg-surface hover:bg-surface-elevated`}`,style:r===e.id?{backgroundColor:e.color+`20`,color:e.color,borderColor:e.color}:void 0,children:[(0,Y.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,` (`,t[e.id]??0,`)`]},e.id))]})}var vs={approval_request:`bg-error`,question:`bg-warning`,done:`bg-primary`},ys={done:0,question:1,approval_request:2};function bs(e){return e&&vs[e]||`bg-error`}var xs={approval_request:`bg-error/10`,question:`bg-warning/10`,done:`bg-primary/10`};function Ss(e){return e&&xs[e]||`bg-error/10`}var Cs=Gn()(e=>({notifications:new Map,addNotification:(t,n,r,i)=>{e(e=>{let a=new Map(e.notifications),o=a.get(t);return a.set(t,{count:(o?.count??0)+1,type:n,projectName:r,sessionTitle:i??o?.sessionTitle??null}),{notifications:a}})},markUnread:(t,n,r)=>{e(e=>{let i=new Map(e.notifications);return i.set(t,{count:1,type:`done`,projectName:n,sessionTitle:r??i.get(t)?.sessionTitle??null,manual:!0}),{notifications:i}}),z.post(`/api/project/${encodeURIComponent(n)}/chat/sessions/${encodeURIComponent(t)}/unread`,{projectName:n}).catch(()=>{})},clearForSession:t=>{let n=Cs.getState().notifications.get(t)?.projectName;e(e=>{if(!e.notifications.has(t))return e;let n=new Map(e.notifications);return n.delete(t),{notifications:n}}),n&&z.post(`/api/project/${encodeURIComponent(n)}/chat/sessions/${encodeURIComponent(t)}/read`).catch(()=>{})},clearAll:()=>{let t=[...Cs.getState().notifications];t.length!==0&&(e({notifications:new Map}),z.post(`/api/chat/sessions/read`,{sessionIds:t.map(([e])=>e)}).catch(()=>{e(e=>{let n=new Map(e.notifications);for(let[e,r]of t)n.has(e)||n.set(e,r);return{notifications:n}})}))},loadFromServer:async t=>{try{let n=await z.get(`/api/project/${encodeURIComponent(t)}/chat/sessions/unread`);e(()=>{let e=new Map;for(let t of n)t.unreadCount>0&&e.set(t.sessionId,{count:t.unreadCount,type:t.unreadType||`done`,projectName:t.projectName||``,sessionTitle:t.sessionTitle??null});return{notifications:e}})}catch{}},handleUnreadChanged:(t,n,r,i,a,o)=>{e(e=>{let s=new Map(e.notifications);if(n===0)s.delete(t);else{let e=s.get(t);s.set(t,{count:n>0?n:(e?.count??0)+1,type:r||`done`,projectName:i||e?.projectName||``,sessionTitle:a??e?.sessionTitle??null,manual:o??e?.manual})}return{notifications:s}})}}));function ws(e){return e.notifications.size}function Ts(e){return t=>{if(!e)return 0;let n=0;for(let[,r]of t.notifications)r.projectName===e&&n++;return n}}function Es(e){return t=>{let n=null,r=-1;for(let[,i]of t.notifications){if(i.projectName!==e)continue;let t=ys[i.type]??0;t>r&&(r=t,n=i.type)}return n}}function Ds({session:e,projectName:t,projectTags:n,children:r,onTogglePin:i,onStartEditing:a,onDeleteSession:o,onTagChanged:s}){let c=Cs(e=>e.markUnread),l=Cs(t=>t.notifications.has(e.id)),u=(0,J.useCallback)(async r=>{try{if(r){await z.patch(`${R(t)}/chat/sessions/${e.id}/tag`,{tagId:r});let i=n.find(e=>e.id===r);i&&s(e.id,{id:i.id,name:i.name,color:i.color})}else await z.del(`${R(t)}/chat/sessions/${e.id}/tag`),s(e.id,null)}catch{}},[e.id,t,n,s]);return(0,Y.jsxs)(Tr,{children:[(0,Y.jsx)(Er,{asChild:!0,children:r}),(0,Y.jsxs)(xr,{children:[(0,Y.jsxs)(Cr,{onClick:t=>i(t,e),children:[e.pinned?(0,Y.jsx)(ht,{className:`size-3.5 mr-2`}):(0,Y.jsx)(dt,{className:`size-3.5 mr-2`}),e.pinned?`Unpin`:`Pin`]}),!l&&(0,Y.jsxs)(Cr,{onClick:()=>c(e.id,t,e.title),children:[(0,Y.jsx)(zn,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),a&&(0,Y.jsxs)(Cr,{onClick:t=>a(e,t),children:[(0,Y.jsx)(me,{className:`size-3.5 mr-2`}),`Rename`]}),n.length>0&&(0,Y.jsxs)(wr,{children:[(0,Y.jsxs)(br,{children:[(0,Y.jsx)(Rn,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,Y.jsxs)(vr,{children:[n.map(t=>(0,Y.jsxs)(Cr,{onClick:()=>u(t.id),children:[(0,Y.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:t.color}}),t.name,e.tag?.id===t.id&&(0,Y.jsx)(An,{className:`size-3 ml-auto`})]},t.id)),e.tag&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Sr,{}),(0,Y.jsx)(Cr,{onClick:()=>u(null),children:`Remove tag`})]})]})]}),o&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Sr,{}),(0,Y.jsxs)(Cr,{className:`text-error focus:text-error`,onClick:t=>o(t,e),children:[(0,Y.jsx)(Mn,{className:`size-3.5 mr-2`}),`Delete`]})]})]})]})}function Os({name:e,children:t,...n}){return(0,Y.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,width:24,height:24,"aria-hidden":`true`,focusable:`false`,"data-provider-logo":e,...n,children:t})}function ks(e){return(0,Y.jsx)(Os,{name:`claude`,...e,children:(0,Y.jsx)(`path`,{d:`M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z`,fill:`#D97757`})})}function As(e){let t=`${(0,J.useId)()}codex`;return(0,Y.jsxs)(Os,{name:`codex`,...e,children:[(0,Y.jsx)(`defs`,{children:(0,Y.jsxs)(`linearGradient`,{id:t,gradientUnits:`userSpaceOnUse`,x1:`12`,x2:`12`,y1:`0`,y2:`24`,children:[(0,Y.jsx)(`stop`,{stopColor:`#B1A7FF`}),(0,Y.jsx)(`stop`,{offset:`.5`,stopColor:`#7A9DFF`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#3941FF`})]})}),(0,Y.jsx)(`path`,{d:`M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z`,fill:`url(#${t})`,fillRule:`evenodd`,clipRule:`evenodd`})]})}function js(e){return(0,Y.jsx)(Os,{name:`cursor`,fill:`currentColor`,...e,children:(0,Y.jsx)(`path`,{d:`M22.106 5.68L12.5.135a.998.998 0 00-.998 0L1.893 5.68a.84.84 0 00-.419.726v11.186c0 .3.16.577.42.727l9.607 5.547a.999.999 0 00.998 0l9.608-5.547a.84.84 0 00.42-.727V6.407a.84.84 0 00-.42-.726zm-.603 1.176L12.228 22.92c-.063.108-.228.064-.228-.061V12.34a.59.59 0 00-.295-.51l-9.11-5.26c-.107-.062-.063-.228.062-.228h18.55c.264 0 .428.286.296.514z`,fillRule:`evenodd`})})}function Ms(e){let t=(0,J.useId)(),n=[`#3186FF`,`url(#${t}green)`,`url(#${t}red)`,`url(#${t}yellow)`];return(0,Y.jsxs)(Os,{name:`gemini`,...e,children:[(0,Y.jsxs)(`defs`,{children:[(0,Y.jsxs)(`linearGradient`,{id:`${t}green`,gradientUnits:`userSpaceOnUse`,x1:`7`,x2:`11`,y1:`15.5`,y2:`12`,children:[(0,Y.jsx)(`stop`,{stopColor:`#08B962`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#08B962`,stopOpacity:`0`})]}),(0,Y.jsxs)(`linearGradient`,{id:`${t}red`,gradientUnits:`userSpaceOnUse`,x1:`8`,x2:`11.5`,y1:`5.5`,y2:`11`,children:[(0,Y.jsx)(`stop`,{stopColor:`#F94543`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#F94543`,stopOpacity:`0`})]}),(0,Y.jsxs)(`linearGradient`,{id:`${t}yellow`,gradientUnits:`userSpaceOnUse`,x1:`3.5`,x2:`17.5`,y1:`13.5`,y2:`12`,children:[(0,Y.jsx)(`stop`,{stopColor:`#FABC12`}),(0,Y.jsx)(`stop`,{offset:`.46`,stopColor:`#FABC12`,stopOpacity:`0`})]})]}),n.map(e=>(0,Y.jsx)(`path`,{d:`M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z`,fill:e},e))]})}var Ns={claude:ks,codex:As,cursor:js,gemini:Ms};function Ps({providerId:e,className:t}){let n=e?Ns[e]:void 0;return n?(0,Y.jsx)(n,{className:U(`shrink-0`,t)}):(0,Y.jsx)(`span`,{className:U(`inline-flex items-center justify-center rounded bg-surface-elevated text-[10px] font-bold text-text-subtle shrink-0`,t),children:`?`})}function Fs({value:e,onChange:t,projectName:n}){let[r,i]=(0,J.useState)([]),[a,o]=(0,J.useState)(!1),s=(0,J.useRef)(null),c=(0,J.useRef)(0);(0,J.useEffect)(()=>{n&&z.get(`${R(n)}/chat/providers`).then(i).catch(()=>{})},[n]),(0,J.useEffect)(()=>{if(!a)return;let e=e=>{s.current&&!s.current.contains(e.target)&&o(!1)},t=s.current?.ownerDocument??document;return t.addEventListener(`mousedown`,e),()=>t.removeEventListener(`mousedown`,e)},[a]),(0,J.useEffect)(()=>{a&&(c.current=Math.max(0,r.findIndex(t=>t.id===e)))},[a,e,r]);let l=(0,J.useCallback)(e=>{if(e.key===`Escape`){o(!1);return}if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;c.current=(c.current+t+r.length)%r.length,(s.current?.querySelector(`[data-idx="${c.current}"]`))?.focus()}if(e.key===`Enter`){e.preventDefault();let n=r[c.current];n&&(t(n.id),o(!1))}},[t,r]);if(r.length<=1)return null;let u=r.find(t=>t.id===e);return(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o(e=>!e)},className:`inline-flex items-center gap-1.5 px-[9px] py-1 rounded-full text-[11.5px] text-text-2 bg-panel-2 border border-border-soft hover:text-text-primary hover:border-border transition-colors`,"aria-label":`AI Provider: ${u?.name??e}`,children:[(0,Y.jsx)(Ps,{providerId:e,className:`size-3.5`}),(0,Y.jsx)(`span`,{className:`max-w-[80px] truncate capitalize`,children:u?.name??e})]}),a&&(0,Y.jsxs)(`div`,{ref:s,role:`listbox`,"aria-label":`AI Providers`,onKeyDown:l,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),className:`absolute bottom-full left-0 mb-1 z-50 w-56 rounded-lg border border-border popover-solid shadow-[var(--shadow-panel)]`,children:[(0,Y.jsx)(`div`,{className:`px-3 py-2 border-b border-border`,children:(0,Y.jsx)(`span`,{className:`text-xs font-medium text-text-secondary`,children:`Provider`})}),(0,Y.jsx)(`div`,{className:`py-1`,children:r.map((n,r)=>{let i=n.id===e;return(0,Y.jsxs)(`button`,{"data-idx":r,role:`option`,"aria-selected":i,tabIndex:0,onClick:()=>{t(n.id),o(!1)},className:`w-full flex items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-surface-elevated focus:bg-surface-elevated focus:outline-none ${i?`bg-surface-elevated`:``}`,children:[(0,Y.jsx)(Ps,{providerId:n.id,className:`size-4`}),(0,Y.jsx)(`span`,{className:`flex-1 text-sm font-medium text-text-primary capitalize`,children:n.name}),i&&(0,Y.jsx)(An,{className:`size-4 shrink-0 text-primary`})]},n.id)})})]})]})}function Is({providerId:e}){return(0,Y.jsx)(`span`,{className:`inline-flex shrink-0`,title:e,children:(0,Y.jsx)(Ps,{providerId:e,className:`size-4`})})}function Ls(e,t){return e.pinned&&!t.pinned?-1:!e.pinned&&t.pinned?1:Rs(t)-Rs(e)}function Rs(e){let t=e.updatedAt?Date.parse(e.updatedAt):NaN;if(Number.isFinite(t))return t;let n=Date.parse(e.createdAt);return Number.isFinite(n)?n:0}var zs=5,Bs=20;function Vs({projectName:e,onSelectSession:t,className:n}){let[r,i]=(0,J.useState)([]),[a,o]=(0,J.useState)(!1),[s,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)(``),d=hs(l,300),[f,p]=(0,J.useState)(null),{projectTags:m,tagCounts:h,loadTags:g}=gs(e),_=(0,J.useCallback)(async t=>{if(e){o(!0);try{let n=new URLSearchParams({limit:String(Bs)});t&&n.set(`q`,t),i((await z.get(`${R(e)}/chat/sessions?${n}`)).sessions.slice(0,Bs))}catch{}finally{o(!1)}}},[e]);(0,J.useEffect)(()=>{_()},[_]),(0,J.useEffect)(()=>{_(d||void 0)},[d]);let v=(0,J.useCallback)(async(t,n)=>{if(t.stopPropagation(),!e)return;let r=`${R(e)}/chat/sessions/${n.id}/pin`;try{n.pinned?await z.del(r):await z.put(r),i(e=>e.map(e=>e.id===n.id?{...e,pinned:!e.pinned}:e).sort(Ls))}catch{}},[e]),y=(0,J.useCallback)((e,t)=>{i(n=>n.map(n=>n.id===e?{...n,tag:t}:n)),g()},[g]),b=f===null?r:r.filter(e=>e.tag?.id===f),x=b.filter(e=>e.pinned),S=b.filter(e=>!e.pinned),C=s?S:S.slice(0,zs),w=S.length>zs;return a||!e||r.length===0?null:(0,Y.jsxs)(`div`,{className:n,children:[(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(Jt,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 size-3.5 text-text-subtle pointer-events-none`}),(0,Y.jsx)(`input`,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`Search chats...`,className:`w-full pl-8 pr-8 py-1.5 text-xs rounded-md border border-border bg-surface text-text-primary placeholder:text-text-subtle focus:outline-none focus:ring-1 focus:ring-primary/50`}),l&&(0,Y.jsx)(`button`,{onClick:()=>u(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-text-subtle hover:text-text-primary`,children:(0,Y.jsx)(he,{className:`size-3.5`})})]}),(0,Y.jsx)(`div`,{className:`mt-3`,children:(0,Y.jsx)(_s,{projectTags:m,tagCounts:h,totalCount:r.length,selectedTagId:f,onSelect:p})}),x.length>0&&(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 w-full mt-4`,children:[(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Pinned`}),(0,Y.jsx)(`div`,{className:`w-full rounded-md border border-border bg-surface overflow-hidden`,children:x.map(n=>(0,Y.jsx)(Hs,{session:n,projectName:e,projectTags:m,onSelect:t,onTogglePin:v,onTagChanged:y},n.id))})]}),C.length>0&&(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2 w-full mt-4`,children:[(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Recent chats`}),(0,Y.jsx)(`div`,{className:`w-full rounded-md border border-border bg-surface overflow-hidden`,children:C.map(n=>(0,Y.jsx)(Hs,{session:n,projectName:e,projectTags:m,onSelect:t,onTogglePin:v,onTagChanged:y},n.id))}),w&&(0,Y.jsxs)(`button`,{onClick:()=>c(!s),className:`flex items-center justify-center gap-1 text-[11px] text-text-subtle hover:text-text-primary transition-colors py-1`,children:[s?(0,Y.jsx)(Ue,{className:`size-3`}):(0,Y.jsx)(qe,{className:`size-3`}),s?`Show less`:`Show more (${S.length-zs})`]})]})]})}function Hs({session:e,projectName:t,projectTags:n,onSelect:r,onTogglePin:i,onTagChanged:a}){let o=Cs(t=>t.notifications.get(e.id));return(0,Y.jsx)(Ds,{session:e,projectName:t,projectTags:n,onTogglePin:i,onTagChanged:a,children:(0,Y.jsxs)(`button`,{onClick:()=>r(e),className:U(`group flex items-center gap-2.5 w-full px-3 py-2.5 text-left hover:bg-surface-elevated active:bg-surface-elevated transition-colors border-b border-border/50 last:border-0`,o&&Ss(o.type)),children:[(0,Y.jsx)(Is,{providerId:e.providerId}),e.tag&&(0,Y.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.tag.color},title:e.tag.name}),(0,Y.jsx)(`span`,{className:U(`flex-1 min-w-0 text-xs truncate`,o?`font-semibold text-foreground`:`font-medium text-text-primary`),children:e.title||`Untitled`}),e.updatedAt&&(0,Y.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0`,children:ms(e.updatedAt)}),(0,Y.jsx)(`span`,{role:`button`,tabIndex:0,onClick:t=>i(t,e),className:`p-1 rounded transition-colors shrink-0 ${e.pinned?`text-primary hover:text-primary/70`:`text-text-subtle can-hover:opacity-0 can-hover:group-hover:opacity-100 hover:text-text-primary`}`,"aria-label":e.pinned?`Unpin session`:`Pin session`,children:e.pinned?(0,Y.jsx)(ht,{className:`size-3`}):(0,Y.jsx)(dt,{className:`size-3`})})]})})}function Us(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var Ws=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return Ws(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return Ws(t)(e)}}}},Gs=(e,t)=>(n,r,i)=>{let a={storage:Us(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return Ws(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(m,void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},Ks=5e5,qs=Gn()(Gs(e=>({selection:null,setSelection:t=>e({selection:t}),clearSelection:()=>e({selection:null})}),{name:`ppm:compare-selection`,partialize:e=>{if(!e.selection)return{selection:null};let t=e.selection;if(t.dirtyContent&&t.dirtyContent.length>Ks){let{dirtyContent:e,...n}=t;return{selection:n}}return{selection:t}}})),Js=null;G.subscribe(e=>{let t=e.activeProject?.name??null;Js!==null&&Js!==t&&qs.getState().clearSelection(),Js=t});async function Ys(e,t,n){let r=`${qn(e.path)} ↔ ${qn(t.path)}`,i=e.dirtyContent!==void 0,a=t.dirtyContent!==void 0,o;if(i||a){let[r,i]=await Promise.all([Xs(e,n),Xs(t,n)]);o={projectName:n,original:r,modified:i,file1:e.path,file2:t.path}}else o={projectName:n,file1:e.path,file2:t.path};return K.getState().openTab({type:`git-diff`,title:r,projectId:n,metadata:o,closable:!0})}async function Xs(e,t){if(e.dirtyContent!==void 0)return e.dirtyContent;try{let{content:n}=await z.get(`${R(t)}/files/read?path=${encodeURIComponent(e.path)}`);return n}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Failed to read "${e.path}": ${n}`)}}var Zs=`application/ppm-tab`,Qs=!1,$s=new Set;function ec(e){Qs!==e&&(Qs=e,$s.forEach(e=>e()))}function tc(){return(0,J.useSyncExternalStore)(e=>($s.add(e),()=>$s.delete(e)),()=>Qs)}function nc(){ec(!1)}function rc(e){let[t,n]=(0,J.useState)(null),r=(0,J.useRef)(null);return{dropIndex:t,handleDragStart:(0,J.useCallback)((t,n)=>{let r={tabId:n,panelId:e};t.dataTransfer.setData(Zs,JSON.stringify(r)),t.dataTransfer.effectAllowed=`move`,requestAnimationFrame(()=>ec(!0))},[e]),handleDragOver:(0,J.useCallback)((e,t,i)=>{if(!e.dataTransfer.types.includes(`application/ppm-tab`)||(e.preventDefault(),e.dataTransfer.dropEffect=`move`,r.current===t))return;r.current=t;let a=e.currentTarget.getBoundingClientRect(),o=a.left+a.width/2;n(e.clientX<o?i:i+1)},[]),handleDragOverBar:(0,J.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`)},[]),handleDrop:(0,J.useCallback)(i=>{i.preventDefault(),ec(!1);let a=i.dataTransfer.getData(Zs);if(a){try{let n=JSON.parse(a),r=W.getState();n.panelId===e?t!==null&&r.reorderTab(n.tabId,e,t):r.moveTab(n.tabId,n.panelId,e,t??void 0)}catch{}n(null),r.current=null}},[e,t]),handleDragEnd:(0,J.useCallback)(()=>{ec(!1),n(null),r.current=null},[])}}var ic=null,ac=null,oc=0,sc=new Set;function cc(){sc.forEach(e=>e())}function lc(){return(0,J.useSyncExternalStore)(e=>(sc.add(e),()=>sc.delete(e)),()=>ac)}function uc(){return Date.now()-oc<300}var dc=null;function fc(e,t,n){let r=document.createElement(`div`);r.id=`touch-drag-ghost`,Object.assign(r.style,{position:`fixed`,zIndex:`9999`,pointerEvents:`none`,padding:`6px 14px`,borderRadius:`8px`,background:`rgba(30,30,30,0.92)`,color:`#fff`,fontSize:`12px`,whiteSpace:`nowrap`,opacity:`0.95`,boxShadow:`0 4px 16px rgba(0,0,0,0.35)`,transform:`translate(-50%, -130%)`,left:`${t}px`,top:`${n}px`}),r.textContent=e,document.body.appendChild(r),dc=r}function pc(e,t){dc&&(dc.style.left=`${e}px`,dc.style.top=`${t}px`)}function mc(){dc?.remove(),dc=null}function hc(e,t){dc&&(dc.style.display=`none`);let n=document.elementFromPoint(e,t);dc&&(dc.style.display=``);let r=n?.closest(`[data-panel-drop-zone]`);if(!r)return null;let i=r.dataset.panelDropZone,a=r.getBoundingClientRect(),o=(e-a.left)/a.width,s=(t-a.top)/a.height,c=.25,{grid:l}=W.getState(),u=window.innerWidth<768,d=rr(l,i),f=d?!u&&(l[d.row]?.length??0)<or(!1):!1,p=!u&&l.length<3,m=`center`;return o<c&&f?m=`left`:o>1-c&&f?m=`right`:s<c&&p?m=`top`:s>1-c&&p&&(m=`bottom`),{panelId:i,zone:m}}function gc(e){if(!ic)return;e.preventDefault();let t=e.touches[0];if(!t)return;pc(t.clientX,t.clientY);let n=hc(t.clientX,t.clientY);(n?.panelId!==ac?.panelId||n?.zone!==ac?.zone)&&(ac=n,cc())}function _c(){ic=null,ac=null,cc(),mc(),nc(),document.removeEventListener(`touchmove`,gc),document.removeEventListener(`touchend`,vc),document.removeEventListener(`touchcancel`,yc)}function vc(){let e=ic,t=ac;if(_c(),oc=Date.now(),!e||!t)return;let n=W.getState();if(t.zone===`center`)e.panelId!==t.panelId&&n.moveTab(e.tabId,e.panelId,t.panelId);else{let r=t.zone===`top`?`up`:t.zone===`bottom`?`down`:t.zone;n.splitPanel(r,e.tabId,e.panelId,t.panelId)}}function yc(){_c(),oc=Date.now()}function bc(e,t,n,r){ic=e,ec(!0),fc(t,n,r),document.addEventListener(`touchmove`,gc,{passive:!1}),document.addEventListener(`touchend`,vc),document.addEventListener(`touchcancel`,yc)}var xc=200,Sc=10;function Cc(e){let t=(0,J.useRef)(null),n=(0,J.useRef)(null),r=(0,J.useRef)(!1),i=(0,J.useCallback)((i,a,o)=>{let s=i.touches[0];s&&(n.current={x:s.clientX,y:s.clientY},r.current=!1,t.current=setTimeout(()=>{r.current=!0,bc({tabId:a,panelId:e},o,n.current.x,n.current.y)},xc))},[e]),a=(0,J.useCallback)(e=>{if(r.current||!n.current||!t.current)return;let i=e.touches[0];i&&(Math.abs(i.clientX-n.current.x)>Sc||Math.abs(i.clientY-n.current.y)>Sc)&&(clearTimeout(t.current),t.current=null)},[]),o=(0,J.useCallback)(()=>{t.current&&=(clearTimeout(t.current),null)},[]),s=(0,J.useCallback)(()=>{t.current&&=(clearTimeout(t.current),null),n.current=null},[]);return(0,J.useEffect)(()=>()=>{t.current&&clearTimeout(t.current)},[]),{handleTouchStart:i,handleTouchMove:a,handleTouchEnd:o,handleTouchCancel:s}}var wc=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),Tc=[{id:`command-palette`,label:`Command Palette`,category:`general`,defaultKey:`F1`,note:`Shift+Shift also opens (not customizable)`},{id:`toggle-sidebar`,label:`Toggle Sidebar`,category:`general`,defaultKey:`Mod+B`},{id:`toggle-dock`,label:`Toggle Terminal Panel`,category:`general`,defaultKey:`Mod+'`,note:`Opens/closes the terminal panel; auto-opens a terminal when empty. Fires even when a terminal is focused.`},{id:`save-prevent`,label:`Prevent Save Dialog`,category:`general`,defaultKey:`Mod+S`,locked:!0,note:`Always active — prevents browser save`},{id:`next-tab`,label:`Next Tab`,category:`tabs`,defaultKey:`Alt+]`},{id:`prev-tab`,label:`Previous Tab`,category:`tabs`,defaultKey:`Alt+[`},{id:`new-file`,label:`New File`,category:`tabs`,defaultKey:`Mod+N`},{id:`open-chat`,label:`Open Chat`,category:`tabs`,defaultKey:`Mod+L`},{id:`open-terminal`,label:`Open Terminal Tab`,category:`tabs`,defaultKey:``,note:`No default shortcut — Mod+' now toggles the terminal panel; still available via the command palette`},{id:`open-settings`,label:`Open Settings`,category:`tabs`,defaultKey:`Mod+,`},{id:`open-git-status`,label:`Git Status (sidebar)`,category:`tabs`,defaultKey:`Mod+Shift+E`},{id:`open-search`,label:`Search Files (sidebar)`,category:`tabs`,defaultKey:`Mod+Shift+F`},{id:`open-problems`,label:`Problems`,category:`tabs`,defaultKey:`Mod+Shift+M`,note:`Errors and warnings across the open files, in the panel — VS Code's shortcut`},{id:`voice-input`,label:`Voice Input`,category:`general`,defaultKey:`Mod+Shift+V`,note:`Toggle speech-to-text in chat`},{id:`chat-nav-prev`,label:`Previous Chat Message`,category:`general`,defaultKey:`Alt+ArrowUp`,note:`Jump to your previous message in the visible chat transcript`},{id:`chat-nav-next`,label:`Next Chat Message`,category:`general`,defaultKey:`Alt+ArrowDown`,note:`Jump to your next message in the visible chat transcript`},{id:`compare-files`,label:`Compare Files...`,category:`general`,defaultKey:`Mod+Alt+D`,note:`Open file-compare picker (seeds active file as A)`},...Array.from({length:9},(e,t)=>({id:`switch-project-${t+1}`,label:`Switch to Project ${t+1}`,category:`projects`,defaultKey:`Mod+${t+1}`}))],Ec=new Map(Tc.map(e=>[e.id,e.defaultKey]));function Dc(e){let t=e.split(`+`),n={ctrl:!1,meta:!1,alt:!1,shift:!1,key:``};for(let e of t){let t=e.trim();switch(t){case`Mod`:wc?n.meta=!0:n.ctrl=!0;break;case`Ctrl`:n.ctrl=!0;break;case`Meta`:case`Cmd`:n.meta=!0;break;case`Alt`:n.alt=!0;break;case`Shift`:n.shift=!0;break;default:n.key=t.toLowerCase();break}}return n}function Oc(e,t){return e.ctrlKey!==t.ctrl||e.metaKey!==t.meta||e.altKey!==t.alt||e.shiftKey!==t.shift?!1:e.key.toLowerCase()===t.key}function kc(e){return e.replace(/Mod/g,wc?`⌘`:`Ctrl`).replace(/Shift/g,wc?`⇧`:`Shift`).replace(/Alt/g,wc?`⌥`:`Alt`).replace(/Meta|Cmd/g,`⌘`).replace(/Ctrl/g,wc?`⌃`:`Ctrl`)}function Ac(e){if([`Control`,`Meta`,`Alt`,`Shift`].includes(e.key))return null;let t=[];e.ctrlKey&&!e.metaKey&&t.push(wc?`Ctrl`:`Mod`),e.metaKey&&t.push(wc?`Mod`:`Meta`),e.altKey&&t.push(`Alt`),e.shiftKey&&t.push(`Shift`);let n=e.key;return n===` `?n=`Space`:n.length===1&&(n=n.toUpperCase()),t.push(n),t.join(`+`)}function jc(e){let t=new Map;for(let n of Tc){let r=e[n.id]??n.defaultKey;r&&t.set(n.id,Dc(r))}return t}var Mc=jc({}),Nc=Gn((e,t)=>({overrides:{},parsedCache:Mc,loaded:!1,getBinding:e=>t().overrides[e]??Ec.get(e)??``,matchesEvent:(e,n)=>{let r=t().parsedCache.get(n);return r?Oc(e,r):!1},setBinding:(n,r)=>{let i={...t().overrides,[n]:r};e({overrides:i,parsedCache:jc(i)}),z.put(`/api/settings/keybindings`,{[n]:r}).catch(()=>{})},resetBinding:n=>{let r={...t().overrides};delete r[n],e({overrides:r,parsedCache:jc(r)}),z.put(`/api/settings/keybindings`,{[n]:null}).catch(()=>{})},resetAll:()=>{let n={};for(let e of Object.keys(t().overrides))n[e]=null;e({overrides:{},parsedCache:jc({})}),Object.keys(n).length>0&&z.put(`/api/settings/keybindings`,n).catch(()=>{})},loadFromServer:async()=>{try{let t=await z.get(`/api/settings/keybindings`);e({overrides:t,parsedCache:jc(t),loaded:!0})}catch{e({loaded:!0})}}})),Pc=Gn((e,t)=>({statusBarItems:[],addStatusBarItem:t=>e(e=>({statusBarItems:[...e.statusBarItems.filter(e=>e.id!==t.id),t]})),removeStatusBarItem:t=>e(e=>({statusBarItems:e.statusBarItems.filter(e=>e.id!==t)})),updateStatusBarItem:(t,n)=>e(e=>({statusBarItems:e.statusBarItems.map(e=>e.id===t?{...e,...n}:e)})),treeViews:{},updateTree:(t,n)=>e(e=>({treeViews:{...e.treeViews,[t]:n}})),updateTreeChildren:(t,n,r)=>e(e=>{let i=e.treeViews[t];if(!i)return e;let a=e=>e.map(e=>e.id===n?{...e,children:r,collapsibleState:`expanded`}:e.children?{...e,children:a(e.children)}:e);return{treeViews:{...e.treeViews,[t]:a(i)}}}),removeTree:t=>e(e=>{let{[t]:n,...r}=e.treeViews;return{treeViews:r}}),webviewPanels:{},addWebviewPanel:t=>e(e=>({webviewPanels:{...e.webviewPanels,[t.id]:t}})),removeWebviewPanel:t=>e(e=>{let{[t]:n,...r}=e.webviewPanels;return{webviewPanels:r}}),updateWebviewPanel:(t,n)=>e(e=>{let r=e.webviewPanels[t];return r?{webviewPanels:{...e.webviewPanels,[t]:{...r,...n}}}:e}),contributions:null,setContributions:t=>e({contributions:t}),activationErrors:{},setActivationErrors:t=>e({activationErrors:t}),quickPick:null,showQuickPick:(n,r={})=>{let i=t().quickPick;return i&&i.resolve(void 0),new Promise(t=>{e({quickPick:{items:n,options:r,resolve:t}})})},resolveQuickPick:n=>{let r=t().quickPick;r&&(r.resolve(n),e({quickPick:null}))},inputBox:null,showInputBox:(n={})=>{let r=t().inputBox;return r&&r.resolve(void 0),new Promise(t=>{e({inputBox:{options:n,resolve:t}})})},resolveInputBox:n=>{let r=t().inputBox;r&&(r.resolve(n),e({inputBox:null}))},clearExtension:t=>e(e=>{let n={...e.webviewPanels};for(let[e,r]of Object.entries(n))r.extensionId===t&&delete n[e];return{statusBarItems:e.statusBarItems.filter(e=>e.extensionId!==t),webviewPanels:n}})}));function Fc(e,t,n){return e?{kind:`tab`,tab:{type:`settings`,title:`Settings`,projectId:null,closable:!0,...n&&{metadata:{category:n}}}}:t?{kind:`focus`,id:t,...n&&{category:n}}:{kind:`window`,...n&&{category:n}}}function Ic(e){let t=pr.getState(),n=Object.values(t.windows).find(e=>e.kind===`settings`),r=Fc(Lr(),n?.id??null,e);if(r.kind===`tab`){K.getState().openTab(r.tab);return}if(r.kind===`focus`){r.category&&t.setPayload(r.id,{category:r.category}),t.focus(r.id);return}t.open(`settings`,r.category?{category:r.category}:void 0)}async function Lc(e){let t=G.getState().activeProject,n=[];t?.path&&n.push(Wr(e)?await Kr(t.name,t.path):t.path),window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:n}}))}function Rc(e){window.dispatchEvent(new CustomEvent(`open-command-palette`,{detail:e}))}function zc(){let[e,t]=(0,J.useState)(!1),[n,r]=(0,J.useState)(``);return(0,J.useEffect)(()=>{let e=0,n=!1,{matchesEvent:i}=Nc.getState(),a=new Map,o=!1;function s(){o=!0}function c(){o=!1}function l(e,t){let n=t(e,`chat-nav-prev`)?`prev`:t(e,`chat-nav-next`)?`next`:null;return n?(e.preventDefault(),window.dispatchEvent(new CustomEvent(`chat-nav-${n}`)),!0):!1}function u(i){if(i.type===`keydown`&&i.key===`Shift`){n=!0;return}if(i.type===`keydown`&&i.shiftKey&&(n=!1),i.type===`keydown`&&i.key!==`Shift`&&(e=0),i.type===`keyup`&&i.key===`Shift`&&n&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&!o&&!i.isComposing){let n=Date.now();if(n-e<400){e=0,r(``),t(!0);return}e=n;return}if(i.type!==`keydown`||o||i.isComposing)return;let s=i.target?.tagName;if(s===`TEXTAREA`||s===`INPUT`||i.target?.isContentEditable){let{matchesEvent:e}=Nc.getState();e(i,`save-prevent`)&&i.preventDefault(),e(i,`toggle-dock`)&&(i.preventDefault(),W.getState().toggleDock()),l(i,e);return}let{matchesEvent:c}=Nc.getState();if(c(i,`save-prevent`)){i.preventDefault();return}if(c(i,`command-palette`)){i.preventDefault(),r(``),t(!0);return}if(c(i,`toggle-sidebar`)){i.preventDefault(),V.getState().toggleSidebar();return}if(c(i,`toggle-dock`)){i.preventDefault(),W.getState().toggleDock();return}if(c(i,`next-tab`)||c(i,`prev-tab`)){i.preventDefault();let{tabs:e,activeTabId:t,setActiveTab:n}=K.getState();if(e.length<2)return;let r=e.findIndex(e=>e.id===t);n(e[c(i,`next-tab`)?(r+1)%e.length:(r-1+e.length)%e.length].id);return}if(c(i,`new-file`)){i.preventDefault(),K.getState().openNewFile();return}for(let e of[{action:`open-chat`,type:`chat`,title:`AI Chat`},{action:`open-terminal`,type:`terminal`,title:`Terminal`}])if(c(i,e.action)){i.preventDefault();let t=G.getState().activeProject;K.getState().openTab({type:e.type,title:e.title,projectId:t?.name??null,metadata:t?{projectName:t.name}:void 0,closable:!0});return}if(c(i,`open-settings`)){i.preventDefault(),Ic();return}if(c(i,`open-git-status`)){i.preventDefault();let e=V.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`git`);return}if(c(i,`voice-input`)){i.preventDefault(),window.dispatchEvent(new CustomEvent(`toggle-voice-input`));return}if(l(i,c))return;if(c(i,`compare-files`)){i.preventDefault();let{activeTabId:e,tabs:t}=K.getState(),n=t.find(t=>t.id===e),r=n?.metadata;n?.type===`editor`&&r?.filePath&&r?.projectName&&qs.getState().setSelection({filePath:r.filePath,projectName:r.projectName,dirtyContent:r.unsavedContent,label:qn(r.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`));return}if(c(i,`open-search`)){i.preventDefault();let e=V.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`search`);return}if(c(i,`open-problems`)){i.preventDefault(),W.getState().openInDock({type:`problems`,title:`Problems`,projectId:null,closable:!0});return}for(let e=1;e<=9;e++)if(c(i,`switch-project-${e}`)){i.preventDefault();let t=G.getState().projects[e-1];t&&(G.getState().setActiveProject(t),K.getState().switchProject(t.name));return}let u=Pc.getState().contributions?.keybindings;if(u){let e=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),{getBinding:t}=Nc.getState();for(let n of u){let r=t(`ext:${n.command}`)||(e&&n.mac?n.mac:n.key);if(!r)continue;let o=a.get(r);if(o||(o=Dc(r),a.set(r,o)),Oc(i,o)){i.preventDefault(),Lc(n.command);return}}}}function d(e){let n=e.detail;r(typeof n==`string`?n:``),t(!0)}return window.addEventListener(`keydown`,u),window.addEventListener(`keyup`,u),window.addEventListener(`compositionstart`,s),window.addEventListener(`compositionend`,c),window.addEventListener(`open-command-palette`,d),()=>{window.removeEventListener(`keydown`,u),window.removeEventListener(`keyup`,u),window.removeEventListener(`compositionstart`,s),window.removeEventListener(`compositionend`,c),window.removeEventListener(`open-command-palette`,d)}},[]),{paletteOpen:e,paletteInitialQuery:n,closePalette:(0,J.useCallback)(()=>{t(!1),r(``)},[])}}function Bc(e){let[t,n]=(0,J.useState)(!1),[r,i]=(0,J.useState)(!1),a=(0,J.useCallback)(()=>{let t=e.current;t&&(n(t.scrollLeft>1),i(t.scrollLeft+t.clientWidth<t.scrollWidth-1))},[e]);return(0,J.useEffect)(()=>{let t=e.current;if(!t)return;a(),t.addEventListener(`scroll`,a,{passive:!0});let n=new ResizeObserver(a);n.observe(t);let r=new MutationObserver(a);return r.observe(t,{childList:!0,subtree:!0}),()=>{t.removeEventListener(`scroll`,a),n.disconnect(),r.disconnect()}},[e,a]),{canScrollLeft:t,canScrollRight:r,scrollLeft:(0,J.useCallback)(()=>{e.current?.scrollBy({left:-150,behavior:`smooth`})},[e]),scrollRight:(0,J.useCallback)(()=>{e.current?.scrollBy({left:150,behavior:`smooth`})},[e])}}var Vc={done:0,question:1,approval_request:2};function Hc(e,t,n,r){if(!e)return{left:null,right:null};let i=e.scrollLeft,a=i+e.clientWidth,o=null,s=-1,c=null,l=-1,u=e.getBoundingClientRect();for(let d of n){if(d.type!==`chat`)continue;let n=d.metadata?.sessionId,f=n?r.get(n):void 0;if(!f||f.count===0)continue;let p=t.get(d.id);if(!p)continue;let m=p.getBoundingClientRect(),h=m.left-u.left+e.scrollLeft,g=h+m.width,_=Vc[f.type]??0;g<=i&&_>s&&(s=_,o=f.type),h>=a&&_>l&&(l=_,c=f.type)}return{left:o,right:c}}var Uc={default:{base:`group flex items-center gap-1 px-3 h-[41px] whitespace-nowrap text-xs transition-colors border-t-2 [border-right:1px_solid_var(--border-soft)] cursor-grab active:cursor-grabbing`,active:`border-t-primary bg-panel-2 text-primary`,inactive:`border-t-transparent text-text-secondary hover:text-foreground hover:bg-panel/60`,row:`flex items-center`,add:`flex items-center justify-center h-[41px] w-10 shrink-0 sticky right-0 border-t-2 border-transparent text-text-secondary hover:text-foreground transition-colors`},boxed:{base:`group flex items-center gap-1.5 px-2.5 h-8 rounded-md whitespace-nowrap text-xs transition-colors border cursor-grab active:cursor-grabbing`,active:`border-primary bg-primary/10 text-primary`,inactive:`border-border text-text-secondary hover:border-text-subtle hover:text-foreground`,row:`flex items-center gap-1.5 px-2 py-1.5`,add:`flex items-center justify-center size-8 shrink-0 sticky right-0 rounded-md text-text-secondary hover:text-foreground hover:bg-surface-elevated transition-colors`},pill:{base:`group flex items-center gap-1.5 px-3 h-8 rounded-lg whitespace-nowrap text-xs transition-colors border cursor-grab active:cursor-grabbing`,active:`border-border bg-surface-elevated text-foreground`,inactive:`border-transparent text-text-secondary hover:bg-surface hover:text-foreground`,row:`flex items-center gap-1 px-2 py-1.5`,add:`flex items-center justify-center size-8 shrink-0 sticky right-0 rounded-lg text-text-secondary hover:text-foreground hover:bg-surface-elevated transition-colors`}};function Wc(e,t,n){let r=Uc[e];return U(r.base,n?`border-t-transparent`:t?r.active:r.inactive)}function Gc(e,t){let n=e===`default`?` [background:repeating-linear-gradient(to_bottom,transparent_0,transparent_40px,var(--border-soft)_40px,var(--border-soft)_41px)]`:``;return U(Uc[e].row,t?`flex-wrap min-h-[41px]`+n:`h-[41px]`)}function Kc(e){return Uc[e].add}function qc(e){let t=/^#([0-9a-fA-F]{6})$/.exec(e.trim());if(!t)return null;let n=parseInt(t[1],16);return{r:n>>16&255,g:n>>8&255,b:n&255}}function Jc(e){let t=e.trim();if(t.startsWith(`#`)){let e=t.slice(1),n=e.length===3?e.split(``).map(e=>e+e).join(``):e;return/^[0-9a-fA-F]{6,8}$/.test(n)?{r:parseInt(n.slice(0,2),16),g:parseInt(n.slice(2,4),16),b:parseInt(n.slice(4,6),16),a:n.length===8?parseInt(n.slice(6,8),16)/255:1}:null}let n=/^rgba?\(([^)]+)\)$/.exec(t);if(!n)return null;let r=n[1].split(/[,\s/]+/).filter(Boolean).map(Number);return r.length<3||r.slice(0,4).some(e=>Number.isNaN(e))?null:{r:r[0],g:r[1],b:r[2],a:r[3]??1}}function Yc(e,t){let n=Jc(e),r=Jc(t);if(!n||!r||n.a>=1)return e;let i=(e,t)=>Math.round(e*n.a+t*(1-n.a));return`rgb(${i(n.r,r.r)}, ${i(n.g,r.g)}, ${i(n.b,r.b)})`}function Xc(e,t,n){let[r,i,a]=[e,t,n].map(e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a}function Zc(e){let t=qc(e);return t?Xc(t.r,t.g,t.b)<.4:!1}function Qc({tab:e,isActive:t,icon:n,showDropBefore:r,notificationType:i,notificationManual:a,isStreaming:o,onSelect:s,onClose:c,onDragStart:l,onDragOver:u,onDragEnd:d,onTouchStart:f,onTouchMove:p,onTouchEnd:m,onTouchCancel:h,tabRef:g,onRename:_,onContextAction:v,tagColor:y,extraMenuContent:b}){let[x,S]=(0,J.useState)(!1),[C,w]=(0,J.useState)(e.title),T=(0,J.useRef)(null),E=V(e=>e.editorTabStyle);(0,J.useEffect)(()=>{x&&(w(e.title),setTimeout(()=>T.current?.select(),0))},[x]);let D=()=>{S(!1);let t=C.trim();t&&t!==e.title&&_&&_(t)},O=e.metadata?.connectionColor,k=O?{backgroundColor:t?O:`${O}33`,color:t&&Zc(O)?`#fff`:void 0}:void 0,A=e.type===`editor`,j=(0,Y.jsxs)(`button`,{ref:g,"data-tab-item":!0,"data-tab-id":e.id,draggable:!x,onClick:s,onAuxClick:t=>{t.button===1&&e.closable&&(t.preventDefault(),c())},onDragStart:l,onDragOver:u,onDragEnd:d,onTouchStart:f,onTouchMove:p,onTouchEnd:m,onTouchCancel:h,style:k,className:Wc(E,t,!!k),children:[(0,Y.jsxs)(`span`,{className:U(`relative`,o&&`text-warning`),children:[o?(0,Y.jsx)(Ct,{className:`size-4`}):(0,Y.jsx)(n,{className:`size-4`}),o?(0,Y.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,Y.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,Y.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,Y.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):i&&(!t||a)?(0,Y.jsx)(`span`,{className:U(`absolute -top-1 -right-1 size-2 rounded-full`,bs(i))}):null]}),x?(0,Y.jsx)(`input`,{ref:T,value:C,onChange:e=>w(e.target.value),onBlur:D,onKeyDown:e=>{e.key===`Enter`&&D(),e.key===`Escape`&&S(!1),e.stopPropagation()},onClick:e=>e.stopPropagation(),className:`max-w-[120px] bg-surface-elevated text-xs px-1 py-0.5 rounded border border-border outline-none focus:border-primary`,autoFocus:!0}):(0,Y.jsx)(`span`,{className:`max-w-[120px] truncate`,title:e.title,onDoubleClick:e=>{_&&(e.stopPropagation(),S(!0))},children:e.title}),e.closable&&!x&&(0,Y.jsx)(`span`,{role:`button`,tabIndex:0,onClick:e=>{e.stopPropagation(),c()},onKeyDown:e=>{e.key===`Enter`&&(e.stopPropagation(),c())},className:`ml-1 can-hover:opacity-0 can-hover:group-hover:opacity-100 rounded-sm hover:bg-surface-elevated p-0.5 transition-opacity`,children:(0,Y.jsx)(he,{className:`size-3`})})]});return(0,Y.jsxs)(`div`,{className:`relative flex items-center`,children:[r&&(0,Y.jsx)(`div`,{className:`absolute left-0 top-1 bottom-1 w-0.5 bg-primary rounded-full z-10`}),y&&(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-[3px] rounded-r-full pointer-events-none`,style:{backgroundColor:y}}),v?(0,Y.jsxs)(Tr,{children:[(0,Y.jsx)(Er,{asChild:!0,children:j}),(0,Y.jsxs)(xr,{children:[A&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Cr,{onClick:()=>v(`copy-path`),children:`Copy Path`}),(0,Y.jsx)(Cr,{onClick:()=>v(`copy-full-path`),children:`Copy Full Path`}),(0,Y.jsxs)(Cr,{onClick:()=>v(`download`),children:[(0,Y.jsx)(wn,{className:`size-3.5 mr-2`}),`Download`]}),(0,Y.jsx)(Sr,{}),(0,Y.jsx)(Cr,{onClick:()=>v(`rename`),children:`Rename`}),(0,Y.jsx)(Cr,{variant:`destructive`,onClick:()=>v(`delete`),children:`Delete`}),(0,Y.jsx)(Sr,{})]}),b,e.closable&&(0,Y.jsx)(Cr,{onClick:()=>v(`close`),children:`Close`}),(0,Y.jsx)(Cr,{onClick:()=>v(`close-others`),children:`Close Others`}),(0,Y.jsx)(Cr,{onClick:()=>v(`close-right`),children:`Close to the Right`})]})]}):j]})}var $c=[`.xterm-helper-textarea`,`.native-edit-context`,`textarea`,`[contenteditable]`,`button, [href], input, select, [tabindex]:not([tabindex="-1"])`];function el(e){return typeof e.checkVisibility==`function`?e.checkVisibility():e.offsetParent!==null&&e.offsetParent!==void 0}function tl(e){for(let t of $c)for(let n of e(t))if(el(n))return n;return null}function nl(e){tl(t=>e.querySelectorAll(t))?.focus()}function rl(){return typeof window<`u`&&`documentPictureInPicture`in window}function il(){return rl()?window.documentPictureInPicture??null:null}var al={width:1920,height:1080};function ol(e,t,n){return Number.isFinite(e)?Math.round(Math.min(Math.max(e,t),Math.max(t,n))):t}function sl(){if(typeof window>`u`||!window.screen)return al;let{availWidth:e,availHeight:t}=window.screen;return{width:Number.isFinite(e)&&e>0?e:al.width,height:Number.isFinite(t)&&t>0?t:al.height}}function cl(e,t=sl()){return{width:ol(e.width,320,t.width),height:ol(e.height,240,t.height)}}var ll=`style, link[rel="stylesheet"]`,ul=`html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}
11
11
  body>*{position:relative;width:100%;height:100%}`;function dl(e){return Array.from(e.querySelectorAll(ll))}function fl(e,t){let n=e.sheet;try{let e=n?.cssRules;if(e&&e.length>0){let n=t.createElement(`style`);n.textContent=Array.from(e,e=>e.cssText).join(`
12
- `),t.head.append(n);return}}catch{}t.head.append(e.cloneNode(!0))}function pl(e,t){try{t.adoptedStyleSheets=[...e.adoptedStyleSheets]}catch{}for(let n of dl(e))fl(n,t);let n=t.createElement(`style`);n.textContent=ul,t.head.append(n)}function ml(e,t){t.documentElement.className=e.documentElement.className,t.documentElement.style.cssText=e.documentElement.style.cssText,t.body.className=e.body.className,t.body.style.cssText=e.body.style.cssText}function hl(e,t){ml(e,t);let n=e.defaultView;if(!n)return()=>{};let r=()=>ml(e,t);return n.addEventListener(oi,r),()=>n.removeEventListener(oi,r)}function gl(e,t){if(typeof MutationObserver>`u`)return()=>{};let n=new MutationObserver(e=>{for(let n of e)for(let e of n.addedNodes)e instanceof Element&&e.matches(ll)&&t.head.append(e.cloneNode(!0))});return n.observe(e.head,{childList:!0}),()=>n.disconnect()}var _l=[`input`,`textarea`,`select`,`[contenteditable]`,`.native-edit-context`,`.monaco-editor`,`.xterm-helper-textarea`].join(`, `);function vl(e){let t=e;return!t||typeof t.closest!=`function`?!1:t.closest(_l)!==null}function yl(e,t){let n=e=>{let n=e;vl(n.target)||t.dispatchEvent(new KeyboardEvent(n.type,n))};return e.addEventListener(`keydown`,n),e.addEventListener(`keyup`,n),()=>{e.removeEventListener(`keydown`,n),e.removeEventListener(`keyup`,n)}}var bl=`ppm:host-resize`;function xl(e){if(e)for(let t of e.querySelectorAll(`[data-tab-pool-id]`))t.dispatchEvent(new CustomEvent(bl,{bubbles:!1}))}function Sl(e,t){let n=e?.closest(`[data-tab-pool-id]`);return n?(n.addEventListener(bl,t),()=>n.removeEventListener(bl,t)):()=>{}}var Cl=null;function wl(){return Cl}function Tl(e,t,n,r){let i=[],a=!1,o=()=>{if(!a){a=!0,Cl===s&&(Cl=null);for(let e of i)try{e()}catch{}t.isConnected&&(t.append(e),xl(e));try{n.close()}catch{}r.onDetach()}},s={detach:o,pipWindow:n};try{let t=n.document;pl(document,t),i.push(hl(document,t)),i.push(gl(document,t)),t.body.append(e),xl(e);let r=()=>xl(e);n.addEventListener(`resize`,r),i.push(()=>n.removeEventListener(`resize`,r)),n.addEventListener(`pagehide`,o),i.push(()=>n.removeEventListener(`pagehide`,o)),i.push(yl(n,window)),window.addEventListener(`pagehide`,o),window.addEventListener(`beforeunload`,o),i.push(()=>{window.removeEventListener(`pagehide`,o),window.removeEventListener(`beforeunload`,o)})}catch(e){throw o(),e}return s}async function El(e,t){let n=il();if(!n)throw Error(`Document Picture-in-Picture is not supported in this browser`);let r=e.parentElement;if(!r)throw Error(`attachPipHost: slot element must be in the document`);Cl?.detach();let i;try{i=await n.requestWindow(cl({width:t.width,height:t.height}))}catch(e){throw t.onDetach(),e}if(!e.isConnected||e.parentElement!==r){try{i.close()}catch{}return t.onDetach(),null}let a=Tl(e,r,i,t);return Cl=a,a}function Dl(e){hi(e),pr.getState().close(e)}async function Ol(e,t){let n=W.getState().popOutTab(e,t);if(!n)return`window-cap`;pi(n);let r=await ci(n);if(!r)return Dl(n),`cancelled`;let i=pr.getState().windows[n]?.rect,a;try{a=await El(r,{width:i?.w??0,height:i?i.h-36:0,onDetach:()=>{si(n,null),Dl(n)}})}catch(e){throw Dl(n),e}return a?(si(n,a),nl(a.pipWindow.document),`opened`):`cancelled`}function kl({tab:e,panelId:t}){return Ir()||er.has(e.type)?null:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Cr,{onClick:()=>{W.getState().popOutTab(e.id,t)||B.error(`Too many windows open — close one first`)},children:[(0,Y.jsx)(jt,{className:`size-3.5 mr-2`}),`Open in window`]}),rl()&&(0,Y.jsxs)(Cr,{onClick:()=>{Ol(e.id,t).then(e=>{e===`window-cap`&&B.error(`Too many windows open — close one first`)}).catch(()=>{B.error(`Could not open the picture-in-picture window`)})},children:[(0,Y.jsx)(ke,{className:`size-3.5 mr-2`}),`Open in picture-in-picture`]}),(0,Y.jsx)(Sr,{})]})}async function Al(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}return Pl(e)}function jl(){return typeof ClipboardItem<`u`&&!!navigator.clipboard?.write}async function Ml(e){if(!jl())return!1;try{let t=await fetch(e).then(e=>e.blob()),n=t.type===`image/png`?t:await Nl(t);return await navigator.clipboard.write([new ClipboardItem({"image/png":n})]),!0}catch{return!1}}async function Nl(e){let t=await createImageBitmap(e),n=document.createElement(`canvas`);return n.width=t.width,n.height=t.height,n.getContext(`2d`)?.drawImage(t,0,0),t.close(),new Promise((e,t)=>{n.toBlob(n=>n?e(n):t(Error(`canvas produced no blob`)),`image/png`)})}function Pl(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;top:0;left:0;width:1px;height:1px;padding:0;border:none;opacity:0;`,document.body.appendChild(t);let n=document.getSelection(),r=n&&n.rangeCount>0?n.getRangeAt(0):null;try{return t.focus(),t.select(),t.setSelectionRange(0,e.length),document.execCommand(`copy`)}catch{return!1}finally{t.remove(),n&&r&&(n.removeAllRanges(),n.addRange(r))}}function Fl({node:e,projectName:t,onClose:n,onRefresh:r}){let[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(null);async function c(){a(!0),s(null);try{await z.del(`${R(t)}/files/delete`,{path:e.path}),r(),n()}catch(e){s(e instanceof Error?e.message:`Failed to delete`)}finally{a(!1)}}return(0,Y.jsx)(Pi,{open:!0,onOpenChange:e=>!e&&n(),children:(0,Y.jsxs)(Ai,{children:[(0,Y.jsxs)(Oi,{children:[(0,Y.jsxs)(ji,{children:[`Delete `,e.type===`directory`?`Folder`:`File`]}),(0,Y.jsxs)(Mi,{children:[`Are you sure you want to delete`,` `,(0,Y.jsx)(`span`,{className:`font-mono font-semibold`,children:e.name}),`?`,e.type===`directory`&&` This will delete all contents.`]})]}),o&&(0,Y.jsx)(`p`,{className:`text-sm text-error`,children:o}),(0,Y.jsxs)(ki,{children:[(0,Y.jsx)(q,{variant:`outline`,onClick:n,disabled:i,children:`Cancel`}),(0,Y.jsx)(q,{variant:`destructive`,onClick:c,disabled:i,children:i?`Deleting...`:`Delete`})]})]})})}var Il={"git-branch":Ke,"git-commit":aa,"git-compare":ra,history:Ae,users:Ge,"list-ordered":Sn,refresh:tt,edit:me,trash:Mn,plus:_n,search:Jt,database:Dt,terminal:Fn,settings:pn,"file-code":zt,globe:$e};function Z(e){return e?Il[e]:void 0}function Ll(e,t){if(!(!e?.commands||!t))return Z(e.commands.find(e=>e.command===t||e.command.replace(/\.view$/,``)===t)?.icon)}var Rl={terminal:Fn,chat:kn,editor:zt,database:Dt,sqlite:Dt,postgres:Dt,"git-diff":ra,"branch-review":ra,settings:pn,extension:bt,"extension-webview":bt,"conflict-editor":ra,"system-monitor":pn,"git-log":aa,"ai-resource":hn,group:Ge,problems:ut};function zl(e){return Rl[e]??bt}var Bl=new Set([`editor`,`git-diff`,`conflict-editor`]);function Vl(e){if(Bl.has(e.type)){let t=e.metadata?.filePath||e.title;if(t)return Fi(t)}if(e.type===`chat`){let t=Ns[e.metadata?.providerId??`claude`];if(t)return t}if(e.type===`extension`||e.type===`extension-webview`){let t=Ll(Pc.getState().contributions,e.metadata?.viewType);if(t)return t}return zl(e.type)}var Hl=(0,J.memo)(function({panelId:e}){let t=G(e=>e.activeProject),n=(0,J.useRef)(new Map),r=(0,J.useRef)(null),i=(0,J.useRef)(0),a=W(t=>e?t.panels[e]:t.panels[t.focusedPanelId]),o=t?.name??null,s=Qn(a?.tabs??[],o),c=a?.activeTabId??null,l=a?.id??W.getState().focusedPanelId,{dropIndex:u,handleDragStart:d,handleDragOver:f,handleDragOverBar:p,handleDrop:m,handleDragEnd:h}=rc(l),{handleTouchStart:g,handleTouchMove:_,handleTouchEnd:v,handleTouchCancel:y}=Cc(l),{projectTags:b,loadTags:x}=gs(t?.name),[S,C]=(0,J.useState)({}),w=s.filter(e=>e.type===`chat`&&e.metadata?.sessionId).map(e=>e.metadata.sessionId);(0,J.useEffect)(()=>{!t?.name||w.length===0||z.get(`${R(t.name)}/chat/sessions?limit=50`).then(e=>{let t={};for(let n of e.sessions)n.tag&&(t[n.id]=n.tag);C(t)}).catch(()=>{})},[t?.name,w.join(`,`)]);let T=(0,J.useCallback)(async(e,n)=>{if(t?.name)try{if(n!==null){await z.patch(`${R(t.name)}/chat/sessions/${e}/tag`,{tagId:n});let r=b.find(e=>e.id===n);r&&C(t=>({...t,[e]:{id:r.id,name:r.name,color:r.color}}))}else await z.del(`${R(t.name)}/chat/sessions/${e}/tag`),C(t=>{let n={...t};return delete n[e],n});x()}catch{}},[t?.name,b,x]),E=Cs(e=>e.notifications),D=ri(e=>e.sessions),O=V(e=>e.tabWrap),k=V(e=>e.toggleTabWrap),A=V(e=>e.editorTabStyle),{canScrollLeft:j,canScrollRight:M,scrollLeft:ee,scrollRight:N}=Bc(r),P=Hc(r.current,n.current,s,E);(0,J.useEffect)(()=>{if(s.length>i.current&&c){let e=n.current.get(c);e&&e.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})}i.current=s.length},[s.length,c]);let F=(0,J.useCallback)((e,t)=>{K.getState().updateTab(e.id,{title:t});let n=e.metadata?.projectName,r=e.metadata?.sessionId;n&&r&&z.patch(`${R(n)}/chat/sessions/${r}`,{title:t}).catch(()=>{})},[]),te=qs(e=>e.selection),[ne,re]=(0,J.useState)(null);function ie(e){if(e.type!==`editor`)return null;let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return null;let r=te!=null&&te.projectName===n&&te.filePath!==t;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Cr,{onClick:()=>{let r=e.metadata?.unsavedContent;qs.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:qn(t)})},children:[(0,Y.jsx)(It,{className:`size-3.5 mr-2`}),`Select for Compare`]}),r&&(0,Y.jsxs)(Cr,{onClick:async()=>{let r=qs.getState().selection;if(!r)return;let i=e.metadata?.unsavedContent;try{await Ys({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),qs.getState().clearSelection()}catch(e){let t=e instanceof Error?e.message:`Compare failed`;B.error(t)}},children:[(0,Y.jsx)(It,{className:`size-3.5 mr-2`}),`Compare with Selected (`,te.label,`)`]}),(0,Y.jsx)(Sr,{})]})}function ae(e){if(e.type!==`terminal`)return null;let t=l===ar;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Cr,{onClick:()=>I(e,t?`move-to-editor`:`move-to-dock`),children:t?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Ee,{className:`size-3.5 mr-2`}),`Move to Editor`]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Qe,{className:`size-3.5 mr-2`}),`Move to Dock`]})}),(0,Y.jsx)(Sr,{})]})}let I=(0,J.useCallback)((e,t)=>{let n=W.getState(),r=n.panels[l]?.tabs??[];switch(t){case`close`:n.closeTab(e.id,l);break;case`move-to-dock`:n.redockTab(e.id,l);break;case`move-to-editor`:{let t=n.focusedPanelId===`__dock__`?n.grid.flat()[0]:n.focusedPanelId;t&&n.moveTab(e.id,ar,t);break}case`close-others`:for(let t of r)t.id!==e.id&&t.closable&&n.closeTab(t.id,l);break;case`close-right`:{let t=r.findIndex(t=>t.id===e.id);for(let e=t+1;e<r.length;e++)r[e].closable&&n.closeTab(r[e].id,l);break}case`copy-path`:{let t=e.metadata?.filePath;t&&Al(t);break}case`copy-full-path`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;if(t){let e=n?G.getState().projects.find(e=>e.name===n):null;Al(e?`${e.path}/${t}`:t)}break}case`download`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;t&&n&&xi(n,t);break}case`rename`:case`delete`:{let n=e.metadata?.filePath;n&&re({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}}},[l]);function oe(e){e.target.closest(`[data-tab-item]`)||Rc()}return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Tr,{children:[(0,Y.jsx)(Er,{asChild:!0,children:(0,Y.jsxs)(`div`,{className:U(`hidden md:flex items-center border-b border-border relative shrink-0`,O?`min-h-[41px] flex-wrap`:`h-[41px]`),onDragOver:p,onDrop:m,onDoubleClick:oe,children:[!O&&j&&(0,Y.jsx)(`button`,{onClick:ee,className:`absolute left-0 z-10 flex items-center justify-center size-8 bg-gradient-to-r from-background via-background to-transparent`,children:(0,Y.jsxs)(`span`,{className:`relative`,children:[(0,Y.jsx)(fe,{className:`size-4 text-text-secondary`}),P.left&&(0,Y.jsx)(`span`,{className:U(`absolute -top-1 -right-0.5 size-2 rounded-full`,bs(P.left))})]})}),(0,Y.jsx)(`div`,{ref:r,className:U(`flex-1 min-w-0 scrollbar-none`,O?`overflow-y-auto overflow-x-hidden`:`overflow-x-auto overflow-y-hidden`),children:(0,Y.jsxs)(`div`,{className:Gc(A,O),children:[s.map((e,t)=>{let r=e.type===`chat`?e.metadata?.sessionId:void 0,i=r?E.get(r):void 0,a=i&&i.count>0?i.type:null,o=!!i?.manual,s=r?D.has(r):!1;return(0,Y.jsx)(Qc,{tab:e,isActive:e.id===c,icon:Vl(e),showDropBefore:u===t,notificationType:a,notificationManual:o,isStreaming:s,onSelect:()=>{uc()||(W.getState().setActiveTab(e.id,l),r&&Cs.getState().clearForSession(r))},onClose:()=>W.getState().closeTab(e.id,l),onDragStart:t=>d(t,e.id),onDragOver:n=>f(n,e.id,t),onDragEnd:h,onTouchStart:t=>g(t,e.id,e.title),onTouchMove:_,onTouchEnd:v,onTouchCancel:y,tabRef:t=>{t?n.current.set(e.id,t):n.current.delete(e.id)},onRename:e.type===`chat`?t=>F(e,t):void 0,onContextAction:t=>I(e,t),tagColor:r?S[r]?.color:void 0,extraMenuContent:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(kl,{tab:e,panelId:l}),ae(e),ie(e),r&&!a&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Cr,{onClick:()=>{let t=e.metadata?.projectName;t&&Cs.getState().markUnread(r,t,e.title)},children:[(0,Y.jsx)(zn,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),(0,Y.jsx)(Sr,{})]}),r&&b.length>0&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(wr,{children:[(0,Y.jsxs)(br,{children:[(0,Y.jsx)(Rn,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,Y.jsxs)(vr,{children:[b.map(e=>(0,Y.jsxs)(Cr,{onClick:()=>T(r,e.id),children:[(0,Y.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:e.color}}),e.name,S[r]?.id===e.id&&(0,Y.jsx)(An,{className:`size-3 ml-auto`})]},e.id)),S[r]&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Sr,{}),(0,Y.jsx)(Cr,{onClick:()=>T(r,null),children:`Remove tag`})]})]})]}),(0,Y.jsx)(Sr,{})]})]})},e.id)}),u!==null&&u>=s.length&&(0,Y.jsx)(`div`,{className:`w-0.5 h-6 bg-primary rounded-full`}),(0,Y.jsx)(`button`,{onClick:()=>{if(l===`__dock__`){let e=G.getState().activeProject;W.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}else W.getState().setFocusedPanel(l,!1),Rc()},title:l===`__dock__`?`New terminal in dock`:`Open command palette (Shift+Shift)`,className:Kc(A),children:(0,Y.jsx)(_n,{className:`size-4`})})]})}),!O&&M&&(0,Y.jsx)(`button`,{onClick:N,className:`absolute right-10 z-10 flex items-center justify-center size-8 bg-gradient-to-l from-background via-background to-transparent`,children:(0,Y.jsxs)(`span`,{className:`relative`,children:[(0,Y.jsx)(Xt,{className:`size-4 text-text-secondary`}),P.right&&(0,Y.jsx)(`span`,{className:U(`absolute -top-1 -left-0.5 size-2 rounded-full`,bs(P.right))})]})})]})}),(0,Y.jsxs)(xr,{children:[(0,Y.jsx)(Cr,{onClick:k,children:O?`Scroll Tabs`:`Wrap Tabs`}),(0,Y.jsx)(Sr,{}),(0,Y.jsx)(Cr,{onClick:()=>Rc(),children:`Open Command Palette`})]})]}),ne&&(0,Y.jsx)(Fl,{node:ne.node,projectName:t?.name??``,onClose:()=>re(null),onRefresh:()=>{t&&Mr.getState().fetchTree(t.name),ne.action===`delete`&&W.getState().closeTab(ne.tabId,l)}})]})});function Ul({panelId:e}){let[t,n]=(0,J.useState)(null),r=tc(),i=lc(),a=(i?.panelId===e?i.zone:null)??t,o=W(e=>e.grid),s=W(e=>e.isMobile()),c=rr(o,e),l=!s&&o.length<3,u=c?!s&&(o[c.row]?.length??0)<or(!1):!1,d=(0,J.useCallback)(e=>{let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width,r=(e.clientY-t.top)/t.height,i=.25;return n<i&&u?`left`:n>1-i&&u?`right`:r<i&&l?`top`:r>1-i&&l?`bottom`:`center`},[u,l]),f=(0,J.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.stopPropagation(),n(d(e)))},[d]),p=(0,J.useCallback)(e=>{e.currentTarget.contains(e.relatedTarget)||n(null)},[]),m=(0,J.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let r=d(t);if(n(null),nc(),!r)return;let i=t.dataTransfer.getData(Zs);if(i)try{let t=JSON.parse(i),n=W.getState();if(r===`center`)t.panelId!==e&&n.moveTab(t.tabId,t.panelId,e);else{let i=r===`top`?`up`:r===`bottom`?`down`:r;n.splitPanel(i,t.tabId,t.panelId,e)}}catch{}},[d,e]);return r?(0,Y.jsxs)(`div`,{className:`absolute inset-0 z-20`,onDragOver:f,onDragLeave:p,onDrop:m,children:[a===`left`&&(0,Y.jsx)(`div`,{className:`absolute inset-y-0 left-0 w-1/3 bg-primary/10 border-2 border-primary/30 rounded-l-md`}),a===`right`&&(0,Y.jsx)(`div`,{className:`absolute inset-y-0 right-0 w-1/3 bg-primary/10 border-2 border-primary/30 rounded-r-md`}),a===`top`&&(0,Y.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-1/3 bg-primary/10 border-2 border-primary/30 rounded-t-md`}),a===`bottom`&&(0,Y.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 h-1/3 bg-primary/10 border-2 border-primary/30 rounded-b-md`}),a===`center`&&(0,Y.jsx)(`div`,{className:`absolute inset-0 bg-primary/5 border-2 border-dashed border-primary/30 rounded-md`})]}):null}var Wl=Gn(e=>({mounted:new Set,mount:t=>e(e=>{if(e.mounted.has(t))return e;let n=new Set(e.mounted);return n.add(t),{mounted:n}})}));function Gl(e,t,n,r,i,a){for(let o of e.flat()){let e=r[o];if(e)for(let r of e.tabs)i.has(r.id)||r.projectId&&t&&r.projectId!==t||!n&&(r.type===`extension`||r.type===`extension-webview`)||(i.add(r.id),a.push({tabId:r.id,panelId:o,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}}function Kl(e,t,n){for(let r of e.tabs)t.has(r.id)||(t.add(r.id),n.push({tabId:r.id,panelId:ar,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}function ql(e,t,n){for(let[r,i]of Object.entries(e))if(tr(r))for(let e of i.tabs)t.has(e.id)||(t.add(e.id),n.push({tabId:e.id,panelId:r,type:e.type,metadata:e.metadata,isActive:e.id===i.activeTabId}))}function Jl(e,t,n,r){let i=[],a=new Set;Gl(t,r,!0,e,a,i);for(let[t,o]of Object.entries(n))t!==r&&Gl(o,t,!1,e,a,i);ql(e,a,i);let o=e[ar];return o&&Kl(o,a,i),i.sort((e,t)=>e.tabId.localeCompare(t.tabId)),i}function Yl(e,t){return e.filter(e=>e.isActive||t.has(e.tabId))}var Xl=new class{slots=new Map;listeners=new Set;version=0;register(e,t){if(t){if(this.slots.get(e)===t)return;this.slots.set(e,t)}else{if(!this.slots.has(e))return;this.slots.delete(e)}this.version++,this.listeners.forEach(e=>e())}get(e){return this.slots.get(e)}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getVersion(){return this.version}};function Zl(e,t){Xl.register(e,t)}var Ql=e(ie(),1);function $l({tabId:e,panelId:t,component:n,metadata:r,isActive:i,hiddenContainer:a}){let o=(0,J.useRef)(null);if(!o.current){let t=document.createElement(`div`);t.className=`absolute inset-0`,t.dataset.tabPoolId=e,o.current=t}let s=o.current,c=(0,J.useRef)(t);return c.current=t,(0,J.useLayoutEffect)(()=>{s.parentElement||a.appendChild(s);let e=()=>{let e=c.current;e===`__dock__`||tr(e)||W.getState().setFocusedPanel(e)};return s.addEventListener(`pointerdown`,e,!0),s.addEventListener(`focusin`,e,!0),()=>{s.removeEventListener(`pointerdown`,e,!0),s.removeEventListener(`focusin`,e,!0),s.remove()}},[s,a]),(0,J.useLayoutEffect)(()=>{s.style.display=i?``:`none`},[s,i]),(0,J.useLayoutEffect)(()=>{let e=Xl.get(t);if(!e){s.parentElement!==a&&a.appendChild(s);return}if(s.parentElement===e)return;let n=[];s.querySelectorAll(`*`).forEach(e=>{(e.scrollTop||e.scrollLeft)&&n.push({el:e,top:e.scrollTop,left:e.scrollLeft})}),e.appendChild(s);for(let{el:e,top:t,left:r}of n)e.scrollTop=t,e.scrollLeft=r}),(0,Ql.createPortal)((0,Y.jsx)(Yn,{container:fi(t),children:(0,Y.jsx)(J.Suspense,{fallback:(0,Y.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,Y.jsx)(L,{className:`size-6 animate-spin text-primary`})}),children:(0,Y.jsx)(n,{metadata:r,tabId:e})})}),s)}function eu(e,t){return`${e}|${t}`}function tu(e,t){let n=new Set(e.tabs.map(e=>e.id)),r=t.filter(e=>!n.has(e.id));if(r.length===0)return e;let i=[...e.tabs,...r];return{...e,tabs:i,tabHistory:[...e.tabHistory,...r.map(e=>e.id)],activeTabId:e.activeTabId??i[i.length-1].id}}function nu(e){let{grid:t,liveWindowIds:n}=e,r=new Set(n),i=t.flat(),a={...e.panels},o=e.focusedPanelId,s=!1,c=i.includes(o)?o:i[0];for(let[t,n]of Object.entries(e.panels)){if(!tr(t))continue;let e=$n(t);if(e&&r.has(e)||!c)continue;let i=a[c];i&&(a[c]=tu(i,n.tabs),delete a[t],s=!0)}let l=n.filter(e=>!a[ir(e)]);if(!i.includes(o)){let e=i[0];e&&(o=e,s=!0)}return{panels:a,focusedPanelId:o,windowIdsToClose:l,changed:s}}function ru(){let e=Ir(),t=W(e=>e.currentProject),n=pr(e=>e.restored),r=(0,J.useRef)(null);(0,J.useEffect)(()=>{if(!t||!n&&!e)return;let i=eu(t,e);if(r.current===i)return;r.current=i;let{panels:a,grid:o,focusedPanelId:s}=W.getState(),c=nu({panels:a,grid:o,focusedPanelId:s,liveWindowIds:e?[]:Object.values(pr.getState().windows).filter(e=>e.kind===`tab-host`).map(e=>e.id)});c.changed&&(W.setState({panels:c.panels,focusedPanelId:c.focusedPanelId}),nr(W.getState));for(let e of c.windowIdsToClose)pr.getState().close(e)},[t,n,e])}var iu={terminal:(0,J.lazy)(()=>H(()=>import(`./terminal-tab-DZ-DBHmv.js`).then(e=>({default:e.TerminalTab})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]))),chat:(0,J.lazy)(()=>H(()=>import(`./chat-tab-XT-23JtV.js`).then(e=>({default:e.ChatTab})),__vite__mapDeps([24,1,2,3,4,25,7,26,27,8,28,29,30,16,31,21,10,18,11,32,33,9,34,35,36,37,38,39,13,40,41,42,43,44,12,14,45,19,20]))),editor:(0,J.lazy)(()=>H(()=>import(`./code-editor-Jmst2xot.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([46,1,2,3,4,47,48,49,50,16,51,9,8,10,22,23,21,18,7,11,52,25,27,53,40,41,36,54,55,56,39,13,43,12,14,57,35,15,58,59,60]))),database:(0,J.lazy)(()=>H(()=>import(`./database-viewer-SSbCY87C.js`).then(e=>({default:e.DatabaseViewer})),__vite__mapDeps([61,1,2,3,4,47,48,49,50,16,51,9,8,10,22,23,21,18,7,11,52,62]))),sqlite:(0,J.lazy)(()=>H(()=>import(`./sqlite-viewer-BTfTkzaU.js`).then(e=>({default:e.SqliteViewer})),__vite__mapDeps([63,1,2,3,4,47,48,49,50,16,51,9,8,10,22,23,21,18,7,11,52,62]))),postgres:(0,J.lazy)(()=>H(()=>import(`./postgres-viewer-CGf7_g6Z.js`).then(e=>({default:e.PostgresViewer})),__vite__mapDeps([64,1,2,65,3,4,66,8,16]))),"git-diff":(0,J.lazy)(()=>H(()=>import(`./diff-viewer-CdYarQJB.js`).then(e=>({default:e.DiffViewer})),__vite__mapDeps([67,1,2,3,4,25,7,8,53,40,10,41,9,29,54,15,16,59,60,51,22,23]))),"branch-review":(0,J.lazy)(()=>H(()=>import(`./branch-review-tab-BTobiTaa.js`).then(e=>({default:e.BranchReviewTab})),__vite__mapDeps([68,1,2,3,4,25,7,8,53,40,10,41,9,67,29,54,15,16,59,60,51,22,23,12,13,14,57,35,58]))),settings:(0,J.lazy)(()=>H(()=>import(`./settings-tab-CKzSb8CD.js`).then(e=>({default:e.SettingsTab})),__vite__mapDeps([69,2,1,3,4,25,7,70,57,71,16]))),extension:(0,J.lazy)(()=>H(()=>import(`./extension-webview-FTboocO5.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([72,1,3,4,8,16,59,10,22]))),"extension-webview":(0,J.lazy)(()=>H(()=>import(`./extension-webview-FTboocO5.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([72,1,3,4,8,16,59,10,22]))),"conflict-editor":(0,J.lazy)(()=>H(()=>import(`./conflict-editor-BYRCRGXw.js`).then(e=>({default:e.ConflictEditor})),__vite__mapDeps([73,1,2,3,4,8,9,10,35,15,16,60,7,51,22,23]))),"system-monitor":(0,J.lazy)(()=>H(()=>import(`./system-monitor-tab-CbqRdflk.js`).then(e=>({default:e.SystemMonitorTab})),__vite__mapDeps([74,2,1,3,4,8,75,7,16]))),"git-log":(0,J.lazy)(()=>H(()=>import(`./git-log-panel-CssMDe8Y.js`).then(e=>({default:e.GitLogPanel})),__vite__mapDeps([76,1,3,4,7,8,57,16,59,10,40,41]))),"ai-resource":(0,J.lazy)(()=>H(()=>import(`./ai-resource-editor-BZz447ab.js`).then(e=>({default:e.AiResourceEditor})),__vite__mapDeps([77,1,2,3,4,7,8,9,10,16,51,22,23]))),group:(0,J.lazy)(()=>H(()=>import(`./group-chat-tab-BwKqWjpw.js`).then(e=>({default:e.GroupChatTab})),__vite__mapDeps([78,1,2,3,4,25,7,79,8,36,10,56,31,40,41,17,18,11,21,28,29,30,16,9,44,13,39,12,14,35,45,59,20]))),problems:(0,J.lazy)(()=>H(()=>import(`./problems-panel-oY4-2MDR.js`).then(e=>({default:e.ProblemsPanel})),__vite__mapDeps([80,1,3,4,7,8,11,10,35,58,41,16,40,18])))},au={position:`fixed`,top:0,left:0,width:0,height:0,overflow:`hidden`,pointerEvents:`none`,visibility:`hidden`};function ou(){let[e,t]=(0,J.useState)(null);(0,J.useSyncExternalStore)(e=>Xl.subscribe(e),()=>Xl.getVersion());let n=W(e=>e.panels),r=W(e=>e.grid),i=W(e=>e.currentProject),a=W(e=>e.projectGrids);ru();let o=Jl(n,r,a,i),s=Yl(o,Wl(e=>e.mounted)),c=o.filter(e=>e.isActive).map(e=>e.tabId);return(0,J.useEffect)(()=>{let{mount:e}=Wl.getState();for(let t of c)e(t)},[JSON.stringify(c)]),(0,Y.jsx)(`div`,{ref:t,style:au,children:e&&s.map(t=>{let n=iu[t.type];return n?(0,Y.jsx)($l,{tabId:t.tabId,panelId:t.panelId,component:n,metadata:t.metadata,isActive:t.isActive,hiddenContainer:e},t.tabId):null})})}var su=[{type:`terminal`,label:`Terminal`,icon:Fn},{type:`chat`,label:`AI Chat`,icon:kn},{type:`editor`,label:`New File`,icon:sn}];function cu({panelId:e,projectName:t}){let n=W(t=>t.panels[e]),r=W(t=>t.focusedPanelId===e),i=W(e=>(e.currentProject===t?e.grid:e.projectGrids[t]??[[]]).flat().length),a=(0,J.useCallback)(t=>{Zl(e,t)},[e]);if(!n)return null;let o=Qn(n.tabs,t).length===0;return(0,Y.jsxs)(`div`,{className:U(`flex flex-col h-full overflow-hidden`,i>1&&`border border-transparent`,i>1&&r&&`border-primary/30`),onMouseDown:()=>{W.getState().focusedPanelId!==e&&W.getState().setFocusedPanel(e,!1)},children:[(0,Y.jsx)(Hl,{panelId:e}),(0,Y.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,"data-panel-drop-zone":e,onAuxClick:t=>{t.button!==1||!o||(t.preventDefault(),W.getState().closePanel(e))},children:[o&&(0,Y.jsx)(lu,{panelId:e,canClose:i>1}),(0,Y.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:o?{display:`none`}:void 0}),(0,Y.jsx)(Ul,{panelId:e})]})]})}function lu({panelId:e,canClose:t}){let n=G(e=>e.activeProject);function r(t){if(t===`editor`){K.getState().openNewFile();return}let r=t!==`settings`&&n?{projectName:n.name}:void 0;W.getState().openTab({type:t,title:su.find(e=>e.type===t)?.label??t,metadata:r,projectId:n?.name??null,closable:!0},e)}let i=(0,J.useCallback)(t=>{W.getState().openTab({type:`chat`,title:t.title||`Chat`,projectId:n?.name??null,metadata:{projectName:n?.name,sessionId:t.id,providerId:t.providerId},closable:!0},e)},[n?.name,e]);return(0,Y.jsx)(`div`,{className:`flex flex-col h-full overflow-y-auto text-text-secondary`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-6 px-4 flex-1`,children:[(0,Y.jsx)(`p`,{className:`text-sm`,children:`Open a tab to get started`}),(0,Y.jsx)(`div`,{className:`grid grid-cols-3 gap-2 w-full max-w-sm`,children:su.map(e=>{let t=e.icon;return(0,Y.jsxs)(`button`,{onClick:()=>r(e.type),className:`flex flex-col items-center justify-center gap-1.5 px-2 py-3 rounded-md border border-border bg-surface hover:bg-surface-elevated active:bg-surface-elevated text-xs text-foreground transition-colors`,children:[(0,Y.jsx)(t,{className:`size-5`}),e.label]},e.type)})}),t&&(0,Y.jsxs)(`button`,{onClick:()=>W.getState().closePanel(e),className:`flex items-center gap-1.5 px-4 py-3.5 rounded-md text-xs text-text-subtle hover:text-foreground active:bg-surface-elevated transition-colors`,children:[(0,Y.jsx)(he,{className:`size-3.5`}),`Close Panel`]}),(0,Y.jsx)(Vs,{projectName:n?.name,onSelectSession:i,className:`w-full`})]})})}function uu(e,t,n){let r=n!==`bottom`;if(n===`bottom`||e.length<=2)return{visible:[...e],overflow:[],iconOnlyInactive:r};let i=new Set;t&&e.includes(t)&&i.add(t);for(let t of e){if(i.size>=2)break;i.add(t)}return{visible:e.filter(e=>i.has(e)),overflow:e.filter(e=>!i.has(e)),iconOnlyInactive:r}}function du({...e}){return(0,Y.jsx)(f,{"data-slot":`dropdown-menu`,...e})}function fu({container:e,...t}){let n=Jn();return(0,Y.jsx)(v,{"data-slot":`dropdown-menu-portal`,container:e??n,...t})}function pu({...e}){return(0,Y.jsx)(h,{"data-slot":`dropdown-menu-trigger`,...e})}function mu({className:e,sideOffset:t=4,...n}){return(0,Y.jsx)(fu,{children:(0,Y.jsx)(b,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:U(`z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...n})})}function hu({className:e,inset:t,variant:n=`default`,...r}){return(0,Y.jsx)(x,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:U(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!`,e),...r})}function gu({className:e,children:t,checked:n,...r}){return(0,Y.jsxs)(y,{"data-slot":`dropdown-menu-checkbox-item`,className:U(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...r,children:[(0,Y.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,Y.jsx)(m,{children:(0,Y.jsx)(ye,{className:`size-4`})})}),t]})}function _u({...e}){return(0,Y.jsx)(S,{"data-slot":`dropdown-menu-radio-group`,...e})}function vu({className:e,children:t,...n}){return(0,Y.jsxs)(ue,{"data-slot":`dropdown-menu-radio-item`,className:U(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,Y.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,Y.jsx)(m,{children:(0,Y.jsx)(Oe,{className:`size-2 fill-current`})})}),t]})}function yu({className:e,inset:t,...n}){return(0,Y.jsx)(_,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:U(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function bu({className:e,...t}){return(0,Y.jsx)(E,{"data-slot":`dropdown-menu-separator`,className:U(`-mx-1 my-1 h-px bg-border`,e),...t})}function xu({...e}){return(0,Y.jsx)(g,{"data-slot":`dropdown-menu-sub`,...e})}function Su({className:e,inset:t,children:n,...r}){return(0,Y.jsxs)(D,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:U(`flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,Y.jsx)(Ve,{className:`ml-auto size-4`})]})}function Cu({className:e,...t}){return(0,Y.jsx)(T,{"data-slot":`dropdown-menu-sub-content`,className:U(`z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})}var wu={left:Te,bottom:Qe,right:ze},Tu={left:`Left`,bottom:`Bottom`,right:`Right`},Eu=[`left`,`bottom`,`right`];function Du(){let e=W(e=>e.panels[ar]),t=G(e=>e.activeProject?.name??null),n=V(e=>e.dockPosition),r=V(e=>e.setDockPosition),i=W(e=>e.dockExpanded),a=(e?.tabs??[]).filter(e=>!e.projectId||!t||e.projectId===t),o=e?.activeTabId??null,s=new Map(a.map(e=>[e.id,e])),c=uu(a.map(e=>e.id),o,n);function l(e){W.getState().setActiveTab(e,ar)}function u(e){W.getState().closeTab(e,ar)}function d(){let e=G.getState().activeProject;W.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}let f=wu[n];return(0,Y.jsxs)(`div`,{className:`flex items-center h-8 min-w-0 flex-1 gap-1 px-1`,children:[(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1 overflow-x-auto scrollbar-none`,children:[c.visible.map(e=>{let t=s.get(e);if(!t)return null;let n=Vl(t),r=e===o,i=!c.iconOnlyInactive||r,a=(0,Y.jsxs)(`button`,{onClick:()=>l(e),className:U(`flex items-center gap-1.5 h-6 rounded-full border shrink-0 transition-colors`,i?`px-2.5`:`px-1.5`,r?`border-primary text-primary bg-primary/10`:`border-border text-text-secondary hover:bg-surface-elevated`),children:[(0,Y.jsx)(n,{className:`size-3`}),i&&(0,Y.jsx)(`span`,{className:`text-[11px] font-medium max-w-[120px] truncate`,children:t.title}),i&&t.closable&&(0,Y.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":`Close ${t.title}`,onClick:t=>{t.stopPropagation(),u(e)},className:`flex items-center justify-center size-4 -mr-1 rounded hover:bg-surface-elevated hover:text-foreground`,children:(0,Y.jsx)(he,{className:`size-3`})})]},e);return i?a:(0,Y.jsxs)(_a,{children:[(0,Y.jsx)(va,{asChild:!0,children:a}),(0,Y.jsx)(ya,{side:`top`,className:`text-xs`,children:t.title})]},e)}),c.overflow.length>0&&(0,Y.jsxs)(du,{children:[(0,Y.jsx)(pu,{asChild:!0,children:(0,Y.jsxs)(`button`,{className:`flex items-center justify-center h-6 px-2 rounded-full border border-border text-text-secondary text-[10px] font-mono shrink-0 hover:bg-surface-elevated`,children:[`+`,c.overflow.length]})}),(0,Y.jsx)(mu,{align:`start`,className:`min-w-[10rem]`,children:c.overflow.map(e=>{let t=s.get(e);return t?(0,Y.jsxs)(hu,{onClick:()=>l(e),children:[(0,Y.jsx)(Vl(t),{className:`size-3.5`}),(0,Y.jsx)(`span`,{className:`truncate`,children:t.title})]},e):null})})]}),(0,Y.jsx)(`button`,{onClick:d,title:`New panel tab`,"aria-label":`New panel tab`,className:`flex items-center justify-center size-6 rounded-full border border-dashed border-border text-text-subtle shrink-0 hover:bg-surface-elevated hover:text-foreground`,children:(0,Y.jsx)(_n,{className:`size-3.5`})})]}),(0,Y.jsxs)(du,{children:[(0,Y.jsx)(pu,{asChild:!0,children:(0,Y.jsxs)(`button`,{title:`Panel position`,"aria-label":`Panel position`,className:`flex items-center gap-0.5 h-6 px-1.5 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:[(0,Y.jsx)(f,{className:`size-3.5`}),(0,Y.jsx)(qe,{className:`size-2.5`})]})}),(0,Y.jsxs)(mu,{align:`end`,children:[(0,Y.jsx)(yu,{className:`text-[10px] uppercase tracking-wide text-text-subtle`,children:`Panel Position`}),Eu.map(e=>{let t=wu[e],i=e===n;return(0,Y.jsxs)(hu,{onClick:()=>r(e),className:U(i&&`text-primary bg-primary/10`),children:[(0,Y.jsx)(t,{className:`size-3.5`}),(0,Y.jsx)(`span`,{className:`flex-1`,children:Tu[e]}),i&&(0,Y.jsx)(An,{className:`size-3.5`})]},e)})]})]}),(0,Y.jsx)(`div`,{className:`w-px h-4 bg-border shrink-0`}),(0,Y.jsx)(`button`,{onClick:()=>W.getState().toggleDockExpanded(),title:i?`Restore panel`:`Maximize panel`,"aria-label":i?`Restore panel`:`Maximize panel`,className:`flex items-center justify-center size-7 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:i?(0,Y.jsx)(at,{className:`size-3.5`}):(0,Y.jsx)(Wt,{className:`size-3.5`})}),(0,Y.jsx)(`button`,{onClick:()=>W.getState().setDockVisible(!1),title:`Hide panel`,"aria-label":`Hide panel`,className:`flex items-center justify-center size-7 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:(0,Y.jsx)(qe,{className:`size-3.5`})})]})}var Ou={top:`border-t`,left:`border-l`,right:`border-r`};function ku({variant:e=`desktop`,borderEdge:t=`top`}){let n=W(e=>e.panels[ar]),r=G(e=>e.activeProject?.name??null),i=(n?.tabs??[]).some(e=>!e.projectId||!r||e.projectId===r),a=(0,J.useCallback)(e=>{Zl(ar,e)},[]);return(0,Y.jsxs)(`div`,{className:U(`flex flex-col h-full overflow-hidden border-border bg-panel`,e===`desktop`&&Ou[t]),children:[(0,Y.jsx)(`div`,{className:`flex items-center shrink-0`,children:e===`mobile`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Au,{}),(0,Y.jsx)(`button`,{onClick:()=>W.getState().setDockVisible(!1),title:`Hide terminal dock`,className:U(`shrink-0 flex items-center justify-center mr-1 size-11`,`text-text-subtle hover:text-foreground hover:bg-surface-elevated`,`active:bg-surface-elevated rounded transition-colors`),"aria-label":`Hide terminal dock`,children:(0,Y.jsx)(he,{className:`size-3.5`})})]}):(0,Y.jsx)(Du,{})}),(0,Y.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,children:[!i&&(0,Y.jsx)(ju,{variant:e}),(0,Y.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:i?void 0:{display:`none`}})]})]})}function Au(){let e=W(e=>e.panels[ar]),t=G(e=>e.activeProject),n=W(e=>e.dockExpanded),r=t?.name??null,i=(e?.tabs??[]).filter(e=>!e.projectId||!r||e.projectId===r),a=e?.activeTabId??null;function o(e){W.getState().setActiveTab(e,ar)}function s(){let e=t;W.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center h-11 gap-1 pl-2 overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1.5 overflow-x-auto scrollbar-none`,children:[i.map(e=>{let t=Vl(e);return(0,Y.jsxs)(`div`,{className:U(`flex items-center h-8 pl-3 pr-1 gap-1 rounded-full border shrink-0 transition-colors`,e.id===a?`border-primary text-primary bg-primary/10`:`border-border text-text-secondary`),children:[(0,Y.jsxs)(`button`,{onClick:()=>o(e.id),className:`flex items-center gap-1.5 min-w-0`,children:[(0,Y.jsx)(t,{className:`size-[13px] shrink-0`}),(0,Y.jsx)(`span`,{className:`max-w-[96px] truncate text-xs font-medium`,children:e.title})]}),e.closable&&(0,Y.jsx)(`button`,{onClick:()=>W.getState().closeTab(e.id,`__dock__`),"aria-label":`Close ${e.title}`,className:`shrink-0 flex items-center justify-center size-6 rounded-full text-text-subtle active:bg-surface-elevated active:text-foreground`,children:(0,Y.jsx)(he,{className:`size-3.5`})})]},e.id)}),(0,Y.jsx)(`button`,{onClick:s,title:`New panel tab`,"aria-label":`New panel tab`,className:`shrink-0 flex items-center justify-center size-8 rounded-full border border-dashed border-border text-text-subtle active:bg-surface-elevated`,children:(0,Y.jsx)(_n,{className:`size-4`})})]}),(0,Y.jsx)(`button`,{onClick:()=>W.getState().toggleDockExpanded(),title:n?`Collapse panel`:`Expand panel`,"aria-label":n?`Collapse panel`:`Expand panel`,className:`shrink-0 flex items-center justify-center size-9 text-text-subtle active:bg-surface-elevated rounded transition-colors`,children:n?(0,Y.jsx)(at,{className:`size-4`}):(0,Y.jsx)(Wt,{className:`size-4`})})]})}function ju({variant:e}){let t=G(e=>e.activeProject);function n(){let e=t;W.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,Y.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,Y.jsxs)(`button`,{onClick:n,className:U(`flex items-center gap-2 rounded-md`,e===`mobile`?`px-4 py-3`:`px-3 py-2`,`border border-border bg-surface hover:bg-surface-elevated active:bg-surface-elevated`,`text-sm text-foreground transition-colors`),children:[(0,Y.jsx)(Fn,{className:`size-4`}),`Open Terminal`]})})}function Mu(e,t,n){return e===`bottom`?{orientation:`vertical`,dockFirst:!1,dockSize:`${n?70:t}%`,borderEdge:`top`}:{orientation:`horizontal`,dockFirst:e===`left`,dockSize:`${n?55:t}%`,borderEdge:e===`left`?`right`:`left`}}var Nu=[[]],Pu=(0,J.memo)(function({projectName:e}){let t=ps(`(min-width: 768px)`),n=W(t=>t.currentProject===e?t.grid:t.projectGrids[e]??Nu),r=W(e=>e.focusedPanelId),i=W(e=>e.dock),a=W(e=>e.dockExpanded),o=V(e=>e.dockPosition),s=W(e=>e.currentProject),c=n.flat().length,l=s===e;(0,J.useEffect)(()=>{if(l&&c===0){let e=Xn();W.setState(t=>({panels:{...t.panels,[e.id]:e},grid:[[e.id]],focusedPanelId:e.id}))}},[l,c]);let u=(0,J.useCallback)(({asPercentage:e})=>{W.getState().dockExpanded||W.getState().setDockHeight(e)},[]),d=(0,J.useRef)({key:``,size:``});if(c===0)return null;if(!t){let t=n.flat(),i=t.includes(r)?r:t[0];return i?(0,Y.jsx)(cu,{panelId:i,projectName:e}):null}let f=c===1&&n[0]?.[0]?(0,Y.jsx)(cu,{panelId:n[0][0],projectName:e}):(0,Y.jsx)(os,{orientation:`vertical`,style:{height:`100%`},children:n.map((t,r)=>(0,Y.jsx)(Fu,{row:t,rowIdx:r,totalRows:n.length,projectName:e},`row-${r}`))});if(!l)return(0,Y.jsx)(Y.Fragment,{children:f});let p=Mu(o,i.height,a),m=p.orientation===`vertical`?`horizontal`:`vertical`,h=`${o}-${a}`;d.current.key!==h&&(d.current={key:h,size:p.dockSize});let g=(0,Y.jsx)(ls,{minSize:`15%`,children:f}),_=i.visible?(0,Y.jsx)(ls,{defaultSize:d.current.size,minSize:`10%`,maxSize:`85%`,onResize:u,children:(0,Y.jsx)(ku,{borderEdge:p.borderEdge})}):null,v=i.visible?(0,Y.jsx)(Lu,{orientation:m}):null;return(0,Y.jsxs)(os,{orientation:p.orientation,style:{height:`100%`},children:[p.dockFirst?_:g,v,p.dockFirst?g:_]},h)});function Fu({row:e,rowIdx:t,totalRows:n,projectName:r}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(ls,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:e.length===1?(0,Y.jsx)(cu,{panelId:e[0],projectName:r}):(0,Y.jsx)(os,{orientation:`horizontal`,children:e.map((t,n)=>(0,Y.jsx)(Iu,{panelId:t,colIdx:n,totalCols:e.length,projectName:r},t))})}),t<n-1&&(0,Y.jsx)(Lu,{orientation:`horizontal`})]})}function Iu({panelId:e,colIdx:t,totalCols:n,projectName:r}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(ls,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:(0,Y.jsx)(cu,{panelId:e,projectName:r})}),t<n-1&&(0,Y.jsx)(Lu,{orientation:`vertical`})]})}function Lu({orientation:e}){let t=e===`vertical`;return(0,Y.jsx)(fs,{className:`
12
+ `),t.head.append(n);return}}catch{}t.head.append(e.cloneNode(!0))}function pl(e,t){try{t.adoptedStyleSheets=[...e.adoptedStyleSheets]}catch{}for(let n of dl(e))fl(n,t);let n=t.createElement(`style`);n.textContent=ul,t.head.append(n)}function ml(e,t){t.documentElement.className=e.documentElement.className,t.documentElement.style.cssText=e.documentElement.style.cssText,t.body.className=e.body.className,t.body.style.cssText=e.body.style.cssText}function hl(e,t){ml(e,t);let n=e.defaultView;if(!n)return()=>{};let r=()=>ml(e,t);return n.addEventListener(oi,r),()=>n.removeEventListener(oi,r)}function gl(e,t){if(typeof MutationObserver>`u`)return()=>{};let n=new MutationObserver(e=>{for(let n of e)for(let e of n.addedNodes)e instanceof Element&&e.matches(ll)&&t.head.append(e.cloneNode(!0))});return n.observe(e.head,{childList:!0}),()=>n.disconnect()}var _l=[`input`,`textarea`,`select`,`[contenteditable]`,`.native-edit-context`,`.monaco-editor`,`.xterm-helper-textarea`].join(`, `);function vl(e){let t=e;return!t||typeof t.closest!=`function`?!1:t.closest(_l)!==null}function yl(e,t){let n=e=>{let n=e;vl(n.target)||t.dispatchEvent(new KeyboardEvent(n.type,n))};return e.addEventListener(`keydown`,n),e.addEventListener(`keyup`,n),()=>{e.removeEventListener(`keydown`,n),e.removeEventListener(`keyup`,n)}}var bl=`ppm:host-resize`;function xl(e){if(e)for(let t of e.querySelectorAll(`[data-tab-pool-id]`))t.dispatchEvent(new CustomEvent(bl,{bubbles:!1}))}function Sl(e,t){let n=e?.closest(`[data-tab-pool-id]`);return n?(n.addEventListener(bl,t),()=>n.removeEventListener(bl,t)):()=>{}}var Cl=null;function wl(){return Cl}function Tl(e,t,n,r){let i=[],a=!1,o=()=>{if(!a){a=!0,Cl===s&&(Cl=null);for(let e of i)try{e()}catch{}t.isConnected&&(t.append(e),xl(e));try{n.close()}catch{}r.onDetach()}},s={detach:o,pipWindow:n};try{let t=n.document;pl(document,t),i.push(hl(document,t)),i.push(gl(document,t)),t.body.append(e),xl(e);let r=()=>xl(e);n.addEventListener(`resize`,r),i.push(()=>n.removeEventListener(`resize`,r)),n.addEventListener(`pagehide`,o),i.push(()=>n.removeEventListener(`pagehide`,o)),i.push(yl(n,window)),window.addEventListener(`pagehide`,o),window.addEventListener(`beforeunload`,o),i.push(()=>{window.removeEventListener(`pagehide`,o),window.removeEventListener(`beforeunload`,o)})}catch(e){throw o(),e}return s}async function El(e,t){let n=il();if(!n)throw Error(`Document Picture-in-Picture is not supported in this browser`);let r=e.parentElement;if(!r)throw Error(`attachPipHost: slot element must be in the document`);Cl?.detach();let i;try{i=await n.requestWindow(cl({width:t.width,height:t.height}))}catch(e){throw t.onDetach(),e}if(!e.isConnected||e.parentElement!==r){try{i.close()}catch{}return t.onDetach(),null}let a=Tl(e,r,i,t);return Cl=a,a}function Dl(e){hi(e),pr.getState().close(e)}async function Ol(e,t){let n=W.getState().popOutTab(e,t);if(!n)return`window-cap`;pi(n);let r=await ci(n);if(!r)return Dl(n),`cancelled`;let i=pr.getState().windows[n]?.rect,a;try{a=await El(r,{width:i?.w??0,height:i?i.h-36:0,onDetach:()=>{si(n,null),Dl(n)}})}catch(e){throw Dl(n),e}return a?(si(n,a),nl(a.pipWindow.document),`opened`):`cancelled`}function kl({tab:e,panelId:t}){return Ir()||er.has(e.type)?null:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Cr,{onClick:()=>{W.getState().popOutTab(e.id,t)||B.error(`Too many windows open — close one first`)},children:[(0,Y.jsx)(jt,{className:`size-3.5 mr-2`}),`Open in window`]}),rl()&&(0,Y.jsxs)(Cr,{onClick:()=>{Ol(e.id,t).then(e=>{e===`window-cap`&&B.error(`Too many windows open — close one first`)}).catch(()=>{B.error(`Could not open the picture-in-picture window`)})},children:[(0,Y.jsx)(ke,{className:`size-3.5 mr-2`}),`Open in picture-in-picture`]}),(0,Y.jsx)(Sr,{})]})}async function Al(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}return Pl(e)}function jl(){return typeof ClipboardItem<`u`&&!!navigator.clipboard?.write}async function Ml(e){if(!jl())return!1;try{let t=await fetch(e).then(e=>e.blob()),n=t.type===`image/png`?t:await Nl(t);return await navigator.clipboard.write([new ClipboardItem({"image/png":n})]),!0}catch{return!1}}async function Nl(e){let t=await createImageBitmap(e),n=document.createElement(`canvas`);return n.width=t.width,n.height=t.height,n.getContext(`2d`)?.drawImage(t,0,0),t.close(),new Promise((e,t)=>{n.toBlob(n=>n?e(n):t(Error(`canvas produced no blob`)),`image/png`)})}function Pl(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;top:0;left:0;width:1px;height:1px;padding:0;border:none;opacity:0;`,document.body.appendChild(t);let n=document.getSelection(),r=n&&n.rangeCount>0?n.getRangeAt(0):null;try{return t.focus(),t.select(),t.setSelectionRange(0,e.length),document.execCommand(`copy`)}catch{return!1}finally{t.remove(),n&&r&&(n.removeAllRanges(),n.addRange(r))}}function Fl({node:e,projectName:t,onClose:n,onRefresh:r}){let[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(null);async function c(){a(!0),s(null);try{await z.del(`${R(t)}/files/delete`,{path:e.path}),r(),n()}catch(e){s(e instanceof Error?e.message:`Failed to delete`)}finally{a(!1)}}return(0,Y.jsx)(Pi,{open:!0,onOpenChange:e=>!e&&n(),children:(0,Y.jsxs)(Ai,{children:[(0,Y.jsxs)(Oi,{children:[(0,Y.jsxs)(ji,{children:[`Delete `,e.type===`directory`?`Folder`:`File`]}),(0,Y.jsxs)(Mi,{children:[`Are you sure you want to delete`,` `,(0,Y.jsx)(`span`,{className:`font-mono font-semibold`,children:e.name}),`?`,e.type===`directory`&&` This will delete all contents.`]})]}),o&&(0,Y.jsx)(`p`,{className:`text-sm text-error`,children:o}),(0,Y.jsxs)(ki,{children:[(0,Y.jsx)(q,{variant:`outline`,onClick:n,disabled:i,children:`Cancel`}),(0,Y.jsx)(q,{variant:`destructive`,onClick:c,disabled:i,children:i?`Deleting...`:`Delete`})]})]})})}var Il={"git-branch":Ke,"git-commit":aa,"git-compare":ra,history:Ae,users:Ge,"list-ordered":Sn,refresh:tt,edit:me,trash:Mn,plus:_n,search:Jt,database:Dt,terminal:Fn,settings:pn,"file-code":zt,globe:$e};function Z(e){return e?Il[e]:void 0}function Ll(e,t){if(!(!e?.commands||!t))return Z(e.commands.find(e=>e.command===t||e.command.replace(/\.view$/,``)===t)?.icon)}var Rl={terminal:Fn,chat:kn,editor:zt,database:Dt,sqlite:Dt,postgres:Dt,"git-diff":ra,"branch-review":ra,settings:pn,extension:bt,"extension-webview":bt,"conflict-editor":ra,"system-monitor":pn,"git-log":aa,"ai-resource":hn,group:Ge,problems:ut};function zl(e){return Rl[e]??bt}var Bl=new Set([`editor`,`git-diff`,`conflict-editor`]);function Vl(e){if(Bl.has(e.type)){let t=e.metadata?.filePath||e.title;if(t)return Fi(t)}if(e.type===`chat`){let t=Ns[e.metadata?.providerId??`claude`];if(t)return t}if(e.type===`extension`||e.type===`extension-webview`){let t=Ll(Pc.getState().contributions,e.metadata?.viewType);if(t)return t}return zl(e.type)}var Hl=(0,J.memo)(function({panelId:e}){let t=G(e=>e.activeProject),n=(0,J.useRef)(new Map),r=(0,J.useRef)(null),i=(0,J.useRef)(0),a=W(t=>e?t.panels[e]:t.panels[t.focusedPanelId]),o=t?.name??null,s=Qn(a?.tabs??[],o),c=a?.activeTabId??null,l=a?.id??W.getState().focusedPanelId,{dropIndex:u,handleDragStart:d,handleDragOver:f,handleDragOverBar:p,handleDrop:m,handleDragEnd:h}=rc(l),{handleTouchStart:g,handleTouchMove:_,handleTouchEnd:v,handleTouchCancel:y}=Cc(l),{projectTags:b,loadTags:x}=gs(t?.name),[S,C]=(0,J.useState)({}),w=s.filter(e=>e.type===`chat`&&e.metadata?.sessionId).map(e=>e.metadata.sessionId);(0,J.useEffect)(()=>{!t?.name||w.length===0||z.get(`${R(t.name)}/chat/sessions?limit=50`).then(e=>{let t={};for(let n of e.sessions)n.tag&&(t[n.id]=n.tag);C(t)}).catch(()=>{})},[t?.name,w.join(`,`)]);let T=(0,J.useCallback)(async(e,n)=>{if(t?.name)try{if(n!==null){await z.patch(`${R(t.name)}/chat/sessions/${e}/tag`,{tagId:n});let r=b.find(e=>e.id===n);r&&C(t=>({...t,[e]:{id:r.id,name:r.name,color:r.color}}))}else await z.del(`${R(t.name)}/chat/sessions/${e}/tag`),C(t=>{let n={...t};return delete n[e],n});x()}catch{}},[t?.name,b,x]),E=Cs(e=>e.notifications),D=ri(e=>e.sessions),O=V(e=>e.tabWrap),k=V(e=>e.toggleTabWrap),A=V(e=>e.editorTabStyle),{canScrollLeft:j,canScrollRight:M,scrollLeft:ee,scrollRight:N}=Bc(r),P=Hc(r.current,n.current,s,E);(0,J.useEffect)(()=>{if(s.length>i.current&&c){let e=n.current.get(c);e&&e.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})}i.current=s.length},[s.length,c]);let F=(0,J.useCallback)((e,t)=>{K.getState().updateTab(e.id,{title:t});let n=e.metadata?.projectName,r=e.metadata?.sessionId;n&&r&&z.patch(`${R(n)}/chat/sessions/${r}`,{title:t}).catch(()=>{})},[]),te=qs(e=>e.selection),[ne,re]=(0,J.useState)(null);function ie(e){if(e.type!==`editor`)return null;let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return null;let r=te!=null&&te.projectName===n&&te.filePath!==t;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Cr,{onClick:()=>{let r=e.metadata?.unsavedContent;qs.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:qn(t)})},children:[(0,Y.jsx)(It,{className:`size-3.5 mr-2`}),`Select for Compare`]}),r&&(0,Y.jsxs)(Cr,{onClick:async()=>{let r=qs.getState().selection;if(!r)return;let i=e.metadata?.unsavedContent;try{await Ys({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),qs.getState().clearSelection()}catch(e){let t=e instanceof Error?e.message:`Compare failed`;B.error(t)}},children:[(0,Y.jsx)(It,{className:`size-3.5 mr-2`}),`Compare with Selected (`,te.label,`)`]}),(0,Y.jsx)(Sr,{})]})}function ae(e){if(e.type!==`terminal`)return null;let t=l===ar;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Cr,{onClick:()=>I(e,t?`move-to-editor`:`move-to-dock`),children:t?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Ee,{className:`size-3.5 mr-2`}),`Move to Editor`]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Qe,{className:`size-3.5 mr-2`}),`Move to Dock`]})}),(0,Y.jsx)(Sr,{})]})}let I=(0,J.useCallback)((e,t)=>{let n=W.getState(),r=n.panels[l]?.tabs??[];switch(t){case`close`:n.closeTab(e.id,l);break;case`move-to-dock`:n.redockTab(e.id,l);break;case`move-to-editor`:{let t=n.focusedPanelId===`__dock__`?n.grid.flat()[0]:n.focusedPanelId;t&&n.moveTab(e.id,ar,t);break}case`close-others`:for(let t of r)t.id!==e.id&&t.closable&&n.closeTab(t.id,l);break;case`close-right`:{let t=r.findIndex(t=>t.id===e.id);for(let e=t+1;e<r.length;e++)r[e].closable&&n.closeTab(r[e].id,l);break}case`copy-path`:{let t=e.metadata?.filePath;t&&Al(t);break}case`copy-full-path`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;if(t){let e=n?G.getState().projects.find(e=>e.name===n):null;Al(e?`${e.path}/${t}`:t)}break}case`download`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;t&&n&&xi(n,t);break}case`rename`:case`delete`:{let n=e.metadata?.filePath;n&&re({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}}},[l]);function oe(e){e.target.closest(`[data-tab-item]`)||Rc()}return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Tr,{children:[(0,Y.jsx)(Er,{asChild:!0,children:(0,Y.jsxs)(`div`,{className:U(`hidden md:flex items-center border-b border-border relative shrink-0`,O?`min-h-[41px] flex-wrap`:`h-[41px]`),onDragOver:p,onDrop:m,onDoubleClick:oe,children:[!O&&j&&(0,Y.jsx)(`button`,{onClick:ee,className:`absolute left-0 z-10 flex items-center justify-center size-8 bg-gradient-to-r from-background via-background to-transparent`,children:(0,Y.jsxs)(`span`,{className:`relative`,children:[(0,Y.jsx)(fe,{className:`size-4 text-text-secondary`}),P.left&&(0,Y.jsx)(`span`,{className:U(`absolute -top-1 -right-0.5 size-2 rounded-full`,bs(P.left))})]})}),(0,Y.jsx)(`div`,{ref:r,className:U(`flex-1 min-w-0 scrollbar-none`,O?`overflow-y-auto overflow-x-hidden`:`overflow-x-auto overflow-y-hidden`),children:(0,Y.jsxs)(`div`,{className:Gc(A,O),children:[s.map((e,t)=>{let r=e.type===`chat`?e.metadata?.sessionId:void 0,i=r?E.get(r):void 0,a=i&&i.count>0?i.type:null,o=!!i?.manual,s=r?D.has(r):!1;return(0,Y.jsx)(Qc,{tab:e,isActive:e.id===c,icon:Vl(e),showDropBefore:u===t,notificationType:a,notificationManual:o,isStreaming:s,onSelect:()=>{uc()||(W.getState().setActiveTab(e.id,l),r&&Cs.getState().clearForSession(r))},onClose:()=>W.getState().closeTab(e.id,l),onDragStart:t=>d(t,e.id),onDragOver:n=>f(n,e.id,t),onDragEnd:h,onTouchStart:t=>g(t,e.id,e.title),onTouchMove:_,onTouchEnd:v,onTouchCancel:y,tabRef:t=>{t?n.current.set(e.id,t):n.current.delete(e.id)},onRename:e.type===`chat`?t=>F(e,t):void 0,onContextAction:t=>I(e,t),tagColor:r?S[r]?.color:void 0,extraMenuContent:(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(kl,{tab:e,panelId:l}),ae(e),ie(e),r&&!a&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Cr,{onClick:()=>{let t=e.metadata?.projectName;t&&Cs.getState().markUnread(r,t,e.title)},children:[(0,Y.jsx)(zn,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),(0,Y.jsx)(Sr,{})]}),r&&b.length>0&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(wr,{children:[(0,Y.jsxs)(br,{children:[(0,Y.jsx)(Rn,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,Y.jsxs)(vr,{children:[b.map(e=>(0,Y.jsxs)(Cr,{onClick:()=>T(r,e.id),children:[(0,Y.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:e.color}}),e.name,S[r]?.id===e.id&&(0,Y.jsx)(An,{className:`size-3 ml-auto`})]},e.id)),S[r]&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Sr,{}),(0,Y.jsx)(Cr,{onClick:()=>T(r,null),children:`Remove tag`})]})]})]}),(0,Y.jsx)(Sr,{})]})]})},e.id)}),u!==null&&u>=s.length&&(0,Y.jsx)(`div`,{className:`w-0.5 h-6 bg-primary rounded-full`}),(0,Y.jsx)(`button`,{onClick:()=>{if(l===`__dock__`){let e=G.getState().activeProject;W.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}else W.getState().setFocusedPanel(l,!1),Rc()},title:l===`__dock__`?`New terminal in dock`:`Open command palette (Shift+Shift)`,className:Kc(A),children:(0,Y.jsx)(_n,{className:`size-4`})})]})}),!O&&M&&(0,Y.jsx)(`button`,{onClick:N,className:`absolute right-10 z-10 flex items-center justify-center size-8 bg-gradient-to-l from-background via-background to-transparent`,children:(0,Y.jsxs)(`span`,{className:`relative`,children:[(0,Y.jsx)(Xt,{className:`size-4 text-text-secondary`}),P.right&&(0,Y.jsx)(`span`,{className:U(`absolute -top-1 -left-0.5 size-2 rounded-full`,bs(P.right))})]})})]})}),(0,Y.jsxs)(xr,{children:[(0,Y.jsx)(Cr,{onClick:k,children:O?`Scroll Tabs`:`Wrap Tabs`}),(0,Y.jsx)(Sr,{}),(0,Y.jsx)(Cr,{onClick:()=>Rc(),children:`Open Command Palette`})]})]}),ne&&(0,Y.jsx)(Fl,{node:ne.node,projectName:t?.name??``,onClose:()=>re(null),onRefresh:()=>{t&&Mr.getState().fetchTree(t.name),ne.action===`delete`&&W.getState().closeTab(ne.tabId,l)}})]})});function Ul({panelId:e}){let[t,n]=(0,J.useState)(null),r=tc(),i=lc(),a=(i?.panelId===e?i.zone:null)??t,o=W(e=>e.grid),s=W(e=>e.isMobile()),c=rr(o,e),l=!s&&o.length<3,u=c?!s&&(o[c.row]?.length??0)<or(!1):!1,d=(0,J.useCallback)(e=>{let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width,r=(e.clientY-t.top)/t.height,i=.25;return n<i&&u?`left`:n>1-i&&u?`right`:r<i&&l?`top`:r>1-i&&l?`bottom`:`center`},[u,l]),f=(0,J.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.stopPropagation(),n(d(e)))},[d]),p=(0,J.useCallback)(e=>{e.currentTarget.contains(e.relatedTarget)||n(null)},[]),m=(0,J.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let r=d(t);if(n(null),nc(),!r)return;let i=t.dataTransfer.getData(Zs);if(i)try{let t=JSON.parse(i),n=W.getState();if(r===`center`)t.panelId!==e&&n.moveTab(t.tabId,t.panelId,e);else{let i=r===`top`?`up`:r===`bottom`?`down`:r;n.splitPanel(i,t.tabId,t.panelId,e)}}catch{}},[d,e]);return r?(0,Y.jsxs)(`div`,{className:`absolute inset-0 z-20`,onDragOver:f,onDragLeave:p,onDrop:m,children:[a===`left`&&(0,Y.jsx)(`div`,{className:`absolute inset-y-0 left-0 w-1/3 bg-primary/10 border-2 border-primary/30 rounded-l-md`}),a===`right`&&(0,Y.jsx)(`div`,{className:`absolute inset-y-0 right-0 w-1/3 bg-primary/10 border-2 border-primary/30 rounded-r-md`}),a===`top`&&(0,Y.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-1/3 bg-primary/10 border-2 border-primary/30 rounded-t-md`}),a===`bottom`&&(0,Y.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 h-1/3 bg-primary/10 border-2 border-primary/30 rounded-b-md`}),a===`center`&&(0,Y.jsx)(`div`,{className:`absolute inset-0 bg-primary/5 border-2 border-dashed border-primary/30 rounded-md`})]}):null}var Wl=Gn(e=>({mounted:new Set,mount:t=>e(e=>{if(e.mounted.has(t))return e;let n=new Set(e.mounted);return n.add(t),{mounted:n}})}));function Gl(e,t,n,r,i,a){for(let o of e.flat()){let e=r[o];if(e)for(let r of e.tabs)i.has(r.id)||r.projectId&&t&&r.projectId!==t||!n&&(r.type===`extension`||r.type===`extension-webview`)||(i.add(r.id),a.push({tabId:r.id,panelId:o,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}}function Kl(e,t,n){for(let r of e.tabs)t.has(r.id)||(t.add(r.id),n.push({tabId:r.id,panelId:ar,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}function ql(e,t,n){for(let[r,i]of Object.entries(e))if(tr(r))for(let e of i.tabs)t.has(e.id)||(t.add(e.id),n.push({tabId:e.id,panelId:r,type:e.type,metadata:e.metadata,isActive:e.id===i.activeTabId}))}function Jl(e,t,n,r){let i=[],a=new Set;Gl(t,r,!0,e,a,i);for(let[t,o]of Object.entries(n))t!==r&&Gl(o,t,!1,e,a,i);ql(e,a,i);let o=e[ar];return o&&Kl(o,a,i),i.sort((e,t)=>e.tabId.localeCompare(t.tabId)),i}function Yl(e,t){return e.filter(e=>e.isActive||t.has(e.tabId))}var Xl=new class{slots=new Map;listeners=new Set;version=0;register(e,t){if(t){if(this.slots.get(e)===t)return;this.slots.set(e,t)}else{if(!this.slots.has(e))return;this.slots.delete(e)}this.version++,this.listeners.forEach(e=>e())}get(e){return this.slots.get(e)}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getVersion(){return this.version}};function Zl(e,t){Xl.register(e,t)}var Ql=e(ie(),1);function $l({tabId:e,panelId:t,component:n,metadata:r,isActive:i,hiddenContainer:a}){let o=(0,J.useRef)(null);if(!o.current){let t=document.createElement(`div`);t.className=`absolute inset-0`,t.dataset.tabPoolId=e,o.current=t}let s=o.current,c=(0,J.useRef)(t);return c.current=t,(0,J.useLayoutEffect)(()=>{s.parentElement||a.appendChild(s);let e=()=>{let e=c.current;e===`__dock__`||tr(e)||W.getState().setFocusedPanel(e)};return s.addEventListener(`pointerdown`,e,!0),s.addEventListener(`focusin`,e,!0),()=>{s.removeEventListener(`pointerdown`,e,!0),s.removeEventListener(`focusin`,e,!0),s.remove()}},[s,a]),(0,J.useLayoutEffect)(()=>{s.style.display=i?``:`none`},[s,i]),(0,J.useLayoutEffect)(()=>{let e=Xl.get(t);if(!e){s.parentElement!==a&&a.appendChild(s);return}if(s.parentElement===e)return;let n=[];s.querySelectorAll(`*`).forEach(e=>{(e.scrollTop||e.scrollLeft)&&n.push({el:e,top:e.scrollTop,left:e.scrollLeft})}),e.appendChild(s);for(let{el:e,top:t,left:r}of n)e.scrollTop=t,e.scrollLeft=r}),(0,Ql.createPortal)((0,Y.jsx)(Yn,{container:fi(t),children:(0,Y.jsx)(J.Suspense,{fallback:(0,Y.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,Y.jsx)(L,{className:`size-6 animate-spin text-primary`})}),children:(0,Y.jsx)(n,{metadata:r,tabId:e})})}),s)}function eu(e,t){return`${e}|${t}`}function tu(e,t){let n=new Set(e.tabs.map(e=>e.id)),r=t.filter(e=>!n.has(e.id));if(r.length===0)return e;let i=[...e.tabs,...r];return{...e,tabs:i,tabHistory:[...e.tabHistory,...r.map(e=>e.id)],activeTabId:e.activeTabId??i[i.length-1].id}}function nu(e){let{grid:t,liveWindowIds:n}=e,r=new Set(n),i=t.flat(),a={...e.panels},o=e.focusedPanelId,s=!1,c=i.includes(o)?o:i[0];for(let[t,n]of Object.entries(e.panels)){if(!tr(t))continue;let e=$n(t);if(e&&r.has(e)||!c)continue;let i=a[c];i&&(a[c]=tu(i,n.tabs),delete a[t],s=!0)}let l=n.filter(e=>!a[ir(e)]);if(!i.includes(o)){let e=i[0];e&&(o=e,s=!0)}return{panels:a,focusedPanelId:o,windowIdsToClose:l,changed:s}}function ru(){let e=Ir(),t=W(e=>e.currentProject),n=pr(e=>e.restored),r=(0,J.useRef)(null);(0,J.useEffect)(()=>{if(!t||!n&&!e)return;let i=eu(t,e);if(r.current===i)return;r.current=i;let{panels:a,grid:o,focusedPanelId:s}=W.getState(),c=nu({panels:a,grid:o,focusedPanelId:s,liveWindowIds:e?[]:Object.values(pr.getState().windows).filter(e=>e.kind===`tab-host`).map(e=>e.id)});c.changed&&(W.setState({panels:c.panels,focusedPanelId:c.focusedPanelId}),nr(W.getState));for(let e of c.windowIdsToClose)pr.getState().close(e)},[t,n,e])}var iu={terminal:(0,J.lazy)(()=>H(()=>import(`./terminal-tab-DUfUFotE.js`).then(e=>({default:e.TerminalTab})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]))),chat:(0,J.lazy)(()=>H(()=>import(`./chat-tab-zWnjUbGY.js`).then(e=>({default:e.ChatTab})),__vite__mapDeps([24,1,2,3,4,25,7,26,27,8,28,29,30,16,31,21,10,18,11,32,33,9,34,35,36,37,38,39,13,40,41,42,43,44,12,14,45,19,20]))),editor:(0,J.lazy)(()=>H(()=>import(`./code-editor-Dsd0-t0B.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([46,1,2,3,4,47,48,49,50,16,51,9,8,10,22,23,21,18,7,11,52,25,27,53,40,41,36,54,55,56,39,13,43,12,14,57,35,15,58,59,60]))),database:(0,J.lazy)(()=>H(()=>import(`./database-viewer-h7ffU0AC.js`).then(e=>({default:e.DatabaseViewer})),__vite__mapDeps([61,1,2,3,4,47,48,49,50,16,51,9,8,10,22,23,21,18,7,11,52,62]))),sqlite:(0,J.lazy)(()=>H(()=>import(`./sqlite-viewer-DV48IAz3.js`).then(e=>({default:e.SqliteViewer})),__vite__mapDeps([63,1,2,3,4,47,48,49,50,16,51,9,8,10,22,23,21,18,7,11,52,62]))),postgres:(0,J.lazy)(()=>H(()=>import(`./postgres-viewer-CGf7_g6Z.js`).then(e=>({default:e.PostgresViewer})),__vite__mapDeps([64,1,2,65,3,4,66,8,16]))),"git-diff":(0,J.lazy)(()=>H(()=>import(`./diff-viewer-DgUhjbEV.js`).then(e=>({default:e.DiffViewer})),__vite__mapDeps([67,1,2,3,4,25,7,8,53,40,10,41,9,29,54,15,16,59,60,51,22,23]))),"branch-review":(0,J.lazy)(()=>H(()=>import(`./branch-review-tab-BbzN5p9l.js`).then(e=>({default:e.BranchReviewTab})),__vite__mapDeps([68,1,2,3,4,25,7,8,53,40,10,41,9,67,29,54,15,16,59,60,51,22,23,12,13,14,57,35,58]))),settings:(0,J.lazy)(()=>H(()=>import(`./settings-tab-YB7WKDB2.js`).then(e=>({default:e.SettingsTab})),__vite__mapDeps([69,2,1,3,4,25,7,70,57,71,16]))),extension:(0,J.lazy)(()=>H(()=>import(`./extension-webview-DJYTtv-_.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([72,1,3,4,8,16,59,10,22]))),"extension-webview":(0,J.lazy)(()=>H(()=>import(`./extension-webview-DJYTtv-_.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([72,1,3,4,8,16,59,10,22]))),"conflict-editor":(0,J.lazy)(()=>H(()=>import(`./conflict-editor-BGcWuObI.js`).then(e=>({default:e.ConflictEditor})),__vite__mapDeps([73,1,2,3,4,8,9,10,35,15,16,60,7,51,22,23]))),"system-monitor":(0,J.lazy)(()=>H(()=>import(`./system-monitor-tab-DHxUvcC_.js`).then(e=>({default:e.SystemMonitorTab})),__vite__mapDeps([74,2,1,3,4,8,75,7,16]))),"git-log":(0,J.lazy)(()=>H(()=>import(`./git-log-panel-BCTP0Wht.js`).then(e=>({default:e.GitLogPanel})),__vite__mapDeps([76,1,3,4,7,8,57,16,59,10,40,41]))),"ai-resource":(0,J.lazy)(()=>H(()=>import(`./ai-resource-editor-b9DtpHrO.js`).then(e=>({default:e.AiResourceEditor})),__vite__mapDeps([77,1,2,3,4,7,8,9,10,16,51,22,23]))),group:(0,J.lazy)(()=>H(()=>import(`./group-chat-tab-DxS-3-0R.js`).then(e=>({default:e.GroupChatTab})),__vite__mapDeps([78,1,2,3,4,25,7,79,8,36,10,56,31,40,41,17,18,11,21,28,29,30,16,9,44,13,39,12,14,35,45,59,20]))),problems:(0,J.lazy)(()=>H(()=>import(`./problems-panel-fCMIRPtD.js`).then(e=>({default:e.ProblemsPanel})),__vite__mapDeps([80,1,3,4,7,8,11,10,35,58,41,16,40,18])))},au={position:`fixed`,top:0,left:0,width:0,height:0,overflow:`hidden`,pointerEvents:`none`,visibility:`hidden`};function ou(){let[e,t]=(0,J.useState)(null);(0,J.useSyncExternalStore)(e=>Xl.subscribe(e),()=>Xl.getVersion());let n=W(e=>e.panels),r=W(e=>e.grid),i=W(e=>e.currentProject),a=W(e=>e.projectGrids);ru();let o=Jl(n,r,a,i),s=Yl(o,Wl(e=>e.mounted)),c=o.filter(e=>e.isActive).map(e=>e.tabId);return(0,J.useEffect)(()=>{let{mount:e}=Wl.getState();for(let t of c)e(t)},[JSON.stringify(c)]),(0,Y.jsx)(`div`,{ref:t,style:au,children:e&&s.map(t=>{let n=iu[t.type];return n?(0,Y.jsx)($l,{tabId:t.tabId,panelId:t.panelId,component:n,metadata:t.metadata,isActive:t.isActive,hiddenContainer:e},t.tabId):null})})}var su=[{type:`terminal`,label:`Terminal`,icon:Fn},{type:`chat`,label:`AI Chat`,icon:kn},{type:`editor`,label:`New File`,icon:sn}];function cu({panelId:e,projectName:t}){let n=W(t=>t.panels[e]),r=W(t=>t.focusedPanelId===e),i=W(e=>(e.currentProject===t?e.grid:e.projectGrids[t]??[[]]).flat().length),a=(0,J.useCallback)(t=>{Zl(e,t)},[e]);if(!n)return null;let o=Qn(n.tabs,t).length===0;return(0,Y.jsxs)(`div`,{className:U(`flex flex-col h-full overflow-hidden`,i>1&&`border border-transparent`,i>1&&r&&`border-primary/30`),onMouseDown:()=>{W.getState().focusedPanelId!==e&&W.getState().setFocusedPanel(e,!1)},children:[(0,Y.jsx)(Hl,{panelId:e}),(0,Y.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,"data-panel-drop-zone":e,onAuxClick:t=>{t.button!==1||!o||(t.preventDefault(),W.getState().closePanel(e))},children:[o&&(0,Y.jsx)(lu,{panelId:e,canClose:i>1}),(0,Y.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:o?{display:`none`}:void 0}),(0,Y.jsx)(Ul,{panelId:e})]})]})}function lu({panelId:e,canClose:t}){let n=G(e=>e.activeProject);function r(t){if(t===`editor`){K.getState().openNewFile();return}let r=t!==`settings`&&n?{projectName:n.name}:void 0;W.getState().openTab({type:t,title:su.find(e=>e.type===t)?.label??t,metadata:r,projectId:n?.name??null,closable:!0},e)}let i=(0,J.useCallback)(t=>{W.getState().openTab({type:`chat`,title:t.title||`Chat`,projectId:n?.name??null,metadata:{projectName:n?.name,sessionId:t.id,providerId:t.providerId},closable:!0},e)},[n?.name,e]);return(0,Y.jsx)(`div`,{className:`flex flex-col h-full overflow-y-auto text-text-secondary`,children:(0,Y.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-6 px-4 flex-1`,children:[(0,Y.jsx)(`p`,{className:`text-sm`,children:`Open a tab to get started`}),(0,Y.jsx)(`div`,{className:`grid grid-cols-3 gap-2 w-full max-w-sm`,children:su.map(e=>{let t=e.icon;return(0,Y.jsxs)(`button`,{onClick:()=>r(e.type),className:`flex flex-col items-center justify-center gap-1.5 px-2 py-3 rounded-md border border-border bg-surface hover:bg-surface-elevated active:bg-surface-elevated text-xs text-foreground transition-colors`,children:[(0,Y.jsx)(t,{className:`size-5`}),e.label]},e.type)})}),t&&(0,Y.jsxs)(`button`,{onClick:()=>W.getState().closePanel(e),className:`flex items-center gap-1.5 px-4 py-3.5 rounded-md text-xs text-text-subtle hover:text-foreground active:bg-surface-elevated transition-colors`,children:[(0,Y.jsx)(he,{className:`size-3.5`}),`Close Panel`]}),(0,Y.jsx)(Vs,{projectName:n?.name,onSelectSession:i,className:`w-full`})]})})}function uu(e,t,n){let r=n!==`bottom`;if(n===`bottom`||e.length<=2)return{visible:[...e],overflow:[],iconOnlyInactive:r};let i=new Set;t&&e.includes(t)&&i.add(t);for(let t of e){if(i.size>=2)break;i.add(t)}return{visible:e.filter(e=>i.has(e)),overflow:e.filter(e=>!i.has(e)),iconOnlyInactive:r}}function du({...e}){return(0,Y.jsx)(f,{"data-slot":`dropdown-menu`,...e})}function fu({container:e,...t}){let n=Jn();return(0,Y.jsx)(v,{"data-slot":`dropdown-menu-portal`,container:e??n,...t})}function pu({...e}){return(0,Y.jsx)(h,{"data-slot":`dropdown-menu-trigger`,...e})}function mu({className:e,sideOffset:t=4,...n}){return(0,Y.jsx)(fu,{children:(0,Y.jsx)(b,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:U(`z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...n})})}function hu({className:e,inset:t,variant:n=`default`,...r}){return(0,Y.jsx)(x,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:U(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!`,e),...r})}function gu({className:e,children:t,checked:n,...r}){return(0,Y.jsxs)(y,{"data-slot":`dropdown-menu-checkbox-item`,className:U(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...r,children:[(0,Y.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,Y.jsx)(m,{children:(0,Y.jsx)(ye,{className:`size-4`})})}),t]})}function _u({...e}){return(0,Y.jsx)(S,{"data-slot":`dropdown-menu-radio-group`,...e})}function vu({className:e,children:t,...n}){return(0,Y.jsxs)(ue,{"data-slot":`dropdown-menu-radio-item`,className:U(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,Y.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,Y.jsx)(m,{children:(0,Y.jsx)(Oe,{className:`size-2 fill-current`})})}),t]})}function yu({className:e,inset:t,...n}){return(0,Y.jsx)(_,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:U(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function bu({className:e,...t}){return(0,Y.jsx)(E,{"data-slot":`dropdown-menu-separator`,className:U(`-mx-1 my-1 h-px bg-border`,e),...t})}function xu({...e}){return(0,Y.jsx)(g,{"data-slot":`dropdown-menu-sub`,...e})}function Su({className:e,inset:t,children:n,...r}){return(0,Y.jsxs)(D,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:U(`flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,Y.jsx)(Ve,{className:`ml-auto size-4`})]})}function Cu({className:e,...t}){return(0,Y.jsx)(T,{"data-slot":`dropdown-menu-sub-content`,className:U(`z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})}var wu={left:Te,bottom:Qe,right:ze},Tu={left:`Left`,bottom:`Bottom`,right:`Right`},Eu=[`left`,`bottom`,`right`];function Du(){let e=W(e=>e.panels[ar]),t=G(e=>e.activeProject?.name??null),n=V(e=>e.dockPosition),r=V(e=>e.setDockPosition),i=W(e=>e.dockExpanded),a=(e?.tabs??[]).filter(e=>!e.projectId||!t||e.projectId===t),o=e?.activeTabId??null,s=new Map(a.map(e=>[e.id,e])),c=uu(a.map(e=>e.id),o,n);function l(e){W.getState().setActiveTab(e,ar)}function u(e){W.getState().closeTab(e,ar)}function d(){let e=G.getState().activeProject;W.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}let f=wu[n];return(0,Y.jsxs)(`div`,{className:`flex items-center h-8 min-w-0 flex-1 gap-1 px-1`,children:[(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1 overflow-x-auto scrollbar-none`,children:[c.visible.map(e=>{let t=s.get(e);if(!t)return null;let n=Vl(t),r=e===o,i=!c.iconOnlyInactive||r,a=(0,Y.jsxs)(`button`,{onClick:()=>l(e),className:U(`flex items-center gap-1.5 h-6 rounded-full border shrink-0 transition-colors`,i?`px-2.5`:`px-1.5`,r?`border-primary text-primary bg-primary/10`:`border-border text-text-secondary hover:bg-surface-elevated`),children:[(0,Y.jsx)(n,{className:`size-3`}),i&&(0,Y.jsx)(`span`,{className:`text-[11px] font-medium max-w-[120px] truncate`,children:t.title}),i&&t.closable&&(0,Y.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":`Close ${t.title}`,onClick:t=>{t.stopPropagation(),u(e)},className:`flex items-center justify-center size-4 -mr-1 rounded hover:bg-surface-elevated hover:text-foreground`,children:(0,Y.jsx)(he,{className:`size-3`})})]},e);return i?a:(0,Y.jsxs)(_a,{children:[(0,Y.jsx)(va,{asChild:!0,children:a}),(0,Y.jsx)(ya,{side:`top`,className:`text-xs`,children:t.title})]},e)}),c.overflow.length>0&&(0,Y.jsxs)(du,{children:[(0,Y.jsx)(pu,{asChild:!0,children:(0,Y.jsxs)(`button`,{className:`flex items-center justify-center h-6 px-2 rounded-full border border-border text-text-secondary text-[10px] font-mono shrink-0 hover:bg-surface-elevated`,children:[`+`,c.overflow.length]})}),(0,Y.jsx)(mu,{align:`start`,className:`min-w-[10rem]`,children:c.overflow.map(e=>{let t=s.get(e);return t?(0,Y.jsxs)(hu,{onClick:()=>l(e),children:[(0,Y.jsx)(Vl(t),{className:`size-3.5`}),(0,Y.jsx)(`span`,{className:`truncate`,children:t.title})]},e):null})})]}),(0,Y.jsx)(`button`,{onClick:d,title:`New panel tab`,"aria-label":`New panel tab`,className:`flex items-center justify-center size-6 rounded-full border border-dashed border-border text-text-subtle shrink-0 hover:bg-surface-elevated hover:text-foreground`,children:(0,Y.jsx)(_n,{className:`size-3.5`})})]}),(0,Y.jsxs)(du,{children:[(0,Y.jsx)(pu,{asChild:!0,children:(0,Y.jsxs)(`button`,{title:`Panel position`,"aria-label":`Panel position`,className:`flex items-center gap-0.5 h-6 px-1.5 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:[(0,Y.jsx)(f,{className:`size-3.5`}),(0,Y.jsx)(qe,{className:`size-2.5`})]})}),(0,Y.jsxs)(mu,{align:`end`,children:[(0,Y.jsx)(yu,{className:`text-[10px] uppercase tracking-wide text-text-subtle`,children:`Panel Position`}),Eu.map(e=>{let t=wu[e],i=e===n;return(0,Y.jsxs)(hu,{onClick:()=>r(e),className:U(i&&`text-primary bg-primary/10`),children:[(0,Y.jsx)(t,{className:`size-3.5`}),(0,Y.jsx)(`span`,{className:`flex-1`,children:Tu[e]}),i&&(0,Y.jsx)(An,{className:`size-3.5`})]},e)})]})]}),(0,Y.jsx)(`div`,{className:`w-px h-4 bg-border shrink-0`}),(0,Y.jsx)(`button`,{onClick:()=>W.getState().toggleDockExpanded(),title:i?`Restore panel`:`Maximize panel`,"aria-label":i?`Restore panel`:`Maximize panel`,className:`flex items-center justify-center size-7 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:i?(0,Y.jsx)(at,{className:`size-3.5`}):(0,Y.jsx)(Wt,{className:`size-3.5`})}),(0,Y.jsx)(`button`,{onClick:()=>W.getState().setDockVisible(!1),title:`Hide panel`,"aria-label":`Hide panel`,className:`flex items-center justify-center size-7 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:(0,Y.jsx)(qe,{className:`size-3.5`})})]})}var Ou={top:`border-t`,left:`border-l`,right:`border-r`};function ku({variant:e=`desktop`,borderEdge:t=`top`}){let n=W(e=>e.panels[ar]),r=G(e=>e.activeProject?.name??null),i=(n?.tabs??[]).some(e=>!e.projectId||!r||e.projectId===r),a=(0,J.useCallback)(e=>{Zl(ar,e)},[]);return(0,Y.jsxs)(`div`,{className:U(`flex flex-col h-full overflow-hidden border-border bg-panel`,e===`desktop`&&Ou[t]),children:[(0,Y.jsx)(`div`,{className:`flex items-center shrink-0`,children:e===`mobile`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Au,{}),(0,Y.jsx)(`button`,{onClick:()=>W.getState().setDockVisible(!1),title:`Hide terminal dock`,className:U(`shrink-0 flex items-center justify-center mr-1 size-11`,`text-text-subtle hover:text-foreground hover:bg-surface-elevated`,`active:bg-surface-elevated rounded transition-colors`),"aria-label":`Hide terminal dock`,children:(0,Y.jsx)(he,{className:`size-3.5`})})]}):(0,Y.jsx)(Du,{})}),(0,Y.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,children:[!i&&(0,Y.jsx)(ju,{variant:e}),(0,Y.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:i?void 0:{display:`none`}})]})]})}function Au(){let e=W(e=>e.panels[ar]),t=G(e=>e.activeProject),n=W(e=>e.dockExpanded),r=t?.name??null,i=(e?.tabs??[]).filter(e=>!e.projectId||!r||e.projectId===r),a=e?.activeTabId??null;function o(e){W.getState().setActiveTab(e,ar)}function s(){let e=t;W.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center h-11 gap-1 pl-2 overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1.5 overflow-x-auto scrollbar-none`,children:[i.map(e=>{let t=Vl(e);return(0,Y.jsxs)(`div`,{className:U(`flex items-center h-8 pl-3 pr-1 gap-1 rounded-full border shrink-0 transition-colors`,e.id===a?`border-primary text-primary bg-primary/10`:`border-border text-text-secondary`),children:[(0,Y.jsxs)(`button`,{onClick:()=>o(e.id),className:`flex items-center gap-1.5 min-w-0`,children:[(0,Y.jsx)(t,{className:`size-[13px] shrink-0`}),(0,Y.jsx)(`span`,{className:`max-w-[96px] truncate text-xs font-medium`,children:e.title})]}),e.closable&&(0,Y.jsx)(`button`,{onClick:()=>W.getState().closeTab(e.id,`__dock__`),"aria-label":`Close ${e.title}`,className:`shrink-0 flex items-center justify-center size-6 rounded-full text-text-subtle active:bg-surface-elevated active:text-foreground`,children:(0,Y.jsx)(he,{className:`size-3.5`})})]},e.id)}),(0,Y.jsx)(`button`,{onClick:s,title:`New panel tab`,"aria-label":`New panel tab`,className:`shrink-0 flex items-center justify-center size-8 rounded-full border border-dashed border-border text-text-subtle active:bg-surface-elevated`,children:(0,Y.jsx)(_n,{className:`size-4`})})]}),(0,Y.jsx)(`button`,{onClick:()=>W.getState().toggleDockExpanded(),title:n?`Collapse panel`:`Expand panel`,"aria-label":n?`Collapse panel`:`Expand panel`,className:`shrink-0 flex items-center justify-center size-9 text-text-subtle active:bg-surface-elevated rounded transition-colors`,children:n?(0,Y.jsx)(at,{className:`size-4`}):(0,Y.jsx)(Wt,{className:`size-4`})})]})}function ju({variant:e}){let t=G(e=>e.activeProject);function n(){let e=t;W.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,Y.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,Y.jsxs)(`button`,{onClick:n,className:U(`flex items-center gap-2 rounded-md`,e===`mobile`?`px-4 py-3`:`px-3 py-2`,`border border-border bg-surface hover:bg-surface-elevated active:bg-surface-elevated`,`text-sm text-foreground transition-colors`),children:[(0,Y.jsx)(Fn,{className:`size-4`}),`Open Terminal`]})})}function Mu(e,t,n){return e===`bottom`?{orientation:`vertical`,dockFirst:!1,dockSize:`${n?70:t}%`,borderEdge:`top`}:{orientation:`horizontal`,dockFirst:e===`left`,dockSize:`${n?55:t}%`,borderEdge:e===`left`?`right`:`left`}}var Nu=[[]],Pu=(0,J.memo)(function({projectName:e}){let t=ps(`(min-width: 768px)`),n=W(t=>t.currentProject===e?t.grid:t.projectGrids[e]??Nu),r=W(e=>e.focusedPanelId),i=W(e=>e.dock),a=W(e=>e.dockExpanded),o=V(e=>e.dockPosition),s=W(e=>e.currentProject),c=n.flat().length,l=s===e;(0,J.useEffect)(()=>{if(l&&c===0){let e=Xn();W.setState(t=>({panels:{...t.panels,[e.id]:e},grid:[[e.id]],focusedPanelId:e.id}))}},[l,c]);let u=(0,J.useCallback)(({asPercentage:e})=>{W.getState().dockExpanded||W.getState().setDockHeight(e)},[]),d=(0,J.useRef)({key:``,size:``});if(c===0)return null;if(!t){let t=n.flat(),i=t.includes(r)?r:t[0];return i?(0,Y.jsx)(cu,{panelId:i,projectName:e}):null}let f=c===1&&n[0]?.[0]?(0,Y.jsx)(cu,{panelId:n[0][0],projectName:e}):(0,Y.jsx)(os,{orientation:`vertical`,style:{height:`100%`},children:n.map((t,r)=>(0,Y.jsx)(Fu,{row:t,rowIdx:r,totalRows:n.length,projectName:e},`row-${r}`))});if(!l)return(0,Y.jsx)(Y.Fragment,{children:f});let p=Mu(o,i.height,a),m=p.orientation===`vertical`?`horizontal`:`vertical`,h=`${o}-${a}`;d.current.key!==h&&(d.current={key:h,size:p.dockSize});let g=(0,Y.jsx)(ls,{minSize:`15%`,children:f}),_=i.visible?(0,Y.jsx)(ls,{defaultSize:d.current.size,minSize:`10%`,maxSize:`85%`,onResize:u,children:(0,Y.jsx)(ku,{borderEdge:p.borderEdge})}):null,v=i.visible?(0,Y.jsx)(Lu,{orientation:m}):null;return(0,Y.jsxs)(os,{orientation:p.orientation,style:{height:`100%`},children:[p.dockFirst?_:g,v,p.dockFirst?g:_]},h)});function Fu({row:e,rowIdx:t,totalRows:n,projectName:r}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(ls,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:e.length===1?(0,Y.jsx)(cu,{panelId:e[0],projectName:r}):(0,Y.jsx)(os,{orientation:`horizontal`,children:e.map((t,n)=>(0,Y.jsx)(Iu,{panelId:t,colIdx:n,totalCols:e.length,projectName:r},t))})}),t<n-1&&(0,Y.jsx)(Lu,{orientation:`horizontal`})]})}function Iu({panelId:e,colIdx:t,totalCols:n,projectName:r}){return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(ls,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:(0,Y.jsx)(cu,{panelId:e,projectName:r})}),t<n-1&&(0,Y.jsx)(Lu,{orientation:`vertical`})]})}function Lu({orientation:e}){let t=e===`vertical`;return(0,Y.jsx)(fs,{className:`
13
13
  group/handle relative flex items-center justify-center
14
14
  ${t?`w-px cursor-col-resize`:`h-px cursor-row-resize`}
15
15
  bg-border/30 hover:bg-primary/30 active:bg-primary/50
@@ -20,7 +20,7 @@ body>*{position:relative;width:100%;height:100%}`;function dl(e){return Array.fr
20
20
  `)}`),alert(a)}catch(e){alert(`Import failed: ${e.message}`)}};return(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(`button`,{onClick:()=>r(e=>!e),className:`flex items-center justify-center size-5 rounded hover:bg-surface-elevated transition-colors text-text-subtle hover:text-foreground`,title:`Import / Export`,children:(0,Y.jsx)($t,{className:`size-3.5`})}),n&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:a}),(0,Y.jsxs)(`div`,{className:`absolute right-0 top-full mt-1 z-50 w-44 bg-background border border-border rounded-md shadow-lg py-1 text-xs`,children:[(0,Y.jsxs)(`button`,{onClick:o,className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,Y.jsx)(wn,{className:`size-3`}),` Export to file`]}),(0,Y.jsxs)(`button`,{onClick:s,className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,Y.jsx)(mt,{className:`size-3`}),` Export to clipboard`]}),(0,Y.jsx)(`div`,{className:`border-t border-border my-1`}),(0,Y.jsxs)(`button`,{onClick:()=>{a(),i.current?.click()},className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,Y.jsx)(en,{className:`size-3`}),` Import from file`]}),(0,Y.jsxs)(`button`,{onClick:async()=>{a();try{let e=await navigator.clipboard.readText();if(!e.trim()){alert(`Clipboard is empty`);return}await c(e)}catch(e){alert(`Clipboard read failed: ${e.message}`)}},className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,Y.jsx)(gn,{className:`size-3`}),` Import from clipboard`]})]})]}),(0,Y.jsx)(`input`,{ref:i,type:`file`,accept:`.json`,className:`hidden`,onChange:e=>{let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>c(n.result),n.readAsText(t),e.target.value=``}})]})}function Nm(){let[e,t]=(0,J.useState)([]),[n,r]=(0,J.useState)(!0),[i,a]=(0,J.useState)(new Map),[o,s]=(0,J.useState)(new Map),c=(0,J.useCallback)(async()=>{try{t(await z.get(`/api/db/connections`))}catch{}finally{r(!1)}},[]);(0,J.useEffect)(()=>{c()},[c]);let l=(0,J.useCallback)(async e=>{let n=await z.post(`/api/db/connections`,e);return t(e=>[...e,n]),n},[]),u=(0,J.useCallback)(async(e,n)=>{let r=await z.put(`/api/db/connections/${e}`,n);t(t=>t.map(t=>t.id===e?r:t))},[]),d=(0,J.useCallback)(async e=>{await z.del(`/api/db/connections/${e}`),t(t=>t.filter(t=>t.id!==e)),a(t=>{let n=new Map(t);return n.delete(e),n})},[]),f=(0,J.useCallback)(async e=>z.post(`/api/db/connections/${e}/test`),[]),p=(0,J.useCallback)(async(e,t)=>z.post(`/api/db/test`,{type:e,connectionConfig:t}),[]),m=(0,J.useCallback)(async e=>{s(t=>{let n=new Map(t);return n.delete(e),n});try{let t=(await z.get(`/api/db/connections/${e}/tables`)).map(t=>({connectionId:e,tableName:t.name,schemaName:t.schema,rowCount:t.rowCount,cachedAt:new Date().toISOString()}));a(n=>new Map(n).set(e,t))}catch(t){let n=t.message||`Connection failed`;throw s(t=>new Map(t).set(e,n)),t}},[]),[h,g]=(0,J.useState)(new Map),_=(0,J.useRef)(h);return _.current=h,{connections:e,loading:n,cachedTables:i,refreshErrors:o,columnCache:h,createConnection:l,updateConnection:u,deleteConnection:d,testConnection:f,testRawConnection:p,refreshTables:m,fetchColumns:(0,J.useCallback)(async(e,t,n)=>{let r=`${e}:${n??`main`}.${t}`,i=_.current.get(r);if(i)return i;let a=await z.get(`/api/db/connections/${e}/schema?table=${encodeURIComponent(t)}${n?`&schema=${encodeURIComponent(n)}`:``}`);return g(e=>new Map(e).set(r,a)),a},[]),exportConnections:(0,J.useCallback)(async()=>z.get(`/api/db/connections/export`),[]),importConnections:(0,J.useCallback)(async e=>{let t=await z.post(`/api/db/connections/import`,e);await c();let n=t.connections??[];return n.length>0&&Promise.all(n.map(e=>m(e.id).catch(()=>{}))),t},[c,m])}}function Pm(){let{connections:e,loading:t,cachedTables:n,refreshErrors:r,columnCache:i,createConnection:a,updateConnection:o,deleteConnection:s,testConnection:c,testRawConnection:l,refreshTables:u,fetchColumns:d,exportConnections:f,importConnections:p}=Nm(),m=K(e=>e.openTab),[h,g]=(0,J.useState)(!1),[_,v]=(0,J.useState)(null);return(0,Y.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,Y.jsxs)(md,{icon:Dt,title:`Database`,children:[(0,Y.jsx)(Mm,{onExport:f,onImport:p}),(0,Y.jsx)(`button`,{onClick:()=>g(!0),className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`,title:`Add connection`,children:(0,Y.jsx)(_n,{className:`size-3.5`})})]}),(0,Y.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:t?(0,Y.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-subtle text-center`,children:`Loading…`}):(0,Y.jsx)(ym,{connections:e,cachedTables:n,refreshErrors:r,onOpenTable:(e,t,n)=>{m({type:`database`,title:`${e.name} · ${t}`,projectId:null,closable:!0,metadata:{connectionId:e.id,connectionName:e.name,dbType:e.type,tableName:t,schemaName:n,connectionColor:e.color}})},onRefreshTables:u,onEdit:v,onDelete:async e=>{if(confirm(`Delete this connection?`))try{await s(e)}catch{}},onFetchColumns:d,columnCache:i})}),(0,Y.jsx)(jm,{open:h,onClose:()=>g(!1),onSave:async e=>{let t=await a(e);t&&u(t.id).catch(()=>{})},onTest:()=>Promise.resolve({ok:!1,error:`Save connection first`}),onTestRaw:l}),_&&(0,Y.jsx)(jm,{open:!!_,onClose:()=>v(null),connection:_,onUpdate:async(e,t)=>{await o(e,t)},onTest:e=>c(e)})]})}function Fm(e,t,n,r){if(!e)return null;try{let i=r?e:e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return n&&(i=`\\b${i}\\b`),RegExp(`(${i})`,t?`g`:`gi`)}catch{return null}}function Im({text:e,re:t}){if(!t)return(0,Y.jsx)(`span`,{children:e});try{t.lastIndex=0;let n=e.split(t);return t.lastIndex=0,(0,Y.jsx)(`span`,{children:n.map((e,n)=>(t.lastIndex=0,t.test(e)?(0,Y.jsx)(`mark`,{className:`bg-warning/40 text-foreground rounded-sm`,children:e},n):e))})}catch{return(0,Y.jsx)(`span`,{children:e})}}function Lm({active:e,onClick:t,title:n,children:r}){return(0,Y.jsx)(`button`,{onClick:t,title:n,className:U(`flex items-center justify-center w-6 h-6 rounded border shrink-0`,e?`border-primary text-primary bg-primary/10`:`border-border text-text-subtle hover:text-foreground hover:border-border/80`),children:r})}function Rm({onNavigate:e}={}){let{activeProject:t}=G(Uu(e=>({activeProject:e.activeProject}))),n=K(e=>e.openTab),[r,i]=(0,J.useState)(``),[a,o]=(0,J.useState)(!1),[s,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(!1),[p,m]=(0,J.useState)(``),[h,g]=(0,J.useState)(``),[_,v]=(0,J.useState)(!1),[y,b]=(0,J.useState)(null),[x,S]=(0,J.useState)([]),[C,w]=(0,J.useState)(0),[T,E]=(0,J.useState)(!1),[D,O]=(0,J.useState)(new Set),k=(0,J.useRef)(null),A=(0,J.useRef)(null),j=(0,J.useRef)(null),M=(0,J.useRef)(0),[ee,N]=(0,J.useState)(null),[P,F]=(0,J.useState)(!1),te=JSON.stringify([t?.name,r,a,s,l,p]),ne=(0,J.useRef)(te);ne.current!==te&&(ne.current=te,M.current++);let re=(0,J.useCallback)(async(e,n,r,i,a)=>{let o=++M.current;if(N(null),F(!1),E(!1),S([]),w(0),f(!1),!t||!i&&e.length<2||i&&e.length<1){S([]),w(0);return}if(i)try{new RegExp(e)}catch{f(!0),S([]);return}E(!0);try{let s=new URLSearchParams({q:e,caseSensitive:String(n),wholeWord:String(r),regex:String(i)});a&&s.set(`include`,a);let c=await z.get(`${R(t.name)}/files/search?${s}`);if(o!==M.current)return;S(c.results),w(c.total),F(!0);let l=!!j.current?.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0});l&&Pp({type:`search-succeeded`,projectName:t.name,requestId:String(o),visible:l})}catch(e){if(o!==M.current)return;S([]),N(e instanceof Error?e.message:`Unable to search this project.`)}finally{o===M.current&&E(!1)}},[t]);(0,J.useEffect)(()=>(A.current&&clearTimeout(A.current),F(!1),N(null),S([]),w(0),E(!1),A.current=setTimeout(()=>re(r,a,s,l,p),300),()=>{M.current++,A.current&&clearTimeout(A.current)}),[r,a,s,l,p,re]),(0,J.useEffect)(()=>{k.current?.focus()},[]);let ie=Fm(r,a,s,l);function ae(r,i){t&&(n({type:`editor`,title:r.split(`/`).pop()??r,metadata:{filePath:r,projectName:t.name,lineNumber:i},projectId:t.name,closable:!0}),e?.())}function I(e){O(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}async function oe(){if(!t||!r||x.length===0||_)return;v(!0),b(null);let e=0;try{for(let n of x){let i=await z.get(`${R(t.name)}/files/read?path=${encodeURIComponent(n.file)}`),o=Fm(r,a,s,l);if(!o)continue;o.lastIndex=0;let c=i.content.match(o)??[];if(!c.length)continue;e+=c.length,o.lastIndex=0;let u=i.content.replace(o,h);await z.put(`${R(t.name)}/files/write`,{path:n.file,content:u})}b(e),re(r,a,s,l,p)}catch{}finally{v(!1)}}return(0,Y.jsxs)(`div`,{ref:j,"data-onboarding":`search`,className:`flex flex-col h-full`,children:[(0,Y.jsxs)(`div`,{className:`p-2 border-b border-border space-y-1.5`,children:[(0,Y.jsx)(`div`,{className:`relative flex items-center gap-1`,children:(0,Y.jsxs)(`div`,{className:`relative flex-1`,children:[(0,Y.jsx)(Jt,{className:`absolute left-2 top-1/2 -translate-y-1/2 size-3.5 text-text-subtle pointer-events-none`}),(0,Y.jsx)(`input`,{ref:k,value:r,onChange:e=>{i(e.target.value),b(null)},placeholder:t?`Search files…`:`Select a project first`,disabled:!t,className:U(`w-full pl-7 pr-6 py-1 text-xs bg-input border rounded focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50`,d?`border-destructive`:`border-border`)}),r&&(0,Y.jsx)(`button`,{onClick:()=>{i(``),S([]),w(0),f(!1),b(null)},className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,Y.jsx)(he,{className:`size-3`})})]})}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(Lm,{active:a,onClick:()=>o(e=>!e),title:`Match Case (Alt+C)`,children:(0,Y.jsx)(na,{className:`size-3.5`})}),(0,Y.jsx)(Lm,{active:s,onClick:()=>{c(e=>!e),l&&u(!1)},title:`Match Whole Word (Alt+W)`,children:(0,Y.jsx)(fa,{className:`size-3.5`})}),(0,Y.jsx)(Lm,{active:l,onClick:()=>{u(e=>!e),s&&c(!1)},title:`Use Regular Expression (Alt+R)`,children:(0,Y.jsx)(ca,{className:`size-3.5`})}),d&&(0,Y.jsx)(`span`,{className:`text-[10px] text-destructive ml-1`,children:`Invalid regex`})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsxs)(`div`,{className:`relative flex-1`,children:[(0,Y.jsx)(`input`,{value:h,onChange:e=>g(e.target.value),placeholder:`Replace…`,disabled:!t,className:`w-full pl-2 pr-6 py-1 text-xs bg-input border border-border rounded focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50`}),h&&(0,Y.jsx)(`button`,{onClick:()=>g(``),className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,Y.jsx)(he,{className:`size-3`})})]}),(0,Y.jsx)(`button`,{onClick:oe,disabled:!r||x.length===0||_,title:`Replace All`,className:`flex items-center justify-center w-6 h-6 rounded border border-border text-text-subtle hover:text-foreground hover:border-border/80 disabled:opacity-40 shrink-0`,children:_?(0,Y.jsx)(L,{className:`size-3.5 animate-spin`}):(0,Y.jsx)(la,{className:`size-3.5`})})]}),(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(`input`,{value:p,onChange:e=>m(e.target.value),placeholder:`Files to include (e.g. *.ts, src/**)`,disabled:!t,className:`w-full pl-2 pr-6 py-1 text-xs bg-input border border-border rounded focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50`}),p&&(0,Y.jsx)(`button`,{onClick:()=>m(``),className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,Y.jsx)(he,{className:`size-3`})})]}),(0,Y.jsxs)(`div`,{className:`text-[10px] text-text-subtle h-3`,children:[(T||_)&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(L,{className:`size-2.5 animate-spin`}),_?`Replacing…`:`Searching…`]}),!T&&!_&&y!==null&&(0,Y.jsxs)(`span`,{className:`text-success`,children:[y,` replacement`,y===1?``:`s`,` made`]}),ee&&(0,Y.jsxs)(`span`,{role:`alert`,className:`text-destructive`,children:[`Search failed: `,ee,` `,(0,Y.jsx)(`button`,{className:`underline`,onClick:()=>void re(r,a,s,l,p),children:`Retry search`})]}),!T&&!_&&!ee&&P&&y===null&&!d&&x.length===0&&(0,Y.jsx)(`span`,{children:`No results`}),!T&&!_&&y===null&&C>0&&(0,Y.jsxs)(`span`,{children:[C,` result`,C===1?``:`s`,` in `,x.length,` file`,x.length===1?``:`s`]})]})]}),(0,Y.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:x.map(e=>{let t=D.has(e.file),n=e.file.split(`/`).pop()??e.file,r=e.file.includes(`/`)?e.file.slice(0,e.file.lastIndexOf(`/`)):``;return(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`button`,{onClick:()=>I(e.file),className:`w-full flex items-center gap-1 px-2 py-1 hover:bg-muted/50 text-left`,children:[t?(0,Y.jsx)(Xt,{className:`size-3 shrink-0 text-text-subtle`}):(0,Y.jsx)(qe,{className:`size-3 shrink-0 text-text-subtle`}),(0,Y.jsx)(Ii,{name:n,className:`size-3.5`}),(0,Y.jsx)(`span`,{className:`text-xs font-medium text-foreground truncate`,children:n}),(0,Y.jsx)(`span`,{className:`text-[10px] text-text-subtle truncate flex-1 min-w-0 ml-1`,children:r}),(0,Y.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0 ml-1 bg-muted px-1 rounded`,children:e.matches.length})]}),!t&&e.matches.map(t=>(0,Y.jsxs)(`button`,{onClick:()=>ae(e.file,t.lineNum),className:`w-full flex items-start gap-2 pl-7 pr-2 py-0.5 hover:bg-primary/10 text-left`,children:[(0,Y.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0 w-7 text-right pt-px`,children:t.lineNum}),(0,Y.jsx)(`span`,{className:`text-xs text-text-secondary truncate font-mono leading-4`,children:(0,Y.jsx)(Im,{text:t.content.trimStart(),re:ie})})]},`${e.file}-${t.lineNum}`))]},e.file)})})]})}function zm(e,t){window.dispatchEvent(new CustomEvent(`ext:tree:expand`,{detail:{viewId:e,itemId:t}}))}function Bm(e,t){window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:t}}))}function Vm({viewId:e,className:t}){let n=Pc(t=>t.treeViews[e])??[],r=Pc(e=>e.contributions),i=(0,J.useMemo)(()=>{if(!r)return{name:e,headerActions:[]};let t=e,n=r.views;if(n)for(let r of Object.values(n)){let n=r.find(t=>t.id===e);if(n){t=n.name;break}}let i=[],a=r.menus?.[`view/title`];if(a)for(let t of a){if(t.when){let n=t.when.match(/view\s*==\s*(\S+)/);if(n&&n[1]!==e)continue}let n=r.commands?.find(e=>e.command===t.command);n&&i.push({command:n.command,title:n.title,icon:n.icon})}return{name:t,headerActions:i}},[r,e]);return(0,Y.jsxs)(`div`,{className:U(`flex flex-col h-full`,t),children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border shrink-0`,children:[(0,Y.jsx)(`span`,{className:`text-[10px] font-semibold text-text-subtle uppercase tracking-wider`,children:i.name}),(0,Y.jsx)(`div`,{className:`flex items-center gap-0.5`,children:i.headerActions.map(e=>{let t=Z(e.icon??Hm(e.command))??tt;return(0,Y.jsx)(`button`,{onClick:()=>Bm(e.command),className:`flex items-center justify-center size-5 rounded hover:bg-surface-elevated transition-colors text-text-subtle hover:text-foreground`,title:e.title,children:(0,Y.jsx)(t,{className:`size-3.5`})},e.command)})})]}),(0,Y.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0 py-1`,role:`tree`,"aria-label":e,children:n.length===0?(0,Y.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-subtle text-center`,children:`No items`}):n.map(t=>(0,Y.jsx)(Um,{item:t,depth:0,viewId:e},t.id))})]})}function Hm(e){return e.includes(`refresh`)?`refresh`:e.includes(`add`)||e.includes(`create`)||e.includes(`new`)?`plus`:e.includes(`delete`)||e.includes(`remove`)?`trash`:e.includes(`edit`)||e.includes(`update`)?`edit`:e.includes(`search`)||e.includes(`find`)?`search`:`refresh`}function Um({item:e,depth:t,viewId:n}){let[r,i]=(0,J.useState)(!1),a=e.collapsibleState!==`none`,o=(0,J.useRef)(!1);e.children&&e.children.length>0&&!o.current&&(o.current=!0,r||i(!0));let s=(0,J.useCallback)(()=>{if(!a)return;let t=!r;i(t),t&&(!e.children||e.children.length===0)&&zm(n,e.id)},[a,r,e.id,e.children,n]),c=(0,J.useCallback)(()=>{s(),e.command&&Bm(e.command,e.commandArgs)},[s,e.command,e.commandArgs]),l=8+t*16;return(0,Y.jsxs)(`div`,{role:`treeitem`,"aria-expanded":a?r:void 0,children:[(0,Y.jsxs)(`div`,{className:U(`group/node flex items-center gap-1 py-1 hover:bg-surface-elevated transition-colors`),style:{paddingLeft:l,paddingRight:8},children:[(0,Y.jsx)(`button`,{onClick:s,className:`shrink-0 text-text-subtle hover:text-foreground transition-colors`,children:a?r?(0,Y.jsx)(qe,{className:`size-3`}):(0,Y.jsx)(Xt,{className:`size-3`}):(0,Y.jsx)(`span`,{className:`size-3`})}),e.color&&(0,Y.jsx)(`span`,{className:`shrink-0 size-2 rounded-full border border-border`,style:{backgroundColor:e.color}}),(0,Y.jsx)(`button`,{className:`flex-1 text-left text-xs truncate hover:text-primary transition-colors`,onClick:c,children:e.label}),e.description&&(0,Y.jsx)(`span`,{className:`shrink-0 ml-1 text-text-subtle text-[10px]`,children:e.description}),e.badge&&(0,Y.jsx)(`span`,{className:`shrink-0 text-[9px] text-text-subtle uppercase px-1 rounded bg-surface-elevated`,children:e.badge}),e.actions&&e.actions.length>0&&(0,Y.jsx)(`div`,{className:`flex can-hover:hidden can-hover:group-hover/node:flex items-center gap-0.5 shrink-0`,children:e.actions.map(e=>(0,Y.jsx)(Wm,{action:e},e.command))})]}),a&&r&&e.children&&(0,Y.jsx)(`div`,{role:`group`,children:e.children.map(e=>(0,Y.jsx)(Um,{item:e,depth:t+1,viewId:n},e.id))})]})}function Wm({action:e}){let[t,n]=(0,J.useState)(!1),r=Z(e.icon)??tt,i=e.icon===`trash`;return(0,Y.jsx)(`button`,{onClick:(0,J.useCallback)(t=>{t.stopPropagation(),e.icon===`refresh`&&(n(!0),setTimeout(()=>n(!1),1e3)),Bm(e.command,e.commandArgs)},[e]),className:U(`p-0.5 text-text-subtle transition-colors`,i?`hover:text-error`:`hover:text-foreground`),title:e.tooltip,children:(0,Y.jsx)(r,{className:U(`size-3`,t&&`animate-spin`)})})}var Gm=Gn((e,t)=>({projectsWithIds:[],configs:[],selectedProjectId:null,watchers:[],results:[],unreadCount:0,setSelectedProjectId:t=>e({selectedProjectId:t}),loadProjectsWithIds:async()=>{let t=await z.get(`/api/jira/config/projects`);e({projectsWithIds:Array.isArray(t)?t:[]})},loadConfigs:async()=>{e({configs:await z.get(`/api/jira/config`)})},saveConfig:async(e,n)=>{await z.put(`/api/jira/config/${e}`,n),await t().loadConfigs()},deleteConfig:async t=>{await z.del(`/api/jira/config/${t}`),e(e=>({configs:e.configs.filter(e=>e.projectId!==t),watchers:[]}))},testConnection:async e=>(await z.post(`/api/jira/config/${e}/test`)).connected,loadWatchers:async t=>{e({watchers:await z.get(`/api/jira/watchers?configId=${t}`)})},createWatcher:async e=>{await z.post(`/api/jira/watchers`,e),e.configId&&await t().loadWatchers(e.configId)},updateWatcher:async(e,n)=>{await z.put(`/api/jira/watchers/${e}`,n);let r=t().watchers.find(t=>t.id===e);r&&await t().loadWatchers(r.jiraConfigId)},deleteWatcher:async e=>{let n=t().watchers.find(t=>t.id===e);await z.del(`/api/jira/watchers/${e}`),n&&await t().loadWatchers(n.jiraConfigId)},toggleWatcher:async(t,n)=>{e(e=>({watchers:e.watchers.map(e=>e.id===t?{...e,enabled:n}:e)}));try{await z.put(`/api/jira/watchers/${t}`,{enabled:n})}catch{e(e=>({watchers:e.watchers.map(e=>e.id===t?{...e,enabled:!n}:e)}))}},pullWatcher:async e=>{let n=await z.post(`/api/jira/watchers/${e}/pull`);return await t().loadResults(),n},testJql:async(e,t)=>await z.post(`/api/jira/watchers/test-jql`,{configId:e,jql:t}),loadResults:async(t,n,r=50,i=0)=>{let a=new URLSearchParams;t!==void 0&&a.set(`watcherId`,String(t)),n&&a.set(`status`,n),a.set(`limit`,String(r)),a.set(`offset`,String(i));let o=await z.get(`/api/jira/results?${a}`);e(i>0?e=>({results:[...e.results,...o]}):{results:o})},softDeleteResult:async t=>{e(e=>({results:e.results.filter(e=>e.id!==t)}));try{await z.del(`/api/jira/results/${t}`)}catch{}},startDebug:async(n,r)=>{let i=t().results.find(e=>e.id===n)?.status;e(e=>({results:e.results.map(e=>e.id===n?{...e,status:`queued`}:e)}));try{await z.post(`/api/jira/results/${n}/debug`,r?{prompt:r}:{})}catch{e(e=>({results:e.results.map(e=>e.id===n?{...e,status:i??`pending`}:e)}))}},resumeDebug:async n=>{let r=t().results.find(e=>e.id===n)?.status;e(e=>({results:e.results.map(e=>e.id===n?{...e,status:`queued`}:e)}));try{await z.post(`/api/jira/results/${n}/resume`)}catch{e(e=>({results:e.results.map(e=>e.id===n?{...e,status:r??`failed`}:e)}))}},cancelDebug:async e=>{try{await z.post(`/api/jira/results/${e}/cancel`),await t().loadResults()}catch{}},markRead:async t=>{e(e=>({results:e.results.map(e=>e.id===t?{...e,readAt:new Date().toISOString()}:e),unreadCount:Math.max(0,e.unreadCount-1)}));try{await z.patch(`/api/jira/results/${t}/read`)}catch{}},loadUnreadCount:async()=>{try{e({unreadCount:(await z.get(`/api/jira/results/unread-count`)).count})}catch{}}})),Km={pending:`bg-warning`,queued:`bg-warning/80`,running:`bg-primary animate-pulse`,done:`bg-success`,failed:`bg-error`};function qm(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return`now`;if(n<60)return`${n}m`;let r=Math.floor(n/60);return r<24?`${r}h`:`${Math.floor(r/24)}d`}function Jm({result:e,onDebug:t,onResume:n,onCancel:r,onOpenSession:i,onDelete:a,onClick:o}){let s=e,c=s.status===`done`&&!s.readAt,l=!!s.sessionId,u=s.status===`failed`&&l,d=s.status===`pending`||s.status===`failed`&&!l,f=s.status===`queued`||s.status===`running`,p=s.status;return(0,Y.jsxs)(`div`,{className:U(`group rounded bg-card shadow-sm hover:shadow-md hover:bg-accent/50 hover:-translate-y-px cursor-pointer transition-all duration-150`,`px-2.5 py-2 space-y-1`,c&&`ring-1 ring-primary/30`),onClick:()=>o(s),children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-mono font-semibold text-foreground shrink-0`,children:s.issueKey}),c&&(0,Y.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground truncate flex-1 min-w-0`,children:s.issueSummary||`No summary`}),(0,Y.jsx)(`span`,{className:`text-[10px] text-muted-foreground/60 tabular-nums shrink-0`,children:qm(s.createdAt)})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between min-w-0`,children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] text-muted-foreground`,children:[(0,Y.jsx)(`span`,{className:U(`size-1.5 rounded-full shrink-0`,Km[p])}),p]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-0.5 shrink-0`,onClick:e=>e.stopPropagation(),children:[u&&(0,Y.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 h-6 px-1.5 rounded text-[10px] font-medium text-primary hover:bg-primary/10 active:scale-95 transition-colors`,onClick:()=>n(s),title:`Resume debug session`,children:[(0,Y.jsx)(de,{className:`size-3`}),(0,Y.jsx)(`span`,{children:`Resume`})]}),d&&(0,Y.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-6 rounded text-muted-foreground hover:text-primary active:scale-95 transition-colors`,onClick:()=>t(s),title:`Debug`,children:(0,Y.jsx)(De,{className:`size-3`})}),f&&(0,Y.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-6 rounded text-muted-foreground hover:text-destructive active:scale-95 transition-colors`,onClick:()=>r(s),title:`Stop debug`,children:(0,Y.jsx)(on,{className:`size-3`})}),s.status===`running`&&(0,Y.jsx)(L,{className:`size-3 animate-spin text-primary`}),l&&(0,Y.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 h-6 px-1.5 rounded text-[10px] font-medium text-primary hover:bg-primary/10 active:scale-95 transition-colors`,onClick:()=>i(s),title:`Open session`,children:[(0,Y.jsx)(jt,{className:`size-3`}),(0,Y.jsx)(`span`,{children:`Open`})]}),(0,Y.jsxs)(du,{children:[(0,Y.jsx)(pu,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-6 rounded text-muted-foreground hover:text-foreground active:scale-95 transition-colors`,children:(0,Y.jsx)(Je,{className:`size-3`})})}),(0,Y.jsx)(mu,{align:`end`,children:(0,Y.jsxs)(hu,{className:`text-destructive`,onClick:()=>a(s.id),children:[(0,Y.jsx)(Mn,{className:`size-3.5 mr-2`}),` Delete`]})})]})]})]})]})}var Ym=J.forwardRef(({className:e,...t},n)=>(0,Y.jsx)(j,{className:U(`peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,e),...t,ref:n,children:(0,Y.jsx)(M,{className:U(`pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0`)})}));Ym.displayName=j.displayName;function Xm({...e}){return(0,Y.jsx)(A,{"data-slot":`select`,...e})}function Zm({...e}){return(0,Y.jsx)(se,{"data-slot":`select-value`,...e})}function Qm({className:e,size:t=`default`,children:n,...r}){return(0,Y.jsxs)(p,{"data-slot":`select-trigger`,"data-size":t,className:U(`flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,Y.jsx)(N,{asChild:!0,children:(0,Y.jsx)(Qt,{className:`size-4 opacity-50`})})]})}function $m({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){let a=Jn();return(0,Y.jsx)(le,{container:a,children:(0,Y.jsxs)(te,{"data-slot":`select-content`,className:U(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,Y.jsx)(th,{}),(0,Y.jsx)(w,{className:U(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,Y.jsx)(nh,{})]})})}function eh({className:e,children:t,...n}){return(0,Y.jsxs)(ee,{"data-slot":`select-item`,className:U(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,Y.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,Y.jsx)(O,{children:(0,Y.jsx)(ye,{className:`size-4`})})}),(0,Y.jsx)(oe,{children:t})]})}function th({className:e,...t}){return(0,Y.jsx)(C,{"data-slot":`select-scroll-up-button`,className:U(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,Y.jsx)(Ze,{className:`size-4`})})}function nh({className:e,...t}){return(0,Y.jsx)(ce,{"data-slot":`select-scroll-down-button`,className:U(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,Y.jsx)(Qt,{className:`size-4`})})}function rh(e){let t=[];return e.project.length&&t.push(`project IN (${e.project.join(`, `)})`),e.issueType.length&&t.push(`issuetype IN (${e.issueType.map(e=>`"${e}"`).join(`, `)})`),e.priority.length&&t.push(`priority IN (${e.priority.map(e=>`"${e}"`).join(`, `)})`),e.status.length&&t.push(`status IN (${e.status.map(e=>`"${e}"`).join(`, `)})`),e.assignee.length&&t.push(`assignee IN (${e.assignee.map(e=>`"${e}"`).join(`, `)})`),(t.join(` AND `)||`ORDER BY updated DESC`)+(t.length?` ORDER BY updated DESC`:``)}var ih={project:[],issueType:[],priority:[],status:[],assignee:[]};function ah({value:e,onChange:t,configId:n}){let[r,i]=(0,J.useState)(e?`raw`:`builder`),[a,o]=(0,J.useState)(ih),[s,c]=(0,J.useState)(e),[l,u]=(0,J.useState)([]),[d,f]=(0,J.useState)([]),[p,m]=(0,J.useState)([]),[h,g]=(0,J.useState)([]),[_,v]=(0,J.useState)([]),[y,b]=(0,J.useState)(!1);(0,J.useEffect)(()=>{n&&(b(!0),Promise.all([z.get(`/api/jira/metadata/${n}/projects`).catch(()=>[]),z.get(`/api/jira/metadata/${n}/issuetype`).catch(()=>[]),z.get(`/api/jira/metadata/${n}/priority`).catch(()=>[]),z.get(`/api/jira/metadata/${n}/status`).catch(()=>[]),z.get(`/api/jira/metadata/${n}/assignees`).catch(()=>[])]).then(([e,t,n,r,i])=>{u(e),f(t),m(n),g(r),v(i.map(e=>({id:e.accountId,name:e.displayName})))}).finally(()=>b(!1)))},[n]),(0,J.useEffect)(()=>{r===`builder`&&t(rh(a))},[a,r]);let x=(0,J.useCallback)(e=>{c(e),t(e)},[t]),S=(e,t)=>{!t||a[e].includes(t)||o(n=>({...n,[e]:[...n[e],t]}))},C=(e,t)=>{o(n=>({...n,[e]:n[e].filter(e=>e!==t)}))};return(0,Y.jsxs)(`div`,{className:`space-y-2 min-w-0`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(q,{type:`button`,size:`sm`,variant:r===`builder`?`default`:`outline`,onClick:()=>i(`builder`),className:`min-h-[44px] text-xs`,children:`Builder`}),(0,Y.jsx)(q,{type:`button`,size:`sm`,variant:r===`raw`?`default`:`outline`,onClick:()=>i(`raw`),className:`min-h-[44px] text-xs`,children:`Raw JQL`}),y&&(0,Y.jsx)(L,{className:`size-3.5 animate-spin text-muted-foreground`})]}),r===`raw`?(0,Y.jsx)(`textarea`,{value:s,onChange:e=>x(e.target.value),className:`w-full h-20 rounded-md border border-input bg-background px-3 py-2 text-sm font-mono resize-none focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,placeholder:`e.g. project = MYPROJ AND status = "In Progress"`}):(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsx)(oh,{label:`Project`,field:`project`,filters:a,onAdd:S,onRemove:C,options:l.map(e=>({value:e.key??e.name,label:`${e.key??e.name} — ${e.name}`})),placeholder:`Select project...`}),(0,Y.jsx)(oh,{label:`Issue Type`,field:`issueType`,filters:a,onAdd:S,onRemove:C,options:d.map(e=>({value:e.name,label:e.name})),placeholder:`Select issue type...`}),(0,Y.jsx)(oh,{label:`Priority`,field:`priority`,filters:a,onAdd:S,onRemove:C,options:p.map(e=>({value:e.name,label:e.name})),placeholder:`Select priority...`}),(0,Y.jsx)(oh,{label:`Status`,field:`status`,filters:a,onAdd:S,onRemove:C,options:h.map(e=>({value:e.name,label:e.name})),placeholder:`Select status...`}),(0,Y.jsx)(oh,{label:`Assignee`,field:`assignee`,filters:a,onAdd:S,onRemove:C,options:_.map(e=>({value:e.id??e.name,label:e.name})),placeholder:`Select assignee...`})]}),(0,Y.jsx)(`div`,{className:`text-xs text-muted-foreground bg-muted/50 rounded px-2 py-1 font-mono break-all`,children:r===`builder`?rh(a):s||`(empty)`})]})}function oh({label:e,field:t,filters:n,onAdd:r,onRemove:i,options:a,placeholder:o}){let s=a.filter(e=>!n[t].includes(e.value));return(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:e}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 flex-wrap`,children:[n[t].map(e=>(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 px-2 py-0.5 rounded-full bg-primary/10 text-xs`,children:[a.find(t=>t.value===e)?.label??e,(0,Y.jsx)(`button`,{type:`button`,onClick:()=>i(t,e),className:`hover:text-destructive`,children:(0,Y.jsx)(he,{className:`size-3`})})]},e)),s.length>0?(0,Y.jsxs)(Xm,{onValueChange:e=>r(t,e),children:[(0,Y.jsx)(Qm,{className:`h-7 w-auto min-w-[120px] text-xs`,children:(0,Y.jsx)(Zm,{placeholder:o})}),(0,Y.jsx)($m,{children:s.map(e=>(0,Y.jsx)(eh,{value:e.value,children:e.label},e.value))})]}):a.length>0?(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`All selected`}):(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`Loading...`})]})]})}var sh=[{label:`30s`,value:3e4},{label:`1m`,value:6e4},{label:`2m`,value:12e4},{label:`5m`,value:3e5},{label:`10m`,value:6e5},{label:`30m`,value:18e5},{label:`1h`,value:36e5}];function ch({configId:e,existing:t,onDone:n}){let{createWatcher:r,updateWatcher:i,testJql:a}=Gm(),[o,s]=(0,J.useState)(t?.name??``),[c,l]=(0,J.useState)(t?.jql??``),[u,d]=(0,J.useState)(t?.intervalMs??12e4),[f,p]=(0,J.useState)(t?.mode??`debug`),[m,h]=(0,J.useState)(t?.promptTemplate??``),[g,_]=(0,J.useState)(!1),[v,y]=(0,J.useState)(!1),[b,x]=(0,J.useState)(null),[S,C]=(0,J.useState)(0),[w,T]=(0,J.useState)(null),E=!!t;return(0,Y.jsxs)(`form`,{onSubmit:async a=>{if(a.preventDefault(),!(!o||!c)){_(!0);try{E?await i(t.id,{name:o,jql:c,intervalMs:u,mode:f,promptTemplate:m||null}):await r({configId:e,name:o,jql:c,intervalMs:u,mode:f,promptTemplate:m||void 0}),n()}catch{}_(!1)}},className:`space-y-3 min-w-0`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Name`}),(0,Y.jsx)(Ki,{value:o,onChange:e=>s(e.target.value),placeholder:`Bug watcher`,className:`h-9`})]}),(0,Y.jsx)(ah,{value:c,onChange:l,configId:e}),(0,Y.jsxs)(q,{type:`button`,size:`sm`,variant:`outline`,className:`w-full min-h-[44px]`,disabled:!c||v,onClick:async()=>{if(c){y(!0),T(null),x(null);try{let t=await a(e,c);x(t.issues),C(t.total)}catch(e){T(e.message??`Test failed`)}y(!1)}},children:[v?(0,Y.jsx)(L,{className:`size-4 animate-spin mr-1.5`}):(0,Y.jsx)(Jt,{className:`size-4 mr-1.5`}),`Test Filter`]}),w&&(0,Y.jsx)(`p`,{className:`text-xs text-destructive bg-destructive/10 rounded-md px-3 py-2`,children:w}),b&&(0,Y.jsxs)(`div`,{className:`border rounded-md max-h-48 overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`px-3 py-1.5 border-b bg-muted/50 text-xs text-muted-foreground font-medium`,children:[S,` ticket`,S===1?``:`s`,` found`,S>b.length&&` (showing ${b.length})`]}),(0,Y.jsx)(`div`,{className:`overflow-y-auto max-h-[calc(12rem-30px)]`,children:b.length===0?(0,Y.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`No tickets match this filter.`}):b.map(e=>(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b last:border-b-0 text-xs min-w-0`,children:[(0,Y.jsx)(`span`,{className:`font-mono font-medium shrink-0`,children:e.key}),(0,Y.jsx)(`span`,{className:`truncate text-muted-foreground flex-1 min-w-0`,children:e.fields.summary}),(0,Y.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground px-1.5 py-0.5 bg-muted rounded whitespace-nowrap`,children:e.fields.status.name})]},e.key))})]}),(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex-1`,children:[(0,Y.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Interval`}),(0,Y.jsxs)(Xm,{value:String(u),onValueChange:e=>d(Number(e)),children:[(0,Y.jsx)(Qm,{className:`h-9`,children:(0,Y.jsx)(Zm,{})}),(0,Y.jsx)($m,{children:sh.map(e=>(0,Y.jsx)(eh,{value:String(e.value),children:e.label},e.value))})]})]}),(0,Y.jsxs)(`div`,{className:`flex-1`,children:[(0,Y.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Mode`}),(0,Y.jsxs)(Xm,{value:f,onValueChange:e=>p(e),children:[(0,Y.jsx)(Qm,{className:`h-9`,children:(0,Y.jsx)(Zm,{})}),(0,Y.jsxs)($m,{children:[(0,Y.jsx)(eh,{value:`debug`,children:`Debug + Notify`}),(0,Y.jsx)(eh,{value:`notify`,children:`Notify only`})]})]})]})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Prompt template (optional)`}),(0,Y.jsx)(`textarea`,{value:m,onChange:e=>h(e.target.value),className:`w-full h-16 rounded-md border border-input bg-background px-3 py-2 text-xs font-mono resize-none focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,placeholder:`Debug Jira issue {issue_key}: {summary}`})]}),(0,Y.jsx)(q,{type:`submit`,size:`sm`,disabled:g||!o||!c,className:`min-h-[44px] w-full`,children:g?(0,Y.jsx)(L,{className:`size-4 animate-spin`}):E?`Save Changes`:`Create Watcher`})]})}function lh({configId:e}){let{watchers:t,deleteWatcher:n,toggleWatcher:r,pullWatcher:i}=Gm(),[a,o]=(0,J.useState)(!1),[s,c]=(0,J.useState)(null),[l,u]=(0,J.useState)(null),d=async e=>{u(e);try{let t=await i(e);B.success(`Pulled ${t.newIssues} new issue${t.newIssues===1?``:`s`}`)}catch(e){B.error(e.message??`Pull failed`)}u(null)};return(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`h4`,{className:`text-sm font-medium`,children:`Watchers`}),(0,Y.jsxs)(Pi,{open:a,onOpenChange:o,children:[(0,Y.jsx)(Ni,{asChild:!0,children:(0,Y.jsxs)(q,{size:`sm`,variant:`outline`,className:`min-h-[44px]`,children:[(0,Y.jsx)(_n,{className:`size-4 mr-1`}),` Add`]})}),(0,Y.jsxs)(Ai,{className:`max-w-md overflow-hidden`,children:[(0,Y.jsx)(Oi,{children:(0,Y.jsx)(ji,{children:`New Watcher`})}),(0,Y.jsx)(ch,{configId:e,onDone:()=>o(!1)})]})]})]}),t.length===0&&(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`No watchers yet.`}),t.map(e=>(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 p-2 rounded-md border text-sm`,children:[(0,Y.jsx)(Ym,{checked:e.enabled,onCheckedChange:t=>r(e.id,t),className:`shrink-0`}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),(0,Y.jsx)(`div`,{className:`text-xs text-muted-foreground truncate font-mono`,children:e.jql})]}),(0,Y.jsxs)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:[e.mode===`notify`?`notify`:`debug`,` · `,uh(e.intervalMs)]}),(0,Y.jsx)(q,{size:`icon`,variant:`ghost`,className:`size-8`,onClick:()=>c(e),children:(0,Y.jsx)(me,{className:`size-3.5`})}),(0,Y.jsx)(q,{size:`icon`,variant:`ghost`,className:`size-8`,onClick:()=>d(e.id),disabled:l===e.id,children:l===e.id?(0,Y.jsx)(L,{className:`size-3.5 animate-spin`}):(0,Y.jsx)(De,{className:`size-3.5`})}),(0,Y.jsx)(q,{size:`icon`,variant:`ghost`,className:`size-8 text-destructive`,onClick:()=>n(e.id),children:(0,Y.jsx)(Mn,{className:`size-3.5`})})]},e.id)),(0,Y.jsx)(Pi,{open:!!s,onOpenChange:e=>{e||c(null)},children:(0,Y.jsxs)(Ai,{className:`max-w-md overflow-hidden`,children:[(0,Y.jsx)(Oi,{children:(0,Y.jsx)(ji,{children:`Edit Watcher`})}),s&&(0,Y.jsx)(ch,{configId:e,existing:s,onDone:()=>c(null)})]})})]})}function uh(e){return e>=36e5?`${e/36e5}h`:e>=6e4?`${e/6e4}m`:`${e/1e3}s`}function dh({projectId:e,existing:t}){let{saveConfig:n,deleteConfig:r,testConnection:i}=Gm(),[a,o]=(0,J.useState)(t?.baseUrl??``),[s,c]=(0,J.useState)(t?.email??``),[l,u]=(0,J.useState)(``);(0,J.useEffect)(()=>{t&&(o(t.baseUrl),c(t.email))},[t?.baseUrl,t?.email]);let[d,f]=(0,J.useState)(!1),[p,m]=(0,J.useState)(!1),[h,g]=(0,J.useState)(null),[_,v]=(0,J.useState)(null);return(0,Y.jsxs)(`form`,{onSubmit:async r=>{if(r.preventDefault(),!(!a||!s||!l&&!t?.hasToken)){f(!0);try{await n(e,{baseUrl:a,email:s,...l?{token:l}:{}}),u(``)}catch{}f(!1)}},className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Base URL`}),(0,Y.jsx)(Ki,{value:a,onChange:e=>o(e.target.value),placeholder:`https://mysite.atlassian.net`,className:`h-9`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Email`}),(0,Y.jsx)(Ki,{value:s,onChange:e=>c(e.target.value),placeholder:`you@company.com`,className:`h-9`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`label`,{className:`text-xs text-muted-foreground`,children:[`API Token `,t?.hasToken&&(0,Y.jsx)(`span`,{className:`text-success`,children:`(saved)`})]}),(0,Y.jsx)(Ki,{type:`password`,value:l,onChange:e=>u(e.target.value),placeholder:t?.hasToken?`Enter new token to replace`:`Your Jira API token`,className:`h-9`})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,Y.jsx)(q,{type:`submit`,size:`sm`,disabled:d,className:`min-w-[44px] min-h-[44px]`,children:d?(0,Y.jsx)(L,{className:`size-4 animate-spin`}):`Save`}),t&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(q,{type:`button`,size:`sm`,variant:`outline`,onClick:async()=>{m(!0),g(null),v(null);try{g(await i(e)?`ok`:`fail`)}catch(e){g(`fail`),v(e?.message??`Connection failed`)}m(!1)},disabled:p,className:`min-h-[44px]`,children:p?(0,Y.jsx)(L,{className:`size-4 animate-spin`}):`Test Connection`}),(0,Y.jsx)(q,{type:`button`,size:`sm`,variant:`destructive`,onClick:()=>r(e),className:`min-h-[44px]`,children:(0,Y.jsx)(Mn,{className:`size-4`})})]}),h===`ok`&&(0,Y.jsx)(ct,{className:`size-4 text-success`}),h===`fail`&&(0,Y.jsx)(cn,{className:`size-4 text-error`})]}),_&&(0,Y.jsx)(`p`,{className:`text-xs text-error break-all`,children:_})]})}function fh({result:e,onClose:t}){let{watchers:n,startDebug:r}=Gm(),[i,a]=(0,J.useState)(``);return(0,J.useEffect)(()=>{e&&a((n.find(t=>t.id===e.watcherId)?.promptTemplate??`Debug Jira issue {issue_key}: {summary}`).replace(/\{issue_key\}/g,e.issueKey).replace(/\{summary\}/g,e.issueSummary??``))},[e,n]),(0,Y.jsx)(Pi,{open:!!e,onOpenChange:e=>{e||t()},children:(0,Y.jsxs)(Ai,{className:`max-w-md`,children:[(0,Y.jsx)(Oi,{children:(0,Y.jsxs)(ji,{children:[`Start Debug: `,e?.issueKey]})}),(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e?.issueSummary}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Debug Prompt`}),(0,Y.jsx)(`textarea`,{value:i,onChange:e=>a(e.target.value),className:`w-full h-24 rounded-md border border-input bg-background px-3 py-2 text-xs font-mono resize-none mt-1`,placeholder:`Debug Jira issue {issue_key}: {summary}`})]}),(0,Y.jsx)(q,{size:`sm`,className:`w-full min-h-[44px]`,onClick:async()=>{if(e){try{await r(e.id,i)}catch{}t()}},children:`Start Debug Session`})]})})}function ph(){let e=G(e=>e.activeProject),t=K(e=>e.openTab),{configs:n,watchers:r,results:i,loadConfigs:a,loadWatchers:o,loadResults:s,loadProjectsWithIds:c,projectsWithIds:l,softDeleteResult:u,resumeDebug:d,cancelDebug:f,markRead:p,unreadCount:m,loadUnreadCount:h}=Gm(),[g,_]=(0,J.useState)(`tickets`),[v,y]=(0,J.useState)(!1),[b,x]=(0,J.useState)(null),S=l.find(t=>t.name===e?.name),C=n.find(e=>e.projectId===S?.id);(0,J.useEffect)(()=>{a(),c()},[]),(0,J.useEffect)(()=>{C&&o(C.id)},[C?.id]);let w=(0,J.useCallback)(async()=>{y(!0);try{await s()}catch{}y(!1)},[s]);(0,J.useEffect)(()=>{w(),h()},[C?.id]),(0,J.useEffect)(()=>{let n=n=>{let r=n.detail;r&&(w(),r.status===`done`?(h(),B.success(`Debug complete: ${r.issueKey}`,{action:r.sessionId?{label:`View`,onClick:()=>t({type:`chat`,title:`[Jira] ${r.issueKey}`,projectId:e?.name??null,metadata:{projectName:e?.name,sessionId:r.sessionId},closable:!0})}:void 0})):r.status===`failed`&&B.error(`Debug failed: ${r.issueKey}`))};return window.addEventListener(`jira:status_change`,n),()=>window.removeEventListener(`jira:status_change`,n)},[w,h]);let T=(0,J.useCallback)(n=>{n.sessionId&&(n.status===`done`&&!n.readAt&&p(n.id),t({type:`chat`,title:`[Jira] ${n.issueKey}`,projectId:e?.name??null,metadata:{projectName:e?.name,sessionId:n.sessionId},closable:!0}))},[t,p,e]),E=e=>{e.sessionId&&T(e)};return e?g===`tickets`?(0,Y.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,Y.jsxs)(md,{icon:Pn,title:`Jira`,children:[m>0&&(0,Y.jsx)(`span`,{className:`inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-primary text-primary-foreground text-[10px] font-bold`,children:m}),(0,Y.jsx)(`button`,{onClick:w,disabled:v,title:`Refresh`,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground disabled:opacity-50`,children:v?(0,Y.jsx)(L,{className:`size-3.5 animate-spin`}):(0,Y.jsx)(tt,{className:`size-3.5`})}),(0,Y.jsx)(`button`,{onClick:()=>_(`watchers`),title:`Watchers`,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`,children:(0,Y.jsx)(fn,{className:`size-3.5`})}),(0,Y.jsx)(`button`,{onClick:()=>_(`credentials`),title:`Credentials`,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`,children:(0,Y.jsx)(Cn,{className:`size-3.5`})})]}),(0,Y.jsx)(qi,{className:`flex-1 min-h-0`,children:(0,Y.jsx)(`div`,{className:`p-1.5 space-y-1.5`,children:C?i.length===0&&r.length===0?(0,Y.jsx)(mh,{message:`No watchers yet`,action:`Add Watcher`,onAction:()=>_(`watchers`)}):i.length===0?(0,Y.jsx)(mh,{message:`No tickets yet. Watchers will pick up new issues.`}):i.map(e=>(0,Y.jsx)(Jm,{result:e,onDebug:x,onResume:e=>d(e.id),onCancel:e=>f(e.id),onOpenSession:T,onDelete:u,onClick:E},e.id)):(0,Y.jsx)(mh,{message:`No Jira credentials configured`,action:`Set up Jira`,onAction:()=>_(`credentials`)})})}),(0,Y.jsx)(fh,{result:b,onClose:()=>x(null)})]}):(0,Y.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,Y.jsxs)(`div`,{className:`shrink-0 px-2 py-2 flex items-center gap-1.5 border-b border-border/50`,children:[(0,Y.jsx)(q,{size:`icon`,variant:`ghost`,className:`size-7`,onClick:()=>_(`tickets`),children:(0,Y.jsx)(tn,{className:`size-4`})}),(0,Y.jsx)(`h2`,{className:`text-sm font-semibold truncate`,children:g===`watchers`?`Watchers`:`Jira Credentials`})]}),(0,Y.jsx)(qi,{className:`flex-1 min-h-0`,children:(0,Y.jsx)(`div`,{className:`p-3`,children:g===`watchers`?C?(0,Y.jsx)(lh,{configId:C.id}):(0,Y.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`Configure Jira credentials first.`}):S?(0,Y.jsx)(dh,{projectId:S.id,existing:C?{baseUrl:C.baseUrl,email:C.email,hasToken:C.hasToken}:null}):(0,Y.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`Project not found in database.`})})})]}):(0,Y.jsx)(`div`,{className:`flex items-center justify-center h-32 p-4`,children:(0,Y.jsx)(`p`,{className:`text-xs text-muted-foreground text-center`,children:`Select a project to use Jira`})})}function mh({message:e,action:t,onAction:n}){return(0,Y.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-12 gap-3`,children:[(0,Y.jsx)(`p`,{className:`text-xs text-muted-foreground text-center`,children:e}),t&&n&&(0,Y.jsxs)(q,{size:`sm`,variant:`outline`,className:`min-h-[44px]`,onClick:n,children:[(0,Y.jsx)(_n,{className:`size-4 mr-1.5`}),` `,t]})]})}var hh=`/api/ai-resources`;function gh(e){return z.get(`${hh}?project=${encodeURIComponent(e)}`)}function _h(e,t){return z.get(`${hh}/content?project=${encodeURIComponent(t)}&path=${encodeURIComponent(e)}`)}function vh(e,t,n){return z.put(`${hh}/content`,{path:e,content:t,project:n})}function yh(e,t,n,r){return z.post(hh,{type:e,scope:t,name:n,project:r})}function bh(e,t,n,r,i){return z.post(`${hh}/duplicate`,{path:e,type:t,scope:n,name:r,project:i})}function xh(e,t,n){return z.del(hh,{path:e,type:t,project:n})}var Sh=Gn((e,t)=>({project:null,loading:!1,error:null,result:null,load:async n=>{e({project:n,loading:!0,error:null});try{let r=await gh(n);if(t().project!==n)return;e({result:r,loading:!1})}catch(r){if(t().project!==n)return;e({error:r.message,loading:!1})}},reload:async()=>{let e=t().project;e&&await t().load(e)}}));function Ch(){return z.get(`/api/settings/mcp`)}function wh(e,t){return z.post(`/api/settings/mcp`,{name:e,config:t})}function Th(e,t){return z.put(`/api/settings/mcp/${encodeURIComponent(e)}`,t)}function Eh(e){return z.del(`/api/settings/mcp/${encodeURIComponent(e)}`)}function Dh(){return z.post(`/api/settings/mcp/import`,{})}function Oh(e){return!e||!/^[a-zA-Z0-9][a-zA-Z0-9_-]*$/.test(e)?`Name must start with a letter/digit, then alphanumeric, hyphens, or underscores`:e.length>50?`Name max 50 chars`:null}function kh(e){let t=[];if(!e||typeof e!=`object`)return[`Config must be an object`];let n=e,r=n.type??`stdio`;return r===`stdio`?(!n.command||typeof n.command!=`string`)&&t.push(`command is required for stdio`):r===`http`||r===`sse`?((!n.url||typeof n.url!=`string`)&&t.push(`url is required for `+r),n.url&&typeof n.url==`string`&&!/^https?:\/\/.+/.test(n.url)&&t.push(`url must be HTTP(S)`)):t.push(`type must be stdio, http, or sse`),t}var Ah=[`stdio`,`http`,`sse`];function jh({open:e,onClose:t,editServer:n}){let r=!!n,[i,a]=(0,J.useState)(``),[o,s]=(0,J.useState)(`stdio`),[c,l]=(0,J.useState)(``),[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(``),[m,h]=(0,J.useState)([]),[g,_]=(0,J.useState)(!1),[v,y]=(0,J.useState)(null);(0,J.useEffect)(()=>{if(e)if(y(null),_(!1),n){a(n.name),s(n.transport||`stdio`);let e=n.config;`command`in e?(l(e.command||``),d((e.args??[]).join(` `)),h(Mh(e.env))):`url`in e&&(p(e.url||``),h(Mh(e.headers)))}else a(``),s(`stdio`),l(``),d(``),p(``),h([])},[e,n]);let b=()=>{let e=Nh(m);return o===`stdio`?{type:`stdio`,command:c,...u.trim()&&{args:u.trim().split(/\s+/)},...Object.keys(e).length>0&&{env:e}}:{type:o,url:f,...Object.keys(e).length>0&&{headers:e}}},x=async()=>{if(y(null),!r){let e=Oh(i);if(e){y(e);return}}let e=b(),n=kh(e);if(n.length){y(n.join(`; `));return}_(!0);try{r?await Th(i,e):await wh(i,e),t(!0)}catch(e){y(e.message||`Save failed`)}finally{_(!1)}},S=()=>h([...m,{key:``,value:``}]),C=e=>h(m.filter((t,n)=>n!==e)),w=(e,t,n)=>{h(m.map((r,i)=>i===e?{key:t===`key`?n:r.key,value:t===`value`?n:r.value}:r))},T=o===`stdio`,E=T?`Environment Variables`:`Headers`;return(0,Y.jsx)(Pi,{open:e,onOpenChange:e=>{e||t()},children:(0,Y.jsxs)(Ai,{className:`max-h-[85vh] overflow-y-auto sm:max-w-md`,children:[(0,Y.jsxs)(Oi,{children:[(0,Y.jsx)(ji,{className:`text-sm`,children:r?`Edit MCP Server`:`Add MCP Server`}),(0,Y.jsx)(Mi,{className:`text-[11px]`,children:`Configure a Model Context Protocol server connection.`})]}),(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Name`}),(0,Y.jsx)(Ki,{value:i,onChange:e=>a(e.target.value),placeholder:`my-mcp-server`,className:`h-8 text-xs`,disabled:r})]}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Transport`}),(0,Y.jsx)(`div`,{className:`flex gap-1`,children:Ah.map(e=>(0,Y.jsx)(q,{variant:o===e?`default`:`outline`,size:`sm`,className:`flex-1 h-7 text-xs cursor-pointer`,onClick:()=>{s(e),h([]),l(``),d(``),p(``)},children:e},e))})]}),T?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Command *`}),(0,Y.jsx)(Ki,{value:c,onChange:e=>l(e.target.value),placeholder:`npx`,className:`h-8 text-xs`})]}),(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Arguments (space-separated)`}),(0,Y.jsx)(Ki,{value:u,onChange:e=>d(e.target.value),placeholder:`@playwright/mcp@latest`,className:`h-8 text-xs`})]})]}):(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`URL *`}),(0,Y.jsx)(Ki,{value:f,onChange:e=>p(e.target.value),placeholder:`https://mcp.example.com`,className:`h-8 text-xs`})]}),(0,Y.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Y.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:E}),m.map((e,t)=>(0,Y.jsxs)(`div`,{className:`flex gap-1 items-center`,children:[(0,Y.jsx)(Ki,{value:e.key,onChange:e=>w(t,`key`,e.target.value),placeholder:`KEY`,className:`h-7 text-xs flex-1`}),(0,Y.jsx)(Ki,{value:e.value,onChange:e=>w(t,`value`,e.target.value),placeholder:`value`,className:`h-7 text-xs flex-1`}),(0,Y.jsx)(q,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 cursor-pointer`,onClick:()=>C(t),children:(0,Y.jsx)(he,{className:`size-3`})})]},t)),(0,Y.jsxs)(q,{variant:`outline`,size:`sm`,className:`h-7 text-xs gap-1 cursor-pointer`,onClick:S,children:[(0,Y.jsx)(_n,{className:`size-3`}),` Add `,T?`Variable`:`Header`]})]}),v&&(0,Y.jsx)(`p`,{className:`text-[11px] text-destructive`,children:v})]}),(0,Y.jsxs)(ki,{children:[(0,Y.jsx)(q,{variant:`outline`,size:`sm`,className:`h-8 text-xs cursor-pointer`,onClick:()=>t(),children:`Cancel`}),(0,Y.jsx)(q,{size:`sm`,className:`h-8 text-xs cursor-pointer`,onClick:x,disabled:g,children:g?`Saving...`:`Save`})]})]})})}function Mh(e){return e?Object.entries(e).map(([e,t])=>({key:e,value:t})):[]}function Nh(e){let t={};for(let{key:n,value:r}of e)n.trim()&&(t[n.trim()]=r);return t}var Ph={skill:sa,agent:On,command:Ht},Fh={skill:`Skills`,agent:`Agents`,command:`Commands`},Ih={project:`text-primary border-primary/30 bg-primary/10`,user:`text-emerald-400 border-emerald-500/30 bg-emerald-500/10`,bundled:`text-text-subtle border-border bg-surface-elevated`},Lh={project:`Project`,user:`User`,bundled:`Bundled`};function Rh({scope:e,className:t}){return(0,Y.jsx)(`span`,{className:U(`shrink-0 rounded border px-1 py-px text-[9px] font-medium uppercase leading-none tracking-wide`,Ih[e],t),children:Lh[e]})}var zh=(0,J.memo)(function({item:e,active:t,onOpen:n,onDuplicate:r,onDelete:i}){let a=Ph[e.type];return(0,Y.jsxs)(vd,{children:[(0,Y.jsx)(yd,{asChild:!0,children:(0,Y.jsxs)(`button`,{onClick:()=>n(e),className:U(`group relative flex w-full items-center gap-2 px-2 py-1.5 text-left transition-colors`,t?`bg-accent-wash text-foreground shadow-[inset_2px_0_0_var(--accent)]`:`hover:bg-surface-elevated`,e.shadowed&&`opacity-55`),children:[(0,Y.jsx)(a,{className:`size-4 shrink-0 text-text-subtle`,strokeWidth:t?2.3:2}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:U(`truncate text-[13px] font-medium`,e.shadowed&&`line-through`),children:e.name}),e.overrides?(0,Y.jsx)(`span`,{className:`shrink-0 rounded bg-amber-500/15 px-1 py-px text-[9px] font-medium text-amber-400 leading-none`,children:`overrides`}):null,e.shadowed?(0,Y.jsx)(`span`,{className:`shrink-0 text-[9px] text-text-subtle`,children:`shadowed`}):null]}),e.description?(0,Y.jsx)(`span`,{className:`block truncate text-[11px] text-text-subtle`,children:e.description}):null]}),(0,Y.jsx)(Rh,{scope:e.scope})]})}),(0,Y.jsxs)(Q,{className:`w-48`,children:[(0,Y.jsx)($,{onClick:()=>n(e),children:e.readOnly?`Open (read-only)`:`Open / Edit`}),(0,Y.jsx)($,{onClick:()=>r(e),children:`Duplicate…`}),!e.readOnly&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(bd,{}),(0,Y.jsx)($,{variant:`destructive`,onClick:()=>i(e),children:`Delete`})]})]})]})});function Bh({open:e,onOpenChange:t,mode:n,source:r,initialType:i,project:a,hasProject:o,onSuccess:s}){let[c,l]=(0,J.useState)(`skill`),[u,d]=(0,J.useState)(o?`project`:`user`),[f,p]=(0,J.useState)(``),[m,h]=(0,J.useState)(!1);(0,J.useEffect)(()=>{e&&(l(n===`duplicate`&&r?r.type:i??`skill`),p(n===`duplicate`&&r?`${r.name}-copy`:``),d(o?`project`:`user`),h(!1))},[e,n,r,i,o]);let g=/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(f);async function _(){if(!(!g||m)){h(!0);try{let e=n===`duplicate`&&r?await bh(r.filePath,c,u,f,a):await yh(c,u,f,a);B.success(n===`duplicate`?`Resource duplicated`:`Resource created`),t(!1),s(e.filePath)}catch(e){B.error(e.message),h(!1)}}}return(0,Y.jsx)(Pi,{open:e,onOpenChange:t,children:(0,Y.jsxs)(Ai,{className:`sm:max-w-md`,children:[(0,Y.jsxs)(Oi,{children:[(0,Y.jsx)(ji,{children:n===`duplicate`?`Duplicate resource`:`New resource`}),(0,Y.jsx)(Mi,{children:n===`duplicate`?`Copy this resource into a writable scope under a new name.`:`Create a new skill, agent, or command from a template.`})]}),(0,Y.jsxs)(`div`,{className:`space-y-3 py-1`,children:[(0,Y.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Y.jsx)(Fp,{children:`Type`}),(0,Y.jsxs)(Xm,{value:c,onValueChange:e=>l(e),disabled:n===`duplicate`,children:[(0,Y.jsx)(Qm,{children:(0,Y.jsx)(Zm,{})}),(0,Y.jsxs)($m,{children:[(0,Y.jsx)(eh,{value:`skill`,children:`Skill`}),(0,Y.jsx)(eh,{value:`agent`,children:`Agent`}),(0,Y.jsx)(eh,{value:`command`,children:`Command`})]})]})]}),(0,Y.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Y.jsx)(Fp,{children:`Scope`}),(0,Y.jsxs)(Xm,{value:u,onValueChange:e=>d(e),children:[(0,Y.jsx)(Qm,{children:(0,Y.jsx)(Zm,{})}),(0,Y.jsxs)($m,{children:[(0,Y.jsxs)(eh,{value:`project`,disabled:!o,children:[`Project`,o?``:` (no project selected)`]}),(0,Y.jsx)(eh,{value:`user`,children:`User (~/.claude)`})]})]})]}),(0,Y.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Y.jsx)(Fp,{children:`Name`}),(0,Y.jsx)(Ki,{value:f,autoFocus:!0,placeholder:`my-resource`,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_()}}),f&&!g&&(0,Y.jsx)(`p`,{className:`text-[11px] text-destructive`,children:`Use letters, numbers, dots, dashes, underscores (no spaces or slashes).`})]})]}),(0,Y.jsxs)(ki,{children:[(0,Y.jsx)(q,{variant:`ghost`,onClick:()=>t(!1),disabled:m,children:`Cancel`}),(0,Y.jsx)(q,{onClick:_,disabled:!g||m,children:m?`Working…`:n===`duplicate`?`Duplicate`:`Create`})]})]})})}function Vh({open:e,kind:t,name:n,folderWarning:r,onCancel:i,onConfirm:a}){return(0,Y.jsx)(Pi,{open:e,onOpenChange:e=>{e||i()},children:(0,Y.jsxs)(Ai,{className:`sm:max-w-md`,children:[(0,Y.jsxs)(Oi,{children:[(0,Y.jsxs)(ji,{children:[`Delete `,t,`?`]}),(0,Y.jsxs)(Mi,{children:[`This permanently deletes `,(0,Y.jsx)(`span`,{className:`font-medium text-foreground`,children:n}),r?` and its entire skill folder`:``,`. This cannot be undone.`]})]}),(0,Y.jsxs)(ki,{children:[(0,Y.jsx)(q,{variant:`ghost`,onClick:i,children:`Cancel`}),(0,Y.jsx)(q,{variant:`destructive`,onClick:a,children:`Delete`})]})]})})}function Hh(e,t){let n=K.getState(),r=n.tabs.find(t=>t.type===`ai-resource`&&t.metadata?.filePath===e.filePath);if(r){n.setActiveTab(r.id);return}n.openTab({type:`ai-resource`,title:e.name,projectId:null,closable:!0,metadata:{filePath:e.filePath,name:e.name,resourceType:e.type,scope:e.scope,readOnly:e.readOnly,shadowed:e.shadowed,shadowedBy:e.shadowedBy??null,project:t}})}function Uh(){let[e,t]=(0,J.useState)([]),[n,r]=(0,J.useState)(!0),i=(0,J.useCallback)(async()=>{try{t(await Ch())}catch{}finally{r(!1)}},[]);return(0,J.useEffect)(()=>{i()},[i]),{servers:e,loading:n,reload:i,remove:(0,J.useCallback)(async e=>{await Eh(e),await i()},[i])}}function Wh({servers:e,showActions:t,importing:n,onAdd:r,onImport:i,onEdit:a,onDelete:o}){return e.length===0&&!t?null:(0,Y.jsxs)(`div`,{className:`pb-1`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-text-subtle`,children:[(0,Y.jsx)(`span`,{children:`MCP Servers`}),(0,Y.jsx)(`span`,{className:`text-text-subtle/60`,children:e.length})]}),e.map(e=>(0,Y.jsxs)(vd,{children:[(0,Y.jsx)(yd,{asChild:!0,children:(0,Y.jsxs)(`button`,{onClick:()=>a(e),className:`group flex w-full items-center gap-2 px-2 py-1.5 text-left transition-colors hover:bg-surface-elevated`,children:[(0,Y.jsx)(Ie,{className:`size-4 shrink-0 text-text-subtle`}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),(0,Y.jsx)(`span`,{className:`block truncate text-[11px] text-text-subtle`,children:Gh(e)})]}),(0,Y.jsx)(`span`,{className:`shrink-0 rounded border border-border bg-surface-elevated px-1 py-px text-[9px] font-medium uppercase leading-none tracking-wide text-text-subtle`,children:e.transport})]})}),(0,Y.jsxs)(Q,{className:`w-40`,children:[(0,Y.jsx)($,{onClick:()=>a(e),children:`Edit…`}),(0,Y.jsx)(bd,{}),(0,Y.jsx)($,{variant:`destructive`,onClick:()=>o(e),children:`Delete`})]})]},e.name)),e.length===0&&t&&(0,Y.jsx)(`p`,{className:`px-2 py-2 text-[11px] text-text-subtle`,children:`No MCP servers configured.`}),t&&(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1 px-2 pt-1.5`,children:[(0,Y.jsxs)(`button`,{onClick:r,className:`flex items-center justify-center gap-1.5 rounded-md bg-primary py-1.5 text-[11px] font-medium text-primary-foreground hover:bg-primary/90`,children:[(0,Y.jsx)(_n,{className:`size-3.5`}),` Add MCP server`]}),(0,Y.jsxs)(`button`,{onClick:i,disabled:n,className:U(`flex items-center justify-center gap-1.5 rounded-md border border-border py-1.5 text-[11px] text-text-secondary hover:bg-surface-elevated`,n&&`opacity-50`),children:[(0,Y.jsx)(wn,{className:`size-3.5`}),` `,n?`Importing…`:`Import from Claude Code`]})]})]})}function Gh(e){let t=e.config;if(e.transport===`stdio`||!(`url`in t)){let e=t;return[e.command,...e.args??[]].filter(Boolean).join(` `)}return t.url??``}function Kh({onCreate:e,onAddMcp:t,onImportMcp:n}){return(0,Y.jsxs)(du,{children:[(0,Y.jsx)(pu,{asChild:!0,children:(0,Y.jsxs)(`button`,{className:`flex items-center gap-1 rounded bg-primary px-2 py-1 text-[11px] font-medium text-primary-foreground hover:bg-primary/90`,children:[(0,Y.jsx)(_n,{className:`size-3`}),` New`]})}),(0,Y.jsxs)(mu,{align:`end`,className:`w-44`,children:[(0,Y.jsxs)(hu,{onClick:()=>e(`skill`),children:[(0,Y.jsx)(sa,{className:`size-3.5`}),` New Skill`]}),(0,Y.jsxs)(hu,{onClick:()=>e(`agent`),children:[(0,Y.jsx)(On,{className:`size-3.5`}),` New Agent`]}),(0,Y.jsxs)(hu,{onClick:()=>e(`command`),children:[(0,Y.jsx)(Ht,{className:`size-3.5`}),` New Command`]}),(0,Y.jsx)(bu,{}),(0,Y.jsxs)(hu,{onClick:t,children:[(0,Y.jsx)(Ie,{className:`size-3.5`}),` New MCP Server`]}),(0,Y.jsxs)(hu,{onClick:n,children:[(0,Y.jsx)(wn,{className:`size-3.5`}),` Import MCP…`]})]})]})}var qh=[{id:`all`,label:`All`},{id:`skill`,label:`Skills`},{id:`agent`,label:`Agents`},{id:`command`,label:`Commands`},{id:`mcp`,label:`MCP`}];function Jh(){let e=G(Uu(e=>e.activeProject)),t=e?.path??``,{result:n,loading:r,error:i,load:a,reload:o}=Sh(Uu(e=>({result:e.result,loading:e.loading,error:e.error,load:e.load,reload:e.reload}))),{tabs:s,activeTabId:c}=K(Uu(e=>({tabs:e.tabs,activeTabId:e.activeTabId}))),{servers:l,reload:u,remove:d}=Uh(),[f,p]=(0,J.useState)(``),[m,h]=(0,J.useState)(`all`),[g,_]=(0,J.useState)(!1),[v,y]=(0,J.useState)(`skill`),[b,x]=(0,J.useState)(null),[S,C]=(0,J.useState)(null),[w,T]=(0,J.useState)(!1),[E,D]=(0,J.useState)(null),[O,k]=(0,J.useState)(null),[A,j]=(0,J.useState)(!1);(0,J.useEffect)(()=>{a(t)},[t,a]);let M=(0,J.useMemo)(()=>s.find(e=>e.id===c&&e.type===`ai-resource`)?.metadata?.filePath??null,[s,c]),ee=m!==`mcp`,N=m===`all`||m===`mcp`,P=(0,J.useMemo)(()=>{if(!n||!ee)return[];let e=f.trim().toLowerCase();return n.groups.filter(e=>m===`all`||e.type===m).map(t=>({...t,items:t.items.filter(t=>!e||t.name.toLowerCase().includes(e)||t.description.toLowerCase().includes(e))})).filter(e=>e.items.length>0)},[n,m,f,ee]),F=(0,J.useMemo)(()=>{if(!N)return[];let e=f.trim().toLowerCase();return e?l.filter(t=>t.name.toLowerCase().includes(e)||Gh(t).toLowerCase().includes(e)):l},[l,f,N]),te=e=>Hh(e,t),ne=async e=>{await o();let n=Sh.getState().result?.groups.flatMap(e=>e.items).find(t=>t.filePath===e);n&&Hh(n,t)},re=async()=>{if(S)try{await xh(S.filePath,S.type,t),B.success(`Deleted ${S.name}`),C(null),await o()}catch(e){B.error(e.message)}},ie=e=>{x(null),y(e),_(!0)},ae=()=>{D(null),T(!0)},I=e=>{T(!1),D(null),e&&u()},oe=async()=>{if(O)try{await d(O.name),B.success(`Deleted ${O.name}`),k(null)}catch(e){B.error(e.message)}},se=async()=>{j(!0);try{let e=await Dh();B.success(`Imported ${e.imported}, skipped ${e.skipped}`),await u()}catch(e){B.error(e.message)}finally{j(!1)}},ce=n?.stats,le=P.length===0&&(!N||F.length===0)&&m!==`mcp`;return(0,Y.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Y.jsxs)(md,{icon:hn,title:`AI Resources`,children:[(0,Y.jsx)(`button`,{onClick:()=>{o(),u()},title:`Refresh`,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`,children:(0,Y.jsx)(tt,{className:U(`size-3.5`,r&&`animate-spin`)})}),(0,Y.jsx)(Kh,{onCreate:ie,onAddMcp:ae,onImportMcp:se})]}),(0,Y.jsx)(`div`,{className:`px-2 pt-2 shrink-0`,children:(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(Jt,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-text-subtle`}),(0,Y.jsx)(`input`,{value:f,onChange:e=>p(e.target.value),placeholder:`Filter resources…`,className:`w-full rounded-md border border-border bg-surface-elevated py-1.5 pl-7 pr-2 text-xs outline-none focus:border-primary/50`})]})}),(0,Y.jsx)(`div`,{className:`flex gap-1 px-2 py-2 shrink-0`,children:qh.map(e=>(0,Y.jsx)(`button`,{onClick:()=>h(e.id),className:U(`rounded-full border px-2 py-0.5 text-[11px] transition-colors`,m===e.id?`border-primary/40 bg-primary/10 text-primary`:`border-border text-text-subtle hover:bg-surface-elevated`),children:e.label},e.id))}),(0,Y.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:i?(0,Y.jsx)(`div`,{className:`p-4 text-center text-xs text-destructive`,children:i}):r&&!n?(0,Y.jsx)(`div`,{className:`space-y-1 p-2`,children:Array.from({length:6}).map((e,t)=>(0,Y.jsx)(`div`,{className:`h-9 animate-pulse rounded bg-surface-elevated`},t))}):le?(0,Y.jsx)(Yh,{hasProject:!!e,search:f}):(0,Y.jsxs)(Y.Fragment,{children:[P.map(e=>(0,Y.jsxs)(`div`,{className:`pb-1`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-text-subtle`,children:[(0,Y.jsx)(`span`,{children:Fh[e.type]}),(0,Y.jsx)(`span`,{className:`text-text-subtle/60`,children:e.items.length})]}),e.items.map(e=>(0,Y.jsx)(zh,{item:e,active:M===e.filePath,onOpen:te,onDuplicate:e=>x(e),onDelete:e=>C(e)},`${e.source}:${e.filePath}`))]},e.type)),N&&(0,Y.jsx)(Wh,{servers:F,showActions:m===`mcp`,importing:A,onAdd:ae,onImport:se,onEdit:e=>{D(e),T(!0)},onDelete:e=>k(e)})]})}),ce&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border px-2 py-1 text-[10px] text-text-subtle shrink-0`,children:[(0,Y.jsxs)(`span`,{children:[ce.active,` active`]}),(0,Y.jsx)(`span`,{children:`·`}),(0,Y.jsxs)(`span`,{children:[ce.project,` project`]}),(0,Y.jsx)(`span`,{children:`·`}),(0,Y.jsxs)(`span`,{children:[ce.shadowed,` shadowed`]})]}),(0,Y.jsx)(Bh,{open:g||!!b,onOpenChange:e=>{e||(_(!1),x(null))},mode:b?`duplicate`:`create`,source:b,initialType:v,project:t,hasProject:!!e,onSuccess:ne}),(0,Y.jsx)(Vh,{open:!!S,kind:S?.type??``,name:S?.name??``,folderWarning:S?.type===`skill`,onCancel:()=>C(null),onConfirm:re}),(0,Y.jsx)(jh,{open:w,onClose:I,editServer:E}),(0,Y.jsx)(Vh,{open:!!O,kind:`MCP server`,name:O?.name??``,onCancel:()=>k(null),onConfirm:oe})]})}function Yh({hasProject:e,search:t}){return t?(0,Y.jsxs)(`div`,{className:`p-6 text-center text-xs text-text-subtle`,children:[`No resources match “`,t,`”.`]}):(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-2 p-6 text-center`,children:[(0,Y.jsx)(Se,{className:`size-6 text-text-subtle`}),(0,Y.jsx)(`p`,{className:`text-xs font-medium`,children:e?`No resources yet`:`No project selected`}),(0,Y.jsx)(`p`,{className:`text-[11px] text-text-subtle`,children:e?`Create one with the New button above.`:`Project resources appear here once a project is open. User & bundled resources are still shown.`})]})}var Xh={list:(e=!1)=>z.get(`/api/tunnels${e?`?force=1`:``}`),start:e=>z.post(`/api/tunnels`,{port:e}),stop:e=>z.del(`/api/tunnels/${e}`)},Zh={status:()=>z.get(`/api/tunnel/named/status`),dismiss:()=>z.post(`/api/tunnel/named/dismiss`),zone:()=>z.get(`/api/tunnel/named/zone`),login:(e=!1)=>z.post(`/api/tunnel/named/login${e?`?relogin=1`:``}`),cancelLogin:()=>z.post(`/api/tunnel/named/login/cancel`),setup:e=>z.post(`/api/tunnel/named/setup`,{hostname:e}),disable:()=>z.post(`/api/tunnel/named/disable`)},Qh={askDomain:{title:`Do you have a domain on Cloudflare?`,body:`With your own domain, PPM can keep one fixed address that survives restarts. Without one, everything still works through a temporary link.`,yes:`Yes`,no:`Not yet`},noDomain:{title:`No problem`,body:`PPM will keep using a temporary link (quick tunnel). You can turn this on later from Tunnel Manager.`,close:`Close`},login:{title:`Sign in to Cloudflare`,hint:`Open the link below to sign in — a phone works just as well.`,finishOnPhone:`You can finish this step on your phone if that is easier.`,copy:`Copy`,copied:`Copied`,open:`Open link`,waiting:`Waiting for sign-in…`,slowTitle:`Still signing in?`,slowBody:`Cloudflare sometimes takes a few minutes. The process is still running — keep waiting or cancel.`,keepWaiting:`Keep waiting`,cancel:`Cancel`},timeout:{title:`Sign-in link expired`,body:`The link expires after 5 minutes unused. Press Retry to get a fresh one.`,retry:`Retry`},cancelled:{title:`Sign-in cancelled`,body:`You cancelled the Cloudflare sign-in.`,retry:`Retry`},confirmZone:{title:`Confirm your zone`,body:e=>`This machine will get a fixed address under ${e}. Continue?`,confirm:`Continue`,startOver:`Start over`},needsRelogin:{title:`Cloudflare sign-in needed`,certInvalid:`Your Cloudflare sign-in is no longer valid.`,certMismatch:`This certificate belongs to a different Cloudflare account — sign in again.`,action:`Sign in again`},hostname:{title:`Choose the address`,prefixLabel:`Prefix`,suffixHint:`The suffix is fixed by the account you just signed in with.`,submit:`Confirm`},applying:{title:`Setting up…`},done:{title:`All set`,body:e=>`Fixed address: https://${e}`,close:`Close`},pending:{title:`Saved — waiting to apply`,restartHint:"Run `ppm restart` to apply it now.",close:`Close`},error:{title:`Something went wrong`,retry:`Retry`,relogin:`Sign in again`,close:`Close`},section:{title:`Named Tunnel`,modeQuick:`quick`,modeNamed:`named`,hostnameLabel:`Address`,tokenLabel:`Token`,setup:`Set up named tunnel`,retry:`Retry`,relogin:`Sign in again`,disable:`Switch back to quick tunnel`,disableConfirm:`Press again to confirm`,disableSelfCut:`You are viewing PPM through this very domain — turning it off cuts this page immediately and you would never see the temporary link. Open PPM on your local network first, then turn it off.`,certInvalid:`Cloudflare sign-in needed`,certMismatch:`Certificate belongs to a different Cloudflare account — sign in again`,authDisabled:`Enable PPM authentication to use your own domain`,configuredAs:e=>`configured: ${e}`}},$h=/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/,eg=253;function tg(e,t){return`${e.trim().toLowerCase()}.${t.trim().toLowerCase()}`}function ng(e,t){let n=e.trim().toLowerCase(),r=t.trim().toLowerCase();if(!n||!r)return{ok:!1,reason:`hostname and zone are required`};if(n.length>eg)return{ok:!1,reason:`hostname exceeds 253 characters`};if(n===r)return{ok:!1,reason:`hostname cannot be the zone apex — a PPM token must never rewrite the zone's own record`};if(n===`www.${r}`)return{ok:!1,reason:`www is reserved`};if(!n.endsWith(`.${r}`))return{ok:!1,reason:`hostname must be a subdomain of ${r} — cloudflared silently mis-routes anything else`};if(n.slice(0,n.length-r.length-1).includes(`.`))return{ok:!1,reason:`hostname must be exactly one label above the zone`};for(let e of n.split(`.`))if(!$h.test(e))return{ok:!1,reason:`invalid DNS label: "${e}"`};return{ok:!0}}function rg(e){return e.authEnabled??!0?e.certState===`invalid`||e.certState===`mismatch`?{k:`needs-relogin`,message:e.certState===`mismatch`?Qh.needsRelogin.certMismatch:Qh.needsRelogin.certInvalid}:e.mode!==`quick`||e.dismissed?{k:`hidden`}:og(e.login.state,e.login.url,e.login.message):{k:`hidden`}}var ig=new Set([`hidden`,`ask-domain`,`login-wait`,`login-timeout`,`login-cancelled`,`needs-relogin`,`error`]),ag=new Set([`login-wait`,`needs-relogin`]);function og(e,t,n){switch(e){case`waiting`:return{k:`login-wait`,url:t,slow:!1};case`slow`:return{k:`login-wait`,url:t,slow:!0};case`timeout`:return{k:`login-timeout`};case`cancelled`:return{k:`login-cancelled`};case`error`:return{k:`error`,message:n??Qh.error.title};case`success`:return{k:`login-wait`,url:t,slow:!1};default:return{k:`ask-domain`}}}function sg(e,t){switch(t.type){case`status`:return ig.has(e.k)?rg(e.k===`hidden`?t.status:{...t.status,dismissed:!1}):e;case`answer-yes`:return{k:`login-wait`,url:null,slow:!1};case`answer-no`:return{k:`no-domain`};case`login-url`:return e.k===`login-wait`?{...e,url:t.url}:{k:`login-wait`,url:t.url,slow:!1};case`login-state`:return og(t.state,e.k===`login-wait`?e.url:null,t.message??null);case`cancel`:return{k:`login-cancelled`};case`retry`:return{k:`login-wait`,url:null,slow:!1};case`zone-loaded`:return ag.has(e.k)?{k:`confirm-zone`,zone:t.zone}:e;case`zone-error`:return ag.has(e.k)?{k:`error`,message:t.message}:e;case`confirm-zone`:return e.k===`confirm-zone`?{k:`choose-hostname`,zone:e.zone,prefix:`ppm`}:e;case`start-over`:return{k:`ask-domain`};case`hostname-prefix`:return e.k===`choose-hostname`?{...e,prefix:t.prefix,error:t.error}:e;case`submit`:return e.k===`choose-hostname`?{k:`applying`,zone:e.zone,prefix:e.prefix,message:Qh.applying.title}:e;case`setup-step`:return e.k===`applying`?{...e,message:t.message}:e;case`setup-done`:return{k:`done`,hostname:t.hostname};case`setup-pending`:return{k:`pending`,hostname:t.hostname,message:t.message};case`setup-error`:return e.k===`applying`?{k:`choose-hostname`,zone:e.zone,prefix:e.prefix,error:t.message}:{k:`error`,message:t.message};case`needs-relogin`:return{k:`needs-relogin`,message:t.message};case`close`:return{k:`hidden`};default:return e}}var cg=null;function lg(){return cg}var ug=[`tunnel:login_url`,`tunnel:login_state`,`tunnel:setup_step`,`tunnel:setup_done`,`tunnel:setup_pending`,`tunnel:setup_error`];function dg(e){return e instanceof Error?e.message:Qh.error.title}function fg(){let[e,t]=(0,J.useState)({k:`hidden`}),[n,r]=(0,J.useState)(null),i=(0,J.useRef)(!1),a=(0,J.useRef)(e);a.current=e;let o=(0,J.useCallback)(e=>{t(t=>sg(t,e))},[]),s=(0,J.useCallback)(()=>{i.current||(i.current=!0,Zh.zone().then(e=>o({type:`zone-loaded`,zone:e.zone})).catch(e=>o({type:`zone-error`,message:dg(e)})).finally(()=>{i.current=!1}))},[o]),c=(0,J.useCallback)(()=>{ag.has(a.current.k)&&s()},[s]),l=(0,J.useCallback)(async()=>{try{let e=await Zh.status();r(e),e.mode===`named`&&e.hostname&&(cg=e.hostname),o({type:`status`,status:e}),e.mode===`quick`&&e.login.state===`success`&&c()}catch{}},[o,c]);(0,J.useEffect)(()=>{l()},[l]),(0,J.useEffect)(()=>{function e(e){let t=e.detail;switch(t.type){case`tunnel:login_url`:o({type:`login-url`,url:t.url});break;case`tunnel:login_state`:{let e=t.state;o({type:`login-state`,state:e,message:t.message??null}),e===`success`&&(c(),l());break}case`tunnel:setup_step`:o({type:`setup-step`,message:t.message});break;case`tunnel:setup_done`:cg=t.hostname,o({type:`setup-done`,hostname:t.hostname}),l();break;case`tunnel:setup_pending`:o({type:`setup-pending`,hostname:t.hostname,message:t.message}),l();break;case`tunnel:setup_error`:o({type:`setup-error`,message:t.message});break}}return ug.forEach(t=>window.addEventListener(t,e)),()=>ug.forEach(t=>window.removeEventListener(t,e))},[o,c,l]);let u=(0,J.useCallback)(e=>{o({type:`answer-yes`}),Zh.login(e).then(e=>{e.url&&o({type:`login-url`,url:e.url}),o({type:`login-state`,state:e.state,message:e.message}),e.state===`success`&&(c(),l())}).catch(e=>o({type:`login-state`,state:`error`,message:dg(e)}))},[o,c,l]),d=(0,J.useCallback)(()=>u(!1),[u]),f=(0,J.useCallback)(()=>u(!1),[u]),p=(0,J.useCallback)(()=>u(!0),[u]),m=(0,J.useCallback)(()=>{o({type:`answer-no`}),Zh.dismiss().catch(()=>{})},[o]),h=(0,J.useCallback)(()=>{o({type:`cancel`}),Zh.cancelLogin().catch(()=>{})},[o]),g=(0,J.useCallback)(()=>o({type:`confirm-zone`}),[o]),_=(0,J.useCallback)(()=>o({type:`start-over`}),[o]),v=(0,J.useCallback)(()=>o({type:`close`}),[o]);return{step:e,status:n,answerYes:d,answerNo:m,cancelLogin:h,retryLogin:f,confirmZone:g,startOver:_,setHostnamePrefix:(0,J.useCallback)(e=>{let t=a.current;if(t.k!==`choose-hostname`)return;let n=ng(tg(e,t.zone),t.zone);o({type:`hostname-prefix`,prefix:e,error:n.ok?void 0:n.reason})},[o]),submitHostname:(0,J.useCallback)(()=>{let e=a.current;if(e.k!==`choose-hostname`)return;let t=tg(e.prefix,e.zone),n=ng(t,e.zone);if(!n.ok){o({type:`hostname-prefix`,prefix:e.prefix,error:n.reason});return}o({type:`submit`}),Zh.setup(t).then(e=>{cg=e.hostname,e.pending?o({type:`setup-pending`,hostname:e.hostname,message:e.message??Qh.pending.title}):o({type:`setup-done`,hostname:e.hostname}),l()}).catch(e=>o({type:`setup-error`,message:dg(e)}))},[o,l]),requestRelogin:p,close:v,refreshStatus:l}}function pg({url:e,slow:t,onCancel:n}){let[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(!1),s=Qh.login,c=t&&!a;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:s.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:s.hint})]}),e?(0,Y.jsxs)(`div`,{className:`flex items-stretch gap-2`,children:[(0,Y.jsx)(`div`,{className:`min-w-0 flex-1 flex items-center px-3 py-3 rounded-lg border border-border bg-surface font-mono text-xs text-foreground truncate`,children:e}),(0,Y.jsx)(`button`,{type:`button`,onClick:async()=>{await Al(e)&&(i(!0),setTimeout(()=>i(!1),2e3))},"aria-label":s.copy,className:`shrink-0 size-11 flex items-center justify-center rounded-lg border border-border hover:bg-surface-elevated transition-colors`,children:r?(0,Y.jsx)(An,{className:`size-4 text-success`}):(0,Y.jsx)(un,{className:`size-4`})}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>window.open(e,`_blank`,`noopener`),"aria-label":s.open,className:`shrink-0 size-11 flex items-center justify-center rounded-lg border border-border hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(jt,{className:`size-4`})})]}):(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-text-secondary`,children:[(0,Y.jsx)(L,{className:`size-4 animate-spin`}),s.waiting]}),(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle`,children:s.finishOnPhone}),c&&(0,Y.jsxs)(`div`,{className:`rounded-lg border border-warning/30 bg-warning/10 p-3 space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Y.jsx)(yn,{className:`size-4 text-warning shrink-0 mt-0.5`}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:s.slowTitle}),(0,Y.jsx)(`p`,{className:`text-xs text-text-secondary leading-relaxed mt-0.5`,children:s.slowBody})]})]}),(0,Y.jsxs)(`div`,{className:`flex gap-2 pt-1`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>o(!0),className:`flex-1 min-h-11 py-2.5 rounded-md bg-primary text-primary-foreground text-sm font-medium hover:bg-primary/90 transition-colors`,children:s.keepWaiting}),(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`flex-1 min-h-11 py-2.5 rounded-md border border-border text-sm text-text-secondary hover:bg-surface-elevated transition-colors`,children:s.cancel})]})]}),!c&&(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`w-full min-h-11 py-3 rounded-lg border border-border text-sm text-text-secondary hover:bg-surface-elevated transition-colors`,children:s.cancel})]})}function mg({zone:e,prefix:t,error:n,onChange:r}){let i=(0,J.useRef)(null);return(0,J.useEffect)(()=>{i.current?.focus()},[]),(0,Y.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Y.jsx)(`label`,{htmlFor:`named-tunnel-prefix`,className:`block text-sm font-medium text-foreground`,children:Qh.hostname.prefixLabel}),(0,Y.jsxs)(`div`,{className:`flex items-stretch rounded-lg border border-border bg-background focus-within:border-primary/50 transition-colors overflow-hidden`,children:[(0,Y.jsx)(`input`,{ref:i,id:`named-tunnel-prefix`,type:`text`,value:t,onChange:e=>r(e.target.value),spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,className:`min-w-0 flex-1 px-3 py-3 bg-transparent text-sm text-foreground outline-none`}),(0,Y.jsxs)(`span`,{className:`flex items-center px-3 py-3 text-sm text-text-subtle bg-surface-elevated border-l border-border select-none whitespace-nowrap`,children:[`.`,e]})]}),(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle`,children:Qh.hostname.suffixHint}),n&&(0,Y.jsx)(`p`,{className:`text-xs text-destructive`,children:n})]})}var hg=`w-full min-h-11 py-3 rounded-lg bg-primary text-primary-foreground text-sm font-medium hover:bg-primary/90 transition-colors disabled:opacity-50 disabled:pointer-events-none`,gg=`w-full min-h-11 py-3 rounded-lg border border-border text-sm text-text-secondary hover:bg-surface-elevated transition-colors`;function _g({step:e,t}){switch(e.k){case`hidden`:return null;case`ask-domain`:{let e=Qh.askDomain;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:t.answerNo,className:gg,children:e.no}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.answerYes,className:hg,children:e.yes})]})]})}case`no-domain`:{let e=Qh.noDomain;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.close,className:hg,children:e.close})]})}case`login-wait`:return(0,Y.jsx)(pg,{url:e.url,slow:e.slow,onCancel:t.cancelLogin});case`login-timeout`:{let e=Qh.timeout;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:hg,children:e.retry})]})}case`login-cancelled`:{let e=Qh.cancelled;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:hg,children:e.retry})]})}case`confirm-zone`:{let n=Qh.confirmZone;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:n.body(e.zone)})]}),(0,Y.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:t.startOver,className:gg,children:n.startOver}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.confirmZone,className:hg,children:n.confirm})]})]})}case`needs-relogin`:{let n=Qh.needsRelogin;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.requestRelogin,className:hg,children:n.action})]})}case`choose-hostname`:{let n=Qh.hostname;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,Y.jsx)(mg,{zone:e.zone,prefix:e.prefix,error:e.error,onChange:t.setHostnamePrefix}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.submitHostname,disabled:!e.prefix||!!e.error,className:hg,children:n.submit})]})}case`applying`:return(0,Y.jsx)(`div`,{className:`space-y-4 py-4`,children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-foreground`,children:[(0,Y.jsx)(L,{className:`size-4 animate-spin text-primary`}),e.message]})});case`done`:{let n=Qh.done;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary break-all`,children:n.body(e.hostname)})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.close,className:hg,children:n.close})]})}case`pending`:{let n=Qh.pending;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message}),(0,Y.jsx)(`p`,{className:`mt-2 text-xs font-mono text-text-subtle bg-surface-elevated rounded px-2 py-1.5 inline-block`,children:`ppm restart`})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.close,className:hg,children:n.close})]})}case`error`:{let n=Qh.error;return(0,Y.jsxs)(`div`,{className:`space-y-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Y.jsx)(cn,{className:`size-4 text-destructive shrink-0 mt-0.5`}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,Y.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message})]})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Y.jsx)(`button`,{type:`button`,onClick:t.close,className:gg,children:n.close}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:gg,children:n.retry}),(0,Y.jsx)(`button`,{type:`button`,onClick:t.requestRelogin,className:hg,children:n.relogin})]})]})}default:return null}}function vg(){let e=fg(),[t,n]=(0,J.useState)(!1),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(!1),s=Qh.section,c=e.status;if(!c)return null;let l=!!c.hostname&&typeof window<`u`&&window.location.hostname===c.hostname,u=e.step.k!==`hidden`&&e.step.k!==`ask-domain`,d=c.authEnabled??!0,f=c.liveMode??c.mode,p=c.certState===`invalid`||c.certState===`mismatch`;async function m(){if(!t){n(!0),setTimeout(()=>n(!1),4e3);return}n(!1),i(!0);try{await Zh.disable(),B.success(`Switched back to a quick tunnel`),await e.refreshStatus()}catch(e){B.error(e instanceof Error?e.message:`Could not switch back to a quick tunnel`)}finally{i(!1)}}async function h(e){if(!await Al(`https://${e}`)){B.error(`Failed to copy URL`);return}o(!0),setTimeout(()=>o(!1),2e3)}return(0,Y.jsxs)(`div`,{className:`p-3 border-b border-border bg-surface space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium text-text-primary`,children:s.title}),(0,Y.jsx)(`span`,{className:`px-1.5 py-0.5 rounded text-[10px] font-medium uppercase tracking-wide ${f===`named`?`bg-success/10 text-success`:`bg-surface-elevated text-text-secondary`}`,children:f===`named`?s.modeNamed:s.modeQuick}),c.mode!==f&&(0,Y.jsxs)(`span`,{className:`text-[10px] text-text-subtle`,children:[`(`,s.configuredAs(c.mode),`)`]})]}),c.mode===`named`&&c.hostname&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 text-xs`,children:[(0,Y.jsx)(`a`,{href:`https://${c.hostname}`,target:`_blank`,rel:`noopener noreferrer`,className:`flex-1 min-w-0 truncate text-primary hover:underline`,children:c.hostname}),(0,Y.jsx)(`button`,{onClick:()=>h(c.hostname),"aria-label":`Copy URL`,className:`shrink-0 size-11 flex items-center justify-center rounded-md hover:bg-surface-elevated transition-colors`,children:a?(0,Y.jsx)(An,{className:`size-3.5 text-success`}):(0,Y.jsx)(un,{className:`size-3.5 text-text-secondary`})}),(0,Y.jsx)(`a`,{href:`https://${c.hostname}`,target:`_blank`,rel:`noopener noreferrer`,className:`shrink-0 size-11 flex items-center justify-center rounded-md hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(jt,{className:`size-3.5 text-text-secondary`})})]}),c.tokenMasked&&(0,Y.jsxs)(`p`,{className:`text-[10px] font-mono text-text-subtle`,children:[s.tokenLabel,`: `,c.tokenMasked]}),c.tunnelWarning&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-warning/30 bg-warning/10 px-2.5 py-2 text-xs text-foreground`,children:[(0,Y.jsx)(yn,{className:`size-3.5 text-warning shrink-0`}),c.tunnelWarning]}),p&&!u&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-warning/30 bg-warning/10 px-2.5 py-2 text-xs text-foreground`,children:[(0,Y.jsx)(nn,{className:`size-3.5 text-warning shrink-0`}),c.certState===`mismatch`?s.certMismatch:s.certInvalid]}),u?(0,Y.jsx)(_g,{step:e.step,t:e}):d?(0,Y.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[c.mode===`quick`&&(0,Y.jsx)(`button`,{onClick:e.answerYes,className:`min-h-11 px-3 py-2 rounded-md bg-primary text-primary-foreground text-xs font-medium hover:bg-primary/90 transition-colors`,children:s.setup}),c.mode===`named`&&(0,Y.jsx)(`button`,{onClick:m,disabled:r||l,title:l?s.disableSelfCut:void 0,className:`min-h-11 px-3 py-2 rounded-md text-xs transition-colors disabled:opacity-50 ${t?`bg-destructive/15 text-destructive`:`border border-border text-text-secondary hover:bg-surface-elevated`}`,children:t?s.disableConfirm:s.disable})]}):(0,Y.jsx)(`p`,{className:`text-xs text-text-secondary`,children:s.authDisabled}),c.mode===`named`&&l&&(0,Y.jsx)(`p`,{className:`text-[11px] text-text-secondary leading-relaxed`,children:s.disableSelfCut})]})}var yg={app:{label:`app`,cls:`bg-primary/10 text-primary`},ppm:{label:`ppm`,cls:`bg-success/10 text-success`},external:{label:`external`,cls:`bg-surface-elevated text-text-secondary`}};function bg(){let[e,t]=(0,J.useState)([]),[n,r]=(0,J.useState)(``),[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(null),[u,d]=(0,J.useState)(null),[f,p]=(0,J.useState)(!1),[m,h]=(0,J.useState)(!1),g=(0,J.useCallback)(async(e=!1)=>{e&&h(!0);try{t(await Xh.list(e))}catch(e){console.warn(`[tunnels] failed to fetch`,e)}finally{p(!0),e&&h(!1)}},[]);(0,J.useEffect)(()=>{g();let e=setInterval(()=>g(),1e4);return()=>clearInterval(e)},[g]);let _=async e=>{a(!0),s(null);try{let t=await Xh.start(e);window.open(t.url,`_blank`),r(``),await g()}catch(t){s(t.message||`Failed to start tunnel for port ${e}`)}finally{a(!1)}},v=async e=>{if(e.source===`external`&&u!==e.pid){d(e.pid),setTimeout(()=>d(t=>t===e.pid?null:t),4e3);return}d(null);try{await Xh.stop(e.pid),await g()}catch(t){B.error(t.message||`Failed to stop tunnel (pid ${e.pid})`)}},y=(e,t)=>{Al(t).then(t=>{if(!t){B.error(`Failed to copy URL`);return}l(e),B.success(`URL copied`),setTimeout(()=>l(null),2e3)})};return(0,Y.jsxs)(`div`,{className:`flex flex-col h-full w-full bg-background`,children:[(0,Y.jsx)(vg,{}),(0,Y.jsxs)(`div`,{className:`p-3 border-b border-border bg-surface`,children:[(0,Y.jsxs)(`form`,{onSubmit:e=>{e.preventDefault();let t=parseInt(n,10);t>=1&&t<=65535?_(t):s(`Port must be 1-65535`)},className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1.5 px-2.5 py-2 rounded-lg bg-background border border-border focus-within:border-primary/50 transition-colors`,children:[(0,Y.jsx)(`span`,{className:`text-xs text-text-subtle shrink-0`,children:`localhost:`}),(0,Y.jsx)(`input`,{type:`number`,value:n,onChange:e=>{r(e.target.value),s(null)},placeholder:`3000`,min:1,max:65535,className:`flex-1 min-w-0 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`})]}),(0,Y.jsx)(`button`,{type:`submit`,disabled:i||!n,className:`px-3 py-2 rounded-lg bg-primary text-primary-foreground text-sm font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors shrink-0 flex items-center justify-center`,children:i?(0,Y.jsx)(L,{className:`size-4 animate-spin`}):`Forward`}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>g(!0),disabled:m,title:`Refresh`,"aria-label":`Refresh tunnels`,className:`shrink-0 p-2 rounded-lg hover:bg-surface-elevated transition-colors disabled:opacity-50`,children:(0,Y.jsx)(tt,{className:`size-4 text-text-secondary ${m?`animate-spin`:``}`})})]}),o&&(0,Y.jsx)(`p`,{className:`text-xs text-error mt-2`,children:o})]}),(0,Y.jsx)(`div`,{className:`flex-1 overflow-y-auto p-3`,children:f?e.length===0?(0,Y.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center px-2`,children:[(0,Y.jsx)($e,{className:`size-8 text-text-subtle`}),(0,Y.jsx)(`p`,{className:`text-xs text-text-secondary`,children:`No cloudflared tunnels running. Forward a port, or start one elsewhere and it will appear here.`})]}):(0,Y.jsx)(`div`,{className:`space-y-2`,children:e.map(e=>(0,Y.jsxs)(`div`,{className:`p-2.5 rounded-lg bg-surface border border-border`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`span`,{className:`shrink-0 font-mono text-sm font-medium text-text-primary`,children:e.port==null?`—`:`:${e.port}`}),(0,Y.jsx)(`span`,{className:`shrink-0 px-1.5 py-0.5 rounded text-[10px] font-medium uppercase tracking-wide ${yg[e.source].cls}`,children:yg[e.source].label}),(0,Y.jsx)(`div`,{className:`flex-1`}),e.protected?(0,Y.jsx)(`div`,{className:`shrink-0 p-1.5`,title:`App tunnel — managed by PPM, not stoppable here`,children:(0,Y.jsx)(Nt,{className:`size-4 text-text-subtle`})}):(0,Y.jsx)(`button`,{onClick:()=>v(e),className:`shrink-0 h-8 min-w-8 px-1.5 flex items-center justify-center rounded-md transition-colors ${u===e.pid?`bg-error/15`:`hover:bg-error/10`}`,title:u===e.pid?`Click again to confirm stop`:`Stop tunnel`,children:u===e.pid?(0,Y.jsx)(`span`,{className:`text-[10px] font-medium text-error`,children:`Sure?`}):(0,Y.jsx)(on,{className:`size-4 text-error`})})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 mt-1`,children:[(0,Y.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-xs ${e.url?`text-text-secondary`:`text-text-subtle italic`}`,children:e.url??`unknown`}),e.url&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{onClick:()=>window.open(e.url,`_blank`),className:`shrink-0 p-1.5 rounded-md hover:bg-surface-elevated transition-colors`,title:`Open in browser`,children:(0,Y.jsx)(jt,{className:`size-3.5 text-text-secondary`})}),(0,Y.jsx)(`button`,{onClick:()=>y(e.pid,e.url),className:`shrink-0 p-1.5 rounded-md hover:bg-surface-elevated transition-colors`,title:`Copy URL`,children:c===e.pid?(0,Y.jsx)(An,{className:`size-3.5 text-success`}):(0,Y.jsx)(un,{className:`size-3.5 text-text-secondary`})})]})]}),(0,Y.jsxs)(`div`,{className:`mt-1 text-[10px] font-mono text-text-subtle`,children:[`pid `,e.pid]})]},e.pid))}):(0,Y.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,Y.jsx)(L,{className:`size-6 animate-spin text-primary`})})})]})}function xg({projectName:e,onTagsChanged:t}){let[n,r]=(0,J.useState)([]),[i,a]=(0,J.useState)(null),[o,s]=(0,J.useState)(!0),[c,l]=(0,J.useState)(null),[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(``),[m,h]=(0,J.useState)(``),[g,_]=(0,J.useState)(`#22c55e`),[v,y]=(0,J.useState)(!1),b=`${R(e)}/tags`,x=(0,J.useCallback)(async()=>{try{let e=await z.get(b);r(e.tags),a(e.defaultTagId)}catch{}s(!1)},[b]);(0,J.useEffect)(()=>{x()},[x]);let S=async()=>{if(m.trim())try{await z.post(b,{name:m.trim(),color:g}),h(``),y(!1),x(),t?.()}catch{}},C=async e=>{try{await z.patch(`${b}/${e}`,{name:u.trim()||void 0,color:f||void 0}),l(null),x(),t?.()}catch{}},w=async(e,n)=>{if(window.confirm(`Delete tag "${n}"? Sessions with this tag will become untagged.`))try{await z.del(`${b}/${e}`),x(),t?.()}catch{}},T=async e=>{let t=e===i?null:e;try{await z.patch(`${b}/default-tag`,{tagId:t}),a(t)}catch{}};return o?(0,Y.jsx)(`p`,{className:`text-[11px] text-muted-foreground animate-pulse`,children:`Loading tags...`}):(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Session Tags`}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(`button`,{onClick:async()=>{try{await z.post(`${b}/reset`,{}),x(),t?.()}catch{}},className:`p-1 rounded text-text-subtle hover:text-text-secondary`,title:`Reset to defaults`,children:(0,Y.jsx)(de,{className:`size-3`})}),(0,Y.jsx)(`button`,{onClick:()=>y(!v),className:`p-1 rounded text-primary hover:bg-primary/10`,title:`Add tag`,children:(0,Y.jsx)(_n,{className:`size-3.5`})})]})]}),v&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 px-1`,children:[(0,Y.jsx)(`input`,{type:`color`,value:g,onChange:e=>_(e.target.value),className:`size-6 rounded cursor-pointer border-0 p-0`}),(0,Y.jsx)(`input`,{value:m,onChange:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&S(),e.key===`Escape`&&y(!1)},placeholder:`Tag name`,className:`flex-1 min-w-0 bg-surface-elevated text-[11px] text-text-primary px-2 py-1 rounded border border-border outline-none focus:border-primary`,autoFocus:!0}),(0,Y.jsx)(`button`,{onClick:S,className:`p-1 text-success hover:text-success/80`,children:(0,Y.jsx)(An,{className:`size-3.5`})}),(0,Y.jsx)(`button`,{onClick:()=>y(!1),className:`p-1 text-text-subtle hover:text-text-secondary`,children:(0,Y.jsx)(he,{className:`size-3.5`})})]}),(0,Y.jsxs)(`div`,{className:`space-y-0.5`,children:[n.map(e=>(0,Y.jsx)(`div`,{className:`flex items-center gap-1.5 px-1 py-1 rounded hover:bg-surface-elevated group`,children:c===e.id?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`input`,{type:`color`,value:f,onChange:e=>p(e.target.value),className:`size-5 rounded cursor-pointer border-0 p-0`}),(0,Y.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),onKeyDown:t=>{t.key===`Enter`&&C(e.id),t.key===`Escape`&&l(null)},className:`flex-1 min-w-0 bg-surface-elevated text-[11px] px-1.5 py-0.5 rounded border border-border outline-none focus:border-primary`,autoFocus:!0}),(0,Y.jsx)(`button`,{onClick:()=>C(e.id),className:`p-0.5 text-success`,children:(0,Y.jsx)(An,{className:`size-3`})}),(0,Y.jsx)(`button`,{onClick:()=>l(null),className:`p-0.5 text-text-subtle`,children:(0,Y.jsx)(he,{className:`size-3`})})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`size-3 rounded-full shrink-0`,style:{backgroundColor:e.color}}),(0,Y.jsx)(`span`,{className:`flex-1 text-[11px] text-text-primary truncate`,children:e.name}),(0,Y.jsx)(`button`,{onClick:()=>T(e.id),className:`px-1.5 py-0.5 rounded text-[9px] font-medium transition-colors ${e.id===i?`bg-primary/15 text-primary border border-primary/30`:`text-text-subtle border border-transparent can-hover:opacity-0 can-hover:group-hover:opacity-100 hover:bg-surface-elevated hover:border-border`}`,title:e.id===i?`Default tag (click to unset)`:`Set as default for new sessions`,children:e.id===i?`Default`:`Set default`}),(0,Y.jsx)(`button`,{onClick:()=>{l(e.id),d(e.name),p(e.color)},className:`p-0.5 rounded text-text-subtle hover:text-text-secondary can-hover:opacity-0 can-hover:group-hover:opacity-100`,children:(0,Y.jsx)(me,{className:`size-3`})}),(0,Y.jsx)(`button`,{onClick:()=>w(e.id,e.name),className:`p-0.5 rounded text-text-subtle hover:text-error can-hover:opacity-0 can-hover:group-hover:opacity-100`,children:(0,Y.jsx)(Mn,{className:`size-3`})})]})},e.id)),n.length===0&&(0,Y.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-2 text-center`,children:`No tags. Click + to create one.`})]})]})}function Sg(e){let t=[],n=/<mark>([\s\S]*?)<\/mark>/g,r=0,i;for(;(i=n.exec(e))!==null;)i.index>r&&t.push({text:e.slice(r,i.index),mark:!1}),t.push({text:i[1]??``,mark:!0}),r=n.lastIndex;return r<e.length&&t.push({text:e.slice(r),mark:!1}),t}function Cg({snippet:e,className:t}){return(0,Y.jsx)(`span`,{className:t,children:Sg(e).map((e,t)=>e.mark?(0,Y.jsx)(`mark`,{className:`bg-warning/30 text-foreground rounded-sm px-0.5`,children:e.text},t):(0,Y.jsx)(`span`,{children:e.text},t))})}var wg=50;function Tg({projectName:e,sessionId:t,onSelectSession:n,enableKeyboardShortcuts:r=!1}){let[i,a]=(0,J.useState)([]),[o,s]=(0,J.useState)(!1),[c,l]=(0,J.useState)(``),u=hs(c,300),[d,f]=(0,J.useState)(null),[p,m]=(0,J.useState)(``),[h,g]=(0,J.useState)(!1),[_,v]=(0,J.useState)(!1),[y,b]=(0,J.useState)([]),[x,S]=(0,J.useState)(null),[C,w]=(0,J.useState)({}),[T,E]=(0,J.useState)(!1),D=(0,J.useRef)(null),O=K(e=>e.openTab),k=(0,J.useCallback)(async t=>{if(e){s(!0);try{let n=new URLSearchParams({limit:String(wg),offset:`0`});t&&n.set(`q`,t);let r=await z.get(`${R(e)}/chat/sessions?${n}`);a(r.sessions),g(r.hasMore)}catch{}finally{s(!1)}}},[e]),A=(0,J.useCallback)(async()=>{if(!(!e||_||!h)){v(!0);try{let t=i.filter(e=>!e.pinned).length,n=new URLSearchParams({limit:String(wg),offset:String(t)});u&&n.set(`q`,u);let r=await z.get(`${R(e)}/chat/sessions?${n}`);a(e=>{let t=new Set(e.map(e=>e.id)),n=r.sessions.filter(e=>!t.has(e.id));return[...e,...n]}),g(r.hasMore)}catch{}finally{v(!1)}}},[e,_,h,i,u]),j=(0,J.useCallback)(async()=>{if(e)try{let t=await z.get(`${R(e)}/tags`);b(t.tags),w(t.counts)}catch{}},[e]);(0,J.useEffect)(()=>{k()},[k]),(0,J.useEffect)(()=>{e&&j()},[e,j]),(0,J.useEffect)(()=>{k(u||void 0)},[u]);function M(t){n?n(t):O({type:`chat`,title:t.title||`Chat`,projectId:e??null,metadata:{projectName:e,sessionId:t.id,providerId:t.providerId},closable:!0})}let ee=(0,J.useCallback)((e,t)=>{t.stopPropagation(),f(e.id),m(e.title||``),setTimeout(()=>D.current?.select(),0)},[]),N=(0,J.useCallback)(async()=>{if(!d||!p.trim()||!e){f(null);return}try{await z.patch(`${R(e)}/chat/sessions/${d}`,{title:p.trim()}),a(e=>e.map(e=>e.id===d?{...e,title:p.trim()}:e))}catch{}f(null)},[d,p,e]),P=(0,J.useCallback)(()=>f(null),[]),F=(0,J.useCallback)(async(t,n)=>{if(t.stopPropagation(),!e)return;let r=`${R(e)}/chat/sessions/${n.id}/pin`;try{n.pinned?await z.del(r):await z.put(r),a(e=>e.map(e=>e.id===n.id?{...e,pinned:!e.pinned}:e).sort(Ls))}catch{}},[e]),te=(0,J.useCallback)(async(t,n)=>{if(t.stopPropagation(),e&&window.confirm(`Delete this session? This cannot be undone.`))try{await z.del(`${R(e)}/chat/sessions/${n.id}?providerId=${n.providerId}`),a(e=>e.filter(e=>e.id!==n.id))}catch{}},[e]),ne=(0,J.useCallback)((e,t)=>{a(n=>n.map(n=>n.id===e?{...n,tag:t}:n)),j()},[j]),re=(0,J.useCallback)(async()=>{if(!e)return;let t=window.prompt(`Delete sessions older than how many days? (pinned sessions are kept)`,`30`);if(!t)return;let n=parseInt(t,10);if(!(!n||n<1)&&window.confirm(`Delete all unpinned sessions older than ${n} days? This cannot be undone.`)){s(!0);try{await z.del(`${R(e)}/chat/sessions?olderThanDays=${n}`),k(u||void 0)}catch{}}},[e,k,u]);return(0,J.useEffect)(()=>{if(!r)return;let n=n=>{if(n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement)return;let r=parseInt(n.key);if(r>=1&&r<=y.length&&t){let n=y[r-1];n&&(z.patch(`${R(e)}/chat/sessions/${t}/tag`,{tagId:n.id}).catch(()=>{}),ne(t,{id:n.id,name:n.name,color:n.color}))}};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[r,y,t,e,ne]),{sessions:i,filteredSessions:x===null?i:i.filter(e=>e.tag?.id===x),loading:o,hasMore:h,loadingMore:_,searchQuery:c,setSearchQuery:l,editingId:d,editingTitle:p,setEditingTitle:m,editInputRef:D,projectTags:y,selectedTagId:x,setSelectedTagId:S,tagCounts:C,showTagSettings:T,setShowTagSettings:E,load:k,loadMore:A,loadTags:j,openSession:M,startEditing:ee,saveTitle:N,cancelEditing:P,togglePin:F,deleteSession:te,handleTagChanged:ne,bulkDelete:re}}var Eg={results:[],indexing:{total:0,indexed:0,running:!1}};function Dg(e,t){let n=hs(t,300),[r,i]=(0,J.useState)(Eg),[a,o]=(0,J.useState)(!1);return(0,J.useEffect)(()=>{let t=n.trim();if(!t||!e){i(Eg),o(!1);return}let r=!1;return o(!0),z.get(`${R(e)}/chat/search?q=${encodeURIComponent(t)}`).then(e=>{r||i(e)}).catch(()=>{r||i(Eg)}).finally(()=>{r||o(!1)}),()=>{r=!0}},[e,n]),{results:r.results,indexing:r.indexing,loading:a,query:n}}function Og({search:e,onOpen:t}){return(0,Y.jsxs)(`div`,{children:[e.indexing.running&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 px-3 py-1 text-[10px] text-text-subtle`,children:[(0,Y.jsx)(L,{className:`size-2.5 animate-spin`}),` Indexing `,e.indexing.indexed,`/`,e.indexing.total,`…`]}),e.loading&&e.results.length===0?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,Y.jsx)(L,{className:`size-3.5 animate-spin text-text-subtle`})}):e.results.length===0?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-3 text-[11px] text-text-subtle`,children:e.indexing.running?`No matches yet — indexing…`:`No matches`}):e.results.map(e=>(0,Y.jsxs)(`button`,{onClick:()=>t(e),className:`group relative flex w-full items-center gap-2 px-2 py-1.5 text-left hover:bg-surface-elevated transition-colors`,children:[(0,Y.jsx)(Is,{providerId:e.providerId}),(0,Y.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`span`,{className:`flex items-center gap-1.5`,children:(0,Y.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e.title||`Untitled`})}),e.matchedIn===`content`&&e.snippet&&(0,Y.jsx)(Cg,{snippet:e.snippet,className:`block text-[11px] text-text-subtle line-clamp-2`})]})]},e.sessionId))]})}function kg({projectName:e,variant:t,sessionId:n,onSelectSession:r,onNavigate:i,className:a}){let o=Tg({projectName:e,sessionId:n,onSelectSession:r,enableKeyboardShortcuts:t===`bar`}),s=Cs(e=>e.notifications),c=K(e=>e.openTab),l=t===`sidebar`,u=Dg(e,l?o.searchQuery:``),d=l&&o.searchQuery.trim().length>0;function f(t){c({type:`chat`,title:t.title||`Chat`,projectId:e,metadata:{projectName:e,sessionId:t.sessionId,providerId:t.providerId},closable:!0}),i?.()}function p(e){o.openSession(e),i?.()}return(0,Y.jsxs)(`div`,{className:U(l?`flex flex-col h-full min-h-0`:`border-t border-border/30 bg-surface`,a),children:[l&&(0,Y.jsx)(md,{icon:In,title:`Chat History`}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-2 shrink-0`,children:[(0,Y.jsxs)(`div`,{className:`relative flex-1`,children:[(0,Y.jsx)(Jt,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-text-subtle`}),(0,Y.jsx)(`input`,{type:`text`,value:o.searchQuery,onChange:e=>o.setSearchQuery(e.target.value),placeholder:`Filter sessions…`,className:`w-full rounded-md border border-border bg-surface-elevated py-1.5 pl-7 pr-2 text-xs outline-none focus:border-primary/50`})]}),(0,Y.jsx)(`button`,{onClick:o.bulkDelete,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-error`,title:`Delete old sessions...`,children:(0,Y.jsx)(_e,{className:`size-3.5`})}),(0,Y.jsx)(`button`,{onClick:()=>o.load(o.searchQuery||void 0),disabled:o.loading,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground disabled:opacity-50`,title:`Refresh`,children:(0,Y.jsx)(tt,{className:U(`size-3.5`,o.loading&&`animate-spin`)})})]}),o.projectTags.length>0&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-2 overflow-x-auto scrollbar-none shrink-0`,children:[(0,Y.jsxs)(`button`,{onClick:()=>o.setSelectedTagId(null),className:U(`shrink-0 rounded-full border px-2 py-0.5 text-[11px] transition-colors`,o.selectedTagId===null?`border-primary/40 bg-primary/10 text-primary`:`border-border text-text-subtle hover:bg-surface-elevated`),children:[`All (`,o.sessions.length,`)`]}),o.projectTags.map(e=>(0,Y.jsxs)(`button`,{onClick:()=>o.setSelectedTagId(o.selectedTagId===e.id?null:e.id),className:U(`shrink-0 flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] transition-colors`,o.selectedTagId===e.id?`border-current`:`border-border text-text-subtle hover:bg-surface-elevated`),style:o.selectedTagId===e.id?{backgroundColor:e.color+`20`,color:e.color,borderColor:e.color}:void 0,children:[(0,Y.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,` (`,o.tagCounts[e.id]??0,`)`]},e.id)),(0,Y.jsx)(`button`,{onClick:()=>o.setShowTagSettings(!o.showTagSettings),className:U(`shrink-0 flex size-5 items-center justify-center rounded-full transition-colors`,o.showTagSettings?`text-primary bg-primary/10`:`text-text-subtle hover:bg-surface-elevated`),title:`Manage tags`,children:(0,Y.jsx)(Ot,{className:`size-3`})})]}),o.showTagSettings&&(0,Y.jsx)(`div`,{className:`border-b border-border/30 px-2 py-2 max-h-[180px] overflow-y-auto bg-surface-elevated/50 shrink-0`,children:(0,Y.jsx)(xg,{projectName:e,onTagsChanged:o.loadTags})}),(0,Y.jsx)(`div`,{className:l?`flex-1 overflow-y-auto min-h-0`:`max-h-[200px] overflow-y-auto`,children:d?(0,Y.jsx)(Og,{search:u,onOpen:f}):o.loading&&o.sessions.length===0?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,Y.jsx)(L,{className:`size-3.5 animate-spin text-text-subtle`})}):o.filteredSessions.length===0?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-3 text-[11px] text-text-subtle`,children:o.searchQuery?`No matching sessions`:`No sessions yet`}):(0,Y.jsxs)(Y.Fragment,{children:[o.filteredSessions.map(t=>{let r=s.get(t.id),i=!!r;return(0,Y.jsx)(Ds,{session:t,projectName:e,projectTags:o.projectTags,onTogglePin:o.togglePin,onStartEditing:o.startEditing,onDeleteSession:o.deleteSession,onTagChanged:o.handleTagChanged,children:(0,Y.jsxs)(`div`,{className:U(`group relative flex w-full items-center gap-2 px-2 py-1.5 text-left transition-colors`,n===t.id?`bg-accent-wash text-foreground shadow-[inset_2px_0_0_var(--accent)]`:`hover:bg-surface-elevated`,i&&Ss(r.type),!i&&n!==t.id&&`text-text-secondary`),children:[(0,Y.jsx)(Is,{providerId:t.providerId}),t.tag&&(0,Y.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:t.tag.color},title:t.tag.name}),o.editingId===t.id?(0,Y.jsxs)(`form`,{className:`flex items-center gap-1 flex-1 min-w-0`,onSubmit:e=>{e.preventDefault(),o.saveTitle()},children:[(0,Y.jsx)(`input`,{ref:o.editInputRef,value:o.editingTitle,onChange:e=>o.setEditingTitle(e.target.value),onBlur:o.saveTitle,onKeyDown:e=>{e.key===`Escape`&&o.cancelEditing()},className:`flex-1 min-w-0 bg-surface-elevated text-xs text-text-primary px-1.5 py-0.5 rounded border border-border outline-none focus:border-primary/50`,autoFocus:!0}),(0,Y.jsx)(`button`,{type:`submit`,className:`p-0.5 text-success hover:text-success/80`,onClick:e=>e.stopPropagation(),children:(0,Y.jsx)(An,{className:`size-3`})}),(0,Y.jsx)(`button`,{type:`button`,className:`p-0.5 text-text-subtle hover:text-text-secondary`,onClick:e=>{e.stopPropagation(),o.cancelEditing()},children:(0,Y.jsx)(he,{className:`size-3`})})]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`min-w-0 flex-1`,children:(0,Y.jsxs)(`button`,{onClick:()=>p(t),className:`w-full min-w-0 text-left`,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-1`,children:[t.title?.startsWith(`[PPM]`)&&(0,Y.jsx)(On,{className:`size-3.5 text-muted-foreground shrink-0`}),(0,Y.jsx)(`span`,{className:U(`truncate text-[13px]`,i?`font-semibold`:`font-medium`),children:t.title?.startsWith(`[PPM]`)?t.title.slice(7):t.title||`Untitled`})]}),t.updatedAt&&(0,Y.jsx)(`span`,{className:`block text-[11px] text-text-subtle`,children:ms(t.updatedAt)})]})}),(0,Y.jsx)(`button`,{onClick:e=>o.togglePin(e,t),className:U(`p-0.5 rounded transition-all`,t.pinned?`text-primary hover:text-primary/70`:`text-text-subtle hover:text-text-secondary can-hover:opacity-0 can-hover:group-hover:opacity-100`),title:t.pinned?`Unpin session`:`Pin session`,children:t.pinned?(0,Y.jsx)(ht,{className:`size-3`}):(0,Y.jsx)(dt,{className:`size-3`})}),(0,Y.jsxs)(`span`,{className:`flex items-center shrink-0 can-hover:hidden can-hover:group-hover:flex`,children:[(0,Y.jsx)(`button`,{onClick:e=>o.startEditing(t,e),className:`p-0.5 rounded text-text-subtle hover:text-text-secondary transition-colors`,title:`Rename session`,children:(0,Y.jsx)(me,{className:`size-3`})}),(0,Y.jsx)(`button`,{onClick:e=>o.deleteSession(e,t),className:`p-0.5 rounded text-text-subtle hover:text-error hover:bg-error/20 transition-colors`,title:`Delete session`,children:(0,Y.jsx)(Mn,{className:`size-3`})})]})]})]})},t.id)}),o.hasMore&&(0,Y.jsxs)(`button`,{onClick:o.loadMore,disabled:o.loadingMore,className:`flex items-center justify-center gap-1 w-full py-1.5 text-[11px] text-text-subtle hover:text-text-secondary hover:bg-surface-elevated transition-colors`,children:[o.loadingMore?(0,Y.jsx)(L,{className:`size-3 animate-spin`}):null,o.loadingMore?`Loading...`:`Load more`]})]})})]})}var Ag={teams:`beta`,"os-explorer":`new`,"remote-desktop":`beta`};function jg(e){return e?Ag[e]:void 0}function Mg({id:e,variant:t=`inline`,className:n}){let r=jg(e);if(!r)return null;let i=r===`new`?`bg-success/15 text-success`:`bg-accent-wash text-primary`;return(0,Y.jsx)(`span`,{"aria-label":r,className:U(`rounded-full font-bold uppercase tracking-wide`,t===`corner`?`absolute -top-0.5 -right-0.5 px-1 text-[7px] leading-[1.4] shadow-sm`:`px-1.5 py-px text-[9px] font-semibold leading-[1.4]`,i,n),children:r})}var Ng=`/api/group-chat`;function Pg(e){return z.get(`${Ng}?projectPath=${encodeURIComponent(e)}`)}function Fg(e){return z.get(`${Ng}/${encodeURIComponent(e)}`)}function Ig(e){return z.post(Ng,e)}function Lg(e,t){return z.patch(`${Ng}/${encodeURIComponent(e)}`,t)}function Rg(e,t){let n=new URLSearchParams;t?.limit!=null&&n.set(`limit`,String(t.limit)),t?.sinceTurn!=null&&n.set(`sinceTurn`,String(t.sinceTurn));let r=n.toString();return z.get(`${Ng}/${encodeURIComponent(e)}/feed${r?`?${r}`:``}`)}function zg(e,t){return z.post(`${Ng}/${encodeURIComponent(e)}/message`,{content:t})}function Bg(e){return z.post(`${Ng}/${encodeURIComponent(e)}/stop`)}function Vg(e){return z.post(`${Ng}/${encodeURIComponent(e)}/resume`)}function Hg(e){return z.del(`${Ng}/${encodeURIComponent(e)}`)}function Ug(e,t){return z.post(`${Ng}/${encodeURIComponent(e)}/members`,t)}function Wg(e,t,n){return z.patch(`${Ng}/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`,n)}function Gg(e,t){return z.del(`${Ng}/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`)}function Kg(e,t){return z.get(`${Ng}/${encodeURIComponent(e)}/transcript?sessionRef=${encodeURIComponent(t)}`)}function qg(e){return e.replace(/^Claude\s+/i,``)}function Jg({value:e,onChange:t,projectName:n,providerId:r,disabled:i}){let[a,o]=(0,J.useState)([]),[s,c]=(0,J.useState)(!1),l=(0,J.useRef)(null),u=(0,J.useRef)(0);(0,J.useEffect)(()=>{!n||!r||z.get(`${R(n)}/chat/providers/${r}/models`).then(o).catch(()=>{})},[n,r]),(0,J.useEffect)(()=>{i&&c(!1)},[i]),(0,J.useEffect)(()=>{if(!s)return;let e=e=>{l.current&&!l.current.contains(e.target)&&c(!1)},t=l.current?.ownerDocument??document;return t.addEventListener(`mousedown`,e),()=>t.removeEventListener(`mousedown`,e)},[s]),(0,J.useEffect)(()=>{s&&(u.current=Math.max(0,a.findIndex(t=>t.value===e)))},[s,e,a]);let d=(0,J.useCallback)(e=>{if(e.key===`Escape`){c(!1);return}if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;u.current=(u.current+t+a.length)%a.length,(l.current?.querySelector(`[data-idx="${u.current}"]`))?.focus()}if(e.key===`Enter`){e.preventDefault();let n=a[u.current];n&&(t(n.value),c(!1))}},[t,a]);if(a.length<=1)return null;let f=a.find(t=>t.value===e),p=f?qg(f.label):e??`Model`;return(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsxs)(`button`,{type:`button`,disabled:i,onClick:e=>{e.stopPropagation(),i||c(e=>!e)},className:`inline-flex items-center gap-1.5 px-[9px] py-1 rounded-full text-[11.5px] text-primary bg-accent-wash border border-accent-wash-border hover:brightness-110 transition-[filter] disabled:opacity-50 disabled:cursor-default`,"aria-label":`Model: ${f?.label??e??`default`}`,title:i?`Model can't change while running`:f?.label??void 0,children:[(0,Y.jsx)(hn,{className:`h-3.5 w-3.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`max-w-[90px] truncate`,children:p})]}),s&&!i&&(0,Y.jsxs)(`div`,{ref:l,role:`listbox`,"aria-label":`Models`,onKeyDown:d,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),className:`absolute bottom-full left-0 mb-1 z-50 w-56 rounded-lg border border-border popover-solid shadow-[var(--shadow-panel)]`,children:[(0,Y.jsx)(`div`,{className:`px-3 py-2 border-b border-border`,children:(0,Y.jsx)(`span`,{className:`text-xs font-medium text-text-secondary`,children:`Model`})}),(0,Y.jsx)(`div`,{className:`py-1`,children:a.map((n,r)=>{let i=n.value===e;return(0,Y.jsxs)(`button`,{"data-idx":r,role:`option`,"aria-selected":i,tabIndex:0,onClick:()=>{t(n.value),c(!1)},className:`w-full flex items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-surface-elevated focus:bg-surface-elevated focus:outline-none ${i?`bg-surface-elevated`:``}`,children:[(0,Y.jsx)(`span`,{className:`flex-1 text-sm font-medium text-text-primary`,children:n.label}),i&&(0,Y.jsx)(An,{className:`size-4 shrink-0 text-primary`})]},n.value)})})]})]})}var Yg=[`#6366f1`,`#ec4899`,`#14b8a6`,`#f59e0b`,`#8b5cf6`,`#ef4444`];function Xg(){return{key:Kn(),name:``,persona:``,model:null}}function Zg({open:e,onClose:t,projectName:n,projectPath:r,providerId:i=`claude`,onCreated:a}){let o=Ir(),[s,c]=(0,J.useState)(``),[l,u]=(0,J.useState)(10),[d,f]=(0,J.useState)(`Leader`),[p,m]=(0,J.useState)(``),[h,g]=(0,J.useState)(null),[_,v]=(0,J.useState)([Xg()]),[y,b]=(0,J.useState)(!1),[x,S]=(0,J.useState)(null),C=(0,J.useCallback)(()=>{c(``),u(10),f(`Leader`),m(``),g(null),v([Xg()]),S(null),b(!1)},[]),w=(0,J.useCallback)(()=>{C(),t()},[C,t]),T=(e,t)=>v(n=>n.map(n=>n.key===e?{...n,...t}:n)),E=(0,J.useCallback)(async()=>{let e=s.trim();if(!e){S(`Group name is required`);return}if(!d.trim()){S(`Leader name is required`);return}let t=_.filter(e=>e.name.trim());if(t.length===0){S(`Add at least one member`);return}let i=[{role:`leader`,name:d.trim(),persona:p.trim()||null,model:h,color:Yg[0]},...t.map((e,t)=>({role:`member`,name:e.name.trim(),persona:e.persona.trim()||null,model:e.model,color:Yg[(t+1)%Yg.length]}))];b(!0),S(null);try{a(await Ig({projectName:n,projectPath:r,name:e,maxTurns:l,members:i})),w()}catch(e){S(e instanceof Error?e.message:`Failed to create group`),b(!1)}},[s,l,d,p,h,_,n,r,a,w]),D=`w-full min-h-[40px] rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-text-subtle focus:outline-none focus:ring-1 focus:ring-primary`,O=(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-1 py-1`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-text-secondary`,children:`Group name`}),(0,Y.jsx)(`input`,{className:D,value:s,onChange:e=>c(e.target.value),placeholder:`e.g. Design Review`,autoFocus:!0})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-text-secondary`,children:`Reply cap (max AI turns per message, 1–50)`}),(0,Y.jsx)(`input`,{type:`number`,min:1,max:50,className:D,value:l,onChange:e=>u(Math.max(1,Math.min(50,Number(e.target.value)||1)))})]}),(0,Y.jsxs)(`div`,{className:`rounded-lg border border-border p-3`,children:[(0,Y.jsx)(`p`,{className:`mb-2 text-xs font-semibold uppercase tracking-wide text-primary`,children:`Leader`}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(`input`,{className:D,value:d,onChange:e=>f(e.target.value),placeholder:`Leader name`}),(0,Y.jsx)(`input`,{className:D,value:p,onChange:e=>m(e.target.value),placeholder:`Persona (optional)`}),(0,Y.jsx)(Jg,{value:h,onChange:g,projectName:n,providerId:i})]})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,Y.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-wide text-text-secondary`,children:`Members`}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>v(e=>[...e,Xg()]),className:`inline-flex min-h-[32px] items-center gap-1 text-xs font-medium text-primary hover:underline`,children:[(0,Y.jsx)(_n,{className:`size-3.5`}),` Add`]})]}),(0,Y.jsx)(`div`,{className:`flex flex-col gap-3`,children:_.map((e,t)=>(0,Y.jsxs)(`div`,{className:`rounded-lg border border-border p-3`,children:[(0,Y.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,Y.jsxs)(`span`,{className:`text-[11px] text-text-subtle`,children:[`Member `,t+1]}),_.length>1&&(0,Y.jsx)(`button`,{type:`button`,onClick:()=>v(t=>t.filter(t=>t.key!==e.key)),className:`flex size-8 items-center justify-center rounded-md text-text-subtle hover:bg-surface-elevated hover:text-destructive`,"aria-label":`Remove member`,children:(0,Y.jsx)(Mn,{className:`size-4`})})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Y.jsx)(`input`,{className:D,value:e.name,onChange:t=>T(e.key,{name:t.target.value}),placeholder:`Member name`}),(0,Y.jsx)(`input`,{className:D,value:e.persona,onChange:t=>T(e.key,{persona:t.target.value}),placeholder:`Persona (optional)`}),(0,Y.jsx)(Jg,{value:e.model,onChange:t=>T(e.key,{model:t}),projectName:n,providerId:i})]})]},e.key))})]}),x&&(0,Y.jsx)(`p`,{className:`text-xs text-destructive`,children:x}),(0,Y.jsxs)(`div`,{className:`flex justify-end gap-2 pt-1`,children:[(0,Y.jsx)(q,{variant:`outline`,onClick:w,disabled:y,children:`Cancel`}),(0,Y.jsxs)(q,{onClick:E,disabled:y,children:[y&&(0,Y.jsx)(L,{className:`mr-1.5 size-4 animate-spin`}),`Create group`]})]})]});return e?o?(0,Y.jsx)(Hi,{open:!0,onClose:w,className:`flex max-h-[90vh] flex-col`,children:(0,Y.jsxs)(`div`,{className:`flex min-h-0 flex-col px-4 pb-2`,children:[(0,Y.jsx)(`h2`,{className:`mb-2 text-base font-semibold text-foreground`,children:`New group`}),O]})}):(0,Y.jsx)(Pi,{open:!0,onOpenChange:e=>{e||w()},children:(0,Y.jsxs)(Ai,{className:`flex max-h-[85vh] flex-col sm:max-w-lg`,children:[(0,Y.jsx)(Oi,{children:(0,Y.jsx)(ji,{children:`New group`})}),O]})}):null}function Qg(){let{activeProject:e}=G(Uu(e=>({activeProject:e.activeProject}))),t=W(e=>e.openTab),[n,r]=(0,J.useState)([]),[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(!1),u=e?.path??null,d=e?.name??``,f=(0,J.useCallback)(()=>{if(!u){r([]);return}a(!0),Pg(u).then(r).catch(e=>s(e instanceof Error?e.message:`Failed to load groups`)).finally(()=>a(!1))},[u]);(0,J.useEffect)(()=>{f()},[f]);let p=(0,J.useCallback)(e=>{t({type:`group`,title:e.name,projectId:d,closable:!0,metadata:{groupId:e.id,projectName:d}})},[t,d]),m=(0,J.useCallback)(async e=>{try{await Hg(e.id),r(t=>t.filter(t=>t.id!==e.id))}catch(e){s(e instanceof Error?e.message:`Failed to delete group`)}},[]);return e?(0,Y.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,Y.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center justify-between border-b border-border px-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-text-secondary`,children:`Teams`}),(0,Y.jsx)(Mg,{id:`teams`})]}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>l(!0),className:`flex size-11 items-center justify-center rounded-md text-text-subtle hover:bg-surface-elevated hover:text-foreground md:size-7`,"aria-label":`New group`,children:(0,Y.jsx)(_n,{className:`size-4`})})]}),(0,Y.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-1`,children:i?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,Y.jsx)(L,{className:`size-4 animate-spin text-primary`})}):o?(0,Y.jsx)(`p`,{className:`px-2 py-3 text-xs text-destructive`,children:o}):n.length===0?(0,Y.jsx)(`p`,{className:`px-2 py-3 text-xs text-text-subtle`,children:`No groups yet. Create one to start.`}):n.map(e=>(0,Y.jsxs)(vd,{children:[(0,Y.jsx)(yd,{asChild:!0,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>p(e),className:`flex w-full min-h-[40px] items-center gap-2 rounded-md px-2 py-2 text-left text-sm text-text-secondary hover:bg-surface-elevated hover:text-foreground`,children:[(0,Y.jsx)(Ge,{className:`size-4 shrink-0 text-text-subtle`}),(0,Y.jsx)(`span`,{className:`truncate`,children:e.name})]})}),(0,Y.jsx)(Q,{children:(0,Y.jsxs)($,{variant:`destructive`,onClick:()=>m(e),children:[(0,Y.jsx)(Mn,{className:`size-4`}),` Delete group`]})})]},e.id))}),(0,Y.jsx)(Zg,{open:c,onClose:()=>l(!1),projectName:d,projectPath:u??``,onCreated:e=>{r(t=>[e,...t]),p(e)}})]}):(0,Y.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to view groups`})})}var $g=[{mode:`recent`,label:`Recent`,Icon:Pe},{mode:`priority`,label:`Priority`,Icon:kt},{mode:`name`,label:`Name`,Icon:dn}];function e_(e,t,n){return n===`recent`?hr(e):n===`name`?[...e].sort((e,t)=>e.name.localeCompare(t.name)):mr(e,t)}var t_=[`terminal`,`chat`,`editor`,`database`,`sqlite`,`postgres`,`git-diff`,`settings`,`extension`,`group`];function n_(e){try{return decodeURIComponent(e)}catch{return e}}function r_(){let e=window.location.pathname,t=new URLSearchParams(window.location.search).get(`openChat`),n=e.match(/^\/project\/([^/]+)(?:\/([^/]+)(\/.*)?)?/);if(!n)return{projectName:null,tabType:null,tabIdentifier:null,openChat:t};let r=n_(n[1]),i=n[2]??null,a=n[3]?n[3].slice(1):null;return i===`tab`?{projectName:r,tabType:null,tabIdentifier:null,openChat:t}:{projectName:r,tabType:t_.includes(i)?i:null,tabIdentifier:a,openChat:t}}function i_(e,t){if(!e||e===`__global__`)return`/`;let n=`/project/${encodeURIComponent(e)}`;if(!t)return n;let r=t.indexOf(`@`),i=r===-1?t:t.slice(0,r),a=i.indexOf(`:`);if(a===-1)n+=`/${i}`;else{let e=i.slice(0,a),t=i.slice(a+1);n+=`/${e}/${t.replace(/[?#]/g,encodeURIComponent)}`}return n}function a_(e,t){return t?`${e}:${t}`:e}function o_(e,t,n){switch(e){case`editor`:return t?{filePath:t,projectName:n}:null;case`chat`:{if(!t)return null;let e=t.indexOf(`/`),r=e===-1?t:t.slice(e+1),i=e===-1?void 0:t.slice(0,e),a=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r)?r:void 0;return{...a&&{sessionId:a},...i&&{providerId:i},projectName:n}}case`terminal`:return{terminalIndex:parseInt(t??`1`,10),projectName:n};case`git-diff`:return t?{filePath:t,projectName:n}:null;case`settings`:return{};case`database`:{let[e,n]=(t??``).split(`:`);return e?{connectionId:e,tableName:n??``}:null}case`sqlite`:return t?{filePath:t,projectName:n}:null;case`postgres`:{let[e,n]=(t??``).split(`:`);return e?{connectionId:e,tableName:n??``}:null}case`extension`:return t?{viewType:t,projectName:n}:null;case`group`:return t?{groupId:t,projectName:n}:null;default:return null}}function s_(e,t){switch(e){case`editor`:return t?.split(`/`).pop()??`File`;case`chat`:return`Chat`;case`terminal`:return`Terminal ${t??`1`}`;case`git-diff`:return t?.split(`/`).pop()??`Diff`;case`settings`:return`Settings`;case`database`:return t??`Database`;case`sqlite`:return t?.split(`/`).pop()??`SQLite`;case`postgres`:return t??`PostgreSQL`;case`extension`:return t?t.split(`-`).map(e=>(e[0]?.toUpperCase()??``)+e.slice(1)).join(` `):`Extension`;case`group`:return`Group`;default:return e}}function c_(){if(Lr()||pr.getState().restored){Ic();return}let e=pr.subscribe(t=>{t.restored&&(e(),Ic())})}function l_(e,t,n){if(e===`settings`){c_();return}let{tabs:r,setActiveTab:i,openTab:a}=K.getState(),o=a_(e,t),s=r.find(e=>e.id===o);if(s){i(s.id);return}let c=o_(e,t,n);c&&a({type:e,title:s_(e,t),projectId:n,closable:!0,metadata:c})}function u_(){let e=K(e=>e.activeTabId),t=K(e=>e.currentProject),n=(0,J.useRef)(!1);(0,J.useEffect)(()=>{if(n.current){n.current=!1;return}let r=i_(t,e);window.location.pathname!==r&&window.history.pushState(null,``,r)},[e,t]),(0,J.useEffect)(()=>{function e(){let{tabType:e,tabIdentifier:t}=r_();if(!e)return;n.current=!0;let{tabs:r,setActiveTab:i}=K.getState(),a=a_(e,t),o=r.find(e=>e.id===a);if(o)i(o.id);else{let n=K.getState().currentProject;n&&l_(e,t,n)}}return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[])}var d_=[`linear-gradient(135deg, #667eea, #764ba2)`,`linear-gradient(135deg, #f5576c, #f093fb)`,`linear-gradient(135deg, #4facfe, #00c6ff)`,`linear-gradient(135deg, #43e97b, #38f9d7)`,`linear-gradient(135deg, #fa709a, #fee140)`,`linear-gradient(135deg, #a18cd1, #6a3de8)`,`linear-gradient(135deg, #fd7043, #ff8a65)`,`linear-gradient(135deg, #26c6da, #0097a7)`,`linear-gradient(135deg, #ab47bc, #7b1fa2)`,`linear-gradient(135deg, #ef5350, #b71c1c)`,`linear-gradient(135deg, #1976d2, #42a5f5)`,`linear-gradient(135deg, #2e7d32, #66bb6a)`];function f_(e,t){return e??d_[t%d_.length]}function p_(e,t){let n=e.split(/[-_.\s]+/).filter(Boolean),r=(n[0]?.[0]??e[0]??`?`).toUpperCase(),i=n.length>1?r+(n[1][0]??``).toUpperCase():r,a=t.filter(t=>t!==e);if(!a.map(e=>(e.split(/[-_.\s]+/).filter(Boolean)[0]?.[0]??e[0]??``).toUpperCase()).includes(r))return r;if(!a.map(e=>{let t=e.split(/[-_.\s]+/).filter(Boolean),n=(t[0]?.[0]??e[0]??``).toUpperCase(),r=t.length>1?(t[1][0]??``).toUpperCase():n;return t.length>1?n+r:n}).includes(i))return i;let o=t.indexOf(e);return String(o>=0?o+1:`?`)}var m_=(0,J.memo)(function({name:e,color:t,image:n,size:r,allNames:i,shape:a=`circle`}){let[o,s]=(0,J.useState)(!1);(0,J.useEffect)(()=>{s(!1)},[n]);let c=a===`square`?`rounded-[7px]`:`rounded-full`;if(n&&!o){let t=Wn(),i=new URLSearchParams({v:n});return t&&i.set(`token`,t),(0,Y.jsx)(`img`,{src:`/api/projects/${encodeURIComponent(e)}/image?${i.toString()}`,alt:e,onError:()=>s(!0),className:U(`object-cover shrink-0 select-none`,c),style:{width:r,height:r}})}return(0,Y.jsx)(`div`,{className:U(`flex items-center justify-center font-bold text-white select-none shrink-0`,c),style:{background:t,width:r,height:r,fontSize:r<=24?10:11},children:p_(e,i)})});function h_({onSuccess:e,onCancel:t,footerClassName:n}){let{addProject:r}=G(Uu(e=>({addProject:e.addProject}))),[i,a]=(0,J.useState)(`local`),[o,s]=(0,J.useState)(``),[c,l]=(0,J.useState)(``),[u,d]=(0,J.useState)([]),[f,p]=(0,J.useState)(!1),[m,h]=(0,J.useState)(!1),[g,_]=(0,J.useState)(!1),[v,y]=(0,J.useState)(``),[b,x]=(0,J.useState)(`~/Projects`),[S,C]=(0,J.useState)(``),[w,T]=(0,J.useState)(!1),[E,D]=(0,J.useState)(``),O=(0,J.useRef)(null),k=(0,J.useRef)(null);(0,J.useEffect)(()=>{z.get(`/api/projects/last-clone-dir`).then(e=>{e?.dir&&x(e.dir)}).catch(()=>{})},[]),(0,J.useEffect)(()=>{if(!v.trim()){C(``);return}let e=v.match(/[/:]([^/:]+?)(?:\.git)?\s*$/);e?.[1]&&C(e[1])},[v]),(0,J.useEffect)(()=>{if(O.current&&clearTimeout(O.current),!o.trim()){d([]),p(!1);return}O.current=setTimeout(async()=>{h(!0);try{d(await z.get(`/api/projects/suggest-dirs?q=${encodeURIComponent(o)}`)??[]),p(!0)}catch{d([])}finally{h(!1)}},250)},[o]),(0,J.useEffect)(()=>{function e(e){k.current&&!k.current.contains(e.target)&&p(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);function A(e){s(e.path),c||l(e.name),p(!1)}async function j(t){if(t?.preventDefault(),!o.trim()){D(`Path is required`);return}D(``),_(!0);try{await r(o.trim(),c.trim()||void 0),e()}catch(e){D(e instanceof Error?e.message:`Failed to add project`)}finally{_(!1)}}async function M(t){if(t?.preventDefault(),!v.trim()){D(`Git URL is required`);return}if(!b.trim()){D(`Clone directory is required`);return}D(``),T(!0);try{let t=await z.post(`/api/projects/git/clone`,{url:v.trim(),targetDir:b.trim(),name:S.trim()||void 0}),{fetchProjects:n,setActiveProject:r}=G.getState();await n();let i=G.getState().projects.find(e=>e.path===t.path);i&&r(i),e()}catch(e){D(e instanceof Error?e.message:`Clone failed`)}finally{T(!1)}}return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Y.jsx)(`div`,{className:`flex gap-1 border-b border-border`,children:[`local`,`clone`].map(e=>(0,Y.jsx)(`button`,{type:`button`,onClick:()=>{a(e),D(``)},className:U(`px-3 py-1.5 text-sm font-medium border-b-2 -mb-px transition-colors`,i===e?`border-primary text-foreground`:`border-transparent text-text-secondary hover:text-foreground`),children:e===`local`?`Local folder`:`Clone from Git`},e))}),i===`local`?(0,Y.jsxs)(`form`,{onSubmit:j,className:`flex flex-col gap-3`,children:[(0,Y.jsxs)(`div`,{ref:k,className:`relative`,children:[(0,Y.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Project path`}),(0,Y.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,Y.jsxs)(`div`,{className:`relative flex items-center flex-1`,children:[(0,Y.jsx)(Se,{className:`absolute left-2.5 size-3.5 text-text-subtle pointer-events-none`}),(0,Y.jsx)(`input`,{type:`text`,value:o,onChange:e=>{s(e.target.value),D(``)},onFocus:()=>u.length>0&&p(!0),placeholder:`/path/to/project`,className:`w-full pl-8 pr-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0,autoComplete:`off`}),m&&(0,Y.jsx)(L,{className:`absolute right-2.5 size-3.5 text-text-subtle animate-spin`})]}),(0,Y.jsx)(Om,{mode:`folder`,onSelect:e=>{s(e),c||l(e.split(`/`).pop()??``),D(``)}})]}),f&&u.length>0&&(0,Y.jsx)(`div`,{className:`absolute top-full left-0 right-0 mt-1 z-10 popover-solid border border-border rounded-md shadow-md max-h-48 overflow-y-auto`,children:u.map(e=>(0,Y.jsxs)(`button`,{type:`button`,onMouseDown:()=>A(e),className:`w-full flex flex-col items-start px-3 py-2 text-left hover:bg-accent/50 transition-colors`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium truncate w-full`,children:e.name}),(0,Y.jsx)(`span`,{className:`text-xs text-text-subtle truncate w-full`,children:e.path})]},e.path))})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:[`Display name `,(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`(optional)`})]}),(0,Y.jsx)(`input`,{type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:`my-project`,className:`w-full px-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`})]}),E&&(0,Y.jsx)(`p`,{className:`text-xs text-destructive`,children:E}),(0,Y.jsxs)(`div`,{className:U(`flex justify-end gap-2 pt-1`,n),children:[(0,Y.jsx)(`button`,{type:`button`,onClick:t,className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,Y.jsx)(`button`,{type:`submit`,disabled:g||!o.trim(),className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors disabled:opacity-50`,children:g?`Adding…`:`Add Project`})]})]}):(0,Y.jsxs)(`form`,{onSubmit:M,className:`flex flex-col gap-3`,children:[(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Git URL`}),(0,Y.jsx)(`input`,{type:`text`,value:v,onChange:e=>{y(e.target.value),D(``)},placeholder:`https://github.com/user/repo.git`,className:`w-full px-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0,autoComplete:`off`})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Clone to`}),(0,Y.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,Y.jsx)(`input`,{type:`text`,value:b,onChange:e=>{x(e.target.value),D(``)},placeholder:`~/Projects`,className:`flex-1 px-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`}),(0,Y.jsx)(Om,{mode:`folder`,onSelect:e=>{x(e),D(``)}})]})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:[`Name `,(0,Y.jsx)(`span`,{className:`text-muted-foreground`,children:`(auto-parsed from URL)`})]}),(0,Y.jsx)(`input`,{type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:`repo-name`,className:`w-full px-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`})]}),E&&(0,Y.jsx)(`p`,{className:`text-xs text-destructive`,children:E}),(0,Y.jsxs)(`div`,{className:U(`flex justify-end gap-2 pt-1`,n),children:[(0,Y.jsx)(`button`,{type:`button`,onClick:t,className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,Y.jsx)(`button`,{type:`submit`,disabled:w||!v.trim()||!b.trim(),className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors disabled:opacity-50`,children:w?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(L,{className:`inline size-3.5 animate-spin mr-1.5`}),`Cloning…`]}):`Clone & Add`})]})]})]})}var g_=(0,J.memo)(function({name:e,color:t,image:n,size:r,allNames:i,shape:a}){let o=Cs((0,J.useMemo)(()=>Es(e),[e]));return(0,Y.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Y.jsx)(m_,{name:e,color:t,image:n,size:r,allNames:i,shape:a}),o&&(0,Y.jsx)(`div`,{className:U(`absolute -top-0.5 -right-0.5 size-2 rounded-full border-2 border-background`,bs(o))})]})});function __({current:e,onChange:t}){return(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:d_.map(n=>(0,Y.jsx)(`button`,{type:`button`,onClick:()=>t(n),className:U(`size-8 rounded-full border-2 transition-all`,e===n?`border-primary scale-110`:`border-transparent hover:scale-105`),style:{background:n}},n))})}var v_=(0,J.memo)(function(){let{projects:e,activeProject:t,setActiveProject:n,setProjectColor:r,setProjectImage:i,removeProjectImage:a,reorderProjects:o,renameProject:s,deleteProject:c,customOrder:l,sortMode:u,setProjectSortMode:d}=G(Uu(e=>({projects:e.projects,activeProject:e.activeProject,setActiveProject:e.setActiveProject,setProjectColor:e.setProjectColor,setProjectImage:e.setProjectImage,removeProjectImage:e.removeProjectImage,reorderProjects:e.reorderProjects,renameProject:e.renameProject,deleteProject:e.deleteProject,customOrder:e.customOrder,sortMode:e.projectSortMode,setProjectSortMode:e.setProjectSortMode}))),f=mr(e,l),p=f.map(e=>e.name),m=t??f[0]??null,h=m?f.findIndex(e=>e.name===m.name):-1,g=m?f_(m.color,h<0?0:h):`transparent`,[_,v]=(0,J.useState)(!1),[y,b]=(0,J.useState)(``),x=(0,J.useRef)(null),[S,C]=(0,J.useState)(null),w=(0,J.useCallback)(()=>{if(!_&&x.current){let e=x.current.getBoundingClientRect();C({left:e.left,top:e.bottom+4})}v(e=>!e)},[_]),T=(0,J.useCallback)(()=>{v(!1),b(``)},[]),[E,D]=(0,J.useState)(0),O=(0,J.useRef)(null),k=(0,J.useMemo)(()=>e_(e,l,u),[e,l,u,_]),A=(0,J.useMemo)(()=>gr(),[_]),j=y.trim().toLowerCase(),M=j?k.filter(e=>e.name.toLowerCase().includes(j)||e.path.toLowerCase().includes(j)):k,ee=u===`priority`&&!j,N=(0,J.useCallback)(e=>{n(e),T()},[n,T]),P=(0,J.useCallback)(e=>{window.open(i_(e.name,null),`_blank`,`noopener`)},[]);(0,J.useEffect)(()=>{D(0)},[y,u,_]),(0,J.useEffect)(()=>{O.current?.querySelector(`[data-row-index="${E}"]`)?.scrollIntoView({block:`nearest`})},[E]);let F=(0,J.useCallback)(e=>{if(e.key===`ArrowDown`)e.preventDefault(),D(e=>Math.min(e+1,M.length-1));else if(e.key===`ArrowUp`)e.preventDefault(),D(e=>Math.max(e-1,0));else if(e.key===`Enter`){e.preventDefault();let t=M[E]??M[0];if(!t)return;e.ctrlKey||e.metaKey?P(t):N(t)}else e.key===`Escape`&&(e.preventDefault(),T())},[M,E,P,N,T]),[te,ne]=(0,J.useState)(null),[re,ie]=(0,J.useState)(null),[ae,I]=(0,J.useState)(!1),[oe,se]=(0,J.useState)(!1),[ce,le]=(0,J.useState)(``),[ue,de]=(0,J.useState)(``),[fe,pe]=(0,J.useState)(!1),[he,ge]=(0,J.useState)(``),[_e,ve]=(0,J.useState)(!1),[ye,be]=(0,J.useState)(``),[xe,Se]=(0,J.useState)(``),[Ce,we]=(0,J.useState)(!1),Te=(0,J.useRef)(null),[Ee,De]=(0,J.useState)(null),Oe=(0,J.useCallback)(async e=>{let t=e.target.files?.[0];if(e.target.value=``,!(!t||!Ee))try{await i(Ee,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}},[Ee,i]),ke=(0,J.useCallback)(e=>{le(e),de(e),se(!0)},[]),Ae=(0,J.useCallback)(e=>{ge(e),pe(!0)},[]),je=(0,J.useCallback)((e,t)=>{be(e),Se(t),ve(!0)},[]);async function Me(){if(!ue.trim()||ue===ce){se(!1);return}try{await s(ce,ue.trim())}catch{}se(!1)}async function Ne(){try{await c(he)}catch{}pe(!1)}async function Pe(){we(!0);try{await r(ye,xe),ve(!1)}catch(e){console.error(`Failed to save color:`,e)}finally{we(!1)}}return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`input`,{ref:Te,type:`file`,accept:`image/*`,className:`hidden`,onChange:Oe}),(0,Y.jsxs)(`button`,{ref:x,"data-onboarding":`project`,onClick:w,title:`Switch project`,className:U(`flex items-center gap-[9px] w-full h-8 px-2 rounded-lg transition-colors border`,_?`bg-surface-elevated border-border`:`border-transparent hover:bg-surface-elevated`),children:[m?(0,Y.jsx)(g_,{name:m.name,color:g,image:m.image,size:24,allNames:p,shape:`square`}):(0,Y.jsx)(`div`,{className:`size-6 rounded-full bg-surface-elevated shrink-0`}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1 flex flex-col text-left leading-tight`,children:[(0,Y.jsx)(`span`,{className:`text-[13px] font-semibold text-foreground truncate`,children:m?.name??`Select project`}),m?.path&&(0,Y.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle truncate`,children:m.path})]}),(0,Y.jsx)(rt,{className:`size-3.5 text-text-subtle shrink-0`})]}),_&&S&&(0,Ql.createPortal)((0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:T}),(0,Y.jsxs)(`div`,{className:`fixed z-50 w-[340px] max-h-[680px] flex flex-col rounded-xl border border-border popover-solid shadow-[var(--shadow-panel)] overflow-hidden`,style:{left:S.left,top:S.top},children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-2.5 py-2 border-b border-border`,children:[(0,Y.jsx)(Jt,{className:`size-3.5 text-text-subtle shrink-0`}),(0,Y.jsx)(`input`,{value:y,onChange:e=>b(e.target.value),onKeyDown:F,placeholder:`Search projects…`,autoFocus:!0,className:`flex-1 bg-transparent text-xs text-foreground placeholder:text-text-subtle focus:outline-none`})]}),(0,Y.jsx)(`div`,{className:`flex items-center gap-1 px-1.5 py-1.5 border-b border-border`,children:$g.map(({mode:e,label:t,Icon:n})=>(0,Y.jsxs)(`button`,{onClick:()=>d(e),title:`Sort by ${t.toLowerCase()}`,className:U(`flex items-center justify-center gap-1 flex-1 px-2 py-1 rounded-md text-[11px] font-medium transition-colors`,u===e?`bg-primary/[0.12] text-primary`:`text-text-subtle hover:bg-surface-elevated hover:text-foreground`),children:[(0,Y.jsx)(n,{className:`size-3`}),` `,t]},e))}),(0,Y.jsxs)(`div`,{ref:O,className:`overflow-y-auto p-1.5`,children:[M.map((e,t)=>{let n=f.findIndex(t=>t.name===e.name),r=f_(e.color,n),i=m?.name===e.name,s=t===E,c=te===n,l=re===n&&te!==n,u=A[e.name];return(0,Y.jsxs)(vd,{children:[(0,Y.jsx)(yd,{asChild:!0,children:(0,Y.jsxs)(`div`,{"data-row-index":t,draggable:ee,onDragStart:()=>ee&&ne(n),onDragOver:e=>{ee&&(e.preventDefault(),ie(n))},onDragLeave:()=>ie(null),onDragEnd:()=>{ne(null),ie(null)},onDrop:()=>{if(ee&&te!=null&&te!==n){let e=f.map(e=>e.name),[t]=e.splice(te,1);e.splice(n,0,t),o(e)}ne(null),ie(null)},onMouseEnter:()=>D(t),className:U(`group relative flex items-center rounded-lg transition-colors`,i?`bg-primary/[0.12]`:s?`bg-surface-elevated`:``,c&&`opacity-40`,l&&`ring-2 ring-primary`),children:[(0,Y.jsxs)(`button`,{onClick:()=>N(e),className:`flex items-center gap-2.5 min-w-0 flex-1 px-2 py-1.5 text-left`,children:[(0,Y.jsx)(g_,{name:e.name,color:r,image:e.image,size:26,allNames:p}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:U(`text-[13px] whitespace-nowrap overflow-hidden text-ellipsis`,i?`font-semibold text-primary`:`text-foreground`),children:e.name}),(0,Y.jsx)(`div`,{className:`text-[10px] font-mono text-text-subtle whitespace-nowrap overflow-hidden text-ellipsis`,children:e.path})]})]}),u&&(0,Y.jsx)(`span`,{title:`Last opened ${new Date(u).toLocaleString()}`,className:`shrink-0 mr-2 text-[10px] text-text-subtle whitespace-nowrap`,children:ms(new Date(u).toISOString())}),(0,Y.jsx)(`button`,{onClick:t=>{t.stopPropagation(),P(e)},title:`Open in new browser tab`,className:U(`shrink-0 mr-1 p-1.5 rounded-md text-text-subtle hover:bg-background hover:text-foreground transition-opacity`,s?`opacity-100`:`opacity-0 group-hover:opacity-100`),children:(0,Y.jsx)(jt,{className:`size-3.5`})})]})}),(0,Y.jsxs)(Q,{children:[(0,Y.jsxs)($,{onClick:()=>P(e),children:[(0,Y.jsx)(jt,{className:`size-3.5 mr-2`}),` Open in New Tab`]}),(0,Y.jsx)(bd,{}),(0,Y.jsxs)($,{onClick:()=>ke(e.name),children:[(0,Y.jsx)(me,{className:`size-3.5 mr-2`}),` Rename`]}),(0,Y.jsxs)($,{onClick:()=>je(e.name,r),children:[(0,Y.jsx)(We,{className:`size-3.5 mr-2`}),` Change Color`]}),(0,Y.jsxs)($,{onClick:()=>{De(e.name),Te.current?.click()},children:[(0,Y.jsx)(_t,{className:`size-3.5 mr-2`}),` Change Image`]}),e.image&&(0,Y.jsxs)($,{onClick:()=>{a(e.name).catch(()=>{})},children:[(0,Y.jsx)(Mn,{className:`size-3.5 mr-2`}),` Remove Image`]}),(0,Y.jsxs)($,{onClick:()=>void Al(e.path),children:[(0,Y.jsx)(un,{className:`size-3.5 mr-2`}),` Copy Path`]}),(0,Y.jsx)(bd,{}),(0,Y.jsxs)($,{className:`text-destructive focus:text-destructive`,onClick:()=>Ae(e.name),children:[(0,Y.jsx)(Mn,{className:`size-3.5 mr-2`}),` Delete`]})]})]},e.name)}),M.length===0&&(0,Y.jsx)(`div`,{className:`px-2 py-4 text-center text-xs text-text-subtle`,children:`No projects found`})]}),(0,Y.jsxs)(`button`,{onClick:()=>{I(!0),T()},className:`flex items-center gap-2 px-3 py-2.5 border-t border-border text-text-secondary text-[13px] font-medium hover:bg-surface-elevated transition-colors`,children:[(0,Y.jsx)(_n,{className:`size-[15px]`}),` Add Project`]})]})]}),document.body),(0,Y.jsx)(Pi,{open:ae,onOpenChange:I,children:(0,Y.jsxs)(Ai,{className:`sm:max-w-sm`,children:[(0,Y.jsx)(Oi,{children:(0,Y.jsx)(ji,{children:`Add Project`})}),(0,Y.jsx)(h_,{onSuccess:()=>I(!1),onCancel:()=>I(!1)})]})}),(0,Y.jsx)(Pi,{open:oe,onOpenChange:se,children:(0,Y.jsxs)(Ai,{className:`sm:max-w-sm`,children:[(0,Y.jsx)(Oi,{children:(0,Y.jsx)(ji,{children:`Rename Project`})}),(0,Y.jsx)(`input`,{type:`text`,value:ue,onChange:e=>de(e.target.value),onKeyDown:e=>{e.key===`Enter`&&Me()},className:`w-full px-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0}),(0,Y.jsxs)(ki,{children:[(0,Y.jsx)(`button`,{onClick:()=>se(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:Me,className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors`,children:`Rename`})]})]})}),(0,Y.jsx)(Pi,{open:fe,onOpenChange:pe,children:(0,Y.jsxs)(Ai,{className:`sm:max-w-sm`,children:[(0,Y.jsx)(Oi,{children:(0,Y.jsx)(ji,{children:`Delete Project`})}),(0,Y.jsxs)(`p`,{className:`text-sm text-text-secondary`,children:[`Remove `,(0,Y.jsx)(`strong`,{className:`text-foreground`,children:he}),` from PPM? The files on disk won't be deleted.`]}),(0,Y.jsxs)(ki,{children:[(0,Y.jsx)(`button`,{onClick:()=>pe(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:Ne,className:`px-3 py-1.5 text-sm bg-destructive text-white rounded-md hover:bg-destructive/90 transition-colors`,children:`Delete`})]})]})}),(0,Y.jsx)(Pi,{open:_e,onOpenChange:ve,children:(0,Y.jsxs)(Ai,{className:`sm:max-w-sm`,children:[(0,Y.jsx)(Oi,{children:(0,Y.jsx)(ji,{children:`Change Color`})}),(0,Y.jsx)(__,{current:xe,onChange:Se}),(0,Y.jsxs)(ki,{children:[(0,Y.jsx)(`button`,{onClick:()=>ve(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:Pe,disabled:Ce,className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors disabled:opacity-50`,children:Ce?`Saving…`:`Save`})]})]})})]})}),y_=Gn(e=>({isOpen:!1,open:()=>e({isOpen:!0}),close:()=>e({isOpen:!1})}));function b_(){let e=pr(e=>e.open),t=pr(e=>e.focus),n=y_(e=>e.open);return(0,J.useCallback)(()=>{if(Lr()){n();return}let r=Object.values(pr.getState().windows).find(e=>e.kind===`remote-desktop`);r?t(r.id):e(`remote-desktop`)},[e,t,n])}function x_(e){return{...e,displays:e.displays??[],encoders:e.encoders??[],requirements:e.requirements??[],clipboard:e.clipboard??{available:!1,action:null},audio:e.audio??{available:!1,reason:null},privacy:e.privacy??{available:!1,reason:null,canBlank:!1},resolutions:e.resolutions??{output:null,modes:[],reason:null}}}var S_=2e3;function C_(e){let[t,n]=(0,J.useState)(null),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(0),s=(0,J.useCallback)(()=>o(e=>e+1),[]);return(0,J.useEffect)(()=>{let e=!1;return z.get(`/api/remote-desktop/capabilities`).then(t=>{e||(n(x_(t)),i(!1))}).catch(()=>{e||i(!0)}),()=>{e=!0}},[a]),(0,J.useEffect)(()=>{if(!e)return;let t=setInterval(s,S_);return()=>clearInterval(t)},[e,s]),{caps:t,failed:r,refresh:s,runHostAction:(0,J.useCallback)(async(e,t)=>{try{await z.post(`/api/remote-desktop/requirements/${encodeURIComponent(e)}/${t}`)}catch{}s()},[s])}}function w_(){let{caps:e}=C_(!1);return{available:!!e?.platformSupported,authRequired:!!e?.authRequired}}function T_(e,t){if(!t||t.length===0)return[...e];let n=new Map(e.map(e=>[e.id,e])),r=[],i=new Set;for(let e of t){let t=n.get(e);t&&!i.has(e)&&(r.push(t),i.add(e))}for(let t of e)i.has(t.id)||r.push(t);return r}function E_({expanded:e}){let t=Cs(e=>e.notifications),n=Cs(e=>e.clearAll),r=Cs(ws),{projects:i,setActiveProject:a,customOrder:o}=G(Uu(e=>({projects:e.projects,setActiveProject:e.setActiveProject,customOrder:e.customOrder}))),s=mr(i,o),c=K(e=>e.openTab),[l,u]=(0,J.useState)(!1),d=(0,J.useRef)(null),[f,p]=(0,J.useState)(null),m=()=>{if(!l&&d.current){let e=d.current.getBoundingClientRect();p({left:e.right+6,bottom:window.innerHeight-e.bottom})}u(!l)},h=(e,t)=>{let n=i.find(e=>e.name===t);n&&(a(n),c({type:`chat`,title:`Chat`,projectId:t,metadata:{projectName:t,sessionId:e,providerId:`claude`},closable:!0}),u(!1))},g=e=>{let t=s.findIndex(t=>t.name===e);if(t!==-1)return f_(s[t].color,t)},_=new Map;for(let[e,n]of t){let t=n.projectName||`Unknown`;_.has(t)||_.set(t,[]),_.get(t).push({sessionId:e,count:n.count,type:n.type,sessionTitle:n.sessionTitle})}return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{ref:d,onClick:m,className:U(`relative flex items-center rounded-md transition-colors`,e?`w-full h-8 gap-2 px-2 justify-start`:`justify-center size-8`,l?`text-primary bg-primary/10`:`text-text-subtle hover:text-foreground hover:bg-surface-elevated`),children:[(0,Y.jsx)(Ut,{className:`size-4 shrink-0`}),e&&(0,Y.jsx)(`span`,{className:`text-xs whitespace-nowrap`,children:`Notifications`}),r>0&&(0,Y.jsx)(`span`,{className:U(`absolute flex items-center justify-center text-[9px] font-bold text-white bg-error rounded-full min-w-[16px] h-4 px-1`,e?`right-1.5`:`-top-1 -right-1`),children:r})]}),l&&f&&(0,Ql.createPortal)((0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>u(!1)}),(0,Y.jsxs)(`div`,{className:`fixed z-50 w-72 max-h-80 overflow-y-auto rounded-lg border border-border bg-background shadow-lg`,style:{left:f.left,bottom:f.bottom},children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border`,children:[(0,Y.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:r>0?`${r} unread session${r>1?`s`:``}`:`No unread`}),r>0&&(0,Y.jsxs)(`button`,{onClick:()=>{n(),u(!1)},className:`text-[10px] text-text-subtle hover:text-foreground transition-colors flex items-center gap-1`,children:[(0,Y.jsx)(Bt,{className:`size-3`}),`Clear all`]})]}),r===0?(0,Y.jsx)(`div`,{className:`px-3 py-4 text-center text-xs text-text-subtle`,children:`All caught up`}):(0,Y.jsx)(`div`,{className:`py-1`,children:[..._.entries()].map(([e,t])=>(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`px-3 py-1 text-[10px] font-medium text-text-subtle uppercase tracking-wider flex items-center gap-1.5`,children:[(0,Y.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{background:g(e)||`currentColor`}}),e]}),t.map(({sessionId:t,type:n,sessionTitle:r})=>(0,Y.jsx)(`button`,{onClick:()=>h(t,e),className:U(`w-full px-3 py-1.5 text-left text-[11px] text-foreground truncate hover:bg-surface-elevated transition-colors`,Ss(n)),children:r||`${t.slice(0,12)}...`},t))]},e))})]})]}),document.body)]})}var D_=Object.defineProperty,O_=Object.getOwnPropertySymbols,k_=Object.prototype.hasOwnProperty,A_=Object.prototype.propertyIsEnumerable,j_=(e,t,n)=>t in e?D_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,M_=(e,t)=>{for(var n in t||={})k_.call(t,n)&&j_(e,n,t[n]);if(O_)for(var n of O_(t))A_.call(t,n)&&j_(e,n,t[n]);return e},N_=(e,t)=>{var n={};for(var r in e)k_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&O_)for(var r of O_(e))t.indexOf(r)<0&&A_.call(e,r)&&(n[r]=e[r]);return n},P_;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+(t?1:0),n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(P_||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(P_||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(P_||={});var F_=P_,I_={L:F_.QrCode.Ecc.LOW,M:F_.QrCode.Ecc.MEDIUM,Q:F_.QrCode.Ecc.QUARTILE,H:F_.QrCode.Ecc.HIGH},L_=128,R_=`L`,z_=`#FFFFFF`,B_=`#000000`,V_=!1,H_=1,U_=4,W_=0,G_=.1;function K_(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function q_(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function J_(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*G_),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function Y_(e,t){return t==null?e?U_:W_:Math.max(Math.floor(t),0)}function X_({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=J.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...F_.QrSegment.makeSegments(t)),e),[]);return F_.QrCode.encodeSegments(r,I_[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=J.useMemo(()=>{let e=c.getModules(),t=Y_(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:J_(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var Z_=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Q_=J.forwardRef(function(e,t){let n=e,{value:r,size:i=L_,level:a=R_,bgColor:o=z_,fgColor:s=B_,includeMargin:c=V_,minVersion:l=H_,boostLevel:u,marginSize:d,imageSettings:f}=n,p=N_(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=N_(p,[`style`]),g=f?.src,_=J.useRef(null),v=J.useRef(null),y=J.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=J.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=X_({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});J.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=v.current,a=T!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&T.excavation!=null&&(n=q_(C,T.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/w*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,w,w),t.fillStyle=s,Z_?t.fill(new Path2D(K_(n,S))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+S,n+S,1,1)})}),T&&(t.globalAlpha=T.opacity),a&&t.drawImage(r,T.x+S,T.y+S,T.w,T.h)}}),J.useEffect(()=>{x(!1)},[g]);let E=M_({height:i,width:i},m),D=null;return g!=null&&(D=J.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),J.createElement(J.Fragment,null,J.createElement(`canvas`,M_({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});Q_.displayName=`QRCodeCanvas`;var $_=J.forwardRef(function(e,t){let n=e,{value:r,size:i=L_,level:a=R_,bgColor:o=z_,fgColor:s=B_,includeMargin:c=V_,minVersion:l=H_,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=N_(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=X_({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=q_(g,v.excavation)),b=J.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=K_(y,h);return J.createElement(`svg`,M_({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&J.createElement(`title`,null,d),J.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),J.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});$_.displayName=`QRCodeSVG`;var ev=/^[a-z0-9][a-z0-9-]{1,31}$/,tv=`2–32 characters: lowercase letters, numbers, hyphens.`;function nv(e){return e.replace(/^https?:\/\//,``).replace(/\/$/,``)}function rv(e){if(!e)return``;let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,32);return ev.test(t)?t:``}function iv({cloudUrl:e,deviceName:t}){let[n,r]=(0,J.useState)(null),[i,a]=(0,J.useState)(!0),[o,s]=(0,J.useState)(!1),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(!1),[m,h]=(0,J.useState)(null);(0,J.useEffect)(()=>{(async()=>{try{r((await z.get(`/api/cloud/alias`)).slug)}catch{s(!0)}a(!1)})()},[]);let g=(0,J.useCallback)(()=>{d(n??rv(t)),h(null),l(!0)},[n,t]),_=(0,J.useCallback)(async()=>{let e=u.trim().toLowerCase();if(!ev.test(e)){h(tv);return}p(!0),h(null);try{r((await z.patch(`/api/cloud/alias`,{slug:e})).slug),l(!1)}catch(e){h(e instanceof Error?e.message:`Could not save that name`)}finally{p(!1)}},[u]);return i?null:o?(0,Y.jsx)(`p`,{className:`text-[11px] text-muted-foreground leading-relaxed`,children:`Couldn't check this machine's permanent link. Open the cloud dashboard, or sign in again.`}):c?(0,Y.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Y.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Permanent link`}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsxs)(`span`,{className:`text-xs font-mono text-muted-foreground shrink-0`,children:[nv(e),`/`]}),(0,Y.jsx)(`input`,{autoFocus:!0,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_(),e.key===`Escape`&&l(!1)},placeholder:`my-mac`,className:`flex-1 min-w-0 text-base md:text-xs font-mono text-foreground bg-muted px-2 min-h-11 md:min-h-0 md:py-1.5 rounded border border-border outline-none focus:border-primary`}),(0,Y.jsx)(`button`,{onClick:_,disabled:f,title:`Save`,className:`flex items-center justify-center size-11 md:size-8 rounded border border-border text-primary bg-muted hover:bg-accent transition-colors shrink-0 disabled:opacity-50`,children:f?(0,Y.jsx)(L,{className:`size-3.5 animate-spin`}):(0,Y.jsx)(An,{className:`size-3.5`})}),(0,Y.jsx)(`button`,{onClick:()=>l(!1),title:`Cancel`,className:`flex items-center justify-center size-11 md:size-8 rounded border border-border text-muted-foreground bg-muted hover:bg-accent transition-colors shrink-0`,children:(0,Y.jsx)(he,{className:`size-3.5`})})]}),(0,Y.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:m??tv})]}):n?(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Permanent link`}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsxs)(`a`,{href:`${e}/${n}`,target:`_blank`,rel:`noopener noreferrer`,className:`flex-1 min-w-0 flex items-center gap-1 text-xs font-mono text-primary hover:underline truncate`,children:[(0,Y.jsxs)(`span`,{className:`truncate`,children:[nv(e),`/`,n]}),(0,Y.jsx)(jt,{className:`size-3 shrink-0`})]}),(0,Y.jsx)(`button`,{onClick:g,title:`Change permanent link`,className:`flex items-center justify-center size-11 md:size-8 rounded border border-border text-muted-foreground bg-muted hover:bg-accent hover:text-foreground transition-colors shrink-0`,children:(0,Y.jsx)(me,{className:`size-3.5`})})]})]}):(0,Y.jsxs)(`button`,{onClick:g,className:`w-full flex items-center justify-center gap-1.5 px-3 min-h-11 md:min-h-0 md:py-2 text-xs font-medium rounded-md border border-border hover:bg-muted transition-colors`,children:[(0,Y.jsx)(me,{className:`size-3.5`}),`Set a permanent link`]})}function av({onStatus:e,publicPort:t,onTempUrl:n}){let[r,i]=(0,J.useState)(null),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(null),[l,u]=(0,J.useState)(null),d=(0,J.useCallback)((e,n)=>e.find(e=>e.source===`ppm`&&!e.protected&&e.port===t&&e.url&&e.url!==n)??null,[t]),f=(0,J.useCallback)(async()=>{try{let t=await Zh.status();i(t),e(t);let r=d(await z.get(`/api/tunnels`).catch(()=>[]),t.hostname?`https://${t.hostname}`:null);o(r),n(r?.url??null)}catch{}},[e,n,d]);(0,J.useEffect)(()=>{f()},[f]);let p=(0,J.useCallback)(async()=>{if(t){c(`add`),u(null);try{let e=await z.post(`/api/tunnels`,{port:t});o({pid:0,port:t,url:e.url,source:`ppm`,protected:!1}),n(e.url),f()}catch(e){u(e instanceof Error?e.message:`Could not create a temporary link`)}finally{c(null)}}},[t,n,f]),m=(0,J.useCallback)(async()=>{if(a?.pid){c(`stop`),u(null);try{await z.del(`/api/tunnels/${a.pid}`),o(null),n(null)}catch(e){u(e instanceof Error?e.message:`Could not stop the temporary link`)}finally{c(null)}}},[a?.pid,n]);return!r||r.authEnabled===!1||!r.hostname||(r.liveMode??r.mode)!==`named`?null:(0,Y.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,Y.jsx)($e,{className:`size-3 text-primary shrink-0`}),(0,Y.jsxs)(`span`,{className:`text-foreground truncate`,children:[`Your domain · `,r.hostname]})]}),(0,Y.jsx)(`button`,{onClick:a?m:p,disabled:s!==null||!t,className:`shrink-0 min-h-11 px-2.5 flex items-center gap-1 text-xs rounded-md border border-border hover:bg-muted transition-colors disabled:opacity-50`,title:a?`Stop the temporary link`:`Also expose a temporary link for one-off sharing`,children:s?(0,Y.jsx)(L,{className:`size-3.5 animate-spin`}):a?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(on,{className:`size-3`}),` Stop temp link`]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(_n,{className:`size-3`}),` Temp link`]})})]}),r.tunnelWarning&&(0,Y.jsx)(`p`,{className:`text-[11px] text-amber-500 leading-relaxed`,children:r.tunnelWarning}),l&&(0,Y.jsx)(`p`,{className:`text-[11px] text-destructive`,children:l})]})}var ov=`ppm-last-local-url`;function sv(e){try{e&&localStorage.setItem(ov,e)}catch{}}function cv(){try{let e=localStorage.getItem(ov);return e&&/^https?:\/\//.test(e)?e:null}catch{return null}}function lv({onClose:e,variant:t=`popover`}){let[n,r]=(0,J.useState)(null),[i,a]=(0,J.useState)(null),[o,s]=(0,J.useState)(!0),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(!1),[m,h]=(0,J.useState)(null),[g,_]=(0,J.useState)(null),[v,y]=(0,J.useState)(null),[b,x]=(0,J.useState)(!1),[S,C]=(0,J.useState)(!1),[w,T]=(0,J.useState)(null),E=(0,J.useCallback)(async()=>{try{let[e,t]=await Promise.all([z.get(`/api/cloud/status`),z.get(`/api/tunnel`)]);r(e),a(t),sv(t.localUrl)}catch{}},[]);(0,J.useEffect)(()=>{E().finally(()=>s(!1))},[E]);let D=(0,J.useCallback)(e=>{C((e.liveMode??e.mode)===`named`)},[]),O=(()=>{if(!i?.localUrl)return null;let e=Number(new URL(i.localUrl).port);return Number.isFinite(e)&&e>0?e:null})(),k=(0,J.useCallback)(e=>{Al(e),_(e),setTimeout(()=>_(null),2e3)},[]),A=(0,J.useCallback)(async()=>{l(!0),h(null);try{a({active:!0,url:(await z.post(`/api/tunnel/start`,{})).url,localUrl:i?.localUrl??null}),r(await z.get(`/api/cloud/status`))}catch(e){h(e instanceof Error?e.message:`Failed to start tunnel`)}finally{l(!1)}},[i]),j=(0,J.useCallback)(async()=>{h(null);try{let{cloud_url:e}=await z.get(`/api/cloud/login-url`),t=await fetch(`${e}/auth/device-code`,{method:`POST`,headers:{"Content-Type":`application/json`}});if(!t.ok)throw Error(`Failed to get device code`);let n=await t.json();y({userCode:n.user_code,verifyUrl:n.verification_uri}),x(!0);let i=(n.interval||5)*1e3,a=Date.now()+n.expires_in*1e3,o=setInterval(async()=>{if(Date.now()>a){clearInterval(o),x(!1),y(null),h(`Login expired. Try again.`);return}try{let t=await fetch(`${e}/auth/device-code/poll`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({device_code:n.device_code})});if(!t.ok)return;let i=await t.json();i.status===`approved`&&i.access_token&&i.email&&(clearInterval(o),x(!1),y(null),await z.post(`/api/cloud/login`,{access_token:i.access_token,email:i.email,cloud_url:e}),r(await z.get(`/api/cloud/status`)))}catch{}},i)}catch(e){h(e instanceof Error?e.message:`Failed to start login`),x(!1),y(null)}},[]),M=(0,J.useCallback)(async()=>{d(!0),h(null);try{i?.active||a({active:!0,url:(await z.post(`/api/tunnel/start`,{})).url,localUrl:i?.localUrl??null}),await z.post(`/api/cloud/link`,{}),r(await z.get(`/api/cloud/status`))}catch(e){h(e instanceof Error?e.message:`Failed to link device`)}finally{d(!1)}},[i]),ee=(0,J.useCallback)(async()=>{if(confirm(`Unlink this device from PPM Cloud? It will no longer appear on your cloud dashboard.`)){p(!0);try{await z.post(`/api/cloud/unlink`,{}),r(await z.get(`/api/cloud/status`))}catch{}p(!1)}},[]),N=(0,J.useCallback)(async()=>{let e=n?.linked?`Sign out from PPM Cloud? This will also unlink your device.`:`Sign out from PPM Cloud?`;if(confirm(e)){if(n?.linked)try{await z.post(`/api/cloud/unlink`,{})}catch{}await z.post(`/api/cloud/logout`,{}),r(e=>e?{...e,logged_in:!1,email:null,linked:!1,device_name:null,device_id:null}:null)}},[n?.linked]),P=i?.url||n?.tunnel_url;return(0,Y.jsxs)(`div`,{className:t===`sheet`?`w-full p-3 space-y-3`:`w-72 bg-background border border-border rounded-lg shadow-lg p-3 space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Y.jsx)(yt,{className:`size-4 text-primary`}),(0,Y.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`PPM Cloud`})]}),(0,Y.jsx)(`button`,{onClick:e,className:`text-text-subtle hover:text-foreground`,children:(0,Y.jsx)(he,{className:`size-3.5`})})]}),o&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground text-xs py-2`,children:[(0,Y.jsx)(L,{className:`size-4 animate-spin`}),(0,Y.jsx)(`span`,{children:`Loading...`})]}),!o&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`space-y-1.5`,children:n?.logged_in?(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`size-2 rounded-full bg-success shrink-0`}),(0,Y.jsx)(`span`,{className:`text-xs text-foreground truncate`,children:n.email})]}),(0,Y.jsx)(`button`,{onClick:N,className:`text-text-subtle hover:text-foreground p-1 rounded hover:bg-muted transition-colors shrink-0`,title:`Sign out`,children:(0,Y.jsx)(mn,{className:`size-3`})})]}):v?(0,Y.jsxs)(`div`,{className:`space-y-2 text-center`,children:[(0,Y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Open the link below and enter the code:`}),(0,Y.jsx)(`div`,{className:`font-mono text-2xl font-bold tracking-[0.3em] text-primary`,children:v.userCode}),(0,Y.jsx)(`a`,{href:v.verifyUrl,target:`_blank`,rel:`noopener noreferrer`,className:`text-xs text-primary hover:underline`,children:v.verifyUrl}),b&&(0,Y.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 text-xs text-muted-foreground`,children:[(0,Y.jsx)(L,{className:`size-3 animate-spin`}),(0,Y.jsx)(`span`,{children:`Waiting for verification...`})]})]}):(0,Y.jsxs)(Y.Fragment,{children:[P&&(0,Y.jsx)(`p`,{className:`text-[11px] text-muted-foreground leading-relaxed`,children:S?`This link is permanent — it lives on your own domain. Sign in to PPM Cloud to keep your devices in sync.`:`This link changes every time PPM restarts. Sign in to get a permanent one that always points here — private to your account.`}),(0,Y.jsxs)(`button`,{onClick:j,className:`w-full flex items-center justify-center gap-1.5 px-3 py-2 text-xs font-medium rounded-md border border-border hover:bg-muted transition-colors`,children:[(0,Y.jsx)(yt,{className:`size-3.5`}),P&&!S?`Get a permanent link`:`Sign in to PPM Cloud`]})]})}),n?.logged_in&&(0,Y.jsx)(`div`,{className:`space-y-1.5`,children:n.linked?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,Y.jsx)(Tn,{className:`size-3 text-primary shrink-0`}),(0,Y.jsx)(`span`,{className:`text-foreground truncate`,children:n.device_name})]}),(0,Y.jsx)(`button`,{onClick:ee,disabled:f,className:`text-text-subtle hover:text-destructive p-1 rounded hover:bg-muted transition-colors shrink-0`,title:`Unlink device`,children:f?(0,Y.jsx)(L,{className:`size-3 animate-spin`}):(0,Y.jsx)(Ye,{className:`size-3`})})]}),(0,Y.jsx)(iv,{cloudUrl:n.cloud_url,deviceName:n.device_name})]}):(0,Y.jsx)(`button`,{onClick:M,disabled:u,className:`w-full flex items-center justify-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-50`,children:u?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(L,{className:`size-3.5 animate-spin`}),` Linking...`]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Tn,{className:`size-3.5`}),` Link this machine`]})})}),(0,Y.jsx)(`div`,{className:`border-t border-border`}),(0,Y.jsx)(av,{onStatus:D,publicPort:O,onTempUrl:T}),i?.localUrl&&(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Local Network`}),(0,Y.jsx)(uv,{url:i.localUrl,copied:g,onCopy:k})]}),!P&&!c&&(0,Y.jsxs)(`button`,{onClick:A,className:`w-full flex items-center justify-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,children:[(0,Y.jsx)(At,{className:`size-3.5`}),`Start Sharing`]}),c&&(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-2`,children:[(0,Y.jsx)(L,{className:`size-5 animate-spin text-primary`}),(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Starting tunnel...`})]}),P&&(0,Y.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,Y.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Public URL`}),(0,Y.jsx)(`div`,{className:`flex justify-center`,children:(0,Y.jsx)(`div`,{className:`p-3 rounded-lg`,style:{backgroundColor:`#ffffff`,colorScheme:`light`},children:(0,Y.jsx)($_,{value:P,size:180,bgColor:`#ffffff`,fgColor:`#000000`,level:`L`,style:{display:`block`}})})}),(0,Y.jsx)(uv,{url:P,copied:g,onCopy:k})]}),w&&w!==P&&(0,Y.jsxs)(`div`,{className:`space-y-1`,children:[(0,Y.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Temporary link`}),(0,Y.jsx)(uv,{url:w,copied:g,onCopy:k}),(0,Y.jsx)(`p`,{className:`text-[11px] text-muted-foreground leading-relaxed`,children:`Stops when you press Stop temp link, or when PPM restarts.`})]}),n?.logged_in&&n.linked&&(0,Y.jsxs)(`a`,{href:n.cloud_url+`/dashboard`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center justify-center gap-1.5 w-full px-3 py-1.5 text-xs text-muted-foreground hover:text-foreground rounded-md border border-border hover:bg-muted transition-colors`,children:[(0,Y.jsx)(jt,{className:`size-3`}),`Open Cloud Dashboard`]}),m&&(0,Y.jsx)(`p`,{className:`text-xs text-destructive`,children:m})]})]})}function uv({url:e,copied:t,onCopy:n}){return(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(`input`,{readOnly:!0,value:e,className:`flex-1 text-xs font-mono text-foreground bg-muted px-2 py-1.5 rounded border border-border truncate`,onClick:e=>e.target.select()}),(0,Y.jsx)(`button`,{onClick:()=>n(e),className:`flex items-center justify-center size-7 rounded border border-border text-muted-foreground bg-muted hover:bg-accent hover:text-foreground transition-colors shrink-0`,title:`Copy URL`,children:t===e?(0,Y.jsx)(An,{className:`size-3.5 text-primary`}):(0,Y.jsx)(un,{className:`size-3.5`})})]})}var dv=`hienlh/ppm`;async function fv(e,t){let n=`(could not fetch)`;try{let e=Wn(),t=await(await fetch(`/api/logs/recent`,e?{headers:{Authorization:`Bearer ${e}`}}:{})).json();t.ok&&(n=t.data.logs||`(empty)`)}catch{}let r=``;if(t?.sessionId&&t?.projectName)try{let e=await z.get(`${R(t.projectName)}/chat/sessions/${t.sessionId}/logs?tail=100`);e.logs&&(r=e.logs)}catch{}return[`## Environment`,`- PPM: v${e??`unknown`}`,`- Browser: ${navigator.userAgent}`,``,`## Description`,`<!-- Describe the bug -->`,``,`## Steps to Reproduce`,`1. `,``,`## Expected Behavior`,``,...r?[`## Chat Session Logs (${t?.sessionId?.slice(0,8)})`,"```",r,"```",``]:[],`## Server Logs (last 30 lines)`,"```",n,"```"].join(`
21
21
  `)}function pv(e){let t=`https://github.com/${dv}/issues/new?title=bug%3A%20&body=${encodeURIComponent(e)}`;window.open(t,`_blank`)}function mv(e,t){fv(e,t).then(e=>{window.dispatchEvent(new CustomEvent(`open-bug-report`,{detail:e}))})}var hv=`pointer-events-none absolute left-[calc(100%+8px)] z-50 hidden can-hover:group-hover:block hover-label-delayed whitespace-nowrap rounded-md border border-border bg-surface-elevated px-2 py-1 text-xs font-medium text-foreground shadow-[0_4px_12px_rgba(0,0,0,.4)]`;function gv({count:e}){return(0,Y.jsx)(`span`,{className:`absolute top-1 right-1 min-w-[16px] h-4 px-1 flex items-center justify-center rounded-full bg-primary text-primary-foreground text-[10px] font-medium leading-none`,children:e>99?`99+`:e})}function _v({icon:e,label:t,active:n,badge:r,featureBadge:i,onClick:a,dragging:o,dropBefore:s,onDragStart:c,onDragOver:l,onDrop:u,onDragEnd:d}){return(0,Y.jsxs)(`button`,{draggable:!0,onDragStart:c,onDragOver:l,onDrop:u,onDragEnd:d,onClick:a,className:U(`group relative flex items-center justify-center size-[38px] rounded-[9px] transition-colors shrink-0`,n?`bg-accent-wash text-primary shadow-[inset_2px_0_0_var(--accent)]`:`text-text-subtle hover:bg-surface-elevated hover:text-foreground`,o&&`opacity-40`,s&&`shadow-[inset_0_2px_0_var(--accent)]`),children:[(0,Y.jsx)(e,{className:`size-[18px]`,strokeWidth:n?2.4:2}),r!=null&&r>0&&(0,Y.jsx)(gv,{count:r}),(0,Y.jsx)(Mg,{id:i,variant:`corner`}),(0,Y.jsx)(`span`,{className:hv,children:t})]})}function vv({icon:e,label:t,onClick:n,active:r,featureBadge:i}){return(0,Y.jsxs)(`button`,{type:`button`,"aria-label":t,title:t,onClick:n,className:U(`group relative flex items-center justify-center size-8 rounded-[7px] transition-colors shrink-0`,r?`text-primary bg-accent-wash`:`text-text-subtle hover:bg-surface-elevated hover:text-foreground`),children:[(0,Y.jsx)(e,{className:`size-4`}),(0,Y.jsx)(Mg,{id:i,variant:`corner`}),(0,Y.jsx)(`span`,{className:hv,children:t})]})}var yv=(0,J.memo)(function({className:e}){let{activeProject:t}=G(Uu(e=>({activeProject:e.activeProject}))),n=V(e=>e.sidebarActiveTab),r=V(e=>e.setSidebarActiveTab),i=V(e=>e.sidebarTabOrder),a=V(e=>e.setSidebarTabOrder),o=V(e=>e.sidebarCollapsed),s=V(e=>e.toggleSidebar),c=V(e=>e.jiraEnabled),l=V(e=>e.version),u=Pc(e=>e.contributions),d=jd(e=>t?.name?e.counts.get(t.name)??0:0),f=Gm(e=>e.unreadCount),p=Cs(Ts(t?.name)),m=(0,J.useMemo)(()=>T_(Yr({jiraEnabled:c,contributions:u}),i),[u,c,i]),[h,g]=(0,J.useState)(null),[_,v]=(0,J.useState)(null),y=e=>{if(h&&h!==e){let t=m.map(e=>e.id),n=t.indexOf(h);if(n>=0){t.splice(n,1);let r=t.indexOf(e);t.splice(r<0?t.length:r,0,h),a(t)}}g(null),v(null)},[b,x]=(0,J.useState)(!1),S=(0,J.useRef)(null),[C,w]=(0,J.useState)(null);(0,J.useEffect)(()=>{if(!b||!S.current){w(null);return}let e=S.current.getBoundingClientRect();w({left:e.right+6,bottom:window.innerHeight-e.bottom})},[b]),(0,J.useEffect)(()=>{let e=()=>{Lr()||x(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[]);let T=b_(),{available:E}=w_(),D=()=>mv(l),O=e=>{o?(r(e),s()):n===e?s():r(e)};return(0,Y.jsxs)(`div`,{className:U(`w-[52px] shrink-0 border-r border-border flex flex-col`,e),children:[(0,Y.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0 flex flex-col items-center gap-[3px] px-[3px] py-2 scrollbar-none`,children:m.map(e=>(0,Y.jsx)(_v,{icon:e.icon,label:e.label,active:n===e.id,badge:e.id===`git`?d:e.id===`jira`?f:e.id===`history`?p:void 0,featureBadge:e.badge,onClick:()=>O(e.id),dragging:h===e.id,dropBefore:_===e.id&&h!==e.id,onDragStart:t=>{g(e.id),t.dataTransfer.effectAllowed=`move`},onDragOver:t=>{t.preventDefault(),v(e.id)},onDrop:t=>{t.preventDefault(),y(e.id)},onDragEnd:()=>{g(null),v(null)}},e.id))}),(0,Y.jsxs)(`div`,{className:`shrink-0 flex flex-col items-center gap-0.5 px-[3px] py-2 border-t border-border`,children:[(0,Y.jsx)(E_,{expanded:!1}),(0,Y.jsxs)(`button`,{ref:S,onClick:()=>x(!b),className:U(`group relative flex items-center justify-center size-8 rounded-[7px] transition-colors shrink-0`,b?`text-primary bg-primary/10`:`text-text-subtle hover:bg-surface-elevated hover:text-foreground`),children:[(0,Y.jsx)(yt,{className:`size-4`}),(0,Y.jsx)(`span`,{className:hv,children:`Cloud & Share`})]}),b&&C&&(0,Ql.createPortal)((0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>x(!1)}),(0,Y.jsx)(`div`,{className:`fixed z-50`,style:{left:C.left,bottom:C.bottom},children:(0,Y.jsx)(lv,{onClose:()=>x(!1)})})]}),document.body),(0,Y.jsx)(vv,{icon:Zt,label:`File Explorer`,featureBadge:`os-explorer`,onClick:()=>void Jf()}),E&&(0,Y.jsx)(vv,{icon:lt,label:`Remote Desktop`,featureBadge:`remote-desktop`,onClick:T}),(0,Y.jsx)(vv,{icon:Pn,label:`Report Bug`,onClick:D}),(0,Y.jsx)(vv,{icon:pn,label:`Settings`,onClick:()=>Ic()})]})]})});function bv({onResize:e}){let t=(0,J.useRef)(!1);return(0,Y.jsx)(`div`,{className:`absolute right-0 top-0 bottom-0 w-1 cursor-col-resize hover:bg-primary/30 active:bg-primary/50 transition-colors z-10`,onPointerDown:(0,J.useCallback)(e=>{e.preventDefault(),t.current=!0,e.currentTarget.setPointerCapture(e.pointerId),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),onPointerMove:(0,J.useCallback)(n=>{t.current&&e(n.clientX)},[e]),onPointerUp:(0,J.useCallback)(e=>{t.current=!1,e.currentTarget.releasePointerCapture(e.pointerId),document.body.style.cursor=``,document.body.style.userSelect=``},[])})}function xv({onToggle:e}){return(0,Y.jsx)(`button`,{onClick:e,title:`Toggle sidebar (⌘B)`,className:`w-[52px] shrink-0 flex items-center justify-center border-r border-border hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(`span`,{className:`text-sm font-extrabold text-primary leading-none tracking-tight`,children:`PPM`})})}var Sv=(0,J.memo)(function(){let{activeProject:e}=G(Uu(e=>({activeProject:e.activeProject}))),t=V(e=>e.sidebarCollapsed),n=V(e=>e.sidebarWidth),r=V(e=>e.toggleSidebar),i=V(e=>e.setSidebarWidth),a=V(e=>e.sidebarActiveTab);return Md(e?.name,a===`git`),t?(0,Y.jsxs)(`aside`,{className:`hidden md:flex flex-col w-[52px] min-w-[52px] bg-rail border-r border-border`,children:[(0,Y.jsx)(`button`,{onClick:r,title:`Expand sidebar (⌘B)`,className:`flex flex-col items-center justify-center gap-px h-[41px] border-b border-border text-primary hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(Me,{className:`size-4 text-text-secondary`})}),(0,Y.jsx)(yv,{className:`flex-1 min-h-0`})]}):(0,Y.jsxs)(`aside`,{className:`hidden md:flex flex-col bg-panel border-r border-border overflow-hidden relative`,style:{width:n,minWidth:200,maxWidth:600},children:[(0,Y.jsxs)(`div`,{className:`flex h-[41px] border-b border-border shrink-0`,children:[(0,Y.jsx)(xv,{onToggle:r}),(0,Y.jsx)(`div`,{className:`flex-1 min-w-0 flex items-center px-1.5`,children:(0,Y.jsx)(v_,{})})]}),(0,Y.jsxs)(`div`,{className:`flex-1 min-h-0 flex`,children:[(0,Y.jsx)(yv,{}),(0,Y.jsx)(`div`,{className:`flex-1 min-w-0 flex flex-col`,children:(0,Y.jsxs)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,"data-onboarding":a===`explorer`?`explorer`:void 0,children:[a===`explorer`&&(e?(0,Y.jsx)(Mp,{}):(0,Y.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to browse files`})})),a===`git`&&(0,Y.jsx)(cm,{metadata:{projectName:e?.name}}),a===`search`&&(0,Y.jsx)(Rm,{}),a===`history`&&(e?(0,Y.jsx)(kg,{variant:`sidebar`,projectName:e.name}):(0,Y.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to view chat history`})})),a===`teams`&&(0,Y.jsx)(Qg,{}),a===`database`&&(0,Y.jsx)(Pm,{}),a===`tunnels`&&(0,Y.jsx)(bg,{}),a===`jira`&&(0,Y.jsx)(ph,{}),a===`ai-resources`&&(0,Y.jsx)(Jh,{}),typeof a==`string`&&a.startsWith(`ext:`)&&(0,Y.jsx)(Vm,{viewId:a.slice(4),className:`h-full`})]})})]}),(0,Y.jsx)(bv,{onResize:i})]})}),Cv=1e4;function wv(){let e=Wn();return e?{Authorization:`Bearer ${e}`}:{}}async function Tv(e){await fetch(`/api/system/resources/stream/${encodeURIComponent(e)}/ping`,{method:`POST`,headers:wv()}).catch(()=>{})}async function Ev(e){await fetch(`/api/system/resources/stream/${encodeURIComponent(e)}`,{method:`DELETE`,headers:wv()}).catch(()=>{})}function Dv(e,t){let n=e.length-t;if(n<=0)return e;let r=!1,i=e.map((e,t)=>t>=n||Object.keys(e.groups).length===0?e:(r=!0,{...e,groups:{}}));return r?i:e}var Ov=null,kv=0,Av=0,jv=!1,Mv=null,Nv=[],Pv=!1,Fv=null,Iv=0,Lv=null,Rv=new Set;function zv(){for(let e of Rv)e()}function Bv(){Lv&&=(clearInterval(Lv),null);let e=Fv;Fv=null,e&&Ev(e)}function Vv(e){Fv=e,Lv&&clearInterval(Lv),Lv=setInterval(()=>{let e=Fv;e&&Tv(e)},Cv)}function Hv(e){let t=Wn(),n=new URLSearchParams;t&&n.set(`token`,t),e&&n.set(`processes`,`1`);let r=n.toString();return`/api/system/resources/stream${r?`?${r}`:``}`}function Uv(e){if(Ov)return;Iv=0;let t=new EventSource(Hv(e));jv=e,t.addEventListener(`session`,e=>{try{let t=JSON.parse(e.data);t.sid&&Vv(t.sid)}catch{}}),t.addEventListener(`snapshot`,e=>{try{let t=JSON.parse(e.data);Mv=t;let n={ts:t.ts,system:t.system,groups:Object.fromEntries(t.groups.map(e=>[e.key,{cpu:e.cpu,ramMB:e.ramMB}]))};Nv=[...Nv,n],Nv.length>900&&(Nv=Nv.slice(-900)),Nv=Dv(Nv,60),Iv++,Pv=!0,zv()}catch{}}),t.onerror=()=>{if(Pv=!1,Bv(),Ov&&=(Ov.close(),null),zv(),kv>0){let e=Av>0;setTimeout(()=>{!Ov&&kv>0&&Uv(e)},5e3)}},t.onopen=()=>{Pv=!0,zv()},Ov=t}function Wv(){Bv(),Ov&&(Ov.close(),Ov=null,Pv=!1,zv())}function Gv(){let e=Av>0;if(kv===0){Wv();return}if(!Ov){Uv(e);return}jv!==e&&(Wv(),Uv(e))}function Kv(e={}){let[,t]=(0,J.useState)(0),n=(0,J.useRef)(!0),r=!!e.processes,i=(0,J.useCallback)(()=>{n.current&&t(e=>e+1)},[]);return(0,J.useEffect)(()=>(n.current=!0,Rv.add(i),kv++,r&&Av++,Gv(),()=>{n.current=!1,Rv.delete(i),kv--,r&&Av--,Gv()}),[i,r]),{latest:Mv,history:Nv,isConnected:Pv,tickCount:Iv}}function qv(e,t){return e?{kind:`tab`,tab:{type:`system-monitor`,title:`System Monitor`,projectId:null,closable:!0}}:t?{kind:`focus`,id:t}:{kind:`window`}}function Jv(){let e=Ir(),t=pr(e=>e.open),n=pr(e=>e.focus),r=K(e=>e.openTab);return(0,J.useCallback)(()=>{let i=qv(e,Object.values(pr.getState().windows).find(e=>e.kind===`system-monitor`)?.id??null);i.kind===`tab`?r(i.tab):i.kind===`focus`?n(i.id):t(`system-monitor`)},[e,t,n,r])}function Yv(e){return e>80?`text-error`:e>50?`text-warning`:`text-success`}var Xv=(0,J.memo)(function({compact:e=!1}){let{latest:t,isConnected:n}=Kv(),r=Jv(),i=Ir();if(!n||!t)return e?null:(0,Y.jsxs)(`button`,{onClick:r,"data-testid":`status-bar-resources`,"aria-label":`Open System Monitor`,className:`flex items-center gap-1.5 px-2 py-1 text-[10px] text-text-subtle hover:text-text-secondary transition-colors w-full`,children:[(0,Y.jsx)(bn,{className:`size-3 opacity-50`}),(0,Y.jsx)(`span`,{className:`opacity-50`,children:`Connecting...`})]});let a=t.system.cpu.total,o=t.system.mem.usedMB,s=t.system.processCount,c=o<1024?`${o.toFixed(0)}M`:`${(o/1024).toFixed(1)}G`;return e?(0,Y.jsxs)(`button`,{onClick:r,"data-testid":`status-bar-resources`,"aria-label":`Open System Monitor`,className:`flex items-center gap-2 px-1 rounded-sm hover:bg-accent/15 transition-colors cursor-pointer`,title:`Open System Monitor`,children:[(0,Y.jsxs)(`span`,{className:Yv(a),children:[`CPU `,a.toFixed(0),`%`]}),(0,Y.jsxs)(`span`,{className:`text-text-secondary`,children:[`MEM `,c]})]}):(0,Y.jsxs)(`button`,{onClick:r,"data-testid":`status-bar-resources`,"aria-label":`Open System Monitor`,className:`flex items-center gap-1.5 px-2 py-1 text-[10px] hover:bg-surface-hover transition-colors w-full cursor-pointer`,title:`Open System Monitor`,children:[(0,Y.jsx)(bn,{className:U(`size-3`,Yv(a))}),(0,Y.jsx)(`span`,{className:Yv(a),children:i?`${a.toFixed(0)}%`:`CPU ${a.toFixed(1)}%`}),(0,Y.jsx)(`span`,{className:`text-text-subtle`,children:`|`}),(0,Y.jsx)(`span`,{className:`text-text-secondary`,children:o<1024?`${o.toFixed(0)}MB`:`${(o/1024).toFixed(1)}GB`}),!i&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`span`,{className:`text-text-subtle`,children:`|`}),(0,Y.jsxs)(`span`,{className:`text-text-subtle`,children:[s,` proc`]})]})]})}),Zv=(e,t)=>`${e}\u0000${t}`,Qv=Gn(e=>({files:{},publish:(t,n,r)=>e(e=>{let i=Zv(t,n);if(r.length===0){if(!e.files[i])return e;let{[i]:t,...n}=e.files;return{files:n}}return{files:{...e.files,[i]:{projectName:t,filePath:n,diagnostics:r}}}}),clear:(t,n)=>e(e=>{let r=Zv(t,n);if(!e.files[r])return e;let{[r]:i,...a}=e.files;return{files:a}})}));function $v(e,t){return t?Object.fromEntries(Object.entries(e).filter(([,e])=>e.projectName===t)):e}function ey(e){let t=0,n=0;for(let r of Object.values(e))for(let e of r.diagnostics)e.severity===1?t++:e.severity===2&&n++;return{errors:t,warnings:n}}function ty(e){return Object.values(e).map(e=>({...e,diagnostics:[...e.diagnostics].sort((e,t)=>e.range.start.line-t.range.start.line||e.range.start.character-t.range.start.character)})).sort((e,t)=>e.filePath.localeCompare(t.filePath))}function ny(){let e=W(e=>e.openInDock);return(0,J.useCallback)(()=>{e({type:`problems`,title:`Problems`,projectId:null,closable:!0})},[e])}var ry=(0,J.memo)(function(){let e=Qv(Uu(e=>e.files)),t=G(e=>e.activeProject?.name??null),n=ny(),{errors:r,warnings:i}=ey($v(e,t));return(0,Y.jsxs)(`button`,{onClick:n,title:`${r} error${r===1?``:`s`}, ${i} warning${i===1?``:`s`} — open the Problems panel`,"aria-label":`Open the Problems panel`,className:`flex items-center gap-2 px-1 rounded-sm transition-colors hover:bg-accent/15 hover:text-text-primary shrink-0`,children:[(0,Y.jsxs)(`span`,{className:U(`flex items-center gap-1`,r>0&&`text-error`),children:[(0,Y.jsx)(ut,{className:`size-[11px]`}),r]}),(0,Y.jsxs)(`span`,{className:U(`flex items-center gap-1`,i>0&&`text-warning`),children:[(0,Y.jsx)(yn,{className:`size-[11px]`}),i]})]})});function iy({swatch:e,className:t}){return(0,Y.jsx)(`span`,{className:U(`inline-flex overflow-hidden rounded-md border border-border shrink-0`,t),"aria-hidden":!0,children:e.map((e,t)=>(0,Y.jsx)(`span`,{className:`w-3 h-6`,style:{background:e}},t))})}var ay=(0,J.memo)(function(){let e=V(e=>e.themeStyle),t=V(e=>e.themeMode),n=V(e=>e.customThemeId),r=V(e=>e.customThemes),i=V(e=>e.setThemeStyle),a=V(e=>e.setThemeMode),o=V(e=>e.setCustomTheme),s=Xi(e,t,r,n),c=e=>{let t=Yi[e];t&&(i(t.style),a(t.mode))};return(0,Y.jsxs)(du,{children:[(0,Y.jsx)(pu,{asChild:!0,children:(0,Y.jsxs)(`button`,{title:`Theme`,"aria-label":`Theme`,className:`flex items-center gap-1 px-1 rounded-sm transition-colors hover:bg-accent/40 hover:text-text-primary`,children:[(0,Y.jsx)(We,{className:`size-[11px]`}),(0,Y.jsx)(`span`,{className:`truncate max-w-[90px] @max-3xl:hidden`,children:s.name})]})}),(0,Y.jsxs)(mu,{side:`top`,align:`end`,className:`w-56`,children:[(0,Y.jsx)(yu,{children:`Theme`}),Ji.map(e=>{let t=Yi[e];if(!t)return null;let n=s.id===e;return(0,Y.jsxs)(hu,{onClick:()=>c(e),className:`gap-2`,children:[(0,Y.jsx)(iy,{swatch:t.swatch}),(0,Y.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),(0,Y.jsx)(An,{className:U(`size-4 shrink-0`,n?`opacity-100`:`opacity-0`)})]},e)}),r.length>0&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(yu,{children:`Imported`}),r.map(t=>{let r=e===`custom`&&n===t.id;return(0,Y.jsxs)(hu,{onClick:()=>o(t.id),className:`gap-2`,children:[(0,Y.jsx)(iy,{swatch:t.swatch}),(0,Y.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),(0,Y.jsx)(An,{className:U(`size-4 shrink-0`,r?`opacity-100`:`opacity-0`)})]},t.id)})]})]})]})}),oy=`https://raw.githubusercontent.com/hienlh/ppm/main/CHANGELOG.md`;function sy(e,t){let n=e.split(`.`).map(e=>parseInt(e,10)||0),r=t.split(`.`).map(e=>parseInt(e,10)||0);for(let e=0;e<3;e++){let t=(n[e]??0)-(r[e]??0);if(t!==0)return t}return 0}var cy=/^##\s*\[(\d+\.\d+\.\d+)\]\s*(?:-\s*(.+))?\s*$/;function ly(e){let t=e.split(/\r?\n/),n=[],r=null,i=[],a=()=>{r&&(r.body=i.join(`
22
22
  `).trim(),n.push(r)),i.length=0};for(let e of t){let t=e.match(cy);t?(a(),r={version:t[1],date:(t[2]??``).trim(),body:``}):r&&i.push(e)}return a(),n}function uy(e){return e.reduce((e,t)=>e&&sy(t.version,e)<=0?e:t.version,null)}async function dy(){let e=await fetch(`${oy}?t=${Date.now()}`,{cache:`no-store`});if(!e.ok)throw Error(`CHANGELOG fetch failed (${e.status})`);return e.text()}async function fy(e=10){return ly(await dy()).slice(0,e)}var py=6e4,my=`ppm-upgrade-dismissed-`,hy=`https://github.com/hienlh/ppm/releases`,gy=`ppm-upgrade-test`;(function(){if(typeof window>`u`)return;let e=new URLSearchParams(window.location.search);if(!e.has(`ppm_upgrade_test`))return;let t=e.get(`ppm_upgrade_test`);t===`off`||t===`0`||t===`false`?sessionStorage.removeItem(gy):sessionStorage.setItem(gy,t||`1`)})();function _y(){if(typeof window>`u`)return null;let e=sessionStorage.getItem(gy);return e===null?null:e===`1`?``:e}function vy(e){let[t=0,n=0]=e.split(`.`).map(e=>parseInt(e,10)||0);return`${t}.${n+1}.0`}async function yy(){if(`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload()}async function by(){let e=Date.now()+6e4;for(;Date.now()<e;){try{if((await fetch(`/api/health`,{cache:`no-store`})).ok)break}catch{}await new Promise(e=>setTimeout(e,2e3))}await yy()}function xy(e){if(e instanceof TypeError)return!0;let t=e?.message??``;return/fetch|network|failed to fetch|load failed/i.test(t)?!0:/HTTP 5(0[234]|2\d)\b/.test(t)}function Sy({align:e=`right`}){let t=V(e=>e.version),[n,r]=(0,J.useState)(null),[i,a]=(0,J.useState)(null),[o,s]=(0,J.useState)(!1),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(!1),[m,h]=(0,J.useState)(!1),[g,_]=(0,J.useState)(null),[v,y]=(0,J.useState)(!1),b=(0,J.useCallback)(async(e=!1)=>{try{let t=await z.get(e?`/api/upgrade?refresh=1`:`/api/upgrade`);r(t.currentVersion),t.availableVersion?(a(t.availableVersion),h(!!sessionStorage.getItem(my+t.availableVersion))):a(null)}catch{}},[]);(0,J.useEffect)(()=>{b();let e=setInterval(()=>b(),py);return()=>clearInterval(e)},[b]),(0,J.useEffect)(()=>{o&&b(!0)},[o,b]);let x=n??t,S=_y(),C=S!==null,w=S||(x?vy(x):`9.9.9`),T=i&&x&&sy(i,x)>0?i:null;(0,J.useEffect)(()=>{!o||!x||(y(!0),fy().then(_).catch(()=>_([])).finally(()=>y(!1)))},[o,x]);let E=(0,J.useMemo)(()=>{if(!g||!x)return null;let e=uy(g);return e&&sy(e,x)>0?e:null},[g,x]),D=T??E??(C?w:null),O=!!D&&!m,k=(0,J.useMemo)(()=>{if(!g||!O||C||!x)return g;let e=g.filter(e=>sy(e.version,x)>0);return e.length>0?e:g},[g,O,C,x]),A=(0,J.useCallback)(()=>{l(!1),d(!0),p(!0),by()},[]),j=(0,J.useCallback)(async()=>{l(!0),s(!1);try{let e=await z.post(`/api/upgrade/apply`);e.restart?A():(B.info(e.message||`Upgrade installed. Restart PPM manually.`),l(!1),D&&sessionStorage.setItem(my+D,`1`),h(!0))}catch(e){xy(e)?A():/already on latest/i.test(e.message)?(B.info(`v${D} is announced but not published yet — try again shortly.`),l(!1)):(B.error(`Upgrade failed: ${e.message}`),l(!1))}},[D,A]),M=(0,J.useCallback)(()=>{D&&sessionStorage.setItem(my+D,`1`),h(!0),s(!1)},[D]);return!x&&!O?null:u?(0,Y.jsx)(`button`,{onClick:()=>{p(!0),by()},disabled:f,className:`flex items-center gap-1 px-1 rounded-sm text-success hover:brightness-110 transition-[filter] disabled:opacity-70`,title:f?`Applying update — reconnecting to the server…`:`Reload to apply the update`,children:f?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(L,{className:`size-3 animate-spin`}),` Updating, reconnecting…`]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(tt,{className:`size-3`}),` Reload`]})}):c?(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 px-1 text-success`,children:[(0,Y.jsx)(L,{className:`size-3 animate-spin`}),` Updating…`]}):(0,Y.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,Y.jsxs)(`button`,{onClick:()=>x&&s(e=>!e),title:O?`Update available: v${D}`:`PPM v${x} — release notes`,className:U(`flex items-center gap-1 px-1 rounded-sm transition-colors`,O?`text-success hover:brightness-110`:`hover:text-text`),children:[O&&(0,Y.jsx)(Lt,{className:`size-3`}),(0,Y.jsxs)(`span`,{children:[O&&(0,Y.jsx)(`span`,{className:`@max-3xl:hidden`,children:`New version · `}),`v`,O?D:x]})]}),o&&x&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>s(!1)}),(0,Y.jsxs)(`div`,{className:U(`absolute bottom-full mb-2 w-72 z-50 rounded-[var(--rad-sm)] border border-border popover-solid shadow-[var(--shadow-panel)] overflow-hidden font-sans`,e===`left`?`left-0`:`right-0`),children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2.5 px-3 py-3 border-b border-border-soft`,children:[(0,Y.jsx)(`span`,{className:U(`flex items-center justify-center size-[26px] shrink-0 rounded-lg`,O?`bg-success/20`:`bg-accent/15`),children:O?(0,Y.jsx)(Lt,{className:`size-[15px] text-success`}):(0,Y.jsx)(Ae,{className:`size-[15px] text-accent`})}),(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`div`,{className:`text-[13px] font-semibold text-text leading-tight`,children:O?`Update available`:`Release notes`}),(0,Y.jsx)(`div`,{className:`text-[11px] text-text-3 font-mono mt-0.5`,children:O?`v${x} → v${D}`:`PPM v${x}`})]})]}),(0,Y.jsx)(`div`,{className:`max-h-56 overflow-y-auto overflow-x-hidden px-3 py-2.5 text-[12px] text-text-2 leading-relaxed break-words`,children:v?(0,Y.jsxs)(`span`,{className:`flex items-center gap-2 text-text-3`,children:[(0,Y.jsx)(L,{className:`size-3.5 animate-spin`}),` Loading release notes…`]}):k&&k.length>0?(0,Y.jsx)(`div`,{className:`space-y-2.5`,children:k.map(e=>(0,Y.jsx)(wy,{version:e.version,body:e.body},e.version))}):(0,Y.jsx)(`span`,{className:`text-text-3`,children:O?`A new version of PPM is available. Open the release notes for details.`:`No release notes available right now.`})}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-3 pb-3`,children:[O&&(0,Y.jsxs)(`button`,{onClick:C&&!T?()=>{B.info(`Test mode — no real update to install`),s(!1)}:j,className:`flex items-center justify-center gap-1.5 w-full py-2 rounded-lg bg-success text-[12.5px] font-bold text-[#04130c] hover:brightness-105 transition-[filter]`,children:[(0,Y.jsx)(wn,{className:`size-3.5`}),` Update now`]}),(0,Y.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,Y.jsxs)(`a`,{href:hy,target:`_blank`,rel:`noopener noreferrer`,className:`flex-1 flex items-center justify-center gap-1.5 py-2 rounded-lg border border-border bg-panel text-xs font-medium text-text-2 hover:text-text transition-colors`,children:[(0,Y.jsx)(jt,{className:`size-3`}),` Release notes`]}),O&&(0,Y.jsx)(`button`,{onClick:M,className:`px-3 py-2 rounded-lg border border-border text-xs text-text-3 hover:text-text-2 transition-colors`,children:`Later`})]})]})]})]})]})}function Cy(e){return e.replace(/\*\*(.+?)\*\*/g,`$1`).replace(/`([^`]+)`/g,`$1`)}function wy({version:e,body:t}){let n=t.split(`
23
- `);return(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`text-[11px] font-mono font-semibold text-text mb-1`,children:[`v`,e]}),(0,Y.jsx)(`div`,{className:`space-y-1`,children:n.map((e,t)=>{let n=e.trim();return n?n.startsWith(`### `)?(0,Y.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wide text-text-3 pt-1`,children:n.slice(4)},t):n.startsWith(`- `)?(0,Y.jsxs)(`div`,{className:`flex gap-1.5 text-text-2`,children:[(0,Y.jsx)(`span`,{className:`text-text-3 shrink-0`,children:`•`}),(0,Y.jsx)(`span`,{className:`min-w-0 break-words`,children:Cy(n.slice(2))})]},t):(0,Y.jsx)(`div`,{className:`text-text-2 break-words`,children:Cy(n)},t):null})})]})}var Ty=Gn(e=>({active:!1,setActive:t=>e(e=>e.active===t?e:{active:t})})),Ey=`Screen awake`,Dy=`Screen is being kept on while this turn runs`,Oy=(0,J.memo)(function(){return Ty(e=>e.active)?(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 text-warning shrink-0`,title:Dy,children:[(0,Y.jsx)(wt,{className:`size-3 shrink-0`}),(0,Y.jsx)(`span`,{children:`awake`})]}):null}),ky=(0,J.memo)(function(){return Ty(e=>e.active)?(0,Y.jsxs)(`div`,{className:`md:hidden fixed left-1/2 -translate-x-1/2 top-0 z-50 flex items-center gap-1 px-2 py-0.5 rounded-b bg-warning/85 text-white text-[10px] font-medium pointer-events-none`,title:Dy,children:[(0,Y.jsx)(wt,{className:`size-3 shrink-0`}),(0,Y.jsx)(`span`,{children:Ey})]}):null});function Ay(e,t){return e?e.tabs.filter(e=>!e.projectId||!t||e.projectId===t).length:0}var jy=(0,J.memo)(function(){let e=Pc(e=>e.statusBarItems),t=e.filter(e=>e.alignment===`left`).sort((e,t)=>t.priority-e.priority),n=e.filter(e=>e.alignment===`right`).sort((e,t)=>t.priority-e.priority);return(0,Y.jsxs)(`div`,{className:`@container hidden md:flex items-center justify-between gap-3 h-[26px] px-3.5 bg-panel border-t border-border-soft text-[11px] font-mono text-text-3 select-none shrink-0`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0 overflow-hidden`,children:[(0,Y.jsx)(My,{}),(0,Y.jsx)(ry,{}),t.map(e=>(0,Y.jsx)(Py,{item:e},e.id)),(0,Y.jsx)(Ny,{})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,Y.jsx)(Oy,{}),(0,Y.jsx)(Xv,{compact:!0}),n.map(e=>(0,Y.jsx)(Py,{item:e},e.id)),(0,Y.jsx)(ay,{}),(0,Y.jsx)(Sy,{})]})]})}),My=(0,J.memo)(function(){let e=G(e=>e.activeProject?.name??null),t=jd(t=>e?t.meta.get(e):void 0);if(!t?.branch)return null;let{branch:n,ahead:r,behind:i,tracking:a}=t,o=!!a&&r===0&&i===0;return(0,Y.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0`,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 text-primary min-w-0`,title:a?`Tracking ${a}`:`No upstream`,children:[(0,Y.jsx)(Ke,{className:`size-3 shrink-0`}),(0,Y.jsx)(`span`,{className:`truncate max-w-[140px]`,children:n})]}),(r>0||i>0)&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-1.5 shrink-0 @max-xl:hidden`,children:[r>0&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,Y.jsx)(Mt,{className:`size-3`}),r]}),i>0&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,Y.jsx)(Et,{className:`size-3`}),i]})]}),o&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 text-success shrink-0 @max-xl:hidden`,children:[(0,Y.jsx)(An,{className:`size-3`}),`synced`]})]})}),Ny=(0,J.memo)(function(){let e=W(e=>e.dock.visible),t=Ay(W(e=>e.panels[ar]),G(e=>e.activeProject?.name??null));return(0,Y.jsxs)(`button`,{onClick:()=>W.getState().toggleDock(),title:e?`Hide panel`:`Show panel`,"aria-label":e?`Hide panel`:`Show panel`,className:U(`flex items-center gap-1 px-1 rounded-sm transition-colors hover:bg-accent/15`,e?`text-primary`:`text-text-subtle hover:text-text-primary`),children:[(0,Y.jsx)(Qe,{className:`size-[11px]`}),t>0&&(0,Y.jsx)(`span`,{children:t})]})}),Py=(0,J.memo)(function({item:e}){let t=(0,Y.jsx)(`button`,{className:`truncate px-1 rounded-sm transition-colors ${e.command?`hover:bg-accent/15 hover:text-text-primary cursor-pointer`:`cursor-default`}`,onClick:()=>{e.command&&window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e.command}}))},children:e.text});return e.tooltip?(0,Y.jsxs)(_a,{children:[(0,Y.jsx)(va,{asChild:!0,children:t}),(0,Y.jsx)(ya,{side:`top`,className:`text-xs`,children:e.tooltip})]}):t}),Fy=`relative flex-1 min-h-0 overflow-hidden rounded-b-[8px] bg-panel`;function Iy(e,t,n){let r=mi(e),[i]=(0,J.useState)(()=>{let e=document.createElement(`div`);return e.className=Fy,e});return(0,J.useLayoutEffect)(()=>{let n=t.current;if(n)return n.append(i),li(e,i),()=>{let t=ui(e);t&&wl()===t&&t.detach(),li(e,null),i.remove()}},[i,t,e]),(0,J.useLayoutEffect)(()=>{i.classList.toggle(`hidden`,n&&!r)},[i,n,r]),{body:i,pip:r}}function Ly({pip:e,minimized:t}){return(0,Y.jsxs)(`div`,{className:U(`relative flex-1 min-h-0 flex flex-col items-center justify-center gap-3`,`rounded-b-[8px] bg-panel text-center px-4`,t&&`hidden`),children:[(0,Y.jsx)(`span`,{className:`text-xs text-text-2`,children:`Playing in picture-in-picture`}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>e.detach(),className:`min-h-11 min-w-11 px-4 rounded-md border border-border bg-surface-elevated text-sm text-text can-hover:hover:bg-panel-2 transition-colors`,children:`Bring back`})]})}function Ry(e){let t=`mac-folder-${(0,J.useId)()}`;return(0,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Y.jsx)(`defs`,{children:(0,Y.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Y.jsx)(`stop`,{offset:`0`,stopColor:`#7FC1FF`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#3E92E5`})]})}),(0,Y.jsx)(`path`,{d:`M2.5 8a2 2 0 0 1 2-2h5.2l1.7 2H19.5a2 2 0 0 1 2 2v7.5a2 2 0 0 1-2 2h-15a2 2 0 0 1-2-2V8Z`,fill:`url(#${t})`}),(0,Y.jsx)(`path`,{d:`M2.5 10.5h19V9.8H4.7A2 2 0 0 0 2.5 10.5Z`,fill:`#FFFFFF`,fillOpacity:`.3`})]})}function zy(e){let t=`mac-folder-open-${(0,J.useId)()}`;return(0,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Y.jsx)(`defs`,{children:(0,Y.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Y.jsx)(`stop`,{offset:`0`,stopColor:`#8FCBFF`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#2F82D9`})]})}),(0,Y.jsx)(`path`,{d:`M2.5 8a2 2 0 0 1 2-2h5.2l1.7 2H19.5a2 2 0 0 1 2 2v.3H5.9a2 2 0 0 0-1.94 1.51L2.5 17.9V8Z`,fill:`#7FC1FF`}),(0,Y.jsx)(`path`,{d:`M2.13 18.36 3.98 11.1A2 2 0 0 1 5.92 9.6H21l-2.16 8a2 2 0 0 1-1.93 1.48H4.06a2 2 0 0 1-1.93-2.52Z`,fill:`url(#${t})`})]})}var By=`grid place-items-center size-6 rounded text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`;function Vy({id:e,className:t}){let n=mi(e);if(!rl())return null;let r=()=>{let t=ui(e);if(t){t.detach();return}let n=gi(e);if(!n){B.error(`This window has nothing to pop out yet`);return}let r=pr.getState().windows[e]?.rect;El(n,{width:r?.w??0,height:r?r.h-36:0,onDetach:()=>si(e,null)}).then(t=>{if(!(!t||wl()!==t)){if(gi(e)!==n){t.detach();return}si(e,t),nl(t.pipWindow.document)}}).catch(()=>{B.error(`Could not open the picture-in-picture window`)})},i=n?`Bring back from picture-in-picture`:`Open in picture-in-picture`;return(0,Y.jsx)(`button`,{type:`button`,title:i,"aria-label":i,"aria-pressed":!!n,className:U(t??By,n&&`text-primary`),onClick:r,children:(0,Y.jsx)(ke,{className:`size-3.5`})})}var Hy=[{color:`#FF5F57`,label:`Close window`,Icon:he},{color:`#FEBC2E`,label:`Minimize window`,Icon:ve},{color:`#28C840`,label:`Maximize window`,Icon:_n}];function Uy({id:e,title:t,focused:n,titlebarProps:r,onMinimize:i,onToggleMaximize:a,onClose:o}){let{className:s,style:c,...l}=r,u=[o,i,a];return(0,Y.jsxs)(`div`,{...l,"data-skin":`macos`,style:{height:36,fontFamily:`var(--x-font)`,...c},className:U(`group/titlebar relative flex items-center shrink-0 rounded-t-[var(--x-radius)] overflow-hidden`,`bg-[var(--x-titlebar-bg)] border-b border-border`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,s),children:[(0,Y.jsx)(`div`,{className:`flex items-center gap-2 pl-3`,children:Hy.map(({color:e,label:t,Icon:r},i)=>(0,Y.jsx)(`button`,{type:`button`,"aria-label":t,onClick:u[i],className:`grid size-3 place-items-center rounded-full`,style:{backgroundColor:n?e:`#8E8E93`},children:(0,Y.jsx)(r,{className:`size-2 text-black/60 can-hover:opacity-0 can-hover:group-hover/titlebar:opacity-100`,strokeWidth:3})},t))}),(0,Y.jsx)(`span`,{className:U(`pointer-events-none flex-1 min-w-0 truncate text-center text-[13px] px-2`,n?`text-text`:`text-text-2`),children:t}),(0,Y.jsx)(`div`,{className:`flex items-center pr-2`,children:(0,Y.jsx)(Vy,{id:e})})]})}var Wy={id:`macos`,vocab:{home:`Home`,pinned:`Favorites`,known:`Locations`,drives:`Devices`},FolderIcon:Ry,FolderOpenIcon:zy,chrome:Uy};function Gy(e){return(0,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Y.jsx)(`path`,{d:`M3 7.5a1.5 1.5 0 0 1 1.5-1.5H10l1.6 2H19.5A1.5 1.5 0 0 1 21 9.5v8A1.5 1.5 0 0 1 19.5 19h-15A1.5 1.5 0 0 1 3 17.5v-10Z`,fill:`#FFC93E`}),(0,Y.jsx)(`path`,{d:`M3 9.5h18v8A1.5 1.5 0 0 1 19.5 19h-15A1.5 1.5 0 0 1 3 17.5v-8Z`,fill:`#FFCE49`}),(0,Y.jsx)(`path`,{d:`M4 9.2h16`,stroke:`#FFFFFF`,strokeOpacity:`.35`,strokeWidth:`1`})]})}function Ky(e){return(0,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Y.jsx)(`path`,{d:`M3 7.5a1.5 1.5 0 0 1 1.5-1.5H10l1.6 2H19.5A1.5 1.5 0 0 1 21 9.5v.5H5.2a1.5 1.5 0 0 0-1.45 1.13L2 18.2V7.5Z`,fill:`#FFC93E`}),(0,Y.jsx)(`path`,{d:`M2.62 18.66 4.3 12.1A1.5 1.5 0 0 1 5.75 11H21l-1.86 6.63A1.5 1.5 0 0 1 17.7 18.7H4.06a1.5 1.5 0 0 1-1.44-1.9Z`,fill:`#FFB92E`})]})}var qy=`grid place-items-center w-[46px] self-stretch text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`,Jy=U(qy,`can-hover:hover:!bg-[#c42b1c] can-hover:hover:!text-white`);function Yy({id:e,kind:t,title:n,state:r,focused:i,titlebarProps:a,onMinimize:o,onToggleMaximize:s,onClose:c}){let{className:l,style:u,...d}=a;return(0,Y.jsxs)(`div`,{...d,"data-skin":`windows`,style:{height:36,fontFamily:`var(--x-font)`,...u},className:U(`flex items-stretch shrink-0 rounded-t-[var(--x-radius)] overflow-hidden`,`bg-[var(--x-titlebar-bg)] border-b border-border`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,l),children:[(0,Y.jsxs)(`div`,{className:`flex flex-1 min-w-0 items-center gap-2 px-2.5 cursor-default`,children:[t===`explorer`&&(0,Y.jsx)(Gy,{className:`size-4 shrink-0`}),(0,Y.jsx)(`span`,{className:U(`truncate text-[12px]`,i?`text-text`:`text-text-2`),children:n})]}),(0,Y.jsx)(Vy,{id:e,className:qy}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":`Minimize window`,className:qy,onClick:o,children:(0,Y.jsx)(ve,{className:`size-3.5`})}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":r===`maximized`?`Restore window`:`Maximize window`,className:qy,onClick:s,children:r===`maximized`?(0,Y.jsx)(un,{className:`size-3`}):(0,Y.jsx)(on,{className:`size-3`})}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":`Close window`,className:Jy,onClick:c,children:(0,Y.jsx)(he,{className:`size-3.5`})})]})}var Xy={id:`windows`,vocab:{home:`Home`,pinned:`Quick access`,known:`Folders`,drives:`Drives`},FolderIcon:Gy,FolderOpenIcon:Ky,chrome:Yy};function Zy(){let e=V(e=>e.explorerSkin),{host:t}=Hf();return e===`windows`?Xy:e===`macos`?Wy:t?.platform===`win32`?Xy:Wy}function Qy(e){let t=Zy().chrome;return(0,Y.jsx)(t,{...e})}function $y(e,t,n){return Math.max(t,Math.min(e,n))}var eb={toVector(e,t){return e===void 0&&(e=t),Array.isArray(e)?e:[e,e]},add(e,t){return[e[0]+t[0],e[1]+t[1]]},sub(e,t){return[e[0]-t[0],e[1]-t[1]]},addTo(e,t){e[0]+=t[0],e[1]+=t[1]},subTo(e,t){e[0]-=t[0],e[1]-=t[1]}};function tb(e,t,n){return t===0||Math.abs(t)===1/0?e**(n*5):e*t*n/(t+n*e)}function nb(e,t,n,r=.15){return r===0?$y(e,t,n):e<t?-tb(t-e,n-t,r)+t:e>n?+tb(e-n,n-t,r)+n:e}function rb(e,[t,n],[r,i]){let[[a,o],[s,c]]=e;return[nb(t,a,o,r),nb(n,s,c,i)]}function ib(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ab(e){var t=ib(e,`string`);return typeof t==`symbol`?t:String(t)}function ob(e,t,n){return t=ab(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cb(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?sb(Object(n),!0).forEach(function(t){ob(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sb(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var lb={pointer:{start:`down`,change:`move`,end:`up`},mouse:{start:`down`,change:`move`,end:`up`},touch:{start:`start`,change:`move`,end:`end`},gesture:{start:`start`,change:`change`,end:`end`}};function ub(e){return e?e[0].toUpperCase()+e.slice(1):``}var db=[`enter`,`leave`];function fb(e=!1,t){return e&&!db.includes(t)}function pb(e,t=``,n=!1){let r=lb[e],i=r&&r[t]||t;return`on`+ub(e)+ub(i)+(fb(n,i)?`Capture`:``)}var mb=[`gotpointercapture`,`lostpointercapture`];function hb(e){let t=e.substring(2).toLowerCase(),n=!!~t.indexOf(`passive`);n&&(t=t.replace(`passive`,``));let r=mb.includes(t)?`capturecapture`:`capture`,i=!!~t.indexOf(r);return i&&(t=t.replace(`capture`,``)),{device:t,capture:i,passive:n}}function gb(e,t=``){let n=lb[e];return e+(n&&n[t]||t)}function _b(e){return`touches`in e}function vb(e){return _b(e)?`touch`:`pointerType`in e?e.pointerType:`mouse`}function yb(e){return Array.from(e.touches).filter(t=>{var n,r;return t.target===e.currentTarget||((n=e.currentTarget)==null||(r=n.contains)==null?void 0:r.call(n,t.target))})}function bb(e){return e.type===`touchend`||e.type===`touchcancel`?e.changedTouches:e.targetTouches}function xb(e){return _b(e)?bb(e)[0]:e}function Sb(e,t){try{let n=t.clientX-e.clientX,r=t.clientY-e.clientY,i=(t.clientX+e.clientX)/2,a=(t.clientY+e.clientY)/2,o=Math.hypot(n,r);return{angle:-(Math.atan2(n,r)*180)/Math.PI,distance:o,origin:[i,a]}}catch{}return null}function Cb(e){return yb(e).map(e=>e.identifier)}function wb(e,t){let[n,r]=Array.from(e.touches).filter(e=>t.includes(e.identifier));return Sb(n,r)}function Tb(e){let t=xb(e);return _b(e)?t.identifier:t.pointerId}function Eb(e){let t=xb(e);return[t.clientX,t.clientY]}var Db=40,Ob=800;function kb(e){let{deltaX:t,deltaY:n,deltaMode:r}=e;return r===1?(t*=Db,n*=Db):r===2&&(t*=Ob,n*=Ob),[t,n]}function Ab(e){let{scrollX:t,scrollY:n,scrollLeft:r,scrollTop:i}=e.currentTarget;return[t??r??0,n??i??0]}function jb(e){let t={};if(`buttons`in e&&(t.buttons=e.buttons),`shiftKey`in e){let{shiftKey:n,altKey:r,metaKey:i,ctrlKey:a}=e;Object.assign(t,{shiftKey:n,altKey:r,metaKey:i,ctrlKey:a})}return t}function Mb(e,...t){return typeof e==`function`?e(...t):e}function Nb(){}function Pb(...e){return e.length===0?Nb:e.length===1?e[0]:function(){let t;for(let n of e)t=n.apply(this,arguments)||t;return t}}function Fb(e,t){return Object.assign({},t,e||{})}var Ib=32,Lb=class{constructor(e,t,n){this.ctrl=e,this.args=t,this.key=n,this.state||(this.state={},this.computeValues([0,0]),this.computeInitial(),this.init&&this.init(),this.reset())}get state(){return this.ctrl.state[this.key]}set state(e){this.ctrl.state[this.key]=e}get shared(){return this.ctrl.state.shared}get eventStore(){return this.ctrl.gestureEventStores[this.key]}get timeoutStore(){return this.ctrl.gestureTimeoutStores[this.key]}get config(){return this.ctrl.config[this.key]}get sharedConfig(){return this.ctrl.config.shared}get handler(){return this.ctrl.handlers[this.key]}reset(){let{state:e,shared:t,ingKey:n,args:r}=this;t[n]=e._active=e.active=e._blocked=e._force=!1,e._step=[!1,!1],e.intentional=!1,e._movement=[0,0],e._distance=[0,0],e._direction=[0,0],e._delta=[0,0],e._bounds=[[-1/0,1/0],[-1/0,1/0]],e.args=r,e.axis=void 0,e.memo=void 0,e.elapsedTime=e.timeDelta=0,e.direction=[0,0],e.distance=[0,0],e.overflow=[0,0],e._movementBound=[!1,!1],e.velocity=[0,0],e.movement=[0,0],e.delta=[0,0],e.timeStamp=0}start(e){let t=this.state,n=this.config;t._active||(this.reset(),this.computeInitial(),t._active=!0,t.target=e.target,t.currentTarget=e.currentTarget,t.lastOffset=n.from?Mb(n.from,t):t.offset,t.offset=t.lastOffset,t.startTime=t.timeStamp=e.timeStamp)}computeValues(e){let t=this.state;t._values=e,t.values=this.config.transform(e)}computeInitial(){let e=this.state;e._initial=e._values,e.initial=e.values}compute(e){let{state:t,config:n,shared:r}=this;t.args=this.args;let i=0;if(e&&(t.event=e,n.preventDefault&&e.cancelable&&t.event.preventDefault(),t.type=e.type,r.touches=this.ctrl.pointerIds.size||this.ctrl.touchIds.size,r.locked=!!document.pointerLockElement,Object.assign(r,jb(e)),r.down=r.pressed=r.buttons%2==1||r.touches>0,i=e.timeStamp-t.timeStamp,t.timeStamp=e.timeStamp,t.elapsedTime=t.timeStamp-t.startTime),t._active){let e=t._delta.map(Math.abs);eb.addTo(t._distance,e)}this.axisIntent&&this.axisIntent(e);let[a,o]=t._movement,[s,c]=n.threshold,{_step:l,values:u}=t;if(n.hasCustomTransform?(l[0]===!1&&(l[0]=Math.abs(a)>=s&&u[0]),l[1]===!1&&(l[1]=Math.abs(o)>=c&&u[1])):(l[0]===!1&&(l[0]=Math.abs(a)>=s&&Math.sign(a)*s),l[1]===!1&&(l[1]=Math.abs(o)>=c&&Math.sign(o)*c)),t.intentional=l[0]!==!1||l[1]!==!1,!t.intentional)return;let d=[0,0];if(n.hasCustomTransform){let[e,t]=u;d[0]=l[0]===!1?0:e-l[0],d[1]=l[1]===!1?0:t-l[1]}else d[0]=l[0]===!1?0:a-l[0],d[1]=l[1]===!1?0:o-l[1];this.restrictToAxis&&!t._blocked&&this.restrictToAxis(d);let f=t.offset,p=t._active&&!t._blocked||t.active;p&&(t.first=t._active&&!t.active,t.last=!t._active&&t.active,t.active=r[this.ingKey]=t._active,e&&(t.first&&(`bounds`in n&&(t._bounds=Mb(n.bounds,t)),this.setup&&this.setup()),t.movement=d,this.computeOffset()));let[m,h]=t.offset,[[g,_],[v,y]]=t._bounds;t.overflow=[m<g?-1:m>_?1:0,h<v?-1:h>y?1:0],t._movementBound[0]=t.overflow[0]?t._movementBound[0]===!1?t._movement[0]:t._movementBound[0]:!1,t._movementBound[1]=t.overflow[1]?t._movementBound[1]===!1?t._movement[1]:t._movementBound[1]:!1;let b=t._active&&n.rubberband||[0,0];if(t.offset=rb(t._bounds,t.offset,b),t.delta=eb.sub(t.offset,f),this.computeMovement(),p&&(!t.last||i>Ib)){t.delta=eb.sub(t.offset,f);let e=t.delta.map(Math.abs);eb.addTo(t.distance,e),t.direction=t.delta.map(Math.sign),t._direction=t._delta.map(Math.sign),!t.first&&i>0&&(t.velocity=[e[0]/i,e[1]/i],t.timeDelta=i)}}emit(){let e=this.state,t=this.shared,n=this.config;if(e._active||this.clean(),(e._blocked||!e.intentional)&&!e._force&&!n.triggerAllEvents)return;let r=this.handler(cb(cb(cb({},t),e),{},{[this.aliasKey]:e.values}));r!==void 0&&(e.memo=r)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}};function Rb([e,t],n){let r=Math.abs(e),i=Math.abs(t);if(r>i&&r>n)return`x`;if(i>r&&i>n)return`y`}var zb=class extends Lb{constructor(...e){super(...e),ob(this,`aliasKey`,`xy`)}reset(){super.reset(),this.state.axis=void 0}init(){this.state.offset=[0,0],this.state.lastOffset=[0,0]}computeOffset(){this.state.offset=eb.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=eb.sub(this.state.offset,this.state.lastOffset)}axisIntent(e){let t=this.state,n=this.config;if(!t.axis&&e){let r=typeof n.axisThreshold==`object`?n.axisThreshold[vb(e)]:n.axisThreshold;t.axis=Rb(t._movement,r)}t._blocked=(n.lockDirection||!!n.axis)&&!t.axis||!!n.axis&&n.axis!==t.axis}restrictToAxis(e){if(this.config.axis||this.config.lockDirection)switch(this.state.axis){case`x`:e[1]=0;break;case`y`:e[0]=0;break}}},Bb=e=>e,Vb=.15,Hb={enabled(e=!0){return e},eventOptions(e,t,n){return cb(cb({},n.shared.eventOptions),e)},preventDefault(e=!1){return e},triggerAllEvents(e=!1){return e},rubberband(e=0){switch(e){case!0:return[Vb,Vb];case!1:return[0,0];default:return eb.toVector(e)}},from(e){if(typeof e==`function`)return e;if(e!=null)return eb.toVector(e)},transform(e,t,n){let r=e||n.shared.transform;return this.hasCustomTransform=!!r,r||Bb},threshold(e){return eb.toVector(e,0)}},Ub=0,Wb=cb(cb({},Hb),{},{axis(e,t,{axis:n}){if(this.lockDirection=n===`lock`,!this.lockDirection)return n},axisThreshold(e=Ub){return e},bounds(e={}){if(typeof e==`function`)return t=>Wb.bounds(e(t));if(`current`in e)return()=>e.current;if(typeof HTMLElement==`function`&&e instanceof HTMLElement)return e;let{left:t=-1/0,right:n=1/0,top:r=-1/0,bottom:i=1/0}=e;return[[t,n],[r,i]]}}),Gb={ArrowRight:(e,t=1)=>[e*t,0],ArrowLeft:(e,t=1)=>[-1*e*t,0],ArrowUp:(e,t=1)=>[0,-1*e*t],ArrowDown:(e,t=1)=>[0,e*t]},Kb=class extends zb{constructor(...e){super(...e),ob(this,`ingKey`,`dragging`)}reset(){super.reset();let e=this.state;e._pointerId=void 0,e._pointerActive=!1,e._keyboardActive=!1,e._preventScroll=!1,e._delayed=!1,e.swipe=[0,0],e.tap=!1,e.canceled=!1,e.cancel=this.cancel.bind(this)}setup(){let e=this.state;if(e._bounds instanceof HTMLElement){let t=e._bounds.getBoundingClientRect(),n=e.currentTarget.getBoundingClientRect(),r={left:t.left-n.left+e.offset[0],right:t.right-n.right+e.offset[0],top:t.top-n.top+e.offset[1],bottom:t.bottom-n.bottom+e.offset[1]};e._bounds=Wb.bounds(r)}}cancel(){let e=this.state;e.canceled||(e.canceled=!0,e._active=!1,setTimeout(()=>{this.compute(),this.emit()},0))}setActive(){this.state._active=this.state._pointerActive||this.state._keyboardActive}clean(){this.pointerClean(),this.state._pointerActive=!1,this.state._keyboardActive=!1,super.clean()}pointerDown(e){let t=this.config,n=this.state;if(e.buttons!=null&&(Array.isArray(t.pointerButtons)?!t.pointerButtons.includes(e.buttons):t.pointerButtons!==-1&&t.pointerButtons!==e.buttons))return;let r=this.ctrl.setEventIds(e);t.pointerCapture&&e.target.setPointerCapture(e.pointerId),!(r&&r.size>1&&n._pointerActive)&&(this.start(e),this.setupPointer(e),n._pointerId=Tb(e),n._pointerActive=!0,this.computeValues(Eb(e)),this.computeInitial(),t.preventScrollAxis&&vb(e)!==`mouse`?(n._active=!1,this.setupScrollPrevention(e)):t.delay>0?(this.setupDelayTrigger(e),t.triggerAllEvents&&(this.compute(e),this.emit())):this.startPointerDrag(e))}startPointerDrag(e){let t=this.state;t._active=!0,t._preventScroll=!0,t._delayed=!1,this.compute(e),this.emit()}pointerMove(e){let t=this.state,n=this.config;if(!t._pointerActive)return;let r=Tb(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;let i=Eb(e);if(document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=eb.sub(i,t._values),this.computeValues(i)),eb.addTo(t._movement,t._delta),this.compute(e),t._delayed&&t.intentional){this.timeoutStore.remove(`dragDelay`),t.active=!1,this.startPointerDrag(e);return}if(n.preventScrollAxis&&!t._preventScroll)if(t.axis)if(t.axis===n.preventScrollAxis||n.preventScrollAxis===`xy`){t._active=!1,this.clean();return}else{this.timeoutStore.remove(`startPointerDrag`),this.startPointerDrag(e);return}else return;this.emit()}pointerUp(e){this.ctrl.setEventIds(e);try{this.config.pointerCapture&&e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId)}catch{}let t=this.state,n=this.config;if(!t._active||!t._pointerActive)return;let r=Tb(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;this.state._pointerActive=!1,this.setActive(),this.compute(e);let[i,a]=t._distance;if(t.tap=i<=n.tapsThreshold&&a<=n.tapsThreshold,t.tap&&n.filterTaps)t._force=!0;else{let[e,r]=t._delta,[i,a]=t._movement,[o,s]=n.swipe.velocity,[c,l]=n.swipe.distance,u=n.swipe.duration;if(t.elapsedTime<u){let n=Math.abs(e/t.timeDelta),u=Math.abs(r/t.timeDelta);n>o&&Math.abs(i)>c&&(t.swipe[0]=Math.sign(e)),u>s&&Math.abs(a)>l&&(t.swipe[1]=Math.sign(r))}}this.emit()}pointerClick(e){!this.state.tap&&e.detail>0&&(e.preventDefault(),e.stopPropagation())}setupPointer(e){let t=this.config,n=t.device;t.pointerLock&&e.currentTarget.requestPointerLock(),t.pointerCapture||(this.eventStore.add(this.sharedConfig.window,n,`change`,this.pointerMove.bind(this)),this.eventStore.add(this.sharedConfig.window,n,`end`,this.pointerUp.bind(this)),this.eventStore.add(this.sharedConfig.window,n,`cancel`,this.pointerUp.bind(this)))}pointerClean(){this.config.pointerLock&&document.pointerLockElement===this.state.currentTarget&&document.exitPointerLock()}preventScroll(e){this.state._preventScroll&&e.cancelable&&e.preventDefault()}setupScrollPrevention(e){this.state._preventScroll=!1,qb(e);let t=this.eventStore.add(this.sharedConfig.window,`touch`,`change`,this.preventScroll.bind(this),{passive:!1});this.eventStore.add(this.sharedConfig.window,`touch`,`end`,t),this.eventStore.add(this.sharedConfig.window,`touch`,`cancel`,t),this.timeoutStore.add(`startPointerDrag`,this.startPointerDrag.bind(this),this.config.preventScrollDelay,e)}setupDelayTrigger(e){this.state._delayed=!0,this.timeoutStore.add(`dragDelay`,()=>{this.state._step=[0,0],this.startPointerDrag(e)},this.config.delay)}keyDown(e){let t=Gb[e.key];if(t){let n=this.state,r=e.shiftKey?10:e.altKey?.1:1;this.start(e),n._delta=t(this.config.keyboardDisplacement,r),n._keyboardActive=!0,eb.addTo(n._movement,n._delta),this.compute(e),this.emit()}}keyUp(e){e.key in Gb&&(this.state._keyboardActive=!1,this.setActive(),this.compute(e),this.emit())}bind(e){let t=this.config.device;e(t,`start`,this.pointerDown.bind(this)),this.config.pointerCapture&&(e(t,`change`,this.pointerMove.bind(this)),e(t,`end`,this.pointerUp.bind(this)),e(t,`cancel`,this.pointerUp.bind(this)),e(`lostPointerCapture`,``,this.pointerUp.bind(this))),this.config.keys&&(e(`key`,`down`,this.keyDown.bind(this)),e(`key`,`up`,this.keyUp.bind(this))),this.config.filterTaps&&e(`click`,``,this.pointerClick.bind(this),{capture:!0,passive:!1})}};function qb(e){`persist`in e&&typeof e.persist==`function`&&e.persist()}var Jb=typeof window<`u`&&window.document&&window.document.createElement;function Yb(){return Jb&&`ontouchstart`in window}function Xb(){return Yb()||Jb&&window.navigator.maxTouchPoints>1}function Zb(){return Jb&&`onpointerdown`in window}function Qb(){return Jb&&`exitPointerLock`in window.document}function $b(){try{return`constructor`in GestureEvent}catch{return!1}}var ex={isBrowser:Jb,gesture:$b(),touch:Yb(),touchscreen:Xb(),pointer:Zb(),pointerLock:Qb()},tx=250,nx=180,rx=.5,ix=50,ax=250,ox=10,sx={mouse:0,touch:0,pen:8},cx=cb(cb({},Wb),{},{device(e,t,{pointer:{touch:n=!1,lock:r=!1,mouse:i=!1}={}}){return this.pointerLock=r&&ex.pointerLock,ex.touch&&n?`touch`:this.pointerLock?`mouse`:ex.pointer&&!i?`pointer`:ex.touch?`touch`:`mouse`},preventScrollAxis(e,t,{preventScroll:n}){if(this.preventScrollDelay=typeof n==`number`?n:n||n===void 0&&e?tx:void 0,!(!ex.touchscreen||n===!1))return e||(n===void 0?void 0:`y`)},pointerCapture(e,t,{pointer:{capture:n=!0,buttons:r=1,keys:i=!0}={}}){return this.pointerButtons=r,this.keys=i,!this.pointerLock&&this.device===`pointer`&&n},threshold(e,t,{filterTaps:n=!1,tapsThreshold:r=3,axis:i=void 0}){let a=eb.toVector(e,n?r:i?1:0);return this.filterTaps=n,this.tapsThreshold=r,a},swipe({velocity:e=rx,distance:t=ix,duration:n=ax}={}){return{velocity:this.transform(eb.toVector(e)),distance:this.transform(eb.toVector(t)),duration:n}},delay(e=0){switch(e){case!0:return nx;case!1:return 0;default:return e}},axisThreshold(e){return e?cb(cb({},sx),e):sx},keyboardDisplacement(e=ox){return e}});function lx(e){let[t,n]=e.overflow,[r,i]=e._delta,[a,o]=e._direction;(t<0&&r>0&&a<0||t>0&&r<0&&a>0)&&(e._movement[0]=e._movementBound[0]),(n<0&&i>0&&o<0||n>0&&i<0&&o>0)&&(e._movement[1]=e._movementBound[1])}var ux=30,dx=100,fx=class extends Lb{constructor(...e){super(...e),ob(this,`ingKey`,`pinching`),ob(this,`aliasKey`,`da`)}init(){this.state.offset=[1,0],this.state.lastOffset=[1,0],this.state._pointerEvents=new Map}reset(){super.reset();let e=this.state;e._touchIds=[],e.canceled=!1,e.cancel=this.cancel.bind(this),e.turns=0}computeOffset(){let{type:e,movement:t,lastOffset:n}=this.state;e===`wheel`?this.state.offset=eb.add(t,n):this.state.offset=[(1+t[0])*n[0],t[1]+n[1]]}computeMovement(){let{offset:e,lastOffset:t}=this.state;this.state.movement=[e[0]/t[0],e[1]-t[1]]}axisIntent(){let e=this.state,[t,n]=e._movement;if(!e.axis){let r=Math.abs(t)*ux-Math.abs(n);r<0?e.axis=`angle`:r>0&&(e.axis=`scale`)}}restrictToAxis(e){this.config.lockDirection&&(this.state.axis===`scale`?e[1]=0:this.state.axis===`angle`&&(e[0]=0))}cancel(){let e=this.state;e.canceled||setTimeout(()=>{e.canceled=!0,e._active=!1,this.compute(),this.emit()},0)}touchStart(e){this.ctrl.setEventIds(e);let t=this.state,n=this.ctrl.touchIds;if(t._active&&t._touchIds.every(e=>n.has(e))||n.size<2)return;this.start(e),t._touchIds=Array.from(n).slice(0,2);let r=wb(e,t._touchIds);r&&this.pinchStart(e,r)}pointerStart(e){if(e.buttons!=null&&e.buttons%2!=1)return;this.ctrl.setEventIds(e),e.target.setPointerCapture(e.pointerId);let t=this.state,n=t._pointerEvents,r=this.ctrl.pointerIds;if(t._active&&Array.from(n.keys()).every(e=>r.has(e))||(n.size<2&&n.set(e.pointerId,e),t._pointerEvents.size<2))return;this.start(e);let i=Sb(...Array.from(n.values()));i&&this.pinchStart(e,i)}pinchStart(e,t){let n=this.state;n.origin=t.origin,this.computeValues([t.distance,t.angle]),this.computeInitial(),this.compute(e),this.emit()}touchMove(e){if(!this.state._active)return;let t=wb(e,this.state._touchIds);t&&this.pinchMove(e,t)}pointerMove(e){let t=this.state._pointerEvents;if(t.has(e.pointerId)&&t.set(e.pointerId,e),!this.state._active)return;let n=Sb(...Array.from(t.values()));n&&this.pinchMove(e,n)}pinchMove(e,t){let n=this.state,r=n._values[1],i=t.angle-r,a=0;Math.abs(i)>270&&(a+=Math.sign(i)),this.computeValues([t.distance,t.angle-360*a]),n.origin=t.origin,n.turns=a,n._movement=[n._values[0]/n._initial[0]-1,n._values[1]-n._initial[1]],this.compute(e),this.emit()}touchEnd(e){this.ctrl.setEventIds(e),this.state._active&&this.state._touchIds.some(e=>!this.ctrl.touchIds.has(e))&&(this.state._active=!1,this.compute(e),this.emit())}pointerEnd(e){let t=this.state;this.ctrl.setEventIds(e);try{e.target.releasePointerCapture(e.pointerId)}catch{}t._pointerEvents.has(e.pointerId)&&t._pointerEvents.delete(e.pointerId),t._active&&t._pointerEvents.size<2&&(t._active=!1,this.compute(e),this.emit())}gestureStart(e){e.cancelable&&e.preventDefault();let t=this.state;t._active||(this.start(e),this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY],this.compute(e),this.emit())}gestureMove(e){if(e.cancelable&&e.preventDefault(),!this.state._active)return;let t=this.state;this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY];let n=t._movement;t._movement=[e.scale-1,e.rotation],t._delta=eb.sub(t._movement,n),this.compute(e),this.emit()}gestureEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}wheel(e){let t=this.config.modifierKey;t&&(Array.isArray(t)?!t.find(t=>e[t]):!e[t])||(this.state._active?this.wheelChange(e):this.wheelStart(e),this.timeoutStore.add(`wheelEnd`,this.wheelEnd.bind(this)))}wheelStart(e){this.start(e),this.wheelChange(e)}wheelChange(e){`uv`in e||e.cancelable&&e.preventDefault();let t=this.state;t._delta=[-kb(e)[1]/dx*t.offset[0],0],eb.addTo(t._movement,t._delta),lx(t),this.state.origin=[e.clientX,e.clientY],this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){let t=this.config.device;t&&(e(t,`start`,this[t+`Start`].bind(this)),e(t,`change`,this[t+`Move`].bind(this)),e(t,`end`,this[t+`End`].bind(this)),e(t,`cancel`,this[t+`End`].bind(this)),e(`lostPointerCapture`,``,this[t+`End`].bind(this))),this.config.pinchOnWheel&&e(`wheel`,``,this.wheel.bind(this),{passive:!1})}},px=cb(cb({},Hb),{},{device(e,t,{shared:n,pointer:{touch:r=!1}={}}){if(n.target&&!ex.touch&&ex.gesture)return`gesture`;if(ex.touch&&r)return`touch`;if(ex.touchscreen){if(ex.pointer)return`pointer`;if(ex.touch)return`touch`}},bounds(e,t,{scaleBounds:n={},angleBounds:r={}}){let i=e=>{let t=Fb(Mb(n,e),{min:-1/0,max:1/0});return[t.min,t.max]},a=e=>{let t=Fb(Mb(r,e),{min:-1/0,max:1/0});return[t.min,t.max]};return typeof n!=`function`&&typeof r!=`function`?[i(),a()]:e=>[i(e),a(e)]},threshold(e,t,n){return this.lockDirection=n.axis===`lock`,eb.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey(e){return e===void 0?`ctrlKey`:e},pinchOnWheel(e=!0){return e}}),mx=class extends zb{constructor(...e){super(...e),ob(this,`ingKey`,`moving`)}move(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.state._active?this.moveChange(e):this.moveStart(e),this.timeoutStore.add(`moveEnd`,this.moveEnd.bind(this)))}moveStart(e){this.start(e),this.computeValues(Eb(e)),this.compute(e),this.computeInitial(),this.emit()}moveChange(e){if(!this.state._active)return;let t=Eb(e),n=this.state;n._delta=eb.sub(t,n._values),eb.addTo(n._movement,n._delta),this.computeValues(t),this.compute(e),this.emit()}moveEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}bind(e){e(`pointer`,`change`,this.move.bind(this)),e(`pointer`,`leave`,this.moveEnd.bind(this))}},hx=cb(cb({},Wb),{},{mouseOnly:(e=!0)=>e}),gx=class extends zb{constructor(...e){super(...e),ob(this,`ingKey`,`scrolling`)}scroll(e){this.state._active||this.start(e),this.scrollChange(e),this.timeoutStore.add(`scrollEnd`,this.scrollEnd.bind(this))}scrollChange(e){e.cancelable&&e.preventDefault();let t=this.state,n=Ab(e);t._delta=eb.sub(n,t._values),eb.addTo(t._movement,t._delta),this.computeValues(n),this.compute(e),this.emit()}scrollEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(`scroll`,``,this.scroll.bind(this))}},_x=Wb,vx=class extends zb{constructor(...e){super(...e),ob(this,`ingKey`,`wheeling`)}wheel(e){this.state._active||this.start(e),this.wheelChange(e),this.timeoutStore.add(`wheelEnd`,this.wheelEnd.bind(this))}wheelChange(e){let t=this.state;t._delta=kb(e),eb.addTo(t._movement,t._delta),lx(t),this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(`wheel`,``,this.wheel.bind(this))}},yx=Wb,bx=class extends zb{constructor(...e){super(...e),ob(this,`ingKey`,`hovering`)}enter(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.start(e),this.computeValues(Eb(e)),this.compute(e),this.emit())}leave(e){if(this.config.mouseOnly&&e.pointerType!==`mouse`)return;let t=this.state;if(!t._active)return;t._active=!1;let n=Eb(e);t._movement=t._delta=eb.sub(n,t._values),this.computeValues(n),this.compute(e),t.delta=t.movement,this.emit()}bind(e){e(`pointer`,`enter`,this.enter.bind(this)),e(`pointer`,`leave`,this.leave.bind(this))}},xx=cb(cb({},Wb),{},{mouseOnly:(e=!0)=>e}),Sx=new Map,Cx=new Map;function wx(e){Sx.set(e.key,e.engine),Cx.set(e.key,e.resolver)}var Tx={key:`drag`,engine:Kb,resolver:cx},Ex={key:`hover`,engine:bx,resolver:xx},Dx={key:`move`,engine:mx,resolver:hx},Ox={key:`pinch`,engine:fx,resolver:px},kx={key:`scroll`,engine:gx,resolver:_x},Ax={key:`wheel`,engine:vx,resolver:yx};function jx(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function Mx(e,t){if(e==null)return{};var n=jx(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var Nx={target(e){if(e)return()=>`current`in e?e.current:e},enabled(e=!0){return e},window(e=ex.isBrowser?window:void 0){return e},eventOptions({passive:e=!0,capture:t=!1}={}){return{passive:e,capture:t}},transform(e){return e}},Px=[`target`,`eventOptions`,`window`,`enabled`,`transform`];function Fx(e={},t){let n={};for(let[r,i]of Object.entries(t))switch(typeof i){case`function`:n[r]=i.call(n,e[r],r,e);break;case`object`:n[r]=Fx(e[r],i);break;case`boolean`:i&&(n[r]=e[r]);break}return n}function Ix(e,t,n={}){let r=e,{target:i,eventOptions:a,window:o,enabled:s,transform:c}=r,l=Mx(r,Px);if(n.shared=Fx({target:i,eventOptions:a,window:o,enabled:s,transform:c},Nx),t){let e=Cx.get(t);n[t]=Fx(cb({shared:n.shared},l),e)}else for(let e in l){let t=Cx.get(e);t&&(n[e]=Fx(cb({shared:n.shared},l[e]),t))}return n}var Lx=class{constructor(e,t){ob(this,`_listeners`,new Set),this._ctrl=e,this._gestureKey=t}add(e,t,n,r,i){let a=this._listeners,o=gb(t,n),s=cb(cb({},this._gestureKey?this._ctrl.config[this._gestureKey].eventOptions:{}),i);e.addEventListener(o,r,s);let c=()=>{e.removeEventListener(o,r,s),a.delete(c)};return a.add(c),c}clean(){this._listeners.forEach(e=>e()),this._listeners.clear()}},Rx=class{constructor(){ob(this,`_timeouts`,new Map)}add(e,t,n=140,...r){this.remove(e),this._timeouts.set(e,window.setTimeout(t,n,...r))}remove(e){let t=this._timeouts.get(e);t&&window.clearTimeout(t)}clean(){this._timeouts.forEach(e=>void window.clearTimeout(e)),this._timeouts.clear()}},zx=class{constructor(e){ob(this,`gestures`,new Set),ob(this,`_targetEventStore`,new Lx(this)),ob(this,`gestureEventStores`,{}),ob(this,`gestureTimeoutStores`,{}),ob(this,`handlers`,{}),ob(this,`config`,{}),ob(this,`pointerIds`,new Set),ob(this,`touchIds`,new Set),ob(this,`state`,{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),Vx(this,e)}setEventIds(e){if(_b(e))return this.touchIds=new Set(Cb(e)),this.touchIds;if(`pointerId`in e)return e.type===`pointerup`||e.type===`pointercancel`?this.pointerIds.delete(e.pointerId):e.type===`pointerdown`&&this.pointerIds.add(e.pointerId),this.pointerIds}applyHandlers(e,t){this.handlers=e,this.nativeHandlers=t}applyConfig(e,t){this.config=Ix(e,t,this.config)}clean(){this._targetEventStore.clean();for(let e of this.gestures)this.gestureEventStores[e].clean(),this.gestureTimeoutStores[e].clean()}effect(){return this.config.shared.target&&this.bind(),()=>this._targetEventStore.clean()}bind(...e){let t=this.config.shared,n={},r;if(!(t.target&&(r=t.target(),!r))){if(t.enabled){for(let t of this.gestures){let i=this.config[t],a=Hx(n,i.eventOptions,!!r);i.enabled&&new(Sx.get(t))(this,e,t).bind(a)}let i=Hx(n,t.eventOptions,!!r);for(let t in this.nativeHandlers)i(t,``,n=>this.nativeHandlers[t](cb(cb({},this.state.shared),{},{event:n,args:e})),void 0,!0)}for(let e in n)n[e]=Pb(...n[e]);if(!r)return n;for(let e in n){let{device:t,capture:i,passive:a}=hb(e);this._targetEventStore.add(r,t,``,n[e],{capture:i,passive:a})}}}};function Bx(e,t){e.gestures.add(t),e.gestureEventStores[t]=new Lx(e,t),e.gestureTimeoutStores[t]=new Rx}function Vx(e,t){t.drag&&Bx(e,`drag`),t.wheel&&Bx(e,`wheel`),t.scroll&&Bx(e,`scroll`),t.move&&Bx(e,`move`),t.pinch&&Bx(e,`pinch`),t.hover&&Bx(e,`hover`)}var Hx=(e,t,n)=>(r,i,a,o={},s=!1)=>{let c=o.capture??t.capture,l=o.passive??t.passive,u=s?r:pb(r,i,c);n&&l&&(u+=`Passive`),e[u]=e[u]||[],e[u].push(a)},Ux=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function Wx(e){let t={},n={},r=new Set;for(let i in e)Ux.test(i)?(r.add(RegExp.lastMatch),n[i]=e[i]):t[i]=e[i];return[n,t,r]}function Gx(e,t,n,r,i,a){if(!e.has(n)||!Sx.has(r))return;let o=n+`Start`,s=n+`End`;i[r]=e=>{let r;return e.first&&o in t&&t[o](e),n in t&&(r=t[n](e)),e.last&&s in t&&t[s](e),r},a[r]=a[r]||{}}function Kx(e,t){let[n,r,i]=Wx(e),a={};return Gx(i,n,`onDrag`,`drag`,a,t),Gx(i,n,`onWheel`,`wheel`,a,t),Gx(i,n,`onScroll`,`scroll`,a,t),Gx(i,n,`onPinch`,`pinch`,a,t),Gx(i,n,`onMove`,`move`,a,t),Gx(i,n,`onHover`,`hover`,a,t),{handlers:a,config:t,nativeHandlers:r}}function qx(e,t={},n,r){let i=J.useMemo(()=>new zx(e),[]);if(i.applyHandlers(e,r),i.applyConfig(t,n),J.useEffect(i.effect.bind(i)),J.useEffect(()=>i.clean.bind(i),[]),t.target===void 0)return i.bind.bind(i)}function Jx(e,t){return wx(Tx),qx({drag:e},t||{},`drag`)}function Yx(e){return e.forEach(wx),function(e,t){let{handlers:n,nativeHandlers:r,config:i}=Kx(e,t||{});return qx(n,i,void 0,r)}}function Xx(e,t){return Yx([Tx,Ox,kx,Ax,Dx,Ex])(e,t||{})}var Zx={filterTaps:!0,pointer:{capture:!0}};function Qx(e,t){return!e&&t===void 0}function $x(e,t,n){let r=n>0?n:1;return{dx:(e[0]-t[0])/r,dy:(e[1]-t[1])/r}}function eS(e){return Jx(({xy:t,initial:n,first:r,last:i,memo:a})=>{if(Qx(r,a)){i&&e.onGestureActive(!1);return}let o=r?{...e.getRect()}:a;r&&e.onGestureActive(!0);let{dx:s,dy:c}=$x(t,n,e.getScale()),l=sr({...o,x:o.x+s,y:o.y+c},e.getBounds());return e.onChange(l,i),i&&e.onGestureActive(!1),o},{...Zx,enabled:!e.disabled})}var tS=10,nS=1,rS={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};function iS(e){return(0,J.useCallback)(t=>{if(t.key===`Escape`){t.stopPropagation(),e.onClose();return}if(t.altKey&&t.key===`Enter`){t.preventDefault(),e.onToggleMaximize();return}let n=rS[t.key];if(!n||!e.movable)return;t.preventDefault();let r=t.shiftKey?nS:tS;e.onMove(ur(e.getRect(),n[0]*r,n[1]*r,e.getBounds()))},[e])}function aS(e){return Jx(({args:t,xy:n,initial:r,first:i,last:a,memo:o})=>{if(Qx(i,o)){a&&e.onGestureActive(!1);return}let s=t[0],c=i?{...e.getRect()}:o;i&&e.onGestureActive(!0);let{dx:l,dy:u}=$x(n,r,e.getScale()),d=sr(cr(c,s,l,u),e.getBounds());return e.onChange(d,a),a&&e.onGestureActive(!1),c},{...Zx,enabled:!e.disabled})}var oS={edge:6,corner:12},sS={edge:12,corner:20},cS={n:`cursor-n-resize`,s:`cursor-s-resize`,e:`cursor-e-resize`,w:`cursor-w-resize`,ne:`cursor-ne-resize`,nw:`cursor-nw-resize`,se:`cursor-se-resize`,sw:`cursor-sw-resize`};function lS(e,t){let n=e.length===2,r={position:`absolute`,touchAction:`none`,zIndex:1};return e.includes(`n`)&&(r.top=-t.edge/2),e.includes(`s`)&&(r.bottom=-t.edge/2),e.includes(`w`)&&(r.left=-t.edge/2),e.includes(`e`)&&(r.right=-t.edge/2),n?(r.width=t.corner,r.height=t.corner,r):(e===`n`||e===`s`?(r.left=t.corner,r.right=t.corner,r.height=t.edge):(r.top=t.corner,r.bottom=t.corner,r.width=t.edge),r)}function uS({bind:e}){let t=ps(`(pointer: coarse)`)?sS:oS;return(0,Y.jsx)(Y.Fragment,{children:dr.map(n=>(0,Y.jsx)(`div`,{...e(n),"data-resize-handle":n,"aria-hidden":!0,className:cS[n],style:lS(n,t)},n))})}function dS(e,t,n){e&&(e.style.transform=`translate3d(${Math.round(t.x)}px, ${Math.round(t.y)}px, 0)`,e.style.width=`${Math.round(t.w)}px`,e.style.height=n?`36px`:`${Math.round(t.h)}px`)}function fS({win:e,bounds:t,title:n,focused:r,getScale:i,onGestureActive:a,children:o}){let s=(0,J.useRef)(null),[c,l]=(0,J.useState)(!1),u=e.state===`maximized`,d=e.state===`minimized`,f=u?{x:0,y:0,w:t.w,h:t.h}:e.rect,{body:p,pip:m}=Iy(e.id,s,d),h=(0,J.useRef)(f);h.current=f;let g=(0,J.useRef)(t);g.current=t,(0,J.useLayoutEffect)(()=>{dS(s.current,h.current,d)},[f.x,f.y,f.w,f.h,d]);let _=(0,J.useCallback)(e=>{l(e),a(e)},[a]),v=(0,J.useCallback)((t,n)=>{dS(s.current,t,pr.getState().windows[e.id]?.state===`minimized`),n&&pr.getState().move(e.id,{x:t.x,y:t.y})},[e.id]),y=(0,J.useCallback)((t,n)=>{dS(s.current,t,!1),n&&pr.getState().resize(e.id,t)},[e.id]),b={getRect:()=>h.current,getBounds:()=>g.current,getScale:i,onGestureActive:_},x=eS({...b,onChange:v,disabled:u}),S=aS({...b,onChange:y,disabled:u||d}),C=(0,J.useCallback)(()=>pr.getState().close(e.id),[e.id]),w=(0,J.useCallback)(()=>{pr.getState().setState(e.id,u?`normal`:`maximized`)},[e.id,u]),T=(0,J.useCallback)(()=>{pr.getState().setState(e.id,d?`normal`:`minimized`)},[e.id,d]),E=iS({getRect:()=>h.current,getBounds:()=>g.current,onMove:t=>pr.getState().move(e.id,{x:t.x,y:t.y}),onToggleMaximize:w,onClose:C,movable:!u}),D=!!m&&di(e.id);return(0,Y.jsxs)(`div`,{ref:s,role:`group`,"aria-roledescription":`window`,"aria-label":n,onPointerDownCapture:()=>pr.getState().focus(e.id),style:{zIndex:fr(e.rank)},className:U(`absolute left-0 top-0 flex flex-col pointer-events-auto`,`rounded-[8px] border border-border bg-panel overflow-visible`,r?`shadow-2xl shadow-black/40`:`shadow-lg shadow-black/20`,c?`transition-none`:`transition-[transform,width,height] duration-150 motion-reduce:transition-none`,D&&`hidden`),children:[(0,Y.jsx)(Qy,{id:e.id,kind:e.kind,title:n,state:e.state,focused:r,titlebarProps:{...x(),onKeyDown:E,tabIndex:0,role:`toolbar`,"aria-label":`${n} title bar`,style:{touchAction:`none`,userSelect:`none`}},onMinimize:T,onToggleMaximize:w,onClose:C}),m&&!D&&(0,Y.jsx)(Ly,{pip:m,minimized:d}),!u&&!d&&(0,Y.jsx)(uS,{bind:e=>S(e)}),(0,Ql.createPortal)((0,Y.jsx)(Yn,{container:m?.pipWindow.document.body,children:o}),p)]})}var pS={explorer:(0,J.lazy)(()=>H(()=>import(`./explorer-window-content-DYq7KGcO.js`),__vite__mapDeps([81,1,2,3,4,82,7,27,8,10,36,11,54,55,56,12,13,14,35,58,41,16,21,18,25,9,83,44,39]))),"team-member":(0,J.lazy)(()=>H(()=>import(`./team-member-window-content-Dxy7ualQ.js`),__vite__mapDeps([84,1,2,3,4,7,8,28,29,30,16,31,21,10,18,11]))),"system-monitor":(0,J.lazy)(()=>H(()=>import(`./system-monitor-window-content-C4QqmYwM.js`),__vite__mapDeps([85,2,1,3,4,8,11,10,75,7,16]))),"tab-host":(0,J.lazy)(()=>H(()=>import(`./tab-host-window-content-By_8oxwV.js`),__vite__mapDeps([86,1,2,3,4,11,10,83,18,7,13,35,16]))),"remote-desktop":(0,J.lazy)(()=>H(()=>import(`./remote-desktop-window-content-DifWxLaW.js`),__vite__mapDeps([87,1,2,3,4,25,7,8,9,10,11,88,16,17,18,20,89,39,13]))),settings:(0,J.lazy)(()=>H(()=>import(`./settings-window-content-CMrJh0P1.js`),__vite__mapDeps([90,2,1,3,4,25,7,11,10,70,57,71,16])))};function mS(e,t){let n=t?.title;if(typeof n==`string`&&n.trim())return n;if(e===`team-member`){let e=t?.memberName;return typeof e==`string`&&e?`Session — ${e}`:`Team member`}if(e===`system-monitor`)return`System Monitor`;if(e===`remote-desktop`)return`Remote Desktop`;if(e===`settings`)return`Settings`;if(e===`tab-host`)return`Tab`;let r=t?.path;if(e===`explorer`&&typeof r==`string`&&r){let e=r.split(/[\\/]/).filter(Boolean);return e[e.length-1]??r}return`Explorer`}function hS(){return Ir()?null:(0,Y.jsx)(gS,{})}function gS(){let e=(0,J.useRef)(null),t=pr(e=>e.windows),n=pr(e=>e.bounds),[r,i]=(0,J.useState)(!1);(0,J.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=()=>{let e=t.getBoundingClientRect(),n=t.offsetWidth>0?e.width/t.offsetWidth:1;return{w:Math.round(e.width/n),h:Math.round(e.height/n)}},r=pr.getState();r.setBounds(n()),r.restoreAll(n());let i=new ResizeObserver(()=>pr.getState().setBounds(n()));return i.observe(t),()=>i.disconnect()},[]);let a=(0,J.useCallback)(()=>{let t=e.current;return!t||t.offsetWidth===0?1:t.getBoundingClientRect().width/t.offsetWidth},[]),o=lr(t),s=o[o.length-1]?.id;return(0,Y.jsxs)(`div`,{ref:e,className:`absolute inset-0 overflow-hidden pointer-events-none`,children:[o.map(e=>{let t=pS[e.kind];return(0,Y.jsx)(fS,{win:e,bounds:n,title:mS(e.kind,e.payload),focused:e.id===s,getScale:a,onGestureActive:i,children:(0,Y.jsx)(J.Suspense,{fallback:(0,Y.jsx)(`div`,{className:`p-3 text-xs text-text-2`,children:`Loading…`}),children:(0,Y.jsx)(t,{id:e.id,payload:e.payload})})},e.id)}),r&&(0,Y.jsx)(`div`,{className:`absolute inset-0 pointer-events-auto`,style:{zIndex:38}})]})}function _S(e,t,n,r,i){let a=r.trim().toLowerCase(),o=e=>!a||e.title.toLowerCase().includes(a)||e.type.toLowerCase().includes(a);if(i?.sortMode===`recent`){let t=i.recency,n=e=>t?.get(e.id)??2**53-1,r=e.filter(o).sort((e,t)=>n(e)-n(t));return{groups:r.length?[{panelId:`__recent__`,label:``,tabs:r}]:[],total:r.length}}let s=new Map;for(let r of e){if(!o(r))continue;let e=t[r.id]??n[0]??`__unknown__`;(s.get(e)??s.set(e,[]).get(e)).push(r)}let c=[];return(n.length>0?n:[...s.keys()]).forEach((e,t)=>{let n=s.get(e);!n||n.length===0||c.push({panelId:e,label:`Panel ${t+1}`,tabs:n})}),{groups:c,total:c.reduce((e,t)=>e+t.tabs.length,0)}}var vS=`ppm:tab-sort-mode`;function yS(){try{return localStorage.getItem(vS)===`recent`?`recent`:`default`}catch{return`default`}}function bS({open:e,onClose:t,onOpenPalette:n,tabs:r,tabPanelMap:i,panelOrder:a,activeTabId:o,projectColor:s,onTabLongPress:c,recency:l,sessionTagMap:u}){let[d,f]=(0,J.useState)(``),p=Cs(e=>e.notifications),m=ri(e=>e.sessions),[h,g]=(0,J.useState)(yS),_=(0,J.useCallback)(e=>{g(e);try{localStorage.setItem(vS,e)}catch{}},[]),{groups:v,total:y}=_S(r,i,a,d,{sortMode:h,recency:l}),b=(0,J.useRef)(null),x=(0,J.useCallback)(e=>{c&&(b.current=setTimeout(()=>c(e),400))},[c]),S=(0,J.useCallback)(()=>{b.current&&=(clearTimeout(b.current),null)},[]);function C(e){if(W.getState().setActiveTab(e.id,i[e.id]),e.type===`chat`){let t=e.metadata?.sessionId;t&&Cs.getState().clearForSession(t)}t()}function w(e,t){t.stopPropagation(),W.getState().closeTab(e.id,i[e.id])}function T(){t(),n()}return(0,Y.jsxs)(Hi,{open:e,onClose:t,className:`max-h-[72vh] flex flex-col`,children:[(0,Y.jsxs)(`div`,{className:`shrink-0 flex items-center gap-2 pl-4 pr-3 pt-1 pb-2.5`,children:[(0,Y.jsx)(`span`,{className:`text-[13px] font-semibold text-text-primary`,children:`Open Tabs`}),(0,Y.jsx)(`span`,{className:`px-1.5 h-[18px] inline-flex items-center rounded-md border border-border bg-surface-elevated text-[10px] font-mono text-text-secondary`,children:r.length}),(0,Y.jsx)(`div`,{className:`flex-1`}),(0,Y.jsx)(`div`,{className:`flex items-center gap-0.5 p-0.5 rounded-lg bg-background border border-border`,children:[[`default`,`Default`],[`recent`,`Recent`]].map(([e,t])=>(0,Y.jsx)(`button`,{onClick:()=>_(e),"aria-pressed":h===e,className:U(`h-7 px-2.5 rounded-md text-[11px] font-medium transition-colors select-none`,h===e?`bg-primary/10 text-primary`:`text-text-secondary active:bg-surface-elevated`),children:t},e))}),(0,Y.jsx)(`button`,{onClick:T,title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-8 rounded-full border border-dashed border-border text-text-subtle active:bg-surface-elevated`,children:(0,Y.jsx)(_n,{className:`size-4`})})]}),(0,Y.jsx)(`div`,{className:`shrink-0 px-3 pb-2`,children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 h-10 px-3 rounded-xl bg-background border border-border`,children:[(0,Y.jsx)(Jt,{className:`size-4 text-text-subtle shrink-0`}),(0,Y.jsx)(`input`,{value:d,onChange:e=>f(e.target.value),placeholder:`Filter tabs...`,className:`flex-1 bg-transparent outline-none text-text-primary placeholder:text-text-subtle`,style:{fontSize:16}})]})}),(0,Y.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto overscroll-contain px-2 pb-2`,children:y===0?(0,Y.jsx)(`p`,{className:`text-center text-[13px] text-text-subtle py-6`,children:`No tabs match`}):v.map(e=>(0,Y.jsxs)(`div`,{className:`mb-1`,children:[e.label&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2 pt-2 pb-1`,children:[(0,Y.jsx)(It,{className:`size-3 text-text-subtle`}),(0,Y.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.05em] text-text-subtle`,children:e.label}),(0,Y.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle`,children:e.tabs.length})]}),e.tabs.map(e=>{let t=Vl(e),n=e.id===o,r=e.type===`chat`?e.metadata?.sessionId:void 0,i=r?u[r]?.color:void 0,a=r?p.get(r):void 0,c=a&&a.count>0?a.type:null,l=!!a?.manual,d=r?m.has(r):!1,f=i??(e.projectId&&s?s:void 0);return(0,Y.jsxs)(`button`,{onClick:()=>C(e),onTouchStart:()=>x(e.id),onTouchEnd:S,onTouchMove:S,onTouchCancel:S,onContextMenu:e=>e.preventDefault(),className:U(`relative flex items-center gap-2.5 w-full h-11 rounded-lg pl-3.5 pr-2 transition-colors`,n?`bg-primary/10`:`active:bg-surface-elevated`),children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-[3px] rounded-r-sm`,style:{backgroundColor:f??`transparent`}}),(0,Y.jsxs)(`span`,{className:U(`relative shrink-0`,d&&`text-warning`),children:[d?(0,Y.jsx)(Ct,{className:`size-4`}):(0,Y.jsx)(t,{className:U(`size-4`,n?`text-primary`:`text-text-secondary`)}),d?(0,Y.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,Y.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,Y.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,Y.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):c&&(!n||l)?(0,Y.jsx)(`span`,{className:U(`absolute -top-1 -right-1 size-2 rounded-full`,bs(c))}):null]}),(0,Y.jsx)(`span`,{className:U(`flex-1 text-left text-sm font-medium truncate`,n?`text-primary`:`text-text-primary`),children:e.title}),n&&(0,Y.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),e.closable&&(0,Y.jsx)(`span`,{role:`button`,tabIndex:0,onClick:t=>w(e,t),className:`flex items-center justify-center size-8 rounded-lg text-text-subtle active:bg-surface-elevated shrink-0`,children:(0,Y.jsx)(he,{className:`size-4`})})]},e.id)})]},e.panelId))})]})}function xS({onMenuPress:e,onProjectsPress:t}){let n=W(e=>e.focusedPanelId),r=W(e=>e.panels),i=W(e=>e.grid),a=W(e=>e.dock),o=W(e=>e.dockExpanded),s=Ui(!0)?.keyboardOpen??!1,c=Ir(),l=W(e=>e.currentProject),{tabs:u,tabPanelMap:d}=(0,J.useMemo)(()=>{let e=i.flat(),t=[],n={};for(let i of e){let e=r[i];if(e)for(let r of e.tabs)r.projectId&&l&&r.projectId!==l||(t.push(r),n[r.id]=i)}return{tabs:t,tabPanelMap:n}},[r,i,l]),f=(0,J.useMemo)(()=>{let e=e=>typeof e.metadata?.lastActiveAt==`number`?e.metadata.lastActiveAt:-1,t=new Map;return[...u].filter(t=>e(t)>=0).sort((t,n)=>e(n)-e(t)).forEach((e,n)=>t.set(e.id,n)),t},[u]),p=i.flat(),m=p.includes(n)?n:p[0],h=(m?r[m]?.activeTabId:null)??null,g=Cs(e=>e.notifications),_=qs(e=>e.selection),[v,y]=(0,J.useState)({}),[b,x]=(0,J.useState)(null),[S,C]=(0,J.useState)(!1),[w,T]=(0,J.useState)(null),[E,D]=(0,J.useState)(``),O=u.find(e=>e.id===h)??null,k=r[ar],A=Ay(k,l),j=b?u.find(e=>e.id===b):null,M=r[b?d[b]??n:n]?.tabs??[],ee=b?M.findIndex(e=>e.id===b):-1,N=j?.type===`chat`?j.metadata?.sessionId:void 0,P=N?(g.get(N)?.count??0)>0:!1,F=j?.metadata?.filePath,te=j?.metadata?.projectName,ne=_!=null&&!!te&&_.projectName===te&&_.filePath!==F;function re(e){x(null),T(e.id),D(e.title)}async function ie(){let e=u.find(e=>e.id===w),t=e?.metadata?.sessionId,n=E.trim();if(!e||!t||!n||!l){T(null);return}try{await z.patch(`${R(l)}/chat/sessions/${t}`,{title:n}),W.getState().updateTab(e.id,{title:n})}catch{}T(null)}function ae(e){let t=d[e]??n,r=W.getState().panels[t]?.tabs??[];for(let n of r)n.id!==e&&n.closable&&W.getState().closeTab(n.id,t);x(null)}function I(e){let t=d[e]??n,r=W.getState().panels[t]?.tabs??[],i=r.findIndex(t=>t.id===e);for(let e=i+1;e<r.length;e++)r[e].closable&&W.getState().closeTab(r[e].id,t);x(null)}function oe(e){let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return;let r=e.metadata?.unsavedContent;qs.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:qn(t)}),x(null)}async function se(e){let t=e.metadata?.filePath,n=e.metadata?.projectName,r=qs.getState().selection;if(!r||!t||!n)return;let i=e.metadata?.unsavedContent;try{await Ys({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),qs.getState().clearSelection()}catch(e){B.error(e instanceof Error?e.message:`Compare failed`)}x(null)}function ce(e){let t=e.metadata?.sessionId,n=e.metadata?.projectName;t&&n&&Cs.getState().markUnread(t,n,e.title),x(null)}let[le,ue]=(0,J.useState)(null);function de(e,t){let n=e.metadata?.filePath,r=e.metadata?.projectName;switch(t){case`copy-path`:n&&Al(n);break;case`copy-full-path`:if(n){let e=r?G.getState().projects.find(e=>e.name===r):null;Al(e?`${e.path}/${n}`:n)}break;case`download`:n&&r&&xi(r,n);break;case`rename`:case`delete`:n&&ue({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}x(null)}let{activeProject:fe}=G.getState(),{activeProject:pe,projects:ge,customOrder:_e}=G(Uu(e=>({activeProject:e.activeProject,projects:e.projects,customOrder:e.customOrder}))),{projectTags:ve,loadTags:ye}=gs(pe?.name),be=(0,J.useCallback)(async(e,t)=>{if(pe?.name){try{if(t!==null){await z.patch(`${R(pe.name)}/chat/sessions/${e}/tag`,{tagId:t});let n=ve.find(e=>e.id===t);n&&y(t=>({...t,[e]:{id:n.id,name:n.name,color:n.color}}))}else await z.del(`${R(pe.name)}/chat/sessions/${e}/tag`),y(t=>{let n={...t};return delete n[e],n});ye()}catch{}x(null)}},[pe?.name,ve,ye]),xe=u.filter(e=>e.type===`chat`&&e.metadata?.sessionId).map(e=>e.metadata.sessionId);(0,J.useEffect)(()=>{!pe?.name||xe.length===0||z.get(`${R(pe.name)}/chat/sessions?limit=50`).then(e=>{let t={};for(let n of e.sessions)n.tag&&(t[n.id]=n.tag);y(t)}).catch(()=>{})},[pe?.name,xe.join(`,`)]);let Se=mr(ge,_e??null),Ce=Se.map(e=>e.name),we=Se.findIndex(e=>e.name===pe?.name),Te=pe?f_(pe.color,we>=0?we:0):`#4f86c6`,Ee=O?Vl(O):null;return(0,Y.jsxs)(`nav`,{className:`fixed bottom-0 left-0 right-0 md:hidden bg-background border-t border-border z-40 select-none`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center h-12`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center shrink-0 border-r border-border`,children:[(0,Y.jsx)(`button`,{onClick:e,"aria-label":`Open menu`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,Y.jsx)(Vt,{className:`size-5`})}),(0,Y.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,Y.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,title:`Switch project`,children:pe?(0,Y.jsx)(m_,{name:pe.name,color:Te,image:pe.image,size:28,allNames:Ce}):(0,Y.jsx)(nt,{className:`size-5`})}),(0,Y.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,Y.jsxs)(`button`,{onClick:()=>W.getState().toggleDock(),title:a.visible?`Hide panel`:`Show panel`,"aria-label":a.visible?`Hide panel`:`Show panel`,className:U(`relative flex items-center justify-center size-12 shrink-0 transition-colors`,a.visible?`text-primary bg-primary/10`:`text-text-secondary`),children:[(0,Y.jsx)(Fn,{className:`size-5`}),A>0&&(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`absolute top-1.5 right-1.5 size-[7px] rounded-full ring-[1.5px] ring-background`,style:{backgroundColor:`var(--color-success)`}})]}),(0,Y.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,Y.jsx)(`button`,{onClick:()=>Rc(),title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,Y.jsx)(_n,{className:`size-5`})})]}),O&&Ee?(0,Y.jsxs)(`button`,{onClick:()=>C(!0),className:`flex-1 min-w-0 flex items-center gap-2 h-12 px-3 border-t-2 border-primary bg-surface`,children:[(0,Y.jsx)(Ee,{className:`size-4 text-primary shrink-0`}),(0,Y.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-left text-xs font-medium text-primary`,children:O.title}),(0,Y.jsx)(`span`,{className:`px-1.5 h-[18px] inline-flex items-center rounded-md border border-border bg-surface-elevated text-[10px] font-mono text-text-secondary shrink-0`,children:u.length}),(0,Y.jsx)(Ue,{className:`size-3.5 text-text-subtle shrink-0`})]}):(0,Y.jsxs)(`button`,{onClick:()=>Rc(),className:`flex-1 flex items-center gap-1.5 h-12 px-3 text-text-secondary text-xs`,children:[(0,Y.jsx)(_n,{className:`size-4`}),` New Tab`]})]}),(0,Y.jsx)(bS,{open:S,onClose:()=>C(!1),onOpenPalette:()=>Rc(),tabs:u,tabPanelMap:d,panelOrder:i.flat(),activeTabId:h,projectColor:pe?Te:null,onTabLongPress:e=>x(e),recency:f,sessionTagMap:v}),(0,Y.jsxs)(Hi,{open:!!j,onClose:()=>x(null),className:`select-none`,children:[(0,Y.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-secondary border-b border-border truncate`,children:j?.title}),N&&(0,Y.jsxs)(`button`,{onClick:()=>re(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(me,{className:`size-4`}),` Rename`]}),j?.type===`editor`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{onClick:()=>de(j,`copy-path`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(un,{className:`size-4`}),` Copy Path`]}),(0,Y.jsxs)(`button`,{onClick:()=>de(j,`copy-full-path`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(un,{className:`size-4`}),` Copy Full Path`]}),(0,Y.jsxs)(`button`,{onClick:()=>de(j,`download`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(wn,{className:`size-4`}),` Download`]}),(0,Y.jsxs)(`button`,{onClick:()=>de(j,`rename`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(me,{className:`size-4`}),` Rename`]}),(0,Y.jsxs)(`button`,{onClick:()=>de(j,`delete`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-error active:bg-surface-elevated`,children:[(0,Y.jsx)(Mn,{className:`size-4`}),` Delete`]}),(0,Y.jsx)(`div`,{className:`h-px bg-border mx-2`}),(0,Y.jsxs)(`button`,{onClick:()=>oe(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(It,{className:`size-4`}),` Select for Compare`]}),ne&&(0,Y.jsxs)(`button`,{onClick:()=>se(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(It,{className:`size-4`}),` Compare with Selected (`,_.label,`)`]}),(0,Y.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),N&&!P&&(0,Y.jsxs)(`button`,{onClick:()=>ce(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(zn,{className:`size-4 fill-primary text-primary`}),` Mark as unread`]}),N&&ve.length>0&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`px-3 pt-2 pb-1 text-xs text-text-secondary flex items-center gap-2`,children:[(0,Y.jsx)(Rn,{className:`size-3.5`}),` Set Tag`]}),ve.map(e=>(0,Y.jsxs)(`button`,{onClick:()=>be(N,e.id),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(`span`,{className:`size-2.5 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,v[N]?.id===e.id&&(0,Y.jsx)(An,{className:`size-3.5 ml-auto`})]},e.id)),v[N]&&(0,Y.jsx)(`button`,{onClick:()=>be(N,null),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:`Remove tag`}),(0,Y.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),j?.closable&&(0,Y.jsxs)(`button`,{onClick:()=>{W.getState().closeTab(b),x(null)},className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(he,{className:`size-4`}),` Close`]}),M.some(e=>e.id!==b&&e.closable)&&(0,Y.jsxs)(`button`,{onClick:()=>ae(b),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(ft,{className:`size-4`}),` Close Others`]}),ee>=0&&ee<M.length-1&&(0,Y.jsxs)(`button`,{onClick:()=>I(b),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(Re,{className:`size-4`}),` Close to the Right`]})]}),(0,Y.jsx)(Hi,{open:!!w,onClose:()=>T(null),children:(0,Y.jsxs)(`div`,{className:`px-4 pt-1 pb-3`,children:[(0,Y.jsx)(`div`,{className:`text-[13px] font-semibold text-text-primary mb-2`,children:`Rename chat`}),(0,Y.jsx)(`input`,{autoFocus:!0,value:E,onChange:e=>D(e.target.value),onKeyDown:e=>{e.key===`Enter`&&ie()},placeholder:`Session title`,className:`w-full h-11 px-3 rounded-xl bg-background border border-border text-text-primary outline-none focus:border-primary`,style:{fontSize:16}}),(0,Y.jsxs)(`div`,{className:`flex gap-2 mt-3`,children:[(0,Y.jsx)(`button`,{onClick:()=>T(null),className:`flex-1 h-11 rounded-xl border border-border text-sm text-text-secondary active:bg-surface-elevated`,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:ie,className:`flex-1 h-11 rounded-xl bg-primary text-primary-foreground text-sm font-medium active:opacity-90`,children:`Save`})]})]})}),le&&(0,Y.jsx)(Fl,{node:le.node,projectName:fe?.name??``,onClose:()=>ue(null),onRefresh:()=>{fe&&Mr.getState().fetchTree(fe.name),le.action===`delete`&&W.getState().closeTab(le.tabId)}}),c&&(0,Y.jsx)(Hi,{open:a.visible,onClose:()=>W.getState().setDockVisible(!1),zIndex:60,className:U(`flex flex-col`,s?`h-[calc(var(--sheet-vh,100dvh)+var(--sheet-kb,0px))]`:o?`h-[calc(var(--sheet-vh,100dvh)*0.92)]`:`h-[calc(var(--sheet-vh,100dvh)*0.6)]`),children:(0,Y.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 overflow-hidden`,children:(0,Y.jsx)(ku,{variant:`mobile`})})})]})}var SS=64,CS=350,wS=10;function TS(e,t,n){let r=[...e],i=r.indexOf(t);if(i<0||t===n)return e;r.splice(i,1);let a=r.indexOf(n);return r.splice(a<0?r.length:a,0,t),r}function ES({tabs:e,activeId:t,onSelect:n,onReorder:r}){let i=(0,J.useRef)(null),[a,o]=(0,J.useState)(0),[s,c]=(0,J.useState)(null),[l,u]=(0,J.useState)(null),d=(0,J.useRef)(null),f=(0,J.useRef)(null),[p,m]=(0,J.useState)(!1),h=(0,J.useRef)(null),g=(0,J.useRef)(null),_=e=>{d.current=e,c(e)},v=e=>{f.current=e,u(e)},y=()=>{_(null),v(null)},b=()=>{h.current&&=(clearTimeout(h.current),null)};(0,J.useEffect)(()=>{let e=i.current;if(!e)return;let t=new ResizeObserver(e=>o(e[0].contentRect.width));return t.observe(e),()=>t.disconnect()},[]),(0,J.useEffect)(()=>{let e=i.current;if(!e)return;let t=e=>{if(!d.current)return;e.preventDefault();let t=e.touches[0];if(!t)return;let n=(document.elementFromPoint(t.clientX,t.clientY)?.closest(`[data-tabid]`))?.getAttribute(`data-tabid`);n&&v(n)};return e.addEventListener(`touchmove`,t,{passive:!1}),()=>e.removeEventListener(`touchmove`,t)},[]);let x=a?Math.max(1,Math.floor(a/SS)):e.length,S=e.length>x,C=S?Math.max(1,x-1):e.length,w=e.slice(0,C),T=S&&!w.some(e=>e.id===t)&&e.some(e=>e.id===t);if(T){let n=e.find(e=>e.id===t);w=[...e.slice(0,C-1),n]}let E=new Set(w.map(e=>e.id)),D=e.filter(e=>!E.has(e.id)),O=t=>{d.current&&r(TS(e.map(e=>e.id),d.current,t)),y()},k=(e,t)=>U(`relative flex flex-col items-center justify-center gap-0.5 shrink-0 py-2.5 text-[10px] select-none transition-colors`,t?`text-primary`:`text-text-secondary`,s===e&&`opacity-40`,l===e&&s!==e&&`shadow-[inset_2px_0_0_var(--accent)]`);return(0,Y.jsxs)(`div`,{ref:i,className:`flex items-center overflow-hidden`,children:[w.map(e=>{let r=e.icon;return(0,Y.jsxs)(`button`,{"data-tabid":e.id,style:{width:SS},className:k(e.id,t===e.id),draggable:!0,onDragStart:t=>{_(e.id),t.dataTransfer.effectAllowed=`move`},onDragOver:t=>{t.preventDefault(),v(e.id)},onDrop:t=>{t.preventDefault(),O(e.id)},onDragEnd:y,onClick:()=>n(e.id),onTouchStart:t=>{g.current={x:t.touches[0].clientX,y:t.touches[0].clientY},b(),h.current=setTimeout(()=>_(e.id),CS)},onTouchMove:e=>{if(!d.current&&g.current){let t=Math.abs(e.touches[0].clientX-g.current.x),n=Math.abs(e.touches[0].clientY-g.current.y);(t>wS||n>wS)&&b()}},onTouchEnd:()=>{b(),d.current&&f.current?O(f.current):y(),g.current=null},onTouchCancel:()=>{b(),y(),g.current=null},children:[(0,Y.jsx)(r,{className:`size-4`}),(0,Y.jsx)(`span`,{children:e.shortLabel??e.label}),(0,Y.jsx)(Mg,{id:e.badge,variant:`corner`,className:`top-1 right-2 shadow-none`})]},e.id)}),S&&(0,Y.jsxs)(`button`,{style:{width:SS},onClick:()=>m(!0),className:U(`flex flex-col items-center justify-center gap-0.5 shrink-0 py-2.5 text-[10px] transition-colors`,T?`text-primary`:`text-text-secondary`),children:[(0,Y.jsx)(Je,{className:`size-4`}),(0,Y.jsx)(`span`,{children:`More`})]}),(0,Y.jsx)(Hi,{open:p,onClose:()=>m(!1),children:(0,Y.jsxs)(`div`,{className:`px-2 pb-3 pt-1`,children:[(0,Y.jsx)(`div`,{className:`px-2 py-1 text-xs text-text-secondary`,children:`More tabs`}),D.map(e=>{let r=e.icon;return(0,Y.jsxs)(`button`,{onClick:()=>{n(e.id),m(!1)},className:U(`flex items-center gap-3 w-full px-3 py-2.5 rounded-md text-sm active:bg-surface-elevated`,t===e.id?`text-primary`:`text-foreground`),children:[(0,Y.jsx)(r,{className:`size-4 shrink-0`}),(0,Y.jsx)(`span`,{children:e.label}),(0,Y.jsx)(Mg,{id:e.badge})]},e.id)})]})})]})}var DS=new Set([`history`,`teams`,`explorer`,`search`,`git`,`database`,`tunnels`,`ai-resources`,`jira`]),OS=e=>DS.has(e)||e.startsWith(`ext:`);function kS({icon:e,label:t,badge:n,onClick:r}){return(0,Y.jsxs)(`button`,{onClick:r,className:`group relative flex flex-col items-center justify-center gap-1 rounded-lg py-2.5 text-text-subtle hover:bg-surface-elevated hover:text-text-secondary transition-colors`,children:[(0,Y.jsx)(e,{className:`size-4`}),(0,Y.jsx)(`span`,{className:`text-[10px] leading-none`,children:t}),(0,Y.jsx)(Mg,{id:n,variant:`corner`})]})}function AS({isOpen:e,onClose:t,initialTab:n}){let{activeProject:r}=G(Uu(e=>({activeProject:e.activeProject}))),i=V(e=>e.version),a=V(e=>e.jiraEnabled),o=V(e=>e.sidebarTabOrder),s=V(e=>e.setSidebarTabOrder),c=Pc(e=>e.contributions),{available:l}=w_(),u=b_(),[d,f]=(0,J.useState)(n??`explorer`),[p,m]=(0,J.useState)(!1),h=(0,J.useMemo)(()=>T_(Yr({jiraEnabled:a,contributions:c}),o).filter(e=>OS(e.id)),[a,c,o]);(0,J.useEffect)(()=>{n&&f(n)},[n]),(0,J.useEffect)(()=>{h.length>0&&!h.some(e=>e.id===d)&&f(h[0].id)},[h,d]),(0,J.useEffect)(()=>{let e=()=>{Lr()&&m(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[]);let g=(0,J.useCallback)(()=>mv(i),[i]),_=(0,Y.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-secondary text-center`,children:`Select a project from the bottom nav bar`});return(0,Y.jsxs)(`div`,{className:U(`fixed inset-0 z-50 md:hidden transition-opacity duration-200`,e?`opacity-100`:`opacity-0 pointer-events-none`),children:[(0,Y.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t,"aria-label":`Close drawer`}),(0,Y.jsxs)(`div`,{className:U(`fixed left-0 top-0 bottom-0 w-[90vw] bg-background border-r border-border`,`z-50 flex flex-col transition-transform duration-300 ease-out`,e?`translate-x-0`:`-translate-x-full`),children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b border-border shrink-0`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-bold text-primary tracking-tight`,children:r?.name??`PPM`}),(0,Y.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-8 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(he,{className:`size-4`})})]}),(0,Y.jsxs)(`div`,{"data-onboarding":e?d:void 0,className:`flex-1 overflow-y-auto min-h-0`,children:[d===`history`&&(r?(0,Y.jsx)(kg,{variant:`sidebar`,projectName:r.name,onNavigate:t}):_),d===`teams`&&(r?(0,Y.jsx)(Qg,{}):_),d===`explorer`&&(r?(0,Y.jsx)(Mp,{onFileOpen:t}):_),e&&d===`search`&&(0,Y.jsx)(Rm,{onNavigate:t}),e&&d===`git`&&(0,Y.jsx)(cm,{metadata:{projectName:r?.name},onNavigate:t}),d===`database`&&(0,Y.jsx)(Pm,{}),d===`tunnels`&&(0,Y.jsx)(bg,{}),d===`jira`&&(0,Y.jsx)(ph,{}),d===`ai-resources`&&(0,Y.jsx)(Jh,{}),d.startsWith(`ext:`)&&(0,Y.jsx)(Vm,{viewId:d.slice(4),className:`h-full`})]}),(0,Y.jsxs)(`div`,{className:`shrink-0 border-t border-border`,children:[(0,Y.jsx)(ES,{tabs:h,activeId:d,onSelect:f,onReorder:s}),(0,Y.jsxs)(`div`,{className:`border-t border-border px-3 py-2`,children:[(0,Y.jsxs)(`div`,{className:`grid grid-cols-4 gap-1`,children:[(0,Y.jsx)(kS,{icon:Zt,label:`Files`,badge:`os-explorer`,onClick:()=>{t(),Jf()}}),l&&(0,Y.jsx)(kS,{icon:lt,label:`Remote`,badge:`remote-desktop`,onClick:()=>{t(),u()}}),(0,Y.jsx)(kS,{icon:yt,label:`Cloud`,onClick:()=>m(!0)}),(0,Y.jsx)(kS,{icon:pn,label:`Settings`,onClick:()=>{t(),Ic()}}),(0,Y.jsx)(kS,{icon:Pn,label:`Bug`,onClick:g})]}),(0,Y.jsx)(`div`,{className:`mt-2 pt-2 border-t border-border px-1 text-[11px]`,children:(0,Y.jsx)(Sy,{align:`left`})})]})]})]}),(0,Y.jsx)(Hi,{open:p,onClose:()=>m(!1),zIndex:60,children:(0,Y.jsx)(lv,{variant:`sheet`,onClose:()=>m(!1)})})]})}function jS({isOpen:e,onClose:t}){let{projects:n,activeProject:r,setActiveProject:i,setProjectColor:a,setProjectImage:o,removeProjectImage:s,reorderProjects:c,renameProject:l,deleteProject:u,customOrder:d,sortMode:f,setProjectSortMode:p}=G(Uu(e=>({projects:e.projects,activeProject:e.activeProject,setActiveProject:e.setActiveProject,setProjectColor:e.setProjectColor,setProjectImage:e.setProjectImage,removeProjectImage:e.removeProjectImage,reorderProjects:e.reorderProjects,renameProject:e.renameProject,deleteProject:e.deleteProject,customOrder:e.customOrder,sortMode:e.projectSortMode,setProjectSortMode:e.setProjectSortMode}))),m=V(e=>e.version),h=mr(n,d),g=h.map(e=>e.name),[_,v]=(0,J.useState)(`list`),[y,b]=(0,J.useState)(``),x=(0,J.useMemo)(()=>gr(),[e]),S=(0,J.useMemo)(()=>e_(n,d,f),[n,d,f]),C=y.trim().toLowerCase(),w=C?S.filter(e=>e.name.toLowerCase().includes(C)||e.path.toLowerCase().includes(C)):S,T=f===`priority`&&!C,E=(0,J.useCallback)(e=>{window.open(i_(e,null),`_blank`,`noopener`)},[]),[D,O]=(0,J.useState)(null),[k,A]=(0,J.useState)(``),[j,M]=(0,J.useState)(!1),ee=(0,J.useRef)(null),[N,P]=(0,J.useState)(null),[F,te]=(0,J.useState)(``),ne=(0,J.useRef)(null),[re,ie]=(0,J.useState)(null);async function ae(e){let t=e.target.files?.[0];if(e.target.value=``,!(!t||!re)){O(null);try{await o(re,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}}}let I=(0,J.useCallback)(e=>{ee.current=setTimeout(()=>O(e),400)},[]),oe=(0,J.useCallback)(()=>{ee.current&&=(clearTimeout(ee.current),null)},[]);function se(){v(`list`),t()}function ce(e){let t=n.find(t=>t.name===e);t&&(i(t),se())}function le(){v(`add`)}function ue(){se(),Ic()}async function de(){if(!N||!F.trim()||F===N){P(null);return}try{await l(N,F.trim())}catch{}P(null)}async function fe(e){O(null);try{await u(e)}catch{}}async function pe(e,t){try{await a(e,t),M(!1),O(null)}catch(e){console.error(`Failed to save color:`,e)}}let ge=D?h.find(e=>e.name===D):null,_e=D?h.findIndex(e=>e.name===D):-1,ve=D?[{label:`Open in New Tab`,icon:jt,onClick:()=>{E(D),O(null)}},{label:`Rename`,icon:me,onClick:()=>{te(D),P(D),O(null)}},{label:`Change Color`,icon:We,onClick:()=>{let e=h.findIndex(e=>e.name===D),t=h[e];A(f_(t?.color,e)),M(!0)}},{label:`Change Image`,icon:_t,onClick:()=>{ie(D),ne.current?.click()}},...ge?.image?[{label:`Remove Image`,icon:Mn,onClick:()=>{s(D).catch(()=>{}),O(null)}}]:[],{label:`Copy Path`,icon:un,onClick:()=>{ge&&Al(ge.path),O(null)}},...T&&_e>0?[{label:`Move Up`,icon:Ue,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(_e,1);e.splice(_e-1,0,t),c(e),O(null)}}]:[],...T&&_e<h.length-1?[{label:`Move Down`,icon:qe,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(_e,1);e.splice(_e+1,0,t),c(e),O(null)}}]:[],{label:`Delete`,icon:Mn,destructive:!0,onClick:()=>fe(D)}]:[];return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`input`,{ref:ne,type:`file`,accept:`image/*`,className:`hidden`,onChange:ae}),(0,Y.jsxs)(Hi,{open:e,onClose:se,className:`bg-background`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_===`add`&&(0,Y.jsx)(`button`,{onClick:()=>v(`list`),className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(tn,{className:`size-4`})}),(0,Y.jsx)(`span`,{className:`text-sm font-semibold`,children:_===`add`?`Add Project`:`Projects`})]}),(0,Y.jsx)(`button`,{onClick:se,className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(he,{className:`size-4`})})]}),_===`add`&&(0,Y.jsx)(`div`,{className:`px-4 py-4`,children:(0,Y.jsx)(h_,{onSuccess:()=>{v(`list`),t()},onCancel:()=>v(`list`),footerClassName:`pt-2`})}),_!==`add`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 border-b border-border`,children:[(0,Y.jsx)(Jt,{className:`size-4 text-text-subtle shrink-0`}),(0,Y.jsx)(`input`,{value:y,onChange:e=>b(e.target.value),placeholder:`Search projects…`,className:`flex-1 bg-transparent text-sm text-foreground placeholder:text-text-subtle focus:outline-none`})]}),(0,Y.jsx)(`div`,{className:`flex items-center gap-1 px-2 py-2 border-b border-border`,children:$g.map(({mode:e,label:t,Icon:n})=>(0,Y.jsxs)(`button`,{onClick:()=>p(e),className:U(`flex items-center justify-center gap-1 flex-1 px-2 py-1.5 rounded-md text-xs font-medium transition-colors`,f===e?`bg-primary/[0.12] text-primary`:`text-text-subtle active:bg-surface-elevated`),children:[(0,Y.jsx)(n,{className:`size-3.5`}),` `,t]},e))})]}),(0,Y.jsxs)(`div`,{className:_===`add`?`hidden`:`max-h-[60vh] overflow-y-auto`,children:[w.map(e=>{let t=h.findIndex(t=>t.name===e.name),n=f_(e.color,t),i=r?.name===e.name,a=N===e.name,o=x[e.name];return(0,Y.jsxs)(`div`,{className:U(`flex items-center gap-3 px-4 py-3 transition-colors active:bg-surface-elevated`,i&&`bg-accent/10`),onClick:()=>!a&&ce(e.name),onTouchStart:()=>I(e.name),onTouchEnd:oe,onTouchMove:oe,onTouchCancel:oe,children:[(0,Y.jsx)(m_,{name:e.name,color:n,image:e.image,size:40,allNames:g}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[a?(0,Y.jsx)(`input`,{type:`text`,value:F,onChange:e=>te(e.target.value),onKeyDown:e=>{e.key===`Enter`&&de(),e.key===`Escape`&&P(null)},onBlur:de,onClick:e=>e.stopPropagation(),className:`w-full bg-transparent border-b border-primary text-sm outline-none`,autoFocus:!0}):(0,Y.jsx)(`p`,{className:`text-sm font-medium truncate`,children:e.name}),(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle truncate`,children:e.path})]}),o&&!i&&(0,Y.jsx)(`span`,{className:`shrink-0 text-[10px] text-text-subtle whitespace-nowrap`,children:ms(new Date(o).toISOString())}),i&&(0,Y.jsx)(An,{className:`size-4 text-primary shrink-0`})]},e.name)}),w.length===0&&(0,Y.jsx)(`div`,{className:`px-4 py-6 text-center text-sm text-text-subtle`,children:`No projects found`})]}),(0,Y.jsx)(`div`,{className:`border-t border-border`,children:(0,Y.jsxs)(`button`,{onClick:le,className:`w-full flex items-center gap-3 px-4 py-3 text-text-secondary hover:bg-surface-elevated transition-colors`,children:[(0,Y.jsx)(_n,{className:`size-4 shrink-0`}),(0,Y.jsx)(`span`,{className:`text-sm`,children:`Add Project`})]})}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-t border-border`,children:[(0,Y.jsxs)(`button`,{onClick:ue,className:`flex items-center gap-2 text-text-secondary hover:text-foreground transition-colors`,children:[(0,Y.jsx)(pn,{className:`size-4`}),(0,Y.jsx)(`span`,{className:`text-sm`,children:`Settings`})]}),m&&(0,Y.jsxs)(`span`,{className:`text-xs text-text-subtle`,children:[`v`,m]})]})]}),(0,Y.jsxs)(Hi,{open:!!D&&!j,onClose:()=>O(null),zIndex:60,children:[(0,Y.jsx)(`div`,{className:`px-4 py-2 border-b border-border`,children:(0,Y.jsx)(`p`,{className:`text-xs font-medium text-text-secondary`,children:D})}),ve.map(e=>{let t=e.icon;return(0,Y.jsxs)(`button`,{onClick:e.onClick,className:U(`w-full flex items-center gap-3 px-4 py-3 text-sm transition-colors active:bg-surface-elevated`,e.destructive?`text-destructive`:`text-foreground`),children:[(0,Y.jsx)(t,{className:`size-4 shrink-0`}),e.label]},e.label)})]}),(0,Y.jsxs)(Hi,{open:j&&!!D,onClose:()=>{M(!1),O(null)},zIndex:60,className:`p-4 space-y-4`,children:[(0,Y.jsx)(`p`,{className:`text-sm font-medium`,children:`Change Color`}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:d_.map(e=>(0,Y.jsx)(`button`,{type:`button`,onClick:()=>A(e),className:U(`size-9 rounded-full border-2 transition-all`,k===e?`border-primary scale-110`:`border-transparent`),style:{background:e}},e))}),(0,Y.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,Y.jsx)(`button`,{onClick:()=>{M(!1),O(null)},className:`flex-1 py-2 text-sm text-text-secondary border border-border rounded-md`,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:()=>pe(D,k),className:`flex-1 py-2 text-sm bg-primary text-white rounded-md`,children:`Save`})]})]})]})}var MS=`https://wise.com/pay/me/lehongh`,NS=`/donate-qr.png`,PS=`LE HONG HIEN`,FS=`Techcombank`;function IS({children:e}){return(0,Y.jsx)(`span`,{className:`font-mono text-[11px] font-medium uppercase tracking-wide text-text-subtle`,children:e})}function LS(){let[e,t]=(0,J.useState)(!1);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,Y.jsx)(`div`,{className:`flex size-11 items-center justify-center rounded-xl bg-surface-elevated`,children:(0,Y.jsx)(ge,{className:`size-5 text-primary`})}),(0,Y.jsx)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Support PPM`}),(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Thanks for keeping this project alive.`})]}),(0,Y.jsxs)(`div`,{className:`grid gap-5 md:grid-cols-2 md:gap-6`,children:[(0,Y.jsxs)(`section`,{className:`flex flex-col items-center gap-3`,children:[(0,Y.jsx)(IS,{children:`Vietnam`}),e?(0,Y.jsxs)(`div`,{className:`flex size-40 flex-col items-center justify-center gap-2 rounded-xl border border-dashed border-border text-text-subtle`,children:[(0,Y.jsx)(vt,{className:`size-8`}),(0,Y.jsx)(`span`,{className:`text-xs`,children:`QR code coming soon`})]}):(0,Y.jsx)(`img`,{src:NS,alt:`Bank transfer QR code`,onError:()=>t(!0),className:`size-40 rounded-xl border border-border bg-white object-contain p-2`}),(0,Y.jsxs)(`div`,{className:`text-center`,children:[(0,Y.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:PS}),(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle`,children:FS})]}),(0,Y.jsx)(`p`,{className:`text-center text-xs text-text-secondary`,children:`Quét mã QR bằng ứng dụng ngân hàng để chuyển khoản.`})]}),(0,Y.jsxs)(`section`,{className:`flex flex-col items-center justify-center gap-3 border-t border-border pt-5 md:border-l md:border-t-0 md:pl-6 md:pt-0`,children:[(0,Y.jsx)(IS,{children:`International`}),(0,Y.jsx)(`p`,{className:`text-center text-sm text-text-secondary`,children:`Send an international transfer via Wise — multi-currency, low fees.`}),(0,Y.jsx)(q,{asChild:!0,className:`w-full`,children:(0,Y.jsxs)(`a`,{href:MS,target:`_blank`,rel:`noopener noreferrer`,children:[(0,Y.jsx)($e,{className:`size-4`}),`Support via Wise`]})})]})]})]})}function RS({open:e,onOpenChange:t}){return Ir()?(0,Y.jsx)(Hi,{open:e,onClose:()=>t(!1),className:`popover-solid`,children:(0,Y.jsx)(`div`,{className:`px-4 pb-4 pt-1`,children:(0,Y.jsx)(LS,{})})}):(0,Y.jsx)(Pi,{open:e,onOpenChange:t,children:(0,Y.jsxs)(Ai,{className:`sm:max-w-xl`,children:[(0,Y.jsx)(ji,{className:`sr-only`,children:`Support PPM`}),(0,Y.jsx)(LS,{})]})})}function zS(){let[e,t]=(0,J.useState)(null),[n,r]=(0,J.useState)(!1);(0,J.useEffect)(()=>{function e(e){let n=e.detail;n&&(t(n),r(!1))}return window.addEventListener(`open-bug-report`,e),()=>window.removeEventListener(`open-bug-report`,e)},[]);let i=(0,J.useCallback)(()=>t(null),[]);return e?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/50`,onClick:i}),(0,Y.jsxs)(`div`,{className:`fixed inset-4 md:inset-auto md:top-[15%] md:left-1/2 md:-translate-x-1/2 md:w-full md:max-w-lg md:max-h-[70vh] z-50 flex flex-col bg-background border border-border rounded-lg shadow-2xl overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium`,children:`Bug Report`}),(0,Y.jsx)(`button`,{onClick:i,className:`p-1 rounded hover:bg-surface-elevated`,children:(0,Y.jsx)(he,{className:`size-4`})})]}),(0,Y.jsx)(`pre`,{className:`flex-1 overflow-auto px-4 py-2 text-xs font-mono whitespace-pre-wrap break-all`,children:e}),(0,Y.jsxs)(`div`,{className:`flex gap-2 p-3 border-t border-border`,children:[(0,Y.jsxs)(`button`,{onClick:async()=>{await Al(e)&&r(!0)},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md bg-surface-elevated text-xs text-foreground hover:bg-surface transition-colors`,children:[n?(0,Y.jsx)(An,{className:`size-3`}):(0,Y.jsx)(un,{className:`size-3`}),n?`Copied`:`Copy`]}),(0,Y.jsxs)(`button`,{onClick:()=>{pv(e),i()},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md bg-primary text-primary-foreground text-xs hover:bg-primary/90 transition-colors`,children:[(0,Y.jsx)(jt,{className:`size-3`}),`Open GitHub Issue`]})]})]})]}):null}var BS=[{value:`light`,label:`Light`,icon:wt},{value:`dark`,label:`Dark`,icon:be},{value:`system`,label:`System`,icon:jn}],VS=(0,J.memo)(function({className:e}){let t=V(e=>e.themeMode),n=V(e=>e.setThemeMode),r=BS.find(e=>e.value===t)??BS[2],i=r.icon;return(0,Y.jsxs)(du,{children:[(0,Y.jsx)(pu,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,title:`Appearance: ${r.label}`,"aria-label":`Appearance: ${r.label}`,className:U(`flex size-11 items-center justify-center rounded-xl text-text-subtle`,`can-hover:hover:bg-surface-elevated can-hover:hover:text-foreground`,e),children:(0,Y.jsx)(i,{className:`size-[18px]`})})}),(0,Y.jsxs)(mu,{align:`end`,className:`w-44`,children:[(0,Y.jsx)(yu,{children:`Appearance`}),BS.map(e=>{let r=e.icon;return(0,Y.jsxs)(hu,{onClick:()=>n(e.value),className:`gap-2`,children:[(0,Y.jsx)(r,{className:`size-4 shrink-0`}),(0,Y.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),(0,Y.jsx)(An,{className:U(`size-4 shrink-0`,t===e.value?`opacity-100`:`opacity-0`)})]},e.value)})]})]})}),HS=`https://github.com/hienlh/ppm`,US={background:`radial-gradient(80% 60% at 50% -10%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 60%)`},WS={backgroundImage:`radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--text) 5%, transparent) 1px, transparent 0)`,backgroundSize:`26px 26px`};function GS({onSuccess:e}){let[t,n]=(0,J.useState)(``),[r,i]=(0,J.useState)(!1),a=V(e=>e.deviceName),o=V(e=>e.version),s=V(e=>e.tunnelActive),[c,l]=(0,J.useState)(null),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(!1),m=Ir(),h=V(e=>e.themeMode),g=V(e=>e.syncThemeToServer),_=h!==(0,J.useRef)(h).current;async function v(n){if(n.preventDefault(),!t.trim()){l(`Enter your password to continue`);return}d(!0),l(null);try{Hn(t.trim());let n=await(await fetch(`/api/auth/check`,{headers:{Authorization:`Bearer ${t.trim()}`}})).json();if(!n.ok)throw Error(n.error??`Invalid password`);_&&await g(),e()}catch(e){l(e instanceof Error?e.message:`Authentication failed`),localStorage.removeItem(`ppm-auth-token`)}finally{d(!1)}}return(0,Y.jsxs)(`div`,{className:`app-backdrop relative min-h-dvh overflow-hidden flex items-center justify-center p-6`,children:[(0,Y.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:US}),(0,Y.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:WS}),(0,Y.jsx)(VS,{className:`absolute right-[max(1rem,env(safe-area-inset-right))] top-[max(1rem,env(safe-area-inset-top))]`}),(0,Y.jsxs)(`div`,{className:`relative flex w-full max-w-[392px] flex-col items-center gap-[22px] text-center`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,Y.jsx)(`div`,{className:`flex size-16 items-center justify-center rounded-2xl border border-border bg-background shadow-float`,children:(0,Y.jsx)(`div`,{className:`flex size-[52px] items-center justify-center rounded-xl bg-surface-elevated`,children:(0,Y.jsx)(`span`,{className:`text-[15px] font-bold tracking-wide text-primary`,children:`PPM`})})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h1`,{className:`mb-1.5 text-2xl font-semibold tracking-tight text-foreground`,children:`Unlock your workspace`}),(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Enter your access password to unlock`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:[a&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-border bg-surface-elevated px-2.5 py-0.5 font-mono text-[11px] text-text-secondary`,children:[(0,Y.jsx)(m?Rt:jn,{className:`size-3 text-text-subtle`}),a]}),m?(s||o)&&(0,Y.jsxs)(`span`,{className:U(`inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 font-mono text-[11px]`,s?`border-success/30 bg-success/10 text-success`:`border-border bg-surface-elevated text-text-secondary`),children:[s&&(0,Y.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),s?`tunnel · `:``,o?`v${o}`:``]}):(0,Y.jsxs)(Y.Fragment,{children:[o&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center rounded-full border border-border bg-surface-elevated px-2.5 py-0.5 font-mono text-[11px] text-text-secondary`,children:[`v`,o]}),s&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-success/30 bg-success/10 px-2.5 py-0.5 font-mono text-[11px] text-success`,children:[(0,Y.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),`tunnel active`]})]})]})]}),(0,Y.jsxs)(`form`,{onSubmit:v,className:`flex w-full flex-col gap-3`,children:[(0,Y.jsxs)(`div`,{className:`relative w-full`,children:[(0,Y.jsx)(Ki,{type:r?`text`:`password`,placeholder:`Password`,value:t,onChange:e=>{n(e.target.value),c&&l(null)},className:`h-[50px] rounded-xl bg-surface-elevated pr-12 text-[15px] max-md:text-base`,autoFocus:!0}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),"aria-label":r?`Hide password`:`Show password`,className:`absolute right-2 top-1/2 flex size-9 -translate-y-1/2 items-center justify-center rounded-lg text-text-subtle can-hover:hover:bg-surface-elevated can-hover:hover:text-foreground`,children:r?(0,Y.jsx)(Dn,{className:`size-[18px]`}):(0,Y.jsx)(rn,{className:`size-[18px]`})})]}),c&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-error`,children:[(0,Y.jsx)(cn,{className:`size-[15px] shrink-0`}),(0,Y.jsx)(`span`,{children:c})]}),(0,Y.jsx)(q,{type:`submit`,disabled:u,className:`h-[50px] w-full text-[15px]`,children:u?`Checking…`:`Unlock`})]}),(0,Y.jsx)(`div`,{className:`hidden h-px w-full bg-border md:block`}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-center gap-5`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>mv(o),className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,Y.jsx)(Pn,{className:`size-[18px] md:size-3.5`}),(0,Y.jsx)(`span`,{className:`max-md:sr-only`,children:`Report Bug`})]}),(0,Y.jsxs)(`a`,{href:HS,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,Y.jsx)(oa,{className:`size-[18px] md:size-3.5`}),(0,Y.jsx)(`span`,{className:`max-md:sr-only`,children:`Repo`})]}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>p(!0),className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,Y.jsx)(et,{className:`size-[18px] md:size-3.5`}),(0,Y.jsx)(`span`,{className:`max-md:sr-only`,children:`Buy me a coffee`})]})]})]}),(0,Y.jsx)(RS,{open:f,onOpenChange:p}),(0,Y.jsx)(zS,{})]})}function KS(){let e=V(e=>e.themeStyle),t=V(e=>e.themeMode),n=V(e=>e.customThemeId),r=V(e=>e.customThemes),[i,a]=(0,J.useState)(0),o=(0,J.useMemo)(()=>Xi(e,t,r,n),[e,t,r,n,i]);return(0,J.useEffect)(()=>{ii(o)},[o,i]),(0,J.useEffect)(()=>{let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=window.matchMedia(`(max-width: 767px)`),n=()=>a(e=>e+1);return e.addEventListener(`change`,n),t.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n),t.removeEventListener(`change`,n)}},[]),o}var qS=Object.defineProperty,JS=Object.getOwnPropertyDescriptor,YS=Object.getOwnPropertyNames,XS=Object.prototype.hasOwnProperty,ZS=(e,t)=>{let n={};for(var r in e)qS(n,r,{get:e[r],enumerable:!0});return t||qS(n,Symbol.toStringTag,{value:`Module`}),n},QS=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=YS(t),a=0,o=i.length,s;a<o;a++)s=i[a],!XS.call(e,s)&&s!==n&&qS(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=JS(t,s))||r.enumerable});return e},$S=(e,t,n)=>(QS(e,t,`default`),n&&QS(n,t,`default`)),eC=[{id:`abap`,name:`ABAP`,import:(()=>H(()=>import(`./abap-DrxZXLHj.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>H(()=>import(`./actionscript-3-DOPR4pRC.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>H(()=>import(`./ada-DkqjEnDr.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>H(()=>import(`./angular-html-DnrsWZqK.js`).then(e=>e.n),__vite__mapDeps([91,1,92,93,94])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>H(()=>import(`./angular-ts-BXEqA9t1.js`),__vite__mapDeps([95,91,1,92,93,94,96])))},{id:`apache`,name:`Apache Conf`,import:(()=>H(()=>import(`./apache-DYwdQ5F_.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>H(()=>import(`./apex-Dohu7DfB.js`),[]))},{id:`apl`,name:`APL`,import:(()=>H(()=>import(`./apl-DUQ6Oyth.js`),__vite__mapDeps([97,93,1,92,94,98,99,100])))},{id:`applescript`,name:`AppleScript`,import:(()=>H(()=>import(`./applescript-CdfGIVqp.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>H(()=>import(`./ara-i3_3TMnI.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>H(()=>import(`./asciidoc-DJFM-7vl.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>H(()=>import(`./asm-bMFssizQ.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>H(()=>import(`./astro-CakOjJ6X.js`),__vite__mapDeps([101,93,1,94,98,102,103,104])))},{id:`awk`,name:`AWK`,import:(()=>H(()=>import(`./awk-FFWx9ZrE.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>H(()=>import(`./ballerina-DhyJcKkq.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>H(()=>import(`./bat-GOVQY81F.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>H(()=>import(`./beancount-BO749Rhc.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>H(()=>import(`./berry-CHYYKXmK.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>H(()=>import(`./bibtex-BnYiDnxT.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>H(()=>import(`./bicep-kljgR_G3.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>H(()=>import(`./bird2-DnLtJGhV.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>H(()=>import(`./blade-C903KM82.js`),__vite__mapDeps([105,93,1,106,92,94,98,107,99,100])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>H(()=>import(`./bsl-slfcE_kB.js`),__vite__mapDeps([108,109])))},{id:`c`,name:`C`,import:(()=>H(()=>import(`./c-BWO-aeyf.js`).then(e=>e.n),__vite__mapDeps([110,1])))},{id:`c3`,name:`C3`,import:(()=>H(()=>import(`./c3-fc_jio6D.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>H(()=>import(`./cadence-DopRCrdB.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>H(()=>import(`./cairo-DRwEaH6w.js`),__vite__mapDeps([111,112])))},{id:`clarity`,name:`Clarity`,import:(()=>H(()=>import(`./clarity-0cRLlvQe.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>H(()=>import(`./clojure-DPqZAcpI.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>H(()=>import(`./cmake-Bx26bw5u.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>H(()=>import(`./cobol--n4m6b70.js`),__vite__mapDeps([113,92,1,93,94,100])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>H(()=>import(`./codeowners-BpgxIgxr.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>H(()=>import(`./codeql-TRoWjo5g.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>H(()=>import(`./coffee-CjyFmw8_.js`),__vite__mapDeps([114,94,1])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>H(()=>import(`./common-lisp-Ctohamsb.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>H(()=>import(`./coq-BO6TJSED.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>H(()=>import(`./cpp-D18jdQPZ.js`).then(e=>e.n),__vite__mapDeps([115,1,116,110,117,107])))},{id:`crystal`,name:`Crystal`,import:(()=>H(()=>import(`./crystal-CySzfH-7.js`),__vite__mapDeps([118,110,1,93,92,94,119,107])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>H(()=>import(`./csharp-DSy4nlrl.js`),[]))},{id:`css`,name:`CSS`,import:(()=>H(()=>import(`./css-Ca_hTmU6.js`).then(e=>e.n),__vite__mapDeps([93,1])))},{id:`csv`,name:`CSV`,import:(()=>H(()=>import(`./csv-DND7YJXD.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>H(()=>import(`./cue-BUnWK221.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>H(()=>import(`./cypher-CInm9Etl.js`),[]))},{id:`d`,name:`D`,import:(()=>H(()=>import(`./d-BbsB8r6R.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>H(()=>import(`./dart-BG2nw7Se.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>H(()=>import(`./dax-j4h6VhlV.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>H(()=>import(`./desktop-Dg34JDlS.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>H(()=>import(`./diff-CRrKo-mH.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>H(()=>import(`./docker-DAtcxZjt.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>H(()=>import(`./dotenv-DNUcgQCn.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>H(()=>import(`./dream-maker-BMH1JI2G.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>H(()=>import(`./edge-B6b5FHmU.js`),__vite__mapDeps([120,106,92,1,93,94,104])))},{id:`elixir`,name:`Elixir`,import:(()=>H(()=>import(`./elixir-Dpo1rvn2.js`),__vite__mapDeps([121,92,1,93,94])))},{id:`elm`,name:`Elm`,import:(()=>H(()=>import(`./elm-D9CNOsWT.js`),__vite__mapDeps([122,116,1,110])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>H(()=>import(`./emacs-lisp-BaAYIdWN.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>H(()=>import(`./erb-sY7Yee1W.js`),__vite__mapDeps([123,92,1,93,94,124,110,115,116,117,107,125,126,103,104,127,128,119,99,100,129])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>H(()=>import(`./erlang-CfyrBxyF.js`),__vite__mapDeps([130,131])))},{id:`fennel`,name:`Fennel`,import:(()=>H(()=>import(`./fennel-CmhYEhcM.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>H(()=>import(`./fish-p1jauFum.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>H(()=>import(`./fluent-BsH-lUh2.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>H(()=>import(`./fortran-fixed-form-N67gM_wp.js`),__vite__mapDeps([132,133])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>H(()=>import(`./fortran-free-form-CB6SdVKB.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>H(()=>import(`./fsharp-Dq0K01wX.js`),__vite__mapDeps([134,131])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>H(()=>import(`./gdresource-DkFbszqY.js`),__vite__mapDeps([135,136,137])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>H(()=>import(`./gdscript--YoKuvEA.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>H(()=>import(`./gdshader-BRtMwf5z.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>H(()=>import(`./genie-wrzVG2Z8.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>H(()=>import(`./gherkin-HnpURN27.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>H(()=>import(`./git-commit-Ddt_nerD.js`),__vite__mapDeps([138,139])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>H(()=>import(`./git-rebase-CVK5OA7i.js`),__vite__mapDeps([140,119,1])))},{id:`gleam`,name:`Gleam`,import:(()=>H(()=>import(`./gleam-refSZtkM.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>H(()=>import(`./glimmer-js-51jbYnyY.js`),__vite__mapDeps([141,93,1,92,94,104])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>H(()=>import(`./glimmer-ts-C5L1J32J.js`),__vite__mapDeps([142,93,1,92,94,104])))},{id:`glsl`,name:`GLSL`,import:(()=>H(()=>import(`./glsl-BcsfmwJZ.js`).then(e=>e.n),__vite__mapDeps([116,1,110])))},{id:`gn`,name:`GN`,import:(()=>H(()=>import(`./gn-BZ9cGckR.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>H(()=>import(`./gnuplot-CMHqDcTW.js`),[]))},{id:`go`,name:`Go`,import:(()=>H(()=>import(`./go-bFdCrzvY.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>H(()=>import(`./graphql-dv4wuJsK.js`).then(e=>e.n),__vite__mapDeps([125,1,94,126,103,104])))},{id:`groovy`,name:`Groovy`,import:(()=>H(()=>import(`./groovy-Dvz5tluQ.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>H(()=>import(`./hack-DLE5d3bx.js`),__vite__mapDeps([143,92,1,93,94,107])))},{id:`haml`,name:`Ruby Haml`,import:(()=>H(()=>import(`./haml-CoKfcM3E.js`).then(e=>e.n),__vite__mapDeps([127,1,93,94])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>H(()=>import(`./handlebars-Bn0jy8pD.js`),__vite__mapDeps([144,93,1,92,94,129])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>H(()=>import(`./haskell-D9jfkQuH.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>H(()=>import(`./haxe-Ckfl4osD.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>H(()=>import(`./hcl-t03N4k5N.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>H(()=>import(`./hjson-B_TIVRki.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>H(()=>import(`./hlsl-BBCTeANz.js`),[]))},{id:`html`,name:`HTML`,import:(()=>H(()=>import(`./html-DXzY5Cew.js`).then(e=>e.n),__vite__mapDeps([92,1,93,94])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>H(()=>import(`./html-derivative-DhcVfYuw.js`),__vite__mapDeps([106,92,1,93,94])))},{id:`http`,name:`HTTP`,import:(()=>H(()=>import(`./http-DepeIWQ1.js`),__vite__mapDeps([145,125,1,94,126,103,104,98,119,99,100])))},{id:`hurl`,name:`Hurl`,import:(()=>H(()=>import(`./hurl-CfsP4sCj.js`),__vite__mapDeps([146,147,125,1,94,126,103,104,99,100])))},{id:`hxml`,name:`HXML`,import:(()=>H(()=>import(`./hxml-IfVkY3HL.js`),__vite__mapDeps([148,149])))},{id:`hy`,name:`Hy`,import:(()=>H(()=>import(`./hy-BHFJHuHd.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>H(()=>import(`./imba-DyG0_0MS.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>H(()=>import(`./ini-CsCTH-_o.js`),[]))},{id:`java`,name:`Java`,import:(()=>H(()=>import(`./java-JWdrzVo8.js`).then(e=>e.n),__vite__mapDeps([100,1])))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>H(()=>import(`./javascript-5aQKJRxB.js`).then(e=>e.n),__vite__mapDeps([94,1])))},{id:`jinja`,name:`Jinja`,import:(()=>H(()=>import(`./jinja-DcCmNDQ8.js`),__vite__mapDeps([150,92,1,93,94])))},{id:`jison`,name:`Jison`,import:(()=>H(()=>import(`./jison-Bt-5cKVZ.js`),__vite__mapDeps([151,94,1])))},{id:`json`,name:`JSON`,import:(()=>H(()=>import(`./json-BOq7QblK.js`).then(e=>e.n),__vite__mapDeps([98,1])))},{id:`json5`,name:`JSON5`,import:(()=>H(()=>import(`./json5-g3g-IFTV.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>H(()=>import(`./jsonc-DQHBJwib.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>H(()=>import(`./jsonl-zFLDm4eB.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>H(()=>import(`./jsonnet-DgNm2IGn.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>H(()=>import(`./jssm-BErkU0In.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>H(()=>import(`./jsx-BSLWViGE.js`).then(e=>e.n),__vite__mapDeps([126,1])))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>H(()=>import(`./julia-DewYVRtE.js`),__vite__mapDeps([152,115,1,116,110,117,107,94,112,153])))},{id:`just`,name:`Just`,import:(()=>H(()=>import(`./just-CLT_ggBy.js`),__vite__mapDeps([154,94,1,155,93,92,107,99,100,112,124,110,115,116,117,125,126,103,104,127,128,119,129])))},{id:`kdl`,name:`KDL`,import:(()=>H(()=>import(`./kdl-DY4GHmJC.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>H(()=>import(`./kotlin-DeGTz7bl.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>H(()=>import(`./kusto-BN-OqpQj.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>H(()=>import(`./latex-DXmcayW1.js`),__vite__mapDeps([156,157,153,1])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>H(()=>import(`./lean-CAypLWCf.js`),[]))},{id:`less`,name:`Less`,import:(()=>H(()=>import(`./less-ikHAUlPb.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>H(()=>import(`./liquid-BVcHf0IA.js`),__vite__mapDeps([158,93,1,92,94,98])))},{id:`llvm`,name:`LLVM IR`,import:(()=>H(()=>import(`./llvm-CddObVkW.js`),[]))},{id:`log`,name:`Log file`,import:(()=>H(()=>import(`./log-CWbfGTTc.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>H(()=>import(`./logo-AHyhxX3Z.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>H(()=>import(`./lua-BYupsB1B.js`).then(e=>e.n),__vite__mapDeps([128,1,110])))},{id:`luau`,name:`Luau`,import:(()=>H(()=>import(`./luau-y7she9L3.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>H(()=>import(`./make-DP3sQaP3.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>H(()=>import(`./markdown-9Nuxib8a.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>H(()=>import(`./marko-CsD0R5tv.js`),__vite__mapDeps([159,93,1,160,96,104])))},{id:`matlab`,name:`MATLAB`,import:(()=>H(()=>import(`./matlab-CexKVVPc.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>H(()=>import(`./mdc-DP2tC4Kc.js`),__vite__mapDeps([161,106,92,1,93,94,131,129])))},{id:`mdx`,name:`MDX`,import:(()=>H(()=>import(`./mdx-BrcepHfI.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>H(()=>import(`./mermaid-CNFhZZaG.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>H(()=>import(`./mipsasm-B3x4L8Zk.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>H(()=>import(`./mojo-CvfXy3YL.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>H(()=>import(`./moonbit-6Z_VCO0_.js`),[]))},{id:`move`,name:`Move`,import:(()=>H(()=>import(`./move-B2__B6Po.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>H(()=>import(`./narrat-D6vL6wL-.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>H(()=>import(`./nextflow-FQM6iZO2.js`),__vite__mapDeps([162,163])))},{id:`nextflow-groovy`,name:`Nextflow Groovy`,import:(()=>H(()=>import(`./nextflow-groovy-L-FBME4e.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>H(()=>import(`./nginx-Bg0TK_a9.js`),__vite__mapDeps([164,128,1,110])))},{id:`nim`,name:`Nim`,import:(()=>H(()=>import(`./nim-D1kSCHdq.js`),__vite__mapDeps([165,110,1,93,116,92,94,131,99,100])))},{id:`nix`,name:`Nix`,import:(()=>H(()=>import(`./nix-dr279CcA.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>H(()=>import(`./nushell-DgeAQO7j.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>H(()=>import(`./objective-c-CO0-Pacn.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>H(()=>import(`./objective-cpp-SkrjegYw.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>H(()=>import(`./ocaml-CAihtkib.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>H(()=>import(`./odin-D0XZbUDB.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>H(()=>import(`./openscad-fZ9ggqM-.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>H(()=>import(`./pascal-DvZm-eun.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>H(()=>import(`./perl-B6QNc69s.js`),__vite__mapDeps([155,93,1,92,94,107,99,100])))},{id:`php`,name:`PHP`,import:(()=>H(()=>import(`./php-Bvwf1t96.js`),__vite__mapDeps([166,93,1,92,94,98,107,99,100])))},{id:`pkl`,name:`Pkl`,import:(()=>H(()=>import(`./pkl-CQSIp_z8.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>H(()=>import(`./plsql-B_HL7UfT.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>H(()=>import(`./po-DxAfbdfe.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>H(()=>import(`./polar-_mNmplk8.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>H(()=>import(`./postcss-GpU0Sjqc.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>H(()=>import(`./powerquery-B1IP1lCQ.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>H(()=>import(`./powershell-BiSO9XmG.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>H(()=>import(`./prisma-4QqDYSnH.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>H(()=>import(`./prolog-BNjvyRqT.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>H(()=>import(`./proto-RNOumnkw.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>H(()=>import(`./pug-I8oitXP4.js`),__vite__mapDeps([167,93,1,92,94])))},{id:`puppet`,name:`Puppet`,import:(()=>H(()=>import(`./puppet-CDfv5o8f.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>H(()=>import(`./purescript-YTjSoifd.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>H(()=>import(`./python-Mh7JD25U.js`),[]))},{id:`qml`,name:`QML`,import:(()=>H(()=>import(`./qml-LKb7CHg-.js`),__vite__mapDeps([168,94,1])))},{id:`qmldir`,name:`QML Directory`,import:(()=>H(()=>import(`./qmldir-Da_ZrqZy.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>H(()=>import(`./qss-DANVkyhy.js`),[]))},{id:`r`,name:`R`,import:(()=>H(()=>import(`./r-DHu15BOo.js`).then(e=>e.n),__vite__mapDeps([153,1])))},{id:`racket`,name:`Racket`,import:(()=>H(()=>import(`./racket-CwPOn4T1.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>H(()=>import(`./raku-B04lBsXd.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>H(()=>import(`./razor-CIPT897U.js`),__vite__mapDeps([169,170,92,1,93,94])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>H(()=>import(`./reg-44SURM-E.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>H(()=>import(`./regexp-Vdt2OEkk.js`).then(e=>e.n),__vite__mapDeps([117,1])))},{id:`rel`,name:`Rel`,import:(()=>H(()=>import(`./rel-Gu5Erhpm.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>H(()=>import(`./riscv-DZDP0Ce7.js`),[]))},{id:`ron`,name:`RON`,import:(()=>H(()=>import(`./ron-BwLObbl6.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>H(()=>import(`./rosmsg-BldDLaz1.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>H(()=>import(`./rst-BpcmfJFA.js`),__vite__mapDeps([171,172,115,1,116,110,117,107,106,92,93,94,112,124,125,126,103,104,127,128,119,99,100,129])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>H(()=>import(`./ruby-Cx413jgE.js`),__vite__mapDeps([124,110,1,115,116,117,107,93,125,94,126,103,104,127,92,128,119,99,100,129])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>H(()=>import(`./rust-74skZ8CC.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>H(()=>import(`./sas-B3ui_NHy.js`),__vite__mapDeps([173,107,1])))},{id:`sass`,name:`Sass`,import:(()=>H(()=>import(`./sass-CitUFDWl.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>H(()=>import(`./scala-D2kl5ghT.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>H(()=>import(`./scheme-DZqhC9Xs.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>H(()=>import(`./scss-V4NlXnGi.js`).then(e=>e.n),__vite__mapDeps([96,1,93])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>H(()=>import(`./sdbl-D6a8sHP9.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>H(()=>import(`./shaderlab-Cf7qZ4DR.js`),__vite__mapDeps([174,175])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>H(()=>import(`./shellscript-DRxJLgrx.js`).then(e=>e.n),__vite__mapDeps([119,1])))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>H(()=>import(`./shellsession-BfA8Fmhb.js`),__vite__mapDeps([176,119,1])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>H(()=>import(`./smalltalk-CYQHXftK.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>H(()=>import(`./solidity-CYCEiPu1.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>H(()=>import(`./soy-CGKN9rxg.js`),__vite__mapDeps([177,92,1,93,94])))},{id:`sparql`,name:`SPARQL`,import:(()=>H(()=>import(`./sparql-CArCsIdI.js`),__vite__mapDeps([178,179])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>H(()=>import(`./splunk-B7RHmJY2.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>H(()=>import(`./sql-ljEiM8nf.js`).then(e=>e.n),__vite__mapDeps([107,1])))},{id:`ssh-config`,name:`SSH Config`,import:(()=>H(()=>import(`./ssh-config-B74-n00O.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>H(()=>import(`./stata-CplvndbA.js`),__vite__mapDeps([180,107,1])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>H(()=>import(`./stylus-xlRhcbpN.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>H(()=>import(`./surrealql-DwX1PCpP.js`),__vite__mapDeps([181,94,1])))},{id:`svelte`,name:`Svelte`,import:(()=>H(()=>import(`./svelte-DYCNmQjy.js`),__vite__mapDeps([182,93,1,94,102,104])))},{id:`swift`,name:`Swift`,import:(()=>H(()=>import(`./swift-DTFwWJtu.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>H(()=>import(`./system-verilog-CgxJCrOK.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>H(()=>import(`./systemd-D0x7_XYJ.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>H(()=>import(`./talonscript-B50aQRuc.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>H(()=>import(`./tasl-Byv8gHCL.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>H(()=>import(`./tcl-CzMjCzWo.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>H(()=>import(`./templ-b_h2-Z9l.js`),__vite__mapDeps([183,93,1,184,94])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>H(()=>import(`./terraform-D6GH4CXG.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>H(()=>import(`./tex-022M3-MR.js`),__vite__mapDeps([157,153,1])))},{id:`toml`,name:`TOML`,import:(()=>H(()=>import(`./toml-D9W-BuJE.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>H(()=>import(`./ts-tags-BUl0AdO6.js`),__vite__mapDeps([185,93,1,116,110,92,94,107,104,99,100])))},{id:`tsv`,name:`TSV`,import:(()=>H(()=>import(`./tsv-BddanT8p.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>H(()=>import(`./tsx-CKaH7SzK.js`).then(e=>e.n),__vite__mapDeps([103,1])))},{id:`turtle`,name:`Turtle`,import:(()=>H(()=>import(`./turtle-BddVklvD.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>H(()=>import(`./twig-CMzYUcSa.js`),__vite__mapDeps([186,93,1,94,166,92,98,107,99,100,112,124,110,115,116,117,125,126,103,104,127,128,119,129,96])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>H(()=>import(`./typescript-DZozDFsi.js`).then(e=>e.n),__vite__mapDeps([104,1])))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>H(()=>import(`./typespec-D60I2kfB.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>H(()=>import(`./typst-Bxvc-9ID.js`),[]))},{id:`v`,name:`V`,import:(()=>H(()=>import(`./v-kVYZE10o.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>H(()=>import(`./vala-B3zj44PV.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>H(()=>import(`./vb-CHgWrFTj.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>H(()=>import(`./verilog-zIMuE3hE.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>H(()=>import(`./vhdl-Q2EtgpQN.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>H(()=>import(`./viml-CrtDZkFz.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>H(()=>import(`./vue-D83SsURi.js`),__vite__mapDeps([187,93,1,106,92,94,98,104])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>H(()=>import(`./vue-html-BGU-OYYb.js`),__vite__mapDeps([188,94,1])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>H(()=>import(`./vue-vine-1sHE1gZn.js`),__vite__mapDeps([189,93,1,94,160,102,96,190])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>H(()=>import(`./vyper-LQ1KxOUo.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>H(()=>import(`./wasm-B-mpMVDM.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>H(()=>import(`./wenyan-LqMyA7px.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>H(()=>import(`./wgsl-eI4U21sm.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>H(()=>import(`./wikitext-CuWC2dfS.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>H(()=>import(`./wit-CCPY0MNz.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>H(()=>import(`./wolfram-CXhjyJun.js`),[]))},{id:`xml`,name:`XML`,import:(()=>H(()=>import(`./xml-bWQJszMK.js`).then(e=>e.n),__vite__mapDeps([99,1,100])))},{id:`xsl`,name:`XSL`,import:(()=>H(()=>import(`./xsl-DTMc1Tsm.js`),__vite__mapDeps([191,99,1,100])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>H(()=>import(`./yaml-4pzZq5KT.js`).then(e=>e.n),__vite__mapDeps([129,1])))},{id:`zenscript`,name:`ZenScript`,import:(()=>H(()=>import(`./zenscript-BzHPI08Q.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>H(()=>import(`./zig-CBuhKUve.js`),[]))}],tC=Object.fromEntries(eC.map(e=>[e.id,e.import])),nC=Object.fromEntries(eC.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),rC={...tC,...nC},iC=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>H(()=>import(`./andromeeda-BSZjevw2.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>H(()=>import(`./aurora-x-CetC7M8b.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>H(()=>import(`./ayu-dark-D4ION2wO.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>H(()=>import(`./ayu-light-BZN99P5A.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>H(()=>import(`./ayu-mirage-B-IpsKiL.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>H(()=>import(`./catppuccin-frappe-DL6iCUa8.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>H(()=>import(`./catppuccin-latte-DNF7n3uY.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>H(()=>import(`./catppuccin-macchiato-ByMic_k0.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>H(()=>import(`./catppuccin-mocha-DcrJtZtv.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>H(()=>import(`./dark-plus-DkzIiuQX.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>H(()=>import(`./dracula-bhhaShNC.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>H(()=>import(`./dracula-soft-CeHAoi-D.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>H(()=>import(`./everforest-dark-Cs91gPa_.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>H(()=>import(`./everforest-light-lTkE6qWA.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>H(()=>import(`./github-dark-XlZ3pGhn.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>H(()=>import(`./github-dark-default-D_R0hfJe.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>H(()=>import(`./github-dark-dimmed-BHQgHLnK.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>H(()=>import(`./github-dark-high-contrast-Pbl4mEFe.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>H(()=>import(`./github-light-0P0VANJn.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>H(()=>import(`./github-light-default-DTfsnyDq.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>H(()=>import(`./github-light-high-contrast-DKITR-5Y.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>H(()=>import(`./gruvbox-dark-hard-D0Z-pclr.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>H(()=>import(`./gruvbox-dark-medium-BG6oIRQR.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>H(()=>import(`./gruvbox-dark-soft-ILJ-3tU6.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>H(()=>import(`./gruvbox-light-hard-Bl95khkz.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>H(()=>import(`./gruvbox-light-medium-CdislFOh.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>H(()=>import(`./gruvbox-light-soft-CTcEyxlX.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>H(()=>import(`./horizon-CRY-xdGU.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`light`,import:(()=>H(()=>import(`./horizon-bright-BpUM2C5u.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>H(()=>import(`./houston-RVyAGlyS.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>H(()=>import(`./kanagawa-dragon-Dgymfjca.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>H(()=>import(`./kanagawa-lotus-CWZEYd27.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>H(()=>import(`./kanagawa-wave-CQg17ecf.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>H(()=>import(`./laserwave-bAqiAiOp.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>H(()=>import(`./light-plus-BamuTcT9.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>H(()=>import(`./material-theme-DDpm-uS7.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>H(()=>import(`./material-theme-darker-CHk91wbm.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>H(()=>import(`./material-theme-lighter-LkmOI8KM.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>H(()=>import(`./material-theme-ocean-PpkUhB4-.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>H(()=>import(`./material-theme-palenight-DZAigXgW.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>H(()=>import(`./min-dark-hd3nbDV4.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>H(()=>import(`./min-light-AqA5jmks.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>H(()=>import(`./monokai-CdxwmnU_.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>H(()=>import(`./night-owl-DjKrkDjv.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>H(()=>import(`./night-owl-light-CeGjPuUQ.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>H(()=>import(`./nord-Dxn-_H_Y.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>H(()=>import(`./one-dark-pro-BUMNMxjX.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>H(()=>import(`./one-light-C0Ui69Bx.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>H(()=>import(`./plastic-CMspsouJ.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>H(()=>import(`./poimandres-JGmqmwux.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>H(()=>import(`./red-MW6Zm5pd.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>H(()=>import(`./rose-pine-Bz6ToXok.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>H(()=>import(`./rose-pine-dawn-LyFogzAh.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>H(()=>import(`./rose-pine-moon-CpjkefjD.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>H(()=>import(`./slack-dark-DrlPLUB_.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>H(()=>import(`./slack-ochin-Djgychog.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>H(()=>import(`./snazzy-light-BQAdF14K.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>H(()=>import(`./solarized-dark-JDtJfY-g.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>H(()=>import(`./solarized-light-DHzVPLDD.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>H(()=>import(`./synthwave-84-BuCpuX2E.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>H(()=>import(`./tokyo-night-CQ4rTpHY.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>H(()=>import(`./vesper-BjqPTQr0.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>H(()=>import(`./vitesse-black-D2VWO3oN.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>H(()=>import(`./vitesse-dark-lleZmHBJ.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>H(()=>import(`./vitesse-light-utUY298S.js`),[]))}].map(e=>[e.id,e.import])),aC=t({createOnigurumaEngine:()=>NC,getDefaultWasmLoader:()=>MC,loadWasm:()=>EC,setDefaultWasmLoader:()=>jC}),oC=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function sC(){return 2147483648}function cC(){return typeof performance<`u`?performance.now():Date.now()}var lC=(e,t)=>e+(t-e%t)%t;async function uC(e){let t,n,r={};function i(e){n=e,r.HEAPU8=new Uint8Array(e),r.HEAPU32=new Uint32Array(e)}function a(e,t,n){r.HEAPU8.copyWithin(e,t,t+n)}function o(e){try{return t.grow(e-n.byteLength+65535>>>16),i(t.buffer),1}catch{}}function s(e){let t=r.HEAPU8.length;e>>>=0;let n=sC();if(e>n)return!1;for(let r=1;r<=4;r*=2){let i=t*(1+.2/r);if(i=Math.min(i,e+100663296),o(Math.min(n,lC(Math.max(e,i),65536))))return!0}return!1}let c=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function l(e,t,n=1024){let r=t+n,i=t;for(;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&c)return c.decode(e.subarray(t,i));let a=``;for(;t<i;){let n=e[t++];if(!(n&128)){a+=String.fromCharCode(n);continue}let r=e[t++]&63;if((n&224)==192){a+=String.fromCharCode((n&31)<<6|r);continue}let i=e[t++]&63;if(n=(n&240)==224?(n&15)<<12|r<<6|i:(n&7)<<18|r<<12|i<<6|e[t++]&63,n<65536)a+=String.fromCharCode(n);else{let e=n-65536;a+=String.fromCharCode(55296|e>>10,56320|e&1023)}}return a}function u(e,t){return e?l(r.HEAPU8,e,t):``}let d={emscripten_get_now:cC,emscripten_memcpy_big:a,emscripten_resize_heap:s,fd_write:()=>0};async function f(){let n=await e({env:d,wasi_snapshot_preview1:d});t=n.memory,i(t.buffer),Object.assign(r,n),r.UTF8ToString=u}return await f(),r}var dC=Object.defineProperty,fC=(e,t,n)=>t in e?dC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pC=(e,t,n)=>fC(e,typeof t==`symbol`?t:t+``,n),mC=null;function hC(e){throw new oC(e.UTF8ToString(e.getLastOnigError()))}var gC=class e{constructor(t){pC(this,`utf16Length`),pC(this,`utf8Length`),pC(this,`utf16Value`),pC(this,`utf8Value`),pC(this,`utf16OffsetToUtf8`),pC(this,`utf8OffsetToUtf16`);let n=t.length,r=e._utf8ByteLength(t),i=r!==n,a=i?new Uint32Array(n+1):null;i&&(a[n]=r);let o=i?new Uint32Array(r+1):null;i&&(o[r]=n);let s=new Uint8Array(r),c=0;for(let e=0;e<n;e++){let r=t.charCodeAt(e),l=r,u=!1;if(r>=55296&&r<=56319&&e+1<n){let n=t.charCodeAt(e+1);n>=56320&&n<=57343&&(l=(r-55296<<10)+65536|n-56320,u=!0)}i&&(a[e]=c,u&&(a[e+1]=c),l<=127?o[c+0]=e:l<=2047?(o[c+0]=e,o[c+1]=e):l<=65535?(o[c+0]=e,o[c+1]=e,o[c+2]=e):(o[c+0]=e,o[c+1]=e,o[c+2]=e,o[c+3]=e)),l<=127?s[c++]=l:l<=2047?(s[c++]=192|(l&1984)>>>6,s[c++]=128|(l&63)>>>0):l<=65535?(s[c++]=224|(l&61440)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0):(s[c++]=240|(l&1835008)>>>18,s[c++]=128|(l&258048)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0),u&&e++}this.utf16Length=n,this.utf8Length=r,this.utf16Value=t,this.utf8Value=s,this.utf16OffsetToUtf8=a,this.utf8OffsetToUtf16=o}static _utf8ByteLength(e){let t=0;for(let n=0,r=e.length;n<r;n++){let i=e.charCodeAt(n),a=i,o=!1;if(i>=55296&&i<=56319&&n+1<r){let t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(a=(i-55296<<10)+65536|t-56320,o=!0)}a<=127?t+=1:a<=2047?t+=2:a<=65535?t+=3:t+=4,o&&n++}return t}createString(e){let t=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,t),t}},_C=class e{constructor(t){if(pC(this,`id`,++e.LAST_ID),pC(this,`_onigBinding`),pC(this,`content`),pC(this,`utf16Length`),pC(this,`utf8Length`),pC(this,`utf16OffsetToUtf8`),pC(this,`utf8OffsetToUtf16`),pC(this,`ptr`),!mC)throw new oC(`Must invoke loadWasm first.`);this._onigBinding=mC,this.content=t;let n=new gC(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=mC.omalloc(1e4),e._sharedPtrInUse=!0,mC.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(mC)}convertUtf8OffsetToUtf16(e){return this.utf8OffsetToUtf16?e<0?0:e>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[e]:e}convertUtf16OffsetToUtf8(e){return this.utf16OffsetToUtf8?e<0?0:e>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[e]:e}dispose(){this.ptr===e._sharedPtr?e._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};pC(_C,`LAST_ID`,0),pC(_C,`_sharedPtr`,0),pC(_C,`_sharedPtrInUse`,!1);var vC=_C,yC=class{constructor(e){if(pC(this,`_onigBinding`),pC(this,`_ptr`),!mC)throw new oC(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new gC(e[r]);t[r]=i.createString(mC),n[r]=i.utf8Length}let r=mC.omalloc(4*e.length);mC.HEAPU32.set(t,r/4);let i=mC.omalloc(4*e.length);mC.HEAPU32.set(n,i/4);let a=mC.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)mC.ofree(t[n]);mC.ofree(i),mC.ofree(r),a===0&&hC(mC),this._onigBinding=mC,this._ptr=a}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,t,n){let r=0;if(typeof n==`number`&&(r=n),typeof e==`string`){e=new vC(e);let n=this._findNextMatchSync(e,t,!1,r);return e.dispose(),n}return this._findNextMatchSync(e,t,!1,r)}_findNextMatchSync(e,t,n,r){let i=this._onigBinding,a=i.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(t),r);if(a===0)return null;let o=i.HEAPU32,s=a/4,c=o[s++],l=o[s++],u=[];for(let t=0;t<l;t++){let n=e.convertUtf8OffsetToUtf16(o[s++]),r=e.convertUtf8OffsetToUtf16(o[s++]);u[t]={start:n,end:r,length:r-n}}return{index:c,captureIndices:u}}};function bC(e){return typeof e.instantiator==`function`}function xC(e){return typeof e.default==`function`}function SC(e){return e.data!==void 0}function CC(e){return typeof Response<`u`&&e instanceof Response}function wC(e){return typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<`u`&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||typeof Uint32Array<`u`&&e instanceof Uint32Array}var TC;function EC(e){if(TC)return TC;async function t(){mC=await uC(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),bC(n)?n=await n.instantiator(t):xC(n)?n=await n.default(t):(SC(n)&&(n=n.data),CC(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await OC(n)(t):await kC(n)(t):wC(n)||n instanceof WebAssembly.Module?n=await DC(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await DC(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return TC=t(),TC}function DC(e){return t=>WebAssembly.instantiate(e,t)}function OC(e){return t=>WebAssembly.instantiateStreaming(e,t)}function kC(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}var AC;function jC(e){AC=e}function MC(){return AC}async function NC(e){return e&&await EC(e),{createScanner(e){return new yC(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new vC(e)}}}var PC=ZS({});$S(PC,aC);var FC=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function IC(e){return LC(e)}function LC(e){return Array.isArray(e)?RC(e):e instanceof RegExp?e:typeof e==`object`?zC(e):e}function RC(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=LC(e[n]);return t}function zC(e){let t={};for(let n in e)t[n]=LC(e[n]);return t}function BC(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function VC(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?VC(e.substring(0,e.length-1)):e.substr(~t+1)}var HC=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,UC=class{static hasCaptures(e){return e===null?!1:(HC.lastIndex=0,HC.test(e))}static replaceCaptures(e,t,n){return e.replace(HC,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function WC(e,t){return e<t?-1:e>t?1:0}function GC(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;r<n;r++){let n=WC(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function KC(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function qC(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var JC=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},YC=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(ew(e),t)}static createFromParsedTheme(e,t){return rw(e,t)}_cachedMatchRoot=new JC(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>ZC(e.parent,t.parentScopes));return n?new $C(n.fontStyle,n.foreground,n.background):null}},XC=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new e(n,t[r]);return n}push(t){return new e(this,t)}getSegments(){let e=this,t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(` `)}extends(e){return this===e?!0:this.parent===null?!1:this.parent.extends(e)}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push(n.scopeName),n=n.parent;return n===e?t.reverse():void 0}};function ZC(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],i=!1;if(r===`>`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!QC(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function QC(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var $C=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function ew(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e];if(!i.settings)continue;let a;if(typeof i.scope==`string`){let e=i.scope;e=e.replace(/^[,]+/,``),e=e.replace(/[,]+$/,``),a=e.split(`,`)}else a=Array.isArray(i.scope)?i.scope:[``];let o=-1;if(typeof i.settings.fontStyle==`string`){o=0;let e=i.settings.fontStyle.split(` `);for(let t=0,n=e.length;t<n;t++)switch(e[t]){case`italic`:o|=1;break;case`bold`:o|=2;break;case`underline`:o|=4;break;case`strikethrough`:o|=8;break}}let s=null;typeof i.settings.foreground==`string`&&KC(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&KC(i.settings.background)&&(c=i.settings.background);for(let t=0,i=a.length;t<i;t++){let i=a[t].trim().split(` `),l=i[i.length-1],u=null;i.length>1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new tw(l,u,e,o,s,c)}}return n}var tw=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},nw=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(nw||{});function rw(e,t){e.sort((e,t)=>{let n=WC(e.scope,t.scope);return n!==0||(n=GC(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new iw(t),o=new $C(n,a.getId(r),a.getId(i)),s=new sw(new ow(0,null,-1,0,0),[]);for(let t=0,n=e.length;t<n;t++){let n=e[t];s.insert(0,n.scope,n.parentScopes,n.fontStyle,a.getId(n.foreground),a.getId(n.background))}return new YC(a,o,s)}var iw=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},aw=Object.freeze([]),ow=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||aw,this.fontStyle=n,this.foreground=r,this.background=i}clone(){return new e(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n].clone();return t}acceptOverwrite(e,t,n,r){this.scopeDepth>e?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},sw=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),ow.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null){this._mainRule.acceptOverwrite(e,n,r,i);return}for(let a=0,o=this._rulesWithParentScopes.length;a<o;a++){let o=this._rulesWithParentScopes[a];if(GC(o.parentScopes,t)===0){o.acceptOverwrite(e,n,r,i);return}}n===-1&&(n=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),i===0&&(i=this._mainRule.background),this._rulesWithParentScopes.push(new ow(e,t,n,r,i))}},cw=class e{static toBinaryStr(e){return e.toString(2).padStart(32,`0`)}static print(t){let n=e.getLanguageId(t),r=e.getTokenType(t),i=e.getFontStyle(t),a=e.getForeground(t),o=e.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:i,foreground:a,background:o})}static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=e.containsBalancedBrackets(t)?1:0,d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=uw(r)),i!==null&&(u=i?1:0),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c<<0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function lw(e){return e}function uw(e){return e}function dw(e,t){let n=[],r=pw(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(fw(i)){let e=[];do e.push(i),i=r.next();while(fw(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function fw(e){return!!e&&!!e.match(/[\w\.:]+/)}function pw(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function mw(e){typeof e.dispose==`function`&&e.dispose()}var hw=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},gw=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},_w=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},vw=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new hw(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new _w;for(let n of e)yw(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof hw){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function yw(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof hw?xw({baseGrammar:a,selfGrammar:i},r):bw(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new hw(e))}function bw(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];Sw([r],t,n)}}function xw(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Sw(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Sw(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Sw(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?BC({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Sw(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=Ow(i);switch(a.kind){case 0:xw({...t,selfGrammar:t.baseGrammar},n);break;case 1:xw(t,n);break;case 2:bw(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?bw(a.ruleName,i,n):xw(i,n)}else a.kind===4?n.add(new gw(a.scopeName,a.ruleName)):n.add(new hw(a.scopeName));break}}}var Cw=class{kind=0},ww=class{kind=1},Tw=class{constructor(e){this.ruleName=e}kind=2},Ew=class{constructor(e){this.scopeName=e}kind=3},Dw=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Ow(e){if(e===`$base`)return new Cw;if(e===`$self`)return new ww;let t=e.indexOf(`#`);return t===-1?new Ew(e):t===0?new Tw(e.substring(1)):new Dw(e.substring(0,t),e.substring(t+1))}var kw=/\\(\d+)/,Aw=/\\(\d+)/g,jw=-1,Mw=-2;function Nw(e){return e}function Pw(e){return e}var Fw=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=UC.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=UC.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${VC(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:UC.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:UC.replaceCaptures(this._contentName,e,t)}},Iw=class extends Fw{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},Lw=class extends Fw{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new Hw(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Uw,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Rw=class extends Fw{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Uw,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},zw=class extends Fw{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new Hw(i,this.id),this.beginCaptures=a,this._end=new Hw(o||`￿`,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Uw;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Bw=class extends Fw{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new Hw(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new Hw(o,Mw),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Uw;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Uw,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||`￿`),this._cachedCompiledWhilePatterns}},Vw=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new Iw(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new Lw(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=BC({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new Rw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new Bw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new zw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;a<o;a++){let o=t[a],s=-1;if(o.include){let t=Ow(o.include);switch(t.kind){case 0:case 1:s=e.getCompiledRuleId(r[o.include],n,r);break;case 2:let i=r[t.ruleName];i&&(s=e.getCompiledRuleId(i,n,r));break;case 3:case 4:let a=t.scopeName,c=t.kind===4?t.ruleName:null,l=n.getExternalGrammar(a,r);if(l)if(c){let t=l.repository[c];t&&(s=e.getCompiledRuleId(t,n,l.repository))}else s=e.getCompiledRuleId(l.repository.$self,n,l.repository);break}}else s=e.getCompiledRuleId(o,n,r);if(s!==-1){let e=n.getRule(s),t=!1;if((e instanceof Rw||e instanceof zw||e instanceof Bw)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},Hw=class e{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(e,t){if(e&&typeof e==`string`){let t=e.length,n=0,r=[],i=!1;for(let a=0;a<t;a++)if(e.charAt(a)===`\\`&&a+1<t){let t=e.charAt(a+1);t===`z`?(r.push(e.substring(n,a)),r.push(`$(?!\\n)(?<!\\n)`),n=a+2):(t===`A`||t===`G`)&&(i=!0),a++}this.hasAnchor=i,n===0?this.source=e:(r.push(e.substring(n,t)),this.source=r.join(``))}else this.hasAnchor=!1,this.source=e;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=t,typeof this.source==`string`?this.hasBackReferences=kw.test(this.source):this.hasBackReferences=!1}clone(){return new e(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let n=t.map(t=>e.substring(t.start,t.end));return Aw.lastIndex=0,this.source.replace(Aw,(e,t)=>qC(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;i<a;i++)o=this.source.charAt(i),e[i]=o,t[i]=o,n[i]=o,r[i]=o,o===`\\`&&i+1<a&&(s=this.source.charAt(i+1),s===`A`?(e[i+1]=`￿`,t[i+1]=`￿`,n[i+1]=`A`,r[i+1]=`A`):s===`G`?(e[i+1]=`￿`,t[i+1]=`G`,n[i+1]=`￿`,r[i+1]=`G`):(e[i+1]=s,t[i+1]=s,n[i+1]=s,r[i+1]=s),i++);return{A0_G0:e.join(``),A0_G1:t.join(``),A1_G0:n.join(``),A1_G1:r.join(``)}}resolveAnchors(e,t){return!this.hasAnchor||!this._anchorCache||typeof this.source!=`string`?this.source:e?t?this._anchorCache.A1_G1:this._anchorCache.A1_G0:t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Uw=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&=(this._cached.dispose(),null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){return this._cached||=new Ww(e,this._items.map(e=>e.source),this._items.map(e=>e.ruleId)),this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new Ww(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},Ww=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(` - `+this.rules[t]+`: `+this.regExps[t]);return e.join(`
23
+ `);return(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`div`,{className:`text-[11px] font-mono font-semibold text-text mb-1`,children:[`v`,e]}),(0,Y.jsx)(`div`,{className:`space-y-1`,children:n.map((e,t)=>{let n=e.trim();return n?n.startsWith(`### `)?(0,Y.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wide text-text-3 pt-1`,children:n.slice(4)},t):n.startsWith(`- `)?(0,Y.jsxs)(`div`,{className:`flex gap-1.5 text-text-2`,children:[(0,Y.jsx)(`span`,{className:`text-text-3 shrink-0`,children:`•`}),(0,Y.jsx)(`span`,{className:`min-w-0 break-words`,children:Cy(n.slice(2))})]},t):(0,Y.jsx)(`div`,{className:`text-text-2 break-words`,children:Cy(n)},t):null})})]})}var Ty=Gn(e=>({active:!1,setActive:t=>e(e=>e.active===t?e:{active:t})})),Ey=`Screen awake`,Dy=`Screen is being kept on while this turn runs`,Oy=(0,J.memo)(function(){return Ty(e=>e.active)?(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 text-warning shrink-0`,title:Dy,children:[(0,Y.jsx)(wt,{className:`size-3 shrink-0`}),(0,Y.jsx)(`span`,{children:`awake`})]}):null}),ky=(0,J.memo)(function(){return Ty(e=>e.active)?(0,Y.jsxs)(`div`,{className:`md:hidden fixed left-1/2 -translate-x-1/2 top-0 z-50 flex items-center gap-1 px-2 py-0.5 rounded-b bg-warning/85 text-white text-[10px] font-medium pointer-events-none`,title:Dy,children:[(0,Y.jsx)(wt,{className:`size-3 shrink-0`}),(0,Y.jsx)(`span`,{children:Ey})]}):null});function Ay(e,t){return e?e.tabs.filter(e=>!e.projectId||!t||e.projectId===t).length:0}var jy=(0,J.memo)(function(){let e=Pc(e=>e.statusBarItems),t=e.filter(e=>e.alignment===`left`).sort((e,t)=>t.priority-e.priority),n=e.filter(e=>e.alignment===`right`).sort((e,t)=>t.priority-e.priority);return(0,Y.jsxs)(`div`,{className:`@container hidden md:flex items-center justify-between gap-3 h-[26px] px-3.5 bg-panel border-t border-border-soft text-[11px] font-mono text-text-3 select-none shrink-0`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0 overflow-hidden`,children:[(0,Y.jsx)(My,{}),(0,Y.jsx)(ry,{}),t.map(e=>(0,Y.jsx)(Py,{item:e},e.id)),(0,Y.jsx)(Ny,{})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,Y.jsx)(Oy,{}),(0,Y.jsx)(Xv,{compact:!0}),n.map(e=>(0,Y.jsx)(Py,{item:e},e.id)),(0,Y.jsx)(ay,{}),(0,Y.jsx)(Sy,{})]})]})}),My=(0,J.memo)(function(){let e=G(e=>e.activeProject?.name??null),t=jd(t=>e?t.meta.get(e):void 0);if(!t?.branch)return null;let{branch:n,ahead:r,behind:i,tracking:a}=t,o=!!a&&r===0&&i===0;return(0,Y.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0`,children:[(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 text-primary min-w-0`,title:a?`Tracking ${a}`:`No upstream`,children:[(0,Y.jsx)(Ke,{className:`size-3 shrink-0`}),(0,Y.jsx)(`span`,{className:`truncate max-w-[140px]`,children:n})]}),(r>0||i>0)&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-1.5 shrink-0 @max-xl:hidden`,children:[r>0&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,Y.jsx)(Mt,{className:`size-3`}),r]}),i>0&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,Y.jsx)(Et,{className:`size-3`}),i]})]}),o&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 text-success shrink-0 @max-xl:hidden`,children:[(0,Y.jsx)(An,{className:`size-3`}),`synced`]})]})}),Ny=(0,J.memo)(function(){let e=W(e=>e.dock.visible),t=Ay(W(e=>e.panels[ar]),G(e=>e.activeProject?.name??null));return(0,Y.jsxs)(`button`,{onClick:()=>W.getState().toggleDock(),title:e?`Hide panel`:`Show panel`,"aria-label":e?`Hide panel`:`Show panel`,className:U(`flex items-center gap-1 px-1 rounded-sm transition-colors hover:bg-accent/15`,e?`text-primary`:`text-text-subtle hover:text-text-primary`),children:[(0,Y.jsx)(Qe,{className:`size-[11px]`}),t>0&&(0,Y.jsx)(`span`,{children:t})]})}),Py=(0,J.memo)(function({item:e}){let t=(0,Y.jsx)(`button`,{className:`truncate px-1 rounded-sm transition-colors ${e.command?`hover:bg-accent/15 hover:text-text-primary cursor-pointer`:`cursor-default`}`,onClick:()=>{e.command&&window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e.command}}))},children:e.text});return e.tooltip?(0,Y.jsxs)(_a,{children:[(0,Y.jsx)(va,{asChild:!0,children:t}),(0,Y.jsx)(ya,{side:`top`,className:`text-xs`,children:e.tooltip})]}):t}),Fy=`relative flex-1 min-h-0 overflow-hidden rounded-b-[8px] bg-panel`;function Iy(e,t,n){let r=mi(e),[i]=(0,J.useState)(()=>{let e=document.createElement(`div`);return e.className=Fy,e});return(0,J.useLayoutEffect)(()=>{let n=t.current;if(n)return n.append(i),li(e,i),()=>{let t=ui(e);t&&wl()===t&&t.detach(),li(e,null),i.remove()}},[i,t,e]),(0,J.useLayoutEffect)(()=>{i.classList.toggle(`hidden`,n&&!r)},[i,n,r]),{body:i,pip:r}}function Ly({pip:e,minimized:t}){return(0,Y.jsxs)(`div`,{className:U(`relative flex-1 min-h-0 flex flex-col items-center justify-center gap-3`,`rounded-b-[8px] bg-panel text-center px-4`,t&&`hidden`),children:[(0,Y.jsx)(`span`,{className:`text-xs text-text-2`,children:`Playing in picture-in-picture`}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>e.detach(),className:`min-h-11 min-w-11 px-4 rounded-md border border-border bg-surface-elevated text-sm text-text can-hover:hover:bg-panel-2 transition-colors`,children:`Bring back`})]})}function Ry(e){let t=`mac-folder-${(0,J.useId)()}`;return(0,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Y.jsx)(`defs`,{children:(0,Y.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Y.jsx)(`stop`,{offset:`0`,stopColor:`#7FC1FF`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#3E92E5`})]})}),(0,Y.jsx)(`path`,{d:`M2.5 8a2 2 0 0 1 2-2h5.2l1.7 2H19.5a2 2 0 0 1 2 2v7.5a2 2 0 0 1-2 2h-15a2 2 0 0 1-2-2V8Z`,fill:`url(#${t})`}),(0,Y.jsx)(`path`,{d:`M2.5 10.5h19V9.8H4.7A2 2 0 0 0 2.5 10.5Z`,fill:`#FFFFFF`,fillOpacity:`.3`})]})}function zy(e){let t=`mac-folder-open-${(0,J.useId)()}`;return(0,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Y.jsx)(`defs`,{children:(0,Y.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,Y.jsx)(`stop`,{offset:`0`,stopColor:`#8FCBFF`}),(0,Y.jsx)(`stop`,{offset:`1`,stopColor:`#2F82D9`})]})}),(0,Y.jsx)(`path`,{d:`M2.5 8a2 2 0 0 1 2-2h5.2l1.7 2H19.5a2 2 0 0 1 2 2v.3H5.9a2 2 0 0 0-1.94 1.51L2.5 17.9V8Z`,fill:`#7FC1FF`}),(0,Y.jsx)(`path`,{d:`M2.13 18.36 3.98 11.1A2 2 0 0 1 5.92 9.6H21l-2.16 8a2 2 0 0 1-1.93 1.48H4.06a2 2 0 0 1-1.93-2.52Z`,fill:`url(#${t})`})]})}var By=`grid place-items-center size-6 rounded text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`;function Vy({id:e,className:t}){let n=mi(e);if(!rl())return null;let r=()=>{let t=ui(e);if(t){t.detach();return}let n=gi(e);if(!n){B.error(`This window has nothing to pop out yet`);return}let r=pr.getState().windows[e]?.rect;El(n,{width:r?.w??0,height:r?r.h-36:0,onDetach:()=>si(e,null)}).then(t=>{if(!(!t||wl()!==t)){if(gi(e)!==n){t.detach();return}si(e,t),nl(t.pipWindow.document)}}).catch(()=>{B.error(`Could not open the picture-in-picture window`)})},i=n?`Bring back from picture-in-picture`:`Open in picture-in-picture`;return(0,Y.jsx)(`button`,{type:`button`,title:i,"aria-label":i,"aria-pressed":!!n,className:U(t??By,n&&`text-primary`),onClick:r,children:(0,Y.jsx)(ke,{className:`size-3.5`})})}var Hy=[{color:`#FF5F57`,label:`Close window`,Icon:he},{color:`#FEBC2E`,label:`Minimize window`,Icon:ve},{color:`#28C840`,label:`Maximize window`,Icon:_n}];function Uy({id:e,title:t,focused:n,titlebarProps:r,onMinimize:i,onToggleMaximize:a,onClose:o}){let{className:s,style:c,...l}=r,u=[o,i,a];return(0,Y.jsxs)(`div`,{...l,"data-skin":`macos`,style:{height:36,fontFamily:`var(--x-font)`,...c},className:U(`group/titlebar relative flex items-center shrink-0 rounded-t-[var(--x-radius)] overflow-hidden`,`bg-[var(--x-titlebar-bg)] border-b border-border`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,s),children:[(0,Y.jsx)(`div`,{className:`flex items-center gap-2 pl-3`,children:Hy.map(({color:e,label:t,Icon:r},i)=>(0,Y.jsx)(`button`,{type:`button`,"aria-label":t,onClick:u[i],className:`grid size-3 place-items-center rounded-full`,style:{backgroundColor:n?e:`#8E8E93`},children:(0,Y.jsx)(r,{className:`size-2 text-black/60 can-hover:opacity-0 can-hover:group-hover/titlebar:opacity-100`,strokeWidth:3})},t))}),(0,Y.jsx)(`span`,{className:U(`pointer-events-none flex-1 min-w-0 truncate text-center text-[13px] px-2`,n?`text-text`:`text-text-2`),children:t}),(0,Y.jsx)(`div`,{className:`flex items-center pr-2`,children:(0,Y.jsx)(Vy,{id:e})})]})}var Wy={id:`macos`,vocab:{home:`Home`,pinned:`Favorites`,known:`Locations`,drives:`Devices`},FolderIcon:Ry,FolderOpenIcon:zy,chrome:Uy};function Gy(e){return(0,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Y.jsx)(`path`,{d:`M3 7.5a1.5 1.5 0 0 1 1.5-1.5H10l1.6 2H19.5A1.5 1.5 0 0 1 21 9.5v8A1.5 1.5 0 0 1 19.5 19h-15A1.5 1.5 0 0 1 3 17.5v-10Z`,fill:`#FFC93E`}),(0,Y.jsx)(`path`,{d:`M3 9.5h18v8A1.5 1.5 0 0 1 19.5 19h-15A1.5 1.5 0 0 1 3 17.5v-8Z`,fill:`#FFCE49`}),(0,Y.jsx)(`path`,{d:`M4 9.2h16`,stroke:`#FFFFFF`,strokeOpacity:`.35`,strokeWidth:`1`})]})}function Ky(e){return(0,Y.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,Y.jsx)(`path`,{d:`M3 7.5a1.5 1.5 0 0 1 1.5-1.5H10l1.6 2H19.5A1.5 1.5 0 0 1 21 9.5v.5H5.2a1.5 1.5 0 0 0-1.45 1.13L2 18.2V7.5Z`,fill:`#FFC93E`}),(0,Y.jsx)(`path`,{d:`M2.62 18.66 4.3 12.1A1.5 1.5 0 0 1 5.75 11H21l-1.86 6.63A1.5 1.5 0 0 1 17.7 18.7H4.06a1.5 1.5 0 0 1-1.44-1.9Z`,fill:`#FFB92E`})]})}var qy=`grid place-items-center w-[46px] self-stretch text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`,Jy=U(qy,`can-hover:hover:!bg-[#c42b1c] can-hover:hover:!text-white`);function Yy({id:e,kind:t,title:n,state:r,focused:i,titlebarProps:a,onMinimize:o,onToggleMaximize:s,onClose:c}){let{className:l,style:u,...d}=a;return(0,Y.jsxs)(`div`,{...d,"data-skin":`windows`,style:{height:36,fontFamily:`var(--x-font)`,...u},className:U(`flex items-stretch shrink-0 rounded-t-[var(--x-radius)] overflow-hidden`,`bg-[var(--x-titlebar-bg)] border-b border-border`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,l),children:[(0,Y.jsxs)(`div`,{className:`flex flex-1 min-w-0 items-center gap-2 px-2.5 cursor-default`,children:[t===`explorer`&&(0,Y.jsx)(Gy,{className:`size-4 shrink-0`}),(0,Y.jsx)(`span`,{className:U(`truncate text-[12px]`,i?`text-text`:`text-text-2`),children:n})]}),(0,Y.jsx)(Vy,{id:e,className:qy}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":`Minimize window`,className:qy,onClick:o,children:(0,Y.jsx)(ve,{className:`size-3.5`})}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":r===`maximized`?`Restore window`:`Maximize window`,className:qy,onClick:s,children:r===`maximized`?(0,Y.jsx)(un,{className:`size-3`}):(0,Y.jsx)(on,{className:`size-3`})}),(0,Y.jsx)(`button`,{type:`button`,"aria-label":`Close window`,className:Jy,onClick:c,children:(0,Y.jsx)(he,{className:`size-3.5`})})]})}var Xy={id:`windows`,vocab:{home:`Home`,pinned:`Quick access`,known:`Folders`,drives:`Drives`},FolderIcon:Gy,FolderOpenIcon:Ky,chrome:Yy};function Zy(){let e=V(e=>e.explorerSkin),{host:t}=Hf();return e===`windows`?Xy:e===`macos`?Wy:t?.platform===`win32`?Xy:Wy}function Qy(e){let t=Zy().chrome;return(0,Y.jsx)(t,{...e})}function $y(e,t,n){return Math.max(t,Math.min(e,n))}var eb={toVector(e,t){return e===void 0&&(e=t),Array.isArray(e)?e:[e,e]},add(e,t){return[e[0]+t[0],e[1]+t[1]]},sub(e,t){return[e[0]-t[0],e[1]-t[1]]},addTo(e,t){e[0]+=t[0],e[1]+=t[1]},subTo(e,t){e[0]-=t[0],e[1]-=t[1]}};function tb(e,t,n){return t===0||Math.abs(t)===1/0?e**(n*5):e*t*n/(t+n*e)}function nb(e,t,n,r=.15){return r===0?$y(e,t,n):e<t?-tb(t-e,n-t,r)+t:e>n?+tb(e-n,n-t,r)+n:e}function rb(e,[t,n],[r,i]){let[[a,o],[s,c]]=e;return[nb(t,a,o,r),nb(n,s,c,i)]}function ib(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function ab(e){var t=ib(e,`string`);return typeof t==`symbol`?t:String(t)}function ob(e,t,n){return t=ab(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function sb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function cb(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?sb(Object(n),!0).forEach(function(t){ob(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sb(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var lb={pointer:{start:`down`,change:`move`,end:`up`},mouse:{start:`down`,change:`move`,end:`up`},touch:{start:`start`,change:`move`,end:`end`},gesture:{start:`start`,change:`change`,end:`end`}};function ub(e){return e?e[0].toUpperCase()+e.slice(1):``}var db=[`enter`,`leave`];function fb(e=!1,t){return e&&!db.includes(t)}function pb(e,t=``,n=!1){let r=lb[e],i=r&&r[t]||t;return`on`+ub(e)+ub(i)+(fb(n,i)?`Capture`:``)}var mb=[`gotpointercapture`,`lostpointercapture`];function hb(e){let t=e.substring(2).toLowerCase(),n=!!~t.indexOf(`passive`);n&&(t=t.replace(`passive`,``));let r=mb.includes(t)?`capturecapture`:`capture`,i=!!~t.indexOf(r);return i&&(t=t.replace(`capture`,``)),{device:t,capture:i,passive:n}}function gb(e,t=``){let n=lb[e];return e+(n&&n[t]||t)}function _b(e){return`touches`in e}function vb(e){return _b(e)?`touch`:`pointerType`in e?e.pointerType:`mouse`}function yb(e){return Array.from(e.touches).filter(t=>{var n,r;return t.target===e.currentTarget||((n=e.currentTarget)==null||(r=n.contains)==null?void 0:r.call(n,t.target))})}function bb(e){return e.type===`touchend`||e.type===`touchcancel`?e.changedTouches:e.targetTouches}function xb(e){return _b(e)?bb(e)[0]:e}function Sb(e,t){try{let n=t.clientX-e.clientX,r=t.clientY-e.clientY,i=(t.clientX+e.clientX)/2,a=(t.clientY+e.clientY)/2,o=Math.hypot(n,r);return{angle:-(Math.atan2(n,r)*180)/Math.PI,distance:o,origin:[i,a]}}catch{}return null}function Cb(e){return yb(e).map(e=>e.identifier)}function wb(e,t){let[n,r]=Array.from(e.touches).filter(e=>t.includes(e.identifier));return Sb(n,r)}function Tb(e){let t=xb(e);return _b(e)?t.identifier:t.pointerId}function Eb(e){let t=xb(e);return[t.clientX,t.clientY]}var Db=40,Ob=800;function kb(e){let{deltaX:t,deltaY:n,deltaMode:r}=e;return r===1?(t*=Db,n*=Db):r===2&&(t*=Ob,n*=Ob),[t,n]}function Ab(e){let{scrollX:t,scrollY:n,scrollLeft:r,scrollTop:i}=e.currentTarget;return[t??r??0,n??i??0]}function jb(e){let t={};if(`buttons`in e&&(t.buttons=e.buttons),`shiftKey`in e){let{shiftKey:n,altKey:r,metaKey:i,ctrlKey:a}=e;Object.assign(t,{shiftKey:n,altKey:r,metaKey:i,ctrlKey:a})}return t}function Mb(e,...t){return typeof e==`function`?e(...t):e}function Nb(){}function Pb(...e){return e.length===0?Nb:e.length===1?e[0]:function(){let t;for(let n of e)t=n.apply(this,arguments)||t;return t}}function Fb(e,t){return Object.assign({},t,e||{})}var Ib=32,Lb=class{constructor(e,t,n){this.ctrl=e,this.args=t,this.key=n,this.state||(this.state={},this.computeValues([0,0]),this.computeInitial(),this.init&&this.init(),this.reset())}get state(){return this.ctrl.state[this.key]}set state(e){this.ctrl.state[this.key]=e}get shared(){return this.ctrl.state.shared}get eventStore(){return this.ctrl.gestureEventStores[this.key]}get timeoutStore(){return this.ctrl.gestureTimeoutStores[this.key]}get config(){return this.ctrl.config[this.key]}get sharedConfig(){return this.ctrl.config.shared}get handler(){return this.ctrl.handlers[this.key]}reset(){let{state:e,shared:t,ingKey:n,args:r}=this;t[n]=e._active=e.active=e._blocked=e._force=!1,e._step=[!1,!1],e.intentional=!1,e._movement=[0,0],e._distance=[0,0],e._direction=[0,0],e._delta=[0,0],e._bounds=[[-1/0,1/0],[-1/0,1/0]],e.args=r,e.axis=void 0,e.memo=void 0,e.elapsedTime=e.timeDelta=0,e.direction=[0,0],e.distance=[0,0],e.overflow=[0,0],e._movementBound=[!1,!1],e.velocity=[0,0],e.movement=[0,0],e.delta=[0,0],e.timeStamp=0}start(e){let t=this.state,n=this.config;t._active||(this.reset(),this.computeInitial(),t._active=!0,t.target=e.target,t.currentTarget=e.currentTarget,t.lastOffset=n.from?Mb(n.from,t):t.offset,t.offset=t.lastOffset,t.startTime=t.timeStamp=e.timeStamp)}computeValues(e){let t=this.state;t._values=e,t.values=this.config.transform(e)}computeInitial(){let e=this.state;e._initial=e._values,e.initial=e.values}compute(e){let{state:t,config:n,shared:r}=this;t.args=this.args;let i=0;if(e&&(t.event=e,n.preventDefault&&e.cancelable&&t.event.preventDefault(),t.type=e.type,r.touches=this.ctrl.pointerIds.size||this.ctrl.touchIds.size,r.locked=!!document.pointerLockElement,Object.assign(r,jb(e)),r.down=r.pressed=r.buttons%2==1||r.touches>0,i=e.timeStamp-t.timeStamp,t.timeStamp=e.timeStamp,t.elapsedTime=t.timeStamp-t.startTime),t._active){let e=t._delta.map(Math.abs);eb.addTo(t._distance,e)}this.axisIntent&&this.axisIntent(e);let[a,o]=t._movement,[s,c]=n.threshold,{_step:l,values:u}=t;if(n.hasCustomTransform?(l[0]===!1&&(l[0]=Math.abs(a)>=s&&u[0]),l[1]===!1&&(l[1]=Math.abs(o)>=c&&u[1])):(l[0]===!1&&(l[0]=Math.abs(a)>=s&&Math.sign(a)*s),l[1]===!1&&(l[1]=Math.abs(o)>=c&&Math.sign(o)*c)),t.intentional=l[0]!==!1||l[1]!==!1,!t.intentional)return;let d=[0,0];if(n.hasCustomTransform){let[e,t]=u;d[0]=l[0]===!1?0:e-l[0],d[1]=l[1]===!1?0:t-l[1]}else d[0]=l[0]===!1?0:a-l[0],d[1]=l[1]===!1?0:o-l[1];this.restrictToAxis&&!t._blocked&&this.restrictToAxis(d);let f=t.offset,p=t._active&&!t._blocked||t.active;p&&(t.first=t._active&&!t.active,t.last=!t._active&&t.active,t.active=r[this.ingKey]=t._active,e&&(t.first&&(`bounds`in n&&(t._bounds=Mb(n.bounds,t)),this.setup&&this.setup()),t.movement=d,this.computeOffset()));let[m,h]=t.offset,[[g,_],[v,y]]=t._bounds;t.overflow=[m<g?-1:m>_?1:0,h<v?-1:h>y?1:0],t._movementBound[0]=t.overflow[0]?t._movementBound[0]===!1?t._movement[0]:t._movementBound[0]:!1,t._movementBound[1]=t.overflow[1]?t._movementBound[1]===!1?t._movement[1]:t._movementBound[1]:!1;let b=t._active&&n.rubberband||[0,0];if(t.offset=rb(t._bounds,t.offset,b),t.delta=eb.sub(t.offset,f),this.computeMovement(),p&&(!t.last||i>Ib)){t.delta=eb.sub(t.offset,f);let e=t.delta.map(Math.abs);eb.addTo(t.distance,e),t.direction=t.delta.map(Math.sign),t._direction=t._delta.map(Math.sign),!t.first&&i>0&&(t.velocity=[e[0]/i,e[1]/i],t.timeDelta=i)}}emit(){let e=this.state,t=this.shared,n=this.config;if(e._active||this.clean(),(e._blocked||!e.intentional)&&!e._force&&!n.triggerAllEvents)return;let r=this.handler(cb(cb(cb({},t),e),{},{[this.aliasKey]:e.values}));r!==void 0&&(e.memo=r)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}};function Rb([e,t],n){let r=Math.abs(e),i=Math.abs(t);if(r>i&&r>n)return`x`;if(i>r&&i>n)return`y`}var zb=class extends Lb{constructor(...e){super(...e),ob(this,`aliasKey`,`xy`)}reset(){super.reset(),this.state.axis=void 0}init(){this.state.offset=[0,0],this.state.lastOffset=[0,0]}computeOffset(){this.state.offset=eb.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=eb.sub(this.state.offset,this.state.lastOffset)}axisIntent(e){let t=this.state,n=this.config;if(!t.axis&&e){let r=typeof n.axisThreshold==`object`?n.axisThreshold[vb(e)]:n.axisThreshold;t.axis=Rb(t._movement,r)}t._blocked=(n.lockDirection||!!n.axis)&&!t.axis||!!n.axis&&n.axis!==t.axis}restrictToAxis(e){if(this.config.axis||this.config.lockDirection)switch(this.state.axis){case`x`:e[1]=0;break;case`y`:e[0]=0;break}}},Bb=e=>e,Vb=.15,Hb={enabled(e=!0){return e},eventOptions(e,t,n){return cb(cb({},n.shared.eventOptions),e)},preventDefault(e=!1){return e},triggerAllEvents(e=!1){return e},rubberband(e=0){switch(e){case!0:return[Vb,Vb];case!1:return[0,0];default:return eb.toVector(e)}},from(e){if(typeof e==`function`)return e;if(e!=null)return eb.toVector(e)},transform(e,t,n){let r=e||n.shared.transform;return this.hasCustomTransform=!!r,r||Bb},threshold(e){return eb.toVector(e,0)}},Ub=0,Wb=cb(cb({},Hb),{},{axis(e,t,{axis:n}){if(this.lockDirection=n===`lock`,!this.lockDirection)return n},axisThreshold(e=Ub){return e},bounds(e={}){if(typeof e==`function`)return t=>Wb.bounds(e(t));if(`current`in e)return()=>e.current;if(typeof HTMLElement==`function`&&e instanceof HTMLElement)return e;let{left:t=-1/0,right:n=1/0,top:r=-1/0,bottom:i=1/0}=e;return[[t,n],[r,i]]}}),Gb={ArrowRight:(e,t=1)=>[e*t,0],ArrowLeft:(e,t=1)=>[-1*e*t,0],ArrowUp:(e,t=1)=>[0,-1*e*t],ArrowDown:(e,t=1)=>[0,e*t]},Kb=class extends zb{constructor(...e){super(...e),ob(this,`ingKey`,`dragging`)}reset(){super.reset();let e=this.state;e._pointerId=void 0,e._pointerActive=!1,e._keyboardActive=!1,e._preventScroll=!1,e._delayed=!1,e.swipe=[0,0],e.tap=!1,e.canceled=!1,e.cancel=this.cancel.bind(this)}setup(){let e=this.state;if(e._bounds instanceof HTMLElement){let t=e._bounds.getBoundingClientRect(),n=e.currentTarget.getBoundingClientRect(),r={left:t.left-n.left+e.offset[0],right:t.right-n.right+e.offset[0],top:t.top-n.top+e.offset[1],bottom:t.bottom-n.bottom+e.offset[1]};e._bounds=Wb.bounds(r)}}cancel(){let e=this.state;e.canceled||(e.canceled=!0,e._active=!1,setTimeout(()=>{this.compute(),this.emit()},0))}setActive(){this.state._active=this.state._pointerActive||this.state._keyboardActive}clean(){this.pointerClean(),this.state._pointerActive=!1,this.state._keyboardActive=!1,super.clean()}pointerDown(e){let t=this.config,n=this.state;if(e.buttons!=null&&(Array.isArray(t.pointerButtons)?!t.pointerButtons.includes(e.buttons):t.pointerButtons!==-1&&t.pointerButtons!==e.buttons))return;let r=this.ctrl.setEventIds(e);t.pointerCapture&&e.target.setPointerCapture(e.pointerId),!(r&&r.size>1&&n._pointerActive)&&(this.start(e),this.setupPointer(e),n._pointerId=Tb(e),n._pointerActive=!0,this.computeValues(Eb(e)),this.computeInitial(),t.preventScrollAxis&&vb(e)!==`mouse`?(n._active=!1,this.setupScrollPrevention(e)):t.delay>0?(this.setupDelayTrigger(e),t.triggerAllEvents&&(this.compute(e),this.emit())):this.startPointerDrag(e))}startPointerDrag(e){let t=this.state;t._active=!0,t._preventScroll=!0,t._delayed=!1,this.compute(e),this.emit()}pointerMove(e){let t=this.state,n=this.config;if(!t._pointerActive)return;let r=Tb(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;let i=Eb(e);if(document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=eb.sub(i,t._values),this.computeValues(i)),eb.addTo(t._movement,t._delta),this.compute(e),t._delayed&&t.intentional){this.timeoutStore.remove(`dragDelay`),t.active=!1,this.startPointerDrag(e);return}if(n.preventScrollAxis&&!t._preventScroll)if(t.axis)if(t.axis===n.preventScrollAxis||n.preventScrollAxis===`xy`){t._active=!1,this.clean();return}else{this.timeoutStore.remove(`startPointerDrag`),this.startPointerDrag(e);return}else return;this.emit()}pointerUp(e){this.ctrl.setEventIds(e);try{this.config.pointerCapture&&e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId)}catch{}let t=this.state,n=this.config;if(!t._active||!t._pointerActive)return;let r=Tb(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;this.state._pointerActive=!1,this.setActive(),this.compute(e);let[i,a]=t._distance;if(t.tap=i<=n.tapsThreshold&&a<=n.tapsThreshold,t.tap&&n.filterTaps)t._force=!0;else{let[e,r]=t._delta,[i,a]=t._movement,[o,s]=n.swipe.velocity,[c,l]=n.swipe.distance,u=n.swipe.duration;if(t.elapsedTime<u){let n=Math.abs(e/t.timeDelta),u=Math.abs(r/t.timeDelta);n>o&&Math.abs(i)>c&&(t.swipe[0]=Math.sign(e)),u>s&&Math.abs(a)>l&&(t.swipe[1]=Math.sign(r))}}this.emit()}pointerClick(e){!this.state.tap&&e.detail>0&&(e.preventDefault(),e.stopPropagation())}setupPointer(e){let t=this.config,n=t.device;t.pointerLock&&e.currentTarget.requestPointerLock(),t.pointerCapture||(this.eventStore.add(this.sharedConfig.window,n,`change`,this.pointerMove.bind(this)),this.eventStore.add(this.sharedConfig.window,n,`end`,this.pointerUp.bind(this)),this.eventStore.add(this.sharedConfig.window,n,`cancel`,this.pointerUp.bind(this)))}pointerClean(){this.config.pointerLock&&document.pointerLockElement===this.state.currentTarget&&document.exitPointerLock()}preventScroll(e){this.state._preventScroll&&e.cancelable&&e.preventDefault()}setupScrollPrevention(e){this.state._preventScroll=!1,qb(e);let t=this.eventStore.add(this.sharedConfig.window,`touch`,`change`,this.preventScroll.bind(this),{passive:!1});this.eventStore.add(this.sharedConfig.window,`touch`,`end`,t),this.eventStore.add(this.sharedConfig.window,`touch`,`cancel`,t),this.timeoutStore.add(`startPointerDrag`,this.startPointerDrag.bind(this),this.config.preventScrollDelay,e)}setupDelayTrigger(e){this.state._delayed=!0,this.timeoutStore.add(`dragDelay`,()=>{this.state._step=[0,0],this.startPointerDrag(e)},this.config.delay)}keyDown(e){let t=Gb[e.key];if(t){let n=this.state,r=e.shiftKey?10:e.altKey?.1:1;this.start(e),n._delta=t(this.config.keyboardDisplacement,r),n._keyboardActive=!0,eb.addTo(n._movement,n._delta),this.compute(e),this.emit()}}keyUp(e){e.key in Gb&&(this.state._keyboardActive=!1,this.setActive(),this.compute(e),this.emit())}bind(e){let t=this.config.device;e(t,`start`,this.pointerDown.bind(this)),this.config.pointerCapture&&(e(t,`change`,this.pointerMove.bind(this)),e(t,`end`,this.pointerUp.bind(this)),e(t,`cancel`,this.pointerUp.bind(this)),e(`lostPointerCapture`,``,this.pointerUp.bind(this))),this.config.keys&&(e(`key`,`down`,this.keyDown.bind(this)),e(`key`,`up`,this.keyUp.bind(this))),this.config.filterTaps&&e(`click`,``,this.pointerClick.bind(this),{capture:!0,passive:!1})}};function qb(e){`persist`in e&&typeof e.persist==`function`&&e.persist()}var Jb=typeof window<`u`&&window.document&&window.document.createElement;function Yb(){return Jb&&`ontouchstart`in window}function Xb(){return Yb()||Jb&&window.navigator.maxTouchPoints>1}function Zb(){return Jb&&`onpointerdown`in window}function Qb(){return Jb&&`exitPointerLock`in window.document}function $b(){try{return`constructor`in GestureEvent}catch{return!1}}var ex={isBrowser:Jb,gesture:$b(),touch:Yb(),touchscreen:Xb(),pointer:Zb(),pointerLock:Qb()},tx=250,nx=180,rx=.5,ix=50,ax=250,ox=10,sx={mouse:0,touch:0,pen:8},cx=cb(cb({},Wb),{},{device(e,t,{pointer:{touch:n=!1,lock:r=!1,mouse:i=!1}={}}){return this.pointerLock=r&&ex.pointerLock,ex.touch&&n?`touch`:this.pointerLock?`mouse`:ex.pointer&&!i?`pointer`:ex.touch?`touch`:`mouse`},preventScrollAxis(e,t,{preventScroll:n}){if(this.preventScrollDelay=typeof n==`number`?n:n||n===void 0&&e?tx:void 0,!(!ex.touchscreen||n===!1))return e||(n===void 0?void 0:`y`)},pointerCapture(e,t,{pointer:{capture:n=!0,buttons:r=1,keys:i=!0}={}}){return this.pointerButtons=r,this.keys=i,!this.pointerLock&&this.device===`pointer`&&n},threshold(e,t,{filterTaps:n=!1,tapsThreshold:r=3,axis:i=void 0}){let a=eb.toVector(e,n?r:i?1:0);return this.filterTaps=n,this.tapsThreshold=r,a},swipe({velocity:e=rx,distance:t=ix,duration:n=ax}={}){return{velocity:this.transform(eb.toVector(e)),distance:this.transform(eb.toVector(t)),duration:n}},delay(e=0){switch(e){case!0:return nx;case!1:return 0;default:return e}},axisThreshold(e){return e?cb(cb({},sx),e):sx},keyboardDisplacement(e=ox){return e}});function lx(e){let[t,n]=e.overflow,[r,i]=e._delta,[a,o]=e._direction;(t<0&&r>0&&a<0||t>0&&r<0&&a>0)&&(e._movement[0]=e._movementBound[0]),(n<0&&i>0&&o<0||n>0&&i<0&&o>0)&&(e._movement[1]=e._movementBound[1])}var ux=30,dx=100,fx=class extends Lb{constructor(...e){super(...e),ob(this,`ingKey`,`pinching`),ob(this,`aliasKey`,`da`)}init(){this.state.offset=[1,0],this.state.lastOffset=[1,0],this.state._pointerEvents=new Map}reset(){super.reset();let e=this.state;e._touchIds=[],e.canceled=!1,e.cancel=this.cancel.bind(this),e.turns=0}computeOffset(){let{type:e,movement:t,lastOffset:n}=this.state;e===`wheel`?this.state.offset=eb.add(t,n):this.state.offset=[(1+t[0])*n[0],t[1]+n[1]]}computeMovement(){let{offset:e,lastOffset:t}=this.state;this.state.movement=[e[0]/t[0],e[1]-t[1]]}axisIntent(){let e=this.state,[t,n]=e._movement;if(!e.axis){let r=Math.abs(t)*ux-Math.abs(n);r<0?e.axis=`angle`:r>0&&(e.axis=`scale`)}}restrictToAxis(e){this.config.lockDirection&&(this.state.axis===`scale`?e[1]=0:this.state.axis===`angle`&&(e[0]=0))}cancel(){let e=this.state;e.canceled||setTimeout(()=>{e.canceled=!0,e._active=!1,this.compute(),this.emit()},0)}touchStart(e){this.ctrl.setEventIds(e);let t=this.state,n=this.ctrl.touchIds;if(t._active&&t._touchIds.every(e=>n.has(e))||n.size<2)return;this.start(e),t._touchIds=Array.from(n).slice(0,2);let r=wb(e,t._touchIds);r&&this.pinchStart(e,r)}pointerStart(e){if(e.buttons!=null&&e.buttons%2!=1)return;this.ctrl.setEventIds(e),e.target.setPointerCapture(e.pointerId);let t=this.state,n=t._pointerEvents,r=this.ctrl.pointerIds;if(t._active&&Array.from(n.keys()).every(e=>r.has(e))||(n.size<2&&n.set(e.pointerId,e),t._pointerEvents.size<2))return;this.start(e);let i=Sb(...Array.from(n.values()));i&&this.pinchStart(e,i)}pinchStart(e,t){let n=this.state;n.origin=t.origin,this.computeValues([t.distance,t.angle]),this.computeInitial(),this.compute(e),this.emit()}touchMove(e){if(!this.state._active)return;let t=wb(e,this.state._touchIds);t&&this.pinchMove(e,t)}pointerMove(e){let t=this.state._pointerEvents;if(t.has(e.pointerId)&&t.set(e.pointerId,e),!this.state._active)return;let n=Sb(...Array.from(t.values()));n&&this.pinchMove(e,n)}pinchMove(e,t){let n=this.state,r=n._values[1],i=t.angle-r,a=0;Math.abs(i)>270&&(a+=Math.sign(i)),this.computeValues([t.distance,t.angle-360*a]),n.origin=t.origin,n.turns=a,n._movement=[n._values[0]/n._initial[0]-1,n._values[1]-n._initial[1]],this.compute(e),this.emit()}touchEnd(e){this.ctrl.setEventIds(e),this.state._active&&this.state._touchIds.some(e=>!this.ctrl.touchIds.has(e))&&(this.state._active=!1,this.compute(e),this.emit())}pointerEnd(e){let t=this.state;this.ctrl.setEventIds(e);try{e.target.releasePointerCapture(e.pointerId)}catch{}t._pointerEvents.has(e.pointerId)&&t._pointerEvents.delete(e.pointerId),t._active&&t._pointerEvents.size<2&&(t._active=!1,this.compute(e),this.emit())}gestureStart(e){e.cancelable&&e.preventDefault();let t=this.state;t._active||(this.start(e),this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY],this.compute(e),this.emit())}gestureMove(e){if(e.cancelable&&e.preventDefault(),!this.state._active)return;let t=this.state;this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY];let n=t._movement;t._movement=[e.scale-1,e.rotation],t._delta=eb.sub(t._movement,n),this.compute(e),this.emit()}gestureEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}wheel(e){let t=this.config.modifierKey;t&&(Array.isArray(t)?!t.find(t=>e[t]):!e[t])||(this.state._active?this.wheelChange(e):this.wheelStart(e),this.timeoutStore.add(`wheelEnd`,this.wheelEnd.bind(this)))}wheelStart(e){this.start(e),this.wheelChange(e)}wheelChange(e){`uv`in e||e.cancelable&&e.preventDefault();let t=this.state;t._delta=[-kb(e)[1]/dx*t.offset[0],0],eb.addTo(t._movement,t._delta),lx(t),this.state.origin=[e.clientX,e.clientY],this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){let t=this.config.device;t&&(e(t,`start`,this[t+`Start`].bind(this)),e(t,`change`,this[t+`Move`].bind(this)),e(t,`end`,this[t+`End`].bind(this)),e(t,`cancel`,this[t+`End`].bind(this)),e(`lostPointerCapture`,``,this[t+`End`].bind(this))),this.config.pinchOnWheel&&e(`wheel`,``,this.wheel.bind(this),{passive:!1})}},px=cb(cb({},Hb),{},{device(e,t,{shared:n,pointer:{touch:r=!1}={}}){if(n.target&&!ex.touch&&ex.gesture)return`gesture`;if(ex.touch&&r)return`touch`;if(ex.touchscreen){if(ex.pointer)return`pointer`;if(ex.touch)return`touch`}},bounds(e,t,{scaleBounds:n={},angleBounds:r={}}){let i=e=>{let t=Fb(Mb(n,e),{min:-1/0,max:1/0});return[t.min,t.max]},a=e=>{let t=Fb(Mb(r,e),{min:-1/0,max:1/0});return[t.min,t.max]};return typeof n!=`function`&&typeof r!=`function`?[i(),a()]:e=>[i(e),a(e)]},threshold(e,t,n){return this.lockDirection=n.axis===`lock`,eb.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey(e){return e===void 0?`ctrlKey`:e},pinchOnWheel(e=!0){return e}}),mx=class extends zb{constructor(...e){super(...e),ob(this,`ingKey`,`moving`)}move(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.state._active?this.moveChange(e):this.moveStart(e),this.timeoutStore.add(`moveEnd`,this.moveEnd.bind(this)))}moveStart(e){this.start(e),this.computeValues(Eb(e)),this.compute(e),this.computeInitial(),this.emit()}moveChange(e){if(!this.state._active)return;let t=Eb(e),n=this.state;n._delta=eb.sub(t,n._values),eb.addTo(n._movement,n._delta),this.computeValues(t),this.compute(e),this.emit()}moveEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}bind(e){e(`pointer`,`change`,this.move.bind(this)),e(`pointer`,`leave`,this.moveEnd.bind(this))}},hx=cb(cb({},Wb),{},{mouseOnly:(e=!0)=>e}),gx=class extends zb{constructor(...e){super(...e),ob(this,`ingKey`,`scrolling`)}scroll(e){this.state._active||this.start(e),this.scrollChange(e),this.timeoutStore.add(`scrollEnd`,this.scrollEnd.bind(this))}scrollChange(e){e.cancelable&&e.preventDefault();let t=this.state,n=Ab(e);t._delta=eb.sub(n,t._values),eb.addTo(t._movement,t._delta),this.computeValues(n),this.compute(e),this.emit()}scrollEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(`scroll`,``,this.scroll.bind(this))}},_x=Wb,vx=class extends zb{constructor(...e){super(...e),ob(this,`ingKey`,`wheeling`)}wheel(e){this.state._active||this.start(e),this.wheelChange(e),this.timeoutStore.add(`wheelEnd`,this.wheelEnd.bind(this))}wheelChange(e){let t=this.state;t._delta=kb(e),eb.addTo(t._movement,t._delta),lx(t),this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(`wheel`,``,this.wheel.bind(this))}},yx=Wb,bx=class extends zb{constructor(...e){super(...e),ob(this,`ingKey`,`hovering`)}enter(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.start(e),this.computeValues(Eb(e)),this.compute(e),this.emit())}leave(e){if(this.config.mouseOnly&&e.pointerType!==`mouse`)return;let t=this.state;if(!t._active)return;t._active=!1;let n=Eb(e);t._movement=t._delta=eb.sub(n,t._values),this.computeValues(n),this.compute(e),t.delta=t.movement,this.emit()}bind(e){e(`pointer`,`enter`,this.enter.bind(this)),e(`pointer`,`leave`,this.leave.bind(this))}},xx=cb(cb({},Wb),{},{mouseOnly:(e=!0)=>e}),Sx=new Map,Cx=new Map;function wx(e){Sx.set(e.key,e.engine),Cx.set(e.key,e.resolver)}var Tx={key:`drag`,engine:Kb,resolver:cx},Ex={key:`hover`,engine:bx,resolver:xx},Dx={key:`move`,engine:mx,resolver:hx},Ox={key:`pinch`,engine:fx,resolver:px},kx={key:`scroll`,engine:gx,resolver:_x},Ax={key:`wheel`,engine:vx,resolver:yx};function jx(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function Mx(e,t){if(e==null)return{};var n=jx(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var Nx={target(e){if(e)return()=>`current`in e?e.current:e},enabled(e=!0){return e},window(e=ex.isBrowser?window:void 0){return e},eventOptions({passive:e=!0,capture:t=!1}={}){return{passive:e,capture:t}},transform(e){return e}},Px=[`target`,`eventOptions`,`window`,`enabled`,`transform`];function Fx(e={},t){let n={};for(let[r,i]of Object.entries(t))switch(typeof i){case`function`:n[r]=i.call(n,e[r],r,e);break;case`object`:n[r]=Fx(e[r],i);break;case`boolean`:i&&(n[r]=e[r]);break}return n}function Ix(e,t,n={}){let r=e,{target:i,eventOptions:a,window:o,enabled:s,transform:c}=r,l=Mx(r,Px);if(n.shared=Fx({target:i,eventOptions:a,window:o,enabled:s,transform:c},Nx),t){let e=Cx.get(t);n[t]=Fx(cb({shared:n.shared},l),e)}else for(let e in l){let t=Cx.get(e);t&&(n[e]=Fx(cb({shared:n.shared},l[e]),t))}return n}var Lx=class{constructor(e,t){ob(this,`_listeners`,new Set),this._ctrl=e,this._gestureKey=t}add(e,t,n,r,i){let a=this._listeners,o=gb(t,n),s=cb(cb({},this._gestureKey?this._ctrl.config[this._gestureKey].eventOptions:{}),i);e.addEventListener(o,r,s);let c=()=>{e.removeEventListener(o,r,s),a.delete(c)};return a.add(c),c}clean(){this._listeners.forEach(e=>e()),this._listeners.clear()}},Rx=class{constructor(){ob(this,`_timeouts`,new Map)}add(e,t,n=140,...r){this.remove(e),this._timeouts.set(e,window.setTimeout(t,n,...r))}remove(e){let t=this._timeouts.get(e);t&&window.clearTimeout(t)}clean(){this._timeouts.forEach(e=>void window.clearTimeout(e)),this._timeouts.clear()}},zx=class{constructor(e){ob(this,`gestures`,new Set),ob(this,`_targetEventStore`,new Lx(this)),ob(this,`gestureEventStores`,{}),ob(this,`gestureTimeoutStores`,{}),ob(this,`handlers`,{}),ob(this,`config`,{}),ob(this,`pointerIds`,new Set),ob(this,`touchIds`,new Set),ob(this,`state`,{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),Vx(this,e)}setEventIds(e){if(_b(e))return this.touchIds=new Set(Cb(e)),this.touchIds;if(`pointerId`in e)return e.type===`pointerup`||e.type===`pointercancel`?this.pointerIds.delete(e.pointerId):e.type===`pointerdown`&&this.pointerIds.add(e.pointerId),this.pointerIds}applyHandlers(e,t){this.handlers=e,this.nativeHandlers=t}applyConfig(e,t){this.config=Ix(e,t,this.config)}clean(){this._targetEventStore.clean();for(let e of this.gestures)this.gestureEventStores[e].clean(),this.gestureTimeoutStores[e].clean()}effect(){return this.config.shared.target&&this.bind(),()=>this._targetEventStore.clean()}bind(...e){let t=this.config.shared,n={},r;if(!(t.target&&(r=t.target(),!r))){if(t.enabled){for(let t of this.gestures){let i=this.config[t],a=Hx(n,i.eventOptions,!!r);i.enabled&&new(Sx.get(t))(this,e,t).bind(a)}let i=Hx(n,t.eventOptions,!!r);for(let t in this.nativeHandlers)i(t,``,n=>this.nativeHandlers[t](cb(cb({},this.state.shared),{},{event:n,args:e})),void 0,!0)}for(let e in n)n[e]=Pb(...n[e]);if(!r)return n;for(let e in n){let{device:t,capture:i,passive:a}=hb(e);this._targetEventStore.add(r,t,``,n[e],{capture:i,passive:a})}}}};function Bx(e,t){e.gestures.add(t),e.gestureEventStores[t]=new Lx(e,t),e.gestureTimeoutStores[t]=new Rx}function Vx(e,t){t.drag&&Bx(e,`drag`),t.wheel&&Bx(e,`wheel`),t.scroll&&Bx(e,`scroll`),t.move&&Bx(e,`move`),t.pinch&&Bx(e,`pinch`),t.hover&&Bx(e,`hover`)}var Hx=(e,t,n)=>(r,i,a,o={},s=!1)=>{let c=o.capture??t.capture,l=o.passive??t.passive,u=s?r:pb(r,i,c);n&&l&&(u+=`Passive`),e[u]=e[u]||[],e[u].push(a)},Ux=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function Wx(e){let t={},n={},r=new Set;for(let i in e)Ux.test(i)?(r.add(RegExp.lastMatch),n[i]=e[i]):t[i]=e[i];return[n,t,r]}function Gx(e,t,n,r,i,a){if(!e.has(n)||!Sx.has(r))return;let o=n+`Start`,s=n+`End`;i[r]=e=>{let r;return e.first&&o in t&&t[o](e),n in t&&(r=t[n](e)),e.last&&s in t&&t[s](e),r},a[r]=a[r]||{}}function Kx(e,t){let[n,r,i]=Wx(e),a={};return Gx(i,n,`onDrag`,`drag`,a,t),Gx(i,n,`onWheel`,`wheel`,a,t),Gx(i,n,`onScroll`,`scroll`,a,t),Gx(i,n,`onPinch`,`pinch`,a,t),Gx(i,n,`onMove`,`move`,a,t),Gx(i,n,`onHover`,`hover`,a,t),{handlers:a,config:t,nativeHandlers:r}}function qx(e,t={},n,r){let i=J.useMemo(()=>new zx(e),[]);if(i.applyHandlers(e,r),i.applyConfig(t,n),J.useEffect(i.effect.bind(i)),J.useEffect(()=>i.clean.bind(i),[]),t.target===void 0)return i.bind.bind(i)}function Jx(e,t){return wx(Tx),qx({drag:e},t||{},`drag`)}function Yx(e){return e.forEach(wx),function(e,t){let{handlers:n,nativeHandlers:r,config:i}=Kx(e,t||{});return qx(n,i,void 0,r)}}function Xx(e,t){return Yx([Tx,Ox,kx,Ax,Dx,Ex])(e,t||{})}var Zx={filterTaps:!0,pointer:{capture:!0}};function Qx(e,t){return!e&&t===void 0}function $x(e,t,n){let r=n>0?n:1;return{dx:(e[0]-t[0])/r,dy:(e[1]-t[1])/r}}function eS(e){return Jx(({xy:t,initial:n,first:r,last:i,memo:a})=>{if(Qx(r,a)){i&&e.onGestureActive(!1);return}let o=r?{...e.getRect()}:a;r&&e.onGestureActive(!0);let{dx:s,dy:c}=$x(t,n,e.getScale()),l=sr({...o,x:o.x+s,y:o.y+c},e.getBounds());return e.onChange(l,i),i&&e.onGestureActive(!1),o},{...Zx,enabled:!e.disabled})}var tS=10,nS=1,rS={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};function iS(e){return(0,J.useCallback)(t=>{if(t.key===`Escape`){t.stopPropagation(),e.onClose();return}if(t.altKey&&t.key===`Enter`){t.preventDefault(),e.onToggleMaximize();return}let n=rS[t.key];if(!n||!e.movable)return;t.preventDefault();let r=t.shiftKey?nS:tS;e.onMove(ur(e.getRect(),n[0]*r,n[1]*r,e.getBounds()))},[e])}function aS(e){return Jx(({args:t,xy:n,initial:r,first:i,last:a,memo:o})=>{if(Qx(i,o)){a&&e.onGestureActive(!1);return}let s=t[0],c=i?{...e.getRect()}:o;i&&e.onGestureActive(!0);let{dx:l,dy:u}=$x(n,r,e.getScale()),d=sr(cr(c,s,l,u),e.getBounds());return e.onChange(d,a),a&&e.onGestureActive(!1),c},{...Zx,enabled:!e.disabled})}var oS={edge:6,corner:12},sS={edge:12,corner:20},cS={n:`cursor-n-resize`,s:`cursor-s-resize`,e:`cursor-e-resize`,w:`cursor-w-resize`,ne:`cursor-ne-resize`,nw:`cursor-nw-resize`,se:`cursor-se-resize`,sw:`cursor-sw-resize`};function lS(e,t){let n=e.length===2,r={position:`absolute`,touchAction:`none`,zIndex:1};return e.includes(`n`)&&(r.top=-t.edge/2),e.includes(`s`)&&(r.bottom=-t.edge/2),e.includes(`w`)&&(r.left=-t.edge/2),e.includes(`e`)&&(r.right=-t.edge/2),n?(r.width=t.corner,r.height=t.corner,r):(e===`n`||e===`s`?(r.left=t.corner,r.right=t.corner,r.height=t.edge):(r.top=t.corner,r.bottom=t.corner,r.width=t.edge),r)}function uS({bind:e}){let t=ps(`(pointer: coarse)`)?sS:oS;return(0,Y.jsx)(Y.Fragment,{children:dr.map(n=>(0,Y.jsx)(`div`,{...e(n),"data-resize-handle":n,"aria-hidden":!0,className:cS[n],style:lS(n,t)},n))})}function dS(e,t,n){e&&(e.style.transform=`translate3d(${Math.round(t.x)}px, ${Math.round(t.y)}px, 0)`,e.style.width=`${Math.round(t.w)}px`,e.style.height=n?`36px`:`${Math.round(t.h)}px`)}function fS({win:e,bounds:t,title:n,focused:r,getScale:i,onGestureActive:a,children:o}){let s=(0,J.useRef)(null),[c,l]=(0,J.useState)(!1),u=e.state===`maximized`,d=e.state===`minimized`,f=u?{x:0,y:0,w:t.w,h:t.h}:e.rect,{body:p,pip:m}=Iy(e.id,s,d),h=(0,J.useRef)(f);h.current=f;let g=(0,J.useRef)(t);g.current=t,(0,J.useLayoutEffect)(()=>{dS(s.current,h.current,d)},[f.x,f.y,f.w,f.h,d]);let _=(0,J.useCallback)(e=>{l(e),a(e)},[a]),v=(0,J.useCallback)((t,n)=>{dS(s.current,t,pr.getState().windows[e.id]?.state===`minimized`),n&&pr.getState().move(e.id,{x:t.x,y:t.y})},[e.id]),y=(0,J.useCallback)((t,n)=>{dS(s.current,t,!1),n&&pr.getState().resize(e.id,t)},[e.id]),b={getRect:()=>h.current,getBounds:()=>g.current,getScale:i,onGestureActive:_},x=eS({...b,onChange:v,disabled:u}),S=aS({...b,onChange:y,disabled:u||d}),C=(0,J.useCallback)(()=>pr.getState().close(e.id),[e.id]),w=(0,J.useCallback)(()=>{pr.getState().setState(e.id,u?`normal`:`maximized`)},[e.id,u]),T=(0,J.useCallback)(()=>{pr.getState().setState(e.id,d?`normal`:`minimized`)},[e.id,d]),E=iS({getRect:()=>h.current,getBounds:()=>g.current,onMove:t=>pr.getState().move(e.id,{x:t.x,y:t.y}),onToggleMaximize:w,onClose:C,movable:!u}),D=!!m&&di(e.id);return(0,Y.jsxs)(`div`,{ref:s,role:`group`,"aria-roledescription":`window`,"aria-label":n,onPointerDownCapture:()=>pr.getState().focus(e.id),style:{zIndex:fr(e.rank)},className:U(`absolute left-0 top-0 flex flex-col pointer-events-auto`,`rounded-[8px] border border-border bg-panel overflow-visible`,r?`shadow-2xl shadow-black/40`:`shadow-lg shadow-black/20`,c?`transition-none`:`transition-[transform,width,height] duration-150 motion-reduce:transition-none`,D&&`hidden`),children:[(0,Y.jsx)(Qy,{id:e.id,kind:e.kind,title:n,state:e.state,focused:r,titlebarProps:{...x(),onKeyDown:E,tabIndex:0,role:`toolbar`,"aria-label":`${n} title bar`,style:{touchAction:`none`,userSelect:`none`}},onMinimize:T,onToggleMaximize:w,onClose:C}),m&&!D&&(0,Y.jsx)(Ly,{pip:m,minimized:d}),!u&&!d&&(0,Y.jsx)(uS,{bind:e=>S(e)}),(0,Ql.createPortal)((0,Y.jsx)(Yn,{container:m?.pipWindow.document.body,children:o}),p)]})}var pS={explorer:(0,J.lazy)(()=>H(()=>import(`./explorer-window-content-zc-kA_lW.js`),__vite__mapDeps([81,1,2,3,4,82,7,27,8,10,36,11,54,55,56,12,13,14,35,58,41,16,21,18,25,9,83,44,39]))),"team-member":(0,J.lazy)(()=>H(()=>import(`./team-member-window-content-Bcjjehng.js`),__vite__mapDeps([84,1,2,3,4,7,8,28,29,30,16,31,21,10,18,11]))),"system-monitor":(0,J.lazy)(()=>H(()=>import(`./system-monitor-window-content-B2_i1Q61.js`),__vite__mapDeps([85,2,1,3,4,8,11,10,75,7,16]))),"tab-host":(0,J.lazy)(()=>H(()=>import(`./tab-host-window-content-BZeCdBjG.js`),__vite__mapDeps([86,1,2,3,4,11,10,83,18,7,13,35,16]))),"remote-desktop":(0,J.lazy)(()=>H(()=>import(`./remote-desktop-window-content-9VmDB-li.js`),__vite__mapDeps([87,1,2,3,4,25,7,8,9,10,11,88,16,17,18,20,89,39,13]))),settings:(0,J.lazy)(()=>H(()=>import(`./settings-window-content-B_7MLQMM.js`),__vite__mapDeps([90,2,1,3,4,25,7,11,10,70,57,71,16])))};function mS(e,t){let n=t?.title;if(typeof n==`string`&&n.trim())return n;if(e===`team-member`){let e=t?.memberName;return typeof e==`string`&&e?`Session — ${e}`:`Team member`}if(e===`system-monitor`)return`System Monitor`;if(e===`remote-desktop`)return`Remote Desktop`;if(e===`settings`)return`Settings`;if(e===`tab-host`)return`Tab`;let r=t?.path;if(e===`explorer`&&typeof r==`string`&&r){let e=r.split(/[\\/]/).filter(Boolean);return e[e.length-1]??r}return`Explorer`}function hS(){return Ir()?null:(0,Y.jsx)(gS,{})}function gS(){let e=(0,J.useRef)(null),t=pr(e=>e.windows),n=pr(e=>e.bounds),[r,i]=(0,J.useState)(!1);(0,J.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=()=>{let e=t.getBoundingClientRect(),n=t.offsetWidth>0?e.width/t.offsetWidth:1;return{w:Math.round(e.width/n),h:Math.round(e.height/n)}},r=pr.getState();r.setBounds(n()),r.restoreAll(n());let i=new ResizeObserver(()=>pr.getState().setBounds(n()));return i.observe(t),()=>i.disconnect()},[]);let a=(0,J.useCallback)(()=>{let t=e.current;return!t||t.offsetWidth===0?1:t.getBoundingClientRect().width/t.offsetWidth},[]),o=lr(t),s=o[o.length-1]?.id;return(0,Y.jsxs)(`div`,{ref:e,className:`absolute inset-0 overflow-hidden pointer-events-none`,children:[o.map(e=>{let t=pS[e.kind];return(0,Y.jsx)(fS,{win:e,bounds:n,title:mS(e.kind,e.payload),focused:e.id===s,getScale:a,onGestureActive:i,children:(0,Y.jsx)(J.Suspense,{fallback:(0,Y.jsx)(`div`,{className:`p-3 text-xs text-text-2`,children:`Loading…`}),children:(0,Y.jsx)(t,{id:e.id,payload:e.payload})})},e.id)}),r&&(0,Y.jsx)(`div`,{className:`absolute inset-0 pointer-events-auto`,style:{zIndex:38}})]})}function _S(e,t,n,r,i){let a=r.trim().toLowerCase(),o=e=>!a||e.title.toLowerCase().includes(a)||e.type.toLowerCase().includes(a);if(i?.sortMode===`recent`){let t=i.recency,n=e=>t?.get(e.id)??2**53-1,r=e.filter(o).sort((e,t)=>n(e)-n(t));return{groups:r.length?[{panelId:`__recent__`,label:``,tabs:r}]:[],total:r.length}}let s=new Map;for(let r of e){if(!o(r))continue;let e=t[r.id]??n[0]??`__unknown__`;(s.get(e)??s.set(e,[]).get(e)).push(r)}let c=[];return(n.length>0?n:[...s.keys()]).forEach((e,t)=>{let n=s.get(e);!n||n.length===0||c.push({panelId:e,label:`Panel ${t+1}`,tabs:n})}),{groups:c,total:c.reduce((e,t)=>e+t.tabs.length,0)}}var vS=`ppm:tab-sort-mode`;function yS(){try{return localStorage.getItem(vS)===`recent`?`recent`:`default`}catch{return`default`}}function bS({open:e,onClose:t,onOpenPalette:n,tabs:r,tabPanelMap:i,panelOrder:a,activeTabId:o,projectColor:s,onTabLongPress:c,recency:l,sessionTagMap:u}){let[d,f]=(0,J.useState)(``),p=Cs(e=>e.notifications),m=ri(e=>e.sessions),[h,g]=(0,J.useState)(yS),_=(0,J.useCallback)(e=>{g(e);try{localStorage.setItem(vS,e)}catch{}},[]),{groups:v,total:y}=_S(r,i,a,d,{sortMode:h,recency:l}),b=(0,J.useRef)(null),x=(0,J.useCallback)(e=>{c&&(b.current=setTimeout(()=>c(e),400))},[c]),S=(0,J.useCallback)(()=>{b.current&&=(clearTimeout(b.current),null)},[]);function C(e){if(W.getState().setActiveTab(e.id,i[e.id]),e.type===`chat`){let t=e.metadata?.sessionId;t&&Cs.getState().clearForSession(t)}t()}function w(e,t){t.stopPropagation(),W.getState().closeTab(e.id,i[e.id])}function T(){t(),n()}return(0,Y.jsxs)(Hi,{open:e,onClose:t,className:`max-h-[72vh] flex flex-col`,children:[(0,Y.jsxs)(`div`,{className:`shrink-0 flex items-center gap-2 pl-4 pr-3 pt-1 pb-2.5`,children:[(0,Y.jsx)(`span`,{className:`text-[13px] font-semibold text-text-primary`,children:`Open Tabs`}),(0,Y.jsx)(`span`,{className:`px-1.5 h-[18px] inline-flex items-center rounded-md border border-border bg-surface-elevated text-[10px] font-mono text-text-secondary`,children:r.length}),(0,Y.jsx)(`div`,{className:`flex-1`}),(0,Y.jsx)(`div`,{className:`flex items-center gap-0.5 p-0.5 rounded-lg bg-background border border-border`,children:[[`default`,`Default`],[`recent`,`Recent`]].map(([e,t])=>(0,Y.jsx)(`button`,{onClick:()=>_(e),"aria-pressed":h===e,className:U(`h-7 px-2.5 rounded-md text-[11px] font-medium transition-colors select-none`,h===e?`bg-primary/10 text-primary`:`text-text-secondary active:bg-surface-elevated`),children:t},e))}),(0,Y.jsx)(`button`,{onClick:T,title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-8 rounded-full border border-dashed border-border text-text-subtle active:bg-surface-elevated`,children:(0,Y.jsx)(_n,{className:`size-4`})})]}),(0,Y.jsx)(`div`,{className:`shrink-0 px-3 pb-2`,children:(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 h-10 px-3 rounded-xl bg-background border border-border`,children:[(0,Y.jsx)(Jt,{className:`size-4 text-text-subtle shrink-0`}),(0,Y.jsx)(`input`,{value:d,onChange:e=>f(e.target.value),placeholder:`Filter tabs...`,className:`flex-1 bg-transparent outline-none text-text-primary placeholder:text-text-subtle`,style:{fontSize:16}})]})}),(0,Y.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto overscroll-contain px-2 pb-2`,children:y===0?(0,Y.jsx)(`p`,{className:`text-center text-[13px] text-text-subtle py-6`,children:`No tabs match`}):v.map(e=>(0,Y.jsxs)(`div`,{className:`mb-1`,children:[e.label&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2 pt-2 pb-1`,children:[(0,Y.jsx)(It,{className:`size-3 text-text-subtle`}),(0,Y.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.05em] text-text-subtle`,children:e.label}),(0,Y.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle`,children:e.tabs.length})]}),e.tabs.map(e=>{let t=Vl(e),n=e.id===o,r=e.type===`chat`?e.metadata?.sessionId:void 0,i=r?u[r]?.color:void 0,a=r?p.get(r):void 0,c=a&&a.count>0?a.type:null,l=!!a?.manual,d=r?m.has(r):!1,f=i??(e.projectId&&s?s:void 0);return(0,Y.jsxs)(`button`,{onClick:()=>C(e),onTouchStart:()=>x(e.id),onTouchEnd:S,onTouchMove:S,onTouchCancel:S,onContextMenu:e=>e.preventDefault(),className:U(`relative flex items-center gap-2.5 w-full h-11 rounded-lg pl-3.5 pr-2 transition-colors`,n?`bg-primary/10`:`active:bg-surface-elevated`),children:[(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-[3px] rounded-r-sm`,style:{backgroundColor:f??`transparent`}}),(0,Y.jsxs)(`span`,{className:U(`relative shrink-0`,d&&`text-warning`),children:[d?(0,Y.jsx)(Ct,{className:`size-4`}):(0,Y.jsx)(t,{className:U(`size-4`,n?`text-primary`:`text-text-secondary`)}),d?(0,Y.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,Y.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,Y.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,Y.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):c&&(!n||l)?(0,Y.jsx)(`span`,{className:U(`absolute -top-1 -right-1 size-2 rounded-full`,bs(c))}):null]}),(0,Y.jsx)(`span`,{className:U(`flex-1 text-left text-sm font-medium truncate`,n?`text-primary`:`text-text-primary`),children:e.title}),n&&(0,Y.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),e.closable&&(0,Y.jsx)(`span`,{role:`button`,tabIndex:0,onClick:t=>w(e,t),className:`flex items-center justify-center size-8 rounded-lg text-text-subtle active:bg-surface-elevated shrink-0`,children:(0,Y.jsx)(he,{className:`size-4`})})]},e.id)})]},e.panelId))})]})}function xS({onMenuPress:e,onProjectsPress:t}){let n=W(e=>e.focusedPanelId),r=W(e=>e.panels),i=W(e=>e.grid),a=W(e=>e.dock),o=W(e=>e.dockExpanded),s=Ui(!0)?.keyboardOpen??!1,c=Ir(),l=W(e=>e.currentProject),{tabs:u,tabPanelMap:d}=(0,J.useMemo)(()=>{let e=i.flat(),t=[],n={};for(let i of e){let e=r[i];if(e)for(let r of e.tabs)r.projectId&&l&&r.projectId!==l||(t.push(r),n[r.id]=i)}return{tabs:t,tabPanelMap:n}},[r,i,l]),f=(0,J.useMemo)(()=>{let e=e=>typeof e.metadata?.lastActiveAt==`number`?e.metadata.lastActiveAt:-1,t=new Map;return[...u].filter(t=>e(t)>=0).sort((t,n)=>e(n)-e(t)).forEach((e,n)=>t.set(e.id,n)),t},[u]),p=i.flat(),m=p.includes(n)?n:p[0],h=(m?r[m]?.activeTabId:null)??null,g=Cs(e=>e.notifications),_=qs(e=>e.selection),[v,y]=(0,J.useState)({}),[b,x]=(0,J.useState)(null),[S,C]=(0,J.useState)(!1),[w,T]=(0,J.useState)(null),[E,D]=(0,J.useState)(``),O=u.find(e=>e.id===h)??null,k=r[ar],A=Ay(k,l),j=b?u.find(e=>e.id===b):null,M=r[b?d[b]??n:n]?.tabs??[],ee=b?M.findIndex(e=>e.id===b):-1,N=j?.type===`chat`?j.metadata?.sessionId:void 0,P=N?(g.get(N)?.count??0)>0:!1,F=j?.metadata?.filePath,te=j?.metadata?.projectName,ne=_!=null&&!!te&&_.projectName===te&&_.filePath!==F;function re(e){x(null),T(e.id),D(e.title)}async function ie(){let e=u.find(e=>e.id===w),t=e?.metadata?.sessionId,n=E.trim();if(!e||!t||!n||!l){T(null);return}try{await z.patch(`${R(l)}/chat/sessions/${t}`,{title:n}),W.getState().updateTab(e.id,{title:n})}catch{}T(null)}function ae(e){let t=d[e]??n,r=W.getState().panels[t]?.tabs??[];for(let n of r)n.id!==e&&n.closable&&W.getState().closeTab(n.id,t);x(null)}function I(e){let t=d[e]??n,r=W.getState().panels[t]?.tabs??[],i=r.findIndex(t=>t.id===e);for(let e=i+1;e<r.length;e++)r[e].closable&&W.getState().closeTab(r[e].id,t);x(null)}function oe(e){let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return;let r=e.metadata?.unsavedContent;qs.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:qn(t)}),x(null)}async function se(e){let t=e.metadata?.filePath,n=e.metadata?.projectName,r=qs.getState().selection;if(!r||!t||!n)return;let i=e.metadata?.unsavedContent;try{await Ys({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),qs.getState().clearSelection()}catch(e){B.error(e instanceof Error?e.message:`Compare failed`)}x(null)}function ce(e){let t=e.metadata?.sessionId,n=e.metadata?.projectName;t&&n&&Cs.getState().markUnread(t,n,e.title),x(null)}let[le,ue]=(0,J.useState)(null);function de(e,t){let n=e.metadata?.filePath,r=e.metadata?.projectName;switch(t){case`copy-path`:n&&Al(n);break;case`copy-full-path`:if(n){let e=r?G.getState().projects.find(e=>e.name===r):null;Al(e?`${e.path}/${n}`:n)}break;case`download`:n&&r&&xi(r,n);break;case`rename`:case`delete`:n&&ue({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}x(null)}let{activeProject:fe}=G.getState(),{activeProject:pe,projects:ge,customOrder:_e}=G(Uu(e=>({activeProject:e.activeProject,projects:e.projects,customOrder:e.customOrder}))),{projectTags:ve,loadTags:ye}=gs(pe?.name),be=(0,J.useCallback)(async(e,t)=>{if(pe?.name){try{if(t!==null){await z.patch(`${R(pe.name)}/chat/sessions/${e}/tag`,{tagId:t});let n=ve.find(e=>e.id===t);n&&y(t=>({...t,[e]:{id:n.id,name:n.name,color:n.color}}))}else await z.del(`${R(pe.name)}/chat/sessions/${e}/tag`),y(t=>{let n={...t};return delete n[e],n});ye()}catch{}x(null)}},[pe?.name,ve,ye]),xe=u.filter(e=>e.type===`chat`&&e.metadata?.sessionId).map(e=>e.metadata.sessionId);(0,J.useEffect)(()=>{!pe?.name||xe.length===0||z.get(`${R(pe.name)}/chat/sessions?limit=50`).then(e=>{let t={};for(let n of e.sessions)n.tag&&(t[n.id]=n.tag);y(t)}).catch(()=>{})},[pe?.name,xe.join(`,`)]);let Se=mr(ge,_e??null),Ce=Se.map(e=>e.name),we=Se.findIndex(e=>e.name===pe?.name),Te=pe?f_(pe.color,we>=0?we:0):`#4f86c6`,Ee=O?Vl(O):null;return(0,Y.jsxs)(`nav`,{className:`fixed bottom-0 left-0 right-0 md:hidden bg-background border-t border-border z-40 select-none`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center h-12`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center shrink-0 border-r border-border`,children:[(0,Y.jsx)(`button`,{onClick:e,"aria-label":`Open menu`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,Y.jsx)(Vt,{className:`size-5`})}),(0,Y.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,Y.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,title:`Switch project`,children:pe?(0,Y.jsx)(m_,{name:pe.name,color:Te,image:pe.image,size:28,allNames:Ce}):(0,Y.jsx)(nt,{className:`size-5`})}),(0,Y.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,Y.jsxs)(`button`,{onClick:()=>W.getState().toggleDock(),title:a.visible?`Hide panel`:`Show panel`,"aria-label":a.visible?`Hide panel`:`Show panel`,className:U(`relative flex items-center justify-center size-12 shrink-0 transition-colors`,a.visible?`text-primary bg-primary/10`:`text-text-secondary`),children:[(0,Y.jsx)(Fn,{className:`size-5`}),A>0&&(0,Y.jsx)(`span`,{"aria-hidden":!0,className:`absolute top-1.5 right-1.5 size-[7px] rounded-full ring-[1.5px] ring-background`,style:{backgroundColor:`var(--color-success)`}})]}),(0,Y.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,Y.jsx)(`button`,{onClick:()=>Rc(),title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,Y.jsx)(_n,{className:`size-5`})})]}),O&&Ee?(0,Y.jsxs)(`button`,{onClick:()=>C(!0),className:`flex-1 min-w-0 flex items-center gap-2 h-12 px-3 border-t-2 border-primary bg-surface`,children:[(0,Y.jsx)(Ee,{className:`size-4 text-primary shrink-0`}),(0,Y.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-left text-xs font-medium text-primary`,children:O.title}),(0,Y.jsx)(`span`,{className:`px-1.5 h-[18px] inline-flex items-center rounded-md border border-border bg-surface-elevated text-[10px] font-mono text-text-secondary shrink-0`,children:u.length}),(0,Y.jsx)(Ue,{className:`size-3.5 text-text-subtle shrink-0`})]}):(0,Y.jsxs)(`button`,{onClick:()=>Rc(),className:`flex-1 flex items-center gap-1.5 h-12 px-3 text-text-secondary text-xs`,children:[(0,Y.jsx)(_n,{className:`size-4`}),` New Tab`]})]}),(0,Y.jsx)(bS,{open:S,onClose:()=>C(!1),onOpenPalette:()=>Rc(),tabs:u,tabPanelMap:d,panelOrder:i.flat(),activeTabId:h,projectColor:pe?Te:null,onTabLongPress:e=>x(e),recency:f,sessionTagMap:v}),(0,Y.jsxs)(Hi,{open:!!j,onClose:()=>x(null),className:`select-none`,children:[(0,Y.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-secondary border-b border-border truncate`,children:j?.title}),N&&(0,Y.jsxs)(`button`,{onClick:()=>re(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(me,{className:`size-4`}),` Rename`]}),j?.type===`editor`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`button`,{onClick:()=>de(j,`copy-path`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(un,{className:`size-4`}),` Copy Path`]}),(0,Y.jsxs)(`button`,{onClick:()=>de(j,`copy-full-path`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(un,{className:`size-4`}),` Copy Full Path`]}),(0,Y.jsxs)(`button`,{onClick:()=>de(j,`download`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(wn,{className:`size-4`}),` Download`]}),(0,Y.jsxs)(`button`,{onClick:()=>de(j,`rename`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(me,{className:`size-4`}),` Rename`]}),(0,Y.jsxs)(`button`,{onClick:()=>de(j,`delete`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-error active:bg-surface-elevated`,children:[(0,Y.jsx)(Mn,{className:`size-4`}),` Delete`]}),(0,Y.jsx)(`div`,{className:`h-px bg-border mx-2`}),(0,Y.jsxs)(`button`,{onClick:()=>oe(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(It,{className:`size-4`}),` Select for Compare`]}),ne&&(0,Y.jsxs)(`button`,{onClick:()=>se(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(It,{className:`size-4`}),` Compare with Selected (`,_.label,`)`]}),(0,Y.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),N&&!P&&(0,Y.jsxs)(`button`,{onClick:()=>ce(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(zn,{className:`size-4 fill-primary text-primary`}),` Mark as unread`]}),N&&ve.length>0&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`px-3 pt-2 pb-1 text-xs text-text-secondary flex items-center gap-2`,children:[(0,Y.jsx)(Rn,{className:`size-3.5`}),` Set Tag`]}),ve.map(e=>(0,Y.jsxs)(`button`,{onClick:()=>be(N,e.id),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(`span`,{className:`size-2.5 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,v[N]?.id===e.id&&(0,Y.jsx)(An,{className:`size-3.5 ml-auto`})]},e.id)),v[N]&&(0,Y.jsx)(`button`,{onClick:()=>be(N,null),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:`Remove tag`}),(0,Y.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),j?.closable&&(0,Y.jsxs)(`button`,{onClick:()=>{W.getState().closeTab(b),x(null)},className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(he,{className:`size-4`}),` Close`]}),M.some(e=>e.id!==b&&e.closable)&&(0,Y.jsxs)(`button`,{onClick:()=>ae(b),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(ft,{className:`size-4`}),` Close Others`]}),ee>=0&&ee<M.length-1&&(0,Y.jsxs)(`button`,{onClick:()=>I(b),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,Y.jsx)(Re,{className:`size-4`}),` Close to the Right`]})]}),(0,Y.jsx)(Hi,{open:!!w,onClose:()=>T(null),children:(0,Y.jsxs)(`div`,{className:`px-4 pt-1 pb-3`,children:[(0,Y.jsx)(`div`,{className:`text-[13px] font-semibold text-text-primary mb-2`,children:`Rename chat`}),(0,Y.jsx)(`input`,{autoFocus:!0,value:E,onChange:e=>D(e.target.value),onKeyDown:e=>{e.key===`Enter`&&ie()},placeholder:`Session title`,className:`w-full h-11 px-3 rounded-xl bg-background border border-border text-text-primary outline-none focus:border-primary`,style:{fontSize:16}}),(0,Y.jsxs)(`div`,{className:`flex gap-2 mt-3`,children:[(0,Y.jsx)(`button`,{onClick:()=>T(null),className:`flex-1 h-11 rounded-xl border border-border text-sm text-text-secondary active:bg-surface-elevated`,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:ie,className:`flex-1 h-11 rounded-xl bg-primary text-primary-foreground text-sm font-medium active:opacity-90`,children:`Save`})]})]})}),le&&(0,Y.jsx)(Fl,{node:le.node,projectName:fe?.name??``,onClose:()=>ue(null),onRefresh:()=>{fe&&Mr.getState().fetchTree(fe.name),le.action===`delete`&&W.getState().closeTab(le.tabId)}}),c&&(0,Y.jsx)(Hi,{open:a.visible,onClose:()=>W.getState().setDockVisible(!1),zIndex:60,className:U(`flex flex-col`,s?`h-[calc(var(--sheet-vh,100dvh)+var(--sheet-kb,0px))]`:o?`h-[calc(var(--sheet-vh,100dvh)*0.92)]`:`h-[calc(var(--sheet-vh,100dvh)*0.6)]`),children:(0,Y.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 overflow-hidden`,children:(0,Y.jsx)(ku,{variant:`mobile`})})})]})}var SS=64,CS=350,wS=10;function TS(e,t,n){let r=[...e],i=r.indexOf(t);if(i<0||t===n)return e;r.splice(i,1);let a=r.indexOf(n);return r.splice(a<0?r.length:a,0,t),r}function ES({tabs:e,activeId:t,onSelect:n,onReorder:r}){let i=(0,J.useRef)(null),[a,o]=(0,J.useState)(0),[s,c]=(0,J.useState)(null),[l,u]=(0,J.useState)(null),d=(0,J.useRef)(null),f=(0,J.useRef)(null),[p,m]=(0,J.useState)(!1),h=(0,J.useRef)(null),g=(0,J.useRef)(null),_=e=>{d.current=e,c(e)},v=e=>{f.current=e,u(e)},y=()=>{_(null),v(null)},b=()=>{h.current&&=(clearTimeout(h.current),null)};(0,J.useEffect)(()=>{let e=i.current;if(!e)return;let t=new ResizeObserver(e=>o(e[0].contentRect.width));return t.observe(e),()=>t.disconnect()},[]),(0,J.useEffect)(()=>{let e=i.current;if(!e)return;let t=e=>{if(!d.current)return;e.preventDefault();let t=e.touches[0];if(!t)return;let n=(document.elementFromPoint(t.clientX,t.clientY)?.closest(`[data-tabid]`))?.getAttribute(`data-tabid`);n&&v(n)};return e.addEventListener(`touchmove`,t,{passive:!1}),()=>e.removeEventListener(`touchmove`,t)},[]);let x=a?Math.max(1,Math.floor(a/SS)):e.length,S=e.length>x,C=S?Math.max(1,x-1):e.length,w=e.slice(0,C),T=S&&!w.some(e=>e.id===t)&&e.some(e=>e.id===t);if(T){let n=e.find(e=>e.id===t);w=[...e.slice(0,C-1),n]}let E=new Set(w.map(e=>e.id)),D=e.filter(e=>!E.has(e.id)),O=t=>{d.current&&r(TS(e.map(e=>e.id),d.current,t)),y()},k=(e,t)=>U(`relative flex flex-col items-center justify-center gap-0.5 shrink-0 py-2.5 text-[10px] select-none transition-colors`,t?`text-primary`:`text-text-secondary`,s===e&&`opacity-40`,l===e&&s!==e&&`shadow-[inset_2px_0_0_var(--accent)]`);return(0,Y.jsxs)(`div`,{ref:i,className:`flex items-center overflow-hidden`,children:[w.map(e=>{let r=e.icon;return(0,Y.jsxs)(`button`,{"data-tabid":e.id,style:{width:SS},className:k(e.id,t===e.id),draggable:!0,onDragStart:t=>{_(e.id),t.dataTransfer.effectAllowed=`move`},onDragOver:t=>{t.preventDefault(),v(e.id)},onDrop:t=>{t.preventDefault(),O(e.id)},onDragEnd:y,onClick:()=>n(e.id),onTouchStart:t=>{g.current={x:t.touches[0].clientX,y:t.touches[0].clientY},b(),h.current=setTimeout(()=>_(e.id),CS)},onTouchMove:e=>{if(!d.current&&g.current){let t=Math.abs(e.touches[0].clientX-g.current.x),n=Math.abs(e.touches[0].clientY-g.current.y);(t>wS||n>wS)&&b()}},onTouchEnd:()=>{b(),d.current&&f.current?O(f.current):y(),g.current=null},onTouchCancel:()=>{b(),y(),g.current=null},children:[(0,Y.jsx)(r,{className:`size-4`}),(0,Y.jsx)(`span`,{children:e.shortLabel??e.label}),(0,Y.jsx)(Mg,{id:e.badge,variant:`corner`,className:`top-1 right-2 shadow-none`})]},e.id)}),S&&(0,Y.jsxs)(`button`,{style:{width:SS},onClick:()=>m(!0),className:U(`flex flex-col items-center justify-center gap-0.5 shrink-0 py-2.5 text-[10px] transition-colors`,T?`text-primary`:`text-text-secondary`),children:[(0,Y.jsx)(Je,{className:`size-4`}),(0,Y.jsx)(`span`,{children:`More`})]}),(0,Y.jsx)(Hi,{open:p,onClose:()=>m(!1),children:(0,Y.jsxs)(`div`,{className:`px-2 pb-3 pt-1`,children:[(0,Y.jsx)(`div`,{className:`px-2 py-1 text-xs text-text-secondary`,children:`More tabs`}),D.map(e=>{let r=e.icon;return(0,Y.jsxs)(`button`,{onClick:()=>{n(e.id),m(!1)},className:U(`flex items-center gap-3 w-full px-3 py-2.5 rounded-md text-sm active:bg-surface-elevated`,t===e.id?`text-primary`:`text-foreground`),children:[(0,Y.jsx)(r,{className:`size-4 shrink-0`}),(0,Y.jsx)(`span`,{children:e.label}),(0,Y.jsx)(Mg,{id:e.badge})]},e.id)})]})})]})}var DS=new Set([`history`,`teams`,`explorer`,`search`,`git`,`database`,`tunnels`,`ai-resources`,`jira`]),OS=e=>DS.has(e)||e.startsWith(`ext:`);function kS({icon:e,label:t,badge:n,onClick:r}){return(0,Y.jsxs)(`button`,{onClick:r,className:`group relative flex flex-col items-center justify-center gap-1 rounded-lg py-2.5 text-text-subtle hover:bg-surface-elevated hover:text-text-secondary transition-colors`,children:[(0,Y.jsx)(e,{className:`size-4`}),(0,Y.jsx)(`span`,{className:`text-[10px] leading-none`,children:t}),(0,Y.jsx)(Mg,{id:n,variant:`corner`})]})}function AS({isOpen:e,onClose:t,initialTab:n}){let{activeProject:r}=G(Uu(e=>({activeProject:e.activeProject}))),i=V(e=>e.version),a=V(e=>e.jiraEnabled),o=V(e=>e.sidebarTabOrder),s=V(e=>e.setSidebarTabOrder),c=Pc(e=>e.contributions),{available:l}=w_(),u=b_(),[d,f]=(0,J.useState)(n??`explorer`),[p,m]=(0,J.useState)(!1),h=(0,J.useMemo)(()=>T_(Yr({jiraEnabled:a,contributions:c}),o).filter(e=>OS(e.id)),[a,c,o]);(0,J.useEffect)(()=>{n&&f(n)},[n]),(0,J.useEffect)(()=>{h.length>0&&!h.some(e=>e.id===d)&&f(h[0].id)},[h,d]),(0,J.useEffect)(()=>{let e=()=>{Lr()&&m(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[]);let g=(0,J.useCallback)(()=>mv(i),[i]),_=(0,Y.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-secondary text-center`,children:`Select a project from the bottom nav bar`});return(0,Y.jsxs)(`div`,{className:U(`fixed inset-0 z-50 md:hidden transition-opacity duration-200`,e?`opacity-100`:`opacity-0 pointer-events-none`),children:[(0,Y.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t,"aria-label":`Close drawer`}),(0,Y.jsxs)(`div`,{className:U(`fixed left-0 top-0 bottom-0 w-[90vw] bg-background border-r border-border`,`z-50 flex flex-col transition-transform duration-300 ease-out`,e?`translate-x-0`:`-translate-x-full`),children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b border-border shrink-0`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-bold text-primary tracking-tight`,children:r?.name??`PPM`}),(0,Y.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-8 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(he,{className:`size-4`})})]}),(0,Y.jsxs)(`div`,{"data-onboarding":e?d:void 0,className:`flex-1 overflow-y-auto min-h-0`,children:[d===`history`&&(r?(0,Y.jsx)(kg,{variant:`sidebar`,projectName:r.name,onNavigate:t}):_),d===`teams`&&(r?(0,Y.jsx)(Qg,{}):_),d===`explorer`&&(r?(0,Y.jsx)(Mp,{onFileOpen:t}):_),e&&d===`search`&&(0,Y.jsx)(Rm,{onNavigate:t}),e&&d===`git`&&(0,Y.jsx)(cm,{metadata:{projectName:r?.name},onNavigate:t}),d===`database`&&(0,Y.jsx)(Pm,{}),d===`tunnels`&&(0,Y.jsx)(bg,{}),d===`jira`&&(0,Y.jsx)(ph,{}),d===`ai-resources`&&(0,Y.jsx)(Jh,{}),d.startsWith(`ext:`)&&(0,Y.jsx)(Vm,{viewId:d.slice(4),className:`h-full`})]}),(0,Y.jsxs)(`div`,{className:`shrink-0 border-t border-border`,children:[(0,Y.jsx)(ES,{tabs:h,activeId:d,onSelect:f,onReorder:s}),(0,Y.jsxs)(`div`,{className:`border-t border-border px-3 py-2`,children:[(0,Y.jsxs)(`div`,{className:`grid grid-cols-4 gap-1`,children:[(0,Y.jsx)(kS,{icon:Zt,label:`Files`,badge:`os-explorer`,onClick:()=>{t(),Jf()}}),l&&(0,Y.jsx)(kS,{icon:lt,label:`Remote`,badge:`remote-desktop`,onClick:()=>{t(),u()}}),(0,Y.jsx)(kS,{icon:yt,label:`Cloud`,onClick:()=>m(!0)}),(0,Y.jsx)(kS,{icon:pn,label:`Settings`,onClick:()=>{t(),Ic()}}),(0,Y.jsx)(kS,{icon:Pn,label:`Bug`,onClick:g})]}),(0,Y.jsx)(`div`,{className:`mt-2 pt-2 border-t border-border px-1 text-[11px]`,children:(0,Y.jsx)(Sy,{align:`left`})})]})]})]}),(0,Y.jsx)(Hi,{open:p,onClose:()=>m(!1),zIndex:60,children:(0,Y.jsx)(lv,{variant:`sheet`,onClose:()=>m(!1)})})]})}function jS({isOpen:e,onClose:t}){let{projects:n,activeProject:r,setActiveProject:i,setProjectColor:a,setProjectImage:o,removeProjectImage:s,reorderProjects:c,renameProject:l,deleteProject:u,customOrder:d,sortMode:f,setProjectSortMode:p}=G(Uu(e=>({projects:e.projects,activeProject:e.activeProject,setActiveProject:e.setActiveProject,setProjectColor:e.setProjectColor,setProjectImage:e.setProjectImage,removeProjectImage:e.removeProjectImage,reorderProjects:e.reorderProjects,renameProject:e.renameProject,deleteProject:e.deleteProject,customOrder:e.customOrder,sortMode:e.projectSortMode,setProjectSortMode:e.setProjectSortMode}))),m=V(e=>e.version),h=mr(n,d),g=h.map(e=>e.name),[_,v]=(0,J.useState)(`list`),[y,b]=(0,J.useState)(``),x=(0,J.useMemo)(()=>gr(),[e]),S=(0,J.useMemo)(()=>e_(n,d,f),[n,d,f]),C=y.trim().toLowerCase(),w=C?S.filter(e=>e.name.toLowerCase().includes(C)||e.path.toLowerCase().includes(C)):S,T=f===`priority`&&!C,E=(0,J.useCallback)(e=>{window.open(i_(e,null),`_blank`,`noopener`)},[]),[D,O]=(0,J.useState)(null),[k,A]=(0,J.useState)(``),[j,M]=(0,J.useState)(!1),ee=(0,J.useRef)(null),[N,P]=(0,J.useState)(null),[F,te]=(0,J.useState)(``),ne=(0,J.useRef)(null),[re,ie]=(0,J.useState)(null);async function ae(e){let t=e.target.files?.[0];if(e.target.value=``,!(!t||!re)){O(null);try{await o(re,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}}}let I=(0,J.useCallback)(e=>{ee.current=setTimeout(()=>O(e),400)},[]),oe=(0,J.useCallback)(()=>{ee.current&&=(clearTimeout(ee.current),null)},[]);function se(){v(`list`),t()}function ce(e){let t=n.find(t=>t.name===e);t&&(i(t),se())}function le(){v(`add`)}function ue(){se(),Ic()}async function de(){if(!N||!F.trim()||F===N){P(null);return}try{await l(N,F.trim())}catch{}P(null)}async function fe(e){O(null);try{await u(e)}catch{}}async function pe(e,t){try{await a(e,t),M(!1),O(null)}catch(e){console.error(`Failed to save color:`,e)}}let ge=D?h.find(e=>e.name===D):null,_e=D?h.findIndex(e=>e.name===D):-1,ve=D?[{label:`Open in New Tab`,icon:jt,onClick:()=>{E(D),O(null)}},{label:`Rename`,icon:me,onClick:()=>{te(D),P(D),O(null)}},{label:`Change Color`,icon:We,onClick:()=>{let e=h.findIndex(e=>e.name===D),t=h[e];A(f_(t?.color,e)),M(!0)}},{label:`Change Image`,icon:_t,onClick:()=>{ie(D),ne.current?.click()}},...ge?.image?[{label:`Remove Image`,icon:Mn,onClick:()=>{s(D).catch(()=>{}),O(null)}}]:[],{label:`Copy Path`,icon:un,onClick:()=>{ge&&Al(ge.path),O(null)}},...T&&_e>0?[{label:`Move Up`,icon:Ue,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(_e,1);e.splice(_e-1,0,t),c(e),O(null)}}]:[],...T&&_e<h.length-1?[{label:`Move Down`,icon:qe,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(_e,1);e.splice(_e+1,0,t),c(e),O(null)}}]:[],{label:`Delete`,icon:Mn,destructive:!0,onClick:()=>fe(D)}]:[];return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`input`,{ref:ne,type:`file`,accept:`image/*`,className:`hidden`,onChange:ae}),(0,Y.jsxs)(Hi,{open:e,onClose:se,className:`bg-background`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_===`add`&&(0,Y.jsx)(`button`,{onClick:()=>v(`list`),className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(tn,{className:`size-4`})}),(0,Y.jsx)(`span`,{className:`text-sm font-semibold`,children:_===`add`?`Add Project`:`Projects`})]}),(0,Y.jsx)(`button`,{onClick:se,className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(he,{className:`size-4`})})]}),_===`add`&&(0,Y.jsx)(`div`,{className:`px-4 py-4`,children:(0,Y.jsx)(h_,{onSuccess:()=>{v(`list`),t()},onCancel:()=>v(`list`),footerClassName:`pt-2`})}),_!==`add`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 border-b border-border`,children:[(0,Y.jsx)(Jt,{className:`size-4 text-text-subtle shrink-0`}),(0,Y.jsx)(`input`,{value:y,onChange:e=>b(e.target.value),placeholder:`Search projects…`,className:`flex-1 bg-transparent text-sm text-foreground placeholder:text-text-subtle focus:outline-none`})]}),(0,Y.jsx)(`div`,{className:`flex items-center gap-1 px-2 py-2 border-b border-border`,children:$g.map(({mode:e,label:t,Icon:n})=>(0,Y.jsxs)(`button`,{onClick:()=>p(e),className:U(`flex items-center justify-center gap-1 flex-1 px-2 py-1.5 rounded-md text-xs font-medium transition-colors`,f===e?`bg-primary/[0.12] text-primary`:`text-text-subtle active:bg-surface-elevated`),children:[(0,Y.jsx)(n,{className:`size-3.5`}),` `,t]},e))})]}),(0,Y.jsxs)(`div`,{className:_===`add`?`hidden`:`max-h-[60vh] overflow-y-auto`,children:[w.map(e=>{let t=h.findIndex(t=>t.name===e.name),n=f_(e.color,t),i=r?.name===e.name,a=N===e.name,o=x[e.name];return(0,Y.jsxs)(`div`,{className:U(`flex items-center gap-3 px-4 py-3 transition-colors active:bg-surface-elevated`,i&&`bg-accent/10`),onClick:()=>!a&&ce(e.name),onTouchStart:()=>I(e.name),onTouchEnd:oe,onTouchMove:oe,onTouchCancel:oe,children:[(0,Y.jsx)(m_,{name:e.name,color:n,image:e.image,size:40,allNames:g}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[a?(0,Y.jsx)(`input`,{type:`text`,value:F,onChange:e=>te(e.target.value),onKeyDown:e=>{e.key===`Enter`&&de(),e.key===`Escape`&&P(null)},onBlur:de,onClick:e=>e.stopPropagation(),className:`w-full bg-transparent border-b border-primary text-sm outline-none`,autoFocus:!0}):(0,Y.jsx)(`p`,{className:`text-sm font-medium truncate`,children:e.name}),(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle truncate`,children:e.path})]}),o&&!i&&(0,Y.jsx)(`span`,{className:`shrink-0 text-[10px] text-text-subtle whitespace-nowrap`,children:ms(new Date(o).toISOString())}),i&&(0,Y.jsx)(An,{className:`size-4 text-primary shrink-0`})]},e.name)}),w.length===0&&(0,Y.jsx)(`div`,{className:`px-4 py-6 text-center text-sm text-text-subtle`,children:`No projects found`})]}),(0,Y.jsx)(`div`,{className:`border-t border-border`,children:(0,Y.jsxs)(`button`,{onClick:le,className:`w-full flex items-center gap-3 px-4 py-3 text-text-secondary hover:bg-surface-elevated transition-colors`,children:[(0,Y.jsx)(_n,{className:`size-4 shrink-0`}),(0,Y.jsx)(`span`,{className:`text-sm`,children:`Add Project`})]})}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-t border-border`,children:[(0,Y.jsxs)(`button`,{onClick:ue,className:`flex items-center gap-2 text-text-secondary hover:text-foreground transition-colors`,children:[(0,Y.jsx)(pn,{className:`size-4`}),(0,Y.jsx)(`span`,{className:`text-sm`,children:`Settings`})]}),m&&(0,Y.jsxs)(`span`,{className:`text-xs text-text-subtle`,children:[`v`,m]})]})]}),(0,Y.jsxs)(Hi,{open:!!D&&!j,onClose:()=>O(null),zIndex:60,children:[(0,Y.jsx)(`div`,{className:`px-4 py-2 border-b border-border`,children:(0,Y.jsx)(`p`,{className:`text-xs font-medium text-text-secondary`,children:D})}),ve.map(e=>{let t=e.icon;return(0,Y.jsxs)(`button`,{onClick:e.onClick,className:U(`w-full flex items-center gap-3 px-4 py-3 text-sm transition-colors active:bg-surface-elevated`,e.destructive?`text-destructive`:`text-foreground`),children:[(0,Y.jsx)(t,{className:`size-4 shrink-0`}),e.label]},e.label)})]}),(0,Y.jsxs)(Hi,{open:j&&!!D,onClose:()=>{M(!1),O(null)},zIndex:60,className:`p-4 space-y-4`,children:[(0,Y.jsx)(`p`,{className:`text-sm font-medium`,children:`Change Color`}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:d_.map(e=>(0,Y.jsx)(`button`,{type:`button`,onClick:()=>A(e),className:U(`size-9 rounded-full border-2 transition-all`,k===e?`border-primary scale-110`:`border-transparent`),style:{background:e}},e))}),(0,Y.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,Y.jsx)(`button`,{onClick:()=>{M(!1),O(null)},className:`flex-1 py-2 text-sm text-text-secondary border border-border rounded-md`,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:()=>pe(D,k),className:`flex-1 py-2 text-sm bg-primary text-white rounded-md`,children:`Save`})]})]})]})}var MS=`https://wise.com/pay/me/lehongh`,NS=`/donate-qr.png`,PS=`LE HONG HIEN`,FS=`Techcombank`;function IS({children:e}){return(0,Y.jsx)(`span`,{className:`font-mono text-[11px] font-medium uppercase tracking-wide text-text-subtle`,children:e})}function LS(){let[e,t]=(0,J.useState)(!1);return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,Y.jsx)(`div`,{className:`flex size-11 items-center justify-center rounded-xl bg-surface-elevated`,children:(0,Y.jsx)(ge,{className:`size-5 text-primary`})}),(0,Y.jsx)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Support PPM`}),(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Thanks for keeping this project alive.`})]}),(0,Y.jsxs)(`div`,{className:`grid gap-5 md:grid-cols-2 md:gap-6`,children:[(0,Y.jsxs)(`section`,{className:`flex flex-col items-center gap-3`,children:[(0,Y.jsx)(IS,{children:`Vietnam`}),e?(0,Y.jsxs)(`div`,{className:`flex size-40 flex-col items-center justify-center gap-2 rounded-xl border border-dashed border-border text-text-subtle`,children:[(0,Y.jsx)(vt,{className:`size-8`}),(0,Y.jsx)(`span`,{className:`text-xs`,children:`QR code coming soon`})]}):(0,Y.jsx)(`img`,{src:NS,alt:`Bank transfer QR code`,onError:()=>t(!0),className:`size-40 rounded-xl border border-border bg-white object-contain p-2`}),(0,Y.jsxs)(`div`,{className:`text-center`,children:[(0,Y.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:PS}),(0,Y.jsx)(`p`,{className:`text-xs text-text-subtle`,children:FS})]}),(0,Y.jsx)(`p`,{className:`text-center text-xs text-text-secondary`,children:`Quét mã QR bằng ứng dụng ngân hàng để chuyển khoản.`})]}),(0,Y.jsxs)(`section`,{className:`flex flex-col items-center justify-center gap-3 border-t border-border pt-5 md:border-l md:border-t-0 md:pl-6 md:pt-0`,children:[(0,Y.jsx)(IS,{children:`International`}),(0,Y.jsx)(`p`,{className:`text-center text-sm text-text-secondary`,children:`Send an international transfer via Wise — multi-currency, low fees.`}),(0,Y.jsx)(q,{asChild:!0,className:`w-full`,children:(0,Y.jsxs)(`a`,{href:MS,target:`_blank`,rel:`noopener noreferrer`,children:[(0,Y.jsx)($e,{className:`size-4`}),`Support via Wise`]})})]})]})]})}function RS({open:e,onOpenChange:t}){return Ir()?(0,Y.jsx)(Hi,{open:e,onClose:()=>t(!1),className:`popover-solid`,children:(0,Y.jsx)(`div`,{className:`px-4 pb-4 pt-1`,children:(0,Y.jsx)(LS,{})})}):(0,Y.jsx)(Pi,{open:e,onOpenChange:t,children:(0,Y.jsxs)(Ai,{className:`sm:max-w-xl`,children:[(0,Y.jsx)(ji,{className:`sr-only`,children:`Support PPM`}),(0,Y.jsx)(LS,{})]})})}function zS(){let[e,t]=(0,J.useState)(null),[n,r]=(0,J.useState)(!1);(0,J.useEffect)(()=>{function e(e){let n=e.detail;n&&(t(n),r(!1))}return window.addEventListener(`open-bug-report`,e),()=>window.removeEventListener(`open-bug-report`,e)},[]);let i=(0,J.useCallback)(()=>t(null),[]);return e?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/50`,onClick:i}),(0,Y.jsxs)(`div`,{className:`fixed inset-4 md:inset-auto md:top-[15%] md:left-1/2 md:-translate-x-1/2 md:w-full md:max-w-lg md:max-h-[70vh] z-50 flex flex-col bg-background border border-border rounded-lg shadow-2xl overflow-hidden`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium`,children:`Bug Report`}),(0,Y.jsx)(`button`,{onClick:i,className:`p-1 rounded hover:bg-surface-elevated`,children:(0,Y.jsx)(he,{className:`size-4`})})]}),(0,Y.jsx)(`pre`,{className:`flex-1 overflow-auto px-4 py-2 text-xs font-mono whitespace-pre-wrap break-all`,children:e}),(0,Y.jsxs)(`div`,{className:`flex gap-2 p-3 border-t border-border`,children:[(0,Y.jsxs)(`button`,{onClick:async()=>{await Al(e)&&r(!0)},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md bg-surface-elevated text-xs text-foreground hover:bg-surface transition-colors`,children:[n?(0,Y.jsx)(An,{className:`size-3`}):(0,Y.jsx)(un,{className:`size-3`}),n?`Copied`:`Copy`]}),(0,Y.jsxs)(`button`,{onClick:()=>{pv(e),i()},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md bg-primary text-primary-foreground text-xs hover:bg-primary/90 transition-colors`,children:[(0,Y.jsx)(jt,{className:`size-3`}),`Open GitHub Issue`]})]})]})]}):null}var BS=[{value:`light`,label:`Light`,icon:wt},{value:`dark`,label:`Dark`,icon:be},{value:`system`,label:`System`,icon:jn}],VS=(0,J.memo)(function({className:e}){let t=V(e=>e.themeMode),n=V(e=>e.setThemeMode),r=BS.find(e=>e.value===t)??BS[2],i=r.icon;return(0,Y.jsxs)(du,{children:[(0,Y.jsx)(pu,{asChild:!0,children:(0,Y.jsx)(`button`,{type:`button`,title:`Appearance: ${r.label}`,"aria-label":`Appearance: ${r.label}`,className:U(`flex size-11 items-center justify-center rounded-xl text-text-subtle`,`can-hover:hover:bg-surface-elevated can-hover:hover:text-foreground`,e),children:(0,Y.jsx)(i,{className:`size-[18px]`})})}),(0,Y.jsxs)(mu,{align:`end`,className:`w-44`,children:[(0,Y.jsx)(yu,{children:`Appearance`}),BS.map(e=>{let r=e.icon;return(0,Y.jsxs)(hu,{onClick:()=>n(e.value),className:`gap-2`,children:[(0,Y.jsx)(r,{className:`size-4 shrink-0`}),(0,Y.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),(0,Y.jsx)(An,{className:U(`size-4 shrink-0`,t===e.value?`opacity-100`:`opacity-0`)})]},e.value)})]})]})}),HS=`https://github.com/hienlh/ppm`,US={background:`radial-gradient(80% 60% at 50% -10%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 60%)`},WS={backgroundImage:`radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--text) 5%, transparent) 1px, transparent 0)`,backgroundSize:`26px 26px`};function GS({onSuccess:e}){let[t,n]=(0,J.useState)(``),[r,i]=(0,J.useState)(!1),a=V(e=>e.deviceName),o=V(e=>e.version),s=V(e=>e.tunnelActive),[c,l]=(0,J.useState)(null),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(!1),m=Ir(),h=V(e=>e.themeMode),g=V(e=>e.syncThemeToServer),_=h!==(0,J.useRef)(h).current;async function v(n){if(n.preventDefault(),!t.trim()){l(`Enter your password to continue`);return}d(!0),l(null);try{Hn(t.trim());let n=await(await fetch(`/api/auth/check`,{headers:{Authorization:`Bearer ${t.trim()}`}})).json();if(!n.ok)throw Error(n.error??`Invalid password`);_&&await g(),e()}catch(e){l(e instanceof Error?e.message:`Authentication failed`),localStorage.removeItem(`ppm-auth-token`)}finally{d(!1)}}return(0,Y.jsxs)(`div`,{className:`app-backdrop relative min-h-dvh overflow-hidden flex items-center justify-center p-6`,children:[(0,Y.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:US}),(0,Y.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:WS}),(0,Y.jsx)(VS,{className:`absolute right-[max(1rem,env(safe-area-inset-right))] top-[max(1rem,env(safe-area-inset-top))]`}),(0,Y.jsxs)(`div`,{className:`relative flex w-full max-w-[392px] flex-col items-center gap-[22px] text-center`,children:[(0,Y.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,Y.jsx)(`div`,{className:`flex size-16 items-center justify-center rounded-2xl border border-border bg-background shadow-float`,children:(0,Y.jsx)(`div`,{className:`flex size-[52px] items-center justify-center rounded-xl bg-surface-elevated`,children:(0,Y.jsx)(`span`,{className:`text-[15px] font-bold tracking-wide text-primary`,children:`PPM`})})}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`h1`,{className:`mb-1.5 text-2xl font-semibold tracking-tight text-foreground`,children:`Unlock your workspace`}),(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Enter your access password to unlock`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:[a&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-border bg-surface-elevated px-2.5 py-0.5 font-mono text-[11px] text-text-secondary`,children:[(0,Y.jsx)(m?Rt:jn,{className:`size-3 text-text-subtle`}),a]}),m?(s||o)&&(0,Y.jsxs)(`span`,{className:U(`inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 font-mono text-[11px]`,s?`border-success/30 bg-success/10 text-success`:`border-border bg-surface-elevated text-text-secondary`),children:[s&&(0,Y.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),s?`tunnel · `:``,o?`v${o}`:``]}):(0,Y.jsxs)(Y.Fragment,{children:[o&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center rounded-full border border-border bg-surface-elevated px-2.5 py-0.5 font-mono text-[11px] text-text-secondary`,children:[`v`,o]}),s&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-success/30 bg-success/10 px-2.5 py-0.5 font-mono text-[11px] text-success`,children:[(0,Y.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),`tunnel active`]})]})]})]}),(0,Y.jsxs)(`form`,{onSubmit:v,className:`flex w-full flex-col gap-3`,children:[(0,Y.jsxs)(`div`,{className:`relative w-full`,children:[(0,Y.jsx)(Ki,{type:r?`text`:`password`,placeholder:`Password`,value:t,onChange:e=>{n(e.target.value),c&&l(null)},className:`h-[50px] rounded-xl bg-surface-elevated pr-12 text-[15px] max-md:text-base`,autoFocus:!0}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),"aria-label":r?`Hide password`:`Show password`,className:`absolute right-2 top-1/2 flex size-9 -translate-y-1/2 items-center justify-center rounded-lg text-text-subtle can-hover:hover:bg-surface-elevated can-hover:hover:text-foreground`,children:r?(0,Y.jsx)(Dn,{className:`size-[18px]`}):(0,Y.jsx)(rn,{className:`size-[18px]`})})]}),c&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-error`,children:[(0,Y.jsx)(cn,{className:`size-[15px] shrink-0`}),(0,Y.jsx)(`span`,{children:c})]}),(0,Y.jsx)(q,{type:`submit`,disabled:u,className:`h-[50px] w-full text-[15px]`,children:u?`Checking…`:`Unlock`})]}),(0,Y.jsx)(`div`,{className:`hidden h-px w-full bg-border md:block`}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-center gap-5`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>mv(o),className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,Y.jsx)(Pn,{className:`size-[18px] md:size-3.5`}),(0,Y.jsx)(`span`,{className:`max-md:sr-only`,children:`Report Bug`})]}),(0,Y.jsxs)(`a`,{href:HS,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,Y.jsx)(oa,{className:`size-[18px] md:size-3.5`}),(0,Y.jsx)(`span`,{className:`max-md:sr-only`,children:`Repo`})]}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>p(!0),className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,Y.jsx)(et,{className:`size-[18px] md:size-3.5`}),(0,Y.jsx)(`span`,{className:`max-md:sr-only`,children:`Buy me a coffee`})]})]})]}),(0,Y.jsx)(RS,{open:f,onOpenChange:p}),(0,Y.jsx)(zS,{})]})}function KS(){let e=V(e=>e.themeStyle),t=V(e=>e.themeMode),n=V(e=>e.customThemeId),r=V(e=>e.customThemes),[i,a]=(0,J.useState)(0),o=(0,J.useMemo)(()=>Xi(e,t,r,n),[e,t,r,n,i]);return(0,J.useEffect)(()=>{ii(o)},[o,i]),(0,J.useEffect)(()=>{let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=window.matchMedia(`(max-width: 767px)`),n=()=>a(e=>e+1);return e.addEventListener(`change`,n),t.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n),t.removeEventListener(`change`,n)}},[]),o}var qS=Object.defineProperty,JS=Object.getOwnPropertyDescriptor,YS=Object.getOwnPropertyNames,XS=Object.prototype.hasOwnProperty,ZS=(e,t)=>{let n={};for(var r in e)qS(n,r,{get:e[r],enumerable:!0});return t||qS(n,Symbol.toStringTag,{value:`Module`}),n},QS=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=YS(t),a=0,o=i.length,s;a<o;a++)s=i[a],!XS.call(e,s)&&s!==n&&qS(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=JS(t,s))||r.enumerable});return e},$S=(e,t,n)=>(QS(e,t,`default`),n&&QS(n,t,`default`)),eC=[{id:`abap`,name:`ABAP`,import:(()=>H(()=>import(`./abap-DrxZXLHj.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>H(()=>import(`./actionscript-3-DOPR4pRC.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>H(()=>import(`./ada-DkqjEnDr.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>H(()=>import(`./angular-html-DnrsWZqK.js`).then(e=>e.n),__vite__mapDeps([91,1,92,93,94])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>H(()=>import(`./angular-ts-BXEqA9t1.js`),__vite__mapDeps([95,91,1,92,93,94,96])))},{id:`apache`,name:`Apache Conf`,import:(()=>H(()=>import(`./apache-DYwdQ5F_.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>H(()=>import(`./apex-Dohu7DfB.js`),[]))},{id:`apl`,name:`APL`,import:(()=>H(()=>import(`./apl-DUQ6Oyth.js`),__vite__mapDeps([97,93,1,92,94,98,99,100])))},{id:`applescript`,name:`AppleScript`,import:(()=>H(()=>import(`./applescript-CdfGIVqp.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>H(()=>import(`./ara-i3_3TMnI.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>H(()=>import(`./asciidoc-DJFM-7vl.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>H(()=>import(`./asm-bMFssizQ.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>H(()=>import(`./astro-CakOjJ6X.js`),__vite__mapDeps([101,93,1,94,98,102,103,104])))},{id:`awk`,name:`AWK`,import:(()=>H(()=>import(`./awk-FFWx9ZrE.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>H(()=>import(`./ballerina-DhyJcKkq.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>H(()=>import(`./bat-GOVQY81F.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>H(()=>import(`./beancount-BO749Rhc.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>H(()=>import(`./berry-CHYYKXmK.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>H(()=>import(`./bibtex-BnYiDnxT.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>H(()=>import(`./bicep-kljgR_G3.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>H(()=>import(`./bird2-DnLtJGhV.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>H(()=>import(`./blade-C903KM82.js`),__vite__mapDeps([105,93,1,106,92,94,98,107,99,100])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>H(()=>import(`./bsl-slfcE_kB.js`),__vite__mapDeps([108,109])))},{id:`c`,name:`C`,import:(()=>H(()=>import(`./c-BWO-aeyf.js`).then(e=>e.n),__vite__mapDeps([110,1])))},{id:`c3`,name:`C3`,import:(()=>H(()=>import(`./c3-fc_jio6D.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>H(()=>import(`./cadence-DopRCrdB.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>H(()=>import(`./cairo-DRwEaH6w.js`),__vite__mapDeps([111,112])))},{id:`clarity`,name:`Clarity`,import:(()=>H(()=>import(`./clarity-0cRLlvQe.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>H(()=>import(`./clojure-DPqZAcpI.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>H(()=>import(`./cmake-Bx26bw5u.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>H(()=>import(`./cobol--n4m6b70.js`),__vite__mapDeps([113,92,1,93,94,100])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>H(()=>import(`./codeowners-BpgxIgxr.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>H(()=>import(`./codeql-TRoWjo5g.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>H(()=>import(`./coffee-CjyFmw8_.js`),__vite__mapDeps([114,94,1])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>H(()=>import(`./common-lisp-Ctohamsb.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>H(()=>import(`./coq-BO6TJSED.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>H(()=>import(`./cpp-D18jdQPZ.js`).then(e=>e.n),__vite__mapDeps([115,1,116,110,117,107])))},{id:`crystal`,name:`Crystal`,import:(()=>H(()=>import(`./crystal-CySzfH-7.js`),__vite__mapDeps([118,110,1,93,92,94,119,107])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>H(()=>import(`./csharp-DSy4nlrl.js`),[]))},{id:`css`,name:`CSS`,import:(()=>H(()=>import(`./css-Ca_hTmU6.js`).then(e=>e.n),__vite__mapDeps([93,1])))},{id:`csv`,name:`CSV`,import:(()=>H(()=>import(`./csv-DND7YJXD.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>H(()=>import(`./cue-BUnWK221.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>H(()=>import(`./cypher-CInm9Etl.js`),[]))},{id:`d`,name:`D`,import:(()=>H(()=>import(`./d-BbsB8r6R.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>H(()=>import(`./dart-BG2nw7Se.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>H(()=>import(`./dax-j4h6VhlV.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>H(()=>import(`./desktop-Dg34JDlS.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>H(()=>import(`./diff-CRrKo-mH.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>H(()=>import(`./docker-DAtcxZjt.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>H(()=>import(`./dotenv-DNUcgQCn.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>H(()=>import(`./dream-maker-BMH1JI2G.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>H(()=>import(`./edge-B6b5FHmU.js`),__vite__mapDeps([120,106,92,1,93,94,104])))},{id:`elixir`,name:`Elixir`,import:(()=>H(()=>import(`./elixir-Dpo1rvn2.js`),__vite__mapDeps([121,92,1,93,94])))},{id:`elm`,name:`Elm`,import:(()=>H(()=>import(`./elm-D9CNOsWT.js`),__vite__mapDeps([122,116,1,110])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>H(()=>import(`./emacs-lisp-BaAYIdWN.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>H(()=>import(`./erb-sY7Yee1W.js`),__vite__mapDeps([123,92,1,93,94,124,110,115,116,117,107,125,126,103,104,127,128,119,99,100,129])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>H(()=>import(`./erlang-CfyrBxyF.js`),__vite__mapDeps([130,131])))},{id:`fennel`,name:`Fennel`,import:(()=>H(()=>import(`./fennel-CmhYEhcM.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>H(()=>import(`./fish-p1jauFum.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>H(()=>import(`./fluent-BsH-lUh2.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>H(()=>import(`./fortran-fixed-form-N67gM_wp.js`),__vite__mapDeps([132,133])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>H(()=>import(`./fortran-free-form-CB6SdVKB.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>H(()=>import(`./fsharp-Dq0K01wX.js`),__vite__mapDeps([134,131])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>H(()=>import(`./gdresource-DkFbszqY.js`),__vite__mapDeps([135,136,137])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>H(()=>import(`./gdscript--YoKuvEA.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>H(()=>import(`./gdshader-BRtMwf5z.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>H(()=>import(`./genie-wrzVG2Z8.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>H(()=>import(`./gherkin-HnpURN27.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>H(()=>import(`./git-commit-Ddt_nerD.js`),__vite__mapDeps([138,139])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>H(()=>import(`./git-rebase-CVK5OA7i.js`),__vite__mapDeps([140,119,1])))},{id:`gleam`,name:`Gleam`,import:(()=>H(()=>import(`./gleam-refSZtkM.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>H(()=>import(`./glimmer-js-51jbYnyY.js`),__vite__mapDeps([141,93,1,92,94,104])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>H(()=>import(`./glimmer-ts-C5L1J32J.js`),__vite__mapDeps([142,93,1,92,94,104])))},{id:`glsl`,name:`GLSL`,import:(()=>H(()=>import(`./glsl-BcsfmwJZ.js`).then(e=>e.n),__vite__mapDeps([116,1,110])))},{id:`gn`,name:`GN`,import:(()=>H(()=>import(`./gn-BZ9cGckR.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>H(()=>import(`./gnuplot-CMHqDcTW.js`),[]))},{id:`go`,name:`Go`,import:(()=>H(()=>import(`./go-bFdCrzvY.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>H(()=>import(`./graphql-dv4wuJsK.js`).then(e=>e.n),__vite__mapDeps([125,1,94,126,103,104])))},{id:`groovy`,name:`Groovy`,import:(()=>H(()=>import(`./groovy-Dvz5tluQ.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>H(()=>import(`./hack-DLE5d3bx.js`),__vite__mapDeps([143,92,1,93,94,107])))},{id:`haml`,name:`Ruby Haml`,import:(()=>H(()=>import(`./haml-CoKfcM3E.js`).then(e=>e.n),__vite__mapDeps([127,1,93,94])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>H(()=>import(`./handlebars-Bn0jy8pD.js`),__vite__mapDeps([144,93,1,92,94,129])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>H(()=>import(`./haskell-D9jfkQuH.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>H(()=>import(`./haxe-Ckfl4osD.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>H(()=>import(`./hcl-t03N4k5N.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>H(()=>import(`./hjson-B_TIVRki.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>H(()=>import(`./hlsl-BBCTeANz.js`),[]))},{id:`html`,name:`HTML`,import:(()=>H(()=>import(`./html-DXzY5Cew.js`).then(e=>e.n),__vite__mapDeps([92,1,93,94])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>H(()=>import(`./html-derivative-DhcVfYuw.js`),__vite__mapDeps([106,92,1,93,94])))},{id:`http`,name:`HTTP`,import:(()=>H(()=>import(`./http-DepeIWQ1.js`),__vite__mapDeps([145,125,1,94,126,103,104,98,119,99,100])))},{id:`hurl`,name:`Hurl`,import:(()=>H(()=>import(`./hurl-CfsP4sCj.js`),__vite__mapDeps([146,147,125,1,94,126,103,104,99,100])))},{id:`hxml`,name:`HXML`,import:(()=>H(()=>import(`./hxml-IfVkY3HL.js`),__vite__mapDeps([148,149])))},{id:`hy`,name:`Hy`,import:(()=>H(()=>import(`./hy-BHFJHuHd.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>H(()=>import(`./imba-DyG0_0MS.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>H(()=>import(`./ini-CsCTH-_o.js`),[]))},{id:`java`,name:`Java`,import:(()=>H(()=>import(`./java-JWdrzVo8.js`).then(e=>e.n),__vite__mapDeps([100,1])))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>H(()=>import(`./javascript-5aQKJRxB.js`).then(e=>e.n),__vite__mapDeps([94,1])))},{id:`jinja`,name:`Jinja`,import:(()=>H(()=>import(`./jinja-DcCmNDQ8.js`),__vite__mapDeps([150,92,1,93,94])))},{id:`jison`,name:`Jison`,import:(()=>H(()=>import(`./jison-Bt-5cKVZ.js`),__vite__mapDeps([151,94,1])))},{id:`json`,name:`JSON`,import:(()=>H(()=>import(`./json-BOq7QblK.js`).then(e=>e.n),__vite__mapDeps([98,1])))},{id:`json5`,name:`JSON5`,import:(()=>H(()=>import(`./json5-g3g-IFTV.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>H(()=>import(`./jsonc-DQHBJwib.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>H(()=>import(`./jsonl-zFLDm4eB.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>H(()=>import(`./jsonnet-DgNm2IGn.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>H(()=>import(`./jssm-BErkU0In.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>H(()=>import(`./jsx-BSLWViGE.js`).then(e=>e.n),__vite__mapDeps([126,1])))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>H(()=>import(`./julia-DewYVRtE.js`),__vite__mapDeps([152,115,1,116,110,117,107,94,112,153])))},{id:`just`,name:`Just`,import:(()=>H(()=>import(`./just-CLT_ggBy.js`),__vite__mapDeps([154,94,1,155,93,92,107,99,100,112,124,110,115,116,117,125,126,103,104,127,128,119,129])))},{id:`kdl`,name:`KDL`,import:(()=>H(()=>import(`./kdl-DY4GHmJC.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>H(()=>import(`./kotlin-DeGTz7bl.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>H(()=>import(`./kusto-BN-OqpQj.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>H(()=>import(`./latex-DXmcayW1.js`),__vite__mapDeps([156,157,153,1])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>H(()=>import(`./lean-CAypLWCf.js`),[]))},{id:`less`,name:`Less`,import:(()=>H(()=>import(`./less-ikHAUlPb.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>H(()=>import(`./liquid-BVcHf0IA.js`),__vite__mapDeps([158,93,1,92,94,98])))},{id:`llvm`,name:`LLVM IR`,import:(()=>H(()=>import(`./llvm-CddObVkW.js`),[]))},{id:`log`,name:`Log file`,import:(()=>H(()=>import(`./log-CWbfGTTc.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>H(()=>import(`./logo-AHyhxX3Z.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>H(()=>import(`./lua-BYupsB1B.js`).then(e=>e.n),__vite__mapDeps([128,1,110])))},{id:`luau`,name:`Luau`,import:(()=>H(()=>import(`./luau-y7she9L3.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>H(()=>import(`./make-DP3sQaP3.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>H(()=>import(`./markdown-9Nuxib8a.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>H(()=>import(`./marko-CsD0R5tv.js`),__vite__mapDeps([159,93,1,160,96,104])))},{id:`matlab`,name:`MATLAB`,import:(()=>H(()=>import(`./matlab-CexKVVPc.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>H(()=>import(`./mdc-DP2tC4Kc.js`),__vite__mapDeps([161,106,92,1,93,94,131,129])))},{id:`mdx`,name:`MDX`,import:(()=>H(()=>import(`./mdx-BrcepHfI.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>H(()=>import(`./mermaid-CNFhZZaG.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>H(()=>import(`./mipsasm-B3x4L8Zk.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>H(()=>import(`./mojo-CvfXy3YL.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>H(()=>import(`./moonbit-6Z_VCO0_.js`),[]))},{id:`move`,name:`Move`,import:(()=>H(()=>import(`./move-B2__B6Po.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>H(()=>import(`./narrat-D6vL6wL-.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>H(()=>import(`./nextflow-FQM6iZO2.js`),__vite__mapDeps([162,163])))},{id:`nextflow-groovy`,name:`Nextflow Groovy`,import:(()=>H(()=>import(`./nextflow-groovy-L-FBME4e.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>H(()=>import(`./nginx-Bg0TK_a9.js`),__vite__mapDeps([164,128,1,110])))},{id:`nim`,name:`Nim`,import:(()=>H(()=>import(`./nim-D1kSCHdq.js`),__vite__mapDeps([165,110,1,93,116,92,94,131,99,100])))},{id:`nix`,name:`Nix`,import:(()=>H(()=>import(`./nix-dr279CcA.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>H(()=>import(`./nushell-DgeAQO7j.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>H(()=>import(`./objective-c-CO0-Pacn.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>H(()=>import(`./objective-cpp-SkrjegYw.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>H(()=>import(`./ocaml-CAihtkib.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>H(()=>import(`./odin-D0XZbUDB.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>H(()=>import(`./openscad-fZ9ggqM-.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>H(()=>import(`./pascal-DvZm-eun.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>H(()=>import(`./perl-B6QNc69s.js`),__vite__mapDeps([155,93,1,92,94,107,99,100])))},{id:`php`,name:`PHP`,import:(()=>H(()=>import(`./php-Bvwf1t96.js`),__vite__mapDeps([166,93,1,92,94,98,107,99,100])))},{id:`pkl`,name:`Pkl`,import:(()=>H(()=>import(`./pkl-CQSIp_z8.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>H(()=>import(`./plsql-B_HL7UfT.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>H(()=>import(`./po-DxAfbdfe.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>H(()=>import(`./polar-_mNmplk8.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>H(()=>import(`./postcss-GpU0Sjqc.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>H(()=>import(`./powerquery-B1IP1lCQ.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>H(()=>import(`./powershell-BiSO9XmG.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>H(()=>import(`./prisma-4QqDYSnH.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>H(()=>import(`./prolog-BNjvyRqT.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>H(()=>import(`./proto-RNOumnkw.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>H(()=>import(`./pug-I8oitXP4.js`),__vite__mapDeps([167,93,1,92,94])))},{id:`puppet`,name:`Puppet`,import:(()=>H(()=>import(`./puppet-CDfv5o8f.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>H(()=>import(`./purescript-YTjSoifd.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>H(()=>import(`./python-Mh7JD25U.js`),[]))},{id:`qml`,name:`QML`,import:(()=>H(()=>import(`./qml-LKb7CHg-.js`),__vite__mapDeps([168,94,1])))},{id:`qmldir`,name:`QML Directory`,import:(()=>H(()=>import(`./qmldir-Da_ZrqZy.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>H(()=>import(`./qss-DANVkyhy.js`),[]))},{id:`r`,name:`R`,import:(()=>H(()=>import(`./r-DHu15BOo.js`).then(e=>e.n),__vite__mapDeps([153,1])))},{id:`racket`,name:`Racket`,import:(()=>H(()=>import(`./racket-CwPOn4T1.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>H(()=>import(`./raku-B04lBsXd.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>H(()=>import(`./razor-CIPT897U.js`),__vite__mapDeps([169,170,92,1,93,94])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>H(()=>import(`./reg-44SURM-E.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>H(()=>import(`./regexp-Vdt2OEkk.js`).then(e=>e.n),__vite__mapDeps([117,1])))},{id:`rel`,name:`Rel`,import:(()=>H(()=>import(`./rel-Gu5Erhpm.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>H(()=>import(`./riscv-DZDP0Ce7.js`),[]))},{id:`ron`,name:`RON`,import:(()=>H(()=>import(`./ron-BwLObbl6.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>H(()=>import(`./rosmsg-BldDLaz1.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>H(()=>import(`./rst-BpcmfJFA.js`),__vite__mapDeps([171,172,115,1,116,110,117,107,106,92,93,94,112,124,125,126,103,104,127,128,119,99,100,129])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>H(()=>import(`./ruby-Cx413jgE.js`),__vite__mapDeps([124,110,1,115,116,117,107,93,125,94,126,103,104,127,92,128,119,99,100,129])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>H(()=>import(`./rust-74skZ8CC.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>H(()=>import(`./sas-B3ui_NHy.js`),__vite__mapDeps([173,107,1])))},{id:`sass`,name:`Sass`,import:(()=>H(()=>import(`./sass-CitUFDWl.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>H(()=>import(`./scala-D2kl5ghT.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>H(()=>import(`./scheme-DZqhC9Xs.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>H(()=>import(`./scss-V4NlXnGi.js`).then(e=>e.n),__vite__mapDeps([96,1,93])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>H(()=>import(`./sdbl-D6a8sHP9.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>H(()=>import(`./shaderlab-Cf7qZ4DR.js`),__vite__mapDeps([174,175])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>H(()=>import(`./shellscript-DRxJLgrx.js`).then(e=>e.n),__vite__mapDeps([119,1])))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>H(()=>import(`./shellsession-BfA8Fmhb.js`),__vite__mapDeps([176,119,1])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>H(()=>import(`./smalltalk-CYQHXftK.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>H(()=>import(`./solidity-CYCEiPu1.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>H(()=>import(`./soy-CGKN9rxg.js`),__vite__mapDeps([177,92,1,93,94])))},{id:`sparql`,name:`SPARQL`,import:(()=>H(()=>import(`./sparql-CArCsIdI.js`),__vite__mapDeps([178,179])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>H(()=>import(`./splunk-B7RHmJY2.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>H(()=>import(`./sql-ljEiM8nf.js`).then(e=>e.n),__vite__mapDeps([107,1])))},{id:`ssh-config`,name:`SSH Config`,import:(()=>H(()=>import(`./ssh-config-B74-n00O.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>H(()=>import(`./stata-CplvndbA.js`),__vite__mapDeps([180,107,1])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>H(()=>import(`./stylus-xlRhcbpN.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>H(()=>import(`./surrealql-DwX1PCpP.js`),__vite__mapDeps([181,94,1])))},{id:`svelte`,name:`Svelte`,import:(()=>H(()=>import(`./svelte-DYCNmQjy.js`),__vite__mapDeps([182,93,1,94,102,104])))},{id:`swift`,name:`Swift`,import:(()=>H(()=>import(`./swift-DTFwWJtu.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>H(()=>import(`./system-verilog-CgxJCrOK.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>H(()=>import(`./systemd-D0x7_XYJ.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>H(()=>import(`./talonscript-B50aQRuc.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>H(()=>import(`./tasl-Byv8gHCL.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>H(()=>import(`./tcl-CzMjCzWo.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>H(()=>import(`./templ-b_h2-Z9l.js`),__vite__mapDeps([183,93,1,184,94])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>H(()=>import(`./terraform-D6GH4CXG.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>H(()=>import(`./tex-022M3-MR.js`),__vite__mapDeps([157,153,1])))},{id:`toml`,name:`TOML`,import:(()=>H(()=>import(`./toml-D9W-BuJE.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>H(()=>import(`./ts-tags-BUl0AdO6.js`),__vite__mapDeps([185,93,1,116,110,92,94,107,104,99,100])))},{id:`tsv`,name:`TSV`,import:(()=>H(()=>import(`./tsv-BddanT8p.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>H(()=>import(`./tsx-CKaH7SzK.js`).then(e=>e.n),__vite__mapDeps([103,1])))},{id:`turtle`,name:`Turtle`,import:(()=>H(()=>import(`./turtle-BddVklvD.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>H(()=>import(`./twig-CMzYUcSa.js`),__vite__mapDeps([186,93,1,94,166,92,98,107,99,100,112,124,110,115,116,117,125,126,103,104,127,128,119,129,96])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>H(()=>import(`./typescript-DZozDFsi.js`).then(e=>e.n),__vite__mapDeps([104,1])))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>H(()=>import(`./typespec-D60I2kfB.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>H(()=>import(`./typst-Bxvc-9ID.js`),[]))},{id:`v`,name:`V`,import:(()=>H(()=>import(`./v-kVYZE10o.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>H(()=>import(`./vala-B3zj44PV.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>H(()=>import(`./vb-CHgWrFTj.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>H(()=>import(`./verilog-zIMuE3hE.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>H(()=>import(`./vhdl-Q2EtgpQN.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>H(()=>import(`./viml-CrtDZkFz.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>H(()=>import(`./vue-D83SsURi.js`),__vite__mapDeps([187,93,1,106,92,94,98,104])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>H(()=>import(`./vue-html-BGU-OYYb.js`),__vite__mapDeps([188,94,1])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>H(()=>import(`./vue-vine-1sHE1gZn.js`),__vite__mapDeps([189,93,1,94,160,102,96,190])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>H(()=>import(`./vyper-LQ1KxOUo.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>H(()=>import(`./wasm-B-mpMVDM.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>H(()=>import(`./wenyan-LqMyA7px.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>H(()=>import(`./wgsl-eI4U21sm.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>H(()=>import(`./wikitext-CuWC2dfS.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>H(()=>import(`./wit-CCPY0MNz.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>H(()=>import(`./wolfram-CXhjyJun.js`),[]))},{id:`xml`,name:`XML`,import:(()=>H(()=>import(`./xml-bWQJszMK.js`).then(e=>e.n),__vite__mapDeps([99,1,100])))},{id:`xsl`,name:`XSL`,import:(()=>H(()=>import(`./xsl-DTMc1Tsm.js`),__vite__mapDeps([191,99,1,100])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>H(()=>import(`./yaml-4pzZq5KT.js`).then(e=>e.n),__vite__mapDeps([129,1])))},{id:`zenscript`,name:`ZenScript`,import:(()=>H(()=>import(`./zenscript-BzHPI08Q.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>H(()=>import(`./zig-CBuhKUve.js`),[]))}],tC=Object.fromEntries(eC.map(e=>[e.id,e.import])),nC=Object.fromEntries(eC.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),rC={...tC,...nC},iC=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>H(()=>import(`./andromeeda-BSZjevw2.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>H(()=>import(`./aurora-x-CetC7M8b.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>H(()=>import(`./ayu-dark-D4ION2wO.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>H(()=>import(`./ayu-light-BZN99P5A.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>H(()=>import(`./ayu-mirage-B-IpsKiL.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>H(()=>import(`./catppuccin-frappe-DL6iCUa8.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>H(()=>import(`./catppuccin-latte-DNF7n3uY.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>H(()=>import(`./catppuccin-macchiato-ByMic_k0.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>H(()=>import(`./catppuccin-mocha-DcrJtZtv.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>H(()=>import(`./dark-plus-DkzIiuQX.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>H(()=>import(`./dracula-bhhaShNC.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>H(()=>import(`./dracula-soft-CeHAoi-D.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>H(()=>import(`./everforest-dark-Cs91gPa_.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>H(()=>import(`./everforest-light-lTkE6qWA.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>H(()=>import(`./github-dark-XlZ3pGhn.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>H(()=>import(`./github-dark-default-D_R0hfJe.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>H(()=>import(`./github-dark-dimmed-BHQgHLnK.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>H(()=>import(`./github-dark-high-contrast-Pbl4mEFe.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>H(()=>import(`./github-light-0P0VANJn.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>H(()=>import(`./github-light-default-DTfsnyDq.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>H(()=>import(`./github-light-high-contrast-DKITR-5Y.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>H(()=>import(`./gruvbox-dark-hard-D0Z-pclr.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>H(()=>import(`./gruvbox-dark-medium-BG6oIRQR.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>H(()=>import(`./gruvbox-dark-soft-ILJ-3tU6.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>H(()=>import(`./gruvbox-light-hard-Bl95khkz.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>H(()=>import(`./gruvbox-light-medium-CdislFOh.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>H(()=>import(`./gruvbox-light-soft-CTcEyxlX.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>H(()=>import(`./horizon-CRY-xdGU.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`light`,import:(()=>H(()=>import(`./horizon-bright-BpUM2C5u.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>H(()=>import(`./houston-RVyAGlyS.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>H(()=>import(`./kanagawa-dragon-Dgymfjca.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>H(()=>import(`./kanagawa-lotus-CWZEYd27.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>H(()=>import(`./kanagawa-wave-CQg17ecf.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>H(()=>import(`./laserwave-bAqiAiOp.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>H(()=>import(`./light-plus-BamuTcT9.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>H(()=>import(`./material-theme-DDpm-uS7.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>H(()=>import(`./material-theme-darker-CHk91wbm.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>H(()=>import(`./material-theme-lighter-LkmOI8KM.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>H(()=>import(`./material-theme-ocean-PpkUhB4-.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>H(()=>import(`./material-theme-palenight-DZAigXgW.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>H(()=>import(`./min-dark-hd3nbDV4.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>H(()=>import(`./min-light-AqA5jmks.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>H(()=>import(`./monokai-CdxwmnU_.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>H(()=>import(`./night-owl-DjKrkDjv.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>H(()=>import(`./night-owl-light-CeGjPuUQ.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>H(()=>import(`./nord-Dxn-_H_Y.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>H(()=>import(`./one-dark-pro-BUMNMxjX.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>H(()=>import(`./one-light-C0Ui69Bx.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>H(()=>import(`./plastic-CMspsouJ.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>H(()=>import(`./poimandres-JGmqmwux.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>H(()=>import(`./red-MW6Zm5pd.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>H(()=>import(`./rose-pine-Bz6ToXok.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>H(()=>import(`./rose-pine-dawn-LyFogzAh.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>H(()=>import(`./rose-pine-moon-CpjkefjD.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>H(()=>import(`./slack-dark-DrlPLUB_.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>H(()=>import(`./slack-ochin-Djgychog.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>H(()=>import(`./snazzy-light-BQAdF14K.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>H(()=>import(`./solarized-dark-JDtJfY-g.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>H(()=>import(`./solarized-light-DHzVPLDD.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>H(()=>import(`./synthwave-84-BuCpuX2E.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>H(()=>import(`./tokyo-night-CQ4rTpHY.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>H(()=>import(`./vesper-BjqPTQr0.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>H(()=>import(`./vitesse-black-D2VWO3oN.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>H(()=>import(`./vitesse-dark-lleZmHBJ.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>H(()=>import(`./vitesse-light-utUY298S.js`),[]))}].map(e=>[e.id,e.import])),aC=t({createOnigurumaEngine:()=>NC,getDefaultWasmLoader:()=>MC,loadWasm:()=>EC,setDefaultWasmLoader:()=>jC}),oC=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function sC(){return 2147483648}function cC(){return typeof performance<`u`?performance.now():Date.now()}var lC=(e,t)=>e+(t-e%t)%t;async function uC(e){let t,n,r={};function i(e){n=e,r.HEAPU8=new Uint8Array(e),r.HEAPU32=new Uint32Array(e)}function a(e,t,n){r.HEAPU8.copyWithin(e,t,t+n)}function o(e){try{return t.grow(e-n.byteLength+65535>>>16),i(t.buffer),1}catch{}}function s(e){let t=r.HEAPU8.length;e>>>=0;let n=sC();if(e>n)return!1;for(let r=1;r<=4;r*=2){let i=t*(1+.2/r);if(i=Math.min(i,e+100663296),o(Math.min(n,lC(Math.max(e,i),65536))))return!0}return!1}let c=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function l(e,t,n=1024){let r=t+n,i=t;for(;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&c)return c.decode(e.subarray(t,i));let a=``;for(;t<i;){let n=e[t++];if(!(n&128)){a+=String.fromCharCode(n);continue}let r=e[t++]&63;if((n&224)==192){a+=String.fromCharCode((n&31)<<6|r);continue}let i=e[t++]&63;if(n=(n&240)==224?(n&15)<<12|r<<6|i:(n&7)<<18|r<<12|i<<6|e[t++]&63,n<65536)a+=String.fromCharCode(n);else{let e=n-65536;a+=String.fromCharCode(55296|e>>10,56320|e&1023)}}return a}function u(e,t){return e?l(r.HEAPU8,e,t):``}let d={emscripten_get_now:cC,emscripten_memcpy_big:a,emscripten_resize_heap:s,fd_write:()=>0};async function f(){let n=await e({env:d,wasi_snapshot_preview1:d});t=n.memory,i(t.buffer),Object.assign(r,n),r.UTF8ToString=u}return await f(),r}var dC=Object.defineProperty,fC=(e,t,n)=>t in e?dC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pC=(e,t,n)=>fC(e,typeof t==`symbol`?t:t+``,n),mC=null;function hC(e){throw new oC(e.UTF8ToString(e.getLastOnigError()))}var gC=class e{constructor(t){pC(this,`utf16Length`),pC(this,`utf8Length`),pC(this,`utf16Value`),pC(this,`utf8Value`),pC(this,`utf16OffsetToUtf8`),pC(this,`utf8OffsetToUtf16`);let n=t.length,r=e._utf8ByteLength(t),i=r!==n,a=i?new Uint32Array(n+1):null;i&&(a[n]=r);let o=i?new Uint32Array(r+1):null;i&&(o[r]=n);let s=new Uint8Array(r),c=0;for(let e=0;e<n;e++){let r=t.charCodeAt(e),l=r,u=!1;if(r>=55296&&r<=56319&&e+1<n){let n=t.charCodeAt(e+1);n>=56320&&n<=57343&&(l=(r-55296<<10)+65536|n-56320,u=!0)}i&&(a[e]=c,u&&(a[e+1]=c),l<=127?o[c+0]=e:l<=2047?(o[c+0]=e,o[c+1]=e):l<=65535?(o[c+0]=e,o[c+1]=e,o[c+2]=e):(o[c+0]=e,o[c+1]=e,o[c+2]=e,o[c+3]=e)),l<=127?s[c++]=l:l<=2047?(s[c++]=192|(l&1984)>>>6,s[c++]=128|(l&63)>>>0):l<=65535?(s[c++]=224|(l&61440)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0):(s[c++]=240|(l&1835008)>>>18,s[c++]=128|(l&258048)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0),u&&e++}this.utf16Length=n,this.utf8Length=r,this.utf16Value=t,this.utf8Value=s,this.utf16OffsetToUtf8=a,this.utf8OffsetToUtf16=o}static _utf8ByteLength(e){let t=0;for(let n=0,r=e.length;n<r;n++){let i=e.charCodeAt(n),a=i,o=!1;if(i>=55296&&i<=56319&&n+1<r){let t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(a=(i-55296<<10)+65536|t-56320,o=!0)}a<=127?t+=1:a<=2047?t+=2:a<=65535?t+=3:t+=4,o&&n++}return t}createString(e){let t=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,t),t}},_C=class e{constructor(t){if(pC(this,`id`,++e.LAST_ID),pC(this,`_onigBinding`),pC(this,`content`),pC(this,`utf16Length`),pC(this,`utf8Length`),pC(this,`utf16OffsetToUtf8`),pC(this,`utf8OffsetToUtf16`),pC(this,`ptr`),!mC)throw new oC(`Must invoke loadWasm first.`);this._onigBinding=mC,this.content=t;let n=new gC(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=mC.omalloc(1e4),e._sharedPtrInUse=!0,mC.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(mC)}convertUtf8OffsetToUtf16(e){return this.utf8OffsetToUtf16?e<0?0:e>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[e]:e}convertUtf16OffsetToUtf8(e){return this.utf16OffsetToUtf8?e<0?0:e>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[e]:e}dispose(){this.ptr===e._sharedPtr?e._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};pC(_C,`LAST_ID`,0),pC(_C,`_sharedPtr`,0),pC(_C,`_sharedPtrInUse`,!1);var vC=_C,yC=class{constructor(e){if(pC(this,`_onigBinding`),pC(this,`_ptr`),!mC)throw new oC(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new gC(e[r]);t[r]=i.createString(mC),n[r]=i.utf8Length}let r=mC.omalloc(4*e.length);mC.HEAPU32.set(t,r/4);let i=mC.omalloc(4*e.length);mC.HEAPU32.set(n,i/4);let a=mC.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)mC.ofree(t[n]);mC.ofree(i),mC.ofree(r),a===0&&hC(mC),this._onigBinding=mC,this._ptr=a}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,t,n){let r=0;if(typeof n==`number`&&(r=n),typeof e==`string`){e=new vC(e);let n=this._findNextMatchSync(e,t,!1,r);return e.dispose(),n}return this._findNextMatchSync(e,t,!1,r)}_findNextMatchSync(e,t,n,r){let i=this._onigBinding,a=i.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(t),r);if(a===0)return null;let o=i.HEAPU32,s=a/4,c=o[s++],l=o[s++],u=[];for(let t=0;t<l;t++){let n=e.convertUtf8OffsetToUtf16(o[s++]),r=e.convertUtf8OffsetToUtf16(o[s++]);u[t]={start:n,end:r,length:r-n}}return{index:c,captureIndices:u}}};function bC(e){return typeof e.instantiator==`function`}function xC(e){return typeof e.default==`function`}function SC(e){return e.data!==void 0}function CC(e){return typeof Response<`u`&&e instanceof Response}function wC(e){return typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<`u`&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||typeof Uint32Array<`u`&&e instanceof Uint32Array}var TC;function EC(e){if(TC)return TC;async function t(){mC=await uC(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),bC(n)?n=await n.instantiator(t):xC(n)?n=await n.default(t):(SC(n)&&(n=n.data),CC(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await OC(n)(t):await kC(n)(t):wC(n)||n instanceof WebAssembly.Module?n=await DC(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await DC(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return TC=t(),TC}function DC(e){return t=>WebAssembly.instantiate(e,t)}function OC(e){return t=>WebAssembly.instantiateStreaming(e,t)}function kC(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}var AC;function jC(e){AC=e}function MC(){return AC}async function NC(e){return e&&await EC(e),{createScanner(e){return new yC(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new vC(e)}}}var PC=ZS({});$S(PC,aC);var FC=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function IC(e){return LC(e)}function LC(e){return Array.isArray(e)?RC(e):e instanceof RegExp?e:typeof e==`object`?zC(e):e}function RC(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=LC(e[n]);return t}function zC(e){let t={};for(let n in e)t[n]=LC(e[n]);return t}function BC(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function VC(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?VC(e.substring(0,e.length-1)):e.substr(~t+1)}var HC=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,UC=class{static hasCaptures(e){return e===null?!1:(HC.lastIndex=0,HC.test(e))}static replaceCaptures(e,t,n){return e.replace(HC,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function WC(e,t){return e<t?-1:e>t?1:0}function GC(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;r<n;r++){let n=WC(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function KC(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function qC(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var JC=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},YC=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(ew(e),t)}static createFromParsedTheme(e,t){return rw(e,t)}_cachedMatchRoot=new JC(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>ZC(e.parent,t.parentScopes));return n?new $C(n.fontStyle,n.foreground,n.background):null}},XC=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new e(n,t[r]);return n}push(t){return new e(this,t)}getSegments(){let e=this,t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(` `)}extends(e){return this===e?!0:this.parent===null?!1:this.parent.extends(e)}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push(n.scopeName),n=n.parent;return n===e?t.reverse():void 0}};function ZC(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],i=!1;if(r===`>`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!QC(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function QC(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var $C=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function ew(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e];if(!i.settings)continue;let a;if(typeof i.scope==`string`){let e=i.scope;e=e.replace(/^[,]+/,``),e=e.replace(/[,]+$/,``),a=e.split(`,`)}else a=Array.isArray(i.scope)?i.scope:[``];let o=-1;if(typeof i.settings.fontStyle==`string`){o=0;let e=i.settings.fontStyle.split(` `);for(let t=0,n=e.length;t<n;t++)switch(e[t]){case`italic`:o|=1;break;case`bold`:o|=2;break;case`underline`:o|=4;break;case`strikethrough`:o|=8;break}}let s=null;typeof i.settings.foreground==`string`&&KC(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&KC(i.settings.background)&&(c=i.settings.background);for(let t=0,i=a.length;t<i;t++){let i=a[t].trim().split(` `),l=i[i.length-1],u=null;i.length>1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new tw(l,u,e,o,s,c)}}return n}var tw=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},nw=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(nw||{});function rw(e,t){e.sort((e,t)=>{let n=WC(e.scope,t.scope);return n!==0||(n=GC(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new iw(t),o=new $C(n,a.getId(r),a.getId(i)),s=new sw(new ow(0,null,-1,0,0),[]);for(let t=0,n=e.length;t<n;t++){let n=e[t];s.insert(0,n.scope,n.parentScopes,n.fontStyle,a.getId(n.foreground),a.getId(n.background))}return new YC(a,o,s)}var iw=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},aw=Object.freeze([]),ow=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||aw,this.fontStyle=n,this.foreground=r,this.background=i}clone(){return new e(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n].clone();return t}acceptOverwrite(e,t,n,r){this.scopeDepth>e?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},sw=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),ow.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null){this._mainRule.acceptOverwrite(e,n,r,i);return}for(let a=0,o=this._rulesWithParentScopes.length;a<o;a++){let o=this._rulesWithParentScopes[a];if(GC(o.parentScopes,t)===0){o.acceptOverwrite(e,n,r,i);return}}n===-1&&(n=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),i===0&&(i=this._mainRule.background),this._rulesWithParentScopes.push(new ow(e,t,n,r,i))}},cw=class e{static toBinaryStr(e){return e.toString(2).padStart(32,`0`)}static print(t){let n=e.getLanguageId(t),r=e.getTokenType(t),i=e.getFontStyle(t),a=e.getForeground(t),o=e.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:i,foreground:a,background:o})}static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=e.containsBalancedBrackets(t)?1:0,d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=uw(r)),i!==null&&(u=i?1:0),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c<<0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function lw(e){return e}function uw(e){return e}function dw(e,t){let n=[],r=pw(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(fw(i)){let e=[];do e.push(i),i=r.next();while(fw(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function fw(e){return!!e&&!!e.match(/[\w\.:]+/)}function pw(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function mw(e){typeof e.dispose==`function`&&e.dispose()}var hw=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},gw=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},_w=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},vw=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new hw(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new _w;for(let n of e)yw(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof hw){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function yw(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof hw?xw({baseGrammar:a,selfGrammar:i},r):bw(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new hw(e))}function bw(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];Sw([r],t,n)}}function xw(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Sw(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Sw(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Sw(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?BC({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Sw(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=Ow(i);switch(a.kind){case 0:xw({...t,selfGrammar:t.baseGrammar},n);break;case 1:xw(t,n);break;case 2:bw(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?bw(a.ruleName,i,n):xw(i,n)}else a.kind===4?n.add(new gw(a.scopeName,a.ruleName)):n.add(new hw(a.scopeName));break}}}var Cw=class{kind=0},ww=class{kind=1},Tw=class{constructor(e){this.ruleName=e}kind=2},Ew=class{constructor(e){this.scopeName=e}kind=3},Dw=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function Ow(e){if(e===`$base`)return new Cw;if(e===`$self`)return new ww;let t=e.indexOf(`#`);return t===-1?new Ew(e):t===0?new Tw(e.substring(1)):new Dw(e.substring(0,t),e.substring(t+1))}var kw=/\\(\d+)/,Aw=/\\(\d+)/g,jw=-1,Mw=-2;function Nw(e){return e}function Pw(e){return e}var Fw=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=UC.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=UC.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${VC(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:UC.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:UC.replaceCaptures(this._contentName,e,t)}},Iw=class extends Fw{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},Lw=class extends Fw{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new Hw(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Uw,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Rw=class extends Fw{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Uw,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},zw=class extends Fw{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new Hw(i,this.id),this.beginCaptures=a,this._end=new Hw(o||`￿`,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Uw;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},Bw=class extends Fw{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new Hw(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new Hw(o,Mw),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Uw;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Uw,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||`￿`),this._cachedCompiledWhilePatterns}},Vw=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new Iw(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new Lw(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=BC({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new Rw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new Bw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new zw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;a<o;a++){let o=t[a],s=-1;if(o.include){let t=Ow(o.include);switch(t.kind){case 0:case 1:s=e.getCompiledRuleId(r[o.include],n,r);break;case 2:let i=r[t.ruleName];i&&(s=e.getCompiledRuleId(i,n,r));break;case 3:case 4:let a=t.scopeName,c=t.kind===4?t.ruleName:null,l=n.getExternalGrammar(a,r);if(l)if(c){let t=l.repository[c];t&&(s=e.getCompiledRuleId(t,n,l.repository))}else s=e.getCompiledRuleId(l.repository.$self,n,l.repository);break}}else s=e.getCompiledRuleId(o,n,r);if(s!==-1){let e=n.getRule(s),t=!1;if((e instanceof Rw||e instanceof zw||e instanceof Bw)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},Hw=class e{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(e,t){if(e&&typeof e==`string`){let t=e.length,n=0,r=[],i=!1;for(let a=0;a<t;a++)if(e.charAt(a)===`\\`&&a+1<t){let t=e.charAt(a+1);t===`z`?(r.push(e.substring(n,a)),r.push(`$(?!\\n)(?<!\\n)`),n=a+2):(t===`A`||t===`G`)&&(i=!0),a++}this.hasAnchor=i,n===0?this.source=e:(r.push(e.substring(n,t)),this.source=r.join(``))}else this.hasAnchor=!1,this.source=e;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=t,typeof this.source==`string`?this.hasBackReferences=kw.test(this.source):this.hasBackReferences=!1}clone(){return new e(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let n=t.map(t=>e.substring(t.start,t.end));return Aw.lastIndex=0,this.source.replace(Aw,(e,t)=>qC(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;i<a;i++)o=this.source.charAt(i),e[i]=o,t[i]=o,n[i]=o,r[i]=o,o===`\\`&&i+1<a&&(s=this.source.charAt(i+1),s===`A`?(e[i+1]=`￿`,t[i+1]=`￿`,n[i+1]=`A`,r[i+1]=`A`):s===`G`?(e[i+1]=`￿`,t[i+1]=`G`,n[i+1]=`￿`,r[i+1]=`G`):(e[i+1]=s,t[i+1]=s,n[i+1]=s,r[i+1]=s),i++);return{A0_G0:e.join(``),A0_G1:t.join(``),A1_G0:n.join(``),A1_G1:r.join(``)}}resolveAnchors(e,t){return!this.hasAnchor||!this._anchorCache||typeof this.source!=`string`?this.source:e?t?this._anchorCache.A1_G1:this._anchorCache.A1_G0:t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Uw=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&=(this._cached.dispose(),null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){return this._cached||=new Ww(e,this._items.map(e=>e.source),this._items.map(e=>e.ruleId)),this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new Ww(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},Ww=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(` - `+this.rules[t]+`: `+this.regExps[t]);return e.join(`
24
24
  `)}findNextMatchSync(e,t,n){let r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Gw=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Kw=class e{_defaultAttributes;_embeddedLanguagesMatcher;constructor(e,t){this._defaultAttributes=new Gw(e,8),this._embeddedLanguagesMatcher=new qw(Object.entries(t||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?e._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new Gw(0,0);_getBasicScopeAttributes=new JC(e=>new Gw(this._scopeToLanguage(e),this._toStandardTokenType(e)));_scopeToLanguage(e){return this._embeddedLanguagesMatcher.match(e)||0}_toStandardTokenType(t){let n=t.match(e.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case`comment`:return 1;case`string`:return 2;case`regex`:return 3;case`meta.embedded`:return 0}throw Error(`Unexpected match for standard token type!`)}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},qw=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([e,t])=>qC(e));t.sort(),t.reverse(),this.scopesRegExp=RegExp(`^((${t.join(`)|(`)}))($|\\.)`,``)}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}};typeof process<`u`&&{}.VSCODE_TEXTMATE_DEBUG;var Jw=!1,Yw=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Xw(e,t,n,r,i,a,o,s){let c=t.content.length,l=!1,u=-1;if(o){let o=Zw(e,t,n,r,i,a);i=o.stack,r=o.linePos,n=o.isFirstLine,u=o.anchorPosition}let d=Date.now();for(;!l;){if(s!==0&&Date.now()-d>s)return new Yw(i,!0);f()}return new Yw(i,!1);function f(){let o=Qw(e,t,n,r,i,u);if(!o){a.produce(i,c),l=!0;return}let s=o.captureIndices,d=o.matchedRuleId,f=s&&s.length>0?s[0].end>r:!1;if(d===jw){let o=i.getRule(e);a.produce(i,s[0].start),i=i.withContentNameScopesList(i.nameScopesList),iT(e,t,n,i,a,o.endCaptures,s),a.produce(i,s[0].end);let d=i;if(i=i.parent,u=d.getAnchorPos(),!f&&d.getEnterPos()===r){i=d,a.produce(i,c),l=!0;return}}else{let o=e.getRule(d);a.produce(i,s[0].start);let p=i,m=o.getName(t.content,s),h=i.contentNameScopesList.pushAttributed(m,e);if(i=i.push(d,r,u,s[0].end===c,null,h,h),o instanceof zw){let r=o;iT(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.endHasBackReferences&&(i=i.withEndRule(r.getEndWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(o instanceof Bw){let r=o;iT(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.whileHasBackReferences&&(i=i.withEndRule(r.getWhileWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(iT(e,t,n,i,a,o.captures,s),a.produce(i,s[0].end),i=i.pop(),!f){i=i.safePop(),a.produce(i,c),l=!0;return}}s[0].end>r&&(r=s[0].end,n=!1)}}function Zw(e,t,n,r,i,a){let o=i.beginRuleCapturedEOL?0:-1,s=[];for(let t=i;t;t=t.pop()){let n=t.getRule(e);n instanceof Bw&&s.push({rule:n,stack:t})}for(let c=s.pop();c;c=s.pop()){let{ruleScanner:s,findOptions:l}=nT(c.rule,e,c.stack.endRule,n,r===o),u=s.findNextMatchSync(t,r,l);if(u){if(u.ruleId!==Mw){i=c.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(a.produce(c.stack,u.captureIndices[0].start),iT(e,t,n,c.stack,a,c.rule.whileCaptures,u.captureIndices),a.produce(c.stack,u.captureIndices[0].end),o=u.captureIndices[0].end,u.captureIndices[0].end>r&&(r=u.captureIndices[0].end,n=!1))}else{i=c.stack.pop();break}}return{stack:i,linePos:r,anchorPosition:o,isFirstLine:n}}function Qw(e,t,n,r,i,a){let o=$w(e,t,n,r,i,a),s=e.getInjections();if(s.length===0)return o;let c=eT(s,e,t,n,r,i,a);if(!c)return o;if(!o)return c;let l=o.captureIndices[0].start,u=c.captureIndices[0].start;return u<l||c.priorityMatch&&u===l?c:o}function $w(e,t,n,r,i,a){let{ruleScanner:o,findOptions:s}=tT(i.getRule(e),e,i.endRule,n,r===a),c=o.findNextMatchSync(t,r,s);return c?{captureIndices:c.captureIndices,matchedRuleId:c.ruleId}:null}function eT(e,t,n,r,i,a,o){let s=Number.MAX_VALUE,c=null,l,u=0,d=a.contentNameScopesList.getScopeNames();for(let a=0,f=e.length;a<f;a++){let f=e[a];if(!f.matcher(d))continue;let{ruleScanner:p,findOptions:m}=tT(t.getRule(f.ruleId),t,null,r,i===o),h=p.findNextMatchSync(n,i,m);if(!h)continue;let g=h.captureIndices[0].start;if(!(g>=s)&&(s=g,c=h.captureIndices,l=h.ruleId,u=f.priority,s===i))break}return c?{priorityMatch:u===-1,captureIndices:c,matchedRuleId:l}:null}function tT(e,t,n,r,i){return Jw?{ruleScanner:e.compile(t,n),findOptions:rT(r,i)}:{ruleScanner:e.compileAG(t,n,r,i),findOptions:0}}function nT(e,t,n,r,i){return Jw?{ruleScanner:e.compileWhile(t,n),findOptions:rT(r,i)}:{ruleScanner:e.compileWhileAG(t,n,r,i),findOptions:0}}function rT(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function iT(e,t,n,r,i,a,o){if(a.length===0)return;let s=t.content,c=Math.min(a.length,o.length),l=[],u=o[0].end;for(let t=0;t<c;t++){let c=a[t];if(c===null)continue;let d=o[t];if(d.length===0)continue;if(d.start>u)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(r,d.start),c.retokenizeCapturedWithRuleId){let t=c.getName(s,o),a=r.contentNameScopesList.pushAttributed(t,e),l=c.getContentName(s,o),u=a.pushAttributed(l,e),f=r.push(c.retokenizeCapturedWithRuleId,d.start,-1,!1,null,a,u),p=e.createOnigString(s.substring(0,d.end));Xw(e,p,n&&d.start===0,d.start,f,i,!1,0),mw(p);continue}let f=c.getName(s,o);if(f!==null){let t=(l.length>0?l[l.length-1].scopes:r.contentNameScopesList).pushAttributed(f,e);l.push(new aT(t,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var aT=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function oT(e,t,n,r,i,a,o,s){return new uT(e,t,n,r,i,a,o,s)}function sT(e,t,n,r,i){let a=dw(t,cT),o=Vw.getCompiledRuleId(n,r,i.repository);for(let n of a)e.push({debugSelector:t,matcher:n.matcher,ruleId:o,grammar:i,priority:n.priority})}function cT(e,t){if(t.length<e.length)return!1;let n=0;return e.every(e=>{for(let r=n;r<t.length;r++)if(lT(t[r],e))return n=r+1,!0;return!1})}function lT(e,t){if(!e)return!1;if(e===t)return!0;let n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]===`.`}var uT=class{constructor(e,t,n,r,i,a,o,s){if(this._rootScopeName=e,this.balancedBracketSelectors=a,this._onigLib=s,this._basicScopeAttributesProvider=new Kw(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=o,this._grammar=dT(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let e of Object.keys(i)){let t=dw(e,cT);for(let n of t)this._tokenTypeMatchers.push({matcher:n.matcher,type:i[e]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:e=>e===this._rootScopeName?this._grammar:this.getExternalGrammar(e),injections:e=>this._grammarRepository.injections(e)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){let e=r.injections;if(e)for(let n in e)sT(t,n,e[n],this,r);let i=this._grammarRepository.injections(n);i&&i.forEach(e=>{let n=this.getExternalGrammar(e);if(n){let e=n.injectionSelector;e&&sT(t,e,n,this,n)}})}return t.sort((e,t)=>e.priority-t.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(Nw(t));return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[Pw(e)]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=dT(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){let r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=Vw.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===pT.NULL){i=!0;let e=this._basicScopeAttributesProvider.getDefaultAttributes(),n=this.themeProvider.getDefaults(),r=cw.set(0,e.languageId,e.tokenType,null,n.fontStyle,n.foregroundId,n.backgroundId),a=this.getRule(this._rootId).getName(null,null),o;o=a?fT.createRootAndLookUpScopeName(a,r,this):fT.createRoot(`unknown`,r),t=new pT(null,this._rootId,-1,-1,!1,null,o,o)}else i=!1,t.reset();e+=`
25
25
  `;let a=this.createOnigString(e),o=a.content.length,s=new hT(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=Xw(this,a,i,0,t,s,!0,r);return mw(a),{lineLength:o,lineTokens:s,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function dT(e,t){return e=IC(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var fT=class e{constructor(e,t,n){this.parent=e,this.scopePath=t,this.tokenAttributes=n}static fromExtension(t,n){let r=t,i=t?.scopePath??null;for(let t of n)i=XC.push(i,t.scopeNames),r=new e(r,i,t.encodedTokenAttributes);return r}static createRoot(t,n){return new e(null,new XC(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let i=r.getMetadataForScope(t),a=new XC(null,t),o=r.themeProvider.themeMatch(a);return new e(null,a,e.mergeAttributes(n,i,o))}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(` `)}equals(t){return e.equals(this,t)}static equals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.scopeName!==t.scopeName||e.tokenAttributes!==t.tokenAttributes)return!1;e=e.parent,t=t.parent}while(!0)}static mergeAttributes(e,t,n){let r=-1,i=0,a=0;return n!==null&&(r=n.fontStyle,i=n.foregroundId,a=n.backgroundId),cw.set(e,t.languageId,t.tokenType,null,r,i,a)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(` `)===-1)return e._pushAttributed(this,t,n);let r=t.split(/ /g),i=this;for(let t of r)i=e._pushAttributed(i,t,n);return i}static _pushAttributed(t,n,r){let i=r.getMetadataForScope(n),a=t.scopePath.push(n),o=r.themeProvider.themeMatch(a);return new e(t,a,e.mergeAttributes(t.tokenAttributes,i,o))}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push({encodedTokenAttributes:n.tokenAttributes,scopeNames:n.scopePath.getExtensionIfDefined(n.parent?.scopePath??null)}),n=n.parent;return n===e?t.reverse():void 0}},pT=class e{constructor(e,t,n,r,i,a,o,s){this.parent=e,this.ruleId=t,this.beginRuleCapturedEOL=i,this.endRule=a,this.nameScopesList=o,this.contentNameScopesList=s,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=n,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new e(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:e._equals(this,t)}static _equals(e,t){return e===t?!0:this._structuralEquals(e,t)?fT.equals(e.contentNameScopesList,t.contentNameScopesList):!1}static _structuralEquals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.depth!==t.depth||e.ruleId!==t.ruleId||e.endRule!==t.endRule)return!1;e=e.parent,t=t.parent}while(!0)}clone(){return this}static _reset(e){for(;e;)e._enterPos=-1,e._anchorPos=-1,e=e.parent}reset(){e._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,i,a,o,s){return new e(this,t,n,r,i,a,o,s)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(e){return e.getRule(this.ruleId)}toString(){let e=[];return this._writeString(e,0),`[`+e.join(`,`)+`]`}_writeString(e,t){return this.parent&&(t=this.parent._writeString(e,t)),e[t++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,t}withContentNameScopesList(e){return this.contentNameScopesList===e?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,e)}withEndRule(t){return this.endRule===t?this:new e(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(e){let t=this;for(;t&&t._enterPos===e._enterPos;){if(t.ruleId===e.ruleId)return!0;t=t.parent}return!1}toStateStackFrame(){return{ruleId:Pw(this.ruleId),beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let r=fT.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new e(t,Nw(n.ruleId),n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,fT.fromExtension(r,n.contentNameScopesList))}},mT=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>e===`*`?(this.allowAny=!0,[]):dw(e,cT).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>dw(e,cT).map(e=>e.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},hT=class{constructor(e,t,n,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let n=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let t=e?.getScopeNames()??[];for(let e of this._tokenTypeOverrides)e.matcher(t)&&(n=cw.set(n,0,lw(e.type),null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(t))}if(r&&(n=cw.set(n,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===n){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(n),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let e=0,t=this._binaryTokens.length;e<t;e++)n[e]=this._binaryTokens[e];return n}},gT=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,r,i){if(!this._grammars.has(e)){let a=this._rawGrammars.get(e);if(!a)return null;this._grammars.set(e,oT(e,a,t,n,r,i,this,this._onigLib))}return this._grammars.get(e)}},_T=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new gT(YC.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(YC.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,n){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:n})}loadGrammarWithConfiguration(e,t,n){return this._loadGrammar(e,t,n.embeddedLanguages,n.tokenTypes,new mT(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,i){let a=new vw(this._syncRegistry,e);for(;a.Q.length>0;)a.Q.map(e=>this._loadSingleGrammar(e.scopeName)),a.processQueue();return this._grammarForScopeName(e,t,n,r,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections==`function`?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,r)}_grammarForScopeName(e,t=0,n=null,r=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,r,i)}},vT=pT.NULL;function yT(e,t){let n=typeof e==`string`?{}:{...e.colorReplacements},r=typeof e==`string`?e:e.name;for(let[e,i]of Object.entries(t?.colorReplacements||{}))typeof i==`string`?n[e]=i:e===r&&Object.assign(n,i);return n}function bT(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function xT(e){return Array.isArray(e)?e:[e]}async function ST(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function CT(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function wT(e){return e===`ansi`||CT(e)}function TT(e){return e===`none`}function ET(e){return TT(e)}var DT=/(\r?\n)/g;function OT(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(DT),r=0,i=[];for(let e=0;e<n.length;e+=2){let a=t?n[e]+(n[e+1]||``):n[e];i.push([a,r]),r+=n[e].length,r+=n[e+1]?.length||0}return i}var kT={light:`#333333`,dark:`#bbbbbb`},AT={light:`#fffffe`,dark:`#1e1e1e`},jT=`__shiki_resolved`;function MT(e){if(e?.[jT])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?kT.light:kT.dark,n||=t.type===`light`?AT.light:AT.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,jT,{enumerable:!1,writable:!1,value:!0}),t}async function NT(e){return[...new Set((await Promise.all(e.filter(e=>!wT(e)).map(async e=>await ST(e).then(e=>Array.isArray(e)?e:[e])))).flat())]}async function PT(e){return(await Promise.all(e.map(async e=>ET(e)?null:MT(await ST(e))))).filter(e=>!!e)}function FT(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new FC(`Circular alias \`${[...n].join(` -> `)} -> ${e}\``);n.add(e)}}return e}var IT=class extends _T{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=MT(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=YC.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=FT(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=[...this._langGraph.entries()],n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new FC(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},LT=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},RT=0;function zT(e){RT+=1,e.warnings!==!1&&RT>=10&&RT%10==0&&console.warn(`[Shiki] ${RT} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new FC("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(MT),i=new IT(new LT(e.engine,n),r,n,e.langAlias),a;function o(t){return FT(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new FC(`Language \`${e}\` not found, you may need to load it first`);return t}function c(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};g();let t=i.getTheme(e);if(!t)throw new FC(`Theme \`${e}\` not found, you may need to load it first`);return t}function l(e){g();let t=c(e);return a!==e&&(i.setTheme(t),a=e),{theme:t,colorMap:i.getColorMap()}}function u(){return g(),i.getLoadedThemes()}function d(){return g(),i.getLoadedLanguages()}function f(...e){g(),i.loadLanguages(e.flat(1))}async function p(...e){return f(await NT(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await PT(e))}function g(){if(t)throw new FC(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--RT)}return{setTheme:l,getTheme:c,getLanguage:s,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:o,loadLanguage:p,loadLanguageSync:f,loadTheme:h,loadThemeSync:m,dispose:_,[Symbol.dispose]:_}}async function BT(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([PT(e.themes||[]),NT(e.langs||[]),e.engine]);return zT({...e,themes:t,langs:n,engine:r})}var VT=new WeakMap;function HT(e,t){VT.set(e,t)}function UT(e){return VT.get(e)}var WT=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new e(Object.fromEntries(xT(n).map(e=>[e,vT])),t)}constructor(...e){if(e.length===2){let[t,n]=e;this.lang=n,this._stacks=t}else{let[t,n,r]=e;this.lang=n,this._stacks={[r]:t}}}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){return GT(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function GT(e){let t=[],n=new Set;function r(e){if(n.has(e))return;n.add(e);let i=e?.nameScopesList?.scopeName;i&&t.push(i),e.parent&&r(e.parent)}return r(e),t}function KT(e,t){if(!(e instanceof WT))throw new FC(`Invalid grammar state`);return e.getInternalStack(t)}var qT=/,/,JT=/ /;function YT(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n;if(CT(e.resolveLangAlias(n.lang||`text`))||TT(r))return OT(t).map(e=>[{content:e[0],offset:e[1]}]);let{theme:i,colorMap:a}=e.setTheme(r),o=e.getLanguage(n.lang||`text`);if(n.grammarState){if(n.grammarState.lang!==o.name)throw new FC(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);if(!n.grammarState.themes.includes(i.name))throw new FC(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`)}return ZT(t,o,i,a,n)}function XT(...e){if(e.length===2)return UT(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(CT(i)||TT(a))throw new FC(`Plain language does not have grammar state`);if(i===`ansi`)throw new FC(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new WT(QT(n,c,o,s,r).stateStack,c.name,o.name)}function ZT(e,t,n,r,i){let a=QT(e,t,n,r,i),o=new WT(a.stateStack,t.name,n.name);return HT(a.tokens,o),a.tokens}function QT(e,t,n,r,i){let a=yT(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500,includeExplanation:c=!1}=i,l=OT(e),u=i.grammarState?KT(i.grammarState,n.name)??vT:i.grammarContextCode==null?vT:QT(i.grammarContextCode,t,n,r,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack,d=[],f=[];for(let e=0,i=l.length;e<i;e++){let[i,p]=l[e];if(i===``){d=[],f.push([]);continue}if(o>0&&i.length>=o){d=[],f.push([{content:i,offset:p,color:``,fontStyle:0}]);continue}let m,h,g;c&&c!==`tokenType`&&(m=t.tokenizeLine(i,u,s),h=m.tokens,g=0);let _=t.tokenizeLine2(i,u,s),v=_.tokens.length/2;for(let e=0;e<v;e++){let t=_.tokens[2*e],o=e+1<v?_.tokens[2*e+2]:i.length;if(t===o)continue;let s=_.tokens[2*e+1],l=bT(r[cw.getForeground(s)],a),u=cw.getFontStyle(s),f={content:i.substring(t,o),offset:p+t,color:l,fontStyle:u};if(c===`tokenType`)f.type=cw.getTokenType(s);else if(c){let e=[];if(c!==`scopeName`)for(let t of n.settings){let n;switch(typeof t.scope){case`string`:n=t.scope.split(qT).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(JT))})}f.explanation=[];let r=0;for(;t+r<o;){let t=h[g],n=i.substring(t.startIndex,t.endIndex);r+=n.length,f.explanation.push({content:n,scopes:c===`scopeName`?$T(t.scopes):eE(e,t.scopes)}),g+=1}}d.push(f)}f.push(d),d=[],u=_.ruleStack}return{tokens:f,stateStack:u}}function $T(e){return e.map(e=>({scopeName:e}))}function eE(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:rE(e,i,t.slice(0,r))}}return n}function tE(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function nE(e,t,n){if(!tE(e.at(-1),t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)tE(e[r],n[i])&&--r,--i;return r===-1}function rE(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(nE(e,t,n)){r.push(a);break}return r}function iE(e,t,n,r=YT){let i=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})),a=i.map(i=>{let a=r(e,t,{...n,theme:i.theme});return{tokens:a,state:UT(a),theme:typeof i.theme==`string`?i.theme:i.theme.name}}),o=aE(...a.map(e=>e.tokens)),s=o[0].map((e,t)=>e.map((e,r)=>{let a={content:e.content,variants:{},offset:e.offset};return`includeExplanation`in n&&n.includeExplanation&&(a.explanation=e.explanation),o.forEach((e,n)=>{let{content:o,explanation:s,offset:c,...l}=e[t][r];a.variants[i[n].color]=l}),a})),c=a[0].state?new WT(Object.fromEntries(a.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),a[0].state.lang):void 0;return c&&HT(s,c),s}function aE(...e){let t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){let i=e.map(e=>e[r]),a=t.map(()=>[]);t.forEach((e,t)=>e.push(a[t]));let o=i.map(()=>0),s=i.map(e=>e[0]);for(;s.every(e=>e);){let e=Math.min(...s.map(e=>e.content.length));for(let t=0;t<n;t++){let n=s[t];n.content.length===e?(a[t].push(n),o[t]+=1,s[t]=i[t][o[t]]):(a[t].push({...n,content:n.content.slice(0,e)}),s[t]={...n,content:n.content.slice(e),offset:n.offset+e})}}}return t}var oE=[`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`command`,`embed`,`frame`,`hr`,`image`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],sE={}.hasOwnProperty;function cE(e,t){let n=t||{};function r(t,...n){let i=r.invalid,a=r.handlers;if(t&&sE.call(t,e)){let n=String(t[e]);i=sE.call(a,n)?a[n]:r.unknown}if(i)return i.call(this,t,...n)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var lE=/["&'<>`]/g,uE=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,dE=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,fE=/[|\\{}()[\]^$+*?.]/g,pE=new WeakMap;function mE(e,t){if(e=e.replace(t.subset?hE(t.subset):lE,r),t.subset||t.escapeOnly)return e;return e.replace(uE,n).replace(dE,r);function n(e,n,r){return t.format((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,r.charCodeAt(n+2),t)}function r(e,n,r){return t.format(e.charCodeAt(0),r.charCodeAt(n+1),t)}}function hE(e){let t=pE.get(e);return t||(t=gE(e),pE.set(e,t)),t}function gE(e){let t=[],n=-1;for(;++n<e.length;)t.push(e[n].replace(fE,`\\$&`));return RegExp(`(?:`+t.join(`|`)+`)`,`g`)}var _E=/[\dA-Fa-f]/;function vE(e,t,n){let r=`&#x`+e.toString(16).toUpperCase();return n&&t&&!_E.test(String.fromCharCode(t))?r:r+`;`}var yE=/\d/;function bE(e,t,n){let r=`&#`+String(e);return n&&t&&!yE.test(String.fromCharCode(t))?r:r+`;`}var xE=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),SE={nbsp:`\xA0`,iexcl:`¡`,cent:`¢`,pound:`£`,curren:`¤`,yen:`¥`,brvbar:`¦`,sect:`§`,uml:`¨`,copy:`©`,ordf:`ª`,laquo:`«`,not:`¬`,shy:`­`,reg:`®`,macr:`¯`,deg:`°`,plusmn:`±`,sup2:`²`,sup3:`³`,acute:`´`,micro:`µ`,para:`¶`,middot:`·`,cedil:`¸`,sup1:`¹`,ordm:`º`,raquo:`»`,frac14:`¼`,frac12:`½`,frac34:`¾`,iquest:`¿`,Agrave:`À`,Aacute:`Á`,Acirc:`Â`,Atilde:`Ã`,Auml:`Ä`,Aring:`Å`,AElig:`Æ`,Ccedil:`Ç`,Egrave:`È`,Eacute:`É`,Ecirc:`Ê`,Euml:`Ë`,Igrave:`Ì`,Iacute:`Í`,Icirc:`Î`,Iuml:`Ï`,ETH:`Ð`,Ntilde:`Ñ`,Ograve:`Ò`,Oacute:`Ó`,Ocirc:`Ô`,Otilde:`Õ`,Ouml:`Ö`,times:`×`,Oslash:`Ø`,Ugrave:`Ù`,Uacute:`Ú`,Ucirc:`Û`,Uuml:`Ü`,Yacute:`Ý`,THORN:`Þ`,szlig:`ß`,agrave:`à`,aacute:`á`,acirc:`â`,atilde:`ã`,auml:`ä`,aring:`å`,aelig:`æ`,ccedil:`ç`,egrave:`è`,eacute:`é`,ecirc:`ê`,euml:`ë`,igrave:`ì`,iacute:`í`,icirc:`î`,iuml:`ï`,eth:`ð`,ntilde:`ñ`,ograve:`ò`,oacute:`ó`,ocirc:`ô`,otilde:`õ`,ouml:`ö`,divide:`÷`,oslash:`ø`,ugrave:`ù`,uacute:`ú`,ucirc:`û`,uuml:`ü`,yacute:`ý`,thorn:`þ`,yuml:`ÿ`,fnof:`ƒ`,Alpha:`Α`,Beta:`Β`,Gamma:`Γ`,Delta:`Δ`,Epsilon:`Ε`,Zeta:`Ζ`,Eta:`Η`,Theta:`Θ`,Iota:`Ι`,Kappa:`Κ`,Lambda:`Λ`,Mu:`Μ`,Nu:`Ν`,Xi:`Ξ`,Omicron:`Ο`,Pi:`Π`,Rho:`Ρ`,Sigma:`Σ`,Tau:`Τ`,Upsilon:`Υ`,Phi:`Φ`,Chi:`Χ`,Psi:`Ψ`,Omega:`Ω`,alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,iota:`ι`,kappa:`κ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,omicron:`ο`,pi:`π`,rho:`ρ`,sigmaf:`ς`,sigma:`σ`,tau:`τ`,upsilon:`υ`,phi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,thetasym:`ϑ`,upsih:`ϒ`,piv:`ϖ`,bull:`•`,hellip:`…`,prime:`′`,Prime:`″`,oline:`‾`,frasl:`⁄`,weierp:`℘`,image:`ℑ`,real:`ℜ`,trade:`™`,alefsym:`ℵ`,larr:`←`,uarr:`↑`,rarr:`→`,darr:`↓`,harr:`↔`,crarr:`↵`,lArr:`⇐`,uArr:`⇑`,rArr:`⇒`,dArr:`⇓`,hArr:`⇔`,forall:`∀`,part:`∂`,exist:`∃`,empty:`∅`,nabla:`∇`,isin:`∈`,notin:`∉`,ni:`∋`,prod:`∏`,sum:`∑`,minus:`−`,lowast:`∗`,radic:`√`,prop:`∝`,infin:`∞`,ang:`∠`,and:`∧`,or:`∨`,cap:`∩`,cup:`∪`,int:`∫`,there4:`∴`,sim:`∼`,cong:`≅`,asymp:`≈`,ne:`≠`,equiv:`≡`,le:`≤`,ge:`≥`,sub:`⊂`,sup:`⊃`,nsub:`⊄`,sube:`⊆`,supe:`⊇`,oplus:`⊕`,otimes:`⊗`,perp:`⊥`,sdot:`⋅`,lceil:`⌈`,rceil:`⌉`,lfloor:`⌊`,rfloor:`⌋`,lang:`〈`,rang:`〉`,loz:`◊`,spades:`♠`,clubs:`♣`,hearts:`♥`,diams:`♦`,quot:`"`,amp:`&`,lt:`<`,gt:`>`,OElig:`Œ`,oelig:`œ`,Scaron:`Š`,scaron:`š`,Yuml:`Ÿ`,circ:`ˆ`,tilde:`˜`,ensp:` `,emsp:` `,thinsp:` `,zwnj:`‌`,zwj:`‍`,lrm:`‎`,rlm:`‏`,ndash:`–`,mdash:`—`,lsquo:`‘`,rsquo:`’`,sbquo:`‚`,ldquo:`“`,rdquo:`”`,bdquo:`„`,dagger:`†`,Dagger:`‡`,permil:`‰`,lsaquo:`‹`,rsaquo:`›`,euro:`€`},CE=[`cent`,`copy`,`divide`,`gt`,`lt`,`not`,`para`,`times`],wE={}.hasOwnProperty,TE={},EE;for(EE in SE)wE.call(SE,EE)&&(TE[SE[EE]]=EE);var DE=/[^\dA-Za-z]/;function OE(e,t,n,r){let i=String.fromCharCode(e);if(wE.call(TE,i)){let e=TE[i],a=`&`+e;return n&&xE.includes(e)&&!CE.includes(e)&&(!r||t&&t!==61&&DE.test(String.fromCharCode(t)))?a:a+`;`}return``}function kE(e,t,n){let r=vE(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=OE(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let i=bE(e,t,n.omitOptionalSemicolons);i.length<r.length&&(r=i)}return i&&(!n.useShortestReferences||i.length<r.length)?i:r}function AE(e,t){return mE(e,Object.assign({format:kE},t))}var jE=/^>|^->|<!--|-->|--!>|<!-$/g,ME=[`>`],NE=[`<`,`>`];function PE(e,t,n,r){return r.settings.bogusComments?`<?`+AE(e.value,Object.assign({},r.settings.characterReferences,{subset:ME}))+`>`:`<!--`+e.value.replace(jE,i)+`-->`;function i(e){return AE(e,Object.assign({},r.settings.characterReferences,{subset:NE}))}}function FE(e,t,n,r){return`<!`+(r.settings.upperDoctype?`DOCTYPE`:`doctype`)+(r.settings.tightDoctype?``:` `)+`html>`}var IE=zE(1),LE=zE(-1),RE=[];function zE(e){return t;function t(t,n,r){let i=t?t.children:RE,a=(n||0)+e,o=i[a];if(!r)for(;o&&c(o);)a+=e,o=i[a];return o}}var BE={}.hasOwnProperty;function VE(e){return t;function t(t,n,r){return BE.call(e,t.tagName)&&e[t.tagName](t,n,r)}}var HE=VE({body:GE,caption:UE,colgroup:UE,dd:YE,dt:JE,head:UE,html:WE,li:qE,optgroup:ZE,option:QE,p:KE,rp:XE,rt:XE,tbody:eD,td:rD,tfoot:tD,th:rD,thead:$E,tr:nD});function UE(e,t,n){let r=IE(n,t,!0);return!r||r.type!==`comment`&&!(r.type===`text`&&c(r.value.charAt(0)))}function WE(e,t,n){let r=IE(n,t);return!r||r.type!==`comment`}function GE(e,t,n){let r=IE(n,t);return!r||r.type!==`comment`}function KE(e,t,n){let r=IE(n,t);return r?r.type===`element`&&(r.tagName===`address`||r.tagName===`article`||r.tagName===`aside`||r.tagName===`blockquote`||r.tagName===`details`||r.tagName===`div`||r.tagName===`dl`||r.tagName===`fieldset`||r.tagName===`figcaption`||r.tagName===`figure`||r.tagName===`footer`||r.tagName===`form`||r.tagName===`h1`||r.tagName===`h2`||r.tagName===`h3`||r.tagName===`h4`||r.tagName===`h5`||r.tagName===`h6`||r.tagName===`header`||r.tagName===`hgroup`||r.tagName===`hr`||r.tagName===`main`||r.tagName===`menu`||r.tagName===`nav`||r.tagName===`ol`||r.tagName===`p`||r.tagName===`pre`||r.tagName===`section`||r.tagName===`table`||r.tagName===`ul`):!n||!(n.type===`element`&&(n.tagName===`a`||n.tagName===`audio`||n.tagName===`del`||n.tagName===`ins`||n.tagName===`map`||n.tagName===`noscript`||n.tagName===`video`))}function qE(e,t,n){let r=IE(n,t);return!r||r.type===`element`&&r.tagName===`li`}function JE(e,t,n){let r=IE(n,t);return!!(r&&r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`))}function YE(e,t,n){let r=IE(n,t);return!r||r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`)}function XE(e,t,n){let r=IE(n,t);return!r||r.type===`element`&&(r.tagName===`rp`||r.tagName===`rt`)}function ZE(e,t,n){let r=IE(n,t);return!r||r.type===`element`&&r.tagName===`optgroup`}function QE(e,t,n){let r=IE(n,t);return!r||r.type===`element`&&(r.tagName===`option`||r.tagName===`optgroup`)}function $E(e,t,n){let r=IE(n,t);return!!(r&&r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`))}function eD(e,t,n){let r=IE(n,t);return!r||r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`)}function tD(e,t,n){return!IE(n,t)}function nD(e,t,n){let r=IE(n,t);return!r||r.type===`element`&&r.tagName===`tr`}function rD(e,t,n){let r=IE(n,t);return!r||r.type===`element`&&(r.tagName===`td`||r.tagName===`th`)}var iD=VE({body:sD,colgroup:cD,head:oD,html:aD,tbody:lD});function aD(e){let t=IE(e,-1);return!t||t.type!==`comment`}function oD(e){let t=new Set;for(let n of e.children)if(n.type===`element`&&(n.tagName===`base`||n.tagName===`title`)){if(t.has(n.tagName))return!1;t.add(n.tagName)}let n=e.children[0];return!n||n.type===`element`}function sD(e){let t=IE(e,-1,!0);return!t||t.type!==`comment`&&!(t.type===`text`&&c(t.value.charAt(0)))&&!(t.type===`element`&&(t.tagName===`meta`||t.tagName===`link`||t.tagName===`script`||t.tagName===`style`||t.tagName===`template`))}function cD(e,t,n){let r=LE(n,t),i=IE(e,-1,!0);return n&&r&&r.type===`element`&&r.tagName===`colgroup`&&HE(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`col`)}function lD(e,t,n){let r=LE(n,t),i=IE(e,-1);return n&&r&&r.type===`element`&&(r.tagName===`thead`||r.tagName===`tbody`)&&HE(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`tr`)}var uD={name:[[`
26
26
  \f\r &/=>`.split(``),`
@@ -49,4 +49,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
49
49
  <rect width="32" height="32" rx="6" fill="${HA}"/>
50
50
  ${[10,16,22].map((t,n)=>`<circle cx="${t}" cy="${n===e?13:17}" r="3" fill="white"/>`).join(``)}
51
51
  ${t?`<circle cx="26" cy="6" r="5" fill="${UA}"/>`:``}
52
- </svg>`}var KA=e=>`data:image/svg+xml,${encodeURIComponent(e)}`,qA=[KA(WA(!1)),KA(WA(!0))],JA=[0,1,2,-1].map(e=>[KA(GA(e,!1)),KA(GA(e,!0))]),YA=JA.length;function XA(e,t=null){let n=document.getElementById(`ppm-favicon`);if(!n)return;let r=e?1:0;t===null?n.href=qA[r]:n.href=JA[(t%YA+YA)%YA][r]}function ZA(e,t,n){let r=[t,n||null,`PPM`].filter(Boolean).join(` - `);return e>0?`(${e}) ${r}`:r}function QA(){let e=G(e=>e.activeProject),t=V(e=>e.deviceName),n=e?.name,r=ri(Zr(n)),i=(0,J.useRef)(null);(0,J.useEffect)(()=>{let e=()=>Ts(n)(Cs.getState()),a=()=>e()>0,o=()=>{document.title=ZA(e(),n,t??void 0)};if(o(),r){let e=0;XA(a(),e),i.current=setInterval(()=>{e=(e+1)%YA,XA(a(),e)},300)}else XA(a());let s=Cs.subscribe(()=>{o(),r||XA(a())});return()=>{s(),i.current&&=(clearInterval(i.current),null)}},[n,t,r])}function $A(){return typeof navigator<`u`&&`wakeLock`in navigator?`ok`:typeof window<`u`&&window.isSecureContext===!1?`insecure`:`unsupported`}function ej(e){let t=null,n=!1,r=!1,i=async()=>{if(!(n||t||r||!e.isVisible())){r=!0;try{let r=await e.request();if(n){r.release().catch(()=>{});return}t=r,r.addEventListener(`release`,()=>{t===r&&(t=null),n||e.onActive(!1)}),e.onActive(!0)}catch{e.onActive(!1)}finally{r=!1}}},a=e.onVisibilityChange(()=>{if(e.isVisible()){i();return}t=null,e.onActive(!1)});return i(),()=>{n=!0,a(),e.onActive(!1);let r=t;t=null,r&&r.release().catch(()=>{})}}function tj(){let e=ri(e=>e.sessions.size>0),t=V(e=>e.keepScreenAwake);(0,J.useEffect)(()=>{if(!t||!e||$A()!==`ok`)return;let n=navigator.wakeLock;return ej({request:()=>n.request(`screen`),isVisible:()=>document.visibilityState===`visible`,onVisibilityChange:e=>(document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)),onActive:e=>Ty.getState().setActive(e)})},[t,e])}var nj=`chat`;function rj(e,t,n){if(n<=0)return[];let r=[];for(let n of Object.values(e)){let e=new Map(n.tabs.map(e=>[e.id,e.type])),i=new Set,a=[],o=n.tabHistory??[];for(let n=o.length-1;n>=0;n--){let r=o[n];i.has(r)||t.has(r)||e.get(r)===nj&&(i.add(r),a.push(r))}a.length>0&&r.push(a)}let i=[],a=new Set;for(let e=0;i.length<n;e++){let t=!1;for(let o of r){if(i.length>=n)break;let r=o[e];r!==void 0&&(t=!0,!a.has(r)&&(a.add(r),i.push(r)))}if(!t)break}return i}var ij=3,aj=2500,oj=1200;function sj(e,t){let n,r=window,i=setTimeout(()=>{r.requestIdleCallback?n=r.requestIdleCallback(e,{timeout:2e3}):e()},t);return{cancel:()=>{clearTimeout(i),n!==void 0&&r.cancelIdleCallback?.(n)}}}function cj(){let e=Ir();(0,J.useEffect)(()=>{if(e)return;let t=!1,n=ij,r=null,i=()=>{r?.cancel(),r=null},a=()=>{if(r=null,t||n<=0)return;let{panels:e}=W.getState(),{mounted:i,mount:a}=Wl.getState(),[s]=rj(e,i,1);s&&(a(s),n--,o(oj))},o=e=>{t||n<=0||(i(),r=sj(a,e))},s=W.subscribe((e,t)=>{if(e.panels!==t.panels){for(let n of Object.keys(e.panels))if(n in t.panels&&e.panels[n]?.activeTabId!==t.panels[n]?.activeTabId){o(aj);return}}});return o(aj),()=>{t=!0,i(),s()}},[e,W(e=>e.currentProject)])}var lj=3e4,uj=1e3,dj=class{ws=null;url;handlers=[];reconnectAttempts=0;reconnectTimer=null;intentionalClose=!1;pendingMessages=[];visibilityHandler=null;idleTimer=null;lastReceivedAt=0;connected=!1;constructor(e,t={}){this.options=t,this.url=e,this.visibilityHandler=()=>{let e=this.ws?.readyState,t=!!this.options.idleTimeoutMs&&Date.now()-this.lastReceivedAt>=this.options.idleTimeoutMs;document.visibilityState===`visible`&&!this.intentionalClose&&(t||e!==WebSocket.OPEN&&e!==WebSocket.CONNECTING)&&(this.reconnectAttempts=0,this.connect())},document.addEventListener(`visibilitychange`,this.visibilityHandler)}connect(){this.intentionalClose=!1,this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=null,this.cleanup();let e=window.location.protocol===`https:`?`wss:`:`ws:`,t=this.url.startsWith(`ws`)?this.url:Zi(this.url),n;n=t.startsWith(`ws`)?t:`${e}//${window.location.host}${t}`,this.ws=new WebSocket(n),this.lastReceivedAt=Date.now(),this.armIdleCheck(),this.ws.onopen=()=>{this.reconnectAttempts=0,this.lastReceivedAt=Date.now(),this.setConnected(!0);try{this.ws?.send(JSON.stringify({type:`ready`}))}catch{}if(this.pendingMessages.length>0){console.log(`[ws] flushing ${this.pendingMessages.length} queued message(s)`);for(let e of this.pendingMessages)try{this.ws?.send(e)}catch{}this.pendingMessages=[]}},this.ws.onmessage=e=>{this.lastReceivedAt=Date.now();for(let t of this.handlers)t(e)},this.ws.onclose=()=>{this.clearIdleCheck(),this.setConnected(!1),this.intentionalClose||this.scheduleReconnect()},this.ws.onerror=()=>{this.ws?.close()}}disconnect(){this.intentionalClose=!0,this.pendingMessages=[],this.cleanup(),this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.visibilityHandler&&=(document.removeEventListener(`visibilitychange`,this.visibilityHandler),null)}send(e){this.ws?.readyState===WebSocket.OPEN?this.ws.send(e):this.intentionalClose?console.warn(`[ws] message dropped — WS intentionally closed`):(console.warn(`[ws] WS not open (readyState=${this.ws?.readyState??`no-ws`}) — queuing message`),this.pendingMessages.push(e))}onMessage(e){return this.handlers.push(e),()=>{this.handlers=this.handlers.filter(t=>t!==e)}}get isConnected(){return this.ws?.readyState===WebSocket.OPEN}cleanup(){this.clearIdleCheck(),this.setConnected(!1),this.ws&&=(this.ws.onopen=null,this.ws.onclose=null,this.ws.onmessage=null,this.ws.onerror=null,(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING)&&this.ws.close(),null)}scheduleReconnect(){this.reconnectTimer&&clearTimeout(this.reconnectTimer);let e=Math.min(uj*2**this.reconnectAttempts,lj);this.reconnectAttempts++,this.reconnectTimer=setTimeout(()=>this.connect(),e)}setConnected(e){this.connected!==e&&(this.connected=e,this.options.onConnectionChange?.(e))}clearIdleCheck(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null}armIdleCheck(){this.clearIdleCheck();let e=this.options.idleTimeoutMs;if(!e||e<=0||!Number.isFinite(e))return;let t=Math.max(0,e-(Date.now()-this.lastReceivedAt));this.idleTimer=setTimeout(()=>{this.idleTimer=null,!this.intentionalClose&&(Date.now()-this.lastReceivedAt>=e?this.connect():this.armIdleCheck())},t)}};async function fj(){try{let e=await z.get(`/api/chat/sessions/running`);ri.getState().replaceAllStreaming(e)}catch{}}function pj(e,t){let n=(0,J.useRef)(null),r=(0,J.useRef)(t);r.current=t,(0,J.useEffect)(()=>{if(!e)return;let t=Wn(),i=new dj(`/ws/global${t?`?token=${encodeURIComponent(t)}`:``}`);n.current=i;let a=i.onMessage(e=>{let t;try{t=JSON.parse(e.data)}catch{return}let n=t.type;if(typeof n==`string`){if(n===`global_ready`){r.current&&i.send(JSON.stringify({type:`watch`,projectName:r.current})),fj();return}if(n===`file:changed`){window.dispatchEvent(new CustomEvent(`file:changed`,{detail:t}));return}if(n===`session:unread_changed`){let e=t;Cs.getState().handleUnreadChanged(e.sessionId,e.unreadCount,e.unreadType,e.projectName,e.sessionTitle,e.manual);return}if(n===`session:phase_changed`){let e=t;ri.getState().setStreaming(e.sessionId,e.phase!==`idle`,e.projectName);return}if(n===`session:migrated`){let e=t;ri.getState().dropSession(e.oldSessionId);return}(n.startsWith(`jira:`)||n.startsWith(`tunnel:`))&&window.dispatchEvent(new CustomEvent(n,{detail:t}))}});return i.connect(),()=>{a(),i.disconnect(),n.current=null}},[e]),(0,J.useEffect)(()=>{!e||!t||(n.current?.send(JSON.stringify({type:`watch`,projectName:t})),fj())},[e,t])}var mj=15e3,hj=Gn((e,t)=>({isDown:!1,downSince:null,showOverlay:!1,markDown:()=>{let{downSince:n}=t(),r=Date.now(),i=n??r;e({isDown:!0,downSince:i,showOverlay:r-i>=mj})},markUp:()=>{e({isDown:!1,downSince:null,showOverlay:!1})}})),gj=1e4,_j=2e3;function vj(){(0,J.useEffect)(()=>{let e=!1,t,{markDown:n,markUp:r}=hj.getState();async function i(){try{let t=await fetch(`/api/health`,{cache:`no-store`});if(t.ok&&e){if(r(),`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload();return}t.ok&&r(),e=!1}catch{e=!0,n()}t=setTimeout(i,e?_j:gj)}return t=setTimeout(i,gj),()=>clearTimeout(t)},[])}var yj=`(pointer: coarse) and (hover: none)`;function bj(){return typeof window<`u`&&window.matchMedia?window.matchMedia(yj):null}function xj(e){let t=bj();return t?.addEventListener?.(`change`,e),()=>t?.removeEventListener?.(`change`,e)}function Sj(){return bj()?.matches??!1}function Cj(){return!1}function wj(){return(0,J.useSyncExternalStore)(xj,Sj,Cj)}function Tj(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>=0?e.slice(t+1):e}function Ej(e,t){let n=0,r=0,i=-1;for(let a=0;a<e.length;a++){if(n=t.indexOf(e[a],n),n===-1)return-1;i>=0&&(r+=n-i-1),i=n,n++}return r}function Dj(e,t,n,r,i){if(e.includes(` `)){let a=e.split(/\s+/).filter(Boolean);if(a.length===0)return null;if(a.length===1)return Dj(a[0],t,n,r,i);let o=0,s=0;for(let e of a){let a=Dj(e,t,n,r,i);if(!a)return null;o=Math.max(o,a.tier),s+=a.offset}return{tier:o,offset:s,nameLen:r,depth:i}}if(t===e)return{tier:0,offset:0,nameLen:r,depth:i};if(t.startsWith(e))return{tier:1,offset:0,nameLen:r,depth:i};let a=t.indexOf(e);if(a>=0)return{tier:2,offset:a,nameLen:r,depth:i};let o=n.indexOf(e);if(o>=0)return{tier:3,offset:o,nameLen:r,depth:i};let s=Ej(e,t);if(s>=0)return{tier:4,offset:s,nameLen:r,depth:i};let c=Ej(e,n);return c>=0?{tier:5,offset:c,nameLen:r,depth:i}:null}function Oj(e,t,n){let r=n.toLowerCase();return Dj(e.toLowerCase(),Tj(r),r,t.length,n.split(`/`).length)}function kj(e,t){return e.tier-t.tier||e.offset-t.offset||e.nameLen-t.nameLen||e.depth-t.depth}var Aj=/^(.*?)(?::(\d+)(?::\d+|-(\d+))?|#L(\d+)(?:-L?(\d+))?)$/;function jj(e){let t=e.match(Aj);if(!t)return{path:e};let n=Number(t[2]??t[4]),r=t[3]??t[5];if(!Number.isSafeInteger(n)||n<1)return null;if(r!==void 0){let e=Number(r);return!Number.isSafeInteger(e)||e<n?null:{path:t[1],line:{start:n,end:e}}}return{path:t[1],line:{start:n}}}function Mj(e,t){return t?`${e}:${t.start}${t.end?`-${t.end}`:``}`:e}var Nj={action:{label:`Actions`,icon:gt},file:{label:`Files`,icon:zt},db:{label:`Database`,icon:Dt},fs:{label:`Filesystem`,icon:Se}};function Pj({availableGroups:e,groupCounts:t,activeFilters:n,onToggle:r}){return e.length<=1?null:(0,Y.jsx)(`div`,{className:`flex items-center gap-1.5 border-b border-border/50 px-3 py-1.5 overflow-x-auto`,children:e.map(e=>{let i=Nj[e];if(!i)return null;let a=t[e]??0,o=n.has(e),s=i.icon;return(0,Y.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":o,"aria-label":`Filter by ${i.label}`,onClick:()=>r(e),className:`inline-flex items-center gap-1 shrink-0 rounded-full border px-2.5 py-1 text-xs font-medium transition-colors ${o?`bg-primary/15 border-primary text-primary`:`bg-surface border-border text-text-subtle hover:bg-surface-elevated`} ${a===0?`opacity-50`:``}`,children:[(0,Y.jsx)(s,{className:`size-3`}),(0,Y.jsx)(`span`,{children:i.label}),(0,Y.jsxs)(`span`,{className:`text-[10px] opacity-70`,children:[`(`,a,`)`]})]},e)})})}var Fj=100,Ij=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent);function Lj(e){return e?e.replace(/Mod\+/g,Ij?`⌘`:`Ctrl+`).replace(/Alt\+/g,Ij?`⌥`:`Alt+`).replace(/Shift\+/g,Ij?`⇧`:`Shift+`).replace(/Meta\+/g,`⌘`).replace(/Ctrl\+/g,Ij?`⌃`:`Ctrl+`):``}function Rj(e){let t=[];for(let n of e)n.type===`file`&&t.push({name:n.name,path:n.path}),n.children&&t.push(...Rj(n.children));return t}function zj(e){return e?e.startsWith(`/`)||e.startsWith(`~/`)||e.startsWith(`~\\`)||/^[A-Za-z]:[/\\]/.test(e):!1}function Bj(e){let t=e.replace(/\\/g,`/`);if(t.endsWith(`/`))return e;let n=Math.max(t.lastIndexOf(`/`),e.lastIndexOf(`\\`));return n>0?e.slice(0,n+1):e}var Vj=new Map;function Hj({open:e,onClose:t,initialQuery:n=``}){let[r,i]=(0,J.useState)(``),a=(0,J.useDeferredValue)(r),[o,s]=(0,J.useState)(0),[c,l]=(0,J.useState)([]),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)([]),[m,h]=(0,J.useState)(new Set),g=(0,J.useRef)(null),_=(0,J.useRef)(null),v=K(e=>e.openTab),y=K(e=>e.updateTab),b=G(e=>e.activeProject),x=Mr(e=>e.fileIndex),S=Mr(e=>e.indexStatus),C=Mr(e=>e.loadIndex),w=Mr(e=>e.tree),T=V(e=>e.setSidebarActiveTab),E=V(e=>e.sidebarCollapsed),D=V(e=>e.toggleSidebar),O=Nc(e=>e.getBinding),k=Pc(e=>e.contributions),A=Ir(),j=wj(),M=V(e=>e.lspEnabled),ee=(0,J.useMemo)(()=>jj(r)??{path:r},[r]),N=(0,J.useMemo)(()=>jj(a)?.path??a,[a]),P=(0,J.useRef)(void 0);(0,J.useEffect)(()=>{P.current=ee.line},[ee.line]);let F=(0,J.useCallback)((e,n,r,i)=>{let a=P.current,o={...i,filePath:e};a&&Object.assign(o,{lineNumber:a.start,endLine:a.end,revealAt:Date.now()});let s=v({type:`editor`,title:n,projectId:r,metadata:o,closable:!0});a&&s&&y(s,{metadata:o}),t()},[v,y,t]),te=(0,J.useCallback)(async e=>{if(Vj.has(e)){l(Vj.get(e));return}d(!0);try{let t=await z.get(`/api/fs/list?dir=${encodeURIComponent(e)}`);Vj.set(e,t),l(t)}catch{l([])}finally{d(!1)}},[]);(0,J.useEffect)(()=>{if(!zj(ee.path)){l([]);return}te(Bj(ee.path))},[ee.path,te]),(0,J.useEffect)(()=>{if(zj(r)||r.trim().length<2){p([]);return}let e=setTimeout(async()=>{try{p(await z.get(`/api/db/search?q=${encodeURIComponent(r.trim())}`)??[])}catch{p([])}},300);return()=>clearTimeout(e)},[r]);let ne=(0,J.useMemo)(()=>{let e=b?.name??null,n=b?{projectName:b.name}:void 0,r=(r,i)=>()=>{v({type:r,title:i,projectId:e,metadata:n,closable:!0}),t()},i=[{id:`chat`,label:`New AI Chat`,icon:kn,action:r(`chat`,`AI Chat`),keywords:`ai assistant claude`,group:`action`,shortcut:Lj(O(`open-chat`))},{id:`new-file`,label:`New File`,icon:sn,action:()=>{K.getState().openNewFile(),t()},keywords:`create untitled blank empty`,group:`action`,shortcut:Lj(O(`new-file`))},{id:`new-db-query`,label:`New DB Query`,icon:Dt,action:()=>{K.getState().openNewFile({language:`sql`,title:`SQL Query`}),t()},keywords:`sql database query scratchpad new`,group:`action`},{id:`terminal`,label:`New Terminal`,icon:Fn,action:r(`terminal`,`Terminal`),keywords:`bash shell console`,group:`action`,shortcut:Lj(O(`open-terminal`))},{id:`tunnels`,label:`Cloudflare Tunnels`,icon:$e,action:()=>{E&&D(),T(`tunnels`),t()},keywords:`web preview localhost port forward tunnel cloudflare url`,group:`action`},{id:`cloud-share`,label:`PPM Cloud & Share`,icon:yt,action:()=>{window.dispatchEvent(new CustomEvent(`open-cloud-share`)),t()},keywords:`cloud permanent link alias share phone remote device qr sign in login`,group:`action`},{id:`postgres`,label:`PostgreSQL`,icon:Dt,action:r(`postgres`,`PostgreSQL`),keywords:`database pg sql query`,group:`action`},{id:`voice-input`,label:`Voice Input`,icon:Ln,action:()=>{window.dispatchEvent(new CustomEvent(`toggle-voice-input`)),t()},keywords:`speech microphone dictate voice`,group:`action`,shortcut:Lj(O(`voice-input`))},{id:`git-status`,label:`Git Status`,icon:aa,action:()=>{T(`git`),t()},keywords:`changes diff staged`,group:`action`,shortcut:Lj(O(`open-git-status`))},{id:`problems`,label:`Problems`,icon:ut,action:()=>{W.getState().openInDock({type:`problems`,title:`Problems`,projectId:null,closable:!0}),t()},keywords:`errors warnings diagnostics lint typescript`,group:`action`,shortcut:Lj(O(`open-problems`))},{id:`word-wrap`,label:`Toggle Word Wrap`,icon:Bn,group:`action`,keywords:`wrap unwrap word lines editor soft`,action:()=>{let e=V.getState();A?e.toggleMobileWordWrap():e.toggleWordWrap(),t()},shortcut:A?void 0:`Alt+Z`},{id:`compare-files`,label:`Compare Files...`,icon:It,group:`action`,keywords:`diff compare two files select`,shortcut:Lj(O(`compare-files`)),action:()=>{let{activeTabId:e,tabs:n}=K.getState(),r=n.find(t=>t.id===e),i=r?.metadata;r?.type===`editor`&&i?.filePath&&i?.projectName&&qs.getState().setSelection({filePath:i.filePath,projectName:i.projectName,dirtyContent:i.unsavedContent,label:qn(i.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`)),t()}},...j?[]:[{id:`language-server`,label:M?`Turn Off Language Server`:`Turn On Language Server`,icon:gt,group:`action`,keywords:`lsp language server completions intellisense hover definition typescript pyright gopls`,hint:`This device`,action:()=>{let e=V.getState();e.setLspEnabled(!e.lspEnabled),t()}}],{id:`settings`,label:`Settings`,icon:pn,action:()=>{Ic(),t()},keywords:`config preferences theme`,group:`action`,shortcut:Lj(O(`open-settings`))},{id:`open-file-explorer`,label:`Open File Explorer`,icon:Kt,group:`action`,keywords:`open file explorer finder browse files folders disk drive window`,action:()=>{Jf(),t()}}],a=k?.keybindings??[],o=(k?.commands??[]).map(e=>{let n=a.find(t=>t.command===e.command),r=(n?O(`ext:${n.command}`):``)||(n?Ij&&n.mac?n.mac:n.key:``);return{id:`ext:${e.command}`,label:e.title,hint:e.category,icon:Z(e.icon)??bt,group:`action`,keywords:`extension ${e.command} ${e.category??``}`,shortcut:r?Lj(r):void 0,action:()=>{Lc(e.command),t()}}});return[...i,...o]},[b,v,t,T,E,D,O,k,A,j,M]),re=(0,J.useMemo)(()=>{let e=b?.name??null,t=b?{projectName:b.name}:void 0;return(S===`ready`?x.filter(e=>e.type===`file`):Rj(w)).map(n=>({id:`file:${n.path}`,label:n.name,hint:n.path,icon:Fi(n.name),group:`file`,keywords:n.path,isIgnored:`isIgnored`in n?n.isIgnored:void 0,action:()=>F(n.path,n.name,e,t)}))},[S,x,w,b,F]),ie=(0,J.useMemo)(()=>{let e=b?.name??null,t=b?{projectName:b.name}:void 0;return c.map(n=>{let r=qn(n);return{id:`fs:${n}`,label:r,hint:n,icon:Se,group:`fs`,keywords:n,action:()=>F(n,r,e,t)}})},[c,b,F]),ae=(0,J.useMemo)(()=>f.map(e=>({id:`db:${e.connectionId}:${e.schemaName}.${e.tableName}`,label:e.tableName,hint:`${e.connectionName} (${e.connectionType===`postgres`?`PG`:`SQLite`})`,icon:Dt,group:`db`,connectionColor:e.connectionColor,action:()=>{v({type:`database`,title:`${e.connectionName} · ${e.tableName}`,projectId:null,closable:!0,metadata:{connectionId:e.connectionId,connectionName:e.connectionName,dbType:e.connectionType,tableName:e.tableName,schemaName:e.schemaName,connectionColor:e.connectionColor}}),t()}})),[f,v,t]),I=(0,J.useMemo)(()=>[...ne,...re],[ne,re]),oe=(0,J.useMemo)(()=>I.map(e=>{let t=e.keywords??e.label,n=t.toLowerCase();return{cmd:e,filenameLower:Tj(n),pathLower:n,labelLen:e.label.length,depth:t.split(`/`).length}}),[I]),se=(0,J.useMemo)(()=>{if(zj(N)){let e=N.lastIndexOf(`/`),t=e>=0?N.slice(e+1).toLowerCase():``;return t?ie.filter(e=>{let n=e.label.toLowerCase(),r=(e.keywords??``).toLowerCase();return n.includes(t)||r.includes(t)}).slice(0,50):ie.slice(0,50)}if(!N.trim())return ne;let e=N.toLowerCase().replace(/^\.\.?\//,``),t=[];for(let n of oe){let r=Dj(e,n.filenameLower,n.pathLower,n.labelLen,n.depth);r&&t.push({cmd:n.cmd,score:r})}t.sort((e,t)=>kj(e.score,t.score));let n=t.slice(0,Fj).map(e=>e.cmd);return a.trim().length>=2?[...ae,...n]:n},[oe,ne,ie,ae,a,N]),ce=(0,J.useMemo)(()=>{let e=new Set;for(let t of I)e.add(t.group);return f.length>0&&e.add(`db`),c.length>0&&e.add(`fs`),Array.from(e)},[I,f.length,c.length]),le=(0,J.useMemo)(()=>{let e={};for(let t of se)e[t.group]=(e[t.group]??0)+1;return e},[se]),ue=(0,J.useMemo)(()=>m.size===0?se:se.filter(e=>m.has(e.group)),[se,m]),de=(0,J.useCallback)(e=>{h(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),s(0)},[]);(0,J.useEffect)(()=>{e&&S===`idle`&&b&&C(b.name)},[e,S,b,C]),(0,J.useEffect)(()=>{e&&(i(n||``),s(0),l([]),p([]),h(new Set),requestAnimationFrame(()=>g.current?.focus()))},[e]),(0,J.useEffect)(()=>{s(e=>Math.min(e,Math.max(ue.length-1,0)))},[ue.length]),(0,J.useEffect)(()=>{let e=_.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]);let fe=(0,J.useCallback)(()=>{r.trim()&&(v({type:`chat`,title:`AI Chat`,projectId:b?.name??null,metadata:{projectName:b?.name,pendingMessage:r.trim()},closable:!0}),t())},[r,b,v,t]);function pe(e){let n=ue.length;switch(e.key){case`ArrowDown`:e.preventDefault(),n>0&&s(e=>(e+1)%n);break;case`ArrowUp`:e.preventDefault(),n>0&&s(e=>(e-1+n)%n);break;case`Enter`:e.preventDefault(),n>0?ue[o]?.action():r.trim()&&fe();break;case`Escape`:e.preventDefault(),t();break}}if(!e)return null;let me=zj(ee.path);return(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:t,children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,Y.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden max-h-[80vh] md:max-h-none`,onClick:e=>e.stopPropagation(),onKeyDown:pe,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,Y.jsx)(Jt,{className:`size-4 text-text-subtle shrink-0`}),(0,Y.jsx)(`input`,{ref:g,type:`text`,value:r,onChange:e=>i(e.target.value),placeholder:`Search actions & files... (type / or ~/ for filesystem)`,className:`flex-1 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle`}),u&&(0,Y.jsx)(L,{className:`size-3.5 animate-spin text-text-subtle shrink-0`}),(0,Y.jsx)(`kbd`,{className:`hidden sm:inline-flex items-center rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:`ESC`})]}),me&&!u&&c.length===0&&r.length<4&&(0,Y.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-subtle border-b border-border/50`,children:`Type a directory path to browse files (e.g. ~/Projects/)`}),!me&&(S===`loading`||S===`idle`)&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-1.5 border-b border-border/50`,children:[(0,Y.jsx)(L,{className:`size-3 animate-spin text-text-subtle shrink-0`}),(0,Y.jsx)(`span`,{className:`text-[11px] text-text-subtle italic`,children:`Indexing project…`})]}),!me&&S===`error`&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border/50`,children:[(0,Y.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`Failed to build file index —`}),(0,Y.jsx)(`button`,{onClick:()=>b&&C(b.name),className:`text-[11px] text-primary hover:underline`,children:`retry`})]}),!me&&(0,Y.jsx)(Pj,{availableGroups:ce,groupCounts:le,activeFilters:m,onToggle:de}),(0,Y.jsx)(`div`,{ref:_,className:`max-h-72 overflow-y-auto py-1`,children:ue.length===0?u?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`Searching...`}):m.size>0&&se.length>0?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results in selected filters`}):r.trim()?(0,Y.jsxs)(`button`,{onClick:fe,className:`flex items-center gap-3 w-full px-3 py-3 text-sm text-left text-text-secondary hover:bg-accent/15 hover:text-text-primary transition-colors`,children:[(0,Y.jsx)(kn,{className:`size-4 shrink-0 text-primary`}),(0,Y.jsxs)(`span`,{children:[`Ask AI: `,(0,Y.jsx)(`span`,{className:`text-text-primary font-medium`,children:r.trim().slice(0,60)})]})]}):(0,Y.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results`}):ue.map((e,t)=>{let n=e.icon;return(0,Y.jsxs)(`button`,{onClick:e.action,className:`flex items-center gap-3 w-full px-3 py-2 text-sm text-left transition-colors ${t===o?`bg-accent/15 text-text-primary`:`text-text-secondary hover:bg-surface-elevated`} ${e.isIgnored?`opacity-60`:``}`,title:e.isIgnored?`Gitignored file`:void 0,children:[(0,Y.jsx)(n,{className:`size-4 shrink-0`}),(0,Y.jsx)(`span`,{className:`truncate`,children:e.label}),e.hint&&(0,Y.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-xs text-text-subtle truncate max-w-[200px]`,children:[e.connectionColor&&(0,Y.jsx)(`span`,{className:`shrink-0 size-2 rounded-full`,style:{backgroundColor:e.connectionColor}}),e.hint]}),e.shortcut&&(0,Y.jsx)(`kbd`,{className:`ml-auto shrink-0 rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:e.shortcut})]},e.id)})}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 border-t border-border px-3 py-1.5`,children:[(0,Y.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`Press`}),(0,Y.jsx)(`kbd`,{className:`inline-flex items-center rounded border border-border bg-surface px-1 py-0.5 text-[10px] text-text-subtle font-mono`,children:`Shift`}),(0,Y.jsx)(`kbd`,{className:`inline-flex items-center rounded border border-border bg-surface px-1 py-0.5 text-[10px] text-text-subtle font-mono`,children:`Shift`}),(0,Y.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`to open this palette`})]})]})]})}var Uj=50;function Wj({open:e,onOpenChange:t,initialA:n}={}){let r=e!==void 0,[i,a]=(0,J.useState)(!1),o=r?e:i,s=e=>{r?t?.(e):a(e)},[c,l]=(0,J.useState)(n??null);(0,J.useEffect)(()=>{if(r)return;function e(){l(qs.getState().selection),a(!0)}return window.addEventListener(`open-compare-picker`,e),()=>window.removeEventListener(`open-compare-picker`,e)},[r]);let[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(0),[m,h]=(0,J.useState)(null),g=(0,J.useRef)(null),_=K(e=>e.tabs),v=Mr(e=>e.fileIndex),y=G(e=>e.activeProject);(0,J.useEffect)(()=>{o&&(r&&l(n??null),d(``),p(0),h(null),setTimeout(()=>g.current?.focus(),50))},[o,n,r]);let b=(0,J.useMemo)(()=>{let e=_.filter(e=>e.type===`editor`&&e.metadata?.filePath).map(e=>({id:`tab:${e.id}`,path:e.metadata.filePath,label:qn(e.metadata.filePath),source:`tab`,dirtyContent:e.metadata.unsavedContent})),t=new Set(e.map(e=>e.path)),n=v.filter(e=>e.type===`file`&&!t.has(e.path)).map(e=>({id:`file:${e.path}`,path:e.path,label:e.name,source:`file`}));return[...e,...n]},[_,v]),x=(0,J.useMemo)(()=>u.trim()?b.map(e=>{let t=Oj(u,e.label,e.path);return t?{c:e,score:t}:null}).filter(e=>e!==null).sort((e,t)=>kj(e.score,t.score)).slice(0,Uj).map(e=>e.c):b.slice(0,Uj),[b,u]);(0,J.useEffect)(()=>{f>=x.length&&p(Math.max(0,x.length-1))},[x,f]);let S=(0,J.useRef)(!1);async function C(e){if(y){if(!c){l({filePath:e.path,projectName:y.name,dirtyContent:e.dirtyContent,label:e.label}),d(``),p(0),g.current?.focus();return}if(!S.current){S.current=!0;try{await Ys({path:c.filePath,dirtyContent:c.dirtyContent},{path:e.path,dirtyContent:e.dirtyContent},y.name),qs.getState().clearSelection(),s(!1)}catch(e){h(e instanceof Error?e.message:`Compare failed`)}finally{S.current=!1}}}}function w(e){if(e.key===`ArrowDown`)e.preventDefault(),p(e=>Math.min(x.length-1,e+1));else if(e.key===`ArrowUp`)e.preventDefault(),p(e=>Math.max(0,e-1));else if(e.key===`Enter`){e.preventDefault();let t=x[f];t&&C(t)}}return(0,Y.jsx)(Pi,{open:o,onOpenChange:s,children:(0,Y.jsxs)(Ai,{className:`max-w-lg p-0 gap-0 overflow-hidden`,children:[(0,Y.jsx)(Oi,{className:`px-4 pt-4 pb-2`,children:(0,Y.jsxs)(ji,{className:`flex items-center gap-2 text-sm`,children:[(0,Y.jsx)(It,{className:`size-4`}),`Compare Files`]})}),(0,Y.jsx)(`div`,{className:`px-4 pb-2`,children:c?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs bg-muted rounded px-2 py-1 w-fit max-w-full`,children:[(0,Y.jsx)(zt,{className:`size-3.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`truncate`,title:c.filePath,children:c.label}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>l(null),className:`hover:bg-surface-elevated rounded p-0.5`,"aria-label":`Clear first file`,children:(0,Y.jsx)(he,{className:`size-3`})})]}):(0,Y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pick first file, then second.`})}),(0,Y.jsx)(`input`,{ref:g,type:`text`,value:u,onChange:e=>{d(e.target.value),p(0)},onKeyDown:w,placeholder:c?`Search for file B...`:`Search for file A...`,className:`w-full px-4 py-2 bg-transparent border-y border-border text-sm outline-none`}),m&&(0,Y.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive border-b border-border`,children:m}),(0,Y.jsx)(`div`,{className:`max-h-[50vh] md:max-h-80 overflow-y-auto`,children:x.length===0?(0,Y.jsx)(`div`,{className:`px-4 py-6 text-center text-xs text-muted-foreground`,children:b.length===0?`No files available`:`No matches`}):x.map((e,t)=>(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>C(e),onMouseEnter:()=>p(t),className:U(`w-full flex items-center gap-2 px-4 py-1.5 text-left text-sm`,`hover:bg-surface-elevated transition-colors`,t===f&&`bg-surface-elevated`),children:[(0,Y.jsx)(zt,{className:`size-3.5 shrink-0 text-text-secondary`}),(0,Y.jsx)(`span`,{className:`truncate`,children:e.label}),(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground truncate ml-auto`,title:e.path,children:e.source===`tab`?`open`:e.path})]},e.id))})]})})}function Gj(){let e=fg(),t=Ir(),[n,r]=(0,J.useState)(!1),i=e.step.k!==`hidden`&&!n;if(!i)return null;let a=()=>r(!0);return t?(0,Y.jsx)(Hi,{open:i,onClose:a,zIndex:45,children:(0,Y.jsx)(`div`,{className:`px-4 pb-4`,children:(0,Y.jsx)(_g,{step:e.step,t:e})})}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 z-[45] bg-black/40`,onClick:a}),(0,Y.jsxs)(`div`,{className:`fixed z-[45] top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-md max-h-[85vh] overflow-y-auto rounded-xl bg-popover text-popover-foreground border border-border shadow-2xl p-5`,onClick:e=>e.stopPropagation(),children:[(0,Y.jsx)(`button`,{type:`button`,onClick:a,"aria-label":`Close`,className:`absolute right-3 top-3 size-11 flex items-center justify-center rounded-md hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(he,{className:`size-4`})}),(0,Y.jsx)(`div`,{className:`pr-8`,children:(0,Y.jsx)(_g,{step:e.step,t:e})})]})]})}var Kj=Gn((e,t)=>({images:[],index:0,src:null,alt:``,open:(t,n=``,r)=>{let i=r?.length?r:[{src:t,alt:n}],a=i.findIndex(e=>e.src===t),o=a>=0?a:0,s=i[o];e({images:i,index:o,src:s.src,alt:s.alt||n})},close:()=>e({images:[],index:0,src:null,alt:``}),go:n=>{let{images:r,index:i}=t(),a=i+n;if(a<0||a>=r.length)return;let o=r[a];e({index:a,src:o.src,alt:o.alt})}})),qj={scale:1,x:0,y:0,rotation:0,flipX:!1,flipY:!1},Jj=.1,Yj=20,Xj=2.5,Zj=(e,t,n)=>Math.min(n,Math.max(t,e));function Qj(e){return e.deltaMode===0?e.deltaX===0?Number.isInteger(e.deltaY)&&Math.abs(e.deltaY)>=40:!1:!0}function $j(){let e=(0,J.useRef)(null),t=(0,J.useRef)(null),n=(0,J.useRef)({...qj}),r=(0,J.useRef)(null),[i,a]=(0,J.useState)(100),[o,s]=(0,J.useState)(0),c=(0,J.useCallback)(()=>{let n=t.current,r=e.current;return{dw:n?.clientWidth??0,dh:n?.clientHeight??0,cw:r?.clientWidth??0,ch:r?.clientHeight??0,natural:n?.naturalWidth??0}},[]),l=(0,J.useCallback)(()=>{let{dw:e,dh:t,cw:r,ch:i}=c(),a=Math.abs(n.current.rotation%180)===90,o=(a?t:e)*n.current.scale,s=(a?e:t)*n.current.scale;return{maxX:Math.max(0,(o-r)/2),maxY:Math.max(0,(s-i)/2)}},[c]),u=(0,J.useCallback)(()=>{a(Math.round(n.current.scale*100)),s(n.current.rotation)},[]),d=(0,J.useCallback)((e=!1)=>{let i=t.current;if(!i)return;let{scale:a,x:o,y:s,rotation:c,flipX:l,flipY:d}=n.current;if(i.style.transform=`translate3d(${o}px, ${s}px, 0) rotate(${c}deg) scale(${a*(l?-1:1)}, ${a*(d?-1:1)})`,e){r.current!=null&&(cancelAnimationFrame(r.current),r.current=null),u();return}r.current??=requestAnimationFrame(()=>{r.current=null,u()})},[u]),f=(0,J.useCallback)((e=!1)=>{let{maxX:t,maxY:r}=l();n.current.x=Zj(n.current.x,-t,t),n.current.y=Zj(n.current.y,-r,r),d(e)},[d,l]),p=(0,J.useCallback)((t,r,i,a=!1)=>{let o=e.current;if(!o)return;let s=o.getBoundingClientRect(),c=(r??s.left+s.width/2)-(s.left+s.width/2),l=(i??s.top+s.height/2)-(s.top+s.height/2),u=n.current.scale,d=Zj(t,Jj,Yj),p=d/u;n.current.scale=d,n.current.x=c-(c-n.current.x)*p,n.current.y=l-(l-n.current.y)*p,f(a)},[f]),m=(0,J.useCallback)(()=>{n.current={...qj},d(!0)},[d]),h=(0,J.useCallback)(()=>{let{dw:e,dh:t,cw:r,ch:i}=c(),a=Math.abs(n.current.rotation%180)===90;n.current.scale=a&&e>0&&t>0?Math.min(r/t,i/e):1,n.current.x=0,n.current.y=0,f(!0)},[c,f]),g=(0,J.useCallback)(()=>{let{dw:e,natural:t}=c();e>0&&t>0&&p(t/e,void 0,void 0,!0)},[c,p]),_=(0,J.useCallback)(e=>{n.current.rotation=((n.current.rotation+e)%360+360)%360,h()},[h]),v=(0,J.useCallback)(e=>{e===`x`?n.current.flipX=!n.current.flipX:n.current.flipY=!n.current.flipY,d(!0)},[d]),y=(0,J.useCallback)(e=>p(n.current.scale*e,void 0,void 0,!0),[p]);return Xx({onDrag:({delta:[e,t],pinching:r,cancel:i,last:a})=>{if(r)return i();n.current.x+=e,n.current.y+=t,f(a)},onPinch:({offset:[e],origin:[t,r],first:i,last:a,memo:o})=>{let s=i?n.current.scale/(e||1):o??1;return p(s*e,t,r,a),s},onWheel:({event:e,last:t})=>{if(t){d(!0);return}let{deltaX:r,deltaY:i}=e;if(!(r===0&&i===0)){if(e.preventDefault(),e.ctrlKey||e.metaKey||Qj(e)){p(n.current.scale*Math.exp(-i/300),e.clientX,e.clientY);return}n.current.x-=r,n.current.y-=i,f()}},onDoubleClick:({event:e})=>{n.current.scale>1.05?h():p(Xj,e.clientX,e.clientY,!0)}},{target:e,drag:{from:()=>[n.current.x,n.current.y],filterTaps:!0,pointer:{touch:!0}},pinch:{scaleBounds:{min:Jj,max:Yj},rubberband:!0},eventOptions:{passive:!1}}),(0,J.useEffect)(()=>{let e=()=>f();return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e),r.current!=null&&cancelAnimationFrame(r.current)}},[f]),{containerRef:e,imageRef:t,zoomPercent:i,rotation:o,zoomBy:y,reset:m,fit:h,actualSize:g,rotate:_,flip:v}}function eM(){let e=Kj(e=>e.src);return e?(0,Y.jsx)(tM,{},e):null}function tM(){let{src:e,alt:t,images:n,index:r,close:i,go:a}=Kj(),{containerRef:o,imageRef:s,zoomPercent:c,rotation:l,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h}=$j(),[g,_]=(0,J.useState)(!1),v=jl();(0,J.useEffect)(()=>{d()},[d]);let y=(0,J.useRef)({close:i,go:a,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h});if(y.current={close:i,go:a,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h},(0,J.useEffect)(()=>{if(!e)return;let t=e=>{let t=y.current,n=e.key;if(n===`Escape`)return t.close();if(n===`ArrowLeft`)return t.go(-1);if(n===`ArrowRight`)return t.go(1);if(n===`+`||n===`=`)return t.zoomBy(1.25);if(n===`-`||n===`_`)return t.zoomBy(.8);if(n===`0`)return t.fit();if(n===`1`)return t.actualSize();if(n===`r`)return t.rotate(90);if(n===`R`)return t.rotate(-90);if(n===`h`)return t.flip(`x`);if(n===`v`)return t.flip(`y`)};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e]),!e)return null;let b=t?.trim()||`image`,x=n.length>1,S=async()=>{await Ml(e)&&(_(!0),setTimeout(()=>_(!1),1500))};return(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/90 backdrop-blur-sm animate-in fade-in duration-150`,children:[(0,Y.jsx)(`button`,{onClick:i,className:`absolute top-3 right-3 z-20 flex size-11 items-center justify-center rounded-full bg-white/10 text-white transition-colors hover:bg-white/20 active:bg-white/30`,"aria-label":`Close`,children:(0,Y.jsx)(he,{className:`size-5`})}),x&&(0,Y.jsxs)(`div`,{className:`absolute top-3 left-3 z-20 rounded-full bg-white/10 px-3 py-1.5 font-mono text-xs text-white/80`,children:[r+1,` / `,n.length]}),(0,Y.jsx)(`div`,{ref:o,className:`relative flex flex-1 touch-none select-none items-center justify-center overflow-hidden`,onPointerDown:e=>{e.target===e.currentTarget&&(e.currentTarget.dataset.bg=`1`)},onPointerUp:e=>{e.target===e.currentTarget&&e.currentTarget.dataset.bg===`1`&&i(),delete e.currentTarget.dataset.bg},children:(0,Y.jsx)(`img`,{ref:s,src:e,alt:t,draggable:!1,style:{willChange:`transform`},className:`max-h-full max-w-full object-contain rounded-lg shadow-2xl`})}),(0,Y.jsxs)(nM,{children:[x&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(iM,{onClick:()=>a(-1),disabled:r===0,label:`Previous image (←)`,children:(0,Y.jsx)(fe,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:()=>a(1),disabled:r===n.length-1,label:`Next image (→)`,children:(0,Y.jsx)(Xt,{className:`size-5`})}),(0,Y.jsx)(rM,{})]}),(0,Y.jsx)(iM,{onClick:()=>u(.8),label:`Zoom out (-)`,children:(0,Y.jsx)(ve,{className:`size-5`})}),(0,Y.jsxs)(`button`,{onClick:d,className:`h-11 min-w-[4.5rem] rounded-lg px-2 font-mono text-xs text-white/80 transition-colors hover:bg-white/10 active:bg-white/20`,title:`Reset view`,children:[c,`%`]}),(0,Y.jsx)(iM,{onClick:()=>u(1.25),label:`Zoom in (+)`,children:(0,Y.jsx)(_n,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:f,label:`Fit to screen (0)`,children:(0,Y.jsx)(Wt,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:p,label:`Actual size (1)`,children:(0,Y.jsx)(ua,{className:`size-5`})}),(0,Y.jsx)(rM,{}),(0,Y.jsx)(iM,{onClick:()=>m(-90),label:`Rotate left (Shift+R)`,active:l!==0,children:(0,Y.jsx)(de,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:()=>m(90),label:`Rotate right (R)`,active:l!==0,children:(0,Y.jsx)(Ft,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:()=>h(`x`),label:`Flip horizontally (H)`,children:(0,Y.jsx)(st,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:()=>h(`y`),label:`Flip vertically (V)`,children:(0,Y.jsx)(Nn,{className:`size-5`})}),(0,Y.jsx)(rM,{}),(0,Y.jsx)(iM,{onClick:()=>yi(e,b),label:`Download`,children:(0,Y.jsx)(wn,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:S,disabled:!v,label:v?`Copy image`:`Copying images needs an HTTPS or localhost address`,children:g?(0,Y.jsx)(An,{className:`size-5 text-green-400`}):(0,Y.jsx)(un,{className:`size-5`})})]})]})}function nM({children:e}){return(0,Y.jsx)(`div`,{className:`flex shrink-0 justify-center px-2 pb-[max(0.75rem,env(safe-area-inset-bottom))] pt-2`,children:(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center justify-center gap-0.5 rounded-2xl bg-white/10 p-1 backdrop-blur`,children:e})})}function rM(){return(0,Y.jsx)(`span`,{className:`mx-1 h-6 w-px bg-white/20`,"aria-hidden":!0})}function iM({onClick:e,label:t,children:n,disabled:r,active:i}){return(0,Y.jsx)(`button`,{type:`button`,onClick:e,disabled:r,title:t,"aria-label":t,className:U(`flex size-11 items-center justify-center rounded-lg text-white transition-colors`,`hover:bg-white/15 active:bg-white/25`,i&&`text-primary`,r&&`pointer-events-none opacity-30`),children:n})}var aM=Gn(e=>({svg:null,open:t=>e({svg:t}),close:()=>e({svg:null})})),oM=.25,sM=4,cM=.25;function lM(){let{svg:e,close:t}=aM(),n=(0,J.useRef)(null),[r,i]=(0,J.useState)(1),[a,o]=(0,J.useState)({x:0,y:0}),s=(0,J.useRef)(!1),c=(0,J.useRef)({x:0,y:0});(0,J.useEffect)(()=>{e&&(i(1),o({x:0,y:0}))},[e]);let l=(0,J.useCallback)(e=>{e.key===`Escape`&&t(),(e.key===`=`||e.key===`+`)&&i(e=>Math.min(sM,e+cM)),e.key===`-`&&i(e=>Math.max(oM,e-cM)),e.key===`0`&&(i(1),o({x:0,y:0}))},[t]);(0,J.useEffect)(()=>{if(e)return document.addEventListener(`keydown`,l),()=>document.removeEventListener(`keydown`,l)},[e,l]);let u=(0,J.useCallback)(e=>{e.preventDefault();let t=e.deltaY>0?-cM:cM;i(e=>Math.min(sM,Math.max(oM,e+t)))},[]),d=(0,J.useCallback)(e=>{e.button===0&&(s.current=!0,c.current={x:e.clientX,y:e.clientY},e.target.setPointerCapture(e.pointerId))},[]),f=(0,J.useCallback)(e=>{if(!s.current)return;let t=e.clientX-c.current.x,n=e.clientY-c.current.y;c.current={x:e.clientX,y:e.clientY},o(e=>({x:e.x+t,y:e.y+n}))},[]),p=(0,J.useCallback)(()=>{s.current=!1},[]);return e?(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/85 backdrop-blur-sm animate-in fade-in duration-150`,onClick:t,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 bg-black/40`,onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`span`,{className:`text-sm text-white/70`,children:[Math.round(r*100),`% — Scroll to zoom, drag to pan, 0 to reset`]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(`button`,{onClick:()=>i(e=>Math.max(oM,e-cM)),className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Zoom out`,children:(0,Y.jsx)(vn,{className:`size-4`})}),(0,Y.jsx)(`button`,{onClick:()=>i(e=>Math.min(sM,e+cM)),className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Zoom in`,children:(0,Y.jsx)(Le,{className:`size-4`})}),(0,Y.jsx)(`button`,{onClick:()=>{i(1),o({x:0,y:0})},className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Reset zoom`,children:(0,Y.jsx)(de,{className:`size-4`})}),(0,Y.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors ml-2`,"aria-label":`Close`,children:(0,Y.jsx)(he,{className:`size-5`})})]})]}),(0,Y.jsx)(`div`,{ref:n,className:`flex-1 overflow-hidden cursor-grab active:cursor-grabbing`,onClick:e=>e.stopPropagation(),onWheel:u,onPointerDown:d,onPointerMove:f,onPointerUp:p,children:(0,Y.jsx)(`div`,{className:`w-full h-full flex items-center justify-center`,style:{transform:`translate(${a.x}px, ${a.y}px) scale(${r})`,transformOrigin:`center center`},children:(0,Y.jsx)(`div`,{className:`mermaid-overlay-content bg-white rounded-lg p-6 shadow-2xl [&_svg]:max-w-full [&_svg]:h-auto`,dangerouslySetInnerHTML:{__html:e}})})})]}):null}var uM=new Map,dM=Gn((e,t)=>({shellsBySession:{},panelShellId:null,setSessionShells:(t,n)=>e(e=>({shellsBySession:{...e.shellsBySession,[t]:n}})),retainSession:e=>{uM.set(e,(uM.get(e)??0)+1)},releaseSession:t=>{let n=(uM.get(t)??1)-1;if(n>0){uM.set(t,n);return}uM.delete(t),e(e=>{let n={...e.shellsBySession};return delete n[t],{shellsBySession:n}})},findByOutput:e=>{if(!e)return;let n=qn(e).replace(/\.output$/,``);for(let r of Object.values(t().shellsBySession)){let t=r.find(t=>t.shellId===n||t.outputPath.endsWith(`${n}.output`)||t.outputPath.endsWith(e));if(t)return t}},getShell:e=>{for(let n of Object.values(t().shellsBySession)){let t=n.find(t=>t.shellId===e);if(t)return t}},openPanel:t=>e({panelShellId:t}),closePanel:()=>e({panelShellId:null})})),fM=1500,pM=5e5;function mM(){let e=dM(e=>e.panelShellId),t=dM(e=>e.getShell),n=dM(e=>e.closePanel),r=e?t(e):void 0,[i,a]=(0,J.useState)(``),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(!1),u=(0,J.useRef)(null),d=r?.outputPath,f=r?.status,p=(0,J.useCallback)(async()=>{if(d)try{let e=(await z.get(`/api/fs/read?path=${encodeURIComponent(d)}`)).content??``;a(e.length>pM?e.slice(-pM):e),s(null)}catch(e){s(e.message)}finally{l(!1)}},[d]);return(0,J.useEffect)(()=>{if(!d||(l(!0),a(``),p(),f!==`running`))return;let e=setInterval(p,fM);return()=>clearInterval(e)},[d,f,p]),(0,J.useEffect)(()=>{u.current&&(u.current.scrollTop=u.current.scrollHeight)},[i]),(0,J.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,n]),e?(0,Y.jsx)(`div`,{className:`fixed inset-0 z-[100] flex items-end md:items-center justify-center bg-black/60 backdrop-blur-sm animate-in fade-in duration-150`,onClick:n,children:(0,Y.jsxs)(`div`,{className:`flex flex-col w-full md:max-w-3xl md:w-[90vw] max-h-[80vh] md:max-h-[75vh] overflow-hidden rounded-t-xl md:rounded-xl border border-border bg-surface shadow-2xl`,onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,Y.jsx)(ot,{className:`size-4 shrink-0 text-text-secondary`}),(0,Y.jsx)(`span`,{className:`flex-1 truncate text-sm font-mono text-text-primary`,title:r?.command,children:r?.command||`Background command`}),f===`running`&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-emerald-500`,children:[(0,Y.jsx)(L,{className:`size-3 animate-spin`}),` live`]}),f===`stopping`&&(0,Y.jsx)(`span`,{className:`text-[11px] text-warning`,children:`stopping…`}),f===`stopped`&&(0,Y.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`stopped`}),(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`flex items-center justify-center size-9 -mr-1 rounded hover:bg-surface-elevated text-text-secondary`,"aria-label":`Close`,children:(0,Y.jsx)(he,{className:`size-5`})})]}),(0,Y.jsx)(`pre`,{ref:u,className:`flex-1 overflow-auto p-4 text-xs font-mono whitespace-pre-wrap break-words text-text-primary bg-background`,children:o?`Failed to read output: ${o}`:i||(c?`Loading…`:`(no output yet)`)})]})}):null}var hM=`https://cloud.ppm.sh`;function gM(){let e=window.location.hostname;return e.endsWith(`.trycloudflare.com`)||e===lg()}function _M(){let e=lg();return!!e&&window.location.hostname===e}function vM(){let e=hj(e=>e.showOverlay),[t,n]=(0,J.useState)(!1);if(!e)return null;let r=gM(),i=_M(),a=cv();async function o(){n(!0);try{if((await fetch(`/api/health`,{cache:`no-store`})).ok){if(hj.getState().markUp(),`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload();return}}catch{}n(!1)}return(0,Y.jsx)(`div`,{className:`fixed inset-0 z-[200] bg-background/95 backdrop-blur-sm flex items-center justify-center p-4`,children:(0,Y.jsxs)(`div`,{className:`max-w-sm w-full text-center space-y-6`,children:[(0,Y.jsx)(`div`,{className:`flex justify-center`,children:(0,Y.jsx)(`div`,{className:`rounded-full bg-destructive/10 p-4`,children:(0,Y.jsx)(r?it:da,{className:`h-10 w-10 text-destructive`})})}),(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsx)(`h2`,{className:`text-xl font-semibold text-foreground`,children:i?`Domain Not Responding`:r?`Connection Lost`:`Server Unreachable`}),(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed`,children:i?`This address stays the same, so keep it. The machine may be asleep, offline, or restarting — it will answer again on this same URL.`:r?`The tunnel appears to have closed. The server may have restarted with a new URL.`:`Cannot connect to the PPM server. It may have stopped or is restarting.`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[r&&a&&(0,Y.jsxs)(`a`,{href:a,className:`inline-flex items-center justify-center gap-2 rounded-md bg-primary px-4 py-2.5 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors`,children:[(0,Y.jsx)(pt,{className:`h-4 w-4`}),`Open on local network`]}),r&&(0,Y.jsx)(`a`,{href:hM,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center justify-center rounded-md px-4 py-2.5 text-sm font-medium transition-colors ${a?`border border-border text-foreground hover:bg-accent`:`bg-primary text-primary-foreground hover:bg-primary/90`}`,children:`Open PPM Cloud`}),(0,Y.jsxs)(`button`,{onClick:o,disabled:t,className:`inline-flex items-center justify-center gap-2 rounded-md border border-border px-4 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors disabled:opacity-50`,children:[(0,Y.jsx)(tt,{className:`h-4 w-4 ${t?`animate-spin`:``}`}),t?`Retrying…`:`Retry Connection`]})]}),!r&&(0,Y.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`If the server was stopped, run `,(0,Y.jsx)(`code`,{className:`bg-muted px-1 py-0.5 rounded text-[11px]`,children:`ppm start`}),` to restart it.`]})]})})}function yM(){let e=Pc(e=>e.quickPick),t=Pc(e=>e.resolveQuickPick);return e?(0,Y.jsx)(bM,{items:e.items,options:e.options,onSelect:e=>t(e),onCancel:()=>t(void 0)}):null}function bM({items:e,options:t,onSelect:n,onCancel:r}){let[i,a]=(0,J.useState)(``),[o,s]=(0,J.useState)(0),[c,l]=(0,J.useState)(()=>{let t=new Set;return e.forEach((e,n)=>{e.picked&&t.add(n)}),t}),u=(0,J.useRef)(null),d=(0,J.useRef)(null),f=t.canPickMany??!1;(0,J.useEffect)(()=>{requestAnimationFrame(()=>u.current?.focus())},[]);let p=(0,J.useMemo)(()=>{if(!i.trim())return e.map((e,t)=>({item:e,originalIdx:t}));let t=i.toLowerCase();return e.map((e,t)=>({item:e,originalIdx:t})).filter(({item:e})=>e.label.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)||e.detail?.toLowerCase().includes(t))},[e,i]);(0,J.useEffect)(()=>{s(e=>Math.min(e,Math.max(p.length-1,0)))},[p.length]),(0,J.useEffect)(()=>{(d.current?.children[o])?.scrollIntoView({block:`nearest`})},[o]);let m=(0,J.useCallback)(()=>{f?n(e.filter((e,t)=>c.has(t))):p[o]&&n([p[o].item])},[f,c,e,p,o,n]);function h(e){switch(e.key){case`ArrowDown`:e.preventDefault(),p.length>0&&s(e=>(e+1)%p.length);break;case`ArrowUp`:e.preventDefault(),p.length>0&&s(e=>(e-1+p.length)%p.length);break;case` `:if(f&&p[o]){e.preventDefault();let t=p[o].originalIdx;l(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}break;case`Enter`:e.preventDefault(),m();break;case`Escape`:e.preventDefault(),r();break}}return(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:r,children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,Y.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden max-h-[80vh] md:max-h-none`,onClick:e=>e.stopPropagation(),onKeyDown:h,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,Y.jsx)(Jt,{className:`size-4 text-text-subtle shrink-0`}),(0,Y.jsx)(`input`,{ref:u,type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:t.placeholder??`Select an item...`,className:`flex-1 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle`}),(0,Y.jsx)(`kbd`,{className:`hidden sm:inline-flex items-center rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:`ESC`})]}),(0,Y.jsx)(`div`,{ref:d,className:`max-h-72 overflow-y-auto py-1`,children:p.length===0?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No matching items`}):p.map(({item:e,originalIdx:t},r)=>(0,Y.jsxs)(`button`,{onClick:()=>{f?l(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n}):n([e])},className:U(`flex items-center gap-3 w-full px-3 py-2 text-sm text-left transition-colors`,r===o?`bg-accent/15 text-text-primary`:`text-text-secondary hover:bg-surface-elevated`),children:[f&&(0,Y.jsx)(`span`,{className:U(`size-4 shrink-0 rounded border flex items-center justify-center`,c.has(t)?`bg-primary border-primary text-primary-foreground`:`border-border`),children:c.has(t)&&(0,Y.jsx)(An,{className:`size-3`})}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`truncate`,children:e.label}),e.description&&(0,Y.jsx)(`span`,{className:`text-xs text-text-subtle ml-2`,children:e.description}),e.detail&&(0,Y.jsx)(`div`,{className:`text-xs text-text-subtle truncate mt-0.5`,children:e.detail})]})]},t))}),f&&(0,Y.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border px-3 py-1.5`,children:[(0,Y.jsxs)(`span`,{className:`text-[10px] text-text-subtle`,children:[c.size,` selected`]}),(0,Y.jsx)(`button`,{onClick:m,className:`text-xs text-primary hover:text-primary/80 font-medium`,children:`Confirm`})]})]})]})}function xM(){let e=Pc(e=>e.inputBox),t=Pc(e=>e.resolveInputBox);return e?(0,Y.jsx)(SM,{options:e.options,onConfirm:e=>t(e),onCancel:()=>t(void 0)}):null}function SM({options:e,onConfirm:t,onCancel:n}){let[r,i]=(0,J.useState)(e.value??``),a=(0,J.useRef)(null);(0,J.useEffect)(()=>{requestAnimationFrame(()=>{a.current?.focus(),a.current?.select()})},[]);function o(e){e.key===`Enter`?(e.preventDefault(),t(r)):e.key===`Escape`&&(e.preventDefault(),n())}return(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:n,children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,Y.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden`,onClick:e=>e.stopPropagation(),children:[e.prompt&&(0,Y.jsx)(`div`,{className:`px-3 pt-3 pb-1 text-sm text-text-primary`,children:e.prompt}),(0,Y.jsx)(`div`,{className:`flex items-center gap-2 px-3 py-2.5`,children:(0,Y.jsx)(`input`,{ref:a,type:e.password?`password`:`text`,value:r,onChange:e=>i(e.target.value),onKeyDown:o,placeholder:e.placeholder??``,className:`flex-1 bg-surface border border-border rounded px-2 py-1.5 text-sm text-text-primary outline-none focus:border-primary placeholder:text-text-subtle`})}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border px-3 py-2`,children:[(0,Y.jsx)(`button`,{onClick:n,className:`px-3 py-1.5 text-xs text-text-secondary hover:text-text-primary transition-colors rounded`,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:()=>t(r),className:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 transition-colors font-medium`,children:`OK`})]})]})]})}var CM=new Set;function wM(e,t){return`${e}:${t??``}`}var TM=new Map,EM=15e3;function DM(e,t){let n=Date.now();for(let[e,t]of TM)n-t>EM&&TM.delete(e);if(TM.delete(`${e}:${t??``}`)||t&&TM.delete(`${e}:`))return!0;if(!t){for(let t of TM.keys())if(t.startsWith(`${e}:`))return TM.delete(t),!0}return!1}var OM=new Set;function kM(e=!0){let t=(0,J.useRef)(null),n=(0,J.useCallback)(e=>{t.current?.send(JSON.stringify(e))},[]);return(0,J.useEffect)(()=>{if(!e)return;let r=Wn(),i=new dj(r?`/ws/extensions?token=${encodeURIComponent(r)}`:`/ws/extensions`);t.current=i,i.onMessage(e=>{let t;try{t=JSON.parse(e.data)}catch{return}let r=Pc.getState();switch(t.type){case`contributions:update`:if(r.setContributions(t.contributions),t.activationErrors){let e=r.activationErrors;r.setActivationErrors(t.activationErrors);for(let[n,r]of Object.entries(t.activationErrors))e[n]||B.error(`Extension "${n}" failed to activate: ${r}`)}break;case`statusbar:update`:r.addStatusBarItem(t.item);break;case`statusbar:remove`:r.removeStatusBarItem(t.itemId);break;case`tree:update`:t.parentId?r.updateTreeChildren(t.viewId,t.parentId,t.items):r.updateTree(t.viewId,t.items);break;case`tree:refresh`:r.removeTree(t.viewId);break;case`notification`:{let e=t.level===`error`?B.error:t.level===`warn`?B.warning:B.info;if(t.actions&&t.actions.length>0){let r={action:{label:t.actions[0],onClick:()=>n({type:`notification:action`,id:t.id,action:t.actions[0]??null})},onDismiss:()=>n({type:`notification:action`,id:t.id,action:null})};t.actions.length>1&&(r.cancel={label:t.actions[1],onClick:()=>n({type:`notification:action`,id:t.id,action:t.actions[1]??null})}),e(t.message,r)}else e(t.message);break}case`quickpick:show`:r.showQuickPick(t.items,t.options).then(e=>{n({type:`quickpick:resolve`,requestId:t.requestId,selected:e??null})});break;case`inputbox:show`:r.showInputBox(t.options).then(e=>{n({type:`inputbox:resolve`,requestId:t.requestId,value:e??null})});break;case`webview:create`:{let e=t.viewType.replace(/\.view$/,``),n=DM(e,t.projectPath);r.addWebviewPanel({id:t.panelId,extensionId:t.extensionId,viewType:t.viewType,title:t.title,html:``,projectName:t.projectName});let i=`extension:${e}`,a=W.getState(),o=Object.values(a.panels).flatMap(e=>e.tabs).filter(e=>e.id===i||e.id.startsWith(`${i}@`)),s=e=>e.metadata?.projectName,c=t.projectName?o.find(e=>s(e)===t.projectName)??o.find(e=>!s(e)):o[0];if(c)K.getState().updateTab(c.id,{title:t.title,metadata:{...c.metadata,viewType:e,panelId:t.panelId,extensionId:t.extensionId,...t.projectName&&{projectName:t.projectName}}}),n&&!OM.has(e)&&K.getState().setActiveTab(c.id),OM.delete(e);else if(n&&!CM.has(wM(e,t.projectName))){let n=K.getState().currentProject,r=t.projectName??n??void 0;K.getState().openTab({type:`extension`,title:t.title,projectId:null,closable:!0,metadata:{viewType:e,panelId:t.panelId,extensionId:t.extensionId,...r&&{projectName:r}}})}break}case`webview:html`:r.updateWebviewPanel(t.panelId,{html:t.html});break;case`webview:dispose`:r.removeWebviewPanel(t.panelId);break;case`webview:postMessage`:window.dispatchEvent(new CustomEvent(`ext:webview:message`,{detail:{panelId:t.panelId,message:t.message}}));break;case`tab:open`:K.getState().openTab({type:t.tabType,title:t.title,projectId:t.projectId??null,closable:t.closable??!0,metadata:t.metadata});break;case`project:switch`:K.getState().switchProject(t.projectName);break}});let a=e=>{let{panelId:t,message:n}=e.detail;i.send(JSON.stringify({type:`webview:message`,panelId:t,message:n}))};window.addEventListener(`ext:webview:send`,a);let o=e=>{let{viewId:t,itemId:n}=e.detail;i.send(JSON.stringify({type:`tree:expand`,viewId:t,itemId:n}))};window.addEventListener(`ext:tree:expand`,o);let s=e=>{let{command:t,args:n,recovery:r}=e.detail,a=t.replace(/\.view$/,``);for(let e of CM)e.startsWith(`${a}:`)&&CM.delete(e);let o=Array.isArray(n)&&typeof n[0]==`string`?n[0]:``;TM.set(`${a}:${o}`,Date.now()),r?OM.add(a):OM.delete(a),i.send(JSON.stringify({type:`command:execute`,command:t,args:n}))};window.addEventListener(`ext:command:execute`,s);let c=e=>{let{panelId:t,viewType:n,projectName:r}=e.detail;if(i.send(JSON.stringify({type:`webview:close`,panelId:t})),n){let e=wM(n.replace(/\.view$/,``),r);CM.add(e),setTimeout(()=>CM.delete(e),5e3)}};return window.addEventListener(`ext:webview:close`,c),i.connect(),()=>{window.removeEventListener(`ext:webview:send`,a),window.removeEventListener(`ext:tree:expand`,o),window.removeEventListener(`ext:command:execute`,s),window.removeEventListener(`ext:webview:close`,c),i.disconnect(),t.current=null}},[n,e]),{send:n}}function AM(e){let t=0,n=0,r=0,i=0;for(let a of e)n+=a.size,t+=a.state===`done`||a.state===`skipped`?a.size:Math.min(a.bytesLoaded,a.size),(a.state===`done`||a.state===`skipped`)&&r++,(a.state===`failed`||a.state===`cancelled`)&&i++;return{bytesLoaded:t,bytesTotal:n,doneCount:r,failedCount:i,totalCount:e.length}}function jM(e){if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(n>=10?0:1)} ${t[r]}`}function MM({item:e,onCancel:t}){let n=e.size>0?Math.min(100,Math.round(e.bytesLoaded/e.size*100)):0,r=e.state===`queued`||e.state===`uploading`,i=e.relativePath!==e.name;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1 px-3 py-2`,"data-testid":`upload-row`,"data-state":e.state,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`p`,{className:`truncate text-sm text-text`,children:e.name}),i&&(0,Y.jsx)(`p`,{className:`truncate text-xs text-text-2`,children:e.relativePath})]}),(0,Y.jsx)(`span`,{className:`shrink-0 text-xs text-text-2`,children:jM(e.size)}),r?(0,Y.jsx)(`button`,{type:`button`,"aria-label":`Cancel ${e.name}`,onClick:t,className:`flex size-11 shrink-0 items-center justify-center rounded-md can-hover:hover:bg-surface-elevated`,children:(0,Y.jsx)(he,{className:`size-4 text-text-2`})}):(0,Y.jsxs)(`span`,{className:`flex size-11 shrink-0 items-center justify-center`,"aria-label":e.state,children:[e.state===`done`&&(0,Y.jsx)(An,{className:`size-4 text-success`}),e.state===`skipped`&&(0,Y.jsx)(`span`,{className:`text-xs text-text-2`,children:`Skipped`}),(e.state===`failed`||e.state===`cancelled`)&&(0,Y.jsx)(yn,{className:`size-4 text-destructive`})]})]}),r&&(0,Y.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-surface-elevated`,children:(0,Y.jsx)(`div`,{className:U(`h-full rounded-full bg-primary transition-[width]`,e.state===`queued`&&`w-0 opacity-40`),style:e.state===`uploading`?{width:`${n}%`}:void 0})}),(e.state===`failed`||e.state===`cancelled`)&&(0,Y.jsx)(`p`,{className:`text-xs text-destructive`,children:e.state===`cancelled`?`Cancelled`:e.errorMessage??`Upload failed`})]})}function NM(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function PM({batch:e}){let t=rp(e=>e.cancelItem),n=rp(e=>e.cancelBatch),r=rp(e=>e.dismissBatch),i=AM(e.items),a=e.settled,o=i.bytesTotal>0?Math.round(i.bytesLoaded/i.bytesTotal*100):0;return(0,Y.jsxs)(`div`,{className:`w-full overflow-hidden rounded-lg border border-border bg-panel shadow-lg`,"data-testid":`upload-batch-card`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`p`,{className:`truncate text-sm font-medium text-text`,children:a?`${i.doneCount}/${i.totalCount} uploaded${i.failedCount>0?`, ${i.failedCount} failed`:``}`:`Uploading ${i.totalCount} item${i.totalCount===1?``:`s`}… ${o}%`}),(0,Y.jsxs)(`p`,{className:`truncate text-xs text-text-2`,children:[NM(i.bytesLoaded),` / `,NM(i.bytesTotal)]})]}),a?(0,Y.jsx)(q,{variant:`ghost`,size:`sm`,className:`h-11 shrink-0`,onClick:()=>r(e.id),children:`Close`}):(0,Y.jsx)(`button`,{type:`button`,"aria-label":`Cancel all`,onClick:()=>n(e.id),className:`flex size-11 shrink-0 items-center justify-center rounded-md can-hover:hover:bg-surface-elevated`,children:(0,Y.jsx)(he,{className:`size-4 text-text-2`})})]}),(0,Y.jsx)(`div`,{className:`max-h-64 divide-y divide-border overflow-y-auto`,children:e.items.map(n=>(0,Y.jsx)(MM,{item:n,onCancel:()=>t(e.id,n.id)},n.id))})]})}function FM(){return rp(Uu(e=>e.order.map(t=>e.batches[t]).filter(e=>e!=null)))}function IM(){let e=Ir(),t=FM(),[n,r]=(0,J.useState)(!1);if(t.length===0)return null;if(!e)return(0,Y.jsx)(`div`,{className:`fixed bottom-4 right-4 z-30 flex w-80 max-w-[calc(100vw-2rem)] flex-col gap-2`,"data-testid":`upload-progress-panel`,children:t.map(e=>(0,Y.jsx)(PM,{batch:e},e.id))});let i=t.filter(e=>!e.settled).length>0?`Uploading ${t.reduce((e,t)=>e+t.items.length,0)}…`:`Uploads finished`;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>r(!0),"data-testid":`upload-progress-pill`,className:`fixed bottom-20 right-3 z-30 flex h-11 items-center gap-2 rounded-full border border-border bg-panel px-4 text-sm text-text shadow-lg`,children:i}),(0,Y.jsx)(Hi,{open:n,onClose:()=>r(!1),className:`max-h-[70vh] overflow-y-auto p-2`,children:(0,Y.jsx)(`div`,{className:`flex flex-col gap-2 px-2 pb-2`,children:t.map(e=>(0,Y.jsx)(PM,{batch:e},e.id))})})]})}var LM=`ppm:chunk-reload`,RM=!1;function zM(){return RM}var BM=/dynamically imported module|importing a module script failed|failed to load module script|error loading chunk|expected a javascript(-or-wasm)? module script/i;function VM(e){if(!e)return!1;let t=e instanceof Error?`${e.name}: ${e.message}`:String(e);return BM.test(t)}async function HM(){if(!(typeof caches>`u`))try{let e=await caches.keys();await Promise.all(e.filter(e=>e.startsWith(`ppm-`)).map(e=>caches.delete(e)))}catch{}}async function UM(){try{sessionStorage.removeItem(LM)}catch{}RM=!0,await HM(),window.location.reload()}function WM(){let e;try{e=sessionStorage.getItem(LM)===`1`,sessionStorage.setItem(LM,`1`)}catch{return!1}return e?!1:(RM=!0,HM().then(()=>window.location.reload()),!0)}function GM(){window.addEventListener(`vite:preloadError`,()=>{WM()})}var KM={project:{title:`Choose a project`,action:`Choose project`,bodies:[`A project is a folder with the files you want to work on. Choose one on the computer running PPM, which may be different from your phone.`,`Choose or add a project to begin.`,`Select the workspace for this walkthrough.`],more:`Use the project picker to select an existing folder or add one. The tour never creates files or changes your project.`},chat:{title:`Open AI chat`,action:`Open chat`,bodies:[`Chat lets you ask an AI assistant about your project. Open a chat and choose an available AI provider.`,`Open a chat with your preferred available provider.`,`Open a provider-backed chat tab.`],more:`If no provider is ready, use the existing setup or retry controls, or open AI Settings. You can pause this guide and return after setup.`},send:{title:`Ask about your project`,action:`Use suggested question`,bodies:[`Ask AI to explain your project. You can use our suggested question or write your own, then press Send yourself.`,`Send a question and wait for a successful answer.`,`Complete one AI turn in this project.`],more:`The suggestion requests reading only; your provider's existing permissions still apply. Your draft is never replaced and nothing is sent automatically. Errors or interrupted replies do not complete this step.`},history:{title:`Find your conversation`,action:`Show conversation history`,bodies:[`Use the chat history menu to open the conversation you just had. This is how you return to your work later.`,`Reopen this conversation from the chat history menu.`,`Select the completed session in chat history.`],more:`Choose the conversation from the history menu above the chat, even if it is already open. If you skipped sending a message, you can skip this step too.`},file:{title:`Read a project file`,action:`Open files`,bodies:[`The file explorer shows your project's folders and files. Open any text file that you want to read.`,`Open any text file from the explorer.`,`Open any source, text or Markdown file.`],more:`This step completes when a text editor or Markdown Preview loads successfully. The filename does not matter. Images and databases are not part of this reading exercise. If the project is empty or has no readable files, skip this step or choose another project; no sample file is created automatically.`},search:{title:`Search your project`,action:`Open search`,bodies:[`Search helps you find words inside project files. Type at least two characters and look at the results.`,`Search file contents using at least two characters.`,`Run a project content search.`],more:`A successful search with no matches still counts. A failed request does not. Try a different word, retry an error, or open a result to read its file.`},terminal:{title:`Open the terminal`,action:`Open terminal`,bodies:[`A terminal runs commands on the computer hosting PPM. Open one and wait for it to connect; you do not need to type a command yet.`,`Open a terminal and wait for the shell to become ready.`,`Connect a terminal for this project.`],more:`The tour never types or executes commands. If connection fails, retry using the terminal controls or skip this step.`},git:{title:`View project changes`,action:`Open Git changes`,bodies:[`Git tracks changes in a project. Open its changes view to see whether files have changed.`,`Inspect the project's Git status.`,`Load the working-tree status.`],more:`A clean repository counts too. If the folder does not use Git, skip this step or choose another project. The tour never initializes a repository or commits changes.`},run:{title:`Find how to run the project`,action:`Find run instructions`,bodies:[`Open README or a package manifest and look for instructions to start the project. You can use those instructions in the terminal when you are ready.`,`Find the documented run instructions in README or a package manifest.`,`Inspect README or package scripts for the run command.`],more:`Find run instructions opens a README in the project root, or package.json if there is no readable README. README Preview counts too. After reading, confirm that you know where to find the instructions. This does not run the project. If no file is found, browse Files or skip this step.`}},qM=`Summarize this project and explain how to run it. Only read; do not edit files.`;function JM(e,t){let n=KM[e],r=t===`advanced`?2:t===`familiar`?1:0;return{title:n.title,body:n.bodies[r],more:n.more,action:n.action}}var YM=[{id:`beginner`,title:`I'm just getting started`,body:`One step at a time, with the basics explained.`,icon:hn},{id:`familiar`,title:`I've used similar tools`,body:`A quick introduction to finding your way around PPM.`,icon:hn},{id:`advanced`,title:`I'm a developer / advanced user`,body:`Go straight to the workspace and tools.`,icon:St}],XM=[{id:`ai`,title:`Work with AI`,body:`Ask about a project and find your conversation again.`,icon:kn},{id:`explore`,title:`Explore a project`,body:`Open a file and search through your project.`,icon:hn},{id:`developer`,title:`Use development tools`,body:`Find the terminal, Git changes and run instructions.`,icon:St}];function ZM({projectName:e}){let t=Jr(),n=(0,J.useRef)(document.activeElement),[r,i]=(0,J.useState)(`level`);return(0,Y.jsx)(Pi,{open:!0,onOpenChange:e=>{e||t.dismiss()},children:(0,Y.jsx)(Ai,{onCloseAutoFocus:e=>{e.preventDefault(),(n.current?.isConnected?n.current:document.querySelector(`aside[aria-label="PPM guided tour"] button`))?.focus()},className:`max-h-[90dvh] overflow-y-auto sm:max-w-[520px] p-5 sm:p-7`,children:(0,Y.jsxs)(Xr,{stepKey:r,order:r===`level`?0:1,className:`grid gap-4`,children:[(0,Y.jsxs)(`div`,{className:`text-xs font-medium tracking-widest uppercase text-primary`,children:[`Your first steps · `,r===`level`?`1`:`2`,` of 2`]}),(0,Y.jsx)(ji,{className:`text-2xl leading-tight`,children:r===`level`?`Make PPM feel familiar`:`What would you like to do first?`}),(0,Y.jsx)(Mi,{children:r===`level`?`Choose the amount of guidance that suits you. You can change this anytime.`:`Every path is available to you. Start with something useful.`}),(0,Y.jsx)(`div`,{className:`grid gap-3 mt-1`,children:r===`level`?YM.map(({id:e,title:n,body:r,icon:a})=>(0,Y.jsxs)(`button`,{onClick:()=>{t.chooseFamiliarity(e),i(`goal`)},className:`flex items-start gap-4 rounded-lg border border-border bg-surface p-4 text-left hover:border-primary focus-visible:outline-2 focus-visible:outline-primary`,children:[(0,Y.jsx)(a,{className:`size-5 shrink-0 text-primary mt-0.5`}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`span`,{className:`block font-medium text-sm`,children:n}),(0,Y.jsx)(`span`,{className:`block mt-1 text-sm text-text-secondary`,children:r})]})]},e)):XM.map(({id:n,title:r,body:i,icon:a})=>(0,Y.jsxs)(`button`,{onClick:()=>{t.chooseGoal(n),t.start(e)},className:`flex items-start gap-4 rounded-lg border border-border bg-surface p-4 text-left hover:border-primary focus-visible:outline-2 focus-visible:outline-primary`,children:[(0,Y.jsx)(a,{className:`size-5 shrink-0 text-primary mt-0.5`}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsxs)(`span`,{className:`block font-medium text-sm`,children:[r,n===`ai`&&(0,Y.jsx)(`span`,{className:`ml-2 text-xs text-primary`,children:`Suggested`})]}),(0,Y.jsx)(`span`,{className:`block mt-1 text-sm text-text-secondary`,children:i})]})]},n))}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[r===`goal`?(0,Y.jsxs)(q,{variant:`ghost`,className:`min-h-11`,onClick:()=>i(`level`),children:[(0,Y.jsx)(tn,{}),`Back`]}):(0,Y.jsx)(`span`,{}),(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 text-text-secondary`,onClick:t.dismiss,children:`I'll explore on my own`})]})]})})})}function QM(){let e=Jr(e=>e.projectName),t=Jr(e=>e.skip),[n,r]=(0,J.useState)(!1);return(0,J.useEffect)(()=>{let t=!1,n=0;if(r(!1),!e)return;let i=()=>{let i=++n;z.get(`${R(e)}/files/list`).then(e=>{!t&&i===n&&r(e.length===0)}).catch(()=>{!t&&i===n&&r(!1)})};return i(),window.addEventListener(`ppm:onboarding-refresh`,i),()=>{t=!0,window.removeEventListener(`ppm:onboarding-refresh`,i)}},[e]),n?(0,Y.jsxs)(`div`,{className:`mt-3 rounded-lg border border-border p-3`,role:`status`,children:[(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`No files are visible in this project yet. You can create your own files later or choose another project. Nothing needs to be created for this tour.`}),(0,Y.jsx)(q,{variant:`outline`,className:`w-full min-h-11 mt-2`,onClick:t,children:`Skip empty project step`}),(0,Y.jsx)(`p`,{className:`text-xs text-text-secondary mt-2`,children:`This step will be marked skipped, not completed.`})]}):(0,Y.jsx)(`p`,{className:`text-xs text-text-secondary mt-2`,children:`Choose any text file, such as .txt, .js, .py or .md. No README or package.json is required. Markdown Preview counts too. If there is no readable file, use Skip step.`})}function $M({collapsed:e,setCollapsed:t,onAction:n,onSettings:r}){let i=Jr(),[a,o]=(0,J.useState)(!1),s=ti(i.goal),c=i.currentStep;if(!c)return null;let l=JM(c,i.familiarity??`beginner`),u=s.indexOf(c);return(0,Y.jsxs)(`div`,{className:`p-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsxs)(`p`,{className:`text-[11px] uppercase tracking-widest text-primary font-medium`,children:[`Guided tour · `,u+1,` of `,s.length]}),(0,Y.jsx)(`h2`,{className:`font-semibold text-sm mt-1`,"aria-live":`polite`,children:l.title})]}),(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 min-w-11`,"aria-label":e?`Expand guide`:`Collapse guide`,onClick:()=>t(!e),children:e?(0,Y.jsx)(Ue,{}):(0,Y.jsx)(qe,{})}),(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 min-w-11`,"aria-label":`Pause tour`,onClick:i.pause,children:(0,Y.jsx)(he,{})})]}),!e&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex gap-1 mt-3 mb-4`,"aria-label":`Tour progress`,children:s.map(e=>(0,Y.jsx)(`span`,{className:`h-1 flex-1 rounded-full ${i.completed.includes(e)?`bg-primary`:i.skipped.includes(e)?`bg-text-subtle`:`bg-border`}`},e))}),(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed`,children:l.body}),c===`file`&&(0,Y.jsx)(QM,{}),c===`run`&&(0,Y.jsx)(`p`,{className:`text-xs text-text-secondary mt-2`,children:`Open README directly, or package.json if no README is available. README Preview counts too.`}),c===`run`&&i.runDocumentReady&&(0,Y.jsxs)(`p`,{className:`text-sm text-primary mt-2 flex items-center gap-1`,children:[(0,Y.jsx)(An,{className:`size-4`}),`Run instructions opened`]}),(0,Y.jsx)(q,{className:`w-full mt-4 min-h-11`,onClick:()=>n(c),children:c===`run`&&i.runDocumentReady?`I know where to run commands`:l.action}),(c===`chat`||c===`send`)&&(0,Y.jsx)(q,{variant:`ghost`,className:`w-full min-h-11 mt-1`,onClick:r,children:`AI settings`}),(0,Y.jsx)(`button`,{className:`text-xs text-primary py-3 min-h-11`,onClick:()=>o(!a),"aria-expanded":a,children:a?`Less explanation`:`Explain this step`}),a&&(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed mb-3`,children:l.more}),(0,Y.jsx)(q,{variant:`link`,className:`w-full min-h-11`,onClick:ei,children:`Quick orientation`}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border pt-2`,children:[(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 px-2`,disabled:u===0,onClick:i.back,children:`Back`}),(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 px-2`,onClick:i.changeChoices,children:`Change guide`}),(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 px-2`,onClick:i.skip,children:`Skip step`})]})]})]})}function eN(e){return Array.from(document.querySelectorAll(`[data-onboarding="${e}"]`)).find(e=>e.getClientRects().length>0&&e.getBoundingClientRect().width>0)}function tN({target:e,children:t,collapsed:n}){let r=Ir(),i=Ui(r),[a,o]=(0,J.useState)(null),s=(0,J.useRef)(null),[c,l]=(0,J.useState)(360);(0,J.useEffect)(()=>{if(!s.current)return;let e=new ResizeObserver(()=>l(s.current?.getBoundingClientRect().height??360));return e.observe(s.current),()=>e.disconnect()},[]),(0,J.useEffect)(()=>{if(!e||n){o(null);return}let t=()=>o(eN(e)?.getBoundingClientRect()??null);t();let r=window.setInterval(t,500);return window.addEventListener(`resize`,t),window.addEventListener(`scroll`,t,!0),()=>{clearInterval(r),window.removeEventListener(`resize`,t),window.removeEventListener(`scroll`,t,!0)}},[e,n]);let u=!r&&a&&a.right+380<window.innerWidth?a.right+12:void 0,d=n?48:!r&&a?Math.max(16,Math.min(u===void 0?a.top-c-12:a.top,window.innerHeight-c-44)):void 0;return(0,Y.jsxs)(Y.Fragment,{children:[a&&!r&&!n&&(0,Y.jsx)(`div`,{"aria-hidden":!0,className:`fixed pointer-events-none z-[59] rounded-md border-2 border-primary`,style:{left:a.left,top:a.top,width:a.width,height:a.height}}),(0,Y.jsx)(`aside`,{ref:s,"aria-label":`PPM guided tour`,className:`fixed z-[60] overflow-x-hidden rounded-xl border border-border bg-background text-foreground shadow-xl`,style:{width:r?`calc(100% - 24px)`:352,maxWidth:`calc(100vw - 24px)`,left:r?12:u,right:r||u!==void 0?void 0:20,top:d,bottom:d===void 0?r?(i?.keyboardInset??0)+60:44:void 0,maxHeight:r?`min(48dvh, 370px)`:`calc(100dvh - 80px)`,overflowY:`auto`},children:t})]})}function nN(e){let{status:t,currentStep:n,projectName:r,sessionId:i}=Jr();(0,J.useEffect)(()=>{if(t!==`active`||n!==`history`||!r||!i)return;let a=!1;return(async()=>{let t=0;for(let n=0;n<10;n++){let n=await z.get(`${R(r)}/chat/sessions?limit=100&offset=${t}`);if(a||n.sessions.some(e=>e.id===i))return;if(!n.hasMore){Jr.setState(e=>e.status===`active`&&e.sessionId===i&&e.currentStep===`history`?{currentStep:`chat`,sessionId:null,attempt:null,completed:e.completed.filter(e=>e===`project`),skipped:[]}:{}),e(`That conversation is no longer available. Open a chat to try again, or skip this step.`);return}t+=n.sessions.filter(e=>!e.pinned).length}a||e(`Open chat history to find the conversation, or skip this step.`)})().catch(()=>{a||e(`History could not be checked. Try the history menu again when connected, or pause the tour.`)}),()=>{a=!0}},[t,n,r,i,e])}function rN(e){let t=e.filter(e=>e.type===`file`).map(e=>e.name);return[`readme.md`,`readme.markdown`,`readme.txt`,`readme`,`readme.rst`,`package.json`].map(e=>t.find(t=>t.toLowerCase()===e)).find(Boolean)}async function iN(e,t){let n=await z.get(`${R(e)}/files/list`);if(!t())return`stale`;let r=rN(n);return r?(K.getState().openTab({type:`editor`,title:r,projectId:e,metadata:{projectName:e,filePath:r},closable:!0}),requestAnimationFrame(()=>window.dispatchEvent(new Event(`ppm:onboarding-refresh`))),`opened`):`missing`}function aN({openProjects:e,openNavigation:t,closeNavigation:n,paletteOpen:r=!1,navigationOpen:i=!1}){let a=Jr(),o=G(e=>e.activeProject),s=Ir(),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(!1);(0,J.useEffect)(()=>{let e=()=>p(!0);return window.addEventListener(ni,e),()=>window.removeEventListener(ni,e)},[]),nN(d),(0,J.useEffect)(()=>{let e=e=>Jr.getState().observe(e.detail);return window.addEventListener(Np,e),()=>window.removeEventListener(Np,e)},[]),(0,J.useEffect)(()=>{a.setProjectContext(o?.name??null)},[o?.name,a.setProjectContext]),(0,J.useEffect)(()=>{if(a.status!==`active`)return;d(``),l(!1);let e=window.setTimeout(()=>window.dispatchEvent(new Event(`ppm:onboarding-refresh`)),50);return()=>clearTimeout(e)},[a.status,a.currentStep]),(0,J.useEffect)(()=>{if(a.status!==`active`||f||r)return;let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&Jr.getState().pause()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a.status,f,r]);function m(e){if(s)t(e),l(!0);else{let t=V.getState();t.sidebarCollapsed&&t.toggleSidebar(),t.setSidebarActiveTab(e)}}function h(e){if(!o){a.setProjectContext(null);return}n();let t=K.getState();t.tabs.find(n=>n.id===t.activeTabId&&n.type===e&&n.projectId===o.name)||t.openTab({type:e,title:e===`chat`?`New Chat`:`Terminal - ${o.name}`,projectId:o.name,metadata:{projectName:o.name},closable:!0}),window.setTimeout(()=>window.dispatchEvent(new Event(`ppm:onboarding-refresh`)),50),s&&l(!0)}function g(t){if(t===`project`)if(s)e(),l(!0);else{let e=V.getState();e.sidebarCollapsed&&e.toggleSidebar(),window.setTimeout(()=>eN(`project`)?.click(),0)}else if(t===`run`){if(!o){d(`Choose a project first, or skip this step.`);return}if(a.runDocumentReady){a.observe({type:`run-acknowledged`,projectName:o.name,visible:!0});return}let e=o.name,t=()=>{let t=Jr.getState();return t.status===`active`&&t.currentStep===`run`&&t.projectName===e&&G.getState().activeProject?.name===e};d(`Looking for README or package.json…`),iN(e,t).then(e=>{t()&&(e===`missing`?d(`No README or package.json found in the project root. Browse Files to find other documentation, or skip this step.`):e===`opened`&&(n(),l(!0),d(``)))}).catch(()=>{t()&&d(`Could not find run instructions. Click Find run instructions to retry, or skip this step.`)})}else if(t===`file`)m(`explorer`);else if(t===`search`||t===`git`)m(t);else if(t===`chat`||t===`terminal`)h(t);else if(t===`send`&&o)window.dispatchEvent(new CustomEvent(`ppm:onboarding-prompt`,{detail:{projectName:o.name,text:qM}})),d(`Review the question in chat, then send it yourself. If you already have a draft, it stays unchanged.`),l(!0);else if(t===`history`){let e=eN(`chat-history`);e?(e.click(),l(!0)):d(`Open the chat you used, then choose its history menu. You can skip if no conversation was created.`)}}return r||s&&i&&c&&a.status===`active`?null:f?(0,Y.jsx)(Qr,{onClose:()=>p(!1),onTryPalette:()=>{p(!1),l(!0),requestAnimationFrame(()=>Rc())}}):a.status===`dismissed`?null:a.status===`choosing`?(0,Y.jsx)(ZM,{projectName:o?.name}):(0,Y.jsx)(tN,{collapsed:c,target:a.status===`active`&&a.currentStep?$r[a.currentStep]:void 0,children:(0,Y.jsx)(Xr,{stepKey:a.status===`active`?a.currentStep??`project`:a.status,order:a.status===`finished`?100:a.status===`active`?ti(a.goal).indexOf(a.currentStep)+1:0,children:a.status===`active`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($M,{collapsed:c,setCollapsed:l,onAction:g,onSettings:()=>{Ic(`ai-provider`),l(!0)}}),u&&!c&&(0,Y.jsx)(`p`,{role:`status`,className:`px-4 pb-4 text-xs text-text-secondary`,children:u})]}):(0,Y.jsxs)(`div`,{className:`p-5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-primary text-xs uppercase tracking-widest`,children:[(0,Y.jsx)(hn,{className:`size-4`}),`Your first steps`]}),(0,Y.jsx)(`h2`,{className:`font-semibold text-lg mt-2`,children:a.status===`finished`?`Your walkthrough is complete`:a.status===`paused`?`Continue when you're ready`:`Get started with PPM`}),(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed mt-2`,children:a.status===`finished`?`${a.completed.length} steps completed${a.skipped.length?` · ${a.skipped.length} skipped`:``}. Choose another path, or keep exploring.`:a.status===`paused`?`Your progress is saved in this browser. Resume here or choose a different guide.`:`Choose a guide that fits your experience, then try your first task.`}),(0,Y.jsx)(q,{className:`w-full min-h-11 mt-4`,onClick:()=>{l(!1),a.status===`paused`?a.resume(o?.name??null):a.status===`finished`?a.replay():a.begin()},children:a.status===`paused`?`Resume tour`:a.status===`finished`?`Try another guide`:`Start guided tour`}),(0,Y.jsx)(q,{variant:`ghost`,className:`w-full min-h-11 mt-1`,onClick:a.dismiss,children:a.status===`finished`?`Keep exploring`:`Maybe later`}),(0,Y.jsx)(q,{variant:`link`,className:`w-full min-h-11`,onClick:()=>p(!0),children:`Quick orientation`})]})})})}var oN=(0,J.lazy)(()=>H(()=>import(`./mobile-explorer-sheet-BTNZ26Fd.js`).then(e=>({default:e.MobileExplorerSheet})),__vite__mapDeps([192,1,2,3,4,82,7,27,8,10,36,11,54,55,56,12,13,14,35,58,41,16,21,18,25,9,83,44,39]))),sN=(0,J.lazy)(()=>H(()=>import(`./team-member-sheet-pTyGJL8v.js`).then(e=>({default:e.TeamMemberSheet})),__vite__mapDeps([193,1,2,3,4,34,10,11,35,12,7,13,14,16]))),cN=(0,J.lazy)(()=>H(()=>import(`./remote-desktop-mobile-sheet-Dwx3wwZ2.js`).then(e=>({default:e.RemoteDesktopMobileSheet})),__vite__mapDeps([194,1,2,3,4,8,9,10,11,89,16,17,18,7,13])));function lN(){let[e,t]=(0,J.useState)(`checking`),n=Ir(),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(),[s,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)(()=>new Set([`__global__`]));KS(),(0,J.useEffect)(()=>{ZO(),WO(),BA()},[]);let d=V(e=>e.deviceName),f=G(e=>e.fetchProjects),p=V(e=>e.fetchServerInfo),m=G(e=>e.activeProject),h=(0,J.useRef)(r_());(0,J.useEffect)(()=>{p()},[p,e===`authenticated`]),(0,J.useEffect)(()=>{async function e(){let e=Wn();try{let n={};e&&(n.Authorization=`Bearer ${e}`),(await(await fetch(`/api/auth/check`,{headers:n})).json()).ok?t(`authenticated`):t(`unauthenticated`)}catch{t(`unauthenticated`)}}e()},[]),u_();let{paletteOpen:g,paletteInitialQuery:_,closePalette:v}=zc();QA(),tj(),vj(),kM(e===`authenticated`),pj(e===`authenticated`,m?.name),cj(),(0,J.useEffect)(()=>{if(e!==`authenticated`)return;let t=e=>{zM()||e.preventDefault()};return window.addEventListener(`beforeunload`,t),()=>window.removeEventListener(`beforeunload`,t)},[e]),(0,J.useEffect)(()=>{e===`authenticated`&&(H(async()=>{let{useKeybindingsStore:e}=await import(`./keybindings-store-BRiD4H8E.js`);return{useKeybindingsStore:e}},__vite__mapDeps([195,3,1,4,8])).then(({useKeybindingsStore:e})=>{e.getState().loadFromServer()}),G.getState().hydrateUiPrefs())},[e]),(0,J.useEffect)(()=>{e===`authenticated`&&f().then(async()=>{let e=h.current,{projects:t,customOrder:n}=G.getState();if(t.length===0)return;let r=e.projectName?t.find(t=>t.name===e.projectName):void 0;if(r||=mr(t,n)[0],r&&(await Zn(r.name),G.getState().setActiveProject(r),K.getState().switchProject(r.name),e.tabType&&l_(e.tabType,e.tabIdentifier,r.name),e.openChat)){l_(`chat`,e.openChat,r.name);let t=new URL(window.location.href);t.searchParams.delete(`openChat`),window.history.replaceState(null,``,t.pathname)}})},[e,f]),(0,J.useEffect)(()=>{let e=m?.name??`__global__`,t=!1;return(async()=>{e!==`__global__`&&!localStorage.getItem(`ppm-panels-${e}`)&&(await Zn(e),t)||K.getState().switchProject(e)})(),()=>{t=!0}},[m?.name]),(0,J.useEffect)(()=>{e!==`authenticated`||!m?.name||H(async()=>{let{useNotificationStore:e}=await import(`./notification-store-B7U7DTsB.js`);return{useNotificationStore:e}},__vite__mapDeps([196,3,1,4,8])).then(({useNotificationStore:e})=>{e.getState().loadFromServer(m.name)})},[e,m?.name]),(0,J.useEffect)(()=>{let e=m?.name??`__global__`;u(t=>t.has(e)?t:new Set([...t,e]))},[m?.name]),(0,J.useEffect)(()=>{e===`authenticated`&&!m&&K.getState().switchProject(`__global__`)},[e,m]);let y=(0,J.useCallback)(()=>{t(`authenticated`)},[]);if(e===`checking`)return(0,Y.jsx)(`div`,{className:`app-backdrop min-h-dvh flex items-center justify-center`,children:(0,Y.jsx)(`div`,{className:`animate-pulse text-text-secondary text-sm`,children:`Loading...`})});if(e===`unauthenticated`)return(0,Y.jsx)(GS,{onSuccess:y});let b=m?.name??`__global__`;return(0,Y.jsx)(ga,{children:(0,Y.jsxs)(`div`,{className:`app-backdrop h-dvh flex flex-col text-foreground overflow-hidden relative`,children:[(0,Y.jsx)(`div`,{className:`fixed z-50 overflow-hidden pointer-events-none max-md:right-0 max-md:top-0 md:left-0 md:top-0 w-10 h-10`,children:(0,Y.jsx)(`div`,{className:`absolute flex items-center justify-center max-md:rotate-45 max-md:right-[-18px] max-md:top-[4px] md:-rotate-45 md:left-[-18px] md:top-[4px] w-[60px] bg-warning text-white text-[6px] font-bold leading-none py-[2.5px] shadow-sm`,children:`BETA`})}),d&&(0,Y.jsx)(`div`,{className:`md:hidden fixed left-0 top-0 z-50 px-2 py-0.5 bg-primary/80 text-primary-foreground text-[10px] font-medium rounded-br`,children:d}),(0,Y.jsx)(ky,{}),(0,Y.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,Y.jsx)(Sv,{}),(0,Y.jsxs)(`div`,{className:`relative flex-1 flex flex-col overflow-hidden`,children:[[...l].map(e=>(0,Y.jsx)(`div`,{className:U(`flex-1 overflow-hidden pb-12 md:pb-0`,b!==e&&`hidden`),children:(0,Y.jsx)(Pu,{projectName:e})},e)),(0,Y.jsx)(ou,{}),(0,Y.jsx)(jy,{}),(0,Y.jsx)(hS,{})]})]}),(0,Y.jsx)(xS,{onMenuPress:()=>i(!0),onProjectsPress:()=>c(!0)}),(0,Y.jsx)(AS,{isOpen:r,onClose:()=>{i(!1),o(void 0)},initialTab:a}),(0,Y.jsx)(jS,{isOpen:s,onClose:()=>c(!1)}),(0,Y.jsx)(aN,{paletteOpen:g,navigationOpen:r||s,openProjects:()=>c(!0),openNavigation:e=>{o(e),i(!0)},closeNavigation:()=>{i(!1),c(!1)}}),(0,Y.jsx)(Hj,{open:g,onClose:v,initialQuery:_}),(0,Y.jsx)(Wj,{}),(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(oN,{})}),(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(sN,{})}),(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(cN,{})}),(0,Y.jsx)(zS,{}),(0,Y.jsx)(Gj,{}),(0,Y.jsx)(eM,{}),(0,Y.jsx)(lM,{}),(0,Y.jsx)(mM,{}),(0,Y.jsx)(yM,{}),(0,Y.jsx)(xM,{}),(0,Y.jsx)(vM,{}),(0,Y.jsx)(IM,{}),(0,Y.jsx)(ma,{position:n?`top-center`:`bottom-left`,closeButton:!0,toastOptions:{className:`bg-surface border-border text-foreground`}})]})})}var uN={minHeight:`100dvh`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`24px`,background:`var(--bg-solid, #0a0e17)`,color:`var(--text, #eaeefb)`,font:`16px/1.5 system-ui, sans-serif`},dN={width:`100%`,maxWidth:`440px`,background:`var(--panel, #141820)`,border:`1px solid var(--border, rgba(255,255,255,0.12))`,borderRadius:`var(--rad, 18px)`,padding:`24px`},fN={minHeight:`44px`,width:`100%`,marginTop:`20px`,padding:`0 20px`,border:`none`,borderRadius:`var(--rad-sm, 12px)`,background:`var(--accent, #5b8cff)`,color:`var(--accent-fg, #fff)`,font:`inherit`,fontWeight:600,cursor:`pointer`},pN={marginTop:`16px`,maxHeight:`8lh`,overflow:`auto`,color:`var(--text-2, #9aa6c2)`,fontFamily:`ui-monospace, monospace`,fontSize:`13px`,whiteSpace:`pre-wrap`,wordBreak:`break-word`},mN=class extends J.Component{state={error:null,stale:!1};static getDerivedStateFromError(e){return{error:e,stale:VM(e)}}componentDidCatch(e,t){console.error(`[ppm] unhandled render error`,e,t.componentStack)}render(){let{error:e,stale:t}=this.state;return e?(0,Y.jsx)(`div`,{style:uN,children:(0,Y.jsxs)(`div`,{style:dN,role:`alert`,children:[(0,Y.jsx)(`h1`,{style:{margin:0,fontSize:`18px`,fontWeight:600},children:t?`PPM has been updated`:`Something went wrong`}),(0,Y.jsx)(`p`,{style:{margin:`12px 0 0`,color:`var(--text-2, #9aa6c2)`},children:t?`This tab is still running an older version and asked for a file that no longer exists. Reloading picks up the new one.`:`The page could not finish rendering. Reloading usually clears it.`}),!t&&(0,Y.jsx)(`div`,{style:pN,children:e.message}),(0,Y.jsx)(`button`,{type:`button`,style:fN,onClick:()=>void UM(),children:`Reload`})]})}):this.props.children}};if(typeof Node<`u`){let e=Node.prototype.removeChild;Node.prototype.removeChild=function(t){try{return e.call(this,t)}catch(e){if(e instanceof DOMException&&e.name===`NotFoundError`)return t;throw e}};let t=Node.prototype.insertBefore;Node.prototype.insertBefore=function(e,n){try{return t.call(this,e,n)}catch(t){if(t instanceof DOMException&&t.name===`NotFoundError`)return e;throw t}}}window.__ppmEntryRan=!0,GM(),(0,pa.createRoot)(document.getElementById(`root`)).render((0,Y.jsx)(J.StrictMode,{children:(0,Y.jsx)(mN,{children:(0,Y.jsx)(lN,{})})}));export{Dm as $,Su as $t,Ug as A,va as An,Dd as At,xg as B,yd as Bt,ty as C,Es as Cn,mf as Ct,C_ as D,ms as Dn,Hd as Dt,mv as E,hs as En,Vd as Et,Vg as F,Sd as Ft,vh as G,mu as Gt,Ph as H,Uu as Ht,zg as I,bd as It,eh as J,_u as Jt,Xm as K,hu as Kt,Bg as L,Cd as Lt,Fg as M,Q as Mt,Kg as N,$ as Nt,y_ as O,_a as On,zd as Ot,Gg as P,xd as Pt,Nm as Q,Cu as Qt,Wg as R,Td as Rt,Zv as S,Ts as Sn,Sf as St,Kv as T,Cs as Tn,df as Tt,Sh as U,du as Ut,Rh as V,pd as Vt,_h as W,gu as Wt,Zm as X,bu as Xt,Qm as Y,vu as Yt,Ym as Z,xu as Zt,BS as _,Is as _n,Kf as _t,jj as a,Yc as an,Fp as at,$v as b,bs as bn,Tf as bt,$A as c,Pc as cn,yp as ct,xA as d,Oc as dn,fp as dt,pu as en,tm as et,qO as f,kc as fn,lp as ft,oE as g,Ls as gn,Gf as gt,cE as h,Vs as hn,Jf as ht,Mj as i,Sl as in,$p as it,Rg as j,aa as jn,vd as jt,Jg as k,ya as kn,Nd as kt,NA as l,Tc as ln,vp as lt,KO as m,Nc as mn,Yf as mt,aM as n,Z as nn,em as nt,wj as o,Rc as on,Pp as ot,UO as p,Dc as pn,$f as pt,$m as q,yu as qt,Kj as r,Al as rn,Qp as rt,dj as s,Ic as sn,Dp as st,dM as t,Zl as tn,nm as tt,EA as u,Ac as un,pp as ut,Zy as v,Fs as vn,Wf as vt,Qv as w,ws as wn,pf as wt,ey as x,Ss as xn,Cf as xt,iy as y,Ds as yn,Hf as yt,Lg as z,wd as zt};
52
+ </svg>`}var KA=e=>`data:image/svg+xml,${encodeURIComponent(e)}`,qA=[KA(WA(!1)),KA(WA(!0))],JA=[0,1,2,-1].map(e=>[KA(GA(e,!1)),KA(GA(e,!0))]),YA=JA.length;function XA(e,t=null){let n=document.getElementById(`ppm-favicon`);if(!n)return;let r=e?1:0;t===null?n.href=qA[r]:n.href=JA[(t%YA+YA)%YA][r]}function ZA(e,t,n){let r=[t,n||null,`PPM`].filter(Boolean).join(` - `);return e>0?`(${e}) ${r}`:r}function QA(){let e=G(e=>e.activeProject),t=V(e=>e.deviceName),n=e?.name,r=ri(Zr(n)),i=(0,J.useRef)(null);(0,J.useEffect)(()=>{let e=()=>Ts(n)(Cs.getState()),a=()=>e()>0,o=()=>{document.title=ZA(e(),n,t??void 0)};if(o(),r){let e=0;XA(a(),e),i.current=setInterval(()=>{e=(e+1)%YA,XA(a(),e)},300)}else XA(a());let s=Cs.subscribe(()=>{o(),r||XA(a())});return()=>{s(),i.current&&=(clearInterval(i.current),null)}},[n,t,r])}function $A(){return typeof navigator<`u`&&`wakeLock`in navigator?`ok`:typeof window<`u`&&window.isSecureContext===!1?`insecure`:`unsupported`}function ej(e){let t=null,n=!1,r=!1,i=async()=>{if(!(n||t||r||!e.isVisible())){r=!0;try{let r=await e.request();if(n){r.release().catch(()=>{});return}t=r,r.addEventListener(`release`,()=>{t===r&&(t=null),n||e.onActive(!1)}),e.onActive(!0)}catch{e.onActive(!1)}finally{r=!1}}},a=e.onVisibilityChange(()=>{if(e.isVisible()){i();return}t=null,e.onActive(!1)});return i(),()=>{n=!0,a(),e.onActive(!1);let r=t;t=null,r&&r.release().catch(()=>{})}}function tj(){let e=ri(e=>e.sessions.size>0),t=V(e=>e.keepScreenAwake);(0,J.useEffect)(()=>{if(!t||!e||$A()!==`ok`)return;let n=navigator.wakeLock;return ej({request:()=>n.request(`screen`),isVisible:()=>document.visibilityState===`visible`,onVisibilityChange:e=>(document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)),onActive:e=>Ty.getState().setActive(e)})},[t,e])}var nj=`chat`;function rj(e,t,n){if(n<=0)return[];let r=[];for(let n of Object.values(e)){let e=new Map(n.tabs.map(e=>[e.id,e.type])),i=new Set,a=[],o=n.tabHistory??[];for(let n=o.length-1;n>=0;n--){let r=o[n];i.has(r)||t.has(r)||e.get(r)===nj&&(i.add(r),a.push(r))}a.length>0&&r.push(a)}let i=[],a=new Set;for(let e=0;i.length<n;e++){let t=!1;for(let o of r){if(i.length>=n)break;let r=o[e];r!==void 0&&(t=!0,!a.has(r)&&(a.add(r),i.push(r)))}if(!t)break}return i}var ij=3,aj=2500,oj=1200;function sj(e,t){let n,r=window,i=setTimeout(()=>{r.requestIdleCallback?n=r.requestIdleCallback(e,{timeout:2e3}):e()},t);return{cancel:()=>{clearTimeout(i),n!==void 0&&r.cancelIdleCallback?.(n)}}}function cj(){let e=Ir();(0,J.useEffect)(()=>{if(e)return;let t=!1,n=ij,r=null,i=()=>{r?.cancel(),r=null},a=()=>{if(r=null,t||n<=0)return;let{panels:e}=W.getState(),{mounted:i,mount:a}=Wl.getState(),[s]=rj(e,i,1);s&&(a(s),n--,o(oj))},o=e=>{t||n<=0||(i(),r=sj(a,e))},s=W.subscribe((e,t)=>{if(e.panels!==t.panels){for(let n of Object.keys(e.panels))if(n in t.panels&&e.panels[n]?.activeTabId!==t.panels[n]?.activeTabId){o(aj);return}}});return o(aj),()=>{t=!0,i(),s()}},[e,W(e=>e.currentProject)])}var lj=3e4,uj=1e3,dj=class{ws=null;url;handlers=[];reconnectAttempts=0;reconnectTimer=null;intentionalClose=!1;pendingMessages=[];visibilityHandler=null;idleTimer=null;lastReceivedAt=0;connected=!1;constructor(e,t={}){this.options=t,this.url=e,this.visibilityHandler=()=>{let e=this.ws?.readyState,t=!!this.options.idleTimeoutMs&&Date.now()-this.lastReceivedAt>=this.options.idleTimeoutMs;document.visibilityState===`visible`&&!this.intentionalClose&&(t||e!==WebSocket.OPEN&&e!==WebSocket.CONNECTING)&&(this.reconnectAttempts=0,this.connect())},document.addEventListener(`visibilitychange`,this.visibilityHandler)}connect(){this.intentionalClose=!1,this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=null,this.cleanup();let e=window.location.protocol===`https:`?`wss:`:`ws:`,t=this.url.startsWith(`ws`)?this.url:Zi(this.url),n;n=t.startsWith(`ws`)?t:`${e}//${window.location.host}${t}`,this.ws=new WebSocket(n),this.lastReceivedAt=Date.now(),this.armIdleCheck(),this.ws.onopen=()=>{this.reconnectAttempts=0,this.lastReceivedAt=Date.now(),this.setConnected(!0);try{this.ws?.send(JSON.stringify({type:`ready`}))}catch{}if(this.pendingMessages.length>0){console.log(`[ws] flushing ${this.pendingMessages.length} queued message(s)`);for(let e of this.pendingMessages)try{this.ws?.send(e)}catch{}this.pendingMessages=[]}},this.ws.onmessage=e=>{this.lastReceivedAt=Date.now();for(let t of this.handlers)t(e)},this.ws.onclose=()=>{this.clearIdleCheck(),this.setConnected(!1),this.intentionalClose||this.scheduleReconnect()},this.ws.onerror=()=>{this.ws?.close()}}disconnect(){this.intentionalClose=!0,this.pendingMessages=[],this.cleanup(),this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.visibilityHandler&&=(document.removeEventListener(`visibilitychange`,this.visibilityHandler),null)}send(e){this.ws?.readyState===WebSocket.OPEN?this.ws.send(e):this.intentionalClose?console.warn(`[ws] message dropped — WS intentionally closed`):(console.warn(`[ws] WS not open (readyState=${this.ws?.readyState??`no-ws`}) — queuing message`),this.pendingMessages.push(e))}onMessage(e){return this.handlers.push(e),()=>{this.handlers=this.handlers.filter(t=>t!==e)}}get isConnected(){return this.ws?.readyState===WebSocket.OPEN}cleanup(){this.clearIdleCheck(),this.setConnected(!1),this.ws&&=(this.ws.onopen=null,this.ws.onclose=null,this.ws.onmessage=null,this.ws.onerror=null,(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING)&&this.ws.close(),null)}scheduleReconnect(){this.reconnectTimer&&clearTimeout(this.reconnectTimer);let e=Math.min(uj*2**this.reconnectAttempts,lj);this.reconnectAttempts++,this.reconnectTimer=setTimeout(()=>this.connect(),e)}setConnected(e){this.connected!==e&&(this.connected=e,this.options.onConnectionChange?.(e))}clearIdleCheck(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null}armIdleCheck(){this.clearIdleCheck();let e=this.options.idleTimeoutMs;if(!e||e<=0||!Number.isFinite(e))return;let t=Math.max(0,e-(Date.now()-this.lastReceivedAt));this.idleTimer=setTimeout(()=>{this.idleTimer=null,!this.intentionalClose&&(Date.now()-this.lastReceivedAt>=e?this.connect():this.armIdleCheck())},t)}};async function fj(){try{let e=await z.get(`/api/chat/sessions/running`);ri.getState().replaceAllStreaming(e)}catch{}}function pj(e,t){let n=(0,J.useRef)(null),r=(0,J.useRef)(t);r.current=t,(0,J.useEffect)(()=>{if(!e)return;let t=Wn(),i=new dj(`/ws/global${t?`?token=${encodeURIComponent(t)}`:``}`);n.current=i;let a=i.onMessage(e=>{let t;try{t=JSON.parse(e.data)}catch{return}let n=t.type;if(typeof n==`string`){if(n===`global_ready`){r.current&&i.send(JSON.stringify({type:`watch`,projectName:r.current})),fj();return}if(n===`file:changed`){window.dispatchEvent(new CustomEvent(`file:changed`,{detail:t}));return}if(n===`session:unread_changed`){let e=t;Cs.getState().handleUnreadChanged(e.sessionId,e.unreadCount,e.unreadType,e.projectName,e.sessionTitle,e.manual);return}if(n===`session:phase_changed`){let e=t;ri.getState().setStreaming(e.sessionId,e.phase!==`idle`,e.projectName);return}if(n===`session:migrated`){let e=t;ri.getState().dropSession(e.oldSessionId);return}(n.startsWith(`jira:`)||n.startsWith(`tunnel:`))&&window.dispatchEvent(new CustomEvent(n,{detail:t}))}});return i.connect(),()=>{a(),i.disconnect(),n.current=null}},[e]),(0,J.useEffect)(()=>{!e||!t||(n.current?.send(JSON.stringify({type:`watch`,projectName:t})),fj())},[e,t])}var mj=15e3,hj=Gn((e,t)=>({isDown:!1,downSince:null,showOverlay:!1,markDown:()=>{let{downSince:n}=t(),r=Date.now(),i=n??r;e({isDown:!0,downSince:i,showOverlay:r-i>=mj})},markUp:()=>{e({isDown:!1,downSince:null,showOverlay:!1})}})),gj=1e4,_j=2e3;function vj(){(0,J.useEffect)(()=>{let e=!1,t,{markDown:n,markUp:r}=hj.getState();async function i(){try{let t=await fetch(`/api/health`,{cache:`no-store`});if(t.ok&&e){if(r(),`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload();return}t.ok&&r(),e=!1}catch{e=!0,n()}t=setTimeout(i,e?_j:gj)}return t=setTimeout(i,gj),()=>clearTimeout(t)},[])}var yj=`(pointer: coarse) and (hover: none)`;function bj(){return typeof window<`u`&&window.matchMedia?window.matchMedia(yj):null}function xj(e){let t=bj();return t?.addEventListener?.(`change`,e),()=>t?.removeEventListener?.(`change`,e)}function Sj(){return bj()?.matches??!1}function Cj(){return!1}function wj(){return(0,J.useSyncExternalStore)(xj,Sj,Cj)}function Tj(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>=0?e.slice(t+1):e}function Ej(e,t){let n=0,r=0,i=-1;for(let a=0;a<e.length;a++){if(n=t.indexOf(e[a],n),n===-1)return-1;i>=0&&(r+=n-i-1),i=n,n++}return r}function Dj(e,t,n,r,i){if(e.includes(` `)){let a=e.split(/\s+/).filter(Boolean);if(a.length===0)return null;if(a.length===1)return Dj(a[0],t,n,r,i);let o=0,s=0;for(let e of a){let a=Dj(e,t,n,r,i);if(!a)return null;o=Math.max(o,a.tier),s+=a.offset}return{tier:o,offset:s,nameLen:r,depth:i}}if(t===e)return{tier:0,offset:0,nameLen:r,depth:i};if(t.startsWith(e))return{tier:1,offset:0,nameLen:r,depth:i};let a=t.indexOf(e);if(a>=0)return{tier:2,offset:a,nameLen:r,depth:i};let o=n.indexOf(e);if(o>=0)return{tier:3,offset:o,nameLen:r,depth:i};let s=Ej(e,t);if(s>=0)return{tier:4,offset:s,nameLen:r,depth:i};let c=Ej(e,n);return c>=0?{tier:5,offset:c,nameLen:r,depth:i}:null}function Oj(e,t,n){let r=n.toLowerCase();return Dj(e.toLowerCase(),Tj(r),r,t.length,n.split(`/`).length)}function kj(e,t){return e.tier-t.tier||e.offset-t.offset||e.nameLen-t.nameLen||e.depth-t.depth}var Aj=/^(.*?)(?::(\d+)(?::\d+|-(\d+))?|#L(\d+)(?:-L?(\d+))?)$/;function jj(e){let t=e.match(Aj);if(!t)return{path:e};let n=Number(t[2]??t[4]),r=t[3]??t[5];if(!Number.isSafeInteger(n)||n<1)return null;if(r!==void 0){let e=Number(r);return!Number.isSafeInteger(e)||e<n?null:{path:t[1],line:{start:n,end:e}}}return{path:t[1],line:{start:n}}}function Mj(e,t){return t?`${e}:${t.start}${t.end?`-${t.end}`:``}`:e}var Nj={action:{label:`Actions`,icon:gt},file:{label:`Files`,icon:zt},db:{label:`Database`,icon:Dt},fs:{label:`Filesystem`,icon:Se}};function Pj({availableGroups:e,groupCounts:t,activeFilters:n,onToggle:r}){return e.length<=1?null:(0,Y.jsx)(`div`,{className:`flex items-center gap-1.5 border-b border-border/50 px-3 py-1.5 overflow-x-auto`,children:e.map(e=>{let i=Nj[e];if(!i)return null;let a=t[e]??0,o=n.has(e),s=i.icon;return(0,Y.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":o,"aria-label":`Filter by ${i.label}`,onClick:()=>r(e),className:`inline-flex items-center gap-1 shrink-0 rounded-full border px-2.5 py-1 text-xs font-medium transition-colors ${o?`bg-primary/15 border-primary text-primary`:`bg-surface border-border text-text-subtle hover:bg-surface-elevated`} ${a===0?`opacity-50`:``}`,children:[(0,Y.jsx)(s,{className:`size-3`}),(0,Y.jsx)(`span`,{children:i.label}),(0,Y.jsxs)(`span`,{className:`text-[10px] opacity-70`,children:[`(`,a,`)`]})]},e)})})}var Fj=100,Ij=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent);function Lj(e){return e?e.replace(/Mod\+/g,Ij?`⌘`:`Ctrl+`).replace(/Alt\+/g,Ij?`⌥`:`Alt+`).replace(/Shift\+/g,Ij?`⇧`:`Shift+`).replace(/Meta\+/g,`⌘`).replace(/Ctrl\+/g,Ij?`⌃`:`Ctrl+`):``}function Rj(e){let t=[];for(let n of e)n.type===`file`&&t.push({name:n.name,path:n.path}),n.children&&t.push(...Rj(n.children));return t}function zj(e){return e?e.startsWith(`/`)||e.startsWith(`~/`)||e.startsWith(`~\\`)||/^[A-Za-z]:[/\\]/.test(e):!1}function Bj(e){let t=e.replace(/\\/g,`/`);if(t.endsWith(`/`))return e;let n=Math.max(t.lastIndexOf(`/`),e.lastIndexOf(`\\`));return n>0?e.slice(0,n+1):e}var Vj=new Map;function Hj({open:e,onClose:t,initialQuery:n=``}){let[r,i]=(0,J.useState)(``),a=(0,J.useDeferredValue)(r),[o,s]=(0,J.useState)(0),[c,l]=(0,J.useState)([]),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)([]),[m,h]=(0,J.useState)(new Set),g=(0,J.useRef)(null),_=(0,J.useRef)(null),v=K(e=>e.openTab),y=K(e=>e.updateTab),b=G(e=>e.activeProject),x=Mr(e=>e.fileIndex),S=Mr(e=>e.indexStatus),C=Mr(e=>e.loadIndex),w=Mr(e=>e.tree),T=V(e=>e.setSidebarActiveTab),E=V(e=>e.sidebarCollapsed),D=V(e=>e.toggleSidebar),O=Nc(e=>e.getBinding),k=Pc(e=>e.contributions),A=Ir(),j=wj(),M=V(e=>e.lspEnabled),ee=(0,J.useMemo)(()=>jj(r)??{path:r},[r]),N=(0,J.useMemo)(()=>jj(a)?.path??a,[a]),P=(0,J.useRef)(void 0);(0,J.useEffect)(()=>{P.current=ee.line},[ee.line]);let F=(0,J.useCallback)((e,n,r,i)=>{let a=P.current,o={...i,filePath:e};a&&Object.assign(o,{lineNumber:a.start,endLine:a.end,revealAt:Date.now()});let s=v({type:`editor`,title:n,projectId:r,metadata:o,closable:!0});a&&s&&y(s,{metadata:o}),t()},[v,y,t]),te=(0,J.useCallback)(async e=>{if(Vj.has(e)){l(Vj.get(e));return}d(!0);try{let t=await z.get(`/api/fs/list?dir=${encodeURIComponent(e)}`);Vj.set(e,t),l(t)}catch{l([])}finally{d(!1)}},[]);(0,J.useEffect)(()=>{if(!zj(ee.path)){l([]);return}te(Bj(ee.path))},[ee.path,te]),(0,J.useEffect)(()=>{if(zj(r)||r.trim().length<2){p([]);return}let e=setTimeout(async()=>{try{p(await z.get(`/api/db/search?q=${encodeURIComponent(r.trim())}`)??[])}catch{p([])}},300);return()=>clearTimeout(e)},[r]);let ne=(0,J.useMemo)(()=>{let e=b?.name??null,n=b?{projectName:b.name}:void 0,r=(r,i)=>()=>{v({type:r,title:i,projectId:e,metadata:n,closable:!0}),t()},i=[{id:`chat`,label:`New AI Chat`,icon:kn,action:r(`chat`,`AI Chat`),keywords:`ai assistant claude`,group:`action`,shortcut:Lj(O(`open-chat`))},{id:`new-file`,label:`New File`,icon:sn,action:()=>{K.getState().openNewFile(),t()},keywords:`create untitled blank empty`,group:`action`,shortcut:Lj(O(`new-file`))},{id:`new-db-query`,label:`New DB Query`,icon:Dt,action:()=>{K.getState().openNewFile({language:`sql`,title:`SQL Query`}),t()},keywords:`sql database query scratchpad new`,group:`action`},{id:`terminal`,label:`New Terminal`,icon:Fn,action:r(`terminal`,`Terminal`),keywords:`bash shell console`,group:`action`,shortcut:Lj(O(`open-terminal`))},{id:`tunnels`,label:`Cloudflare Tunnels`,icon:$e,action:()=>{E&&D(),T(`tunnels`),t()},keywords:`web preview localhost port forward tunnel cloudflare url`,group:`action`},{id:`cloud-share`,label:`PPM Cloud & Share`,icon:yt,action:()=>{window.dispatchEvent(new CustomEvent(`open-cloud-share`)),t()},keywords:`cloud permanent link alias share phone remote device qr sign in login`,group:`action`},{id:`postgres`,label:`PostgreSQL`,icon:Dt,action:r(`postgres`,`PostgreSQL`),keywords:`database pg sql query`,group:`action`},{id:`voice-input`,label:`Voice Input`,icon:Ln,action:()=>{window.dispatchEvent(new CustomEvent(`toggle-voice-input`)),t()},keywords:`speech microphone dictate voice`,group:`action`,shortcut:Lj(O(`voice-input`))},{id:`git-status`,label:`Git Status`,icon:aa,action:()=>{T(`git`),t()},keywords:`changes diff staged`,group:`action`,shortcut:Lj(O(`open-git-status`))},{id:`problems`,label:`Problems`,icon:ut,action:()=>{W.getState().openInDock({type:`problems`,title:`Problems`,projectId:null,closable:!0}),t()},keywords:`errors warnings diagnostics lint typescript`,group:`action`,shortcut:Lj(O(`open-problems`))},{id:`word-wrap`,label:`Toggle Word Wrap`,icon:Bn,group:`action`,keywords:`wrap unwrap word lines editor soft`,action:()=>{let e=V.getState();A?e.toggleMobileWordWrap():e.toggleWordWrap(),t()},shortcut:A?void 0:`Alt+Z`},{id:`compare-files`,label:`Compare Files...`,icon:It,group:`action`,keywords:`diff compare two files select`,shortcut:Lj(O(`compare-files`)),action:()=>{let{activeTabId:e,tabs:n}=K.getState(),r=n.find(t=>t.id===e),i=r?.metadata;r?.type===`editor`&&i?.filePath&&i?.projectName&&qs.getState().setSelection({filePath:i.filePath,projectName:i.projectName,dirtyContent:i.unsavedContent,label:qn(i.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`)),t()}},...j?[]:[{id:`language-server`,label:M?`Turn Off Language Server`:`Turn On Language Server`,icon:gt,group:`action`,keywords:`lsp language server completions intellisense hover definition typescript pyright gopls`,hint:`This device`,action:()=>{let e=V.getState();e.setLspEnabled(!e.lspEnabled),t()}}],{id:`settings`,label:`Settings`,icon:pn,action:()=>{Ic(),t()},keywords:`config preferences theme`,group:`action`,shortcut:Lj(O(`open-settings`))},{id:`open-file-explorer`,label:`Open File Explorer`,icon:Kt,group:`action`,keywords:`open file explorer finder browse files folders disk drive window`,action:()=>{Jf(),t()}}],a=k?.keybindings??[],o=(k?.commands??[]).map(e=>{let n=a.find(t=>t.command===e.command),r=(n?O(`ext:${n.command}`):``)||(n?Ij&&n.mac?n.mac:n.key:``);return{id:`ext:${e.command}`,label:e.title,hint:e.category,icon:Z(e.icon)??bt,group:`action`,keywords:`extension ${e.command} ${e.category??``}`,shortcut:r?Lj(r):void 0,action:()=>{Lc(e.command),t()}}});return[...i,...o]},[b,v,t,T,E,D,O,k,A,j,M]),re=(0,J.useMemo)(()=>{let e=b?.name??null,t=b?{projectName:b.name}:void 0;return(S===`ready`?x.filter(e=>e.type===`file`):Rj(w)).map(n=>({id:`file:${n.path}`,label:n.name,hint:n.path,icon:Fi(n.name),group:`file`,keywords:n.path,isIgnored:`isIgnored`in n?n.isIgnored:void 0,action:()=>F(n.path,n.name,e,t)}))},[S,x,w,b,F]),ie=(0,J.useMemo)(()=>{let e=b?.name??null,t=b?{projectName:b.name}:void 0;return c.map(n=>{let r=qn(n);return{id:`fs:${n}`,label:r,hint:n,icon:Se,group:`fs`,keywords:n,action:()=>F(n,r,e,t)}})},[c,b,F]),ae=(0,J.useMemo)(()=>f.map(e=>({id:`db:${e.connectionId}:${e.schemaName}.${e.tableName}`,label:e.tableName,hint:`${e.connectionName} (${e.connectionType===`postgres`?`PG`:`SQLite`})`,icon:Dt,group:`db`,connectionColor:e.connectionColor,action:()=>{v({type:`database`,title:`${e.connectionName} · ${e.tableName}`,projectId:null,closable:!0,metadata:{connectionId:e.connectionId,connectionName:e.connectionName,dbType:e.connectionType,tableName:e.tableName,schemaName:e.schemaName,connectionColor:e.connectionColor}}),t()}})),[f,v,t]),I=(0,J.useMemo)(()=>[...ne,...re],[ne,re]),oe=(0,J.useMemo)(()=>I.map(e=>{let t=e.keywords??e.label,n=t.toLowerCase();return{cmd:e,filenameLower:Tj(n),pathLower:n,labelLen:e.label.length,depth:t.split(`/`).length}}),[I]),se=(0,J.useMemo)(()=>{if(zj(N)){let e=N.lastIndexOf(`/`),t=e>=0?N.slice(e+1).toLowerCase():``;return t?ie.filter(e=>{let n=e.label.toLowerCase(),r=(e.keywords??``).toLowerCase();return n.includes(t)||r.includes(t)}).slice(0,50):ie.slice(0,50)}if(!N.trim())return ne;let e=N.toLowerCase().replace(/^\.\.?\//,``),t=[];for(let n of oe){let r=Dj(e,n.filenameLower,n.pathLower,n.labelLen,n.depth);r&&t.push({cmd:n.cmd,score:r})}t.sort((e,t)=>kj(e.score,t.score));let n=t.slice(0,Fj).map(e=>e.cmd);return a.trim().length>=2?[...ae,...n]:n},[oe,ne,ie,ae,a,N]),ce=(0,J.useMemo)(()=>{let e=new Set;for(let t of I)e.add(t.group);return f.length>0&&e.add(`db`),c.length>0&&e.add(`fs`),Array.from(e)},[I,f.length,c.length]),le=(0,J.useMemo)(()=>{let e={};for(let t of se)e[t.group]=(e[t.group]??0)+1;return e},[se]),ue=(0,J.useMemo)(()=>m.size===0?se:se.filter(e=>m.has(e.group)),[se,m]),de=(0,J.useCallback)(e=>{h(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),s(0)},[]);(0,J.useEffect)(()=>{e&&S===`idle`&&b&&C(b.name)},[e,S,b,C]),(0,J.useEffect)(()=>{e&&(i(n||``),s(0),l([]),p([]),h(new Set),requestAnimationFrame(()=>g.current?.focus()))},[e]),(0,J.useEffect)(()=>{s(e=>Math.min(e,Math.max(ue.length-1,0)))},[ue.length]),(0,J.useEffect)(()=>{let e=_.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]);let fe=(0,J.useCallback)(()=>{r.trim()&&(v({type:`chat`,title:`AI Chat`,projectId:b?.name??null,metadata:{projectName:b?.name,pendingMessage:r.trim()},closable:!0}),t())},[r,b,v,t]);function pe(e){let n=ue.length;switch(e.key){case`ArrowDown`:e.preventDefault(),n>0&&s(e=>(e+1)%n);break;case`ArrowUp`:e.preventDefault(),n>0&&s(e=>(e-1+n)%n);break;case`Enter`:e.preventDefault(),n>0?ue[o]?.action():r.trim()&&fe();break;case`Escape`:e.preventDefault(),t();break}}if(!e)return null;let me=zj(ee.path);return(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:t,children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,Y.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden max-h-[80vh] md:max-h-none`,onClick:e=>e.stopPropagation(),onKeyDown:pe,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,Y.jsx)(Jt,{className:`size-4 text-text-subtle shrink-0`}),(0,Y.jsx)(`input`,{ref:g,type:`text`,value:r,onChange:e=>i(e.target.value),placeholder:`Search actions & files... (type / or ~/ for filesystem)`,className:`flex-1 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle`}),u&&(0,Y.jsx)(L,{className:`size-3.5 animate-spin text-text-subtle shrink-0`}),(0,Y.jsx)(`kbd`,{className:`hidden sm:inline-flex items-center rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:`ESC`})]}),me&&!u&&c.length===0&&r.length<4&&(0,Y.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-subtle border-b border-border/50`,children:`Type a directory path to browse files (e.g. ~/Projects/)`}),!me&&(S===`loading`||S===`idle`)&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-1.5 border-b border-border/50`,children:[(0,Y.jsx)(L,{className:`size-3 animate-spin text-text-subtle shrink-0`}),(0,Y.jsx)(`span`,{className:`text-[11px] text-text-subtle italic`,children:`Indexing project…`})]}),!me&&S===`error`&&(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border/50`,children:[(0,Y.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`Failed to build file index —`}),(0,Y.jsx)(`button`,{onClick:()=>b&&C(b.name),className:`text-[11px] text-primary hover:underline`,children:`retry`})]}),!me&&(0,Y.jsx)(Pj,{availableGroups:ce,groupCounts:le,activeFilters:m,onToggle:de}),(0,Y.jsx)(`div`,{ref:_,className:`max-h-72 overflow-y-auto py-1`,children:ue.length===0?u?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`Searching...`}):m.size>0&&se.length>0?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results in selected filters`}):r.trim()?(0,Y.jsxs)(`button`,{onClick:fe,className:`flex items-center gap-3 w-full px-3 py-3 text-sm text-left text-text-secondary hover:bg-accent/15 hover:text-text-primary transition-colors`,children:[(0,Y.jsx)(kn,{className:`size-4 shrink-0 text-primary`}),(0,Y.jsxs)(`span`,{children:[`Ask AI: `,(0,Y.jsx)(`span`,{className:`text-text-primary font-medium`,children:r.trim().slice(0,60)})]})]}):(0,Y.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results`}):ue.map((e,t)=>{let n=e.icon;return(0,Y.jsxs)(`button`,{onClick:e.action,className:`flex items-center gap-3 w-full px-3 py-2 text-sm text-left transition-colors ${t===o?`bg-accent/15 text-text-primary`:`text-text-secondary hover:bg-surface-elevated`} ${e.isIgnored?`opacity-60`:``}`,title:e.isIgnored?`Gitignored file`:void 0,children:[(0,Y.jsx)(n,{className:`size-4 shrink-0`}),(0,Y.jsx)(`span`,{className:`truncate`,children:e.label}),e.hint&&(0,Y.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-xs text-text-subtle truncate max-w-[200px]`,children:[e.connectionColor&&(0,Y.jsx)(`span`,{className:`shrink-0 size-2 rounded-full`,style:{backgroundColor:e.connectionColor}}),e.hint]}),e.shortcut&&(0,Y.jsx)(`kbd`,{className:`ml-auto shrink-0 rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:e.shortcut})]},e.id)})}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 border-t border-border px-3 py-1.5`,children:[(0,Y.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`Press`}),(0,Y.jsx)(`kbd`,{className:`inline-flex items-center rounded border border-border bg-surface px-1 py-0.5 text-[10px] text-text-subtle font-mono`,children:`Shift`}),(0,Y.jsx)(`kbd`,{className:`inline-flex items-center rounded border border-border bg-surface px-1 py-0.5 text-[10px] text-text-subtle font-mono`,children:`Shift`}),(0,Y.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`to open this palette`})]})]})]})}var Uj=50;function Wj({open:e,onOpenChange:t,initialA:n}={}){let r=e!==void 0,[i,a]=(0,J.useState)(!1),o=r?e:i,s=e=>{r?t?.(e):a(e)},[c,l]=(0,J.useState)(n??null);(0,J.useEffect)(()=>{if(r)return;function e(){l(qs.getState().selection),a(!0)}return window.addEventListener(`open-compare-picker`,e),()=>window.removeEventListener(`open-compare-picker`,e)},[r]);let[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(0),[m,h]=(0,J.useState)(null),g=(0,J.useRef)(null),_=K(e=>e.tabs),v=Mr(e=>e.fileIndex),y=G(e=>e.activeProject);(0,J.useEffect)(()=>{o&&(r&&l(n??null),d(``),p(0),h(null),setTimeout(()=>g.current?.focus(),50))},[o,n,r]);let b=(0,J.useMemo)(()=>{let e=_.filter(e=>e.type===`editor`&&e.metadata?.filePath).map(e=>({id:`tab:${e.id}`,path:e.metadata.filePath,label:qn(e.metadata.filePath),source:`tab`,dirtyContent:e.metadata.unsavedContent})),t=new Set(e.map(e=>e.path)),n=v.filter(e=>e.type===`file`&&!t.has(e.path)).map(e=>({id:`file:${e.path}`,path:e.path,label:e.name,source:`file`}));return[...e,...n]},[_,v]),x=(0,J.useMemo)(()=>u.trim()?b.map(e=>{let t=Oj(u,e.label,e.path);return t?{c:e,score:t}:null}).filter(e=>e!==null).sort((e,t)=>kj(e.score,t.score)).slice(0,Uj).map(e=>e.c):b.slice(0,Uj),[b,u]);(0,J.useEffect)(()=>{f>=x.length&&p(Math.max(0,x.length-1))},[x,f]);let S=(0,J.useRef)(!1);async function C(e){if(y){if(!c){l({filePath:e.path,projectName:y.name,dirtyContent:e.dirtyContent,label:e.label}),d(``),p(0),g.current?.focus();return}if(!S.current){S.current=!0;try{await Ys({path:c.filePath,dirtyContent:c.dirtyContent},{path:e.path,dirtyContent:e.dirtyContent},y.name),qs.getState().clearSelection(),s(!1)}catch(e){h(e instanceof Error?e.message:`Compare failed`)}finally{S.current=!1}}}}function w(e){if(e.key===`ArrowDown`)e.preventDefault(),p(e=>Math.min(x.length-1,e+1));else if(e.key===`ArrowUp`)e.preventDefault(),p(e=>Math.max(0,e-1));else if(e.key===`Enter`){e.preventDefault();let t=x[f];t&&C(t)}}return(0,Y.jsx)(Pi,{open:o,onOpenChange:s,children:(0,Y.jsxs)(Ai,{className:`max-w-lg p-0 gap-0 overflow-hidden`,children:[(0,Y.jsx)(Oi,{className:`px-4 pt-4 pb-2`,children:(0,Y.jsxs)(ji,{className:`flex items-center gap-2 text-sm`,children:[(0,Y.jsx)(It,{className:`size-4`}),`Compare Files`]})}),(0,Y.jsx)(`div`,{className:`px-4 pb-2`,children:c?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs bg-muted rounded px-2 py-1 w-fit max-w-full`,children:[(0,Y.jsx)(zt,{className:`size-3.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`truncate`,title:c.filePath,children:c.label}),(0,Y.jsx)(`button`,{type:`button`,onClick:()=>l(null),className:`hover:bg-surface-elevated rounded p-0.5`,"aria-label":`Clear first file`,children:(0,Y.jsx)(he,{className:`size-3`})})]}):(0,Y.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pick first file, then second.`})}),(0,Y.jsx)(`input`,{ref:g,type:`text`,value:u,onChange:e=>{d(e.target.value),p(0)},onKeyDown:w,placeholder:c?`Search for file B...`:`Search for file A...`,className:`w-full px-4 py-2 bg-transparent border-y border-border text-sm outline-none`}),m&&(0,Y.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive border-b border-border`,children:m}),(0,Y.jsx)(`div`,{className:`max-h-[50vh] md:max-h-80 overflow-y-auto`,children:x.length===0?(0,Y.jsx)(`div`,{className:`px-4 py-6 text-center text-xs text-muted-foreground`,children:b.length===0?`No files available`:`No matches`}):x.map((e,t)=>(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>C(e),onMouseEnter:()=>p(t),className:U(`w-full flex items-center gap-2 px-4 py-1.5 text-left text-sm`,`hover:bg-surface-elevated transition-colors`,t===f&&`bg-surface-elevated`),children:[(0,Y.jsx)(zt,{className:`size-3.5 shrink-0 text-text-secondary`}),(0,Y.jsx)(`span`,{className:`truncate`,children:e.label}),(0,Y.jsx)(`span`,{className:`text-xs text-muted-foreground truncate ml-auto`,title:e.path,children:e.source===`tab`?`open`:e.path})]},e.id))})]})})}function Gj(){let e=fg(),t=Ir(),[n,r]=(0,J.useState)(!1),i=e.step.k!==`hidden`&&!n;if(!i)return null;let a=()=>r(!0);return t?(0,Y.jsx)(Hi,{open:i,onClose:a,zIndex:45,children:(0,Y.jsx)(`div`,{className:`px-4 pb-4`,children:(0,Y.jsx)(_g,{step:e.step,t:e})})}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 z-[45] bg-black/40`,onClick:a}),(0,Y.jsxs)(`div`,{className:`fixed z-[45] top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-md max-h-[85vh] overflow-y-auto rounded-xl bg-popover text-popover-foreground border border-border shadow-2xl p-5`,onClick:e=>e.stopPropagation(),children:[(0,Y.jsx)(`button`,{type:`button`,onClick:a,"aria-label":`Close`,className:`absolute right-3 top-3 size-11 flex items-center justify-center rounded-md hover:bg-surface-elevated transition-colors`,children:(0,Y.jsx)(he,{className:`size-4`})}),(0,Y.jsx)(`div`,{className:`pr-8`,children:(0,Y.jsx)(_g,{step:e.step,t:e})})]})]})}var Kj=Gn((e,t)=>({images:[],index:0,src:null,alt:``,open:(t,n=``,r)=>{let i=r?.length?r:[{src:t,alt:n}],a=i.findIndex(e=>e.src===t),o=a>=0?a:0,s=i[o];e({images:i,index:o,src:s.src,alt:s.alt||n})},close:()=>e({images:[],index:0,src:null,alt:``}),go:n=>{let{images:r,index:i}=t(),a=i+n;if(a<0||a>=r.length)return;let o=r[a];e({index:a,src:o.src,alt:o.alt})}})),qj={scale:1,x:0,y:0,rotation:0,flipX:!1,flipY:!1},Jj=.1,Yj=20,Xj=2.5,Zj=(e,t,n)=>Math.min(n,Math.max(t,e));function Qj(e){return e.deltaMode===0?e.deltaX===0?Number.isInteger(e.deltaY)&&Math.abs(e.deltaY)>=40:!1:!0}function $j(){let e=(0,J.useRef)(null),t=(0,J.useRef)(null),n=(0,J.useRef)({...qj}),r=(0,J.useRef)(null),[i,a]=(0,J.useState)(100),[o,s]=(0,J.useState)(0),c=(0,J.useCallback)(()=>{let n=t.current,r=e.current;return{dw:n?.clientWidth??0,dh:n?.clientHeight??0,cw:r?.clientWidth??0,ch:r?.clientHeight??0,natural:n?.naturalWidth??0}},[]),l=(0,J.useCallback)(()=>{let{dw:e,dh:t,cw:r,ch:i}=c(),a=Math.abs(n.current.rotation%180)===90,o=(a?t:e)*n.current.scale,s=(a?e:t)*n.current.scale;return{maxX:Math.max(0,(o-r)/2),maxY:Math.max(0,(s-i)/2)}},[c]),u=(0,J.useCallback)(()=>{a(Math.round(n.current.scale*100)),s(n.current.rotation)},[]),d=(0,J.useCallback)((e=!1)=>{let i=t.current;if(!i)return;let{scale:a,x:o,y:s,rotation:c,flipX:l,flipY:d}=n.current;if(i.style.transform=`translate3d(${o}px, ${s}px, 0) rotate(${c}deg) scale(${a*(l?-1:1)}, ${a*(d?-1:1)})`,e){r.current!=null&&(cancelAnimationFrame(r.current),r.current=null),u();return}r.current??=requestAnimationFrame(()=>{r.current=null,u()})},[u]),f=(0,J.useCallback)((e=!1)=>{let{maxX:t,maxY:r}=l();n.current.x=Zj(n.current.x,-t,t),n.current.y=Zj(n.current.y,-r,r),d(e)},[d,l]),p=(0,J.useCallback)((t,r,i,a=!1)=>{let o=e.current;if(!o)return;let s=o.getBoundingClientRect(),c=(r??s.left+s.width/2)-(s.left+s.width/2),l=(i??s.top+s.height/2)-(s.top+s.height/2),u=n.current.scale,d=Zj(t,Jj,Yj),p=d/u;n.current.scale=d,n.current.x=c-(c-n.current.x)*p,n.current.y=l-(l-n.current.y)*p,f(a)},[f]),m=(0,J.useCallback)(()=>{n.current={...qj},d(!0)},[d]),h=(0,J.useCallback)(()=>{let{dw:e,dh:t,cw:r,ch:i}=c(),a=Math.abs(n.current.rotation%180)===90;n.current.scale=a&&e>0&&t>0?Math.min(r/t,i/e):1,n.current.x=0,n.current.y=0,f(!0)},[c,f]),g=(0,J.useCallback)(()=>{let{dw:e,natural:t}=c();e>0&&t>0&&p(t/e,void 0,void 0,!0)},[c,p]),_=(0,J.useCallback)(e=>{n.current.rotation=((n.current.rotation+e)%360+360)%360,h()},[h]),v=(0,J.useCallback)(e=>{e===`x`?n.current.flipX=!n.current.flipX:n.current.flipY=!n.current.flipY,d(!0)},[d]),y=(0,J.useCallback)(e=>p(n.current.scale*e,void 0,void 0,!0),[p]);return Xx({onDrag:({delta:[e,t],pinching:r,cancel:i,last:a})=>{if(r)return i();n.current.x+=e,n.current.y+=t,f(a)},onPinch:({offset:[e],origin:[t,r],first:i,last:a,memo:o})=>{let s=i?n.current.scale/(e||1):o??1;return p(s*e,t,r,a),s},onWheel:({event:e,last:t})=>{if(t){d(!0);return}let{deltaX:r,deltaY:i}=e;if(!(r===0&&i===0)){if(e.preventDefault(),e.ctrlKey||e.metaKey||Qj(e)){p(n.current.scale*Math.exp(-i/300),e.clientX,e.clientY);return}n.current.x-=r,n.current.y-=i,f()}},onDoubleClick:({event:e})=>{n.current.scale>1.05?h():p(Xj,e.clientX,e.clientY,!0)}},{target:e,drag:{from:()=>[n.current.x,n.current.y],filterTaps:!0,pointer:{touch:!0}},pinch:{scaleBounds:{min:Jj,max:Yj},rubberband:!0},eventOptions:{passive:!1}}),(0,J.useEffect)(()=>{let e=()=>f();return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e),r.current!=null&&cancelAnimationFrame(r.current)}},[f]),{containerRef:e,imageRef:t,zoomPercent:i,rotation:o,zoomBy:y,reset:m,fit:h,actualSize:g,rotate:_,flip:v}}function eM(){let e=Kj(e=>e.src);return e?(0,Y.jsx)(tM,{},e):null}function tM(){let{src:e,alt:t,images:n,index:r,close:i,go:a}=Kj(),{containerRef:o,imageRef:s,zoomPercent:c,rotation:l,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h}=$j(),[g,_]=(0,J.useState)(!1),v=jl();(0,J.useEffect)(()=>{d()},[d]);let y=(0,J.useRef)({close:i,go:a,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h});if(y.current={close:i,go:a,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h},(0,J.useEffect)(()=>{if(!e)return;let t=e=>{let t=y.current,n=e.key;if(n===`Escape`)return t.close();if(n===`ArrowLeft`)return t.go(-1);if(n===`ArrowRight`)return t.go(1);if(n===`+`||n===`=`)return t.zoomBy(1.25);if(n===`-`||n===`_`)return t.zoomBy(.8);if(n===`0`)return t.fit();if(n===`1`)return t.actualSize();if(n===`r`)return t.rotate(90);if(n===`R`)return t.rotate(-90);if(n===`h`)return t.flip(`x`);if(n===`v`)return t.flip(`y`)};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e]),!e)return null;let b=t?.trim()||`image`,x=n.length>1,S=async()=>{await Ml(e)&&(_(!0),setTimeout(()=>_(!1),1500))};return(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/90 backdrop-blur-sm animate-in fade-in duration-150`,children:[(0,Y.jsx)(`button`,{onClick:i,className:`absolute top-3 right-3 z-20 flex size-11 items-center justify-center rounded-full bg-white/10 text-white transition-colors hover:bg-white/20 active:bg-white/30`,"aria-label":`Close`,children:(0,Y.jsx)(he,{className:`size-5`})}),x&&(0,Y.jsxs)(`div`,{className:`absolute top-3 left-3 z-20 rounded-full bg-white/10 px-3 py-1.5 font-mono text-xs text-white/80`,children:[r+1,` / `,n.length]}),(0,Y.jsx)(`div`,{ref:o,className:`relative flex flex-1 touch-none select-none items-center justify-center overflow-hidden`,onPointerDown:e=>{e.target===e.currentTarget&&(e.currentTarget.dataset.bg=`1`)},onPointerUp:e=>{e.target===e.currentTarget&&e.currentTarget.dataset.bg===`1`&&i(),delete e.currentTarget.dataset.bg},children:(0,Y.jsx)(`img`,{ref:s,src:e,alt:t,draggable:!1,style:{willChange:`transform`},className:`max-h-full max-w-full object-contain rounded-lg shadow-2xl`})}),(0,Y.jsxs)(nM,{children:[x&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(iM,{onClick:()=>a(-1),disabled:r===0,label:`Previous image (←)`,children:(0,Y.jsx)(fe,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:()=>a(1),disabled:r===n.length-1,label:`Next image (→)`,children:(0,Y.jsx)(Xt,{className:`size-5`})}),(0,Y.jsx)(rM,{})]}),(0,Y.jsx)(iM,{onClick:()=>u(.8),label:`Zoom out (-)`,children:(0,Y.jsx)(ve,{className:`size-5`})}),(0,Y.jsxs)(`button`,{onClick:d,className:`h-11 min-w-[4.5rem] rounded-lg px-2 font-mono text-xs text-white/80 transition-colors hover:bg-white/10 active:bg-white/20`,title:`Reset view`,children:[c,`%`]}),(0,Y.jsx)(iM,{onClick:()=>u(1.25),label:`Zoom in (+)`,children:(0,Y.jsx)(_n,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:f,label:`Fit to screen (0)`,children:(0,Y.jsx)(Wt,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:p,label:`Actual size (1)`,children:(0,Y.jsx)(ua,{className:`size-5`})}),(0,Y.jsx)(rM,{}),(0,Y.jsx)(iM,{onClick:()=>m(-90),label:`Rotate left (Shift+R)`,active:l!==0,children:(0,Y.jsx)(de,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:()=>m(90),label:`Rotate right (R)`,active:l!==0,children:(0,Y.jsx)(Ft,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:()=>h(`x`),label:`Flip horizontally (H)`,children:(0,Y.jsx)(st,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:()=>h(`y`),label:`Flip vertically (V)`,children:(0,Y.jsx)(Nn,{className:`size-5`})}),(0,Y.jsx)(rM,{}),(0,Y.jsx)(iM,{onClick:()=>yi(e,b),label:`Download`,children:(0,Y.jsx)(wn,{className:`size-5`})}),(0,Y.jsx)(iM,{onClick:S,disabled:!v,label:v?`Copy image`:`Copying images needs an HTTPS or localhost address`,children:g?(0,Y.jsx)(An,{className:`size-5 text-green-400`}):(0,Y.jsx)(un,{className:`size-5`})})]})]})}function nM({children:e}){return(0,Y.jsx)(`div`,{className:`flex shrink-0 justify-center px-2 pb-[max(0.75rem,env(safe-area-inset-bottom))] pt-2`,children:(0,Y.jsx)(`div`,{className:`flex flex-wrap items-center justify-center gap-0.5 rounded-2xl bg-white/10 p-1 backdrop-blur`,children:e})})}function rM(){return(0,Y.jsx)(`span`,{className:`mx-1 h-6 w-px bg-white/20`,"aria-hidden":!0})}function iM({onClick:e,label:t,children:n,disabled:r,active:i}){return(0,Y.jsx)(`button`,{type:`button`,onClick:e,disabled:r,title:t,"aria-label":t,className:U(`flex size-11 items-center justify-center rounded-lg text-white transition-colors`,`hover:bg-white/15 active:bg-white/25`,i&&`text-primary`,r&&`pointer-events-none opacity-30`),children:n})}var aM=Gn(e=>({svg:null,open:t=>e({svg:t}),close:()=>e({svg:null})})),oM=.25,sM=4,cM=.25;function lM(){let{svg:e,close:t}=aM(),n=(0,J.useRef)(null),[r,i]=(0,J.useState)(1),[a,o]=(0,J.useState)({x:0,y:0}),s=(0,J.useRef)(!1),c=(0,J.useRef)({x:0,y:0});(0,J.useEffect)(()=>{e&&(i(1),o({x:0,y:0}))},[e]);let l=(0,J.useCallback)(e=>{e.key===`Escape`&&t(),(e.key===`=`||e.key===`+`)&&i(e=>Math.min(sM,e+cM)),e.key===`-`&&i(e=>Math.max(oM,e-cM)),e.key===`0`&&(i(1),o({x:0,y:0}))},[t]);(0,J.useEffect)(()=>{if(e)return document.addEventListener(`keydown`,l),()=>document.removeEventListener(`keydown`,l)},[e,l]);let u=(0,J.useCallback)(e=>{e.preventDefault();let t=e.deltaY>0?-cM:cM;i(e=>Math.min(sM,Math.max(oM,e+t)))},[]),d=(0,J.useCallback)(e=>{e.button===0&&(s.current=!0,c.current={x:e.clientX,y:e.clientY},e.target.setPointerCapture(e.pointerId))},[]),f=(0,J.useCallback)(e=>{if(!s.current)return;let t=e.clientX-c.current.x,n=e.clientY-c.current.y;c.current={x:e.clientX,y:e.clientY},o(e=>({x:e.x+t,y:e.y+n}))},[]),p=(0,J.useCallback)(()=>{s.current=!1},[]);return e?(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/85 backdrop-blur-sm animate-in fade-in duration-150`,onClick:t,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 bg-black/40`,onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`span`,{className:`text-sm text-white/70`,children:[Math.round(r*100),`% — Scroll to zoom, drag to pan, 0 to reset`]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,Y.jsx)(`button`,{onClick:()=>i(e=>Math.max(oM,e-cM)),className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Zoom out`,children:(0,Y.jsx)(vn,{className:`size-4`})}),(0,Y.jsx)(`button`,{onClick:()=>i(e=>Math.min(sM,e+cM)),className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Zoom in`,children:(0,Y.jsx)(Le,{className:`size-4`})}),(0,Y.jsx)(`button`,{onClick:()=>{i(1),o({x:0,y:0})},className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Reset zoom`,children:(0,Y.jsx)(de,{className:`size-4`})}),(0,Y.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors ml-2`,"aria-label":`Close`,children:(0,Y.jsx)(he,{className:`size-5`})})]})]}),(0,Y.jsx)(`div`,{ref:n,className:`flex-1 overflow-hidden cursor-grab active:cursor-grabbing`,onClick:e=>e.stopPropagation(),onWheel:u,onPointerDown:d,onPointerMove:f,onPointerUp:p,children:(0,Y.jsx)(`div`,{className:`w-full h-full flex items-center justify-center`,style:{transform:`translate(${a.x}px, ${a.y}px) scale(${r})`,transformOrigin:`center center`},children:(0,Y.jsx)(`div`,{className:`mermaid-overlay-content bg-white rounded-lg p-6 shadow-2xl [&_svg]:max-w-full [&_svg]:h-auto`,dangerouslySetInnerHTML:{__html:e}})})})]}):null}var uM=new Map,dM=Gn((e,t)=>({shellsBySession:{},panelShellId:null,setSessionShells:(t,n)=>e(e=>({shellsBySession:{...e.shellsBySession,[t]:n}})),retainSession:e=>{uM.set(e,(uM.get(e)??0)+1)},releaseSession:t=>{let n=(uM.get(t)??1)-1;if(n>0){uM.set(t,n);return}uM.delete(t),e(e=>{let n={...e.shellsBySession};return delete n[t],{shellsBySession:n}})},findByOutput:e=>{if(!e)return;let n=qn(e).replace(/\.output$/,``);for(let r of Object.values(t().shellsBySession)){let t=r.find(t=>t.shellId===n||t.outputPath.endsWith(`${n}.output`)||t.outputPath.endsWith(e));if(t)return t}},getShell:e=>{for(let n of Object.values(t().shellsBySession)){let t=n.find(t=>t.shellId===e);if(t)return t}},openPanel:t=>e({panelShellId:t}),closePanel:()=>e({panelShellId:null})})),fM=1500,pM=5e5;function mM(){let e=dM(e=>e.panelShellId),t=dM(e=>e.getShell),n=dM(e=>e.closePanel),r=e?t(e):void 0,[i,a]=(0,J.useState)(``),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(!1),u=(0,J.useRef)(null),d=r?.outputPath,f=r?.status,p=(0,J.useCallback)(async()=>{if(d)try{let e=(await z.get(`/api/fs/read?path=${encodeURIComponent(d)}`)).content??``;a(e.length>pM?e.slice(-pM):e),s(null)}catch(e){s(e.message)}finally{l(!1)}},[d]);return(0,J.useEffect)(()=>{if(!d||(l(!0),a(``),p(),f!==`running`))return;let e=setInterval(p,fM);return()=>clearInterval(e)},[d,f,p]),(0,J.useEffect)(()=>{u.current&&(u.current.scrollTop=u.current.scrollHeight)},[i]),(0,J.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,n]),e?(0,Y.jsx)(`div`,{className:`fixed inset-0 z-[100] flex items-end md:items-center justify-center bg-black/60 backdrop-blur-sm animate-in fade-in duration-150`,onClick:n,children:(0,Y.jsxs)(`div`,{className:`flex flex-col w-full md:max-w-3xl md:w-[90vw] max-h-[80vh] md:max-h-[75vh] overflow-hidden rounded-t-xl md:rounded-xl border border-border bg-surface shadow-2xl`,onClick:e=>e.stopPropagation(),children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,Y.jsx)(ot,{className:`size-4 shrink-0 text-text-secondary`}),(0,Y.jsx)(`span`,{className:`flex-1 truncate text-sm font-mono text-text-primary`,title:r?.command,children:r?.command||`Background command`}),f===`running`&&(0,Y.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-emerald-500`,children:[(0,Y.jsx)(L,{className:`size-3 animate-spin`}),` live`]}),f===`stopping`&&(0,Y.jsx)(`span`,{className:`text-[11px] text-warning`,children:`stopping…`}),f===`stopped`&&(0,Y.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`stopped`}),(0,Y.jsx)(`button`,{type:`button`,onClick:n,className:`flex items-center justify-center size-9 -mr-1 rounded hover:bg-surface-elevated text-text-secondary`,"aria-label":`Close`,children:(0,Y.jsx)(he,{className:`size-5`})})]}),(0,Y.jsx)(`pre`,{ref:u,className:`flex-1 overflow-auto p-4 text-xs font-mono whitespace-pre-wrap break-words text-text-primary bg-background`,children:o?`Failed to read output: ${o}`:i||(c?`Loading…`:`(no output yet)`)})]})}):null}var hM=`https://cloud.ppm.sh`;function gM(){let e=window.location.hostname;return e.endsWith(`.trycloudflare.com`)||e===lg()}function _M(){let e=lg();return!!e&&window.location.hostname===e}function vM(){let e=hj(e=>e.showOverlay),[t,n]=(0,J.useState)(!1);if(!e)return null;let r=gM(),i=_M(),a=cv();async function o(){n(!0);try{if((await fetch(`/api/health`,{cache:`no-store`})).ok){if(hj.getState().markUp(),`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload();return}}catch{}n(!1)}return(0,Y.jsx)(`div`,{className:`fixed inset-0 z-[200] bg-background/95 backdrop-blur-sm flex items-center justify-center p-4`,children:(0,Y.jsxs)(`div`,{className:`max-w-sm w-full text-center space-y-6`,children:[(0,Y.jsx)(`div`,{className:`flex justify-center`,children:(0,Y.jsx)(`div`,{className:`rounded-full bg-destructive/10 p-4`,children:(0,Y.jsx)(r?it:da,{className:`h-10 w-10 text-destructive`})})}),(0,Y.jsxs)(`div`,{className:`space-y-2`,children:[(0,Y.jsx)(`h2`,{className:`text-xl font-semibold text-foreground`,children:i?`Domain Not Responding`:r?`Connection Lost`:`Server Unreachable`}),(0,Y.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed`,children:i?`This address stays the same, so keep it. The machine may be asleep, offline, or restarting — it will answer again on this same URL.`:r?`The tunnel appears to have closed. The server may have restarted with a new URL.`:`Cannot connect to the PPM server. It may have stopped or is restarting.`})]}),(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[r&&a&&(0,Y.jsxs)(`a`,{href:a,className:`inline-flex items-center justify-center gap-2 rounded-md bg-primary px-4 py-2.5 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors`,children:[(0,Y.jsx)(pt,{className:`h-4 w-4`}),`Open on local network`]}),r&&(0,Y.jsx)(`a`,{href:hM,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center justify-center rounded-md px-4 py-2.5 text-sm font-medium transition-colors ${a?`border border-border text-foreground hover:bg-accent`:`bg-primary text-primary-foreground hover:bg-primary/90`}`,children:`Open PPM Cloud`}),(0,Y.jsxs)(`button`,{onClick:o,disabled:t,className:`inline-flex items-center justify-center gap-2 rounded-md border border-border px-4 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors disabled:opacity-50`,children:[(0,Y.jsx)(tt,{className:`h-4 w-4 ${t?`animate-spin`:``}`}),t?`Retrying…`:`Retry Connection`]})]}),!r&&(0,Y.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`If the server was stopped, run `,(0,Y.jsx)(`code`,{className:`bg-muted px-1 py-0.5 rounded text-[11px]`,children:`ppm start`}),` to restart it.`]})]})})}function yM(){let e=Pc(e=>e.quickPick),t=Pc(e=>e.resolveQuickPick);return e?(0,Y.jsx)(bM,{items:e.items,options:e.options,onSelect:e=>t(e),onCancel:()=>t(void 0)}):null}function bM({items:e,options:t,onSelect:n,onCancel:r}){let[i,a]=(0,J.useState)(``),[o,s]=(0,J.useState)(0),[c,l]=(0,J.useState)(()=>{let t=new Set;return e.forEach((e,n)=>{e.picked&&t.add(n)}),t}),u=(0,J.useRef)(null),d=(0,J.useRef)(null),f=t.canPickMany??!1;(0,J.useEffect)(()=>{requestAnimationFrame(()=>u.current?.focus())},[]);let p=(0,J.useMemo)(()=>{if(!i.trim())return e.map((e,t)=>({item:e,originalIdx:t}));let t=i.toLowerCase();return e.map((e,t)=>({item:e,originalIdx:t})).filter(({item:e})=>e.label.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)||e.detail?.toLowerCase().includes(t))},[e,i]);(0,J.useEffect)(()=>{s(e=>Math.min(e,Math.max(p.length-1,0)))},[p.length]),(0,J.useEffect)(()=>{(d.current?.children[o])?.scrollIntoView({block:`nearest`})},[o]);let m=(0,J.useCallback)(()=>{f?n(e.filter((e,t)=>c.has(t))):p[o]&&n([p[o].item])},[f,c,e,p,o,n]);function h(e){switch(e.key){case`ArrowDown`:e.preventDefault(),p.length>0&&s(e=>(e+1)%p.length);break;case`ArrowUp`:e.preventDefault(),p.length>0&&s(e=>(e-1+p.length)%p.length);break;case` `:if(f&&p[o]){e.preventDefault();let t=p[o].originalIdx;l(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}break;case`Enter`:e.preventDefault(),m();break;case`Escape`:e.preventDefault(),r();break}}return(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:r,children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,Y.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden max-h-[80vh] md:max-h-none`,onClick:e=>e.stopPropagation(),onKeyDown:h,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,Y.jsx)(Jt,{className:`size-4 text-text-subtle shrink-0`}),(0,Y.jsx)(`input`,{ref:u,type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:t.placeholder??`Select an item...`,className:`flex-1 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle`}),(0,Y.jsx)(`kbd`,{className:`hidden sm:inline-flex items-center rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:`ESC`})]}),(0,Y.jsx)(`div`,{ref:d,className:`max-h-72 overflow-y-auto py-1`,children:p.length===0?(0,Y.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No matching items`}):p.map(({item:e,originalIdx:t},r)=>(0,Y.jsxs)(`button`,{onClick:()=>{f?l(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n}):n([e])},className:U(`flex items-center gap-3 w-full px-3 py-2 text-sm text-left transition-colors`,r===o?`bg-accent/15 text-text-primary`:`text-text-secondary hover:bg-surface-elevated`),children:[f&&(0,Y.jsx)(`span`,{className:U(`size-4 shrink-0 rounded border flex items-center justify-center`,c.has(t)?`bg-primary border-primary text-primary-foreground`:`border-border`),children:c.has(t)&&(0,Y.jsx)(An,{className:`size-3`})}),(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`truncate`,children:e.label}),e.description&&(0,Y.jsx)(`span`,{className:`text-xs text-text-subtle ml-2`,children:e.description}),e.detail&&(0,Y.jsx)(`div`,{className:`text-xs text-text-subtle truncate mt-0.5`,children:e.detail})]})]},t))}),f&&(0,Y.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border px-3 py-1.5`,children:[(0,Y.jsxs)(`span`,{className:`text-[10px] text-text-subtle`,children:[c.size,` selected`]}),(0,Y.jsx)(`button`,{onClick:m,className:`text-xs text-primary hover:text-primary/80 font-medium`,children:`Confirm`})]})]})]})}function xM(){let e=Pc(e=>e.inputBox),t=Pc(e=>e.resolveInputBox);return e?(0,Y.jsx)(SM,{options:e.options,onConfirm:e=>t(e),onCancel:()=>t(void 0)}):null}function SM({options:e,onConfirm:t,onCancel:n}){let[r,i]=(0,J.useState)(e.value??``),a=(0,J.useRef)(null);(0,J.useEffect)(()=>{requestAnimationFrame(()=>{a.current?.focus(),a.current?.select()})},[]);function o(e){e.key===`Enter`?(e.preventDefault(),t(r)):e.key===`Escape`&&(e.preventDefault(),n())}return(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:n,children:[(0,Y.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,Y.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden`,onClick:e=>e.stopPropagation(),children:[e.prompt&&(0,Y.jsx)(`div`,{className:`px-3 pt-3 pb-1 text-sm text-text-primary`,children:e.prompt}),(0,Y.jsx)(`div`,{className:`flex items-center gap-2 px-3 py-2.5`,children:(0,Y.jsx)(`input`,{ref:a,type:e.password?`password`:`text`,value:r,onChange:e=>i(e.target.value),onKeyDown:o,placeholder:e.placeholder??``,className:`flex-1 bg-surface border border-border rounded px-2 py-1.5 text-sm text-text-primary outline-none focus:border-primary placeholder:text-text-subtle`})}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border px-3 py-2`,children:[(0,Y.jsx)(`button`,{onClick:n,className:`px-3 py-1.5 text-xs text-text-secondary hover:text-text-primary transition-colors rounded`,children:`Cancel`}),(0,Y.jsx)(`button`,{onClick:()=>t(r),className:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 transition-colors font-medium`,children:`OK`})]})]})]})}var CM=new Set;function wM(e,t){return`${e}:${t??``}`}var TM=new Map,EM=15e3;function DM(e,t){let n=Date.now();for(let[e,t]of TM)n-t>EM&&TM.delete(e);if(TM.delete(`${e}:${t??``}`)||t&&TM.delete(`${e}:`))return!0;if(!t){for(let t of TM.keys())if(t.startsWith(`${e}:`))return TM.delete(t),!0}return!1}var OM=new Set;function kM(e=!0){let t=(0,J.useRef)(null),n=(0,J.useCallback)(e=>{t.current?.send(JSON.stringify(e))},[]);return(0,J.useEffect)(()=>{if(!e)return;let r=Wn(),i=new dj(r?`/ws/extensions?token=${encodeURIComponent(r)}`:`/ws/extensions`);t.current=i,i.onMessage(e=>{let t;try{t=JSON.parse(e.data)}catch{return}let r=Pc.getState();switch(t.type){case`contributions:update`:if(r.setContributions(t.contributions),t.activationErrors){let e=r.activationErrors;r.setActivationErrors(t.activationErrors);for(let[n,r]of Object.entries(t.activationErrors))e[n]||B.error(`Extension "${n}" failed to activate: ${r}`)}break;case`statusbar:update`:r.addStatusBarItem(t.item);break;case`statusbar:remove`:r.removeStatusBarItem(t.itemId);break;case`tree:update`:t.parentId?r.updateTreeChildren(t.viewId,t.parentId,t.items):r.updateTree(t.viewId,t.items);break;case`tree:refresh`:r.removeTree(t.viewId);break;case`notification`:{let e=t.level===`error`?B.error:t.level===`warn`?B.warning:B.info;if(t.actions&&t.actions.length>0){let r={action:{label:t.actions[0],onClick:()=>n({type:`notification:action`,id:t.id,action:t.actions[0]??null})},onDismiss:()=>n({type:`notification:action`,id:t.id,action:null})};t.actions.length>1&&(r.cancel={label:t.actions[1],onClick:()=>n({type:`notification:action`,id:t.id,action:t.actions[1]??null})}),e(t.message,r)}else e(t.message);break}case`quickpick:show`:r.showQuickPick(t.items,t.options).then(e=>{n({type:`quickpick:resolve`,requestId:t.requestId,selected:e??null})});break;case`inputbox:show`:r.showInputBox(t.options).then(e=>{n({type:`inputbox:resolve`,requestId:t.requestId,value:e??null})});break;case`webview:create`:{let e=t.viewType.replace(/\.view$/,``),n=DM(e,t.projectPath);r.addWebviewPanel({id:t.panelId,extensionId:t.extensionId,viewType:t.viewType,title:t.title,html:``,projectName:t.projectName});let i=`extension:${e}`,a=W.getState(),o=Object.values(a.panels).flatMap(e=>e.tabs).filter(e=>e.id===i||e.id.startsWith(`${i}@`)),s=e=>e.metadata?.projectName,c=t.projectName?o.find(e=>s(e)===t.projectName)??o.find(e=>!s(e)):o[0];if(c)K.getState().updateTab(c.id,{title:t.title,metadata:{...c.metadata,viewType:e,panelId:t.panelId,extensionId:t.extensionId,...t.projectName&&{projectName:t.projectName}}}),n&&!OM.has(e)&&K.getState().setActiveTab(c.id),OM.delete(e);else if(n&&!CM.has(wM(e,t.projectName))){let n=K.getState().currentProject,r=t.projectName??n??void 0;K.getState().openTab({type:`extension`,title:t.title,projectId:null,closable:!0,metadata:{viewType:e,panelId:t.panelId,extensionId:t.extensionId,...r&&{projectName:r}}})}break}case`webview:html`:r.updateWebviewPanel(t.panelId,{html:t.html});break;case`webview:dispose`:r.removeWebviewPanel(t.panelId);break;case`webview:postMessage`:window.dispatchEvent(new CustomEvent(`ext:webview:message`,{detail:{panelId:t.panelId,message:t.message}}));break;case`tab:open`:K.getState().openTab({type:t.tabType,title:t.title,projectId:t.projectId??null,closable:t.closable??!0,metadata:t.metadata});break;case`project:switch`:K.getState().switchProject(t.projectName);break}});let a=e=>{let{panelId:t,message:n}=e.detail;i.send(JSON.stringify({type:`webview:message`,panelId:t,message:n}))};window.addEventListener(`ext:webview:send`,a);let o=e=>{let{viewId:t,itemId:n}=e.detail;i.send(JSON.stringify({type:`tree:expand`,viewId:t,itemId:n}))};window.addEventListener(`ext:tree:expand`,o);let s=e=>{let{command:t,args:n,recovery:r}=e.detail,a=t.replace(/\.view$/,``);for(let e of CM)e.startsWith(`${a}:`)&&CM.delete(e);let o=Array.isArray(n)&&typeof n[0]==`string`?n[0]:``;TM.set(`${a}:${o}`,Date.now()),r?OM.add(a):OM.delete(a),i.send(JSON.stringify({type:`command:execute`,command:t,args:n}))};window.addEventListener(`ext:command:execute`,s);let c=e=>{let{panelId:t,viewType:n,projectName:r}=e.detail;if(i.send(JSON.stringify({type:`webview:close`,panelId:t})),n){let e=wM(n.replace(/\.view$/,``),r);CM.add(e),setTimeout(()=>CM.delete(e),5e3)}};return window.addEventListener(`ext:webview:close`,c),i.connect(),()=>{window.removeEventListener(`ext:webview:send`,a),window.removeEventListener(`ext:tree:expand`,o),window.removeEventListener(`ext:command:execute`,s),window.removeEventListener(`ext:webview:close`,c),i.disconnect(),t.current=null}},[n,e]),{send:n}}function AM(e){let t=0,n=0,r=0,i=0;for(let a of e)n+=a.size,t+=a.state===`done`||a.state===`skipped`?a.size:Math.min(a.bytesLoaded,a.size),(a.state===`done`||a.state===`skipped`)&&r++,(a.state===`failed`||a.state===`cancelled`)&&i++;return{bytesLoaded:t,bytesTotal:n,doneCount:r,failedCount:i,totalCount:e.length}}function jM(e){if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(n>=10?0:1)} ${t[r]}`}function MM({item:e,onCancel:t}){let n=e.size>0?Math.min(100,Math.round(e.bytesLoaded/e.size*100)):0,r=e.state===`queued`||e.state===`uploading`,i=e.relativePath!==e.name;return(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1 px-3 py-2`,"data-testid":`upload-row`,"data-state":e.state,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`p`,{className:`truncate text-sm text-text`,children:e.name}),i&&(0,Y.jsx)(`p`,{className:`truncate text-xs text-text-2`,children:e.relativePath})]}),(0,Y.jsx)(`span`,{className:`shrink-0 text-xs text-text-2`,children:jM(e.size)}),r?(0,Y.jsx)(`button`,{type:`button`,"aria-label":`Cancel ${e.name}`,onClick:t,className:`flex size-11 shrink-0 items-center justify-center rounded-md can-hover:hover:bg-surface-elevated`,children:(0,Y.jsx)(he,{className:`size-4 text-text-2`})}):(0,Y.jsxs)(`span`,{className:`flex size-11 shrink-0 items-center justify-center`,"aria-label":e.state,children:[e.state===`done`&&(0,Y.jsx)(An,{className:`size-4 text-success`}),e.state===`skipped`&&(0,Y.jsx)(`span`,{className:`text-xs text-text-2`,children:`Skipped`}),(e.state===`failed`||e.state===`cancelled`)&&(0,Y.jsx)(yn,{className:`size-4 text-destructive`})]})]}),r&&(0,Y.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-surface-elevated`,children:(0,Y.jsx)(`div`,{className:U(`h-full rounded-full bg-primary transition-[width]`,e.state===`queued`&&`w-0 opacity-40`),style:e.state===`uploading`?{width:`${n}%`}:void 0})}),(e.state===`failed`||e.state===`cancelled`)&&(0,Y.jsx)(`p`,{className:`text-xs text-destructive`,children:e.state===`cancelled`?`Cancelled`:e.errorMessage??`Upload failed`})]})}function NM(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function PM({batch:e}){let t=rp(e=>e.cancelItem),n=rp(e=>e.cancelBatch),r=rp(e=>e.dismissBatch),i=AM(e.items),a=e.settled,o=i.bytesTotal>0?Math.round(i.bytesLoaded/i.bytesTotal*100):0;return(0,Y.jsxs)(`div`,{className:`w-full overflow-hidden rounded-lg border border-border bg-panel shadow-lg`,"data-testid":`upload-batch-card`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Y.jsx)(`p`,{className:`truncate text-sm font-medium text-text`,children:a?`${i.doneCount}/${i.totalCount} uploaded${i.failedCount>0?`, ${i.failedCount} failed`:``}`:`Uploading ${i.totalCount} item${i.totalCount===1?``:`s`}… ${o}%`}),(0,Y.jsxs)(`p`,{className:`truncate text-xs text-text-2`,children:[NM(i.bytesLoaded),` / `,NM(i.bytesTotal)]})]}),a?(0,Y.jsx)(q,{variant:`ghost`,size:`sm`,className:`h-11 shrink-0`,onClick:()=>r(e.id),children:`Close`}):(0,Y.jsx)(`button`,{type:`button`,"aria-label":`Cancel all`,onClick:()=>n(e.id),className:`flex size-11 shrink-0 items-center justify-center rounded-md can-hover:hover:bg-surface-elevated`,children:(0,Y.jsx)(he,{className:`size-4 text-text-2`})})]}),(0,Y.jsx)(`div`,{className:`max-h-64 divide-y divide-border overflow-y-auto`,children:e.items.map(n=>(0,Y.jsx)(MM,{item:n,onCancel:()=>t(e.id,n.id)},n.id))})]})}function FM(){return rp(Uu(e=>e.order.map(t=>e.batches[t]).filter(e=>e!=null)))}function IM(){let e=Ir(),t=FM(),[n,r]=(0,J.useState)(!1);if(t.length===0)return null;if(!e)return(0,Y.jsx)(`div`,{className:`fixed bottom-4 right-4 z-30 flex w-80 max-w-[calc(100vw-2rem)] flex-col gap-2`,"data-testid":`upload-progress-panel`,children:t.map(e=>(0,Y.jsx)(PM,{batch:e},e.id))});let i=t.filter(e=>!e.settled).length>0?`Uploading ${t.reduce((e,t)=>e+t.items.length,0)}…`:`Uploads finished`;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`button`,{type:`button`,onClick:()=>r(!0),"data-testid":`upload-progress-pill`,className:`fixed bottom-20 right-3 z-30 flex h-11 items-center gap-2 rounded-full border border-border bg-panel px-4 text-sm text-text shadow-lg`,children:i}),(0,Y.jsx)(Hi,{open:n,onClose:()=>r(!1),className:`max-h-[70vh] overflow-y-auto p-2`,children:(0,Y.jsx)(`div`,{className:`flex flex-col gap-2 px-2 pb-2`,children:t.map(e=>(0,Y.jsx)(PM,{batch:e},e.id))})})]})}var LM=`ppm:chunk-reload`,RM=!1;function zM(){return RM}var BM=/dynamically imported module|importing a module script failed|failed to load module script|error loading chunk|expected a javascript(-or-wasm)? module script/i;function VM(e){if(!e)return!1;let t=e instanceof Error?`${e.name}: ${e.message}`:String(e);return BM.test(t)}async function HM(){if(!(typeof caches>`u`))try{let e=await caches.keys();await Promise.all(e.filter(e=>e.startsWith(`ppm-`)).map(e=>caches.delete(e)))}catch{}}async function UM(){try{sessionStorage.removeItem(LM)}catch{}RM=!0,await HM(),window.location.reload()}function WM(){let e;try{e=sessionStorage.getItem(LM)===`1`,sessionStorage.setItem(LM,`1`)}catch{return!1}return e?!1:(RM=!0,HM().then(()=>window.location.reload()),!0)}function GM(){window.addEventListener(`vite:preloadError`,()=>{WM()})}var KM={project:{title:`Choose a project`,action:`Choose project`,bodies:[`A project is a folder with the files you want to work on. Choose one on the computer running PPM, which may be different from your phone.`,`Choose or add a project to begin.`,`Select the workspace for this walkthrough.`],more:`Use the project picker to select an existing folder or add one. The tour never creates files or changes your project.`},chat:{title:`Open AI chat`,action:`Open chat`,bodies:[`Chat lets you ask an AI assistant about your project. Open a chat and choose an available AI provider.`,`Open a chat with your preferred available provider.`,`Open a provider-backed chat tab.`],more:`If no provider is ready, use the existing setup or retry controls, or open AI Settings. You can pause this guide and return after setup.`},send:{title:`Ask about your project`,action:`Use suggested question`,bodies:[`Ask AI to explain your project. You can use our suggested question or write your own, then press Send yourself.`,`Send a question and wait for a successful answer.`,`Complete one AI turn in this project.`],more:`The suggestion requests reading only; your provider's existing permissions still apply. Your draft is never replaced and nothing is sent automatically. Errors or interrupted replies do not complete this step.`},history:{title:`Find your conversation`,action:`Show conversation history`,bodies:[`Use the chat history menu to open the conversation you just had. This is how you return to your work later.`,`Reopen this conversation from the chat history menu.`,`Select the completed session in chat history.`],more:`Choose the conversation from the history menu above the chat, even if it is already open. If you skipped sending a message, you can skip this step too.`},file:{title:`Read a project file`,action:`Open files`,bodies:[`The file explorer shows your project's folders and files. Open any text file that you want to read.`,`Open any text file from the explorer.`,`Open any source, text or Markdown file.`],more:`This step completes when a text editor or Markdown Preview loads successfully. The filename does not matter. Images and databases are not part of this reading exercise. If the project is empty or has no readable files, skip this step or choose another project; no sample file is created automatically.`},search:{title:`Search your project`,action:`Open search`,bodies:[`Search helps you find words inside project files. Type at least two characters and look at the results.`,`Search file contents using at least two characters.`,`Run a project content search.`],more:`A successful search with no matches still counts. A failed request does not. Try a different word, retry an error, or open a result to read its file.`},terminal:{title:`Open the terminal`,action:`Open terminal`,bodies:[`A terminal runs commands on the computer hosting PPM. Open one and wait for it to connect; you do not need to type a command yet.`,`Open a terminal and wait for the shell to become ready.`,`Connect a terminal for this project.`],more:`The tour never types or executes commands. If connection fails, retry using the terminal controls or skip this step.`},git:{title:`View project changes`,action:`Open Git changes`,bodies:[`Git tracks changes in a project. Open its changes view to see whether files have changed.`,`Inspect the project's Git status.`,`Load the working-tree status.`],more:`A clean repository counts too. If the folder does not use Git, skip this step or choose another project. The tour never initializes a repository or commits changes.`},run:{title:`Find how to run the project`,action:`Find run instructions`,bodies:[`Open README or a package manifest and look for instructions to start the project. You can use those instructions in the terminal when you are ready.`,`Find the documented run instructions in README or a package manifest.`,`Inspect README or package scripts for the run command.`],more:`Find run instructions opens a README in the project root, or package.json if there is no readable README. README Preview counts too. After reading, confirm that you know where to find the instructions. This does not run the project. If no file is found, browse Files or skip this step.`}},qM=`Summarize this project and explain how to run it. Only read; do not edit files.`;function JM(e,t){let n=KM[e],r=t===`advanced`?2:t===`familiar`?1:0;return{title:n.title,body:n.bodies[r],more:n.more,action:n.action}}var YM=[{id:`beginner`,title:`I'm just getting started`,body:`One step at a time, with the basics explained.`,icon:hn},{id:`familiar`,title:`I've used similar tools`,body:`A quick introduction to finding your way around PPM.`,icon:hn},{id:`advanced`,title:`I'm a developer / advanced user`,body:`Go straight to the workspace and tools.`,icon:St}],XM=[{id:`ai`,title:`Work with AI`,body:`Ask about a project and find your conversation again.`,icon:kn},{id:`explore`,title:`Explore a project`,body:`Open a file and search through your project.`,icon:hn},{id:`developer`,title:`Use development tools`,body:`Find the terminal, Git changes and run instructions.`,icon:St}];function ZM({projectName:e}){let t=Jr(),n=(0,J.useRef)(document.activeElement),[r,i]=(0,J.useState)(`level`);return(0,Y.jsx)(Pi,{open:!0,onOpenChange:e=>{e||t.dismiss()},children:(0,Y.jsx)(Ai,{onCloseAutoFocus:e=>{e.preventDefault(),(n.current?.isConnected?n.current:document.querySelector(`aside[aria-label="PPM guided tour"] button`))?.focus()},className:`max-h-[90dvh] overflow-y-auto sm:max-w-[520px] p-5 sm:p-7`,children:(0,Y.jsxs)(Xr,{stepKey:r,order:r===`level`?0:1,className:`grid gap-4`,children:[(0,Y.jsxs)(`div`,{className:`text-xs font-medium tracking-widest uppercase text-primary`,children:[`Your first steps · `,r===`level`?`1`:`2`,` of 2`]}),(0,Y.jsx)(ji,{className:`text-2xl leading-tight`,children:r===`level`?`Make PPM feel familiar`:`What would you like to do first?`}),(0,Y.jsx)(Mi,{children:r===`level`?`Choose the amount of guidance that suits you. You can change this anytime.`:`Every path is available to you. Start with something useful.`}),(0,Y.jsx)(`div`,{className:`grid gap-3 mt-1`,children:r===`level`?YM.map(({id:e,title:n,body:r,icon:a})=>(0,Y.jsxs)(`button`,{onClick:()=>{t.chooseFamiliarity(e),i(`goal`)},className:`flex items-start gap-4 rounded-lg border border-border bg-surface p-4 text-left hover:border-primary focus-visible:outline-2 focus-visible:outline-primary`,children:[(0,Y.jsx)(a,{className:`size-5 shrink-0 text-primary mt-0.5`}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsx)(`span`,{className:`block font-medium text-sm`,children:n}),(0,Y.jsx)(`span`,{className:`block mt-1 text-sm text-text-secondary`,children:r})]})]},e)):XM.map(({id:n,title:r,body:i,icon:a})=>(0,Y.jsxs)(`button`,{onClick:()=>{t.chooseGoal(n),t.start(e)},className:`flex items-start gap-4 rounded-lg border border-border bg-surface p-4 text-left hover:border-primary focus-visible:outline-2 focus-visible:outline-primary`,children:[(0,Y.jsx)(a,{className:`size-5 shrink-0 text-primary mt-0.5`}),(0,Y.jsxs)(`span`,{children:[(0,Y.jsxs)(`span`,{className:`block font-medium text-sm`,children:[r,n===`ai`&&(0,Y.jsx)(`span`,{className:`ml-2 text-xs text-primary`,children:`Suggested`})]}),(0,Y.jsx)(`span`,{className:`block mt-1 text-sm text-text-secondary`,children:i})]})]},n))}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[r===`goal`?(0,Y.jsxs)(q,{variant:`ghost`,className:`min-h-11`,onClick:()=>i(`level`),children:[(0,Y.jsx)(tn,{}),`Back`]}):(0,Y.jsx)(`span`,{}),(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 text-text-secondary`,onClick:t.dismiss,children:`I'll explore on my own`})]})]})})})}function QM(){let e=Jr(e=>e.projectName),t=Jr(e=>e.skip),[n,r]=(0,J.useState)(!1);return(0,J.useEffect)(()=>{let t=!1,n=0;if(r(!1),!e)return;let i=()=>{let i=++n;z.get(`${R(e)}/files/list`).then(e=>{!t&&i===n&&r(e.length===0)}).catch(()=>{!t&&i===n&&r(!1)})};return i(),window.addEventListener(`ppm:onboarding-refresh`,i),()=>{t=!0,window.removeEventListener(`ppm:onboarding-refresh`,i)}},[e]),n?(0,Y.jsxs)(`div`,{className:`mt-3 rounded-lg border border-border p-3`,role:`status`,children:[(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`No files are visible in this project yet. You can create your own files later or choose another project. Nothing needs to be created for this tour.`}),(0,Y.jsx)(q,{variant:`outline`,className:`w-full min-h-11 mt-2`,onClick:t,children:`Skip empty project step`}),(0,Y.jsx)(`p`,{className:`text-xs text-text-secondary mt-2`,children:`This step will be marked skipped, not completed.`})]}):(0,Y.jsx)(`p`,{className:`text-xs text-text-secondary mt-2`,children:`Choose any text file, such as .txt, .js, .py or .md. No README or package.json is required. Markdown Preview counts too. If there is no readable file, use Skip step.`})}function $M({collapsed:e,setCollapsed:t,onAction:n,onSettings:r}){let i=Jr(),[a,o]=(0,J.useState)(!1),s=ti(i.goal),c=i.currentStep;if(!c)return null;let l=JM(c,i.familiarity??`beginner`),u=s.indexOf(c);return(0,Y.jsxs)(`div`,{className:`p-4`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsxs)(`p`,{className:`text-[11px] uppercase tracking-widest text-primary font-medium`,children:[`Guided tour · `,u+1,` of `,s.length]}),(0,Y.jsx)(`h2`,{className:`font-semibold text-sm mt-1`,"aria-live":`polite`,children:l.title})]}),(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 min-w-11`,"aria-label":e?`Expand guide`:`Collapse guide`,onClick:()=>t(!e),children:e?(0,Y.jsx)(Ue,{}):(0,Y.jsx)(qe,{})}),(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 min-w-11`,"aria-label":`Pause tour`,onClick:i.pause,children:(0,Y.jsx)(he,{})})]}),!e&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`div`,{className:`flex gap-1 mt-3 mb-4`,"aria-label":`Tour progress`,children:s.map(e=>(0,Y.jsx)(`span`,{className:`h-1 flex-1 rounded-full ${i.completed.includes(e)?`bg-primary`:i.skipped.includes(e)?`bg-text-subtle`:`bg-border`}`},e))}),(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed`,children:l.body}),c===`file`&&(0,Y.jsx)(QM,{}),c===`run`&&(0,Y.jsx)(`p`,{className:`text-xs text-text-secondary mt-2`,children:`Open README directly, or package.json if no README is available. README Preview counts too.`}),c===`run`&&i.runDocumentReady&&(0,Y.jsxs)(`p`,{className:`text-sm text-primary mt-2 flex items-center gap-1`,children:[(0,Y.jsx)(An,{className:`size-4`}),`Run instructions opened`]}),(0,Y.jsx)(q,{className:`w-full mt-4 min-h-11`,onClick:()=>n(c),children:c===`run`&&i.runDocumentReady?`I know where to run commands`:l.action}),(c===`chat`||c===`send`)&&(0,Y.jsx)(q,{variant:`ghost`,className:`w-full min-h-11 mt-1`,onClick:r,children:`AI settings`}),(0,Y.jsx)(`button`,{className:`text-xs text-primary py-3 min-h-11`,onClick:()=>o(!a),"aria-expanded":a,children:a?`Less explanation`:`Explain this step`}),a&&(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed mb-3`,children:l.more}),(0,Y.jsx)(q,{variant:`link`,className:`w-full min-h-11`,onClick:ei,children:`Quick orientation`}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border pt-2`,children:[(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 px-2`,disabled:u===0,onClick:i.back,children:`Back`}),(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 px-2`,onClick:i.changeChoices,children:`Change guide`}),(0,Y.jsx)(q,{variant:`ghost`,className:`min-h-11 px-2`,onClick:i.skip,children:`Skip step`})]})]})]})}function eN(e){return Array.from(document.querySelectorAll(`[data-onboarding="${e}"]`)).find(e=>e.getClientRects().length>0&&e.getBoundingClientRect().width>0)}function tN({target:e,children:t,collapsed:n}){let r=Ir(),i=Ui(r),[a,o]=(0,J.useState)(null),s=(0,J.useRef)(null),[c,l]=(0,J.useState)(360);(0,J.useEffect)(()=>{if(!s.current)return;let e=new ResizeObserver(()=>l(s.current?.getBoundingClientRect().height??360));return e.observe(s.current),()=>e.disconnect()},[]),(0,J.useEffect)(()=>{if(!e||n){o(null);return}let t=()=>o(eN(e)?.getBoundingClientRect()??null);t();let r=window.setInterval(t,500);return window.addEventListener(`resize`,t),window.addEventListener(`scroll`,t,!0),()=>{clearInterval(r),window.removeEventListener(`resize`,t),window.removeEventListener(`scroll`,t,!0)}},[e,n]);let u=!r&&a&&a.right+380<window.innerWidth?a.right+12:void 0,d=n?48:!r&&a?Math.max(16,Math.min(u===void 0?a.top-c-12:a.top,window.innerHeight-c-44)):void 0;return(0,Y.jsxs)(Y.Fragment,{children:[a&&!r&&!n&&(0,Y.jsx)(`div`,{"aria-hidden":!0,className:`fixed pointer-events-none z-[59] rounded-md border-2 border-primary`,style:{left:a.left,top:a.top,width:a.width,height:a.height}}),(0,Y.jsx)(`aside`,{ref:s,"aria-label":`PPM guided tour`,className:`fixed z-[60] overflow-x-hidden rounded-xl border border-border bg-background text-foreground shadow-xl`,style:{width:r?`calc(100% - 24px)`:352,maxWidth:`calc(100vw - 24px)`,left:r?12:u,right:r||u!==void 0?void 0:20,top:d,bottom:d===void 0?r?(i?.keyboardInset??0)+60:44:void 0,maxHeight:r?`min(48dvh, 370px)`:`calc(100dvh - 80px)`,overflowY:`auto`},children:t})]})}function nN(e){let{status:t,currentStep:n,projectName:r,sessionId:i}=Jr();(0,J.useEffect)(()=>{if(t!==`active`||n!==`history`||!r||!i)return;let a=!1;return(async()=>{let t=0;for(let n=0;n<10;n++){let n=await z.get(`${R(r)}/chat/sessions?limit=100&offset=${t}`);if(a||n.sessions.some(e=>e.id===i))return;if(!n.hasMore){Jr.setState(e=>e.status===`active`&&e.sessionId===i&&e.currentStep===`history`?{currentStep:`chat`,sessionId:null,attempt:null,completed:e.completed.filter(e=>e===`project`),skipped:[]}:{}),e(`That conversation is no longer available. Open a chat to try again, or skip this step.`);return}t+=n.sessions.filter(e=>!e.pinned).length}a||e(`Open chat history to find the conversation, or skip this step.`)})().catch(()=>{a||e(`History could not be checked. Try the history menu again when connected, or pause the tour.`)}),()=>{a=!0}},[t,n,r,i,e])}function rN(e){let t=e.filter(e=>e.type===`file`).map(e=>e.name);return[`readme.md`,`readme.markdown`,`readme.txt`,`readme`,`readme.rst`,`package.json`].map(e=>t.find(t=>t.toLowerCase()===e)).find(Boolean)}async function iN(e,t){let n=await z.get(`${R(e)}/files/list`);if(!t())return`stale`;let r=rN(n);return r?(K.getState().openTab({type:`editor`,title:r,projectId:e,metadata:{projectName:e,filePath:r},closable:!0}),requestAnimationFrame(()=>window.dispatchEvent(new Event(`ppm:onboarding-refresh`))),`opened`):`missing`}function aN({openProjects:e,openNavigation:t,closeNavigation:n,paletteOpen:r=!1,navigationOpen:i=!1}){let a=Jr(),o=G(e=>e.activeProject),s=Ir(),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(!1);(0,J.useEffect)(()=>{let e=()=>p(!0);return window.addEventListener(ni,e),()=>window.removeEventListener(ni,e)},[]),nN(d),(0,J.useEffect)(()=>{let e=e=>Jr.getState().observe(e.detail);return window.addEventListener(Np,e),()=>window.removeEventListener(Np,e)},[]),(0,J.useEffect)(()=>{a.setProjectContext(o?.name??null)},[o?.name,a.setProjectContext]),(0,J.useEffect)(()=>{if(a.status!==`active`)return;d(``),l(!1);let e=window.setTimeout(()=>window.dispatchEvent(new Event(`ppm:onboarding-refresh`)),50);return()=>clearTimeout(e)},[a.status,a.currentStep]),(0,J.useEffect)(()=>{if(a.status!==`active`||f||r)return;let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&Jr.getState().pause()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[a.status,f,r]);function m(e){if(s)t(e),l(!0);else{let t=V.getState();t.sidebarCollapsed&&t.toggleSidebar(),t.setSidebarActiveTab(e)}}function h(e){if(!o){a.setProjectContext(null);return}n();let t=K.getState();t.tabs.find(n=>n.id===t.activeTabId&&n.type===e&&n.projectId===o.name)||t.openTab({type:e,title:e===`chat`?`New Chat`:`Terminal - ${o.name}`,projectId:o.name,metadata:{projectName:o.name},closable:!0}),window.setTimeout(()=>window.dispatchEvent(new Event(`ppm:onboarding-refresh`)),50),s&&l(!0)}function g(t){if(t===`project`)if(s)e(),l(!0);else{let e=V.getState();e.sidebarCollapsed&&e.toggleSidebar(),window.setTimeout(()=>eN(`project`)?.click(),0)}else if(t===`run`){if(!o){d(`Choose a project first, or skip this step.`);return}if(a.runDocumentReady){a.observe({type:`run-acknowledged`,projectName:o.name,visible:!0});return}let e=o.name,t=()=>{let t=Jr.getState();return t.status===`active`&&t.currentStep===`run`&&t.projectName===e&&G.getState().activeProject?.name===e};d(`Looking for README or package.json…`),iN(e,t).then(e=>{t()&&(e===`missing`?d(`No README or package.json found in the project root. Browse Files to find other documentation, or skip this step.`):e===`opened`&&(n(),l(!0),d(``)))}).catch(()=>{t()&&d(`Could not find run instructions. Click Find run instructions to retry, or skip this step.`)})}else if(t===`file`)m(`explorer`);else if(t===`search`||t===`git`)m(t);else if(t===`chat`||t===`terminal`)h(t);else if(t===`send`&&o)window.dispatchEvent(new CustomEvent(`ppm:onboarding-prompt`,{detail:{projectName:o.name,text:qM}})),d(`Review the question in chat, then send it yourself. If you already have a draft, it stays unchanged.`),l(!0);else if(t===`history`){let e=eN(`chat-history`);e?(e.click(),l(!0)):d(`Open the chat you used, then choose its history menu. You can skip if no conversation was created.`)}}return r||s&&i&&c&&a.status===`active`?null:f?(0,Y.jsx)(Qr,{onClose:()=>p(!1),onTryPalette:()=>{p(!1),l(!0),requestAnimationFrame(()=>Rc())}}):a.status===`dismissed`?null:a.status===`choosing`?(0,Y.jsx)(ZM,{projectName:o?.name}):(0,Y.jsx)(tN,{collapsed:c,target:a.status===`active`&&a.currentStep?$r[a.currentStep]:void 0,children:(0,Y.jsx)(Xr,{stepKey:a.status===`active`?a.currentStep??`project`:a.status,order:a.status===`finished`?100:a.status===`active`?ti(a.goal).indexOf(a.currentStep)+1:0,children:a.status===`active`?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)($M,{collapsed:c,setCollapsed:l,onAction:g,onSettings:()=>{Ic(`ai-provider`),l(!0)}}),u&&!c&&(0,Y.jsx)(`p`,{role:`status`,className:`px-4 pb-4 text-xs text-text-secondary`,children:u})]}):(0,Y.jsxs)(`div`,{className:`p-5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-primary text-xs uppercase tracking-widest`,children:[(0,Y.jsx)(hn,{className:`size-4`}),`Your first steps`]}),(0,Y.jsx)(`h2`,{className:`font-semibold text-lg mt-2`,children:a.status===`finished`?`Your walkthrough is complete`:a.status===`paused`?`Continue when you're ready`:`Get started with PPM`}),(0,Y.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed mt-2`,children:a.status===`finished`?`${a.completed.length} steps completed${a.skipped.length?` · ${a.skipped.length} skipped`:``}. Choose another path, or keep exploring.`:a.status===`paused`?`Your progress is saved in this browser. Resume here or choose a different guide.`:`Choose a guide that fits your experience, then try your first task.`}),(0,Y.jsx)(q,{className:`w-full min-h-11 mt-4`,onClick:()=>{l(!1),a.status===`paused`?a.resume(o?.name??null):a.status===`finished`?a.replay():a.begin()},children:a.status===`paused`?`Resume tour`:a.status===`finished`?`Try another guide`:`Start guided tour`}),(0,Y.jsx)(q,{variant:`ghost`,className:`w-full min-h-11 mt-1`,onClick:a.dismiss,children:a.status===`finished`?`Keep exploring`:`Maybe later`}),(0,Y.jsx)(q,{variant:`link`,className:`w-full min-h-11`,onClick:()=>p(!0),children:`Quick orientation`})]})})})}var oN=(0,J.lazy)(()=>H(()=>import(`./mobile-explorer-sheet-DbrEMTTr.js`).then(e=>({default:e.MobileExplorerSheet})),__vite__mapDeps([192,1,2,3,4,82,7,27,8,10,36,11,54,55,56,12,13,14,35,58,41,16,21,18,25,9,83,44,39]))),sN=(0,J.lazy)(()=>H(()=>import(`./team-member-sheet-DoeUyf_H.js`).then(e=>({default:e.TeamMemberSheet})),__vite__mapDeps([193,1,2,3,4,34,10,11,35,12,7,13,14,16]))),cN=(0,J.lazy)(()=>H(()=>import(`./remote-desktop-mobile-sheet-Ld9ebBdx.js`).then(e=>({default:e.RemoteDesktopMobileSheet})),__vite__mapDeps([194,1,2,3,4,8,9,10,11,89,16,17,18,7,13])));function lN(){let[e,t]=(0,J.useState)(`checking`),n=Ir(),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(),[s,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)(()=>new Set([`__global__`]));KS(),(0,J.useEffect)(()=>{ZO(),WO(),BA()},[]);let d=V(e=>e.deviceName),f=G(e=>e.fetchProjects),p=V(e=>e.fetchServerInfo),m=G(e=>e.activeProject),h=(0,J.useRef)(r_());(0,J.useEffect)(()=>{p()},[p,e===`authenticated`]),(0,J.useEffect)(()=>{async function e(){let e=Wn();try{let n={};e&&(n.Authorization=`Bearer ${e}`),(await(await fetch(`/api/auth/check`,{headers:n})).json()).ok?t(`authenticated`):t(`unauthenticated`)}catch{t(`unauthenticated`)}}e()},[]),u_();let{paletteOpen:g,paletteInitialQuery:_,closePalette:v}=zc();QA(),tj(),vj(),kM(e===`authenticated`),pj(e===`authenticated`,m?.name),cj(),(0,J.useEffect)(()=>{if(e!==`authenticated`)return;let t=e=>{zM()||e.preventDefault()};return window.addEventListener(`beforeunload`,t),()=>window.removeEventListener(`beforeunload`,t)},[e]),(0,J.useEffect)(()=>{e===`authenticated`&&(H(async()=>{let{useKeybindingsStore:e}=await import(`./keybindings-store-jilemP-j.js`);return{useKeybindingsStore:e}},__vite__mapDeps([195,3,1,4,8])).then(({useKeybindingsStore:e})=>{e.getState().loadFromServer()}),G.getState().hydrateUiPrefs())},[e]),(0,J.useEffect)(()=>{e===`authenticated`&&f().then(async()=>{let e=h.current,{projects:t,customOrder:n}=G.getState();if(t.length===0)return;let r=e.projectName?t.find(t=>t.name===e.projectName):void 0;if(r||=mr(t,n)[0],r&&(await Zn(r.name),G.getState().setActiveProject(r),K.getState().switchProject(r.name),e.tabType&&l_(e.tabType,e.tabIdentifier,r.name),e.openChat)){l_(`chat`,e.openChat,r.name);let t=new URL(window.location.href);t.searchParams.delete(`openChat`),window.history.replaceState(null,``,t.pathname)}})},[e,f]),(0,J.useEffect)(()=>{let e=m?.name??`__global__`,t=!1;return(async()=>{e!==`__global__`&&!localStorage.getItem(`ppm-panels-${e}`)&&(await Zn(e),t)||K.getState().switchProject(e)})(),()=>{t=!0}},[m?.name]),(0,J.useEffect)(()=>{e!==`authenticated`||!m?.name||H(async()=>{let{useNotificationStore:e}=await import(`./notification-store-B4AUFEhp.js`);return{useNotificationStore:e}},__vite__mapDeps([196,3,1,4,8])).then(({useNotificationStore:e})=>{e.getState().loadFromServer(m.name)})},[e,m?.name]),(0,J.useEffect)(()=>{let e=m?.name??`__global__`;u(t=>t.has(e)?t:new Set([...t,e]))},[m?.name]),(0,J.useEffect)(()=>{e===`authenticated`&&!m&&K.getState().switchProject(`__global__`)},[e,m]);let y=(0,J.useCallback)(()=>{t(`authenticated`)},[]);if(e===`checking`)return(0,Y.jsx)(`div`,{className:`app-backdrop min-h-dvh flex items-center justify-center`,children:(0,Y.jsx)(`div`,{className:`animate-pulse text-text-secondary text-sm`,children:`Loading...`})});if(e===`unauthenticated`)return(0,Y.jsx)(GS,{onSuccess:y});let b=m?.name??`__global__`;return(0,Y.jsx)(ga,{children:(0,Y.jsxs)(`div`,{className:`app-backdrop h-dvh flex flex-col text-foreground overflow-hidden relative`,children:[(0,Y.jsx)(`div`,{className:`fixed z-50 overflow-hidden pointer-events-none max-md:right-0 max-md:top-0 md:left-0 md:top-0 w-10 h-10`,children:(0,Y.jsx)(`div`,{className:`absolute flex items-center justify-center max-md:rotate-45 max-md:right-[-18px] max-md:top-[4px] md:-rotate-45 md:left-[-18px] md:top-[4px] w-[60px] bg-warning text-white text-[6px] font-bold leading-none py-[2.5px] shadow-sm`,children:`BETA`})}),d&&(0,Y.jsx)(`div`,{className:`md:hidden fixed left-0 top-0 z-50 px-2 py-0.5 bg-primary/80 text-primary-foreground text-[10px] font-medium rounded-br`,children:d}),(0,Y.jsx)(ky,{}),(0,Y.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,Y.jsx)(Sv,{}),(0,Y.jsxs)(`div`,{className:`relative flex-1 flex flex-col overflow-hidden`,children:[[...l].map(e=>(0,Y.jsx)(`div`,{className:U(`flex-1 overflow-hidden pb-12 md:pb-0`,b!==e&&`hidden`),children:(0,Y.jsx)(Pu,{projectName:e})},e)),(0,Y.jsx)(ou,{}),(0,Y.jsx)(jy,{}),(0,Y.jsx)(hS,{})]})]}),(0,Y.jsx)(xS,{onMenuPress:()=>i(!0),onProjectsPress:()=>c(!0)}),(0,Y.jsx)(AS,{isOpen:r,onClose:()=>{i(!1),o(void 0)},initialTab:a}),(0,Y.jsx)(jS,{isOpen:s,onClose:()=>c(!1)}),(0,Y.jsx)(aN,{paletteOpen:g,navigationOpen:r||s,openProjects:()=>c(!0),openNavigation:e=>{o(e),i(!0)},closeNavigation:()=>{i(!1),c(!1)}}),(0,Y.jsx)(Hj,{open:g,onClose:v,initialQuery:_}),(0,Y.jsx)(Wj,{}),(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(oN,{})}),(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(sN,{})}),(0,Y.jsx)(J.Suspense,{fallback:null,children:(0,Y.jsx)(cN,{})}),(0,Y.jsx)(zS,{}),(0,Y.jsx)(Gj,{}),(0,Y.jsx)(eM,{}),(0,Y.jsx)(lM,{}),(0,Y.jsx)(mM,{}),(0,Y.jsx)(yM,{}),(0,Y.jsx)(xM,{}),(0,Y.jsx)(vM,{}),(0,Y.jsx)(IM,{}),(0,Y.jsx)(ma,{position:n?`top-center`:`bottom-left`,closeButton:!0,toastOptions:{className:`bg-surface border-border text-foreground`}})]})})}var uN={minHeight:`100dvh`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`24px`,background:`var(--bg-solid, #0a0e17)`,color:`var(--text, #eaeefb)`,font:`16px/1.5 system-ui, sans-serif`},dN={width:`100%`,maxWidth:`440px`,background:`var(--panel, #141820)`,border:`1px solid var(--border, rgba(255,255,255,0.12))`,borderRadius:`var(--rad, 18px)`,padding:`24px`},fN={minHeight:`44px`,width:`100%`,marginTop:`20px`,padding:`0 20px`,border:`none`,borderRadius:`var(--rad-sm, 12px)`,background:`var(--accent, #5b8cff)`,color:`var(--accent-fg, #fff)`,font:`inherit`,fontWeight:600,cursor:`pointer`},pN={marginTop:`16px`,maxHeight:`8lh`,overflow:`auto`,color:`var(--text-2, #9aa6c2)`,fontFamily:`ui-monospace, monospace`,fontSize:`13px`,whiteSpace:`pre-wrap`,wordBreak:`break-word`},mN=class extends J.Component{state={error:null,stale:!1};static getDerivedStateFromError(e){return{error:e,stale:VM(e)}}componentDidCatch(e,t){console.error(`[ppm] unhandled render error`,e,t.componentStack)}render(){let{error:e,stale:t}=this.state;return e?(0,Y.jsx)(`div`,{style:uN,children:(0,Y.jsxs)(`div`,{style:dN,role:`alert`,children:[(0,Y.jsx)(`h1`,{style:{margin:0,fontSize:`18px`,fontWeight:600},children:t?`PPM has been updated`:`Something went wrong`}),(0,Y.jsx)(`p`,{style:{margin:`12px 0 0`,color:`var(--text-2, #9aa6c2)`},children:t?`This tab is still running an older version and asked for a file that no longer exists. Reloading picks up the new one.`:`The page could not finish rendering. Reloading usually clears it.`}),!t&&(0,Y.jsx)(`div`,{style:pN,children:e.message}),(0,Y.jsx)(`button`,{type:`button`,style:fN,onClick:()=>void UM(),children:`Reload`})]})}):this.props.children}};if(typeof Node<`u`){let e=Node.prototype.removeChild;Node.prototype.removeChild=function(t){try{return e.call(this,t)}catch(e){if(e instanceof DOMException&&e.name===`NotFoundError`)return t;throw e}};let t=Node.prototype.insertBefore;Node.prototype.insertBefore=function(e,n){try{return t.call(this,e,n)}catch(t){if(t instanceof DOMException&&t.name===`NotFoundError`)return e;throw t}}}window.__ppmEntryRan=!0,GM(),(0,pa.createRoot)(document.getElementById(`root`)).render((0,Y.jsx)(J.StrictMode,{children:(0,Y.jsx)(mN,{children:(0,Y.jsx)(lN,{})})}));export{Dm as $,Su as $t,Ug as A,va as An,Dd as At,xg as B,yd as Bt,ty as C,Es as Cn,mf as Ct,C_ as D,ms as Dn,Hd as Dt,mv as E,hs as En,Vd as Et,Vg as F,Sd as Ft,vh as G,mu as Gt,Ph as H,Uu as Ht,zg as I,bd as It,eh as J,_u as Jt,Xm as K,hu as Kt,Bg as L,Cd as Lt,Fg as M,Q as Mt,Kg as N,$ as Nt,y_ as O,_a as On,zd as Ot,Gg as P,xd as Pt,Nm as Q,Cu as Qt,Wg as R,Td as Rt,Zv as S,Ts as Sn,Sf as St,Kv as T,Cs as Tn,df as Tt,Sh as U,du as Ut,Rh as V,pd as Vt,_h as W,gu as Wt,Zm as X,bu as Xt,Qm as Y,vu as Yt,Ym as Z,xu as Zt,BS as _,Is as _n,Kf as _t,jj as a,Yc as an,Fp as at,$v as b,bs as bn,Tf as bt,$A as c,Pc as cn,yp as ct,xA as d,Oc as dn,fp as dt,pu as en,tm as et,qO as f,kc as fn,lp as ft,oE as g,Ls as gn,Gf as gt,cE as h,Vs as hn,Jf as ht,Mj as i,Sl as in,$p as it,Rg as j,aa as jn,vd as jt,Jg as k,ya as kn,Nd as kt,NA as l,Tc as ln,vp as lt,KO as m,Nc as mn,Yf as mt,aM as n,Z as nn,em as nt,wj as o,Rc as on,Pp as ot,UO as p,Dc as pn,$f as pt,$m as q,yu as qt,Kj as r,Al as rn,Qp as rt,dj as s,Ic as sn,Dp as st,dM as t,Zl as tn,nm as tt,EA as u,Ac as un,pp as ut,Zy as v,Fs as vn,Wf as vt,Qv as w,ws as wn,pf as wt,ey as x,Ss as xn,Cf as xt,iy as y,Ds as yn,Hf as yt,Lg as z,wd as zt};