@hienlh/ppm 0.23.26 → 0.23.27
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.
- package/CHANGELOG.md +6 -0
- package/assets/skills/ppm/SKILL.md +1 -1
- package/assets/skills/ppm/references/http-api.md +1 -1
- package/dist/web/assets/accounts-settings-section-CZglHifc.js +1 -0
- package/dist/web/assets/accounts-settings-section-CZglHifc.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-CZglHifc.js.gz +0 -0
- package/dist/web/assets/{agent-session-sheet-DmbSfFGz.js → agent-session-sheet-B3VLD2H6.js} +2 -2
- package/dist/web/assets/agent-session-sheet-B3VLD2H6.js.br +0 -0
- package/dist/web/assets/agent-session-sheet-B3VLD2H6.js.gz +0 -0
- package/dist/web/assets/{agent-session-window-content-Dk8x3ozF.js → agent-session-window-content-HEdIT_LQ.js} +1 -1
- package/dist/web/assets/agent-session-window-content-HEdIT_LQ.js.br +0 -0
- package/dist/web/assets/agent-session-window-content-HEdIT_LQ.js.gz +0 -0
- package/dist/web/assets/{ai-resource-editor-MKwjYcDh.js → ai-resource-editor-CFbXgGMo.js} +1 -1
- package/dist/web/assets/ai-resource-editor-CFbXgGMo.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-CFbXgGMo.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-BNiVD9D3.js +1 -0
- package/dist/web/assets/ai-settings-section-BNiVD9D3.js.br +0 -0
- package/dist/web/assets/ai-settings-section-BNiVD9D3.js.gz +0 -0
- package/dist/web/assets/{ai-settings-section-OZOaLw5z.js → ai-settings-section-W0kfADRB.js} +1 -1
- package/dist/web/assets/{android-tab-CUkjbfyi.js → android-tab-CY3aa_vU.js} +1 -1
- package/dist/web/assets/android-tab-CY3aa_vU.js.br +0 -0
- package/dist/web/assets/android-tab-CY3aa_vU.js.gz +0 -0
- package/dist/web/assets/{appearance-settings-section-BZsM8HpZ.js → appearance-settings-section-lbtuzecW.js} +1 -1
- package/dist/web/assets/appearance-settings-section-lbtuzecW.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-lbtuzecW.js.gz +0 -0
- package/dist/web/assets/{apps-panel-Cs3utBlp.js → apps-panel-CF2mbvVq.js} +1 -1
- package/dist/web/assets/apps-panel-CF2mbvVq.js.br +0 -0
- package/dist/web/assets/apps-panel-CF2mbvVq.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-CR7JnS5x.js +1 -0
- package/dist/web/assets/branch-review-tab-CR7JnS5x.js.br +0 -0
- package/dist/web/assets/branch-review-tab-CR7JnS5x.js.gz +0 -0
- package/dist/web/assets/chat-tab-BCELq4nK.js +1 -0
- package/dist/web/assets/chat-tab-BCELq4nK.js.br +0 -0
- package/dist/web/assets/chat-tab-BCELq4nK.js.gz +0 -0
- package/dist/web/assets/{chat-tab-DtSHSfMU.js → chat-tab-C4aOYSea.js} +10 -10
- package/dist/web/assets/chat-tab-C4aOYSea.js.br +0 -0
- package/dist/web/assets/chat-tab-C4aOYSea.js.gz +0 -0
- package/dist/web/assets/{code-editor-DjDyhff1.js → code-editor-_axJbYkP.js} +5 -5
- package/dist/web/assets/code-editor-_axJbYkP.js.br +0 -0
- package/dist/web/assets/code-editor-_axJbYkP.js.gz +0 -0
- package/dist/web/assets/{codex-reset-credit-button-BKgiUi8E.js → codex-reset-credit-button-DJQD6NUF.js} +1 -1
- package/dist/web/assets/codex-reset-credit-button-DJQD6NUF.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-DJQD6NUF.js.gz +0 -0
- package/dist/web/assets/{conflict-editor-DgTv-8pb.js → conflict-editor-D0AYuLKI.js} +3 -3
- package/dist/web/assets/conflict-editor-D0AYuLKI.js.br +0 -0
- package/dist/web/assets/conflict-editor-D0AYuLKI.js.gz +0 -0
- package/dist/web/assets/connection-form-tab-C3QyUWnE.js +4 -0
- package/dist/web/assets/connection-form-tab-C3QyUWnE.js.br +0 -0
- package/dist/web/assets/connection-form-tab-C3QyUWnE.js.gz +0 -0
- package/dist/web/assets/{csv-preview-BTGpYs4p.js → csv-preview-CmKkcz4M.js} +1 -1
- package/dist/web/assets/csv-preview-CmKkcz4M.js.br +0 -0
- package/dist/web/assets/csv-preview-CmKkcz4M.js.gz +0 -0
- package/dist/web/assets/{db-explorer-store-DDePT3UI.js → db-explorer-store-DJNNIfN5.js} +1 -1
- package/dist/web/assets/db-explorer-store-DJNNIfN5.js.br +0 -0
- package/dist/web/assets/db-explorer-store-DJNNIfN5.js.gz +0 -0
- package/dist/web/assets/{db-sidebar-reveal-BeT8cp6P.js → db-sidebar-reveal-CGqWBYay.js} +1 -1
- package/dist/web/assets/db-sidebar-reveal-CGqWBYay.js.br +0 -0
- package/dist/web/assets/db-sidebar-reveal-CGqWBYay.js.gz +0 -0
- package/dist/web/assets/{db-tab-parts-BYzd4_sR.js → db-tab-parts-BXL34wrZ.js} +1 -1
- package/dist/web/assets/db-tab-parts-BXL34wrZ.js.br +0 -0
- package/dist/web/assets/db-tab-parts-BXL34wrZ.js.gz +0 -0
- package/dist/web/assets/{design-settings-section-B3KQBggK.js → design-settings-section-DukfVtwP.js} +2 -2
- package/dist/web/assets/design-settings-section-DukfVtwP.js.br +0 -0
- package/dist/web/assets/design-settings-section-DukfVtwP.js.gz +0 -0
- package/dist/web/assets/{design-tab-CPyj_nFg.js → design-tab-BoPiL2ge.js} +5 -5
- package/dist/web/assets/design-tab-BoPiL2ge.js.br +0 -0
- package/dist/web/assets/design-tab-BoPiL2ge.js.gz +0 -0
- package/dist/web/assets/{designs-sidebar-panel-DIGPFo2l.js → designs-sidebar-panel-BVTqPPzG.js} +1 -1
- package/dist/web/assets/designs-sidebar-panel-BVTqPPzG.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-BVTqPPzG.js.gz +0 -0
- package/dist/web/assets/diff-viewer-C86mR7vD.js +4 -0
- package/dist/web/assets/diff-viewer-C86mR7vD.js.br +0 -0
- package/dist/web/assets/diff-viewer-C86mR7vD.js.gz +0 -0
- package/dist/web/assets/{docx-preview-CowHGqML.js → docx-preview-B9EhDCMi.js} +1 -1
- package/dist/web/assets/docx-preview-B9EhDCMi.js.br +0 -0
- package/dist/web/assets/docx-preview-B9EhDCMi.js.gz +0 -0
- package/dist/web/assets/{editor-dialog-xPoehDYp.js → editor-dialog-DTDsbJd6.js} +1 -1
- package/dist/web/assets/editor-dialog-DTDsbJd6.js.br +0 -0
- package/dist/web/assets/editor-dialog-DTDsbJd6.js.gz +0 -0
- package/dist/web/assets/{editor-language-service-DdYqCDBU.js → editor-language-service-BtrrQAS2.js} +1 -1
- package/dist/web/assets/editor-language-service-BtrrQAS2.js.br +0 -0
- package/dist/web/assets/editor-language-service-BtrrQAS2.js.gz +0 -0
- package/dist/web/assets/explorer-body-DLaWmxri.js +2 -0
- package/dist/web/assets/explorer-body-DLaWmxri.js.br +0 -0
- package/dist/web/assets/explorer-body-DLaWmxri.js.gz +0 -0
- package/dist/web/assets/{explorer-model-tGyFETP_.js → explorer-model-f5q-50DN.js} +1 -1
- package/dist/web/assets/explorer-model-f5q-50DN.js.br +0 -0
- package/dist/web/assets/explorer-model-f5q-50DN.js.gz +0 -0
- package/dist/web/assets/{explorer-window-content-B1c4QTVL.js → explorer-window-content-CbUIbrzL.js} +1 -1
- package/dist/web/assets/explorer-window-content-CbUIbrzL.js.br +0 -0
- package/dist/web/assets/explorer-window-content-CbUIbrzL.js.gz +0 -0
- package/dist/web/assets/{extension-manager-section-BgL0Uyl3.js → extension-manager-section-BpKMyLwI.js} +1 -1
- package/dist/web/assets/extension-manager-section-BpKMyLwI.js.br +0 -0
- package/dist/web/assets/extension-manager-section-BpKMyLwI.js.gz +0 -0
- package/dist/web/assets/{extension-webview-BWB1Yd-t.js → extension-webview-BGfyaXMI.js} +1 -1
- package/dist/web/assets/extension-webview-BGfyaXMI.js.br +0 -0
- package/dist/web/assets/extension-webview-BGfyaXMI.js.gz +0 -0
- package/dist/web/assets/{files-settings-section-TmoewoO2.js → files-settings-section-CQT9_rX2.js} +1 -1
- package/dist/web/assets/files-settings-section-CQT9_rX2.js.br +0 -0
- package/dist/web/assets/files-settings-section-CQT9_rX2.js.gz +0 -0
- package/dist/web/assets/{general-settings-section-Bu7o8uUn.js → general-settings-section-BoQGeqBi.js} +1 -1
- package/dist/web/assets/general-settings-section-BoQGeqBi.js.br +0 -0
- package/dist/web/assets/general-settings-section-BoQGeqBi.js.gz +0 -0
- package/dist/web/assets/{git-log-panel-RjMZIaCk.js → git-log-panel-T8Fzn8-5.js} +1 -1
- package/dist/web/assets/git-log-panel-T8Fzn8-5.js.br +0 -0
- package/dist/web/assets/git-log-panel-T8Fzn8-5.js.gz +0 -0
- package/dist/web/assets/git-review-tab-WzuX4Ml9.js +3 -0
- package/dist/web/assets/git-review-tab-WzuX4Ml9.js.br +0 -0
- package/dist/web/assets/git-review-tab-WzuX4Ml9.js.gz +0 -0
- package/dist/web/assets/{glide-data-grid-DqlTFhhf.js → glide-data-grid-BBzGDYvj.js} +8 -8
- package/dist/web/assets/glide-data-grid-BBzGDYvj.js.br +0 -0
- package/dist/web/assets/glide-data-grid-BBzGDYvj.js.gz +0 -0
- package/dist/web/assets/{grid-save-dialog-BmF2Gy_E.js → grid-save-dialog-HiqlnSky.js} +1 -1
- package/dist/web/assets/grid-save-dialog-HiqlnSky.js.br +0 -0
- package/dist/web/assets/grid-save-dialog-HiqlnSky.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-URU3FCLs.js +1 -0
- package/dist/web/assets/group-chat-tab-URU3FCLs.js.br +0 -0
- package/dist/web/assets/group-chat-tab-URU3FCLs.js.gz +0 -0
- package/dist/web/assets/{impexp-tab-B8d4oBOB.js → impexp-tab-B0m1Q8ia.js} +1 -1
- package/dist/web/assets/impexp-tab-B0m1Q8ia.js.br +0 -0
- package/dist/web/assets/impexp-tab-B0m1Q8ia.js.gz +0 -0
- package/dist/web/assets/index-Cb3Z6wNy.css +1 -0
- package/dist/web/assets/index-Cb3Z6wNy.css.br +0 -0
- package/dist/web/assets/{index-2_Pz5MiI.css.gz → index-Cb3Z6wNy.css.gz} +0 -0
- package/dist/web/assets/{index-Cx9ZRibz.js → index-Vd9Xr54k.js} +19 -19
- package/dist/web/assets/index-Vd9Xr54k.js.br +0 -0
- package/dist/web/assets/index-Vd9Xr54k.js.gz +0 -0
- package/dist/web/assets/{jira-watcher-section-LGTWVN87.js → jira-watcher-section-CnSTbAF6.js} +1 -1
- package/dist/web/assets/keybindings-store-D_U8jECl.js +1 -0
- package/dist/web/assets/{keyboard-shortcuts-section-BSMgmbOR.js → keyboard-shortcuts-section-CU7JjDsU.js} +1 -1
- package/dist/web/assets/keyboard-shortcuts-section-CU7JjDsU.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-CU7JjDsU.js.gz +0 -0
- package/dist/web/assets/{language-servers-section-DO9wnwnG.js → language-servers-section-CzUG9H69.js} +2 -2
- package/dist/web/assets/language-servers-section-CzUG9H69.js.br +0 -0
- package/dist/web/assets/language-servers-section-CzUG9H69.js.gz +0 -0
- package/dist/web/assets/logs-app-CDSvyY1H.js +13 -0
- package/dist/web/assets/logs-app-CDSvyY1H.js.br +0 -0
- package/dist/web/assets/logs-app-CDSvyY1H.js.gz +0 -0
- package/dist/web/assets/logs-tab-CQw9vrNw.js +1 -0
- package/dist/web/assets/{logs-window-content-Cejko0VD.js → logs-window-content-CGvPnPrr.js} +1 -1
- package/dist/web/assets/{lsp-client-IsC8Ol0U.js → lsp-client-CpjPUUYJ.js} +1 -1
- package/dist/web/assets/lsp-client-CpjPUUYJ.js.br +0 -0
- package/dist/web/assets/lsp-client-CpjPUUYJ.js.gz +0 -0
- package/dist/web/assets/{markdown-renderer-D5vxN2fO.js → markdown-renderer-3ZR2x0CC.js} +1 -1
- package/dist/web/assets/{markdown-renderer-BfZiHaNy.js → markdown-renderer-DZNMRg6p.js} +2 -2
- package/dist/web/assets/markdown-renderer-DZNMRg6p.js.br +0 -0
- package/dist/web/assets/markdown-renderer-DZNMRg6p.js.gz +0 -0
- package/dist/web/assets/{mobile-explorer-sheet-Dz3eJdBl.js → mobile-explorer-sheet-D7e-MM6m.js} +1 -1
- package/dist/web/assets/mobile-explorer-sheet-D7e-MM6m.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-D7e-MM6m.js.gz +0 -0
- package/dist/web/assets/{new-design-dialog-B8zeJoJQ.js → new-design-dialog-BthM423i.js} +1 -1
- package/dist/web/assets/new-design-dialog-BthM423i.js.br +0 -0
- package/dist/web/assets/new-design-dialog-BthM423i.js.gz +0 -0
- package/dist/web/assets/notification-store-GKweleCQ.js +1 -0
- package/dist/web/assets/{notifications-settings-section-CMZXQw72.js → notifications-settings-section-TS3gNFcc.js} +1 -1
- package/dist/web/assets/notifications-settings-section-TS3gNFcc.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-TS3gNFcc.js.gz +0 -0
- package/dist/web/assets/{open-db-tabs-DYTZbguT.js → open-db-tabs-DBgV2hbA.js} +1 -1
- package/dist/web/assets/open-db-tabs-DBgV2hbA.js.br +0 -0
- package/dist/web/assets/open-db-tabs-DBgV2hbA.js.gz +0 -0
- package/dist/web/assets/{open-settings-BGtoVEAU.js → open-settings-DWbF5YsE.js} +1 -1
- package/dist/web/assets/{overview-panel-7_8b6pwr.js → overview-panel-C5EmTk1R.js} +1 -1
- package/dist/web/assets/overview-panel-C5EmTk1R.js.br +0 -0
- package/dist/web/assets/overview-panel-C5EmTk1R.js.gz +0 -0
- package/dist/web/assets/{panel-store-Dx2ziBLp.js → panel-store-H7e9XHZF.js} +1 -1
- package/dist/web/assets/panel-store-H7e9XHZF.js.br +0 -0
- package/dist/web/assets/panel-store-H7e9XHZF.js.gz +0 -0
- package/dist/web/assets/{patch-tab-metadata-DTbCkVvx.js → patch-tab-metadata-DqvfqUI4.js} +1 -1
- package/dist/web/assets/{performance-panel-COQNCyEU.js → performance-panel-Jwab-_Z2.js} +1 -1
- package/dist/web/assets/performance-panel-Jwab-_Z2.js.br +0 -0
- package/dist/web/assets/performance-panel-Jwab-_Z2.js.gz +0 -0
- package/dist/web/assets/{ppmbot-settings-section-CmhbbZVI.js → ppmbot-settings-section-D8jIlmp8.js} +1 -1
- package/dist/web/assets/ppmbot-settings-section-D8jIlmp8.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-D8jIlmp8.js.gz +0 -0
- package/dist/web/assets/{pptx-export-COeBmnFJ.js → pptx-export-gXOWUZXL.js} +3 -3
- package/dist/web/assets/pptx-export-gXOWUZXL.js.br +0 -0
- package/dist/web/assets/pptx-export-gXOWUZXL.js.gz +0 -0
- package/dist/web/assets/{problems-panel-I0EYfa1S.js → problems-panel-DjCHA1r5.js} +1 -1
- package/dist/web/assets/problems-panel-DjCHA1r5.js.br +0 -0
- package/dist/web/assets/problems-panel-DjCHA1r5.js.gz +0 -0
- package/dist/web/assets/{process-table-or-X8Lwh.js → process-table-BxXEh4tN.js} +1 -1
- package/dist/web/assets/process-table-BxXEh4tN.js.br +0 -0
- package/dist/web/assets/process-table-BxXEh4tN.js.gz +0 -0
- package/dist/web/assets/{proxy-settings-section-DpJ6ok4C.js → proxy-settings-section-B8igco2L.js} +1 -1
- package/dist/web/assets/proxy-settings-section-B8igco2L.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-B8igco2L.js.gz +0 -0
- package/dist/web/assets/{query-tab-DeNZMZHX.js → query-tab-DHU3ANHN.js} +3 -3
- package/dist/web/assets/query-tab-DHU3ANHN.js.br +0 -0
- package/dist/web/assets/query-tab-DHU3ANHN.js.gz +0 -0
- package/dist/web/assets/release-notes-window-content-B33RDfFY.js +1 -0
- package/dist/web/assets/remote-access-settings-section-CoYQTFKd.js +1 -0
- package/dist/web/assets/remote-access-settings-section-CoYQTFKd.js.br +0 -0
- package/dist/web/assets/remote-access-settings-section-CoYQTFKd.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-clipboard-notice-CGDBpXMf.js → remote-desktop-clipboard-notice-Dwn-iV4g.js} +1 -1
- package/dist/web/assets/remote-desktop-clipboard-notice-Dwn-iV4g.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-Dwn-iV4g.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-mobile-sheet-6nXirdqZ.js → remote-desktop-mobile-sheet-bfKiSG0C.js} +2 -2
- package/dist/web/assets/remote-desktop-mobile-sheet-bfKiSG0C.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-bfKiSG0C.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-mobile-view-BTaj9Flo.js → remote-desktop-mobile-view-CV8eHh4A.js} +1 -1
- package/dist/web/assets/remote-desktop-mobile-view-CV8eHh4A.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-CV8eHh4A.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-readiness-gate--gtmfqZh.js → remote-desktop-readiness-gate-DrSYb_9z.js} +1 -1
- package/dist/web/assets/remote-desktop-readiness-gate-DrSYb_9z.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate-DrSYb_9z.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-settings-section-Bs5avYaS.js → remote-desktop-settings-section-DRO8n8t7.js} +1 -1
- package/dist/web/assets/remote-desktop-settings-section-DRO8n8t7.js.br +0 -0
- package/dist/web/assets/remote-desktop-settings-section-DRO8n8t7.js.gz +0 -0
- package/dist/web/assets/{remote-desktop-window-content-D4CM-28B.js → remote-desktop-window-content-CAuxeGbK.js} +1 -1
- package/dist/web/assets/remote-desktop-window-content-CAuxeGbK.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-CAuxeGbK.js.gz +0 -0
- package/dist/web/assets/{rename-object-dialog-Dv4iLwnf.js → rename-object-dialog-BPuh3dAH.js} +1 -1
- package/dist/web/assets/rename-object-dialog-BPuh3dAH.js.br +0 -0
- package/dist/web/assets/rename-object-dialog-BPuh3dAH.js.gz +0 -0
- package/dist/web/assets/review-address-setup-CoI2BGdx.js +1 -0
- package/dist/web/assets/review-address-setup-CoI2BGdx.js.br +0 -0
- package/dist/web/assets/review-address-setup-CoI2BGdx.js.gz +0 -0
- package/dist/web/assets/{review-code-Bet53hHb.js → review-code-Dy8y4_17.js} +1 -1
- package/dist/web/assets/review-code-Dy8y4_17.js.br +0 -0
- package/dist/web/assets/review-code-Dy8y4_17.js.gz +0 -0
- package/dist/web/assets/{run-in-terminal-EVMb5TjW.js → run-in-terminal-DAdjH24K.js} +1 -1
- package/dist/web/assets/{run-in-terminal-button-CsYq6Xqo.js → run-in-terminal-button-Bu165IH-.js} +1 -1
- package/dist/web/assets/{save-as-dialog-DHkBsS-6.js → save-as-dialog-C9OpJz2x.js} +1 -1
- package/dist/web/assets/save-as-dialog-C9OpJz2x.js.br +0 -0
- package/dist/web/assets/save-as-dialog-C9OpJz2x.js.gz +0 -0
- package/dist/web/assets/{schedule-script-editor-CKUl2qxf.js → schedule-script-editor--roOsFbc.js} +1 -1
- package/dist/web/assets/schedule-script-editor--roOsFbc.js.br +0 -0
- package/dist/web/assets/schedule-script-editor--roOsFbc.js.gz +0 -0
- package/dist/web/assets/{schedules-settings-section-EoOXzqF3.js → schedules-settings-section-BTn_NSzU.js} +3 -3
- package/dist/web/assets/schedules-settings-section-BTn_NSzU.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-BTn_NSzU.js.gz +0 -0
- package/dist/web/assets/{send-to-chat-B7oUVcgh.js → send-to-chat-BUxj21hD.js} +1 -1
- package/dist/web/assets/send-to-chat-BUxj21hD.js.br +0 -0
- package/dist/web/assets/send-to-chat-BUxj21hD.js.gz +0 -0
- package/dist/web/assets/{services-panel-BceuL_SU.js → services-panel-BynENSs6.js} +1 -1
- package/dist/web/assets/services-panel-BynENSs6.js.br +0 -0
- package/dist/web/assets/services-panel-BynENSs6.js.gz +0 -0
- package/dist/web/assets/{session-changes-bar-CjSxBYOF.js → session-changes-bar-Dz3QitdJ.js} +1 -1
- package/dist/web/assets/session-changes-bar-Dz3QitdJ.js.br +0 -0
- package/dist/web/assets/session-changes-bar-Dz3QitdJ.js.gz +0 -0
- package/dist/web/assets/{session-review-tab-yIQFGJbG.js → session-review-tab-fRzyogNH.js} +1 -1
- package/dist/web/assets/session-review-tab-fRzyogNH.js.br +0 -0
- package/dist/web/assets/session-review-tab-fRzyogNH.js.gz +0 -0
- package/dist/web/assets/{settings-body-DXNcpoqY.js → settings-body-D5pmlFft.js} +1 -1
- package/dist/web/assets/settings-body-D5pmlFft.js.br +0 -0
- package/dist/web/assets/settings-body-D5pmlFft.js.gz +0 -0
- package/dist/web/assets/{settings-rows-DgL7oTg8.js → settings-rows-VtjChFlm.js} +1 -1
- package/dist/web/assets/settings-rows-VtjChFlm.js.br +0 -0
- package/dist/web/assets/settings-rows-VtjChFlm.js.gz +0 -0
- package/dist/web/assets/{settings-section-content-DFLjO2le.js → settings-section-content-BOwSlBkZ.js} +2 -2
- package/dist/web/assets/settings-section-content-BOwSlBkZ.js.br +0 -0
- package/dist/web/assets/settings-section-content-BOwSlBkZ.js.gz +0 -0
- package/dist/web/assets/{settings-section-content-B1eU_yR4.js → settings-section-content-Ck39TJA7.js} +1 -1
- package/dist/web/assets/{settings-store-CBJCnE5L.js → settings-store-CMpVMq3Y.js} +2 -2
- package/dist/web/assets/settings-store-CMpVMq3Y.js.br +0 -0
- package/dist/web/assets/settings-store-CMpVMq3Y.js.gz +0 -0
- package/dist/web/assets/settings-tab-A81xb81d.js +1 -0
- package/dist/web/assets/settings-window-content-BCDRi6xS.js +1 -0
- package/dist/web/assets/{slash-command-picker-qb3fZ7RP.js → slash-command-picker-BKeEykkF.js} +1 -1
- package/dist/web/assets/slash-command-picker-BKeEykkF.js.br +0 -0
- package/dist/web/assets/slash-command-picker-BKeEykkF.js.gz +0 -0
- package/dist/web/assets/{sql-object-tab-B6JtYu9P.js → sql-object-tab-I5bl3DVf.js} +1 -1
- package/dist/web/assets/sql-object-tab-I5bl3DVf.js.br +0 -0
- package/dist/web/assets/sql-object-tab-I5bl3DVf.js.gz +0 -0
- package/dist/web/assets/{sqlite-viewer-bdNkUymy.js → sqlite-viewer-ECCCjxdn.js} +1 -1
- package/dist/web/assets/sqlite-viewer-ECCCjxdn.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-ECCCjxdn.js.gz +0 -0
- package/dist/web/assets/{structure-save-dialog-5SfYdbAB.js → structure-save-dialog-DcQdamD3.js} +1 -1
- package/dist/web/assets/structure-save-dialog-DcQdamD3.js.br +0 -0
- package/dist/web/assets/structure-save-dialog-DcQdamD3.js.gz +0 -0
- package/dist/web/assets/{structure-tab-DYjjcLIU.js → structure-tab-DyQGhf9t.js} +2 -2
- package/dist/web/assets/structure-tab-DyQGhf9t.js.br +0 -0
- package/dist/web/assets/structure-tab-DyQGhf9t.js.gz +0 -0
- package/dist/web/assets/{system-monitor-body-DouL7ajt.js → system-monitor-body-B5AvRT5J.js} +2 -2
- package/dist/web/assets/system-monitor-body-B5AvRT5J.js.br +0 -0
- package/dist/web/assets/system-monitor-body-B5AvRT5J.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-CfwHKQ5k.js +1 -0
- package/dist/web/assets/{system-monitor-window-content-DUCaJME1.js → system-monitor-window-content-Cvx1V8Mf.js} +1 -1
- package/dist/web/assets/{tab-host-window-content-CQ5NiV6Y.js → tab-host-window-content-DqOUHxEL.js} +1 -1
- package/dist/web/assets/tab-host-window-content-DqOUHxEL.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-DqOUHxEL.js.gz +0 -0
- package/dist/web/assets/{tab-store-B4v2kAEY.js → tab-store-NUmgzMPf.js} +1 -1
- package/dist/web/assets/table-tab-dI8rBbCS.js +2 -0
- package/dist/web/assets/table-tab-dI8rBbCS.js.br +0 -0
- package/dist/web/assets/table-tab-dI8rBbCS.js.gz +0 -0
- package/dist/web/assets/{telegram-bot-token-field-CqVIuWP1.js → telegram-bot-token-field-DSLtG8vw.js} +1 -1
- package/dist/web/assets/telegram-bot-token-field-DSLtG8vw.js.br +0 -0
- package/dist/web/assets/telegram-bot-token-field-DSLtG8vw.js.gz +0 -0
- package/dist/web/assets/{terminal-tab-DT0MN_Qn.js → terminal-tab-CDg0AHBK.js} +2 -2
- package/dist/web/assets/terminal-tab-CDg0AHBK.js.br +0 -0
- package/dist/web/assets/terminal-tab-CDg0AHBK.js.gz +0 -0
- package/dist/web/assets/{tool-cards-C2YGSKRm.js → tool-cards-7E0jtwP0.js} +5 -5
- package/dist/web/assets/tool-cards-7E0jtwP0.js.br +0 -0
- package/dist/web/assets/tool-cards-7E0jtwP0.js.gz +0 -0
- package/dist/web/assets/{tools-settings-section-DQXIdF8O.js → tools-settings-section-AChVQJyU.js} +1 -1
- package/dist/web/assets/tools-settings-section-AChVQJyU.js.br +0 -0
- package/dist/web/assets/tools-settings-section-AChVQJyU.js.gz +0 -0
- package/dist/web/assets/{use-db-read-BByB906L.js → use-db-read-DgNa66Yo.js} +1 -1
- package/dist/web/assets/use-db-read-DgNa66Yo.js.br +0 -0
- package/dist/web/assets/use-db-read-DgNa66Yo.js.gz +0 -0
- package/dist/web/assets/{use-db-tab-Dc0QSFyM.js → use-db-tab-OGLoicCd.js} +1 -1
- package/dist/web/assets/use-db-tab-OGLoicCd.js.br +0 -0
- package/dist/web/assets/use-db-tab-OGLoicCd.js.gz +0 -0
- package/dist/web/assets/{use-inline-blame-B9M-hADX.js → use-inline-blame-BvlcOQd9.js} +3 -3
- package/dist/web/assets/use-inline-blame-BvlcOQd9.js.br +0 -0
- package/dist/web/assets/use-inline-blame-BvlcOQd9.js.gz +0 -0
- package/dist/web/assets/{use-lsp-DcGiCpl9.js → use-lsp-fLNwD0BI.js} +1 -1
- package/dist/web/assets/use-lsp-fLNwD0BI.js.br +0 -0
- package/dist/web/assets/use-lsp-fLNwD0BI.js.gz +0 -0
- package/dist/web/assets/{use-monaco-theme-CyoMsYaI.js → use-monaco-theme-CbNQ4HnC.js} +1 -1
- package/dist/web/assets/{use-process-kill-DsHyrg0-.js → use-process-kill-B4Srjl2m.js} +1 -1
- package/dist/web/assets/use-process-kill-B4Srjl2m.js.br +0 -0
- package/dist/web/assets/use-process-kill-B4Srjl2m.js.gz +0 -0
- package/dist/web/assets/{use-sql-schema-info-BqGN5N4O.js → use-sql-schema-info-CqISFaAW.js} +1 -1
- package/dist/web/assets/use-sql-schema-info-CqISFaAW.js.br +0 -0
- package/dist/web/assets/use-sql-schema-info-CqISFaAW.js.gz +0 -0
- package/dist/web/assets/{use-websocket-DqomrzN8.js → use-websocket-DVJuWhlA.js} +1 -1
- package/dist/web/assets/{voice-settings-section-D9KsOm8A.js → voice-settings-section-C1aEYF94.js} +1 -1
- package/dist/web/assets/voice-settings-section-C1aEYF94.js.br +0 -0
- package/dist/web/assets/voice-settings-section-C1aEYF94.js.gz +0 -0
- package/dist/web/assets/{web-preview-tab-CUp1n2jz.js → web-preview-tab-CZJAVoVU.js} +1 -1
- package/dist/web/assets/web-preview-tab-CZJAVoVU.js.br +0 -0
- package/dist/web/assets/web-preview-tab-CZJAVoVU.js.gz +0 -0
- package/dist/web/assets/{window-store-UcSFgNCI.js → window-store-D6EgLSfT.js} +1 -1
- package/dist/web/assets/window-store-D6EgLSfT.js.br +0 -0
- package/dist/web/assets/window-store-D6EgLSfT.js.gz +0 -0
- package/dist/web/index.html +12 -12
- package/dist/web/index.html.br +0 -0
- package/dist/web/index.html.gz +0 -0
- package/dist/web/sw.js +1 -1
- package/dist/web/sw.js.br +0 -0
- package/dist/web/sw.js.gz +0 -0
- package/package.json +1 -1
- package/src/web/components/floating-window/use-window-meta.ts +2 -1
- package/src/web/components/floating-window/window-content-registry.ts +2 -0
- package/src/web/components/floating-window/window-store-types.ts +1 -1
- package/src/web/components/layout/upgrade-button.tsx +27 -46
- package/src/web/components/release-notes/open-release-notes.ts +22 -0
- package/src/web/components/release-notes/release-notes-entry.tsx +73 -0
- package/src/web/components/release-notes/release-notes-view.tsx +72 -0
- package/src/web/components/release-notes/release-notes-window-content.tsx +6 -0
- package/dist/web/assets/accounts-settings-section-Ctu-w8kt.js +0 -1
- package/dist/web/assets/accounts-settings-section-Ctu-w8kt.js.br +0 -0
- package/dist/web/assets/accounts-settings-section-Ctu-w8kt.js.gz +0 -0
- package/dist/web/assets/agent-session-sheet-DmbSfFGz.js.br +0 -0
- package/dist/web/assets/agent-session-sheet-DmbSfFGz.js.gz +0 -0
- package/dist/web/assets/agent-session-window-content-Dk8x3ozF.js.br +0 -0
- package/dist/web/assets/agent-session-window-content-Dk8x3ozF.js.gz +0 -0
- package/dist/web/assets/ai-resource-editor-MKwjYcDh.js.br +0 -0
- package/dist/web/assets/ai-resource-editor-MKwjYcDh.js.gz +0 -0
- package/dist/web/assets/ai-settings-section-CODZY71V.js +0 -1
- package/dist/web/assets/ai-settings-section-CODZY71V.js.br +0 -0
- package/dist/web/assets/ai-settings-section-CODZY71V.js.gz +0 -0
- package/dist/web/assets/android-tab-CUkjbfyi.js.br +0 -0
- package/dist/web/assets/android-tab-CUkjbfyi.js.gz +0 -0
- package/dist/web/assets/appearance-settings-section-BZsM8HpZ.js.br +0 -0
- package/dist/web/assets/appearance-settings-section-BZsM8HpZ.js.gz +0 -0
- package/dist/web/assets/apps-panel-Cs3utBlp.js.br +0 -0
- package/dist/web/assets/apps-panel-Cs3utBlp.js.gz +0 -0
- package/dist/web/assets/branch-review-tab-C-aPuhXZ.js +0 -1
- package/dist/web/assets/branch-review-tab-C-aPuhXZ.js.br +0 -0
- package/dist/web/assets/branch-review-tab-C-aPuhXZ.js.gz +0 -0
- package/dist/web/assets/chat-tab-CGQu4uLR.js +0 -1
- package/dist/web/assets/chat-tab-CGQu4uLR.js.br +0 -0
- package/dist/web/assets/chat-tab-CGQu4uLR.js.gz +0 -0
- package/dist/web/assets/chat-tab-DtSHSfMU.js.br +0 -0
- package/dist/web/assets/chat-tab-DtSHSfMU.js.gz +0 -0
- package/dist/web/assets/code-editor-DjDyhff1.js.br +0 -0
- package/dist/web/assets/code-editor-DjDyhff1.js.gz +0 -0
- package/dist/web/assets/codex-reset-credit-button-BKgiUi8E.js.br +0 -0
- package/dist/web/assets/codex-reset-credit-button-BKgiUi8E.js.gz +0 -0
- package/dist/web/assets/conflict-editor-DgTv-8pb.js.br +0 -0
- package/dist/web/assets/conflict-editor-DgTv-8pb.js.gz +0 -0
- package/dist/web/assets/connection-form-tab-CJ-6gH9g.js +0 -4
- package/dist/web/assets/connection-form-tab-CJ-6gH9g.js.br +0 -0
- package/dist/web/assets/connection-form-tab-CJ-6gH9g.js.gz +0 -0
- package/dist/web/assets/csv-preview-BTGpYs4p.js.br +0 -0
- package/dist/web/assets/csv-preview-BTGpYs4p.js.gz +0 -0
- package/dist/web/assets/db-explorer-store-DDePT3UI.js.br +0 -0
- package/dist/web/assets/db-explorer-store-DDePT3UI.js.gz +0 -0
- package/dist/web/assets/db-sidebar-reveal-BeT8cp6P.js.br +0 -0
- package/dist/web/assets/db-sidebar-reveal-BeT8cp6P.js.gz +0 -0
- package/dist/web/assets/db-tab-parts-BYzd4_sR.js.br +0 -0
- package/dist/web/assets/db-tab-parts-BYzd4_sR.js.gz +0 -0
- package/dist/web/assets/design-settings-section-B3KQBggK.js.br +0 -0
- package/dist/web/assets/design-settings-section-B3KQBggK.js.gz +0 -0
- package/dist/web/assets/design-tab-CPyj_nFg.js.br +0 -0
- package/dist/web/assets/design-tab-CPyj_nFg.js.gz +0 -0
- package/dist/web/assets/designs-sidebar-panel-DIGPFo2l.js.br +0 -0
- package/dist/web/assets/designs-sidebar-panel-DIGPFo2l.js.gz +0 -0
- package/dist/web/assets/diff-viewer-nYz43A94.js +0 -4
- package/dist/web/assets/diff-viewer-nYz43A94.js.br +0 -0
- package/dist/web/assets/diff-viewer-nYz43A94.js.gz +0 -0
- package/dist/web/assets/docx-preview-CowHGqML.js.br +0 -0
- package/dist/web/assets/docx-preview-CowHGqML.js.gz +0 -0
- package/dist/web/assets/editor-dialog-xPoehDYp.js.br +0 -0
- package/dist/web/assets/editor-dialog-xPoehDYp.js.gz +0 -0
- package/dist/web/assets/editor-language-service-DdYqCDBU.js.br +0 -0
- package/dist/web/assets/editor-language-service-DdYqCDBU.js.gz +0 -0
- package/dist/web/assets/explorer-body-BHh5Qpvi.js +0 -2
- package/dist/web/assets/explorer-body-BHh5Qpvi.js.br +0 -0
- package/dist/web/assets/explorer-body-BHh5Qpvi.js.gz +0 -0
- package/dist/web/assets/explorer-model-tGyFETP_.js.br +0 -0
- package/dist/web/assets/explorer-model-tGyFETP_.js.gz +0 -0
- package/dist/web/assets/explorer-window-content-B1c4QTVL.js.br +0 -0
- package/dist/web/assets/explorer-window-content-B1c4QTVL.js.gz +0 -0
- package/dist/web/assets/extension-manager-section-BgL0Uyl3.js.br +0 -0
- package/dist/web/assets/extension-manager-section-BgL0Uyl3.js.gz +0 -0
- package/dist/web/assets/extension-webview-BWB1Yd-t.js.br +0 -0
- package/dist/web/assets/extension-webview-BWB1Yd-t.js.gz +0 -0
- package/dist/web/assets/files-settings-section-TmoewoO2.js.br +0 -0
- package/dist/web/assets/files-settings-section-TmoewoO2.js.gz +0 -0
- package/dist/web/assets/general-settings-section-Bu7o8uUn.js.br +0 -0
- package/dist/web/assets/general-settings-section-Bu7o8uUn.js.gz +0 -0
- package/dist/web/assets/git-log-panel-RjMZIaCk.js.br +0 -0
- package/dist/web/assets/git-log-panel-RjMZIaCk.js.gz +0 -0
- package/dist/web/assets/git-review-tab-BUW5LZk4.js +0 -3
- package/dist/web/assets/git-review-tab-BUW5LZk4.js.br +0 -0
- package/dist/web/assets/git-review-tab-BUW5LZk4.js.gz +0 -0
- package/dist/web/assets/glide-data-grid-DqlTFhhf.js.br +0 -0
- package/dist/web/assets/glide-data-grid-DqlTFhhf.js.gz +0 -0
- package/dist/web/assets/grid-save-dialog-BmF2Gy_E.js.br +0 -0
- package/dist/web/assets/grid-save-dialog-BmF2Gy_E.js.gz +0 -0
- package/dist/web/assets/group-chat-tab-nk3n5wE0.js +0 -1
- package/dist/web/assets/group-chat-tab-nk3n5wE0.js.br +0 -0
- package/dist/web/assets/group-chat-tab-nk3n5wE0.js.gz +0 -0
- package/dist/web/assets/impexp-tab-B8d4oBOB.js.br +0 -0
- package/dist/web/assets/impexp-tab-B8d4oBOB.js.gz +0 -0
- package/dist/web/assets/index-2_Pz5MiI.css +0 -1
- package/dist/web/assets/index-2_Pz5MiI.css.br +0 -0
- package/dist/web/assets/index-Cx9ZRibz.js.br +0 -0
- package/dist/web/assets/index-Cx9ZRibz.js.gz +0 -0
- package/dist/web/assets/keybindings-store-B2AkKQl7.js +0 -1
- package/dist/web/assets/keyboard-shortcuts-section-BSMgmbOR.js.br +0 -0
- package/dist/web/assets/keyboard-shortcuts-section-BSMgmbOR.js.gz +0 -0
- package/dist/web/assets/language-servers-section-DO9wnwnG.js.br +0 -0
- package/dist/web/assets/language-servers-section-DO9wnwnG.js.gz +0 -0
- package/dist/web/assets/logs-app-xQ2UsN4G.js +0 -13
- package/dist/web/assets/logs-app-xQ2UsN4G.js.br +0 -0
- package/dist/web/assets/logs-app-xQ2UsN4G.js.gz +0 -0
- package/dist/web/assets/logs-tab-H3SmYGRX.js +0 -1
- package/dist/web/assets/lsp-client-IsC8Ol0U.js.br +0 -0
- package/dist/web/assets/lsp-client-IsC8Ol0U.js.gz +0 -0
- package/dist/web/assets/markdown-renderer-BfZiHaNy.js.br +0 -0
- package/dist/web/assets/markdown-renderer-BfZiHaNy.js.gz +0 -0
- package/dist/web/assets/mobile-explorer-sheet-Dz3eJdBl.js.br +0 -0
- package/dist/web/assets/mobile-explorer-sheet-Dz3eJdBl.js.gz +0 -0
- package/dist/web/assets/new-design-dialog-B8zeJoJQ.js.br +0 -0
- package/dist/web/assets/new-design-dialog-B8zeJoJQ.js.gz +0 -0
- package/dist/web/assets/notification-store-BkkcJE2G.js +0 -1
- package/dist/web/assets/notifications-settings-section-CMZXQw72.js.br +0 -0
- package/dist/web/assets/notifications-settings-section-CMZXQw72.js.gz +0 -0
- package/dist/web/assets/open-db-tabs-DYTZbguT.js.br +0 -0
- package/dist/web/assets/open-db-tabs-DYTZbguT.js.gz +0 -0
- package/dist/web/assets/overview-panel-7_8b6pwr.js.br +0 -0
- package/dist/web/assets/overview-panel-7_8b6pwr.js.gz +0 -0
- package/dist/web/assets/panel-store-Dx2ziBLp.js.br +0 -0
- package/dist/web/assets/panel-store-Dx2ziBLp.js.gz +0 -0
- package/dist/web/assets/performance-panel-COQNCyEU.js.br +0 -0
- package/dist/web/assets/performance-panel-COQNCyEU.js.gz +0 -0
- package/dist/web/assets/ppmbot-settings-section-CmhbbZVI.js.br +0 -0
- package/dist/web/assets/ppmbot-settings-section-CmhbbZVI.js.gz +0 -0
- package/dist/web/assets/pptx-export-COeBmnFJ.js.br +0 -0
- package/dist/web/assets/pptx-export-COeBmnFJ.js.gz +0 -0
- package/dist/web/assets/problems-panel-I0EYfa1S.js.br +0 -0
- package/dist/web/assets/problems-panel-I0EYfa1S.js.gz +0 -0
- package/dist/web/assets/process-table-or-X8Lwh.js.br +0 -0
- package/dist/web/assets/process-table-or-X8Lwh.js.gz +0 -0
- package/dist/web/assets/proxy-settings-section-DpJ6ok4C.js.br +0 -0
- package/dist/web/assets/proxy-settings-section-DpJ6ok4C.js.gz +0 -0
- package/dist/web/assets/query-tab-DeNZMZHX.js.br +0 -0
- package/dist/web/assets/query-tab-DeNZMZHX.js.gz +0 -0
- package/dist/web/assets/remote-access-settings-section-QRP4Yh46.js +0 -1
- package/dist/web/assets/remote-access-settings-section-QRP4Yh46.js.br +0 -0
- package/dist/web/assets/remote-access-settings-section-QRP4Yh46.js.gz +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-CGDBpXMf.js.br +0 -0
- package/dist/web/assets/remote-desktop-clipboard-notice-CGDBpXMf.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-6nXirdqZ.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-sheet-6nXirdqZ.js.gz +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-BTaj9Flo.js.br +0 -0
- package/dist/web/assets/remote-desktop-mobile-view-BTaj9Flo.js.gz +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate--gtmfqZh.js.br +0 -0
- package/dist/web/assets/remote-desktop-readiness-gate--gtmfqZh.js.gz +0 -0
- package/dist/web/assets/remote-desktop-settings-section-Bs5avYaS.js.br +0 -0
- package/dist/web/assets/remote-desktop-settings-section-Bs5avYaS.js.gz +0 -0
- package/dist/web/assets/remote-desktop-window-content-D4CM-28B.js.br +0 -0
- package/dist/web/assets/remote-desktop-window-content-D4CM-28B.js.gz +0 -0
- package/dist/web/assets/rename-object-dialog-Dv4iLwnf.js.br +0 -0
- package/dist/web/assets/rename-object-dialog-Dv4iLwnf.js.gz +0 -0
- package/dist/web/assets/review-address-setup-CU1A_NfZ.js +0 -1
- package/dist/web/assets/review-address-setup-CU1A_NfZ.js.br +0 -0
- package/dist/web/assets/review-address-setup-CU1A_NfZ.js.gz +0 -0
- package/dist/web/assets/review-code-Bet53hHb.js.br +0 -0
- package/dist/web/assets/review-code-Bet53hHb.js.gz +0 -0
- package/dist/web/assets/save-as-dialog-DHkBsS-6.js.br +0 -0
- package/dist/web/assets/save-as-dialog-DHkBsS-6.js.gz +0 -0
- package/dist/web/assets/schedule-script-editor-CKUl2qxf.js.br +0 -0
- package/dist/web/assets/schedule-script-editor-CKUl2qxf.js.gz +0 -0
- package/dist/web/assets/schedules-settings-section-EoOXzqF3.js.br +0 -0
- package/dist/web/assets/schedules-settings-section-EoOXzqF3.js.gz +0 -0
- package/dist/web/assets/send-to-chat-B7oUVcgh.js.br +0 -0
- package/dist/web/assets/send-to-chat-B7oUVcgh.js.gz +0 -0
- package/dist/web/assets/services-panel-BceuL_SU.js.br +0 -0
- package/dist/web/assets/services-panel-BceuL_SU.js.gz +0 -0
- package/dist/web/assets/session-changes-bar-CjSxBYOF.js.br +0 -0
- package/dist/web/assets/session-changes-bar-CjSxBYOF.js.gz +0 -0
- package/dist/web/assets/session-review-tab-yIQFGJbG.js.br +0 -0
- package/dist/web/assets/session-review-tab-yIQFGJbG.js.gz +0 -0
- package/dist/web/assets/settings-body-DXNcpoqY.js.br +0 -0
- package/dist/web/assets/settings-body-DXNcpoqY.js.gz +0 -0
- package/dist/web/assets/settings-rows-DgL7oTg8.js.br +0 -0
- package/dist/web/assets/settings-rows-DgL7oTg8.js.gz +0 -0
- package/dist/web/assets/settings-section-content-DFLjO2le.js.br +0 -0
- package/dist/web/assets/settings-section-content-DFLjO2le.js.gz +0 -0
- package/dist/web/assets/settings-store-CBJCnE5L.js.br +0 -0
- package/dist/web/assets/settings-store-CBJCnE5L.js.gz +0 -0
- package/dist/web/assets/settings-tab-CrGoLKQT.js +0 -1
- package/dist/web/assets/settings-window-content-5opW9Wra.js +0 -1
- package/dist/web/assets/slash-command-picker-qb3fZ7RP.js.br +0 -0
- package/dist/web/assets/slash-command-picker-qb3fZ7RP.js.gz +0 -0
- package/dist/web/assets/sql-object-tab-B6JtYu9P.js.br +0 -0
- package/dist/web/assets/sql-object-tab-B6JtYu9P.js.gz +0 -0
- package/dist/web/assets/sqlite-viewer-bdNkUymy.js.br +0 -0
- package/dist/web/assets/sqlite-viewer-bdNkUymy.js.gz +0 -0
- package/dist/web/assets/structure-save-dialog-5SfYdbAB.js.br +0 -0
- package/dist/web/assets/structure-save-dialog-5SfYdbAB.js.gz +0 -0
- package/dist/web/assets/structure-tab-DYjjcLIU.js.br +0 -0
- package/dist/web/assets/structure-tab-DYjjcLIU.js.gz +0 -0
- package/dist/web/assets/system-monitor-body-DouL7ajt.js.br +0 -0
- package/dist/web/assets/system-monitor-body-DouL7ajt.js.gz +0 -0
- package/dist/web/assets/system-monitor-tab-qpa36tWB.js +0 -1
- package/dist/web/assets/tab-host-window-content-CQ5NiV6Y.js.br +0 -0
- package/dist/web/assets/tab-host-window-content-CQ5NiV6Y.js.gz +0 -0
- package/dist/web/assets/table-tab-M850PntZ.js +0 -2
- package/dist/web/assets/table-tab-M850PntZ.js.br +0 -0
- package/dist/web/assets/table-tab-M850PntZ.js.gz +0 -0
- package/dist/web/assets/telegram-bot-token-field-CqVIuWP1.js.br +0 -0
- package/dist/web/assets/telegram-bot-token-field-CqVIuWP1.js.gz +0 -0
- package/dist/web/assets/terminal-tab-DT0MN_Qn.js.br +0 -0
- package/dist/web/assets/terminal-tab-DT0MN_Qn.js.gz +0 -0
- package/dist/web/assets/tool-cards-C2YGSKRm.js.br +0 -0
- package/dist/web/assets/tool-cards-C2YGSKRm.js.gz +0 -0
- package/dist/web/assets/tools-settings-section-DQXIdF8O.js.br +0 -0
- package/dist/web/assets/tools-settings-section-DQXIdF8O.js.gz +0 -0
- package/dist/web/assets/use-db-read-BByB906L.js.br +0 -0
- package/dist/web/assets/use-db-read-BByB906L.js.gz +0 -0
- package/dist/web/assets/use-db-tab-Dc0QSFyM.js.br +0 -0
- package/dist/web/assets/use-db-tab-Dc0QSFyM.js.gz +0 -0
- package/dist/web/assets/use-inline-blame-B9M-hADX.js.br +0 -0
- package/dist/web/assets/use-inline-blame-B9M-hADX.js.gz +0 -0
- package/dist/web/assets/use-lsp-DcGiCpl9.js.br +0 -0
- package/dist/web/assets/use-lsp-DcGiCpl9.js.gz +0 -0
- package/dist/web/assets/use-process-kill-DsHyrg0-.js.br +0 -0
- package/dist/web/assets/use-process-kill-DsHyrg0-.js.gz +0 -0
- package/dist/web/assets/use-sql-schema-info-BqGN5N4O.js.br +0 -0
- package/dist/web/assets/use-sql-schema-info-BqGN5N4O.js.gz +0 -0
- package/dist/web/assets/voice-settings-section-D9KsOm8A.js.br +0 -0
- package/dist/web/assets/voice-settings-section-D9KsOm8A.js.gz +0 -0
- package/dist/web/assets/web-preview-tab-CUp1n2jz.js.br +0 -0
- package/dist/web/assets/web-preview-tab-CUp1n2jz.js.gz +0 -0
- package/dist/web/assets/window-store-UcSFgNCI.js.br +0 -0
- package/dist/web/assets/window-store-UcSFgNCI.js.gz +0 -0
- /package/dist/web/assets/{__vite-browser-external-DLaiEgUM.js → __vite-browser-external-LVpeGV-g.js} +0 -0
- /package/dist/web/assets/{api-themes-B3-6zR6Q.js → api-themes-DUOEO3_X.js} +0 -0
- /package/dist/web/assets/{claude-models-yFre4eSK.js → claude-models-C9iHl8VB.js} +0 -0
- /package/dist/web/assets/{database-drivers-section-c2SuNQPB.js → database-drivers-section-BPXoNrWi.js} +0 -0
- /package/dist/web/assets/{database-drivers-section-c2SuNQPB.js.br → database-drivers-section-BPXoNrWi.js.br} +0 -0
- /package/dist/web/assets/{database-drivers-section-c2SuNQPB.js.gz → database-drivers-section-BPXoNrWi.js.gz} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-Dnm9OOXU.js → metric-chart-canvas-HG8rPTMq.js} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-Dnm9OOXU.js.br → metric-chart-canvas-HG8rPTMq.js.br} +0 -0
- /package/dist/web/assets/{metric-chart-canvas-Dnm9OOXU.js.gz → metric-chart-canvas-HG8rPTMq.js.gz} +0 -0
- /package/dist/web/assets/{notification-settings-CvplVsIo.js → notification-settings--li9wGTJ.js} +0 -0
- /package/dist/web/assets/{notification-settings-CvplVsIo.js.br → notification-settings--li9wGTJ.js.br} +0 -0
- /package/dist/web/assets/{notification-settings-CvplVsIo.js.gz → notification-settings--li9wGTJ.js.gz} +0 -0
- /package/dist/web/assets/{process-row-format-CM1XaqkS.js → process-row-format-CJg8VV-6.js} +0 -0
- /package/dist/web/assets/{query-audit-section-C-fT07Zz.js → query-audit-section-BiCUBamA.js} +0 -0
- /package/dist/web/assets/{query-audit-section-C-fT07Zz.js.br → query-audit-section-BiCUBamA.js.br} +0 -0
- /package/dist/web/assets/{query-audit-section-C-fT07Zz.js.gz → query-audit-section-BiCUBamA.js.gz} +0 -0
- /package/dist/web/assets/{remote-desktop-recording-D_fwMC2z.js → remote-desktop-recording-BcDx5c_k.js} +0 -0
- /package/dist/web/assets/{separator-CYw7bF1W.js → separator-DUdRLaL0.js} +0 -0
- /package/dist/web/assets/{sortable-header-CchrA_dg.js → sortable-header-Ds6nTnqB.js} +0 -0
- /package/dist/web/assets/{sortable-header-CchrA_dg.js.br → sortable-header-Ds6nTnqB.js.br} +0 -0
- /package/dist/web/assets/{sortable-header-CchrA_dg.js.gz → sortable-header-Ds6nTnqB.js.gz} +0 -0
- /package/dist/web/assets/{vendor-xterm-lhGdimFj.js → vendor-xterm-BxbwWHG_.js} +0 -0
- /package/dist/web/assets/{vendor-xterm-lhGdimFj.js.br → vendor-xterm-BxbwWHG_.js.br} +0 -0
- /package/dist/web/assets/{vendor-xterm-lhGdimFj.js.gz → vendor-xterm-BxbwWHG_.js.gz} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-tab-
|
|
2
|
-
import{r as e,s as t,t as n}from"./rolldown-runtime-C5c2KzVm.js";import{C as r,D as i,E as a,S as o,T as s,b as c,w as l,x as u,y as d}from"./vendor-markdown-C-P1aR4p.js";import{C as f,F as p,I as m,M as h,N as g,P as _,S as v,T as y,_ as b,a as x,b as S,d as C,f as w,g as T,h as E,i as D,j as O,m as k,n as A,o as j,r as M,t as N,v as P,vt as ee,w as F,x as te,y as ne}from"./vendor-ui-BTSIXzhZ.js";import{n as I}from"./minimal-mode-rLZOjciW.js";import{A as L,An as re,Ar as R,B as ie,Bn as ae,Br as oe,Bt as se,Cn as ce,Cr as le,Ct as ue,D as de,Dn as fe,Et as pe,F as me,Fn as he,Fr as ge,Ft as _e,G as ve,Gt as ye,H as be,Hn as xe,Hr as Se,I as Ce,In as we,Ir as Te,It as Ee,Jn as De,Jr as Oe,Jt as ke,K as Ae,Kr as je,Kt as Me,L as Ne,Ln as Pe,Lr as Fe,Lt as Ie,M as Le,Mn as Re,Mr as ze,N as Be,Nr as Ve,Nt as He,On as Ue,P as We,Pr as Ge,Qn as Ke,Qt as qe,Rn as Je,S as Ye,Sn as Xe,T as Ze,Tn as Qe,Tr as $e,Ur as et,Ut as tt,Vn as nt,Vr as rt,W as it,Wt as at,X as ot,Xn as st,Xr as ct,Yn as lt,Yr as ut,Z as dt,Zn as ft,Zr as pt,_ as mt,_r as ht,_t as gt,a as _t,ar as vt,at as yt,br as bt,c as xt,cn as St,cr as Ct,ct as wt,d as Tt,dn as Et,dt as Dt,en as Ot,et as kt,fi as At,fr as jt,ft as Mt,g as Nt,gi as Pt,gn as Ft,gr as It,gt as Lt,h as Rt,hi as zt,hn as Bt,hr as Vt,ht as Ht,i as Ut,ir as Wt,it as Gt,j as Kt,jr as qt,jt as Jt,k as Yt,kn as Xt,kt as Zt,l as Qt,li as $t,ln as en,lr as tn,mn as nn,n as rn,nn as an,nt as on,o as sn,oi as cn,on as ln,or as un,ot as dn,pi as fn,pr as pn,pt as mn,q as hn,qn as gn,qr as _n,qt as vn,r as yn,rr as bn,s as xn,si as Sn,sn as Cn,sr as wn,t as Tn,ti as En,tn as Dn,tr as On,tt as kn,u as An,ut as jn,vn as Mn,vt as Nn,w as Pn,wr as Fn,x as In,xn as z,xr as Ln,xt as Rn,y as zn,yn as Bn,yt as Vn,z as Hn}from"./icons-C1wDt09O.js";import{t as Un}from"./createLucideIcon-B2pji242.js";import{t as Wn}from"./file-diff-CScJM-VZ.js";import{t as Gn}from"./git-commit-horizontal-ZMFP54eB.js";import{D as Kn,E as qn,O as Jn,_ as Yn,a as Xn,c as Zn,g as Qn,h as $n,i as er,k as B,l as tr,n as nr,o as V,r as H,s as rr,u as ir,v as ar,x as or}from"./api-client-BnYFnEfK.js";import{t as sr}from"./react-B9hau9ra.js";import{C as cr,S as lr,t as U,w as ur}from"./settings-store-CBJCnE5L.js";import{t as W}from"./preload-helper-Bf_JiD2A.js";import{n as G,r as dr,t as fr}from"./utils-D3xTlJyU.js";import{n as pr,t as mr}from"./portal-container-context-Gepuvxdg.js";import{$ as hr,C as gr,D as _r,E as vr,F as yr,G as br,H as xr,I as Sr,M as Cr,R as wr,S as Tr,T as Er,U as Dr,V as Or,W as kr,_ as Ar,a as jr,b as Mr,c as Nr,d as Pr,f as Fr,g as Ir,h as Lr,i as Rr,k as zr,l as Br,m as Vr,n as K,o as Hr,p as Ur,q as Wr,r as Gr,s as Kr,t as qr,u as Jr,v as Yr,w as Xr,y as Zr}from"./window-store-UcSFgNCI.js";import{i as Qr,r as $r,t as q}from"./panel-store-Dx2ziBLp.js";import{i as J,n as ei,r as ti,t as ni}from"./project-store-Bs-kiU8m.js";import"./project-framework-store-nuePqBBa.js";import{a as ri,c as ii,d as ai,i as oi,l as si,n as ci,o as li,r as ui,s as di,t as fi,u as pi}from"./session-list-sync-triggers-D9i1FxWd.js";import{t as Y}from"./tab-store-B4v2kAEY.js";import{t as mi}from"./format-date-SZ6qU2sD.js";import{c as hi,l as gi,n as _i,o as vi,r as yi,s as bi,t as xi,u as Si}from"./context-menu-DhKbkI1X.js";import{a as Ci,o as wi}from"./chat-preparation-cache-Bzb-T1pm.js";import{a as Ti,c as Ei,i as Di,l as Oi,n as ki,o as Ai,r as ji,s as Mi,t as Ni}from"./file-store-Bn0vbkCx.js";import{n as Pi,t as Fi}from"./use-is-mobile-CL2I7hLf.js";import"./settings-categories-BY9n3BRr.js";import{t as Ii}from"./open-settings-BGtoVEAU.js";import{a as Li,c as Ri,i as zi,l as Bi,n as Vi,o as Hi,r as Ui,s as Wi,t as Gi,u as Ki}from"./git-repo-store-CESIqItW.js";import{a as qi,c as Ji,d as Yi,i as Xi,l as Zi,n as Qi,o as $i,r as ea,s as ta,t as na,u as ra}from"./onboarding-quick-orientation-DTMrcMf0.js";import{n as ia,r as aa,t as oa}from"./apply-theme-Kiqxd1NZ.js";import{n as sa,r as ca,t as la}from"./clipboard-D3XnL7CB.js";import{n as ua,t as X}from"./button-BHGVTbam.js";import{a as da,i as fa,n as pa,o as ma,r as ha,s as ga,t as _a}from"./dialog-DnE192fh.js";import{n as va,r as ya,t as ba}from"./file-icons-CB0RsVdl.js";import{n as xa,t as Sa}from"./patch-tab-metadata-DTbCkVvx.js";import{a as Ca,c as wa,i as Ta,l as Ea,m as Da,n as Oa,r as ka,s as Aa,t as ja}from"./dropdown-menu-CxZR_vuV.js";import{t as Ma}from"./mobile-bottom-sheet-M9pZptfh.js";import{t as Na}from"./use-visual-viewport-B_GFo6k2.js";import{n as Pa,o as Fa,r as Z,t as Ia,u as La}from"./adaptive-context-menu-CxHkI7dL.js";import{n as Ra,t as za}from"./fs-api-BVIVh_De.js";import{a as Ba,c as Va,i as Ha,n as Ua,o as Wa,r as Ga,s as Ka,t as qa}from"./format-file-meta-BOAh9mam.js";import{t as Ja}from"./input-CReAuQTF.js";import{t as Ya}from"./start-ellipsis-DfU-W_6j.js";import{n as Xa,t as Za}from"./use-db-driver-installed-BL1XW_bI.js";import{a as Qa,n as $a,r as eo,t as to}from"./db-sidebar-reveal-BeT8cp6P.js";import{n as no,r as ro}from"./db-types-cHkNH-mN.js";import{A as io,C as ao,O as oo,S as so,T as co,_ as lo,a as uo,b as fo,c as po,d as mo,f as ho,g as go,h as _o,k as vo,l as yo,m as bo,n as xo,o as So,p as Co,r as wo,s as To,t as Eo,u as Do,v as Oo,w as ko,x as Ao,y as jo}from"./explorer-model-tGyFETP_.js";import{A as Mo,C as No,D as Po,E as Fo,F as Io,I as Lo,L as Ro,M as zo,N as Bo,O as Vo,P as Ho,S as Uo,T as Wo,_ as Go,a as Ko,b as qo,c as Jo,d as Yo,f as Xo,g as Zo,h as Qo,i as $o,j as es,k as ts,l as ns,m as rs,n as is,o as as,p as os,r as ss,s as cs,t as ls,u as us,v as ds,w as fs,y as ps}from"./db-explorer-store-DDePT3UI.js";import{a as ms,i as hs,l as gs,n as _s,s as vs,t as ys}from"./open-db-tabs-DYTZbguT.js";import{g as bs,h as xs,l as Ss}from"./impexp-state-Cx2Az9iZ.js";import{t as Cs}from"./sql-identifiers-7jHNEORb.js";import{t as ws}from"./scroll-area-CSmNLlfl.js";import{n as Ts,r as Es,t as Ds}from"./resolve-theme-DGQXDIbF.js";import{t as Os}from"./ws-auth-k7DWnL9T.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 ks=`ppm-device-id`,As=/^[A-Za-z0-9-]{8,64}$/,js=null;function Ms(){let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function Ns(){if(js)return js;try{let e=localStorage.getItem(ks);if(e&&As.test(e))return js=e}catch{}let e=Ms();try{localStorage.setItem(ks,e)}catch{}return js=e}var Ps=`ppm-trace-queue`,Fs=12e3,Is=6e4,Ls=1e3,Rs=5e3,zs=5e3,Bs=5e3,Vs=5*6e4,Hs=1e3,Us=256*1024,Ws=2e3,Gs=300,Ks=500,qs=[`log`,`info`,`debug`,`warn`,`error`],Js=new Set([`console_error`,`browser_error`,`unhandled_rejection`,`render_error`,`chunk_error`]);function Ys(e,t){return e.length<=t?e:`${e.slice(0,t)}… [${e.length-t} more]`}function Xs(e){let t=`${e.name||`Error`}: ${e.message}`,n=typeof e.stack==`string`?e.stack:``;return n.startsWith(t)?n:n?`${t}\n${n}`:t}function Zs(e){if(typeof e==`string`)return Ys(e,Ws);if(e instanceof Error)return Ys(Xs(e),Ws*2);if(e===void 0)return`undefined`;if(typeof e==`function`)return`[function ${e.name||`anonymous`}]`;if(typeof e!=`object`||!e)return String(e);if(typeof Node<`u`&&e instanceof Node)return`<${e.tagName?.toLowerCase()??e.nodeName}>`;if(typeof Event<`u`&&e instanceof Event)return Qs(e);let t=new WeakSet,n=0;try{return Ys(JSON.stringify(e,(e,r)=>{if(++n>Ks)return`[…]`;if(typeof r==`bigint`)return`${r}n`;if(r instanceof Error)return Xs(r);if(typeof r==`object`&&r){if(t.has(r))return`[circular]`;t.add(r)}return r})??String(e),Ws)}catch{return Object.prototype.toString.call(e)}}function Qs(e){let t=e.target,n=``;if(t){let e=t.tagName?`<${t.tagName.toLowerCase()}>`:t.constructor?.name??``,r=t.src||t.href||t.url||``;n=` on ${e}${r?` ${r}`:``}`}return Ys(`[${e.constructor?.name??`Event`} ${e.type}${n}]`,Ws)}function $s(e,t={}){return e instanceof Error?{name:e.name,message:Ys(e.message,Ws),stack:Ys(Xs(e),Ws*3),...t}:{message:Zs(e),...t}}function ec(e){let t=JSON.stringify(e);if(t.length<=12e3)return e;let n={...e};if(Array.isArray(n.breadcrumbs)){let e=[...n.breadcrumbs];for(;e.length>0&&t.length>12e3;)e.shift(),n.breadcrumbs=e,t=JSON.stringify(n);if(t.length<=12e3)return n}for(let[e,t]of Object.entries(n))typeof t==`string`&&t.length>1e3&&(n[e]=Ys(t,1e3)),Array.isArray(t)&&e===`args`&&(n[e]=t.map(e=>typeof e==`string`?Ys(e,1e3):e));return t=JSON.stringify(n),t.length<=12e3?n:{truncated:!0,head:t.slice(0,Fs-200)}}function tc(e){let t=m(),n=new Set,r=[],i=null,a=1/0,o=null,s=!1,c=0,l=0,u,d=e.now(),f=0,p=0;function m(){try{let t=e.storage?.getItem(Ps),n=t?JSON.parse(t):null;return Array.isArray(n)?n.slice(-300):[]}catch{return[]}}function h(){o!=null&&(e.clearTimer(o),o=null);try{if(t.length===0){e.storage?.removeItem(Ps);return}let n=t,r=JSON.stringify(n);for(;r.length>Us&&n.length>1;)n=n.slice(Math.ceil(n.length/4)),r=JSON.stringify(n);e.storage?.setItem(Ps,r)}catch{}}function g(){o??=e.setTimer(()=>{o=null,h()},Hs)}function _(t){let n=e.now()+t;i!=null&&a<=n||(i!=null&&e.clearTimer(i),a=n,i=e.setTimer(()=>{i=null,a=1/0,A()},t))}function v(){try{return e.refId()}catch{return null}}function y(){try{return e.authToken()}catch{return null}}function b(e){return u!==void 0&&e===u}function x(n,r,i){let a={};try{a=e.context()}catch{}t.push({ts:i,type:n,refId:v(),payload:ec({...a,...r})}),t.length>300&&t.splice(0,t.length-300),g()}function S(e){if(e-d>=6e4){let t=p;d=e,f=0,p=0,t>0&&(f++,x(`console_dropped`,{count:t},e))}return f>=300?(p++,!1):(f++,!0)}function C(t,n){try{let i=e.now();if(!S(i))return;let a=Js.has(t);x(t,a?{...n,breadcrumbs:r.slice()}:n,i),_(a?Ls:Rs)}catch{}}function w(t,n){try{let i=e.now();if(!S(i))return;let a=n.map(Zs),o=`console_${t}`,s=Js.has(o);x(o,s?{args:a,breadcrumbs:r.slice()}:{args:a},i),r.push({ts:i,level:t,text:Ys(a.join(` `),Gs)}),r.length>50&&r.shift(),_(s?Ls:Rs)}catch{}}function T(e){let r=[],i=200;for(let a of t){if(n.has(a))continue;if(r.length>=50)break;let t=JSON.stringify(a).length+1;if(r.length>0&&i+t>e)break;r.push(a),i+=t}return r}function E(t){return JSON.stringify({deviceId:e.deviceId(),sentAt:e.now(),entries:t})}function D(e){let n=new Set(e);t=t.filter(e=>!n.has(e))}function O(t){c=Math.min(Vs,Math.max(zs,c*2)),l=e.now()+Math.max(c,t??0),_(l-e.now())}function k(e){return e===0||e===429||e>=500}async function A(){try{if(t.length===0)return;let r=e.now();if(s||r<l){_(Math.max(l-r,Ls));return}let i=y();if(b(i)){_(Bs);return}let a=T(1/0);if(a.length===0)return;s=!0;for(let e of a)n.add(e);let o;try{o=await e.send(E(a),!1,i)}catch{o={status:0}}finally{s=!1;for(let e of a)n.delete(e)}o.status>=200&&o.status<300?(D(a),c=0,l=0,u=void 0,t.length>0&&_(0)):o.status===401?(u=i,_(Bs)):k(o.status)?O(o.retryAfterMs):D(a),g()}catch{s=!1}}function j(){try{let n=y();if(t.length>0&&!b(n)){let r=T(Is);if(r.length>0){D(r);let i=(e,i)=>{t.unshift(...r),t.length>300&&t.splice(0,t.length-300),g(),e===401?(u=n,_(Bs)):O(i)};e.send(E(r),!0,n).then(e=>{(e.status===401||k(e.status))&&i(e.status,e.retryAfterMs)}).catch(()=>i(0))}}h()}catch{}}return t.length>0&&_(2e3),{record:C,console:w,flush:A,flushOnHide:j,pending:()=>t.length}}function nc(e,t){let n=!1;for(let r of qs){let i=e[r];typeof i==`function`&&(e[r]=function(...e){if(i.apply(this,e),!n){n=!0;try{t.console(r,e)}finally{n=!1}}})}}var rc=null,ic=()=>null;function ac(e){ic=e}function oc(e,t,n={}){rc?.record(e,$s(t,n))}function sc(e){let t=Number(e.headers.get(`retry-after`));return Number.isFinite(t)&&t>0?t*1e3:void 0}function cc(){if(rc||typeof window>`u`||typeof document>`u`)return;let e=Ms(),t=null;try{t=window.localStorage}catch{}let n=tc({send:async(e,t,n)=>{let r=await fetch(`/api/trace`,{method:`POST`,keepalive:t,headers:{"Content-Type":`application/json`,...n?{Authorization:`Bearer ${n}`}:{}},body:e});return{status:r.status,retryAfterMs:sc(r)}},authToken:()=>t?.getItem(`ppm-auth-token`)??null,storage:t,now:()=>Date.now(),setTimer:(e,t)=>window.setTimeout(e,t),clearTimer:e=>window.clearTimeout(e),deviceId:Ns,refId:()=>ic(),context:()=>({page:e,path:location.pathname})});rc=n,nc(console,n),window.addEventListener(`error`,e=>{n.record(`browser_error`,$s(e.error??e.message,{...e.filename?{source:e.filename,line:e.lineno,col:e.colno}:{},ua:navigator.userAgent}))}),window.addEventListener(`unhandledrejection`,e=>{n.record(`unhandled_rejection`,$s(e.reason,{ua:navigator.userAgent}))}),window.addEventListener(`pagehide`,()=>n.flushOnHide()),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&n.flushOnHide()}),window.addEventListener(`online`,()=>{n.flush()})}cc();var lc=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}}}})),uc=n(((e,t)=>{t.exports=lc()})),dc=n((e=>{var t=uc(),n=i(),r=ee();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 N=Array.isArray,P=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,F=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te={pending:!1,data:null,method:null,action:null},ne=[],I=-1;function L(e){return{current:e}}function re(e){0>I||(e.current=ne[I],ne[I]=null,I--)}function R(e,t){I++,ne[I]=e.current,e.current=t}var ie=L(null),ae=L(null),oe=L(null),se=L(null);function ce(e,t){switch(R(oe,t),R(ae,e),R(ie,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}}re(ie),R(ie,e)}function le(){re(ie),re(ae),re(oe)}function ue(e){e.memoizedState!==null&&R(se,e);var t=ie.current,n=Hd(t,e.type);t!==n&&(R(ae,e),R(ie,n))}function de(e){ae.current===e&&(re(ie),re(ae)),se.current===e&&(re(se),Qf._currentValue=te)}var fe,pe;function me(e){if(fe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);fe=t&&t[1]||``,pe=-1<e.stack.indexOf(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-tab-CDg0AHBK.js","assets/rolldown-runtime-C5c2KzVm.js","assets/vendor-ui-BTSIXzhZ.js","assets/vendor-markdown-C-P1aR4p.js","assets/vendor-xterm-BxbwWHG_.js","assets/vendor-xterm-DkTCHfhq.css","assets/utils-D3xTlJyU.js","assets/api-client-BnYFnEfK.js","assets/settings-store-CMpVMq3Y.js","assets/preload-helper-Bf_JiD2A.js","assets/react-B9hau9ra.js","assets/window-store-D6EgLSfT.js","assets/minimal-mode-rLZOjciW.js","assets/panel-store-H7e9XHZF.js","assets/session-list-sync-triggers-D9i1FxWd.js","assets/project-store-Bs-kiU8m.js","assets/project-framework-store-nuePqBBa.js","assets/mobile-bottom-sheet-M9pZptfh.js","assets/portal-container-context-Gepuvxdg.js","assets/use-visual-viewport-B_GFo6k2.js","assets/clipboard-D3XnL7CB.js","assets/code-fence-BH0dNR07.js","assets/editor-font-UC3YDKcu.js","assets/icons-C1wDt09O.js","assets/run-in-terminal-DAdjH24K.js","assets/send-to-chat-BUxj21hD.js","assets/ws-auth-k7DWnL9T.js","assets/tab-store-NUmgzMPf.js","assets/apply-theme-Kiqxd1NZ.js","assets/resolve-theme-DGQXDIbF.js","assets/chat-tab-BCELq4nK.js","assets/button-BHGVTbam.js","assets/libesm-C9iw2_pm.js","assets/chat-tab-C4aOYSea.js","assets/createLucideIcon-B2pji242.js","assets/file-diff-CScJM-VZ.js","assets/tool-cards-7E0jtwP0.js","assets/db-ai-tools-BhRcsCRL.js","assets/db-types-cHkNH-mN.js","assets/split-sql-statements-Bujv4uO8.js","assets/file-store-Bn0vbkCx.js","assets/agent-session-sheet-store-BFUVxjab.js","assets/image-preview-geometry-BX1a3Lfa.js","assets/use-blob-url-CIHAdKoN.js","assets/use-is-mobile-CL2I7hLf.js","assets/fs-api-BVIVh_De.js","assets/html-preview-loads-xkLR1cU9.js","assets/image-gallery-DuV1wTMD.js","assets/session-turns-DxIzWBNj.js","assets/codex-reset-credit-button-DJQD6NUF.js","assets/dialog-DnE192fh.js","assets/input-CReAuQTF.js","assets/api-settings-BPIlTiBi.js","assets/chat-preparation-cache-Bzb-T1pm.js","assets/ai-settings-section-BNiVD9D3.js","assets/leftover-processes-Bc3fIjkK.js","assets/open-settings-DWbF5YsE.js","assets/settings-categories-BY9n3BRr.js","assets/slash-command-picker-BKeEykkF.js","assets/session-changes-bar-Dz3QitdJ.js","assets/start-ellipsis-DfU-W_6j.js","assets/file-icons-CB0RsVdl.js","assets/patch-tab-metadata-DqvfqUI4.js","assets/onboarding-entry-Cn4k4SG7.js","assets/onboarding-quick-orientation-DTMrcMf0.js","assets/dropdown-menu-CxZR_vuV.js","assets/use-websocket-DVJuWhlA.js","assets/format-date-SZ6qU2sD.js","assets/design-canvas-check-DQB9dn_O.js","assets/context-menu-DhKbkI1X.js","assets/code-editor-_axJbYkP.js","assets/glide-data-grid-BBzGDYvj.js","assets/marked.esm-PRUAkogl.js","assets/open-db-tabs-DBgV2hbA.js","assets/explorer-model-f5q-50DN.js","assets/db-sidebar-reveal-CGqWBYay.js","assets/filter-dialog-frame-C-lonBdY.js","assets/use-opener-focus-BWN0EWCh.js","assets/sql-identifiers-7jHNEORb.js","assets/glide-data-grid-nthEL3fk.css","assets/use-design-canvas-check-De9Hrv9z.js","assets/sql-completion-provider-DOGGlsCe.js","assets/save-as-dialog-C9OpJz2x.js","assets/can-open-in-ppm-C_Ev8S2p.js","assets/format-file-meta-BOAh9mam.js","assets/adaptive-context-menu-CxHkI7dL.js","assets/scroll-area-CSmNLlfl.js","assets/use-inline-blame-BvlcOQd9.js","assets/git-repo-store-CESIqItW.js","assets/monaco-dotenv-language-jKkZFsKj.js","assets/use-monaco-theme-CbNQ4HnC.js","assets/table-tab-dI8rBbCS.js","assets/use-db-driver-installed-BL1XW_bI.js","assets/impexp-state-Cx2Az9iZ.js","assets/db-tab-parts-BXL34wrZ.js","assets/db-explorer-store-DJNNIfN5.js","assets/use-db-read-DgNa66Yo.js","assets/use-db-tab-OGLoicCd.js","assets/use-at-most-wide-DIZ300Fh.js","assets/structure-tab-DyQGhf9t.js","assets/editor-dialog-DTDsbJd6.js","assets/sql-object-tab-I5bl3DVf.js","assets/query-tab-DHU3ANHN.js","assets/use-sql-schema-info-CqISFaAW.js","assets/impexp-tab-B0m1Q8ia.js","assets/format-bytes-Xp9emfaR.js","assets/connection-form-tab-C3QyUWnE.js","assets/sqlite-viewer-ECCCjxdn.js","assets/diff-viewer-C86mR7vD.js","assets/branch-review-tab-CR7JnS5x.js","assets/session-review-tab-fRzyogNH.js","assets/review-code-Dy8y4_17.js","assets/git-review-tab-WzuX4Ml9.js","assets/settings-tab-A81xb81d.js","assets/settings-body-D5pmlFft.js","assets/settings-section-content-BOwSlBkZ.js","assets/separator-DUdRLaL0.js","assets/extension-webview-BGfyaXMI.js","assets/conflict-editor-D0AYuLKI.js","assets/android-tab-CY3aa_vU.js","assets/use-h264-canvas-decoder-BpBeyZ1K.js","assets/system-monitor-tab-CfwHKQ5k.js","assets/system-monitor-body-B5AvRT5J.js","assets/git-log-panel-T8Fzn8-5.js","assets/git-commit-horizontal-ZMFP54eB.js","assets/ai-resource-editor-CFbXgGMo.js","assets/group-chat-tab-URU3FCLs.js","assets/lib-DULxhi7W.js","assets/markdown-renderer-DZNMRg6p.js","assets/problems-panel-DjCHA1r5.js","assets/design-tab-BoPiL2ge.js","assets/design-responsive-dialog-DBdfargi.js","assets/review-address-setup-CoI2BGdx.js","assets/design-export-client-B_xjs-UI.js","assets/web-preview-tab-CZJAVoVU.js","assets/logs-tab-CQw9vrNw.js","assets/logs-app-CDSvyY1H.js","assets/logs-app-C4OVSXwd.css","assets/designs-sidebar-panel-BVTqPPzG.js","assets/design-system-status-label-DWOVs5tJ.js","assets/explorer-window-content-CbUIbrzL.js","assets/explorer-body-DLaWmxri.js","assets/agent-session-window-content-HEdIT_LQ.js","assets/system-monitor-window-content-Cvx1V8Mf.js","assets/tab-host-window-content-DqOUHxEL.js","assets/remote-desktop-window-content-CAuxeGbK.js","assets/remote-desktop-readiness-gate-DrSYb_9z.js","assets/remote-desktop-clipboard-notice-Dwn-iV4g.js","assets/remote-desktop-recording-BcDx5c_k.js","assets/settings-window-content-BCDRi6xS.js","assets/logs-window-content-CGvPnPrr.js","assets/release-notes-window-content-B33RDfFY.js","assets/angular-html-B2YCOAuK.js","assets/html-xq21eATY.js","assets/css-CT1mr1n4.js","assets/javascript-DmijiU-0.js","assets/angular-ts-BPAji1W5.js","assets/scss-sB701xM2.js","assets/apl-BEqVKm8S.js","assets/json-DQvwU2xV.js","assets/xml-C_JJhVVd.js","assets/java-D1llR3mV.js","assets/astro-BSfK6BlD.js","assets/postcss-DEaQ0E7s.js","assets/tsx-ls17OjlG.js","assets/typescript-D886b5ZV.js","assets/blade-B2jAASTF.js","assets/html-derivative-B1X7du10.js","assets/sql-BXR8QmJ6.js","assets/bsl-D1rCaJS9.js","assets/sdbl-DS4x7rNS.js","assets/c-Cit3Why-.js","assets/cairo-B2dp4TSD.js","assets/python-CsrsOhU3.js","assets/cobol-DmhudAVS.js","assets/coffee-B7wtoipI.js","assets/cpp-C8Nbi_kO.js","assets/glsl-YzMs51Ij.js","assets/regexp-sguYVjwL.js","assets/crystal-yKy-Y8nB.js","assets/shellscript-BHKZV5y3.js","assets/edge-iWBpy9T5.js","assets/elixir-UJK4tIUw.js","assets/elm-DRQuM4RH.js","assets/erb-Cn-S4GBS.js","assets/ruby-Bzf1F744.js","assets/graphql-BFVCacu-.js","assets/jsx-CYppWQG6.js","assets/haml-CYgVqF4c.js","assets/lua-CuWcbWL1.js","assets/yaml-DVOU6X70.js","assets/erlang-CEmUHkaF.js","assets/markdown-BP1gorzI.js","assets/fortran-fixed-form-BGdOSKg1.js","assets/fortran-free-form-DFwyzPqQ.js","assets/fsharp-DO2AnZP1.js","assets/gdresource-DDUd92GU.js","assets/gdscript-BBoQl7va.js","assets/gdshader-QNYoSdTP.js","assets/git-commit-COKTUbBS.js","assets/diff-brodtM_M.js","assets/git-rebase-2aQZz0-I.js","assets/glimmer-js-CnSut-4c.js","assets/glimmer-ts-DxiTodBz.js","assets/hack-DOJlPPOd.js","assets/handlebars-BTwKj32l.js","assets/http-BDKIExL3.js","assets/hurl-2KpxYjLY.js","assets/csv-DyVfZ6Yu.js","assets/hxml-CiGzsZIZ.js","assets/haxe-DDBozNyI.js","assets/jinja-DjYiIOR3.js","assets/jison-BQVB9rsy.js","assets/julia-COF3eklp.js","assets/r-HX6ozzga.js","assets/just-DprPf3oK.js","assets/perl-HQxBdRdN.js","assets/latex-CrhkpflQ.js","assets/tex-CP7U17hs.js","assets/liquid-CeUFjwJ2.js","assets/marko-DwMQxO9l.js","assets/less-CUX1mntX.js","assets/mdc-DjQFCQBX.js","assets/nextflow-DiDHBgfs.js","assets/nextflow-groovy-DwVE0FtP.js","assets/nginx-Gqna_yUL.js","assets/nim-A-jWq8Ol.js","assets/php-DhvLFs6c.js","assets/pug-fjJDiT3l.js","assets/qml-Bzo6GtN7.js","assets/razor-BDaWuG_d.js","assets/csharp-_eS6diqA.js","assets/rst-DP-mrRaa.js","assets/cmake-D1BVD0kp.js","assets/sas-BPxC0mhc.js","assets/shaderlab-C9v6zvwt.js","assets/hlsl-7ao_7wl2.js","assets/shellsession-Blqyad8V.js","assets/soy-CWYqyoGs.js","assets/sparql-4f8zf3ui.js","assets/turtle-BnjqSeoz.js","assets/stata-D7sUZ_Ew.js","assets/surrealql-Cp_B9dH4.js","assets/svelte-DH0-DTob.js","assets/templ-D6y_rZNX.js","assets/go-Dent6yAV.js","assets/ts-tags-CDJw6GGf.js","assets/twig-DgdJEgGb.js","assets/vue-Dm7kCn35.js","assets/vue-html-2mmeALdP.js","assets/vue-vine-BD9NX4hb.js","assets/stylus-J4XGQ0k5.js","assets/xsl-D-Suo93u.js","assets/settings-section-content-Ck39TJA7.js","assets/new-design-dialog-BthM423i.js","assets/design-skill-suggestion-BcP-2VyB.js","assets/structure-save-dialog-DcQdamD3.js","assets/rename-object-dialog-BPuh3dAH.js","assets/grid-save-dialog-HiqlnSky.js","assets/mobile-explorer-sheet-D7e-MM6m.js","assets/agent-session-sheet-B3VLD2H6.js","assets/remote-desktop-mobile-sheet-bfKiSG0C.js","assets/keybindings-store-D_U8jECl.js","assets/notification-store-GKweleCQ.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e,s as t,t as n}from"./rolldown-runtime-C5c2KzVm.js";import{C as r,D as i,E as a,S as o,T as s,b as c,w as l,x as u,y as d}from"./vendor-markdown-C-P1aR4p.js";import{C as f,F as p,I as m,M as h,N as g,P as _,S as v,T as y,_ as b,a as x,b as S,d as C,f as w,g as T,h as E,i as D,j as O,m as k,n as A,o as j,r as M,t as N,v as P,vt as ee,w as F,x as te,y as ne}from"./vendor-ui-BTSIXzhZ.js";import{n as I}from"./minimal-mode-rLZOjciW.js";import{A as L,An as re,Ar as R,B as ie,Bn as ae,Br as oe,Bt as se,Cn as ce,Cr as le,Ct as ue,D as de,Dn as fe,Et as pe,F as me,Fn as he,Fr as ge,Ft as _e,G as ve,Gt as ye,H as be,Hn as xe,Hr as Se,I as Ce,In as we,Ir as Te,It as Ee,Jn as De,Jr as Oe,Jt as ke,K as Ae,Kr as je,Kt as Me,L as Ne,Ln as Pe,Lr as Fe,Lt as Ie,M as Le,Mn as Re,Mr as ze,N as Be,Nr as Ve,Nt as He,On as Ue,P as We,Pr as Ge,Qn as Ke,Qt as qe,Rn as Je,S as Ye,Sn as Xe,T as Ze,Tn as Qe,Tr as $e,Ur as et,Ut as tt,Vn as nt,Vr as rt,W as it,Wt as at,X as ot,Xn as st,Xr as ct,Yn as lt,Yr as ut,Z as dt,Zn as ft,Zr as pt,_ as mt,_r as ht,_t as gt,a as _t,ar as vt,at as yt,br as bt,c as xt,cn as St,cr as Ct,ct as wt,d as Tt,dn as Et,dt as Dt,en as Ot,et as kt,fi as At,fr as jt,ft as Mt,g as Nt,gi as Pt,gn as Ft,gr as It,gt as Lt,h as Rt,hi as zt,hn as Bt,hr as Vt,ht as Ht,i as Ut,ir as Wt,it as Gt,j as Kt,jr as qt,jt as Jt,k as Yt,kn as Xt,kt as Zt,l as Qt,li as $t,ln as en,lr as tn,mn as nn,n as rn,nn as an,nt as on,o as sn,oi as cn,on as ln,or as un,ot as dn,pi as fn,pr as pn,pt as mn,q as hn,qn as gn,qr as _n,qt as vn,r as yn,rr as bn,s as xn,si as Sn,sn as Cn,sr as wn,t as Tn,ti as En,tn as Dn,tr as On,tt as kn,u as An,ut as jn,vn as Mn,vt as Nn,w as Pn,wr as Fn,x as In,xn as z,xr as Ln,xt as Rn,y as zn,yn as Bn,yt as Vn,z as Hn}from"./icons-C1wDt09O.js";import{t as Un}from"./createLucideIcon-B2pji242.js";import{t as Wn}from"./file-diff-CScJM-VZ.js";import{t as Gn}from"./git-commit-horizontal-ZMFP54eB.js";import{D as Kn,E as qn,O as Jn,_ as Yn,a as Xn,c as Zn,g as Qn,h as $n,i as er,k as B,l as tr,n as nr,o as V,r as H,s as rr,u as ir,v as ar,x as or}from"./api-client-BnYFnEfK.js";import{t as sr}from"./react-B9hau9ra.js";import{C as cr,S as lr,t as U,w as ur}from"./settings-store-CMpVMq3Y.js";import{t as W}from"./preload-helper-Bf_JiD2A.js";import{n as G,r as dr,t as fr}from"./utils-D3xTlJyU.js";import{n as pr,t as mr}from"./portal-container-context-Gepuvxdg.js";import{$ as hr,C as gr,D as _r,E as vr,F as yr,G as br,H as xr,I as Sr,M as Cr,R as wr,S as Tr,T as Er,U as Dr,V as Or,W as kr,_ as Ar,a as jr,b as Mr,c as Nr,d as Pr,f as Fr,g as Ir,h as Lr,i as Rr,k as zr,l as Br,m as Vr,n as K,o as Hr,p as Ur,q as Wr,r as Gr,s as Kr,t as qr,u as Jr,v as Yr,w as Xr,y as Zr}from"./window-store-D6EgLSfT.js";import{i as Qr,r as $r,t as q}from"./panel-store-H7e9XHZF.js";import{i as J,n as ei,r as ti,t as ni}from"./project-store-Bs-kiU8m.js";import"./project-framework-store-nuePqBBa.js";import{a as ri,c as ii,d as ai,i as oi,l as si,n as ci,o as li,r as ui,s as di,t as fi,u as pi}from"./session-list-sync-triggers-D9i1FxWd.js";import{t as Y}from"./tab-store-NUmgzMPf.js";import{t as mi}from"./format-date-SZ6qU2sD.js";import{c as hi,l as gi,n as _i,o as vi,r as yi,s as bi,t as xi,u as Si}from"./context-menu-DhKbkI1X.js";import{a as Ci,o as wi}from"./chat-preparation-cache-Bzb-T1pm.js";import{a as Ti,c as Ei,i as Di,l as Oi,n as ki,o as Ai,r as ji,s as Mi,t as Ni}from"./file-store-Bn0vbkCx.js";import{n as Pi,t as Fi}from"./use-is-mobile-CL2I7hLf.js";import"./settings-categories-BY9n3BRr.js";import{t as Ii}from"./open-settings-DWbF5YsE.js";import{a as Li,c as Ri,i as zi,l as Bi,n as Vi,o as Hi,r as Ui,s as Wi,t as Gi,u as Ki}from"./git-repo-store-CESIqItW.js";import{a as qi,c as Ji,d as Yi,i as Xi,l as Zi,n as Qi,o as $i,r as ea,s as ta,t as na,u as ra}from"./onboarding-quick-orientation-DTMrcMf0.js";import{n as ia,r as aa,t as oa}from"./apply-theme-Kiqxd1NZ.js";import{n as sa,r as ca,t as la}from"./clipboard-D3XnL7CB.js";import{n as ua,t as X}from"./button-BHGVTbam.js";import{a as da,i as fa,n as pa,o as ma,r as ha,s as ga,t as _a}from"./dialog-DnE192fh.js";import{n as va,r as ya,t as ba}from"./file-icons-CB0RsVdl.js";import{n as xa,t as Sa}from"./patch-tab-metadata-DqvfqUI4.js";import{a as Ca,c as wa,i as Ta,l as Ea,m as Da,n as Oa,r as ka,s as Aa,t as ja}from"./dropdown-menu-CxZR_vuV.js";import{t as Ma}from"./mobile-bottom-sheet-M9pZptfh.js";import{t as Na}from"./use-visual-viewport-B_GFo6k2.js";import{n as Pa,o as Fa,r as Z,t as Ia,u as La}from"./adaptive-context-menu-CxHkI7dL.js";import{n as Ra,t as za}from"./fs-api-BVIVh_De.js";import{a as Ba,c as Va,i as Ha,n as Ua,o as Wa,r as Ga,s as Ka,t as qa}from"./format-file-meta-BOAh9mam.js";import{t as Ja}from"./input-CReAuQTF.js";import{t as Ya}from"./start-ellipsis-DfU-W_6j.js";import{n as Xa,t as Za}from"./use-db-driver-installed-BL1XW_bI.js";import{a as Qa,n as $a,r as eo,t as to}from"./db-sidebar-reveal-CGqWBYay.js";import{n as no,r as ro}from"./db-types-cHkNH-mN.js";import{A as io,C as ao,O as oo,S as so,T as co,_ as lo,a as uo,b as fo,c as po,d as mo,f as ho,g as go,h as _o,k as vo,l as yo,m as bo,n as xo,o as So,p as Co,r as wo,s as To,t as Eo,u as Do,v as Oo,w as ko,x as Ao,y as jo}from"./explorer-model-f5q-50DN.js";import{A as Mo,C as No,D as Po,E as Fo,F as Io,I as Lo,L as Ro,M as zo,N as Bo,O as Vo,P as Ho,S as Uo,T as Wo,_ as Go,a as Ko,b as qo,c as Jo,d as Yo,f as Xo,g as Zo,h as Qo,i as $o,j as es,k as ts,l as ns,m as rs,n as is,o as as,p as os,r as ss,s as cs,t as ls,u as us,v as ds,w as fs,y as ps}from"./db-explorer-store-DJNNIfN5.js";import{a as ms,i as hs,l as gs,n as _s,s as vs,t as ys}from"./open-db-tabs-DBgV2hbA.js";import{g as bs,h as xs,l as Ss}from"./impexp-state-Cx2Az9iZ.js";import{t as Cs}from"./sql-identifiers-7jHNEORb.js";import{t as ws}from"./scroll-area-CSmNLlfl.js";import{n as Ts,r as Es,t as Ds}from"./resolve-theme-DGQXDIbF.js";import{t as Os}from"./ws-auth-k7DWnL9T.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 ks=`ppm-device-id`,As=/^[A-Za-z0-9-]{8,64}$/,js=null;function Ms(){let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}function Ns(){if(js)return js;try{let e=localStorage.getItem(ks);if(e&&As.test(e))return js=e}catch{}let e=Ms();try{localStorage.setItem(ks,e)}catch{}return js=e}var Ps=`ppm-trace-queue`,Fs=12e3,Is=6e4,Ls=1e3,Rs=5e3,zs=5e3,Bs=5e3,Vs=5*6e4,Hs=1e3,Us=256*1024,Ws=2e3,Gs=300,Ks=500,qs=[`log`,`info`,`debug`,`warn`,`error`],Js=new Set([`console_error`,`browser_error`,`unhandled_rejection`,`render_error`,`chunk_error`]);function Ys(e,t){return e.length<=t?e:`${e.slice(0,t)}… [${e.length-t} more]`}function Xs(e){let t=`${e.name||`Error`}: ${e.message}`,n=typeof e.stack==`string`?e.stack:``;return n.startsWith(t)?n:n?`${t}\n${n}`:t}function Zs(e){if(typeof e==`string`)return Ys(e,Ws);if(e instanceof Error)return Ys(Xs(e),Ws*2);if(e===void 0)return`undefined`;if(typeof e==`function`)return`[function ${e.name||`anonymous`}]`;if(typeof e!=`object`||!e)return String(e);if(typeof Node<`u`&&e instanceof Node)return`<${e.tagName?.toLowerCase()??e.nodeName}>`;if(typeof Event<`u`&&e instanceof Event)return Qs(e);let t=new WeakSet,n=0;try{return Ys(JSON.stringify(e,(e,r)=>{if(++n>Ks)return`[…]`;if(typeof r==`bigint`)return`${r}n`;if(r instanceof Error)return Xs(r);if(typeof r==`object`&&r){if(t.has(r))return`[circular]`;t.add(r)}return r})??String(e),Ws)}catch{return Object.prototype.toString.call(e)}}function Qs(e){let t=e.target,n=``;if(t){let e=t.tagName?`<${t.tagName.toLowerCase()}>`:t.constructor?.name??``,r=t.src||t.href||t.url||``;n=` on ${e}${r?` ${r}`:``}`}return Ys(`[${e.constructor?.name??`Event`} ${e.type}${n}]`,Ws)}function $s(e,t={}){return e instanceof Error?{name:e.name,message:Ys(e.message,Ws),stack:Ys(Xs(e),Ws*3),...t}:{message:Zs(e),...t}}function ec(e){let t=JSON.stringify(e);if(t.length<=12e3)return e;let n={...e};if(Array.isArray(n.breadcrumbs)){let e=[...n.breadcrumbs];for(;e.length>0&&t.length>12e3;)e.shift(),n.breadcrumbs=e,t=JSON.stringify(n);if(t.length<=12e3)return n}for(let[e,t]of Object.entries(n))typeof t==`string`&&t.length>1e3&&(n[e]=Ys(t,1e3)),Array.isArray(t)&&e===`args`&&(n[e]=t.map(e=>typeof e==`string`?Ys(e,1e3):e));return t=JSON.stringify(n),t.length<=12e3?n:{truncated:!0,head:t.slice(0,Fs-200)}}function tc(e){let t=m(),n=new Set,r=[],i=null,a=1/0,o=null,s=!1,c=0,l=0,u,d=e.now(),f=0,p=0;function m(){try{let t=e.storage?.getItem(Ps),n=t?JSON.parse(t):null;return Array.isArray(n)?n.slice(-300):[]}catch{return[]}}function h(){o!=null&&(e.clearTimer(o),o=null);try{if(t.length===0){e.storage?.removeItem(Ps);return}let n=t,r=JSON.stringify(n);for(;r.length>Us&&n.length>1;)n=n.slice(Math.ceil(n.length/4)),r=JSON.stringify(n);e.storage?.setItem(Ps,r)}catch{}}function g(){o??=e.setTimer(()=>{o=null,h()},Hs)}function _(t){let n=e.now()+t;i!=null&&a<=n||(i!=null&&e.clearTimer(i),a=n,i=e.setTimer(()=>{i=null,a=1/0,A()},t))}function v(){try{return e.refId()}catch{return null}}function y(){try{return e.authToken()}catch{return null}}function b(e){return u!==void 0&&e===u}function x(n,r,i){let a={};try{a=e.context()}catch{}t.push({ts:i,type:n,refId:v(),payload:ec({...a,...r})}),t.length>300&&t.splice(0,t.length-300),g()}function S(e){if(e-d>=6e4){let t=p;d=e,f=0,p=0,t>0&&(f++,x(`console_dropped`,{count:t},e))}return f>=300?(p++,!1):(f++,!0)}function C(t,n){try{let i=e.now();if(!S(i))return;let a=Js.has(t);x(t,a?{...n,breadcrumbs:r.slice()}:n,i),_(a?Ls:Rs)}catch{}}function w(t,n){try{let i=e.now();if(!S(i))return;let a=n.map(Zs),o=`console_${t}`,s=Js.has(o);x(o,s?{args:a,breadcrumbs:r.slice()}:{args:a},i),r.push({ts:i,level:t,text:Ys(a.join(` `),Gs)}),r.length>50&&r.shift(),_(s?Ls:Rs)}catch{}}function T(e){let r=[],i=200;for(let a of t){if(n.has(a))continue;if(r.length>=50)break;let t=JSON.stringify(a).length+1;if(r.length>0&&i+t>e)break;r.push(a),i+=t}return r}function E(t){return JSON.stringify({deviceId:e.deviceId(),sentAt:e.now(),entries:t})}function D(e){let n=new Set(e);t=t.filter(e=>!n.has(e))}function O(t){c=Math.min(Vs,Math.max(zs,c*2)),l=e.now()+Math.max(c,t??0),_(l-e.now())}function k(e){return e===0||e===429||e>=500}async function A(){try{if(t.length===0)return;let r=e.now();if(s||r<l){_(Math.max(l-r,Ls));return}let i=y();if(b(i)){_(Bs);return}let a=T(1/0);if(a.length===0)return;s=!0;for(let e of a)n.add(e);let o;try{o=await e.send(E(a),!1,i)}catch{o={status:0}}finally{s=!1;for(let e of a)n.delete(e)}o.status>=200&&o.status<300?(D(a),c=0,l=0,u=void 0,t.length>0&&_(0)):o.status===401?(u=i,_(Bs)):k(o.status)?O(o.retryAfterMs):D(a),g()}catch{s=!1}}function j(){try{let n=y();if(t.length>0&&!b(n)){let r=T(Is);if(r.length>0){D(r);let i=(e,i)=>{t.unshift(...r),t.length>300&&t.splice(0,t.length-300),g(),e===401?(u=n,_(Bs)):O(i)};e.send(E(r),!0,n).then(e=>{(e.status===401||k(e.status))&&i(e.status,e.retryAfterMs)}).catch(()=>i(0))}}h()}catch{}}return t.length>0&&_(2e3),{record:C,console:w,flush:A,flushOnHide:j,pending:()=>t.length}}function nc(e,t){let n=!1;for(let r of qs){let i=e[r];typeof i==`function`&&(e[r]=function(...e){if(i.apply(this,e),!n){n=!0;try{t.console(r,e)}finally{n=!1}}})}}var rc=null,ic=()=>null;function ac(e){ic=e}function oc(e,t,n={}){rc?.record(e,$s(t,n))}function sc(e){let t=Number(e.headers.get(`retry-after`));return Number.isFinite(t)&&t>0?t*1e3:void 0}function cc(){if(rc||typeof window>`u`||typeof document>`u`)return;let e=Ms(),t=null;try{t=window.localStorage}catch{}let n=tc({send:async(e,t,n)=>{let r=await fetch(`/api/trace`,{method:`POST`,keepalive:t,headers:{"Content-Type":`application/json`,...n?{Authorization:`Bearer ${n}`}:{}},body:e});return{status:r.status,retryAfterMs:sc(r)}},authToken:()=>t?.getItem(`ppm-auth-token`)??null,storage:t,now:()=>Date.now(),setTimer:(e,t)=>window.setTimeout(e,t),clearTimer:e=>window.clearTimeout(e),deviceId:Ns,refId:()=>ic(),context:()=>({page:e,path:location.pathname})});rc=n,nc(console,n),window.addEventListener(`error`,e=>{n.record(`browser_error`,$s(e.error??e.message,{...e.filename?{source:e.filename,line:e.lineno,col:e.colno}:{},ua:navigator.userAgent}))}),window.addEventListener(`unhandledrejection`,e=>{n.record(`unhandled_rejection`,$s(e.reason,{ua:navigator.userAgent}))}),window.addEventListener(`pagehide`,()=>n.flushOnHide()),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&n.flushOnHide()}),window.addEventListener(`online`,()=>{n.flush()})}cc();var lc=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}}}})),uc=n(((e,t)=>{t.exports=lc()})),dc=n((e=>{var t=uc(),n=i(),r=ee();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 N=Array.isArray,P=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,F=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te={pending:!1,data:null,method:null,action:null},ne=[],I=-1;function L(e){return{current:e}}function re(e){0>I||(e.current=ne[I],ne[I]=null,I--)}function R(e,t){I++,ne[I]=e.current,e.current=t}var ie=L(null),ae=L(null),oe=L(null),se=L(null);function ce(e,t){switch(R(oe,t),R(ae,e),R(ie,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}}re(ie),R(ie,e)}function le(){re(ie),re(ae),re(oe)}function ue(e){e.memoizedState!==null&&R(se,e);var t=ie.current,n=Hd(t,e.type);t!==n&&(R(ae,e),R(ie,n))}function de(e){ae.current===e&&(re(ie),re(ae)),se.current===e&&(re(se),Qf._currentValue=te)}var fe,pe;function me(e){if(fe===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);fe=t&&t[1]||``,pe=-1<e.stack.indexOf(`
|
|
3
3
|
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
4
4
|
`+fe+e+pe}var he=!1;function ge(e,t){if(!e||he)return``;he=!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(`
|
|
5
5
|
`),l=s.split(`
|
|
@@ -9,7 +9,7 @@ Error generating stack: `+e.message+`
|
|
|
9
9
|
`+e.stack}}var ye=Object.prototype.hasOwnProperty,be=t.unstable_scheduleCallback,xe=t.unstable_cancelCallback,Se=t.unstable_shouldYield,Ce=t.unstable_requestPaint,we=t.unstable_now,Te=t.unstable_getCurrentPriorityLevel,Ee=t.unstable_ImmediatePriority,De=t.unstable_UserBlockingPriority,Oe=t.unstable_NormalPriority,ke=t.unstable_LowPriority,Ae=t.unstable_IdlePriority,je=t.log,Me=t.unstable_setDisableYieldValue,Ne=null,Pe=null;function Fe(e){if(typeof je==`function`&&Me(e),Pe&&typeof Pe.setStrictMode==`function`)try{Pe.setStrictMode(Ne,e)}catch{}}var Ie=Math.clz32?Math.clz32:ze,Le=Math.log,Re=Math.LN2;function ze(e){return e>>>=0,e===0?32:31-(Le(e)/Re|0)|0}var Be=256,Ve=262144,He=4194304;function Ue(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 We(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=Ue(n))):i=Ue(o):i=Ue(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ue(n))):i=Ue(o)):i=Ue(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 Ge(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Ke(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 qe(){var e=He;return He<<=1,!(He&62914560)&&(He=4194304),e}function Je(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ye(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Xe(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-Ie(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&&Ze(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function Ze(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Ie(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function Qe(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ie(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function $e(e,t){var n=t&-t;return n=n&42?1:et(n),(n&(e.suspendedLanes|t))===0?n:0}function et(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 tt(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function nt(){var e=F.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function rt(e,t){var n=F.p;try{return F.p=e,t()}finally{F.p=n}}var it=Math.random().toString(36).slice(2),at=`__reactFiber$`+it,ot=`__reactProps$`+it,st=`__reactContainer$`+it,ct=`__reactEvents$`+it,lt=`__reactListeners$`+it,ut=`__reactHandles$`+it,dt=`__reactResources$`+it,ft=`__reactMarker$`+it;function pt(e){delete e[at],delete e[ot],delete e[ct],delete e[lt],delete e[ut]}function mt(e){var t=e[at];if(t)return t;for(var n=e.parentNode;n;){if(t=n[st]||n[at]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=df(e);e!==null;){if(n=e[at])return n;e=df(e)}return t}e=n,n=e.parentNode}return null}function ht(e){if(e=e[at]||e[st]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function gt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(a(33))}function _t(e){var t=e[dt];return t||=e[dt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function vt(e){e[ft]=!0}var yt=new Set,bt={};function xt(e,t){St(e,t),St(e+`Capture`,t)}function St(e,t){for(bt[e]=t,e=0;e<t.length;e++)yt.add(t[e])}var Ct=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]*$`),wt={},Tt={};function Et(e){return ye.call(Tt,e)?!0:ye.call(wt,e)?!1:Ct.test(e)?Tt[e]=!0:(wt[e]=!0,!1)}function Dt(e,t,n){if(Et(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 Ot(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 kt(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 At(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function jt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Mt(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 Nt(e){if(!e._valueTracker){var t=jt(e)?`checked`:`value`;e._valueTracker=Mt(e,t,``+e[t])}}function Pt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=jt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function Ft(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 It=/[\n"\\]/g;function Lt(e){return e.replace(It,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Rt(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=``+At(t)):e.value!==``+At(t)&&(e.value=``+At(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Bt(e,o,At(n)):Bt(e,o,At(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=``+At(s):e.removeAttribute(`name`)}function zt(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)){Nt(e);return}n=n==null?``:``+At(n),t=t==null?n:``+At(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),Nt(e)}function Bt(e,t,n){t===`number`&&Ft(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Vt(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=``+At(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 Ht(e,t,n){if(t!=null&&(t=``+At(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+At(n)}function Ut(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(a(92));if(N(r)){if(1<r.length)throw Error(a(93));r=r[0]}n=r}n??=``,t=n}n=At(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Nt(e)}function Wt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Gt=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 Kt(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||Gt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function qt(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&&Kt(e,i,r)}else for(var o in t)t.hasOwnProperty(o)&&Kt(e,o,t[o])}function Jt(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 Yt=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`]]),Xt=/^[\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 Zt(e){return Xt.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function Qt(){}var $t=null;function en(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var tn=null,nn=null;function rn(e){var t=ht(e);if(t&&(e=t.stateNode)){var n=e[ot]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Rt(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="`+Lt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[ot]||null;if(!i)throw Error(a(90));Rt(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&&Pt(r)}break a;case`textarea`:Ht(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Vt(e,!!n.multiple,t,!1)}}}var an=!1;function on(e,t,n){if(an)return e(t,n);an=!0;try{return e(t)}finally{if(an=!1,(tn!==null||nn!==null)&&(_u(),tn&&(t=tn,e=nn,nn=tn=null,rn(t),e)))for(t=0;t<e.length;t++)rn(e[t])}}function sn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[ot]||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 cn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),ln=!1;if(cn)try{var un={};Object.defineProperty(un,`passive`,{get:function(){ln=!0}}),window.addEventListener(`test`,un,un),window.removeEventListener(`test`,un,un)}catch{ln=!1}var dn=null,fn=null,pn=null;function mn(){if(pn)return pn;var e,t=fn,n=t.length,r,i=`value`in dn?dn.value:dn.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 pn=i.slice(e,1<r?1-r:void 0)}function hn(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 gn(){return!0}function _n(){return!1}function vn(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)?gn:_n,this.isPropagationStopped=_n,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=gn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=gn)},persist:function(){},isPersistent:gn}),t}var yn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},bn=vn(yn),xn=p({},yn,{view:0,detail:0}),Sn=vn(xn),Cn,wn,Tn,En=p({},xn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:z,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!==Tn&&(Tn&&e.type===`mousemove`?(Cn=e.screenX-Tn.screenX,wn=e.screenY-Tn.screenY):wn=Cn=0,Tn=e),Cn)},movementY:function(e){return`movementY`in e?e.movementY:wn}}),Dn=vn(En),On=vn(p({},En,{dataTransfer:0})),kn=vn(p({},xn,{relatedTarget:0})),An=vn(p({},yn,{animationName:0,elapsedTime:0,pseudoElement:0})),jn=vn(p({},yn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Mn=vn(p({},yn,{data:0})),Nn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Pn={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`},Fn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function In(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Fn[e])?!!t[e]:!1}function z(){return In}var Ln=vn(p({},xn,{key:function(e){if(e.key){var t=Nn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=hn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Pn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:z,charCode:function(e){return e.type===`keypress`?hn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?hn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Rn=vn(p({},En,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),zn=vn(p({},xn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:z})),Bn=vn(p({},yn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Vn=vn(p({},En,{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})),Hn=vn(p({},yn,{newState:0,oldState:0})),Un=[9,13,27,32],Wn=cn&&`CompositionEvent`in window,Gn=null;cn&&`documentMode`in document&&(Gn=document.documentMode);var Kn=cn&&`TextEvent`in window&&!Gn,qn=cn&&(!Wn||Gn&&8<Gn&&11>=Gn),Jn=` `,Yn=!1;function Xn(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 Zn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Qn=!1;function $n(e,t){switch(e){case`compositionend`:return Zn(t);case`keypress`:return t.which===32?(Yn=!0,Jn):null;case`textInput`:return e=t.data,e===Jn&&Yn?null:e;default:return null}}function er(e,t){if(Qn)return e===`compositionend`||!Wn&&Xn(e,t)?(e=mn(),pn=fn=dn=null,Qn=!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 qn&&t.locale!==`ko`?null:t.data;default:return null}}var B={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 tr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!B[e.type]:t===`textarea`}function nr(e,t,n,r){tn?nn?nn.push(r):nn=[r]:tn=r,t=Td(t,`onChange`),0<t.length&&(n=new bn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var V=null,H=null;function rr(e){_d(e,0)}function ir(e){if(Pt(gt(e)))return e}function ar(e,t){if(e===`change`)return t}var or=!1;if(cn){var sr;if(cn){var cr=`oninput`in document;if(!cr){var lr=document.createElement(`div`);lr.setAttribute(`oninput`,`return;`),cr=typeof lr.oninput==`function`}sr=cr}else sr=!1;or=sr&&(!document.documentMode||9<document.documentMode)}function U(){V&&(V.detachEvent(`onpropertychange`,ur),H=V=null)}function ur(e){if(e.propertyName===`value`&&ir(H)){var t=[];nr(t,H,e,en(e)),on(rr,t)}}function W(e,t,n){e===`focusin`?(U(),V=t,H=n,V.attachEvent(`onpropertychange`,ur)):e===`focusout`&&U()}function G(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return ir(H)}function dr(e,t){if(e===`click`)return ir(t)}function fr(e,t){if(e===`input`||e===`change`)return ir(t)}function pr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var mr=typeof Object.is==`function`?Object.is:pr;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(!ye.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 _r(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 vr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?vr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function yr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ft(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=Ft(e.document)}return t}function br(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 xr=cn&&`documentMode`in document&&11>=document.documentMode,Sr=null,Cr=null,wr=null,Tr=!1;function Er(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Tr||Sr==null||Sr!==Ft(r)||(r=Sr,`selectionStart`in r&&br(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}),wr&&hr(wr,r)||(wr=r,r=Td(Cr,`onSelect`),0<r.length&&(t=new bn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Sr)))}function Dr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Or={animationend:Dr(`Animation`,`AnimationEnd`),animationiteration:Dr(`Animation`,`AnimationIteration`),animationstart:Dr(`Animation`,`AnimationStart`),transitionrun:Dr(`Transition`,`TransitionRun`),transitionstart:Dr(`Transition`,`TransitionStart`),transitioncancel:Dr(`Transition`,`TransitionCancel`),transitionend:Dr(`Transition`,`TransitionEnd`)},kr={},Ar={};cn&&(Ar=document.createElement(`div`).style,`AnimationEvent`in window||(delete Or.animationend.animation,delete Or.animationiteration.animation,delete Or.animationstart.animation),`TransitionEvent`in window||delete Or.transitionend.transition);function jr(e){if(kr[e])return kr[e];if(!Or[e])return e;var t=Or[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Ar)return kr[e]=t[n];return e}var Mr=jr(`animationend`),Nr=jr(`animationiteration`),Pr=jr(`animationstart`),Fr=jr(`transitionrun`),Ir=jr(`transitionstart`),Lr=jr(`transitioncancel`),Rr=jr(`transitionend`),zr=new Map,Br=`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(` `);Br.push(`scrollEnd`);function Vr(e,t){zr.set(e,t),xt(t,[e])}var K=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-Ie(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<cu)throw cu=0,lu=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 q(e){return e=e.prototype,!(!e||!e.isReactComponent)}function J(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 ei(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 ti(e,t,n,r,i,o){var s=0;if(r=e,typeof e==`function`)q(e)&&(s=1);else if(typeof e==`string`)s=Uf(e,n,ie.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 ni(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 ni(e,t,n,r){return e=$r(7,e,r,t),e.lanes=n,e}function ri(e,t,n){return e=$r(6,e,null,t),e.lanes=n,e}function ii(e){var t=$r(18,null,null,0);return t.stateNode=e,t}function ai(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 oi=new WeakMap;function si(e,t){if(typeof e==`object`&&e){var n=oi.get(e);return n===void 0?(t={value:e,source:t,stack:ve(t)},oi.set(e,t),t):n}return{value:e,source:t,stack:ve(t)}}var ci=[],li=0,ui=null,di=0,fi=[],pi=0,Y=null,mi=1,hi=``;function gi(e,t){ci[li++]=di,ci[li++]=ui,ui=e,di=t}function _i(e,t,n){fi[pi++]=mi,fi[pi++]=hi,fi[pi++]=Y,Y=e;var r=mi;e=hi;var i=32-Ie(r)-1;r&=~(1<<i),n+=1;var a=32-Ie(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,mi=1<<32-Ie(t)+i|n<<i|r,hi=a+e}else mi=1<<a|n<<i|r,hi=e}function vi(e){e.return!==null&&(gi(e,1),_i(e,1,0))}function yi(e){for(;e===ui;)ui=ci[--li],ci[li]=null,di=ci[--li],ci[li]=null;for(;e===Y;)Y=fi[--pi],fi[pi]=null,hi=fi[--pi],fi[pi]=null,mi=fi[--pi],fi[pi]=null}function bi(e,t){fi[pi++]=mi,fi[pi++]=hi,fi[pi++]=Y,mi=t.id,hi=t.overflow,Y=e}var xi=null,Si=null,Ci=!1,wi=null,Ti=!1,Ei=Error(a(519));function Di(e){throw Ni(si(Error(a(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Ei}function Oi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[at]=e,t[ot]=r,n){case`dialog`:vd(`cancel`,t),vd(`close`,t);break;case`iframe`:case`object`:case`embed`:vd(`load`,t);break;case`video`:case`audio`:for(n=0;n<hd.length;n++)vd(hd[n],t);break;case`source`:vd(`error`,t);break;case`img`:case`image`:case`link`:vd(`error`,t),vd(`load`,t);break;case`details`:vd(`toggle`,t);break;case`input`:vd(`invalid`,t),zt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:vd(`invalid`,t);break;case`textarea`:vd(`invalid`,t),Ut(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&&(vd(`beforetoggle`,t),vd(`toggle`,t)),r.onScroll!=null&&vd(`scroll`,t),r.onScrollEnd!=null&&vd(`scrollend`,t),r.onClick!=null&&(t.onclick=Qt),t=!0):t=!1,t||Di(e,!0)}function ki(e){for(xi=e.return;xi;)switch(xi.tag){case 5:case 31:case 13:Ti=!1;return;case 27:case 3:Ti=!0;return;default:xi=xi.return}}function Ai(e){if(e!==xi)return!1;if(!Ci)return ki(e),Ci=!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&&Si&&Di(e),ki(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));Si=uf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));Si=uf(e)}else t===27?(t=Si,Zd(e.type)?(e=lf,lf=null,Si=e):Si=t):Si=xi?cf(e.stateNode.nextSibling):null;return!0}function ji(){Si=xi=null,Ci=!1}function Mi(){var e=wi;return e!==null&&(Jl===null?Jl=e:Jl.push.apply(Jl,e),wi=null),e}function Ni(e){wi===null?wi=[e]:wi.push(e)}var Pi=L(null),Fi=null,Ii=null;function Li(e,t,n){R(Pi,t._currentValue),t._currentValue=n}function Ri(e){e._currentValue=Pi.current,re(Pi)}function zi(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 Bi(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),zi(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),zi(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 Vi(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===se.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&&Bi(t,e,n,r),t.flags|=262144}function Hi(e){for(e=e.firstContext;e!==null;){if(!mr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Ui(e){Fi=e,Ii=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Wi(e){return Ki(Fi,e)}function Gi(e,t){return Fi===null&&Ui(e),Ki(e,t)}function Ki(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Ii===null){if(e===null)throw Error(a(308));Ii=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Ii=Ii.next=t;return n}var qi=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()})}},Ji=t.unstable_scheduleCallback,Yi=t.unstable_NormalPriority,Xi={$$typeof:x,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Zi(){return{controller:new qi,data:new Map,refCount:0}}function Qi(e){e.refCount--,e.refCount===0&&Ji(Yi,function(){e.controller.abort()})}var $i=null,ea=0,ta=0,na=null;function ra(e,t){if($i===null){var n=$i=[];ea=0,ta=ld(),na={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return ea++,t.then(ia,ia),t}function ia(){if(--ea===0&&$i!==null){na!==null&&(na.status=`fulfilled`);var e=$i;$i=null,ta=0,na=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function aa(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 oa=P.S;P.S=function(e,t){Zl=we(),typeof t==`object`&&t&&typeof t.then==`function`&&ra(e,t),oa!==null&&oa(e,t)};var sa=L(null);function ca(){var e=sa.current;return e===null?Ml.pooledCache:e}function la(e,t){t===null?R(sa,sa.current):R(sa,t.pool)}function ua(){var e=ca();return e===null?null:{parent:Xi._currentValue,pool:e}}var X=Error(a(460)),da=Error(a(474)),fa=Error(a(542)),pa={then:function(){}};function ma(e){return e=e.status,e===`fulfilled`||e===`rejected`}function ha(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(Qt,Qt),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,ya(e),e;default:if(typeof t.status==`string`)t.then(Qt,Qt);else{if(e=Ml,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,ya(e),e}throw _a=t,X}}function ga(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(_a=e,X):e}}var _a=null;function va(){if(_a===null)throw Error(a(459));var e=_a;return _a=null,e}function ya(e){if(e===X||e===fa)throw Error(a(483))}var ba=null,xa=0;function Sa(e){var t=xa;return xa+=1,ba===null&&(ba=[]),ha(ba,e,t)}function Ca(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function wa(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 Ta(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=J(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=ri(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&&ga(a)===t.type)?(t=i(t,n.props),Ca(t,n),t.return=e,t):(t=ti(n.type,n.key,n.props,null,e.mode,r),Ca(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=ai(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=ni(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=ri(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case h:return n=ti(t.type,t.key,t.props,null,e.mode,n),Ca(n,t),n.return=e,n;case g:return t=ai(t,e.mode,n),t.return=e,t;case E:return t=ga(t),f(e,t,n)}if(N(t)||A(t))return t=ni(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Sa(t),n);if(t.$$typeof===x)return f(e,Gi(e,t),n);wa(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=ga(n),p(e,t,n,r)}if(N(n)||A(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Sa(n),r);if(n.$$typeof===x)return p(e,t,Gi(e,n),r);wa(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=ga(r),m(e,t,n,r,i)}if(N(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,Sa(r),i);if(r.$$typeof===x)return m(e,t,n,Gi(t,r),i);wa(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),Ci&&gi(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 Ci&&gi(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)}),Ci&&gi(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),Ci&&gi(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 Ci&&gi(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)}),Ci&&gi(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&&ga(l)===r.type){n(e,r.sibling),c=i(r,o.props),Ca(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===_?(c=ni(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=ti(o.type,o.key,o.props,null,e.mode,c),Ca(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=ai(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=ga(o),b(e,r,o,c)}if(N(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,Sa(o),c);if(o.$$typeof===x)return b(e,r,Gi(e,o),c);wa(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=ri(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{xa=0;var i=b(e,t,n,r);return ba=null,i}catch(t){if(t===X||t===fa)throw t;var a=$r(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Ea=Ta(!0),Da=Ta(!1),Oa=!1;function ka(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Aa(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 ja(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ma(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,jl&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 Na(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,Qe(e,n)}}function Pa(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 Fa=!1;function Z(){if(Fa){var e=na;if(e!==null)throw e}}function Ia(e,t,n,r){Fa=!1;var i=e.updateQueue;Oa=!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?(Pl&f)===f:(r&f)===f){f!==0&&f===ta&&(Fa=!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:Oa=!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),Hl|=o,e.lanes=o,e.memoizedState=d}}function La(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Ra(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)La(n[e],t)}var za=L(null),Ba=L(0);function Va(e,t){e=Bl,R(Ba,e),R(za,t),Bl=e|t.baseLanes}function Ha(){R(Ba,Bl),R(za,za.current)}function Ua(){Bl=Ba.current,re(za),re(Ba)}var Wa=L(null),Ga=null;function Ka(e){var t=e.alternate;R(Za,Za.current&1),R(Wa,e),Ga===null&&(t===null||za.current!==null||t.memoizedState!==null)&&(Ga=e)}function qa(e){R(Za,Za.current),R(Wa,e),Ga===null&&(Ga=e)}function Ja(e){e.tag===22?(R(Za,Za.current),R(Wa,e),Ga===null&&(Ga=e)):Ya(e)}function Ya(){R(Za,Za.current),R(Wa,Wa.current)}function Xa(e){re(Wa),Ga===e&&(Ga=null),re(Za)}var Za=L(0);function Qa(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 $a=0,eo=null,to=null,no=null,ro=!1,io=!1,ao=!1,oo=0,so=0,co=null,lo=0;function uo(){throw Error(a(321))}function fo(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 po(e,t,n,r,i,a){return $a=a,eo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,P.H=e===null||e.memoizedState===null?As:js,ao=!1,a=n(r,i),ao=!1,io&&(a=ho(t,n,r,i)),mo(e),a}function mo(e){P.H=ks;var t=to!==null&&to.next!==null;if($a=0,no=to=eo=null,ro=!1,so=0,co=null,t)throw Error(a(300));e===null||Js||(e=e.dependencies,e!==null&&Hi(e)&&(Js=!0))}function ho(e,t,n,r){eo=e;var i=0;do{if(io&&(co=null),so=0,io=!1,25<=i)throw Error(a(301));if(i+=1,no=to=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}P.H=Ms,o=t(n,r)}while(io);return o}function go(){var e=P.H,t=e.useState()[0];return t=typeof t.then==`function`?Co(t):t,e=e.useState()[0],(to===null?null:to.memoizedState)!==e&&(eo.flags|=1024),t}function _o(){var e=oo!==0;return oo=0,e}function vo(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function yo(e){if(ro){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}ro=!1}$a=0,no=to=eo=null,io=!1,so=oo=0,co=null}function bo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return no===null?eo.memoizedState=no=e:no=no.next=e,no}function xo(){if(to===null){var e=eo.alternate;e=e===null?null:e.memoizedState}else e=to.next;var t=no===null?eo.memoizedState:no.next;if(t!==null)no=t,to=e;else{if(e===null)throw eo.alternate===null?Error(a(467)):Error(a(310));to=e,e={memoizedState:to.memoizedState,baseState:to.baseState,baseQueue:to.baseQueue,queue:to.queue,next:null},no===null?eo.memoizedState=no=e:no=no.next=e}return no}function So(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Co(e){var t=so;return so+=1,co===null&&(co=[]),e=ha(co,e,t),t=eo,(no===null?t.memoizedState:no.next)===null&&(t=t.alternate,P.H=t===null||t.memoizedState===null?As:js),e}function wo(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Co(e);if(e.$$typeof===x)return Wi(e)}throw Error(a(438,String(e)))}function To(e){var t=null,n=eo.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=eo.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=So(),eo.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 Eo(e,t){return typeof t==`function`?t(e):t}function Do(e){return Oo(xo(),to,e)}function Oo(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?($a&f)===f:(Pl&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===ta&&(d=!0);else if(($a&p)===p){u=u.next,p===ta&&(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,eo.lanes|=p,Hl|=p;f=u.action,ao&&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,eo.lanes|=f,Hl|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!mr(o,e.memoizedState)&&(Js=!0,d&&(n=na,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 ko(e){var t=xo(),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)||(Js=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function Ao(e,t,n){var r=eo,i=xo(),o=Ci;if(o){if(n===void 0)throw Error(a(407));n=n()}else n=t();var s=!mr((to||i).memoizedState,n);if(s&&(i.memoizedState=n,Js=!0),i=i.queue,ts(No.bind(null,r,i,e),[e]),i.getSnapshot!==t||s||no!==null&&no.memoizedState.tag&1){if(r.flags|=2048,Xo(9,{destroy:void 0},Mo.bind(null,r,i,n,t),null),Ml===null)throw Error(a(349));o||$a&127||jo(r,t,n)}return n}function jo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=eo.updateQueue,t===null?(t=So(),eo.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Mo(e,t,n,r){t.value=n,t.getSnapshot=r,Po(t)&&Fo(e)}function No(e,t,n){return n(function(){Po(t)&&Fo(e)})}function Po(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!mr(e,n)}catch{return!0}}function Fo(e){var t=Jr(e,2);t!==null&&fu(t,e,2)}function Io(e){var t=bo();if(typeof e==`function`){var n=e;if(e=n(),ao){Fe(!0);try{n()}finally{Fe(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Eo,lastRenderedState:e},t}function Lo(e,t,n,r){return e.baseState=n,Oo(e,to,typeof r==`function`?r:Eo)}function Ro(e,t,n,r,i){if(Es(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)}};P.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,zo(t,o)):(o.next=n.next,t.pending=n.next=o)}}function zo(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=P.T,o={};P.T=o;try{var s=n(i,r),c=P.S;c!==null&&c(o,s),Bo(e,t,s)}catch(n){Ho(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),P.T=a}}else try{a=n(i,r),Bo(e,t,a)}catch(n){Ho(e,t,n)}}function Bo(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Vo(e,t,n)},function(n){return Ho(e,t,n)}):Vo(e,t,n)}function Vo(e,t,n){t.status=`fulfilled`,t.value=n,Uo(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,zo(e,n)))}function Ho(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,Uo(t),t=t.next;while(t!==r)}e.action=null}function Uo(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Wo(e,t){return t}function Go(e,t){if(Ci){var n=Ml.formState;if(n!==null){a:{var r=eo;if(Ci){if(Si){b:{for(var i=Si,a=Ti;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){Si=cf(i.nextSibling),r=i.data===`F!`;break a}}Di(r)}r=!1}r&&(t=n[0])}}return n=bo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:t},n.queue=r,n=Cs.bind(null,eo,r),r.dispatch=n,r=Io(!1),a=Ts.bind(null,eo,!1,r.queue),r=bo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Ro.bind(null,eo,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function Ko(e){return qo(xo(),to,e)}function qo(e,t,n){if(t=Oo(e,t,Wo)[0],e=Do(Eo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Co(t)}catch(e){throw e===X?fa:e}else r=t;t=xo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(eo.flags|=2048,Xo(9,{destroy:void 0},Jo.bind(null,i,n),null)),[r,a,e]}function Jo(e,t){e.action=t}function Yo(e){var t=xo(),n=to;if(n!==null)return qo(t,n,e);xo(),t=t.memoizedState,n=xo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function Xo(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=eo.updateQueue,t===null&&(t=So(),eo.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 Zo(){return xo().memoizedState}function Qo(e,t,n,r){var i=bo();eo.flags|=e,i.memoizedState=Xo(1|t,{destroy:void 0},n,r===void 0?null:r)}function $o(e,t,n,r){var i=xo();r=r===void 0?null:r;var a=i.memoizedState.inst;to!==null&&r!==null&&fo(r,to.memoizedState.deps)?i.memoizedState=Xo(t,a,n,r):(eo.flags|=e,i.memoizedState=Xo(1|t,a,n,r))}function es(e,t){Qo(8390656,8,e,t)}function ts(e,t){$o(2048,8,e,t)}function ns(e){eo.flags|=4;var t=eo.updateQueue;if(t===null)t=So(),eo.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function rs(e){var t=xo().memoizedState;return ns({ref:t,nextImpl:e}),function(){if(jl&2)throw Error(a(440));return t.impl.apply(void 0,arguments)}}function is(e,t){return $o(4,2,e,t)}function as(e,t){return $o(4,4,e,t)}function os(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 ss(e,t,n){n=n==null?null:n.concat([e]),$o(4,4,os.bind(null,t,e),n)}function cs(){}function ls(e,t){var n=xo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&fo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function us(e,t){var n=xo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&fo(t,r[1]))return r[0];if(r=e(),ao){Fe(!0);try{e()}finally{Fe(!1)}}return n.memoizedState=[r,t],r}function ds(e,t,n){return n===void 0||$a&1073741824&&!(Pl&261930)?e.memoizedState=t:(e.memoizedState=n,e=du(),eo.lanes|=e,Hl|=e,n)}function fs(e,t,n,r){return mr(n,t)?n:za.current===null?!($a&42)||$a&1073741824&&!(Pl&261930)?(Js=!0,e.memoizedState=n):(e=du(),eo.lanes|=e,Hl|=e,t):(e=ds(e,n,r),mr(e,t)||(Js=!0),e)}function ps(e,t,n,r,i){var a=F.p;F.p=a!==0&&8>a?a:8;var o=P.T,s={};P.T=s,Ts(e,!1,t,n);try{var c=i(),l=P.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?ws(e,t,aa(c,r),uu(e)):ws(e,t,r,uu(e))}catch(n){ws(e,t,{then:function(){},status:`rejected`,reason:n},uu())}finally{F.p=a,o!==null&&s.types!==null&&(o.types=s.types),P.T=o}}function ms(){}function hs(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=gs(e).queue;ps(e,i,t,te,n===null?ms:function(){return _s(e),n(r)})}function gs(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:te,baseState:te,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Eo,lastRenderedState:te},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Eo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function _s(e){var t=gs(e);t.next===null&&(t=e.alternate.memoizedState),ws(e,t.next.queue,{},uu())}function vs(){return Wi(Qf)}function ys(){return xo().memoizedState}function bs(){return xo().memoizedState}function xs(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=uu();e=ja(n);var r=Ma(t,e,n);r!==null&&(fu(r,t,n),Na(r,t,n)),t={cache:Zi()},e.payload=t;return}t=t.return}}function Ss(e,t,n){var r=uu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Es(e)?Ds(t,n):(n=qr(e,t,n,r),n!==null&&(fu(n,e,r),Os(n,t,r)))}function Cs(e,t,n){ws(e,t,n,uu())}function ws(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Es(e))Ds(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),Ml===null&&Gr(),!1}catch{}if(n=qr(e,t,i,r),n!==null)return fu(n,e,r),Os(n,t,r),!0}return!1}function Ts(e,t,n,r){if(r={lane:2,revertLane:ld(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Es(e)){if(t)throw Error(a(479))}else t=qr(e,n,r,2),t!==null&&fu(t,e,2)}function Es(e){var t=e.alternate;return e===eo||t!==null&&t===eo}function Ds(e,t){io=ro=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Os(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Qe(e,n)}}var ks={readContext:Wi,use:wo,useCallback:uo,useContext:uo,useEffect:uo,useImperativeHandle:uo,useLayoutEffect:uo,useInsertionEffect:uo,useMemo:uo,useReducer:uo,useRef:uo,useState:uo,useDebugValue:uo,useDeferredValue:uo,useTransition:uo,useSyncExternalStore:uo,useId:uo,useHostTransitionStatus:uo,useFormState:uo,useActionState:uo,useOptimistic:uo,useMemoCache:uo,useCacheRefresh:uo};ks.useEffectEvent=uo;var As={readContext:Wi,use:wo,useCallback:function(e,t){return bo().memoizedState=[e,t===void 0?null:t],e},useContext:Wi,useEffect:es,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Qo(4194308,4,os.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Qo(4194308,4,e,t)},useInsertionEffect:function(e,t){Qo(4,2,e,t)},useMemo:function(e,t){var n=bo();t=t===void 0?null:t;var r=e();if(ao){Fe(!0);try{e()}finally{Fe(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=bo();if(n!==void 0){var i=n(t);if(ao){Fe(!0);try{n(t)}finally{Fe(!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=Ss.bind(null,eo,e),[r.memoizedState,e]},useRef:function(e){var t=bo();return e={current:e},t.memoizedState=e},useState:function(e){e=Io(e);var t=e.queue,n=Cs.bind(null,eo,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:cs,useDeferredValue:function(e,t){return ds(bo(),e,t)},useTransition:function(){var e=Io(!1);return e=ps.bind(null,eo,e.queue,!0,!1),bo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=eo,i=bo();if(Ci){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Ml===null)throw Error(a(349));Pl&127||jo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,es(No.bind(null,r,o,e),[e]),r.flags|=2048,Xo(9,{destroy:void 0},Mo.bind(null,r,o,n,t),null),n},useId:function(){var e=bo(),t=Ml.identifierPrefix;if(Ci){var n=hi,r=mi;n=(r&~(1<<32-Ie(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=oo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=lo++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:vs,useFormState:Go,useActionState:Go,useOptimistic:function(e){var t=bo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Ts.bind(null,eo,!0,n),n.dispatch=t,[e,t]},useMemoCache:To,useCacheRefresh:function(){return bo().memoizedState=xs.bind(null,eo)},useEffectEvent:function(e){var t=bo(),n={impl:e};return t.memoizedState=n,function(){if(jl&2)throw Error(a(440));return n.impl.apply(void 0,arguments)}}},js={readContext:Wi,use:wo,useCallback:ls,useContext:Wi,useEffect:ts,useImperativeHandle:ss,useInsertionEffect:is,useLayoutEffect:as,useMemo:us,useReducer:Do,useRef:Zo,useState:function(){return Do(Eo)},useDebugValue:cs,useDeferredValue:function(e,t){return fs(xo(),to.memoizedState,e,t)},useTransition:function(){var e=Do(Eo)[0],t=xo().memoizedState;return[typeof e==`boolean`?e:Co(e),t]},useSyncExternalStore:Ao,useId:ys,useHostTransitionStatus:vs,useFormState:Ko,useActionState:Ko,useOptimistic:function(e,t){return Lo(xo(),to,e,t)},useMemoCache:To,useCacheRefresh:bs};js.useEffectEvent=rs;var Ms={readContext:Wi,use:wo,useCallback:ls,useContext:Wi,useEffect:ts,useImperativeHandle:ss,useInsertionEffect:is,useLayoutEffect:as,useMemo:us,useReducer:ko,useRef:Zo,useState:function(){return ko(Eo)},useDebugValue:cs,useDeferredValue:function(e,t){var n=xo();return to===null?ds(n,e,t):fs(n,to.memoizedState,e,t)},useTransition:function(){var e=ko(Eo)[0],t=xo().memoizedState;return[typeof e==`boolean`?e:Co(e),t]},useSyncExternalStore:Ao,useId:ys,useHostTransitionStatus:vs,useFormState:Yo,useActionState:Yo,useOptimistic:function(e,t){var n=xo();return to===null?(n.baseState=e,[e,n.queue.dispatch]):Lo(n,to,e,t)},useMemoCache:To,useCacheRefresh:bs};Ms.useEffectEvent=rs;function Ns(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 Ps={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=uu(),i=ja(r);i.payload=t,n!=null&&(i.callback=n),t=Ma(e,i,r),t!==null&&(fu(t,e,r),Na(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=uu(),i=ja(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Ma(e,i,r),t!==null&&(fu(t,e,r),Na(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=uu(),r=ja(n);r.tag=2,t!=null&&(r.callback=t),t=Ma(e,r,n),t!==null&&(fu(t,e,n),Na(t,e,n))}};function Fs(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 Is(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&&Ps.enqueueReplaceState(t,t.state,null)}function Ls(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 Rs(e){K(e)}function zs(e){console.error(e)}function Bs(e){K(e)}function Vs(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Hs(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 Us(e,t,n){return n=ja(n),n.tag=3,n.payload={element:null},n.callback=function(){Vs(e,t)},n}function Ws(e){return e=ja(e),e.tag=3,e}function Gs(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(){Hs(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Hs(t,n,r),typeof i!=`function`&&(eu===null?eu=new Set([this]):eu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function Ks(e,t,n,r,i){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Vi(t,n,i,!0),n=Wa.current,n!==null){switch(n.tag){case 31:case 13:return Ga===null?wu():n.alternate===null&&Vl===0&&(Vl=3),n.flags&=-257,n.flags|=65536,n.lanes=i,r===pa?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Uu(e,r,i)),!1;case 22:return n.flags|=65536,r===pa?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)),Uu(e,r,i)),!1}throw Error(a(435,n.tag))}return Uu(e,r,i),wu(),!1}if(Ci)return t=Wa.current,t===null?(r!==Ei&&(t=Error(a(423),{cause:r}),Ni(si(t,n))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=si(r,n),i=Us(e.stateNode,r,i),Pa(e,i),Vl!==4&&(Vl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Ei&&(e=Error(a(422),{cause:r}),Ni(si(e,n)))),!1;var o=Error(a(520),{cause:r});if(o=si(o,n),ql===null?ql=[o]:ql.push(o),Vl!==4&&(Vl=2),t===null)return!0;r=si(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=Us(n.stateNode,r,e),Pa(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`&&(eu===null||!eu.has(o))))return n.flags|=65536,i&=-i,n.lanes|=i,i=Ws(i),Gs(i,e,n,r),Pa(n,i),!1}n=n.return}while(n!==null);return!1}var qs=Error(a(461)),Js=!1;function Ys(e,t,n,r){t.child=e===null?Da(t,null,n,r):Ea(t,e.child,n,r)}function Xs(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 Ui(t),r=po(e,t,n,o,a,i),s=_o(),e!==null&&!Js?(vo(e,t,i),xc(e,t,i)):(Ci&&s&&vi(t),t.flags|=1,Ys(e,t,r,i),t.child)}function Zs(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!q(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,Qs(e,t,a,r,i)):(e=ti(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Sc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?hr:n,n(o,r)&&e.ref===t.ref)return xc(e,t,i)}return t.flags|=1,e=J(a,r),e.ref=t.ref,e.return=t,t.child=e}function Qs(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(hr(a,r)&&e.ref===t.ref)if(Js=!1,t.pendingProps=r=a,Sc(e,i))e.flags&131072&&(Js=!0);else return t.lanes=e.lanes,xc(e,t,i)}return oc(e,t,n,r,i)}function $s(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 tc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&la(t,a===null?null:a.cachePool),a===null?Ha():Va(t,a),Ja(t);else return r=t.lanes=536870912,tc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&la(t,null),Ha(),Ya(t)):(la(t,a.cachePool),Va(t,a),Ya(t),t.memoizedState=null);return Ys(e,t,i,n),t.child}function ec(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function tc(e,t,n,r,i){var a=ca();return a=a===null?null:{parent:Xi._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&la(t,null),Ha(),Ja(t),e!==null&&Vi(e,t,r,!0),t.childLanes=i,null}function nc(e,t){return t=gc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function rc(e,t,n){return Ea(t,e.child,null,n),e=nc(t,t.pendingProps),e.flags|=2,Xa(t),t.memoizedState=null,e}function ic(e,t,n){var r=t.pendingProps,i=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(Ci){if(r.mode===`hidden`)return e=nc(t,r),t.lanes=536870912,ec(null,e);if(qa(t),(e=Si)?(e=rf(e,Ti),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Y===null?null:{id:mi,overflow:hi},retryLane:536870912,hydrationErrors:null},n=ii(e),n.return=t,t.child=n,xi=t,Si=null)):e=null,e===null)throw Di(t);return t.lanes=536870912,null}return nc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(qa(t),i)if(t.flags&256)t.flags&=-257,t=rc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(a(558));else if(Js||Vi(e,t,n,!1),i=(n&e.childLanes)!==0,Js||i){if(r=Ml,r!==null&&(s=$e(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,Jr(e,s),fu(r,e,s),qs;wu(),t=rc(e,t,n)}else e=o.treeContext,Si=cf(s.nextSibling),xi=t,Ci=!0,wi=null,Ti=!1,e!==null&&bi(t,e),t=nc(t,r),t.flags|=4096;return t}return e=J(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function ac(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 oc(e,t,n,r,i){return Ui(t),n=po(e,t,n,r,void 0,i),r=_o(),e!==null&&!Js?(vo(e,t,i),xc(e,t,i)):(Ci&&r&&vi(t),t.flags|=1,Ys(e,t,n,i),t.child)}function sc(e,t,n,r,i,a){return Ui(t),t.updateQueue=null,n=ho(t,r,n,i),mo(e),r=_o(),e!==null&&!Js?(vo(e,t,a),xc(e,t,a)):(Ci&&r&&vi(t),t.flags|=1,Ys(e,t,n,a),t.child)}function cc(e,t,n,r,i){if(Ui(t),t.stateNode===null){var a=Zr,o=n.contextType;typeof o==`object`&&o&&(a=Wi(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Ps,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},ka(t),o=n.contextType,a.context=typeof o==`object`&&o?Wi(o):Zr,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Ns(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&&Ps.enqueueReplaceState(a,a.state,null),Ia(t,r,a,i),Z(),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=Ls(n,s);a.props=c;var l=a.context,u=n.contextType;o=Zr,typeof u==`object`&&u&&(o=Wi(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)&&Is(t,a,r,o),Oa=!1;var f=t.memoizedState;a.state=f,Ia(t,r,a,i),Z(),l=t.memoizedState,s||f!==l||Oa?(typeof d==`function`&&(Ns(t,n,d,r),l=t.memoizedState),(c=Oa||Fs(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,Aa(e,t),o=t.memoizedProps,u=Ls(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=Zr,typeof l==`object`&&l&&(c=Wi(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)&&Is(t,a,r,c),Oa=!1,f=t.memoizedState,a.state=f,Ia(t,r,a,i),Z();var p=t.memoizedState;o!==d||f!==p||Oa||e!==null&&e.dependencies!==null&&Hi(e.dependencies)?(typeof s==`function`&&(Ns(t,n,s,r),p=t.memoizedState),(u=Oa||Fs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Hi(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,ac(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=Ea(t,e.child,null,i),t.child=Ea(t,null,n,i)):Ys(e,t,n,i),t.memoizedState=a.state,e=t.child):e=xc(e,t,i),e}function lc(e,t,n,r){return ji(),t.flags|=256,Ys(e,t,n,r),t.child}var dc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function fc(e){return{baseLanes:e,cachePool:ua()}}function pc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Gl),e}function mc(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:(Za.current&2)!=0),s&&(i=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(Ci){if(i?Ka(t):Ya(t),(e=Si)?(e=rf(e,Ti),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Y===null?null:{id:mi,overflow:hi},retryLane:536870912,hydrationErrors:null},n=ii(e),n.return=t,t.child=n,xi=t,Si=null)):e=null,e===null)throw Di(t);return of(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,i?(Ya(t),i=t.mode,c=gc({mode:`hidden`,children:c},i),r=ni(r,i,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=fc(n),r.childLanes=pc(e,s,n),t.memoizedState=dc,ec(null,r)):(Ka(t),hc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(Ka(t),t.flags&=-257,t=_c(e,t,n)):t.memoizedState===null?(Ya(t),c=r.fallback,i=t.mode,r=gc({mode:`visible`,children:r.children},i),c=ni(c,i,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Ea(t,e.child,null,n),r=t.child,r.memoizedState=fc(n),r.childLanes=pc(e,s,n),t.memoizedState=dc,t=ec(null,r)):(Ya(t),t.child=e.child,t.flags|=128,t=null);else if(Ka(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,Ni({value:r,source:null,stack:null}),t=_c(e,t,n)}else if(Js||Vi(e,t,n,!1),s=(n&e.childLanes)!==0,Js||s){if(s=Ml,s!==null&&(r=$e(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,Jr(e,r),fu(s,e,r),qs;af(c)||wu(),t=_c(e,t,n)}else af(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Si=cf(c.nextSibling),xi=t,Ci=!0,wi=null,Ti=!1,e!==null&&bi(t,e),t=hc(t,r.children),t.flags|=4096);return t}return i?(Ya(t),c=r.fallback,i=t.mode,l=e.child,u=l.sibling,r=J(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=ni(c,i,n,null),c.flags|=2):c=J(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,ec(null,r),r=t.child,c=e.child.memoizedState,c===null?c=fc(n):(i=c.cachePool,i===null?i=ua():(l=Xi._currentValue,i=i.parent===l?i:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:i}),r.memoizedState=c,r.childLanes=pc(e,s,n),t.memoizedState=dc,ec(e.child,r)):(Ka(t),n=e.child,e=n.sibling,n=J(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 hc(e,t){return t=gc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function gc(e,t){return e=$r(22,e,null,t),e.lanes=0,e}function _c(e,t,n){return Ea(t,e.child,null,n),e=hc(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function vc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),zi(e.return,t,n)}function yc(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 bc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=Za.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,R(Za,o),Ys(e,t,r,n),r=Ci?di:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&vc(e,n,t);else if(e.tag===19)vc(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&&Qa(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),yc(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&&Qa(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}yc(t,!0,n,null,a,r);break;case`together`:yc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function xc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Hl|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(Vi(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=J(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=J(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Sc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&Hi(e))):!0}function Q(e,t,n){switch(t.tag){case 3:ce(t,t.stateNode.containerInfo),Li(t,Xi,e.memoizedState.cache),ji();break;case 27:case 5:ue(t);break;case 4:ce(t,t.stateNode.containerInfo);break;case 10:Li(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,qa(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Ka(t),e=xc(e,t,n),e===null?null:e.sibling):mc(e,t,n):(Ka(t),t.flags|=128,null);Ka(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(Vi(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return bc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),R(Za,Za.current),r)break;return null;case 22:return t.lanes=0,$s(e,t,n,t.pendingProps);case 24:Li(t,Xi,e.memoizedState.cache)}return xc(e,t,n)}function $(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Js=!0;else{if(!Sc(e,n)&&!(t.flags&128))return Js=!1,Q(e,t,n);Js=!!(e.flags&131072)}else Js=!1,Ci&&t.flags&1048576&&_i(t,di,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=ga(t.elementType),t.type=e,typeof e==`function`)q(e)?(r=Ls(e,r),t.tag=1,t=cc(null,t,e,r,n)):(t.tag=0,t=oc(null,t,e,r,n));else{if(e!=null){var i=e.$$typeof;if(i===S){t.tag=11,t=Xs(null,t,e,r,n);break a}else if(i===T){t.tag=14,t=Zs(null,t,e,r,n);break a}}throw t=M(e)||e,Error(a(306,t,``))}}return t;case 0:return oc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=Ls(r,t.pendingProps),cc(e,t,r,i,n);case 3:a:{if(ce(t,t.stateNode.containerInfo),e===null)throw Error(a(387));r=t.pendingProps;var o=t.memoizedState;i=o.element,Aa(e,t),Ia(t,r,null,n);var s=t.memoizedState;if(r=s.cache,Li(t,Xi,r),r!==o.cache&&Bi(t,[Xi],n,!0),Z(),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=lc(e,t,r,n);break a}else if(r!==i){i=si(Error(a(424)),t),Ni(i),t=lc(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(Si=cf(e.firstChild),xi=t,Ci=!0,wi=null,Ti=!0,n=Da(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(ji(),r===i){t=xc(e,t,n);break a}Ys(e,t,r,n)}t=t.child}return t;case 26:return ac(e,t),e===null?(n=kf(t.type,null,t.pendingProps,null))?t.memoizedState=n:Ci||(n=t.type,e=t.pendingProps,r=Bd(oe.current).createElement(n),r[at]=t,r[ot]=e,Pd(r,n,e),vt(r),t.stateNode=r):t.memoizedState=kf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ue(t),e===null&&Ci&&(r=t.stateNode=ff(t.type,t.pendingProps,oe.current),xi=t,Ti=!0,i=Si,Zd(t.type)?(lf=i,Si=cf(r.firstChild)):Si=i),Ys(e,t,t.pendingProps.children,n),ac(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ci&&((i=r=Si)&&(r=tf(r,t.type,t.pendingProps,Ti),r===null?i=!1:(t.stateNode=r,xi=t,Si=cf(r.firstChild),Ti=!1,i=!0)),i||Di(t)),ue(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=po(e,t,go,null,null,n),Qf._currentValue=i),ac(e,t),Ys(e,t,r,n),t.child;case 6:return e===null&&Ci&&((e=n=Si)&&(n=nf(n,t.pendingProps,Ti),n===null?e=!1:(t.stateNode=n,xi=t,Si=null,e=!0)),e||Di(t)),null;case 13:return mc(e,t,n);case 4:return ce(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ea(t,null,r,n):Ys(e,t,r,n),t.child;case 11:return Xs(e,t,t.type,t.pendingProps,n);case 7:return Ys(e,t,t.pendingProps,n),t.child;case 8:return Ys(e,t,t.pendingProps.children,n),t.child;case 12:return Ys(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Li(t,t.type,r.value),Ys(e,t,r.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,Ui(t),i=Wi(i),r=r(i),t.flags|=1,Ys(e,t,r,n),t.child;case 14:return Zs(e,t,t.type,t.pendingProps,n);case 15:return Qs(e,t,t.type,t.pendingProps,n);case 19:return bc(e,t,n);case 31:return ic(e,t,n);case 22:return $s(e,t,n,t.pendingProps);case 24:return Ui(t),r=Wi(Xi),e===null?(i=ca(),i===null&&(i=Ml,o=Zi(),i.pooledCache=o,o.refCount++,o!==null&&(i.pooledCacheLanes|=n),i=o),t.memoizedState={parent:r,cache:i},ka(t),Li(t,Xi,i)):((e.lanes&n)!==0&&(Aa(e,t),Ia(t,null,null,n),Z()),i=e.memoizedState,o=t.memoizedState,i.parent===r?(r=o.cache,Li(t,Xi,r),r!==i.cache&&Bi(t,[Xi],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),Li(t,Xi,r))),Ys(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(a(156,t.tag))}function Cc(e){e.flags|=4}function wc(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(xu())e.flags|=8192;else throw _a=pa,da}else e.flags&=-16777217}function Tc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Wf(t))if(xu())e.flags|=8192;else throw _a=pa,da}function Ec(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:qe(),e.lanes|=t,Kl|=t)}function Dc(e,t){if(!Ci)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 Oc(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 kc(e,t,n){var r=t.pendingProps;switch(yi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Oc(t),null;case 1:return Oc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Ri(Xi),le(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ai(t)?Cc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Mi())),Oc(t),null;case 26:var i=t.type,o=t.memoizedState;return e===null?(Cc(t),o===null?(Oc(t),wc(t,i,null,r,n)):(Oc(t),Tc(t,o))):o?o===e.memoizedState?(Oc(t),t.flags&=-16777217):(Cc(t),Oc(t),Tc(t,o)):(e=e.memoizedProps,e!==r&&Cc(t),Oc(t),wc(t,i,e,r,n)),null;case 27:if(de(t),n=oe.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Cc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return Oc(t),null}e=ie.current,Ai(t)?Oi(t,e):(e=ff(i,r,n),t.stateNode=e,Cc(t))}return Oc(t),null;case 5:if(de(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Cc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return Oc(t),null}if(o=ie.current,Ai(t))Oi(t,o);else{var s=Bd(oe.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[at]=t,o[ot]=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&&Cc(t)}}return Oc(t),wc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Cc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=oe.current,Ai(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=xi,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[at]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||Di(t,!0)}else e=Bd(e).createTextNode(r),e[at]=t,t.stateNode=e}return Oc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ai(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[at]=t}else ji(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Oc(t),e=!1}else n=Mi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Xa(t),t):(Xa(t),null);if(t.flags&128)throw Error(a(558))}return Oc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Ai(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[at]=t}else ji(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Oc(t),i=!1}else i=Mi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(Xa(t),t):(Xa(t),null)}return Xa(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),Ec(t,t.updateQueue),Oc(t),null);case 4:return le(),e===null&&xd(t.stateNode.containerInfo),Oc(t),null;case 10:return Ri(t.type),Oc(t),null;case 19:if(re(Za),r=t.memoizedState,r===null)return Oc(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)Dc(r,!1);else{if(Vl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Qa(e),o!==null){for(t.flags|=128,Dc(r,!1),e=o.updateQueue,t.updateQueue=e,Ec(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ei(n,e),n=n.sibling;return R(Za,Za.current&1|2),Ci&&gi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&we()>Ql&&(t.flags|=128,i=!0,Dc(r,!1),t.lanes=4194304)}else{if(!i)if(e=Qa(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Ec(t,e),Dc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Ci)return Oc(t),null}else 2*we()-r.renderingStartTime>Ql&&n!==536870912&&(t.flags|=128,i=!0,Dc(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?(Oc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=we(),e.sibling=null,n=Za.current,R(Za,i?n&1|2:n&1),Ci&&gi(t,r.treeForkCount),e);case 22:case 23:return Xa(t),Ua(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Oc(t),t.subtreeFlags&6&&(t.flags|=8192)):Oc(t),n=t.updateQueue,n!==null&&Ec(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&&re(sa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ri(Xi),Oc(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Ac(e,t){switch(yi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ri(Xi),le(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return de(t),null;case 31:if(t.memoizedState!==null){if(Xa(t),t.alternate===null)throw Error(a(340));ji()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Xa(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));ji()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return re(Za),null;case 4:return le(),null;case 10:return Ri(t.type),null;case 22:case 23:return Xa(t),Ua(),e!==null&&re(sa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ri(Xi),null;case 25:return null;default:return null}}function jc(e,t){switch(yi(t),t.tag){case 3:Ri(Xi),le();break;case 26:case 27:case 5:de(t);break;case 4:le();break;case 31:t.memoizedState!==null&&Xa(t);break;case 13:Xa(t);break;case 19:re(Za);break;case 10:Ri(t.type);break;case 22:case 23:Xa(t),Ua(),e!==null&&re(sa);break;case 24:Ri(Xi)}}function Mc(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){Hu(t,t.return,e)}}function Nc(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){Hu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Hu(t,t.return,e)}}function Pc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ra(t,n)}catch(t){Hu(e,e.return,t)}}}function Fc(e,t,n){n.props=Ls(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Hu(e,t,n)}}function Ic(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){Hu(e,t,n)}}function Lc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Hu(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){Hu(e,t,n)}else n.current=null}function Rc(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){Hu(e,e.return,t)}}function zc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[ot]=t}catch(t){Hu(e,e.return,t)}}function Bc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Vc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Bc(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 Hc(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=Qt));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Hc(e,t,n),e=e.sibling;e!==null;)Hc(e,t,n),e=e.sibling}function Uc(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(Uc(e,t,n),e=e.sibling;e!==null;)Uc(e,t,n),e=e.sibling}function Wc(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[at]=e,t[ot]=n}catch(t){Hu(e,e.return,t)}}var Gc=!1,Kc=!1,qc=!1,Jc=typeof WeakSet==`function`?WeakSet:Set,Yc=null;function Xc(e,t){if(e=e.containerInfo,Rd=sp,e=yr(e),br(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,Yc=t;Yc!==null;)if(t=Yc,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Yc=e;else for(;Yc!==null;){switch(t=Yc,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=Ls(n.type,i);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Hu(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,Yc=e;break}Yc=t.return}}function Zc(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:fl(e,n),r&4&&Mc(5,n);break;case 1:if(fl(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Hu(n,n.return,e)}else{var i=Ls(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Hu(n,n.return,e)}}r&64&&Pc(n),r&512&&Ic(n,n.return);break;case 3:if(fl(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{Ra(e,t)}catch(e){Hu(n,n.return,e)}}break;case 27:t===null&&r&4&&Wc(n);case 26:case 5:fl(e,n),t===null&&r&4&&Rc(n),r&512&&Ic(n,n.return);break;case 12:fl(e,n);break;case 31:fl(e,n),r&4&&rl(e,n);break;case 13:fl(e,n),r&4&&il(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Ku.bind(null,n),sf(e,n))));break;case 22:if(r=n.memoizedState!==null||Gc,!r){t=t!==null&&t.memoizedState!==null||Kc,i=Gc;var a=Kc;Gc=r,(Kc=t)&&!a?ml(e,n,(n.subtreeFlags&8772)!=0):fl(e,n),Gc=i,Kc=a}break;case 30:break;default:fl(e,n)}}function Qc(e){var t=e.alternate;t!==null&&(e.alternate=null,Qc(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&pt(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 $c=null,el=!1;function tl(e,t,n){for(n=n.child;n!==null;)nl(e,t,n),n=n.sibling}function nl(e,t,n){if(Pe&&typeof Pe.onCommitFiberUnmount==`function`)try{Pe.onCommitFiberUnmount(Ne,n)}catch{}switch(n.tag){case 26:Kc||Lc(n,t),tl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Kc||Lc(n,t);var r=$c,i=el;Zd(n.type)&&($c=n.stateNode,el=!1),tl(e,t,n),pf(n.stateNode),$c=r,el=i;break;case 5:Kc||Lc(n,t);case 6:if(r=$c,i=el,$c=null,tl(e,t,n),$c=r,el=i,$c!==null)if(el)try{($c.nodeType===9?$c.body:$c.nodeName===`HTML`?$c.ownerDocument.body:$c).removeChild(n.stateNode)}catch(e){Hu(n,t,e)}else try{$c.removeChild(n.stateNode)}catch(e){Hu(n,t,e)}break;case 18:$c!==null&&(el?(e=$c,Qd(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):Qd($c,n.stateNode));break;case 4:r=$c,i=el,$c=n.stateNode.containerInfo,el=!0,tl(e,t,n),$c=r,el=i;break;case 0:case 11:case 14:case 15:Nc(2,n,t),Kc||Nc(4,n,t),tl(e,t,n);break;case 1:Kc||(Lc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Fc(n,t,r)),tl(e,t,n);break;case 21:tl(e,t,n);break;case 22:Kc=(r=Kc)||n.memoizedState!==null,tl(e,t,n),Kc=r;break;default:tl(e,t,n)}}function rl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){Hu(t,t.return,e)}}}function il(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){Hu(t,t.return,e)}}function al(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Jc),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Jc),t;default:throw Error(a(435,e.tag))}}function ol(e,t){var n=al(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=qu.bind(null,e,t);t.then(r,r)}})}function sl(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)){$c=c.stateNode,el=!1;break a}break;case 5:$c=c.stateNode,el=!1;break a;case 3:case 4:$c=c.stateNode.containerInfo,el=!0;break a}c=c.return}if($c===null)throw Error(a(160));nl(o,s,i),$c=null,el=!1,o=i.alternate,o!==null&&(o.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ll(t,e),t=t.sibling}var cl=null;function ll(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:sl(t,e),ul(e),r&4&&(Nc(3,e,e.return),Mc(3,e),Nc(5,e,e.return));break;case 1:sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),r&64&&Gc&&(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=cl;if(sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(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[ft]||o[at]||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[at]=e,vt(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[at]=e,vt(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&&zc(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:sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),n!==null&&r&4&&zc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(sl(t,e),ul(e),r&512&&(Kc||n===null||Lc(n,n.return)),e.flags&32){i=e.stateNode;try{Wt(i,``)}catch(t){Hu(e,e.return,t)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,zc(e,i,n===null?i:n.memoizedProps)),r&1024&&(qc=!0);break;case 6:if(sl(t,e),ul(e),r&4){if(e.stateNode===null)throw Error(a(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Hu(e,e.return,t)}}break;case 3:if(Bf=null,i=cl,cl=gf(t.containerInfo),sl(t,e),cl=i,ul(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){Hu(e,e.return,t)}qc&&(qc=!1,dl(e));break;case 4:r=cl,cl=gf(e.stateNode.containerInfo),sl(t,e),ul(e),cl=r;break;case 12:sl(t,e),ul(e);break;case 31:sl(t,e),ul(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ol(e,r)));break;case 13:sl(t,e),ul(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Xl=we()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ol(e,r)));break;case 22:i=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=Gc,d=Kc;if(Gc=u||i,Kc=d||l,sl(t,e),Kc=d,Gc=u,ul(e),r&8192)a:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(n===null||l||Gc||Kc||pl(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){Hu(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=i?``:l.memoizedProps}catch(e){Hu(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){Hu(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,ol(e,n))));break;case 19:sl(t,e),ul(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,ol(e,r)));break;case 30:break;case 21:break;default:sl(t,e),ul(e)}}function ul(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Bc(r)){n=r;break}r=r.return}if(n==null)throw Error(a(160));switch(n.tag){case 27:var i=n.stateNode;Uc(e,Vc(e),i);break;case 5:var o=n.stateNode;n.flags&32&&(Wt(o,``),n.flags&=-33),Uc(e,Vc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Hc(e,Vc(e),s);break;default:throw Error(a(161))}}catch(t){Hu(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function dl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;dl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function fl(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)Zc(e,t.alternate,t),t=t.sibling}function pl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Nc(4,t,t.return),pl(t);break;case 1:Lc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Fc(t,t.return,n),pl(t);break;case 27:pf(t.stateNode);case 26:case 5:Lc(t,t.return),pl(t);break;case 22:t.memoizedState===null&&pl(t);break;case 30:pl(t);break;default:pl(t)}e=e.sibling}}function ml(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:ml(i,a,n),Mc(4,a);break;case 1:if(ml(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Hu(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++)La(c[i],s)}catch(e){Hu(r,r.return,e)}}n&&o&64&&Pc(a),Ic(a,a.return);break;case 27:Wc(a);case 26:case 5:ml(i,a,n),n&&r===null&&o&4&&Rc(a),Ic(a,a.return);break;case 12:ml(i,a,n);break;case 31:ml(i,a,n),n&&o&4&&rl(i,a);break;case 13:ml(i,a,n),n&&o&4&&il(i,a);break;case 22:a.memoizedState===null&&ml(i,a,n),Ic(a,a.return);break;case 30:break;default:ml(i,a,n)}t=t.sibling}}function hl(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&&Qi(n))}function gl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Qi(e))}function _l(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)vl(e,t,n,r),t=t.sibling}function vl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:_l(e,t,n,r),i&2048&&Mc(9,t);break;case 1:_l(e,t,n,r);break;case 3:_l(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&&Qi(e)));break;case 12:if(i&2048){_l(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){Hu(t,t.return,e)}}else _l(e,t,n,r);break;case 31:_l(e,t,n,r);break;case 13:_l(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?_l(e,t,n,r):(a._visibility|=2,yl(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?_l(e,t,n,r):bl(e,t),i&2048&&hl(o,t);break;case 24:_l(e,t,n,r),i&2048&&gl(t.alternate,t);break;default:_l(e,t,n,r)}}function yl(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:yl(a,o,s,c,i),Mc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,yl(a,o,s,c,i)):u._visibility&2?yl(a,o,s,c,i):bl(a,o),i&&l&2048&&hl(o.alternate,o);break;case 24:yl(a,o,s,c,i),i&&l&2048&&gl(o.alternate,o);break;default:yl(a,o,s,c,i)}t=t.sibling}}function bl(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:bl(n,r),i&2048&&hl(r.alternate,r);break;case 24:bl(n,r),i&2048&&gl(r.alternate,r);break;default:bl(n,r)}t=t.sibling}}var xl=8192;function Sl(e,t,n){if(e.subtreeFlags&xl)for(e=e.child;e!==null;)Cl(e,t,n),e=e.sibling}function Cl(e,t,n){switch(e.tag){case 26:Sl(e,t,n),e.flags&xl&&e.memoizedState!==null&&Gf(n,cl,e.memoizedState,e.memoizedProps);break;case 5:Sl(e,t,n);break;case 3:case 4:var r=cl;cl=gf(e.stateNode.containerInfo),Sl(e,t,n),cl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=xl,xl=16777216,Sl(e,t,n),xl=r):Sl(e,t,n));break;default:Sl(e,t,n)}}function wl(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 Tl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Yc=r,Ol(r,e)}wl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)El(e),e=e.sibling}function El(e){switch(e.tag){case 0:case 11:case 15:Tl(e),e.flags&2048&&Nc(9,e,e.return);break;case 3:Tl(e);break;case 12:Tl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Dl(e)):Tl(e);break;default:Tl(e)}}function Dl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Yc=r,Ol(r,e)}wl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Nc(8,t,t.return),Dl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Dl(t));break;default:Dl(t)}e=e.sibling}}function Ol(e,t){for(;Yc!==null;){var n=Yc;switch(n.tag){case 0:case 11:case 15:Nc(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:Qi(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,Yc=r;else a:for(n=e;Yc!==null;){r=Yc;var i=r.sibling,a=r.return;if(Qc(r),r===n){Yc=null;break a}if(i!==null){i.return=a,Yc=i;break a}Yc=a}}}var kl={getCacheForType:function(e){var t=Wi(Xi),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Wi(Xi).controller.signal}},Al=typeof WeakMap==`function`?WeakMap:Map,jl=0,Ml=null,Nl=null,Pl=0,Fl=0,Il=null,Ll=!1,Rl=!1,zl=!1,Bl=0,Vl=0,Hl=0,Ul=0,Wl=0,Gl=0,Kl=0,ql=null,Jl=null,Yl=!1,Xl=0,Zl=0,Ql=1/0,$l=null,eu=null,tu=0,nu=null,ru=null,iu=0,au=0,ou=null,su=null,cu=0,lu=null;function uu(){return jl&2&&Pl!==0?Pl&-Pl:P.T===null?nt():ld()}function du(){if(Gl===0)if(!(Pl&536870912)||Ci){var e=Ve;Ve<<=1,!(Ve&3932160)&&(Ve=262144),Gl=e}else Gl=536870912;return e=Wa.current,e!==null&&(e.flags|=32),Gl}function fu(e,t,n){(e===Ml&&(Fl===2||Fl===9)||e.cancelPendingCommit!==null)&&(yu(e,0),gu(e,Pl,Gl,!1)),Ye(e,n),(!(jl&2)||e!==Ml)&&(e===Ml&&(!(jl&2)&&(Ul|=n),Vl===4&&gu(e,Pl,Gl,!1)),td(e))}function pu(e,t,n){if(jl&6)throw Error(a(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||Ge(e,t),i=r?Du(e,t):Tu(e,t,!0),o=r;do{if(i===0){Rl&&!r&&gu(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!hu(n)){i=Tu(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=ql;var l=c.current.memoizedState.isDehydrated;if(l&&(yu(c,s).flags|=256),s=Tu(c,s,!1),s!==2){if(zl&&!l){c.errorRecoveryDisabledLanes|=o,Ul|=o,i=4;break a}o=Jl,Jl=i,o!==null&&(Jl===null?Jl=o:Jl.push.apply(Jl,o))}i=s}if(o=!1,i!==2)continue}}if(i===1){yu(e,0),gu(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:gu(r,t,Gl,!Ll);break a;case 2:Jl=null;break;case 3:case 5:break;default:throw Error(a(329))}if((t&62914560)===t&&(i=Xl+300-we(),10<i)){if(gu(r,t,Gl,!Ll),We(r,0,!0)!==0)break a;iu=t,r.timeoutHandle=Kd(mu.bind(null,r,n,Jl,$l,Yl,t,Gl,Ul,Kl,Ll,o,`Throttled`,-0,0),i);break a}mu(r,n,Jl,$l,Yl,t,Gl,Ul,Kl,Ll,o,null,-0,0)}}break}while(1);td(e)}function mu(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:Qt},Cl(t,a,d);var m=(a&62914560)===a?Xl-we():(a&4194048)===a?Zl-we():0;if(m=qf(d,m),m!==null){iu=a,e.cancelPendingCommit=m(Pu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),gu(e,a,o,!l);return}}Pu(e,t,a,n,r,i,o,s,c)}function hu(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 gu(e,t,n,r){t&=~Wl,t&=~Ul,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Ie(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&Ze(e,n,t)}function _u(){return jl&6?!0:(nd(0,!1),!1)}function vu(){if(Nl!==null){if(Fl===0)var e=Nl.return;else e=Nl,Ii=Fi=null,yo(e),ba=null,xa=0,e=Nl;for(;e!==null;)jc(e.alternate,e),e=e.return;Nl=null}}function yu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,qd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),iu=0,vu(),Ml=e,Nl=n=J(e.current,null),Pl=t,Fl=0,Il=null,Ll=!1,Rl=Ge(e,t),zl=!1,Kl=Gl=Wl=Ul=Hl=Vl=0,Jl=ql=null,Yl=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Ie(r),a=1<<i;t|=e[i],r&=~a}return Bl=t,Gr(),n}function bu(e,t){eo=null,P.H=ks,t===X||t===fa?(t=va(),Fl=3):t===da?(t=va(),Fl=4):Fl=t===qs?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Il=t,Nl===null&&(Vl=1,Vs(e,si(t,e.current)))}function xu(){var e=Wa.current;return e===null?!0:(Pl&4194048)===Pl?Ga===null:(Pl&62914560)===Pl||Pl&536870912?e===Ga:!1}function Su(){var e=P.H;return P.H=ks,e===null?ks:e}function Cu(){var e=P.A;return P.A=kl,e}function wu(){Vl=4,Ll||(Pl&4194048)!==Pl&&Wa.current!==null||(Rl=!0),!(Hl&134217727)&&!(Ul&134217727)||Ml===null||gu(Ml,Pl,Gl,!1)}function Tu(e,t,n){var r=jl;jl|=2;var i=Su(),a=Cu();(Ml!==e||Pl!==t)&&($l=null,yu(e,t)),t=!1;var o=Vl;a:do try{if(Fl!==0&&Nl!==null){var s=Nl,c=Il;switch(Fl){case 8:vu(),o=6;break a;case 3:case 2:case 9:case 6:Wa.current===null&&(t=!0);var l=Fl;if(Fl=0,Il=null,ju(e,s,c,l),n&&Rl){o=0;break a}break;default:l=Fl,Fl=0,Il=null,ju(e,s,c,l)}}Eu(),o=Vl;break}catch(t){bu(e,t)}while(1);return t&&e.shellSuspendCounter++,Ii=Fi=null,jl=r,P.H=i,P.A=a,Nl===null&&(Ml=null,Pl=0,Gr()),o}function Eu(){for(;Nl!==null;)ku(Nl)}function Du(e,t){var n=jl;jl|=2;var r=Su(),i=Cu();Ml!==e||Pl!==t?($l=null,Ql=we()+500,yu(e,t)):Rl=Ge(e,t);a:do try{if(Fl!==0&&Nl!==null){t=Nl;var o=Il;b:switch(Fl){case 1:Fl=0,Il=null,ju(e,t,o,1);break;case 2:case 9:if(ma(o)){Fl=0,Il=null,Au(t);break}t=function(){Fl!==2&&Fl!==9||Ml!==e||(Fl=7),td(e)},o.then(t,t);break a;case 3:Fl=7;break a;case 4:Fl=5;break a;case 7:ma(o)?(Fl=0,Il=null,Au(t)):(Fl=0,Il=null,ju(e,t,o,7));break;case 5:var s=null;switch(Nl.tag){case 26:s=Nl.memoizedState;case 5:case 27:var c=Nl;if(s?Wf(s):c.stateNode.complete){Fl=0,Il=null;var l=c.sibling;if(l!==null)Nl=l;else{var u=c.return;u===null?Nl=null:(Nl=u,Mu(u))}break b}}Fl=0,Il=null,ju(e,t,o,5);break;case 6:Fl=0,Il=null,ju(e,t,o,6);break;case 8:vu(),Vl=6;break a;default:throw Error(a(462))}}Ou();break}catch(t){bu(e,t)}while(1);return Ii=Fi=null,P.H=r,P.A=i,jl=n,Nl===null?(Ml=null,Pl=0,Gr(),Vl):0}function Ou(){for(;Nl!==null&&!Se();)ku(Nl)}function ku(e){var t=$(e.alternate,e,Bl);e.memoizedProps=e.pendingProps,t===null?Mu(e):Nl=t}function Au(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=sc(n,t,t.pendingProps,t.type,void 0,Pl);break;case 11:t=sc(n,t,t.pendingProps,t.type.render,t.ref,Pl);break;case 5:yo(t);default:jc(n,t),t=Nl=ei(t,Bl),t=$(n,t,Bl)}e.memoizedProps=e.pendingProps,t===null?Mu(e):Nl=t}function ju(e,t,n,r){Ii=Fi=null,yo(t),ba=null,xa=0;var i=t.return;try{if(Ks(e,i,t,n,Pl)){Vl=1,Vs(e,si(n,e.current)),Nl=null;return}}catch(t){if(i!==null)throw Nl=i,t;Vl=1,Vs(e,si(n,e.current)),Nl=null;return}t.flags&32768?(Ci||r===1?e=!0:Rl||Pl&536870912?e=!1:(Ll=e=!0,(r===2||r===9||r===3||r===6)&&(r=Wa.current,r!==null&&r.tag===13&&(r.flags|=16384))),Nu(t,e)):Mu(t)}function Mu(e){var t=e;do{if(t.flags&32768){Nu(t,Ll);return}e=t.return;var n=kc(t.alternate,t,Bl);if(n!==null){Nl=n;return}if(t=t.sibling,t!==null){Nl=t;return}Nl=t=e}while(t!==null);Vl===0&&(Vl=5)}function Nu(e,t){do{var n=Ac(e.alternate,e);if(n!==null){n.flags&=32767,Nl=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Nl=e;return}Nl=e=n}while(e!==null);Vl=6,Nl=null}function Pu(e,t,n,r,i,o,s,c,l){e.cancelPendingCommit=null;do zu();while(tu!==0);if(jl&6)throw Error(a(327));if(t!==null){if(t===e.current)throw Error(a(177));if(o=t.lanes|t.childLanes,o|=Wr,Xe(e,n,o,s,c,l),e===Ml&&(Nl=Ml=null,Pl=0),ru=t,nu=e,iu=n,au=o,ou=i,su=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Ju(Oe,function(){return Bu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=P.T,P.T=null,i=F.p,F.p=2,s=jl,jl|=4;try{Xc(e,t,n)}finally{jl=s,F.p=i,P.T=r}}tu=1,Fu(),Iu(),Lu()}}function Fu(){if(tu===1){tu=0;var e=nu,t=ru,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=P.T,P.T=null;var r=F.p;F.p=2;var i=jl;jl|=4;try{ll(t,e);var a=zd,o=yr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&vr(s.ownerDocument.documentElement,s)){if(c!==null&&br(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 _=_r(s,h),v=_r(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{jl=i,F.p=r,P.T=n}}e.current=t,tu=2}}function Iu(){if(tu===2){tu=0;var e=nu,t=ru,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=P.T,P.T=null;var r=F.p;F.p=2;var i=jl;jl|=4;try{Zc(e,t.alternate,t)}finally{jl=i,F.p=r,P.T=n}}tu=3}}function Lu(){if(tu===4||tu===3){tu=0,Ce();var e=nu,t=ru,n=iu,r=su;t.subtreeFlags&10256||t.flags&10256?tu=5:(tu=0,ru=nu=null,Ru(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(eu=null),tt(n),t=t.stateNode,Pe&&typeof Pe.onCommitFiberRoot==`function`)try{Pe.onCommitFiberRoot(Ne,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=P.T,i=F.p,F.p=2,P.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{P.T=t,F.p=i}}iu&3&&zu(),td(e),i=e.pendingLanes,n&261930&&i&42?e===lu?cu++:(cu=0,lu=e):cu=0,nd(0,!1)}}function Ru(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Qi(t)))}function zu(){return Fu(),Iu(),Lu(),Bu()}function Bu(){if(tu!==5)return!1;var e=nu,t=au;au=0;var n=tt(iu),r=P.T,i=F.p;try{F.p=32>n?32:n,P.T=null,n=ou,ou=null;var o=nu,s=iu;if(tu=0,ru=nu=null,iu=0,jl&6)throw Error(a(331));var c=jl;if(jl|=4,El(o.current),vl(o,o.current,s,n),jl=c,nd(0,!1),Pe&&typeof Pe.onPostCommitFiberRoot==`function`)try{Pe.onPostCommitFiberRoot(Ne,o)}catch{}return!0}finally{F.p=i,P.T=r,Ru(e,t)}}function Vu(e,t,n){t=si(n,t),t=Us(e.stateNode,t,2),e=Ma(e,t,2),e!==null&&(Ye(e,2),td(e))}function Hu(e,t,n){if(e.tag===3)Vu(e,e,n);else for(;t!==null;){if(t.tag===3){Vu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(eu===null||!eu.has(r))){e=si(n,e),n=Ws(2),r=Ma(t,n,2),r!==null&&(Gs(n,r,t,e),Ye(r,2),td(r));break}}t=t.return}}function Uu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Al;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)||(zl=!0,i.add(n),e=Wu.bind(null,e,t,n),t.then(e,e))}function Wu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Ml===e&&(Pl&n)===n&&(Vl===4||Vl===3&&(Pl&62914560)===Pl&&300>we()-Xl?!(jl&2)&&yu(e,0):Wl|=n,Kl===Pl&&(Kl=0)),td(e)}function Gu(e,t){t===0&&(t=qe()),e=Jr(e,t),e!==null&&(Ye(e,t),td(e))}function Ku(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Gu(e,n)}function qu(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),Gu(e,n)}function Ju(e,t){return be(e,t)}var Yu=null,Xu=null,Zu=!1,Qu=!1,$u=!1,ed=0;function td(e){e!==Xu&&e.next===null&&(Xu===null?Yu=Xu=e:Xu=Xu.next=e),Qu=!0,Zu||(Zu=!0,cd())}function nd(e,t){if(!$u&&Qu){$u=!0;do for(var n=!1,r=Yu;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-Ie(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,sd(r,a))}else a=Pl,a=We(r,r===Ml?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ge(r,a)||(n=!0,sd(r,a));r=r.next}while(n);$u=!1}}function rd(){id()}function id(){Qu=Zu=!1;var e=0;ed!==0&&Gd()&&(e=ed);for(var t=we(),n=null,r=Yu;r!==null;){var i=r.next,a=ad(r,t);a===0?(r.next=null,n===null?Yu=i:n.next=i,i===null&&(Xu=n)):(n=r,(e!==0||a&3)&&(Qu=!0)),r=i}tu!==0&&tu!==5||nd(e,!1),ed!==0&&(ed=0)}function ad(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Ie(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Ke(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Ml,n=Pl,n=We(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Fl===2||Fl===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&xe(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||Ge(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&xe(r),tt(n)){case 2:case 8:n=De;break;case 32:n=Oe;break;case 268435456:n=Ae;break;default:n=Oe}return r=od.bind(null,e),n=be(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&xe(r),e.callbackPriority=2,e.callbackNode=null,2}function od(e,t){if(tu!==0&&tu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(zu()&&e.callbackNode!==n)return null;var r=Pl;return r=We(e,e===Ml?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(pu(e,r,t),ad(e,we()),e.callbackNode!=null&&e.callbackNode===n?od.bind(null,e):null)}function sd(e,t){if(zu())return null;pu(e,t,!0)}function cd(){Yd(function(){jl&6?be(Ee,rd):id()})}function ld(){if(ed===0){var e=ta;e===0&&(e=Be,Be<<=1,!(Be&261888)&&(Be=256)),ed=e}return ed}function ud(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:Zt(``+e)}function dd(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 fd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=ud((i[ot]||null).action),o=r.submitter;o&&(t=(t=o[ot]||null)?ud(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new bn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(ed!==0){var e=o?dd(i,o):new FormData(i);hs(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?dd(i,o):new FormData(i),hs(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var pd=0;pd<Br.length;pd++){var md=Br[pd];Vr(md.toLowerCase(),`on`+(md[0].toUpperCase()+md.slice(1)))}Vr(Mr,`onAnimationEnd`),Vr(Nr,`onAnimationIteration`),Vr(Pr,`onAnimationStart`),Vr(`dblclick`,`onDoubleClick`),Vr(`focusin`,`onFocus`),Vr(`focusout`,`onBlur`),Vr(Fr,`onTransitionRun`),Vr(Ir,`onTransitionStart`),Vr(Lr,`onTransitionCancel`),Vr(Rr,`onTransitionEnd`),St(`onMouseEnter`,[`mouseout`,`mouseover`]),St(`onMouseLeave`,[`mouseout`,`mouseover`]),St(`onPointerEnter`,[`pointerout`,`pointerover`]),St(`onPointerLeave`,[`pointerout`,`pointerover`]),xt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),xt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),xt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),xt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),xt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),xt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var hd=`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(` `),gd=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(hd));function _d(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){K(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){K(e)}i.currentTarget=null,a=c}}}}function vd(e,t){var n=t[ct];n===void 0&&(n=t[ct]=new Set);var r=e+`__bubble`;n.has(r)||(Sd(t,e,2,!1),n.add(r))}function yd(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,yt.forEach(function(t){t!==`selectionchange`&&(gd.has(t)||yd(t,!1,e),yd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[bd]||(t[bd]=!0,yd(`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,!ln||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=mt(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}on(function(){var r=a,i=en(n),o=[];a:{var c=zr.get(e);if(c!==void 0){var l=bn,u=e;switch(e){case`keypress`:if(hn(n)===0)break a;case`keydown`:case`keyup`:l=Ln;break;case`focusin`:u=`focus`,l=kn;break;case`focusout`:u=`blur`,l=kn;break;case`beforeblur`:case`afterblur`:l=kn;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=Dn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=On;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=zn;break;case Mr:case Nr:case Pr:l=An;break;case Rr:l=Bn;break;case`scroll`:case`scrollend`:l=Sn;break;case`wheel`:l=Vn;break;case`copy`:case`cut`:case`paste`:l=jn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Rn;break;case`toggle`:case`beforetoggle`:l=Hn}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=sn(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!==$t&&(u=n.relatedTarget||n.fromElement)&&(mt(u)||u[st]))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?mt(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=Dn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Rn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:gt(l),h=u==null?c:gt(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,mt(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?gt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=ar;else if(tr(c))if(or)v=fr;else{v=G;var y=W}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&Jt(r.elementType)&&(v=ar):v=dr;if(v&&=v(e,r)){nr(o,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&Bt(c,`number`,c.value)}switch(y=r?gt(r):window,e){case`focusin`:(tr(y)||y.contentEditable===`true`)&&(Sr=y,Cr=r,wr=null);break;case`focusout`:wr=Cr=Sr=null;break;case`mousedown`:Tr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Tr=!1,Er(o,n,i);break;case`selectionchange`:if(xr)break;case`keydown`:case`keyup`:Er(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 Qn?Xn(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(qn&&n.locale!==`ko`&&(Qn||x!==`onCompositionStart`?x===`onCompositionEnd`&&Qn&&(b=mn()):(dn=i,fn=`value`in dn?dn.value:dn.textContent,Qn=!0)),y=Td(r,x),0<y.length&&(x=new Mn(x,e,null,n,i),o.push({event:x,listeners:y}),b?x.data=b:(b=Zn(n),b!==null&&(x.data=b)))),(b=Kn?$n(e,n):er(e,n))&&(x=Td(r,`onBeforeInput`),0<x.length&&(y=new Mn(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:y,listeners:x}),y.data=b)),fd(o,e,r,n,i)}_d(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=sn(e,n),i!=null&&r.unshift(wd(e,i,a)),i=sn(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=sn(n,a),l!=null&&o.unshift(wd(n,l,c))):i||(l=sn(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===``||Wt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Wt(e,``+r);break;case`className`:Ot(e,`class`,r);break;case`tabIndex`:Ot(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Ot(e,n,r);break;case`style`:qt(e,r,o);break;case`data`:if(t!==`object`){Ot(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=Zt(``+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=Zt(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=Qt);break;case`onScroll`:r!=null&&vd(`scroll`,e);break;case`onScrollEnd`:r!=null&&vd(`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=Zt(``+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`:vd(`beforetoggle`,e),vd(`toggle`,e),Dt(e,`popover`,r);break;case`xlinkActuate`:kt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:kt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:kt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:kt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:kt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:kt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:kt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:kt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:kt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Dt(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=Yt.get(n)||n,Dt(e,n,r))}}function Nd(e,t,n,r,i,o){switch(n){case`style`:qt(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`?Wt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Wt(e,``+r);break;case`onScroll`:r!=null&&vd(`scroll`,e);break;case`onScrollEnd`:r!=null&&vd(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=Qt);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!bt.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[ot]||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,``):Dt(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`:vd(`error`,e),vd(`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`:vd(`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)}}zt(e,o,c,l,u,s,i,!1);return;case`select`:for(i in vd(`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&&Vt(e,!!r,n,!0):Vt(e,!!r,t,!1);return;case`textarea`:for(s in vd(`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)}Ut(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`:vd(`beforetoggle`,e),vd(`toggle`,e),vd(`cancel`,e),vd(`close`,e);break;case`iframe`:case`object`:vd(`load`,e);break;case`video`:case`audio`:for(r=0;r<hd.length;r++)vd(hd[r],e);break;case`image`:vd(`error`,e),vd(`load`,e);break;case`details`:vd(`toggle`,e);break;case`embed`:case`source`:case`link`:vd(`error`,e),vd(`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(Jt(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)}}Rt(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?Vt(e,!!n,n?[]:``,!1):Vt(e,!!n,t,!0)):Vt(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)}Ht(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(Jt(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[ft]||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),pt(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[ft])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]);pt(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=F.d;F.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=_u();return e||t}function yf(e){var t=ht(e);t!==null&&t.tag===5&&t.type===`form`?_s(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=Lt(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),vt(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="`+Lt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Lt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Lt(n.imageSizes)+`"]`)):i+=`[href="`+Lt(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),vt(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="`+Lt(r)+`"][href="`+Lt(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),vt(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=_t(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`);vt(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=_t(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`),vt(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=_t(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`),vt(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=oe.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=_t(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=_t(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=_t(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="`+Lt(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),vt(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Lt(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~="`+Lt(n.href)+`"]`);if(r)return t.instance=r,vt(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`),vt(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,vt(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),vt(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,vt(i),i):(r=n,(i=mf.get(o))&&(r=p({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),vt(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[ft]||a[at]||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,vt(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),vt(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:te,_currentValue2:te,_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=Je(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Je(0),this.hiddenUpdates=Je(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=Zi(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},ka(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=ja(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Ma(e,r,t),n!==null&&(fu(n,e,t),Na(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&&fu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=uu();t=et(t);var n=Jr(e,t);n!==null&&fu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=P.T;P.T=null;var a=F.p;try{F.p=2,up(e,t,n,r)}finally{F.p=a,P.T=i}}function lp(e,t,n,r){var i=P.T;P.T=null;var a=F.p;try{F.p=8,up(e,t,n,r)}finally{F.p=a,P.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=ht(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Ue(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Ie(o);s.entanglements[1]|=c,o&=~c}td(a),!(jl&6)&&(Ql=we()+500,nd(0,!1))}}break;case 31:case 13:s=Jr(a,2),s!==null&&fu(s,a,2),_u(),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=en(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=mt(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(Te()){case Ee:return 2;case De:return 8;case Oe:case ke:return 32;case Ae: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=ht(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=mt(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,rt(e.priority,function(){op(n)});return}}else if(t===31){if(t=l(n),t!==null){e.blockedOn=t,rt(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);$t=r,n.target.dispatchEvent(r),$t=null}else return t=ht(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=ht(n);a!==null&&(e.splice(t,3),t-=3,hs(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[ot]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[ot]||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,uu(),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),_u(),t[st]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=nt();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`));F.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:P,reconcilerVersion:`19.2.4`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{Ne=zp.inject(Rp),Pe=zp}catch{}}e.createRoot=function(e,t){if(!o(e))throw Error(a(299));var n=!1,r=``,i=Rs,s=zs,c=Bs;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[st]=t.current,xd(e),new Fp(t)}})),fc=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=dc()})),pc=Un(`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`}]]),mc=Un(`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`}]]),hc=Un(`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`}]]),gc=Un(`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`}]]),_c=Un(`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`}]]),vc=Un(`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`}]]),yc=Un(`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`}]]),bc=Un(`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`}]]),xc=Un(`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`}]]),Sc=fc(),Q=t(i(),1),$=a(),Cc=({...e})=>{let t=U(e=>e.themeMode);return(0,$.jsx)(Jn,{theme:t===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t,className:`toaster group`,icons:{success:(0,$.jsx)(hn,{className:`size-4`}),info:(0,$.jsx)(Cn,{className:`size-4`}),warning:(0,$.jsx)(Oe,{className:`size-4`}),error:(0,$.jsx)(gn,{className:`size-4`}),loading:(0,$.jsx)(Xe,{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})},wc=500;function Tc({delayDuration:e=wc,disableHoverableContent:t=!0,...n}){return(0,$.jsx)(D,{"data-slot":`tooltip-provider`,delayDuration:e,disableHoverableContent:t,...n})}function Ec({...e}){return(0,$.jsx)(Tc,{children:(0,$.jsx)(x,{"data-slot":`tooltip`,...e})})}function Dc({...e}){return(0,$.jsx)(j,{"data-slot":`tooltip-trigger`,...e})}function Oc({className:e,sideOffset:t=0,children:n,...r}){let i=pr();return(0,$.jsx)(M,{container:i,children:(0,$.jsxs)(A,{"data-slot":`tooltip-content`,sideOffset:t,className:G(`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,$.jsx)(N,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground`})]})})}function kc(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function Ac(e,t){let n=getComputedStyle(e.ownerDocument.body);return t*parseFloat(n.fontSize)}function jc(e){return e/100*window.innerHeight}function Mc(e){return e/100*window.innerWidth}function Nc(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 Pc({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=Nc(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=Ac(t,i);break;case`em`:r=kc(t,i);break;case`vh`:r=jc(i);break;case`vw`:r=Mc(i);break}return r}function Fc(e){return parseFloat(e.toFixed(3))}function Ic({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 Lc(e){let{panels:t}=e,n=Ic({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=Fc(Pc({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=Fc(Pc({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=Fc(Pc({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=Fc(Pc({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 Rc(e,t=`Assertion error`){if(!e)throw Error(t)}function zc(e,t){return Array.from(t).sort(e===`horizontal`?Bc:Vc)}function Bc(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function Vc(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function Hc(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function Uc(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 Wc({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}=Uc(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return Rc(i,`No rect found`),i}var Gc;function Kc(){return Gc===void 0&&(Gc=typeof matchMedia==`function`?!!matchMedia(`(pointer:coarse)`).matches:!1),Gc}function qc(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=zc(n,Array.from(t.children).filter(Hc).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,Wc({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=Kc()?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:Ic({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 Jc=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)}}},Yc=new Map,Xc=new Jc;function Zc(e){Yc=new Map(Yc),Yc.delete(e)}function Qc(e,t){for(let[t]of Yc)if(t.id===e)return t}function $c(e,t){for(let[t,n]of Yc)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function el(){return Yc}function tl(e,t){return Xc.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function nl(e,t){let n=Yc.get(e);Yc=new Map(Yc),Yc.set(e,t),Xc.emit(`groupChange`,{group:e,prev:n,next:t})}function rl(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=Uc(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 il(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function al(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:dl(e),b:dl(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();Rc(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:ul(ll(n.a)),b:ul(ll(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 ol=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function sl(e){let t=getComputedStyle(fl(e)??e).display;return t===`flex`||t===`inline-flex`}function cl(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||sl(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`||ol.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function ll(e){let t=e.length;for(;t--;){let n=e[t];if(Rc(n,`Missing node`),cl(n))return n}return null}function ul(e){return e&&Number(getComputedStyle(e).zIndex)||0}function dl(e){let t=[];for(;e;)t.push(e),e=fl(e);return t}function fl(e){let{parentNode:t}=e;return il(t)?t.host:t}function pl(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 ml({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Hc(n)||n.contains(e)||e.contains(n))return!0;if(al(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(pl(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function hl(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=qc(r),a=rl(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&ml({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function gl(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 _l(e,t,n=0){return Math.abs(Fc(e)-Fc(t))<=n}function vl(e,t){return _l(e,t)?0:e>t?1:-1}function yl({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(vl(r,c)<0)if(a){let e=(i+c)/2;r=vl(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=Fc(r),r}function bl({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(_l(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;Rc(u!=null,`Invalid first pivot index`),Rc(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];Rc(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(Rc(n!=null,`Previous layout not found for panel index ${t}`),_l(n,i)){let t=o-n;vl(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];Rc(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(Rc(n!=null,`Previous layout not found for panel index ${t}`),_l(n,o)){let t=n-i;vl(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];Rc(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&vl(i,c)<0)if(e>0){let t=c-o,n=t/2;vl(i+e,c)<0&&(e=vl(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;vl(i-e,c)<0&&(e=vl(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];Rc(e!=null,`Previous layout not found for panel index ${r}`);let a=yl({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];Rc(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=yl({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!_l(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(gl(c,l))return i;{let t=e<0?d:u,r=s[t];Rc(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=yl({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!_l(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];Rc(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=yl({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(_l(i,s)||(t-=s-i,l[r]=s),_l(t,0))break;e>0?r--:r++}}}if(!_l(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 xl(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||vl(e[n],t[n])!==0)return!1;return!0}function Sl({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(!_l(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];Rc(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];Rc(i!=null,`No layout data found for index ${e}`);let o=r[e];Rc(o!=null,`No layout data found for index ${e}`);let s=yl({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!_l(a,0))for(let e=0;e<t.length;e++){let n=r[e];Rc(n!=null,`No layout data found for index ${e}`);let i=n+a,o=yl({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,_l(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function Cl({groupId:e,panelId:t}){let n=()=>{let t=el();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=Sl({layout:bl({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});xl(l,p)||nl(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&&_l(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=Ic({group:t});o(Fc(Pc({groupSize:a,panelElement:r,styleProp:e})/a*100))}}}function wl(e){e.defaultPrevented||hl(e,el()).forEach(t=>{if(t.separator){let n=t.panels.find(e=>e.panelConstraints.defaultSize!==void 0);if(n){let r=n.panelConstraints.defaultSize,i=Cl({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function Tl(e){let t=el();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 El({groupId:e}){let t=()=>{let t=el();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=Sl({layout:e,panelConstraints:r});return n?o:(xl(o,c)||nl(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function Dl(e,t){let n=Tl(e),r=$c(n.id,!0),i=n.separators.find(t=>t.element===e);Rc(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);Rc(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=El({groupId:n.id}).getLayout(),c=Sl({layout:bl({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});xl(s,c)||nl(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels})}function Ol(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=Tl(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&Dl(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&Dl(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&Dl(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&Dl(t,-5);break;case`End`:e.preventDefault(),Dl(t,100);break;case`Enter`:{e.preventDefault();let n=Tl(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=$c(n.id,!0),o=n.separators.find(e=>e.element===t);Rc(o,`Matching separator not found`);let s=a.get(o);Rc(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(Rc(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];Dl(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=Tl(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);Rc(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(),Dl(t,-100);break}}var kl={cursorFlags:0,state:`inactive`},Al=new Jc;function jl(){return kl}function Ml(e){return Al.addListener(`change`,e)}function Nl(e){let t=kl,n={...kl};n.cursorFlags=e,kl=n,Al.emit(`change`,{prev:t,next:n})}function Pl(e){let t=kl;kl=e,Al.emit(`change`,{prev:t,next:e})}function Fl(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=el(),n=hl(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)}),Pl({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}var Il=e=>e,Ll=()=>{},Rl=1,zl=2,Bl=4,Vl=8,Hl=3,Ul=12,Wl;function Gl(){return Wl===void 0&&(Wl=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&(Wl=!0)),Wl}function Kl({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&&Gl()){let t=(e&Rl)!==0,n=(e&zl)!==0,r=(e&Bl)!==0,i=(e&Vl)!==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 Gl()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var ql=new WeakMap;function Jl(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=ql.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));let r=jl();switch(r.state){case`active`:case`hover`:{let e=Kl({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}ql.set(e,{prevStyle:t,styleSheet:n})}function Yl({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=bl({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(xl(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?Rl:zl;break;case`vertical`:s|=d<0?Bl:Vl;break}}else nl(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&Hl:c|=s&Hl,t.movementY===0?c|=o&Ul:c|=s&Ul,Nl(c),Jl(e)}function Xl(e){let t=el(),n=jl();switch(n.state){case`active`:Yl({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Zl(e){if(e.defaultPrevented)return;let t=jl(),n=el();switch(t.state){case`active`:if(e.buttons===0){Pl({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=$c(e.group.id,!0);nl(e.group,t)});return}Yl({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=hl(e,n);r.length===0?t.state!==`inactive`&&Pl({cursorFlags:0,state:`inactive`}):Pl({cursorFlags:0,hitRegions:r,state:`hover`}),Jl(e.currentTarget);break}}}function Ql(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(jl().state){case`hover`:Pl({cursorFlags:0,state:`inactive`})}}function $l(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=jl();switch(t.state){case`active`:Pl({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(Jl(e.currentTarget),t.hitRegions.forEach(e=>{let t=$c(e.group.id,!0);nl(e.group,t)}),e.preventDefault())}}function eu(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=Fc(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=Fc((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function tu(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=Ic({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:Fc(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function nu(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 ru({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=Fc(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]=Fc((r[e]??0)/a*l);else{let e=Fc(l/c.length);for(let t of c)u[t]=e}return u}function iu(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 au=new Map;function ou(e){let t=!0;Rc(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=Ic({group:e});if(t===0)return;let n=$c(e.id);if(!n)return;let r=Lc(e),i=n.defaultLayoutDeferred?eu(r):n.layout,a=Sl({layout:ru({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&xl(n.layout,a)&&nu(n.derivedPanelConstraints,r)&&n.groupSize===t)return;nl(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else tu(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{Rc(!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=Ic({group:e}),s=Lc(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&(iu(e.panels,l)||(l=void 0));let u=Sl({layout:e.mutableState.layouts[c]??l??eu(s),panelConstraints:s}),d=e.element.ownerDocument;au.set(d,(au.get(d)??0)+1);let f=new Map;return qc(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),nl(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{Rc(!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`,Ol)}),au.get(d)===1&&(d.addEventListener(`dblclick`,wl,!0),d.addEventListener(`pointerdown`,Fl,!0),d.addEventListener(`pointerleave`,Xl),d.addEventListener(`pointermove`,Zl),d.addEventListener(`pointerout`,Ql),d.addEventListener(`pointerup`,$l,!0)),function(){t=!1,au.set(d,Math.max(0,(au.get(d)??0)-1)),Zc(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,Ol)}),au.get(d)||(d.removeEventListener(`dblclick`,wl,!0),d.removeEventListener(`pointerdown`,Fl,!0),d.removeEventListener(`pointerleave`,Xl),d.removeEventListener(`pointermove`,Zl),d.removeEventListener(`pointerout`,Ql),d.removeEventListener(`pointerup`,$l,!0)),a.disconnect()}}function su(){let[e,t]=(0,Q.useState)({});return[e,(0,Q.useCallback)(()=>t({}),[])]}function cu(e){let t=(0,Q.useId)();return`${e??t}`}var lu=typeof window<`u`?Q.useLayoutEffect:Q.useEffect;function uu(e){let t=(0,Q.useRef)(e);return lu(()=>{t.current=e},[e]),(0,Q.useCallback)((...e)=>t.current?.(...e),[t])}function du(...e){return uu(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function fu(e){let t=(0,Q.useRef)({...e});return lu(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var pu=(0,Q.createContext)(null);function mu(e,t){let n=(0,Q.useRef)({getLayout:()=>({}),setLayout:Il});(0,Q.useImperativeHandle)(t,()=>n.current,[]),lu(()=>{Object.assign(n.current,El({groupId:e}))})}function hu({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,Q.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=uu(e=>{xl(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=uu(e=>{xl(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e))}),_=cu(s),v=(0,Q.useRef)(null),[y,b]=su(),x=(0,Q.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=du(v,a);mu(_,o);let C=uu((e,t)=>{let r=jl(),i=Qc(e),a=$c(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=fu({defaultLayout:n,disableCursor:r}),T=(0,Q.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=zc(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=zc(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=Qc(_),i=$c(_);r&&i&&nl(r,{...i,derivedPanelConstraints:Lc(r)})},toggleSeparatorDisabled:(e,t)=>{let n=x.current.separators.find(t=>t.id===e);n&&(n.disabled=t)}}),[C,_,b,u,w]),E=(0,Q.useRef)(null);return lu(()=>{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=ou(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=$c(r.id,!0);!o&&s.length>0&&(h(c),g(c));let l=tl(_,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=_l(t.collapsedSize,i[t.panelId]),a=_l(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=jl().state!==`active`;h(i),o&&g(i)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,Q.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,$.jsx)(pu.Provider,{value:T,children:(0,$.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})})}hu.displayName=`Group`;function gu(){let e=(0,Q.useContext)(pu);return Rc(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function _u(e,t){let{id:n}=gu(),r=(0,Q.useRef)({collapse:Ll,expand:Ll,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Ll});(0,Q.useImperativeHandle)(t,()=>r.current,[]),lu(()=>{Object.assign(r.current,Cl({groupId:n,panelId:e}))})}function vu({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=cu(c),_=fu({disabled:a}),v=(0,Q.useRef)(null),y=du(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,togglePanelDisabled:w}=gu(),T=d!==null,E=uu((e,t,n)=>{d?.(e,c,n)});lu(()=>{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,Q.useEffect)(()=>{w(g,!!a)},[a,g,w]),_u(g,f);let D=(0,Q.useSyncExternalStore)(e=>tl(x,e),()=>JSON.stringify(b(x,g)),()=>JSON.stringify(b(x,g)));return(0,$.jsx)(`div`,{...m,"aria-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...yu,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...JSON.parse(D)},children:(0,$.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}vu.displayName=`Panel`;var yu={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function bu({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=Sl({layout:bl({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=Sl({layout:bl({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function xu({children:e,className:t,disabled:n,elementRef:r,id:i,style:a,...o}){let s=cu(i),c=fu({disabled:n}),[l,u]=(0,Q.useState)({}),[d,f]=(0,Q.useState)(`inactive`),p=(0,Q.useRef)(null),m=du(p,r),{disableCursor:h,id:g,orientation:_,registerSeparator:v,toggleSeparatorDisabled:y}=gu(),b=_===`horizontal`?`vertical`:`horizontal`;lu(()=>{let e=p.current;if(e!==null){let t={disabled:c.disabled,element:e,id:s},n=v(t),r=Ml(e=>{f(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=tl(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(bu({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[g,s,v,c]),(0,Q.useEffect)(()=>{y(s,!!n)},[n,s,y]);let x;return n&&!h&&(x=`not-allowed`),(0,$.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})}xu.displayName=`Separator`;function Su(e){let[t,n]=(0,Q.useState)(()=>typeof window<`u`?window.matchMedia(e).matches:!1);return(0,Q.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 Cu(e,t){let[n,r]=(0,Q.useState)(e);return(0,Q.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function wu(e){let t=ui(e),n=t?ar(t):null;(0,Q.useEffect)(()=>{t&&li.getState().ensure(t)},[t]);let r=li(e=>(n?e.byProject[n]?.tags:null)??null),i=(0,Q.useCallback)(()=>{t&&li.getState().refreshTags(t)},[t]);return{projectTags:r?.tags??[],tagCounts:r?.counts??{},loadTags:i}}function Tu({projectTags:e,tagCounts:t,totalCount:n,selectedTagId:r,onSelect:i}){return e.length===0?null:(0,$.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5 overflow-x-auto scrollbar-none`,children:[(0,$.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,$.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,$.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,` (`,t[e.id]??0,`)`]},e.id))]})}var Eu={approval_request:`bg-error`,question:`bg-warning`,done:`bg-primary`},Du={done:0,question:1,approval_request:2};function Ou(e){return e&&Eu[e]||`bg-error`}var ku={approval_request:`bg-error/10`,question:`bg-warning/10`,done:`bg-primary/10`};function Au(e){return e&&ku[e]||`bg-error/10`}var ju=sr()(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}}),H.post(`/api/project/${encodeURIComponent(n)}/chat/sessions/${encodeURIComponent(t)}/unread`,{projectName:n}).catch(()=>{})},clearForSession:t=>{let n=ju.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&&H.post(`/api/project/${encodeURIComponent(n)}/chat/sessions/${encodeURIComponent(t)}/read`).catch(()=>{})},clearAll:()=>{let t=[...ju.getState().notifications];t.length!==0&&(e({notifications:new Map}),H.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 H.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 Mu(e){return e.notifications.size}function Nu(e){return t=>{if(!e)return 0;let n=0;for(let[,r]of t.notifications)r.projectName===e&&n++;return n}}function Pu(e){return t=>{let n=null,r=-1;for(let[,i]of t.notifications){if(i.projectName!==e)continue;let t=Du[i.type]??0;t>r&&(r=t,n=i.type)}return n}}function Fu({session:e,projectName:t,projectTags:n,children:r,onTogglePin:i,onStartEditing:a,onDeleteSession:o,onTagChanged:s}){let c=ju(e=>e.markUnread),l=ju(t=>t.notifications.has(e.id)),u=(0,Q.useCallback)(async r=>{let i=r?n.find(e=>e.id===r):void 0;if(r&&!i)return;let a=e.tag??null;s(e.id,i?{id:i.id,name:i.name,color:i.color}:null);let o=`${V(t)}/chat/sessions/${e.id}/tag`;await ri(fi(t),()=>r?H.patch(o,{tagId:r}):H.del(o))||s(e.id,a)},[e.id,e.tag,t,n,s]);return(0,$.jsxs)(xi,{children:[(0,$.jsx)(Si,{asChild:!0,children:r}),(0,$.jsxs)(_i,{children:[(0,$.jsxs)(yi,{onClick:t=>i(t,e),children:[e.pinned?(0,$.jsx)(vt,{className:`size-3.5 mr-2`}):(0,$.jsx)(Wt,{className:`size-3.5 mr-2`}),e.pinned?`Unpin`:`Pin`]}),!l&&(0,$.jsxs)(yi,{onClick:()=>c(e.id,t,e.title),children:[(0,$.jsx)(Ae,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),a&&(0,$.jsxs)(yi,{onClick:t=>a(e,t),children:[(0,$.jsx)(On,{className:`size-3.5 mr-2`}),`Rename`]}),n.length>0&&(0,$.jsxs)(bi,{children:[(0,$.jsxs)(gi,{children:[(0,$.jsx)(oe,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,$.jsxs)(hi,{children:[n.map(t=>(0,$.jsxs)(yi,{onClick:()=>u(t.id),children:[(0,$.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:t.color}}),t.name,e.tag?.id===t.id&&(0,$.jsx)(L,{className:`size-3 ml-auto`})]},t.id)),e.tag&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vi,{}),(0,$.jsx)(yi,{onClick:()=>u(null),children:`Remove tag`})]})]})]}),o&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vi,{}),(0,$.jsxs)(yi,{className:`text-error focus:text-error`,onClick:t=>o(t,e),children:[(0,$.jsx)(je,{className:`size-3.5 mr-2`}),`Delete`]})]})]})]})}function Iu({name:e,children:t,...n}){return(0,$.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 Lu(e){return(0,$.jsx)(Iu,{name:`claude`,...e,children:(0,$.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 Ru(e){let t=`${(0,Q.useId)()}codex`;return(0,$.jsxs)(Iu,{name:`codex`,...e,children:[(0,$.jsx)(`defs`,{children:(0,$.jsxs)(`linearGradient`,{id:t,gradientUnits:`userSpaceOnUse`,x1:`12`,x2:`12`,y1:`0`,y2:`24`,children:[(0,$.jsx)(`stop`,{stopColor:`#B1A7FF`}),(0,$.jsx)(`stop`,{offset:`.5`,stopColor:`#7A9DFF`}),(0,$.jsx)(`stop`,{offset:`1`,stopColor:`#3941FF`})]})}),(0,$.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 zu(e){return(0,$.jsx)(Iu,{name:`cursor`,fill:`currentColor`,...e,children:(0,$.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 Bu(e){let t=(0,Q.useId)(),n=[`#3186FF`,`url(#${t}green)`,`url(#${t}red)`,`url(#${t}yellow)`];return(0,$.jsxs)(Iu,{name:`gemini`,...e,children:[(0,$.jsxs)(`defs`,{children:[(0,$.jsxs)(`linearGradient`,{id:`${t}green`,gradientUnits:`userSpaceOnUse`,x1:`7`,x2:`11`,y1:`15.5`,y2:`12`,children:[(0,$.jsx)(`stop`,{stopColor:`#08B962`}),(0,$.jsx)(`stop`,{offset:`1`,stopColor:`#08B962`,stopOpacity:`0`})]}),(0,$.jsxs)(`linearGradient`,{id:`${t}red`,gradientUnits:`userSpaceOnUse`,x1:`8`,x2:`11.5`,y1:`5.5`,y2:`11`,children:[(0,$.jsx)(`stop`,{stopColor:`#F94543`}),(0,$.jsx)(`stop`,{offset:`1`,stopColor:`#F94543`,stopOpacity:`0`})]}),(0,$.jsxs)(`linearGradient`,{id:`${t}yellow`,gradientUnits:`userSpaceOnUse`,x1:`3.5`,x2:`17.5`,y1:`13.5`,y2:`12`,children:[(0,$.jsx)(`stop`,{stopColor:`#FABC12`}),(0,$.jsx)(`stop`,{offset:`.46`,stopColor:`#FABC12`,stopOpacity:`0`})]})]}),n.map(e=>(0,$.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 Vu={claude:Lu,codex:Ru,cursor:zu,gemini:Bu};function Hu({providerId:e,className:t}){let n=e?Vu[e]:void 0;return n?(0,$.jsx)(n,{className:G(`shrink-0`,t)}):(0,$.jsx)(`span`,{className:G(`inline-flex items-center justify-center rounded bg-surface-elevated text-[10px] font-bold text-text-subtle shrink-0`,t),children:`?`})}function Uu({value:e,onChange:t,projectName:n}){let[r,i]=(0,Q.useState)(null),a=r?.projectName===n?r.providers:wi(n)??[],o=r?.projectName===n&&r.error,[s,c]=(0,Q.useState)(!1),l=(0,Q.useRef)(null),u=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{if(!s||!n)return;let e=!0;return Ci(n).then(t=>{e&&i({projectName:n,providers:t})}).catch(()=>{e&&i({projectName:n,providers:wi(n)??[],error:!0})}),()=>{e=!1}},[n,s]),(0,Q.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,Q.useEffect)(()=>{s&&(u.current=Math.max(0,a.findIndex(t=>t.id===e)))},[s,e,a]);let d=(0,Q.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;if(!a.length)return;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.id),c(!1))}},[t,a]),f=a.find(t=>t.id===e);return(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),c(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: ${f?.name??e}`,children:[(0,$.jsx)(Hu,{providerId:e,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`max-w-[80px] truncate capitalize`,children:f?.name??e})]}),s&&(0,$.jsxs)(`div`,{ref:l,role:`listbox`,"aria-label":`AI Providers`,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,$.jsx)(`div`,{className:`px-3 py-2 border-b border-border`,children:(0,$.jsx)(`span`,{className:`text-xs font-medium text-text-secondary`,children:`Provider`})}),(0,$.jsxs)(`div`,{className:`py-1`,children:[a.length===0&&(0,$.jsx)(`div`,{role:`status`,className:`px-3 py-2 text-xs text-text-secondary`,children:o?`Unable to load providers`:r?.projectName===n?`No providers available`:`Loading providers...`}),a.map((n,r)=>{let i=n.id===e;return(0,$.jsxs)(`button`,{"data-idx":r,role:`option`,"aria-selected":i,tabIndex:0,onClick:()=>{t(n.id),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,$.jsx)(Hu,{providerId:n.id,className:`size-4`}),(0,$.jsx)(`span`,{className:`flex-1 text-sm font-medium text-text-primary capitalize`,children:n.name}),i&&(0,$.jsx)(L,{className:`size-4 shrink-0 text-primary`})]},n.id)})]})]})]})}function Wu({providerId:e}){return(0,$.jsx)(`span`,{className:`inline-flex shrink-0`,title:e,children:(0,$.jsx)(Hu,{providerId:e,className:`size-4`})})}var Gu=300,Ku=4e3;function qu({project:e,className:t}){let n=ar(e),r=li(e=>e.byProject[n]?.isSyncing??!1),i=li(e=>e.byProject[n]?.lastSyncError??null),[a,o]=(0,Q.useState)(!1),s=(0,Q.useRef)(null),c=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{if(r){c.current&&=(clearTimeout(c.current),null),s.current=Date.now(),o(!0);return}if(!a)return;let e=s.current?Date.now()-s.current:Gu,t=Math.max(0,Gu-e);return c.current=setTimeout(()=>{o(!1),s.current=null},t),()=>{c.current&&clearTimeout(c.current)}},[r]);let[l,u]=(0,Q.useState)(!1),d=(0,Q.useRef)(null);return(0,Q.useEffect)(()=>{if(!i){d.current=null;return}if(i===d.current)return;d.current=i,u(!0);let e=setTimeout(()=>u(!1),Ku);return()=>clearTimeout(e)},[i]),!a&&!l?null:(0,$.jsx)(`span`,{role:`status`,"aria-live":`polite`,className:G(`inline-flex items-center gap-1 text-xs text-text-dim`,t),children:a?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Vt,{className:`size-3 animate-spin motion-reduce:animate-none`,"aria-hidden":`true`}),`Syncing…`]}):`Offline — showing saved list`})}var Ju=5,Yu=20;function Xu({projectName:e,onSelectSession:t,className:n}){return(0,$.jsx)(Zu,{projectName:e,onSelectSession:t,className:n},e)}function Zu({projectName:e,onSelectSession:t,className:n}){let r=ui(e),i=r?ar(r):null;(0,Q.useEffect)(()=>{r&&li.getState().ensure(r)},[r]);let a=li(e=>(i?e.byProject[i]?.sessions:void 0)??oi),[o,s]=(0,Q.useState)(null),c=(0,Q.useRef)(0),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(``),p=Cu(d,300),[m,h]=(0,Q.useState)(null),{projectTags:g,tagCounts:_,loadTags:v}=wu(e);(0,Q.useEffect)(()=>{if(!e||!p){s(null);return}let t=++c.current;return(async()=>{try{let n=new URLSearchParams({limit:String(Yu),q:p}),r=await H.get(`${V(e)}/chat/sessions?${n}`);if(t!==c.current)return;s(r.sessions.slice(0,Yu))}catch{}})(),()=>{++c.current}},[e,p]);let y=o??a.slice(0,Yu),b=(0,Q.useCallback)(async(e,t)=>{if(e.stopPropagation(),!r)return;let n=`${V(r.name)}/chat/sessions/${t.id}/pin`,i=!t.pinned,a=e=>s(n=>n&&n.map(n=>n.id===t.id?{...n,pinned:e}:n));li.getState().setPinned(r,t.id,i),a(i),await ri(r,()=>i?H.put(n):H.del(n))||a(!i)},[r]),x=(0,Q.useCallback)((e,t)=>{r&&li.getState().setSessionTag(r,e,t),s(n=>n&&n.map(n=>n.id===e?{...n,tag:t}:n)),v()},[v,r]),S=m===null?y:y.filter(e=>e.tag?.id===m),C=S.filter(e=>e.pinned),w=S.filter(e=>!e.pinned),T=l?w:w.slice(0,Ju),E=w.length>Ju;return!e||y.length===0&&!d?null:(0,$.jsxs)(`div`,{className:n,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Ln,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 size-3.5 text-text-subtle pointer-events-none`}),(0,$.jsx)(`input`,{type:`text`,value:d,onChange:e=>f(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`}),d&&(0,$.jsx)(`button`,{onClick:()=>f(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-text-subtle hover:text-text-primary`,children:(0,$.jsx)($t,{className:`size-3.5`})})]}),(0,$.jsx)(`div`,{className:`mt-3`,children:(0,$.jsx)(Tu,{projectTags:g,tagCounts:_,totalCount:y.length,selectedTagId:m,onSelect:h})}),C.length>0&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 w-full mt-4`,children:[(0,$.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Pinned`}),(0,$.jsx)(`div`,{className:`w-full rounded-md border border-border bg-surface overflow-hidden`,children:C.map(n=>(0,$.jsx)(Qu,{session:n,projectName:e,projectTags:g,onSelect:t,onTogglePin:b,onTagChanged:x},n.id))})]}),T.length>0&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-2 w-full mt-4`,children:[(0,$.jsxs)(`p`,{className:`text-xs text-text-subtle text-center`,children:[`Recent chats`,r&&(0,$.jsx)(qu,{project:r,className:`ml-1.5`})]}),(0,$.jsx)(`div`,{className:`w-full rounded-md border border-border bg-surface overflow-hidden`,children:T.map(n=>(0,$.jsx)(Qu,{session:n,projectName:e,projectTags:g,onSelect:t,onTogglePin:b,onTagChanged:x},n.id))}),E&&(0,$.jsxs)(`button`,{onClick:()=>u(!l),className:`flex items-center justify-center gap-1 text-[11px] text-text-subtle hover:text-text-primary transition-colors py-1`,children:[l?(0,$.jsx)(Hn,{className:`size-3`}):(0,$.jsx)(We,{className:`size-3`}),l?`Show less`:`Show more (${w.length-Ju})`]})]})]})}function Qu({session:e,projectName:t,projectTags:n,onSelect:r,onTogglePin:i,onTagChanged:a}){let o=ju(t=>t.notifications.get(e.id));return(0,$.jsx)(Fu,{session:e,projectName:t,projectTags:n,onTogglePin:i,onTagChanged:a,children:(0,$.jsxs)(`button`,{onClick:()=>r(e),className:G(`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&&Au(o.type)),children:[(0,$.jsx)(Wu,{providerId:e.providerId}),e.tag&&(0,$.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.tag.color},title:e.tag.name}),(0,$.jsx)(`span`,{className:G(`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,$.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0`,children:mi(e.updatedAt)}),(0,$.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,$.jsx)(vt,{className:`size-3`}):(0,$.jsx)(Wt,{className:`size-3`})})]})})}var $u=sr(()=>({})),ed=(e,t)=>t?`${e}\u0000${t}`:e;function td(e,t,n){let r=ed(e,n),i=$u.getState();if((i[r]??0)===t)return;let a={...i};t>0?a[r]=t:delete a[r],$u.setState(a,!0)}function nd(e,t){let n=0;for(let[r,i]of Object.entries(e))(r===t||r.startsWith(`${t}\u0000`))&&(n+=i);return n}function rd(e){return nd($u.getState(),e)}function id(e,t){return $u.getState()[ed(e,t)]??0}function ad(e){return Wr(e.type,e.metadata)||rd(e.id)>0}var od=sr(()=>({pending:null}));function sd(e){return new Promise(t=>{od.getState().pending?.resolve(!1),od.setState({pending:{tabs:e,resolve:t}})})}function cd(e){let t=od.getState().pending;t&&(od.setState({pending:null}),t.resolve(e))}async function ld(e,t){let n=e=>{let n=q.getState();return(t?n.panels[t]:n.getPanelForTab(e))?.tabs.find(t=>t.id===e)},r=e.map(n).filter(e=>e!==void 0),i=r.filter(ad);if(i.length>0&&!await sd(i))return!1;for(let e of r)n(e.id)&&q.getState().closeTab(e.id,t);return!0}function ud(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 dd=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return dd(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return dd(t)(e)}}}},fd=(e,t)=>(n,r,i)=>{let a={storage:ud(()=>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 dd(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},pd=5e5,md=sr()(fd(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>pd){let{dirtyContent:e,...n}=t;return{selection:n}}return{selection:t}}})),hd=null;J.subscribe(e=>{let t=e.activeProject?.name??null;hd!==null&&hd!==t&&md.getState().clearSelection(),hd=t});async function gd(e,t,n){let r=`${fr(e.path)} ↔ ${fr(t.path)}`,i=e.dirtyContent!==void 0,a=t.dirtyContent!==void 0,o;if(i||a){let[r,i]=await Promise.all([_d(e,n),_d(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 Y.getState().openTab({type:`git-diff`,title:r,projectId:n,metadata:o,closable:!0})}async function _d(e,t){if(e.dirtyContent!==void 0)return e.dirtyContent;try{let{content:n}=await H.get(`${V(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 vd=`application/ppm-tab`,yd=!1,bd=new Set;function xd(e){yd!==e&&(yd=e,bd.forEach(e=>e()))}function Sd(){return(0,Q.useSyncExternalStore)(e=>(bd.add(e),()=>bd.delete(e)),()=>yd)}function Cd(){xd(!1)}function wd(e){let[t,n]=(0,Q.useState)(null),r=(0,Q.useRef)(null);return{dropIndex:t,handleDragStart:(0,Q.useCallback)((t,n)=>{let r={tabId:n,panelId:e};t.dataTransfer.setData(vd,JSON.stringify(r)),t.dataTransfer.effectAllowed=`move`,requestAnimationFrame(()=>xd(!0))},[e]),handleDragOver:(0,Q.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,Q.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`)},[]),handleDrop:(0,Q.useCallback)(i=>{i.preventDefault(),xd(!1);let a=i.dataTransfer.getData(vd);if(a){try{let n=JSON.parse(a),r=q.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,Q.useCallback)(()=>{xd(!1),n(null),r.current=null},[])}}var Td=null,Ed=null,Dd=0,Od=new Set;function kd(){Od.forEach(e=>e())}function Ad(){return(0,Q.useSyncExternalStore)(e=>(Od.add(e),()=>Od.delete(e)),()=>Ed)}function jd(){return Date.now()-Dd<300}var Md=null;function Nd(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),Md=r}function Pd(e,t){Md&&(Md.style.left=`${e}px`,Md.style.top=`${t}px`)}function Fd(){Md?.remove(),Md=null}function Id(e,t){Md&&(Md.style.display=`none`);let n=document.elementFromPoint(e,t);Md&&(Md.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}=q.getState(),u=window.innerWidth<768,d=Cr(l,i),f=d?!u&&(l[d.row]?.length??0)<wr(!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 Ld(e){if(!Td)return;e.preventDefault();let t=e.touches[0];if(!t)return;Pd(t.clientX,t.clientY);let n=Id(t.clientX,t.clientY);(n?.panelId!==Ed?.panelId||n?.zone!==Ed?.zone)&&(Ed=n,kd())}function Rd(){Td=null,Ed=null,kd(),Fd(),Cd(),document.removeEventListener(`touchmove`,Ld),document.removeEventListener(`touchend`,zd),document.removeEventListener(`touchcancel`,Bd)}function zd(){let e=Td,t=Ed;if(Rd(),Dd=Date.now(),!e||!t)return;let n=q.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 Bd(){Rd(),Dd=Date.now()}function Vd(e,t,n,r){Td=e,xd(!0),Nd(t,n,r),document.addEventListener(`touchmove`,Ld,{passive:!1}),document.addEventListener(`touchend`,zd),document.addEventListener(`touchcancel`,Bd)}var Hd=200,Ud=10;function Wd(e){let t=(0,Q.useRef)(null),n=(0,Q.useRef)(null),r=(0,Q.useRef)(!1),i=(0,Q.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,Vd({tabId:a,panelId:e},o,n.current.x,n.current.y)},Hd))},[e]),a=(0,Q.useCallback)(e=>{if(r.current||!n.current||!t.current)return;let i=e.touches[0];i&&(Math.abs(i.clientX-n.current.x)>Ud||Math.abs(i.clientY-n.current.y)>Ud)&&(clearTimeout(t.current),t.current=null)},[]),o=(0,Q.useCallback)(()=>{t.current&&=(clearTimeout(t.current),null)},[]),s=(0,Q.useCallback)(()=>{t.current&&=(clearTimeout(t.current),null),n.current=null},[]);return(0,Q.useEffect)(()=>()=>{t.current&&clearTimeout(t.current)},[]),{handleTouchStart:i,handleTouchMove:a,handleTouchEnd:o,handleTouchCancel:s}}var Gd=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),Kd=[{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. Ctrl+` also toggles it on desktop (fixed)."},{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}`}))],qd=new Map(Kd.map(e=>[e.id,e.defaultKey]));function Jd(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`:Gd?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 Yd(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}var Xd=Jd("Ctrl+`");function Zd(e,t){return!t&&Yd(e,Xd)}function Qd(e){return e.replace(/Mod/g,Gd?`⌘`:`Ctrl`).replace(/Shift/g,Gd?`⇧`:`Shift`).replace(/Alt/g,Gd?`⌥`:`Alt`).replace(/Meta|Cmd/g,`⌘`).replace(/Ctrl/g,Gd?`⌃`:`Ctrl`)}function $d(e){if([`Control`,`Meta`,`Alt`,`Shift`].includes(e.key))return null;let t=[];e.ctrlKey&&!e.metaKey&&t.push(Gd?`Ctrl`:`Mod`),e.metaKey&&t.push(Gd?`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 ef(e){let t=new Map;for(let n of Kd){let r=e[n.id]??n.defaultKey;r&&t.set(n.id,Jd(r))}return t}var tf=ef({}),nf=sr((e,t)=>({overrides:{},parsedCache:tf,loaded:!1,getBinding:e=>t().overrides[e]??qd.get(e)??``,matchesEvent:(e,n)=>{let r=t().parsedCache.get(n);return r?Yd(e,r):!1},setBinding:(n,r)=>{let i={...t().overrides,[n]:r};e({overrides:i,parsedCache:ef(i)}),H.put(`/api/settings/keybindings`,{[n]:r}).catch(()=>{})},resetBinding:n=>{let r={...t().overrides};delete r[n],e({overrides:r,parsedCache:ef(r)}),H.put(`/api/settings/keybindings`,{[n]:null}).catch(()=>{})},resetAll:()=>{let n={};for(let e of Object.keys(t().overrides))n[e]=null;e({overrides:{},parsedCache:ef({})}),Object.keys(n).length>0&&H.put(`/api/settings/keybindings`,n).catch(()=>{})},loadFromServer:async()=>{try{let t=await H.get(`/api/settings/keybindings`);e({overrides:t,parsedCache:ef(t),loaded:!0})}catch{e({loaded:!0})}}})),rf=sr((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}})}));async function af(e){let t=J.getState().activeProject,n=[];t?.path&&n.push(Ui(e)?await Gi(t.name,t.path):t.path),window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:n}}))}function of(e){window.dispatchEvent(new CustomEvent(`open-command-palette`,{detail:e}))}function sf(){let[e,t]=(0,Q.useState)(!1),[n,r]=(0,Q.useState)(``);return(0,Q.useEffect)(()=>{let e=0,n=!1,{matchesEvent:i}=nf.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(e,t){for(let n=1;n<=9;n++){if(!t(e,`switch-project-${n}`))continue;e.preventDefault();let r=J.getState().projects[n-1];return r&&(J.getState().setActiveProject(r),Y.getState().switchProject(r.name)),!0}return!1}function d(i){if(U.getState().minimalMode){if(i.type!==`keydown`||o||i.isComposing)return;let{matchesEvent:e}=nf.getState();if(l(i,e))return;e(i,`save-prevent`)&&i.preventDefault();let t=i.target;if(t?.tagName===`TEXTAREA`||t?.tagName===`INPUT`||t?.isContentEditable)return;if(e(i,`toggle-sidebar`))i.preventDefault(),U.getState().toggleSidebar();else if(e(i,`new-file`))i.preventDefault(),Y.getState().openNewFile();else if(e(i,`open-settings`))i.preventDefault(),Ii();else if(e(i,`open-chat`)){i.preventDefault();let e=J.getState().activeProject;Y.getState().openTab({type:`chat`,title:`AI Chat`,projectId:e?.name??null,metadata:e?{projectName:e.name}:void 0,closable:!0})}else if(e(i,`voice-input`))i.preventDefault(),window.dispatchEvent(new CustomEvent(`toggle-voice-input`));else if(e(i,`open-search`)){i.preventDefault();let e=U.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`search`)}else if(e(i,`next-tab`)||e(i,`prev-tab`)){i.preventDefault();let t=Y.getState(),n=t.tabs.filter(e=>I(e.type));if(!n.length)return;let r=(n.findIndex(e=>e.id===t.activeTabId)+(e(i,`next-tab`)?1:-1)+n.length)%n.length;t.setActiveTab(n[r].id)}else u(i,e);return}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}=nf.getState();e(i,`save-prevent`)&&i.preventDefault(),(e(i,`toggle-dock`)||Zd(i,Fi()))&&(i.preventDefault(),q.getState().toggleDock()),l(i,e);return}let{matchesEvent:c}=nf.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(),U.getState().toggleSidebar();return}if(c(i,`toggle-dock`)||Zd(i,Fi())){i.preventDefault(),q.getState().toggleDock();return}if(c(i,`next-tab`)||c(i,`prev-tab`)){i.preventDefault();let{tabs:e,activeTabId:t,setActiveTab:n}=Y.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(),Y.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=J.getState().activeProject;Y.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(),Ii();return}if(c(i,`open-git-status`)){i.preventDefault();let e=U.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}=Y.getState(),n=t.find(t=>t.id===e),r=n?.metadata;n?.type===`editor`&&r?.filePath&&r?.projectName&&md.getState().setSelection({filePath:r.filePath,projectName:r.projectName,dirtyContent:r.unsavedContent,label:fr(r.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`));return}if(c(i,`open-search`)){i.preventDefault();let e=U.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`search`);return}if(c(i,`open-problems`)){i.preventDefault(),q.getState().openInDock({type:`problems`,title:`Problems`,projectId:null,closable:!0});return}if(u(i,c))return;let d=rf.getState().contributions?.keybindings;if(d){let e=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),{getBinding:t}=nf.getState();for(let n of d){let r=t(`ext:${n.command}`)||(e&&n.mac?n.mac:n.key);if(!r)continue;let o=a.get(r);if(o||(o=Jd(r),a.set(r,o)),Yd(i,o)){i.preventDefault(),af(n.command);return}}}}function f(e){if(U.getState().minimalMode)return;let n=e.detail;r(typeof n==`string`?n:``),t(!0)}return window.addEventListener(`keydown`,d),window.addEventListener(`keyup`,d),window.addEventListener(`compositionstart`,s),window.addEventListener(`compositionend`,c),window.addEventListener(`open-command-palette`,f),()=>{window.removeEventListener(`keydown`,d),window.removeEventListener(`keyup`,d),window.removeEventListener(`compositionstart`,s),window.removeEventListener(`compositionend`,c),window.removeEventListener(`open-command-palette`,f)}},[]),{paletteOpen:e,paletteInitialQuery:n,closePalette:(0,Q.useCallback)(()=>{t(!1),r(``)},[])}}function cf(e){let[t,n]=(0,Q.useState)(!1),[r,i]=(0,Q.useState)(!1);return(0,Q.useEffect)(()=>{let t=e.current;if(!t)return;let r=0,a=()=>{r=0,n(t.scrollLeft>1),i(t.scrollLeft+t.clientWidth<t.scrollWidth-1)},o=()=>{r||=requestAnimationFrame(a)};o(),t.addEventListener(`scroll`,o,{passive:!0});let s=new ResizeObserver(o);s.observe(t);let c=new MutationObserver(o);return c.observe(t,{childList:!0,subtree:!0}),()=>{cancelAnimationFrame(r),t.removeEventListener(`scroll`,o),s.disconnect(),c.disconnect()}},[e]),{canScrollLeft:t,canScrollRight:r,scrollLeft:(0,Q.useCallback)(()=>{e.current?.scrollBy({left:-150,behavior:`smooth`})},[e]),scrollRight:(0,Q.useCallback)(()=>{e.current?.scrollBy({left:150,behavior:`smooth`})},[e])}}var lf={done:0,question:1,approval_request:2};function uf(e,t,n,r){if(!e||!n.some(e=>{let t=e.type===`chat`?e.metadata?.sessionId:void 0;return!!t&&(r.get(t)?.count??0)>0}))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,_=lf[f.type]??0;g<=i&&_>s&&(s=_,o=f.type),h>=a&&_>l&&(l=_,c=f.type)}return{left:o,right:c}}var df={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 ff(e,t,n){let r=df[e];return G(r.base,n?`border-t-transparent`:t?r.active:r.inactive)}function pf(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 G(df[e].row,t?`flex-wrap min-h-[41px]`+n:`h-[41px]`)}function mf(e){return df[e].add}function hf(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 gf(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 _f(e,t){let n=gf(e),r=gf(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 vf(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 yf(e){let t=hf(e);return t?vf(t.r,t.g,t.b)<.4:!1}function bf({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,Q.useState)(!1),[C,w]=(0,Q.useState)(e.title),T=(0,Q.useRef)(null),E=U(e=>e.editorTabStyle),D=$u(t=>nd(t,e.id));(0,Q.useEffect)(()=>{x&&(w(e.title),setTimeout(()=>T.current?.select(),0))},[x]);let O=()=>{S(!1);let t=C.trim();t&&t!==e.title&&_&&_(t)},k=e.metadata?.connectionColor,A=k?{backgroundColor:t?k:`${k}33`,color:t&&yf(k)?`#fff`:void 0}:void 0,j=e.type===`editor`,M=(0,$.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:A,className:ff(E,t,!!A),children:[(0,$.jsxs)(`span`,{className:G(`relative`,o&&`text-warning`),children:[o?(0,$.jsx)(Xt,{className:`size-4`}):(0,$.jsx)(n,{className:`size-4`}),o?(0,$.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,$.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,$.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,$.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):i&&(!t||a)?(0,$.jsx)(`span`,{className:G(`absolute -top-1 -right-1 size-2 rounded-full`,Ou(i))}):null]}),x?(0,$.jsx)(`input`,{ref:T,value:C,onChange:e=>w(e.target.value),onBlur:O,onKeyDown:e=>{e.key===`Enter`&&O(),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,$.jsx)(`span`,{className:`max-w-[120px] truncate`,title:e.title,onDoubleClick:e=>{_&&(e.stopPropagation(),S(!0))},children:e.title}),(Wr(e.type,e.metadata)||D>0)&&(0,$.jsx)(`span`,{role:`img`,"aria-label":`Unsaved`,title:`Unsaved`,className:`size-[7px] shrink-0 rounded-full bg-text-2`}),e.closable&&!x&&(0,$.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,$.jsx)($t,{className:`size-3`})})]});return(0,$.jsxs)(`div`,{className:`relative flex items-center`,children:[r&&(0,$.jsx)(`div`,{className:`absolute left-0 top-1 bottom-1 w-0.5 bg-primary rounded-full z-10`}),y&&(0,$.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,$.jsxs)(xi,{children:[(0,$.jsx)(Si,{asChild:!0,children:M}),(0,$.jsxs)(_i,{children:[j&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(yi,{onClick:()=>v(`copy-path`),children:`Copy Path`}),(0,$.jsx)(yi,{onClick:()=>v(`copy-full-path`),children:`Copy Full Path`}),(0,$.jsxs)(yi,{onClick:()=>v(`download`),children:[(0,$.jsx)(Ht,{className:`size-3.5 mr-2`}),`Download`]}),(0,$.jsx)(vi,{}),(0,$.jsx)(yi,{onClick:()=>v(`rename`),children:`Rename`}),(0,$.jsx)(yi,{variant:`destructive`,onClick:()=>v(`delete`),children:`Delete`}),(0,$.jsx)(vi,{})]}),b,e.closable&&(0,$.jsx)(yi,{onClick:()=>v(`close`),children:`Close`}),(0,$.jsx)(yi,{onClick:()=>v(`close-others`),children:`Close Others`}),(0,$.jsx)(yi,{onClick:()=>v(`close-right`),children:`Close to the Right`})]})]}):M]})}var xf=[`.xterm-helper-textarea`,`.native-edit-context`,`textarea`,`[contenteditable]`,`button, [href], input, select, [tabindex]:not([tabindex="-1"])`];function Sf(e){return typeof e.checkVisibility==`function`?e.checkVisibility():e.offsetParent!==null&&e.offsetParent!==void 0}function Cf(e){for(let t of xf)for(let n of e(t))if(Sf(n))return n;return null}function wf(e){Cf(t=>e.querySelectorAll(t))?.focus()}function Tf(){return typeof window<`u`&&`documentPictureInPicture`in window}function Ef(){return Tf()?window.documentPictureInPicture??null:null}var Df={width:1920,height:1080};function Of(e,t,n){return Number.isFinite(e)?Math.round(Math.min(Math.max(e,t),Math.max(t,n))):t}function kf(){if(typeof window>`u`||!window.screen)return Df;let{availWidth:e,availHeight:t}=window.screen;return{width:Number.isFinite(e)&&e>0?e:Df.width,height:Number.isFinite(t)&&t>0?t:Df.height}}function Af(e,t=kf()){return{width:Of(e.width,320,t.width),height:Of(e.height,240,t.height)}}var jf=`style, link[rel="stylesheet"]`,Mf=`html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}
|
|
11
11
|
body>*{position:relative;width:100%;height:100%}`;function Nf(e){return Array.from(e.querySelectorAll(jf))}function Pf(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 Ff(e,t){try{t.adoptedStyleSheets=[...e.adoptedStyleSheets]}catch{}for(let n of Nf(e))Pf(n,t);let n=t.createElement(`style`);n.textContent=Mf,t.head.append(n)}function If(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 Lf(e,t){If(e,t);let n=e.defaultView;if(!n)return()=>{};let r=()=>If(e,t);return n.addEventListener(oa,r),()=>n.removeEventListener(oa,r)}function Rf(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(jf)&&t.head.append(e.cloneNode(!0))});return n.observe(e.head,{childList:!0}),()=>n.disconnect()}var zf=[`input`,`textarea`,`select`,`[contenteditable]`,`.native-edit-context`,`.monaco-editor`,`.xterm-helper-textarea`].join(`, `);function Bf(e){let t=e;return!t||typeof t.closest!=`function`?!1:t.closest(zf)!==null}function Vf(e,t){let n=e=>{let n=e;Bf(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 Hf=`ppm:host-resize`;function Uf(e){if(e)for(let t of e.querySelectorAll(`[data-tab-pool-id]`))t.dispatchEvent(new CustomEvent(Hf,{bubbles:!1}))}function Wf(e,t){let n=e?.closest(`[data-tab-pool-id]`);return n?(n.addEventListener(Hf,t),()=>n.removeEventListener(Hf,t)):()=>{}}var Gf=null;function Kf(){return Gf}function qf(e,t,n,r){let i=[],a=!1,o=()=>{if(!a){a=!0,Gf===s&&(Gf=null);for(let e of i)try{e()}catch{}t.isConnected&&(t.append(e),Uf(e));try{n.close()}catch{}r.onDetach()}},s={detach:o,pipWindow:n};try{let t=n.document;Ff(document,t),i.push(Lf(document,t)),i.push(Rf(document,t)),t.body.append(e),Uf(e);let r=()=>Uf(e);n.addEventListener(`resize`,r),i.push(()=>n.removeEventListener(`resize`,r)),n.addEventListener(`pagehide`,o),i.push(()=>n.removeEventListener(`pagehide`,o)),i.push(Vf(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 Jf(e,t){let n=Ef();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`);Gf?.detach();let i;try{i=await n.requestWindow(Af({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=qf(e,r,i,t);return Gf=a,a}function Yf(e){jr(e),K.getState().close(e)}async function Xf(e,t){let n=q.getState().panels[t]?.tabs.find(t=>t.id===e);if(n&&vr.has(n.type))return`cancelled`;let r=q.getState().popOutTab(e,t);if(!r)return`window-cap`;Kr(r);let i=await Fr(r);if(!i)return Yf(r),`cancelled`;let a=K.getState().windows[r]?.rect,o;try{o=await Jf(i,{width:a?.w??0,height:a?a.h-36:0,onDetach:()=>{Br(r,null),Yf(r)}})}catch(e){throw Yf(r),e}return o?(Br(r,o),wf(o.pipWindow.document),`opened`):`cancelled`}function Zf({tab:e,panelId:t}){return Pi()||_r.has(e.type)?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(yi,{onClick:()=>{q.getState().popOutTab(e.id,t)||B.error(`Too many windows open — close one first`)},children:[(0,$.jsx)(Lt,{className:`size-3.5 mr-2`}),`Open in window`]}),Tf()&&!vr.has(e.type)&&(0,$.jsxs)(yi,{onClick:()=>{Xf(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,$.jsx)(bn,{className:`size-3.5 mr-2`}),`Open in picture-in-picture`]}),(0,$.jsx)(vi,{})]})}async function Qf(e,t){if(/^(\/|[A-Za-z]:[/\\])/.test(t)){let{token:e}=await H.post(`/api/fs/download/token`,{path:t});ep(`/api/fs/raw?path=${encodeURIComponent(t)}&download=true&dl_token=${encodeURIComponent(e)}`,fr(t));return}let{token:n}=await H.post(`${V(e)}/files/download/token`);ep(`${V(e)}/files/raw?path=${encodeURIComponent(t)}&download=true&dl_token=${encodeURIComponent(n)}`,fr(t))}async function $f(e,t){let{token:n}=await H.post(`${V(e)}/files/download/token`),r=fr(t)||`folder`;ep(`${V(e)}/files/download/zip?path=${encodeURIComponent(t)}&dl_token=${encodeURIComponent(n)}`,`${r}.zip`)}function ep(e,t){let n=document.createElement(`a`);n.href=e,n.download=t,n.style.display=`none`,document.body.appendChild(n),n.click(),document.body.removeChild(n)}function tp({node:e,projectName:t,onClose:n,onRefresh:r}){let[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(null);async function c(){a(!0),s(null);try{await H.del(`${V(t)}/files/delete`,{path:e.path}),r(),n()}catch(e){s(e instanceof Error?e.message:`Failed to delete`)}finally{a(!1)}}return(0,$.jsx)(_a,{open:!0,onOpenChange:e=>!e&&n(),children:(0,$.jsxs)(pa,{children:[(0,$.jsxs)(da,{children:[(0,$.jsxs)(ma,{children:[`Delete `,e.type===`directory`?`Folder`:`File`]}),(0,$.jsxs)(ha,{children:[`Are you sure you want to delete`,` `,(0,$.jsx)(`span`,{className:`font-mono font-semibold`,children:e.name}),`?`,e.type===`directory`&&` This will delete all contents.`]})]}),o&&(0,$.jsx)(`p`,{className:`text-sm text-error`,children:o}),(0,$.jsxs)(fa,{children:[(0,$.jsx)(X,{variant:`outline`,onClick:n,disabled:i,children:`Cancel`}),(0,$.jsx)(X,{variant:`destructive`,onClick:c,disabled:i,children:i?`Deleting...`:`Delete`})]})]})})}var np={"git-branch":tt,"git-commit":Gn,"git-compare":Wn,history:Ot,users:En,"list-ordered":Bn,refresh:Vt,edit:On,trash:je,plus:Ct,search:Ln,database:mn,terminal:Se,settings:le,"file-code":Rn,globe:ye};function rp(e){return e?np[e]:void 0}function ip(e,t){if(!(!e?.commands||!t))return rp(e.commands.find(e=>e.command===t||e.command.replace(/\.view$/,``)===t)?.icon)}var ap={terminal:Se,chat:re,editor:Rn,database:Fe,"db-structure":se,"db-sql":yt,"db-query":ge,"db-impexp":Tt,"db-connection":wn,sqlite:mn,"git-diff":Wn,"branch-review":Wn,"session-review":Wn,"git-review":Wn,settings:le,extension:jt,"extension-webview":jt,"conflict-editor":Wn,"system-monitor":le,"git-log":Gn,"ai-resource":qt,group:En,problems:ot,design:De,android:R,"web-preview":ye,logs:bt};function op(e){return ap[e]??jt}var sp=new Set([`editor`,`git-diff`,`conflict-editor`]);function cp(e){if(sp.has(e.type)){let t=e.metadata?.filePath||e.title;if(t)return ya(t)}if(e.type===`chat`){let t=Vu[e.metadata?.providerId??`claude`];if(t)return t}if(e.type===`extension`||e.type===`extension-webview`){let t=ip(rf.getState().contributions,e.metadata?.viewType);if(t)return t}return op(e.type)}var lp=(0,Q.memo)(function({panelId:e}){let t=U(e=>e.minimalMode),n=J(e=>e.activeProject),r=(0,Q.useRef)(new Map),i=(0,Q.useRef)(null),a=(0,Q.useRef)(0),o=q(t=>e?t.panels[e]:t.panels[t.focusedPanelId]),s=n?.name??null,c=Or(o?.tabs??[],s,t),l=c.some(e=>e.id===o?.activeTabId)?o.activeTabId:c[0]?.id??null,u=o?.id??q.getState().focusedPanelId,{dropIndex:d,handleDragStart:f,handleDragOver:p,handleDragOverBar:m,handleDrop:h,handleDragEnd:g}=wd(u),{handleTouchStart:_,handleTouchMove:v,handleTouchEnd:y,handleTouchCancel:b}=Wd(u),{projectTags:x,loadTags:S}=wu(n?.name),C=n?ar(n):null,w=li(e=>(C?e.byProject[C]?.sessions:void 0)??oi),T={};for(let e of w)e.tag&&(T[e.id]=e.tag);let E=(0,Q.useCallback)(async(e,t)=>{if(!n?.name)return;let r={name:n.name,path:n.path},i=t===null?void 0:x.find(e=>e.id===t);if(t!==null&&!i)return;li.getState().setSessionTag(r,e,i?{id:i.id,name:i.name,color:i.color}:null);let a=`${V(n.name)}/chat/sessions/${e}/tag`;await ri(r,()=>t===null?H.del(a):H.patch(a,{tagId:t})),S()},[n,x,S]),D=ju(e=>e.notifications),O=Yi(e=>e.sessions),k=U(e=>e.tabWrap),A=U(e=>e.toggleTabWrap),j=U(e=>e.editorTabStyle),{canScrollLeft:M,canScrollRight:N,scrollLeft:P,scrollRight:ee}=cf(i),F=uf(i.current,r.current,c,D);(0,Q.useEffect)(()=>{if(c.length>a.current&&l){let e=r.current.get(l);e&&e.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})}a.current=c.length},[c.length,l]);let te=(0,Q.useCallback)((e,t)=>{Y.getState().updateTab(e.id,{title:t});let n=e.metadata?.projectName,r=e.metadata?.sessionId;n&&r&&H.patch(`${V(n)}/chat/sessions/${r}`,{title:t}).catch(()=>{})},[]),ne=md(e=>e.selection),[I,re]=(0,Q.useState)(null);function R(e){if(e.type!==`editor`)return null;let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return null;let r=ne!=null&&ne.projectName===n&&ne.filePath!==t;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(yi,{onClick:()=>{let r=e.metadata?.unsavedContent;md.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:fr(t)})},children:[(0,$.jsx)(wt,{className:`size-3.5 mr-2`}),`Select for Compare`]}),r&&(0,$.jsxs)(yi,{onClick:async()=>{let r=md.getState().selection;if(!r)return;let i=e.metadata?.unsavedContent;try{await gd({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),md.getState().clearSelection()}catch(e){let t=e instanceof Error?e.message:`Compare failed`;B.error(t)}},children:[(0,$.jsx)(wt,{className:`size-3.5 mr-2`}),`Compare with Selected (`,ne.label,`)`]}),(0,$.jsx)(vi,{})]})}function ie(e){if(e.type!==`terminal`)return null;let t=u===Er;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(yi,{onClick:()=>ae(e,t?`move-to-editor`:`move-to-dock`),children:t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Me,{className:`size-3.5 mr-2`}),`Move to Editor`]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(lt,{className:`size-3.5 mr-2`}),`Move to Dock`]})}),(0,$.jsx)(vi,{})]})}let ae=(0,Q.useCallback)((e,n)=>{let r=q.getState(),i=Or(r.panels[u]?.tabs??[],s,t);switch(n){case`close`:ld([e.id],u);break;case`move-to-dock`:r.redockTab(e.id,u);break;case`move-to-editor`:{let t=r.focusedPanelId===`__dock__`?r.grid.flat()[0]:r.focusedPanelId;t&&r.moveTab(e.id,Er,t);break}case`close-others`:ld(i.filter(t=>t.id!==e.id&&t.closable).map(e=>e.id),u);break;case`close-right`:{let t=i.findIndex(t=>t.id===e.id);ld(i.slice(t+1).filter(e=>e.closable).map(e=>e.id),u);break}case`copy-path`:{let t=e.metadata?.filePath;t&&ca(t);break}case`copy-full-path`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;if(t){let e=n?J.getState().projects.find(e=>e.name===n):null;ca(e?`${e.path}/${t}`:t)}break}case`download`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;t&&n&&Qf(n,t);break}case`rename`:case`delete`:{let t=e.metadata?.filePath;t&&re({action:n,tabId:e.id,node:{name:e.title,path:t,type:`file`}});break}}},[u,s,t]);function se(e){e.target.closest(`[data-tab-item]`)||(t?ce():of())}function ce(){q.getState().openTab({type:`chat`,title:`AI Chat`,projectId:n?.name??null,closable:!0,metadata:n?{projectName:n.name}:void 0},u)}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(xi,{children:[(0,$.jsx)(Si,{asChild:!0,children:(0,$.jsxs)(`div`,{className:G(`hidden md:flex items-center border-b border-border relative shrink-0`,k?`min-h-[41px] flex-wrap`:`h-[41px]`),onDragOver:m,onDrop:h,onDoubleClick:se,children:[!k&&M&&(0,$.jsx)(`button`,{onClick:P,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,$.jsxs)(`span`,{className:`relative`,children:[(0,$.jsx)(Ce,{className:`size-4 text-text-secondary`}),F.left&&(0,$.jsx)(`span`,{className:G(`absolute -top-1 -right-0.5 size-2 rounded-full`,Ou(F.left))})]})}),(0,$.jsx)(`div`,{ref:i,className:G(`flex-1 min-w-0 scrollbar-none`,k?`overflow-y-auto overflow-x-hidden`:`overflow-x-auto overflow-y-hidden`),children:(0,$.jsxs)(`div`,{className:pf(j,k),children:[c.map((e,t)=>{let n=$r(e),i=n?D.get(n):void 0,a=i&&i.count>0?i.type:null,o=!!i?.manual,s=n?O.has(n):!1;return(0,$.jsx)(bf,{tab:e,isActive:e.id===l,icon:cp(e),showDropBefore:d===t,notificationType:a,notificationManual:o,isStreaming:s,onSelect:()=>{jd()||(q.getState().setActiveTab(e.id,u),n&&ju.getState().clearForSession(n))},onClose:()=>void ld([e.id],u),onDragStart:t=>f(t,e.id),onDragOver:n=>p(n,e.id,t),onDragEnd:g,onTouchStart:t=>_(t,e.id,e.title),onTouchMove:v,onTouchEnd:y,onTouchCancel:b,tabRef:t=>{t?r.current.set(e.id,t):r.current.delete(e.id)},onRename:e.type===`chat`?t=>te(e,t):void 0,onContextAction:t=>ae(e,t),tagColor:n?T[n]?.color:void 0,extraMenuContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Zf,{tab:e,panelId:u}),ie(e),R(e),n&&!a&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(yi,{onClick:()=>{let t=e.metadata?.projectName;t&&ju.getState().markUnread(n,t,e.title)},children:[(0,$.jsx)(Ae,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),(0,$.jsx)(vi,{})]}),n&&x.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(bi,{children:[(0,$.jsxs)(gi,{children:[(0,$.jsx)(oe,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,$.jsxs)(hi,{children:[x.map(e=>(0,$.jsxs)(yi,{onClick:()=>E(n,e.id),children:[(0,$.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:e.color}}),e.name,T[n]?.id===e.id&&(0,$.jsx)(L,{className:`size-3 ml-auto`})]},e.id)),T[n]&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vi,{}),(0,$.jsx)(yi,{onClick:()=>E(n,null),children:`Remove tag`})]})]})]}),(0,$.jsx)(vi,{})]})]})},e.id)}),d!==null&&d>=c.length&&(0,$.jsx)(`div`,{className:`w-0.5 h-6 bg-primary rounded-full`}),(0,$.jsx)(`button`,{onClick:()=>{if(t)ce();else if(u===`__dock__`){let e=J.getState().activeProject;q.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}else q.getState().setFocusedPanel(u,!1),of()},title:t?`New chat`:u===`__dock__`?`New terminal in dock`:`Open command palette (Shift+Shift)`,className:mf(j),children:(0,$.jsx)(Ct,{className:`size-4`})})]})}),!k&&N&&(0,$.jsx)(`button`,{onClick:ee,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,$.jsxs)(`span`,{className:`relative`,children:[(0,$.jsx)(Ne,{className:`size-4 text-text-secondary`}),F.right&&(0,$.jsx)(`span`,{className:G(`absolute -top-1 -left-0.5 size-2 rounded-full`,Ou(F.right))})]})})]})}),(0,$.jsxs)(_i,{children:[(0,$.jsx)(yi,{onClick:A,children:k?`Scroll Tabs`:`Wrap Tabs`}),(0,$.jsx)(vi,{}),!t&&(0,$.jsx)(yi,{onClick:()=>of(),children:`Open Command Palette`})]})]}),I&&(0,$.jsx)(tp,{node:I.node,projectName:n?.name??``,onClose:()=>re(null),onRefresh:()=>{n&&Ai.getState().fetchTree(n.name),I.action===`delete`&&q.getState().closeTab(I.tabId,u)}})]})});function up({panelId:e}){let[t,n]=(0,Q.useState)(null),r=Sd(),i=Ad(),a=(i?.panelId===e?i.zone:null)??t,o=q(e=>e.grid),s=q(e=>e.isMobile()),c=Cr(o,e),l=!s&&o.length<3,u=c?!s&&(o[c.row]?.length??0)<wr(!1):!1,d=(0,Q.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,Q.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.stopPropagation(),n(d(e)))},[d]),p=(0,Q.useCallback)(e=>{e.currentTarget.contains(e.relatedTarget)||n(null)},[]),m=(0,Q.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let r=d(t);if(n(null),Cd(),!r)return;let i=t.dataTransfer.getData(vd);if(i)try{let t=JSON.parse(i),n=q.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,$.jsxs)(`div`,{className:`absolute inset-0 z-20`,onDragOver:f,onDragLeave:p,onDrop:m,children:[a===`left`&&(0,$.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,$.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,$.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,$.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,$.jsx)(`div`,{className:`absolute inset-0 bg-primary/5 border-2 border-dashed border-primary/30 rounded-md`})]}):null}var dp=sr(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 fp(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 pp(e,t,n){for(let r of e.tabs)t.has(r.id)||(t.add(r.id),n.push({tabId:r.id,panelId:Er,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}function mp(e,t,n){for(let[r,i]of Object.entries(e))if(Sr(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 hp(e,t,n,r){let i=[],a=new Set;fp(t,r,!0,e,a,i);for(let[t,o]of Object.entries(n))t!==r&&fp(o,t,!1,e,a,i);mp(e,a,i);let o=e[Er];return o&&pp(o,a,i),i.sort((e,t)=>e.tabId.localeCompare(t.tabId)),i}function gp(e,t){return e.filter(e=>e.isActive||t.has(e.tabId))}var _p=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 vp(e,t){_p.register(e,t)}var yp=t(ee(),1);function bp({tabId:e,panelId:t,component:n,metadata:r,isActive:i,hiddenContainer:a}){let o=(0,Q.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,Q.useRef)(t);c.current=t;let l=(0,Q.useRef)(new WeakMap),u=(0,Q.useRef)(new Set),d=(0,Q.useRef)(!1),f=()=>{for(let e of u.current){let t=e.deref(),n=t&&l.current.get(t);if(!t||!n||!s.contains(t)){u.current.delete(e),t&&l.current.delete(t);continue}t.scrollTop=n.top,t.scrollLeft=n.left}};return(0,Q.useLayoutEffect)(()=>{s.parentElement||a.appendChild(s);let e=()=>{let e=c.current;e===`__dock__`||Sr(e)||q.getState().setFocusedPanel(e)},t=l.current,n=u.current,r=e=>{if(s.parentElement===a)return;let r=e.target;if(r.nodeType===Node.ELEMENT_NODE){if(!t.has(r)){for(let e of n)e.deref()||n.delete(e);n.add(new WeakRef(r))}t.set(r,{top:r.scrollTop,left:r.scrollLeft})}};return s.addEventListener(`pointerdown`,e,!0),s.addEventListener(`focusin`,e,!0),s.addEventListener(`scroll`,r,!0),()=>{s.removeEventListener(`pointerdown`,e,!0),s.removeEventListener(`focusin`,e,!0),s.removeEventListener(`scroll`,r,!0),s.remove()}},[s,a]),(0,Q.useLayoutEffect)(()=>{s.style.display=i?``:`none`,i&&d.current&&(d.current=!1,f())},[s,i]),(0,Q.useLayoutEffect)(()=>{let e=_p.get(t);if(!e){s.parentElement!==a&&a.appendChild(s);return}s.parentElement!==e&&(e.appendChild(s),d.current=!i,i&&f())}),(0,yp.createPortal)((0,$.jsx)(mr,{container:Jr(t),children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,$.jsx)(z,{className:`size-6 animate-spin text-primary`})}),children:(0,$.jsx)(n,{metadata:r,tabId:e})})}),s)}function xp(e,t){return`${e}|${t}`}function Sp(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 Cp(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(!Sr(t))continue;let e=xr(t);if(e&&r.has(e)||!c)continue;let i=a[c];i&&(a[c]=Sp(i,n.tabs),delete a[t],s=!0)}let l=n.filter(e=>!a[Dr(e)]);if(!i.includes(o)){let e=i[0];e&&(o=e,s=!0)}return{panels:a,focusedPanelId:o,windowIdsToClose:l,changed:s}}function wp(){let e=Pi(),t=q(e=>e.currentProject),n=K(e=>e.restored),r=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{if(!t||!n&&!e)return;let i=xp(t,e);if(r.current===i)return;r.current=i;let{panels:a,grid:o,focusedPanelId:s}=q.getState(),c=Cp({panels:a,grid:o,focusedPanelId:s,liveWindowIds:e?[]:Object.values(K.getState().windows).filter(e=>e.kind===`tab-host`).map(e=>e.id)});c.changed&&(q.setState({panels:c.panels,focusedPanelId:c.focusedPanelId}),Qr(q.getState));for(let e of c.windowIdsToClose)K.getState().close(e)},[t,n,e])}function Tp(e){let t,n,r=()=>n??=e().then(e=>{t=e.default},e=>{throw n=void 0,e}),i=(0,Q.lazy)(()=>r().then(()=>({default:t})));function a(e){let[n]=(0,Q.useState)(()=>t??i);return(0,$.jsx)(n,{...e})}return Object.assign(a,{preload:r})}var Ep={terminal:Tp(()=>W(()=>import(`./terminal-tab-DT0MN_Qn.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,24,25,26,27,28,29]))),chat:Tp(()=>W(()=>import(`./chat-tab-CGQu4uLR.js`).then(e=>({default:e.ChatTab})),__vite__mapDeps([30,2,1,3,31,6,32,33,9,34,35,7,36,10,37,38,39,8,11,12,40,13,14,15,16,41,42,43,44,20,23,45,46,47,27,48,49,50,18,51,17,19,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,25,68,69,26]))),editor:Tp(()=>W(()=>import(`./code-editor-DjDyhff1.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([70,1,9,71,2,3,31,6,72,7,73,11,10,12,13,8,14,15,16,74,75,44,38,27,76,77,50,18,23,17,19,78,65,20,79,34,80,68,40,39,81,82,51,83,84,45,85,69,86,87,21,22,61,88,46,89,25,90,28,29]))),database:Tp(()=>W(()=>import(`./table-tab-M850PntZ.js`).then(e=>({default:e.TableTab})),__vite__mapDeps([91,1,71,2,3,31,6,72,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,76,77,50,18,23,17,19,78,65,20,79,92,93,94,95,96,97,84,45,56,57,85,69,51,86,98,61]))),"db-structure":Tp(()=>W(()=>import(`./structure-tab-DYjjcLIU.js`).then(e=>({default:e.StructureTab})),__vite__mapDeps([99,1,2,3,31,6,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,92,78,94,23,95,100,50,18,65,96,97,84,45,56,57,85,69,17,19,51,86,20,61]))),"db-sql":Tp(()=>W(()=>import(`./sql-object-tab-B6JtYu9P.js`).then(e=>({default:e.SqlObjectTab})),__vite__mapDeps([101,1,2,3,31,6,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,92,94,23,95,96,97,56,57,22,90,28,29]))),"db-query":Tp(()=>W(()=>import(`./query-tab-DeNZMZHX.js`).then(e=>({default:e.QueryTab})),__vite__mapDeps([102,1,71,2,3,31,6,72,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,76,77,50,18,23,17,19,78,65,20,79,92,93,39,94,95,103,81,22,90,28,29,97,82,51,84,45,56,57,85,69,86,98,61,62]))),"db-impexp":Tp(()=>W(()=>import(`./impexp-tab-B8d4oBOB.js`).then(e=>({default:e.ImpExpTab})),__vite__mapDeps([104,1,2,3,31,6,7,75,10,8,9,44,92,76,77,50,18,23,17,19,93,11,12,38,13,14,15,16,94,95,74,27,103,39,81,78,22,90,28,29,96,84,45,56,57,65,51,86,61,105]))),"db-connection":Tp(()=>W(()=>import(`./connection-form-tab-CJ-6gH9g.js`).then(e=>({default:e.ConnectionFormTab})),__vite__mapDeps([106,1,2,3,31,6,7,75,10,8,9,44,92,11,12,38,13,14,15,16,84,45,56,57,23,27,50,18,51,17,19,86,61]))),sqlite:Tp(()=>W(()=>import(`./sqlite-viewer-bdNkUymy.js`).then(e=>({default:e.SqliteViewer})),__vite__mapDeps([107,1,71,2,3,31,6,72,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,76,77,50,18,23,17,19,78,65,20,79,92,93,94,95,91,96,97,84,45,56,57,85,69,51,86,98,61]))),"git-diff":Tp(()=>W(()=>import(`./diff-viewer-nYz43A94.js`).then(e=>({default:e.DiffViewer})),__vite__mapDeps([108,1,2,3,31,6,7,8,9,10,42,83,87,20,15,16,22,23,88,89,90,28,29]))),"branch-review":Tp(()=>W(()=>import(`./branch-review-tab-C-aPuhXZ.js`).then(e=>({default:e.BranchReviewTab})),__vite__mapDeps([109,1,2,3,31,6,7,8,9,10,108,42,83,87,20,15,16,22,23,88,89,90,28,29,17,18,19,86,60,44,61]))),"session-review":Tp(()=>W(()=>import(`./session-review-tab-yIQFGJbG.js`).then(e=>({default:e.SessionReviewTab})),__vite__mapDeps([110,1,2,3,31,6,32,7,48,8,9,10,11,12,13,14,15,16,111,17,18,19,20,23,59,35,34,60,44,61,62,27]))),"git-review":Tp(()=>W(()=>import(`./git-review-tab-BUW5LZk4.js`).then(e=>({default:e.GitReviewTab})),__vite__mapDeps([112,1,2,3,31,6,32,7,8,9,10,11,12,13,14,15,16,111,48,17,18,19,20,23,65,60,44,61,88,62,27]))),settings:Tp(()=>W(()=>import(`./settings-tab-CrGoLKQT.js`).then(e=>({default:e.SettingsTab})),__vite__mapDeps([113,2,1,3,31,6,7,8,9,10,114,57,23,115,86,116]))),extension:Tp(()=>W(()=>import(`./extension-webview-BWB1Yd-t.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([117,1,2,3,7,61,6,16,10,23,88,28]))),"extension-webview":Tp(()=>W(()=>import(`./extension-webview-BWB1Yd-t.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([117,1,2,3,7,61,6,16,10,23,88,28]))),"conflict-editor":Tp(()=>W(()=>import(`./conflict-editor-DgTv-8pb.js`).then(e=>({default:e.ConflictEditor})),__vite__mapDeps([118,1,2,3,7,8,9,10,44,22,23,89,6,90,28,29]))),android:Tp(()=>W(()=>import(`./android-tab-CUkjbfyi.js`).then(e=>({default:e.AndroidTab})),__vite__mapDeps([119,1,2,3,31,6,7,8,9,10,11,12,13,14,15,16,120,50,18,23,65,51,17,19,60,44,26,27]))),"system-monitor":Tp(()=>W(()=>import(`./system-monitor-tab-qpa36tWB.js`).then(e=>({default:e.SystemMonitorTab})),__vite__mapDeps([121,2,1,3,7,8,9,10,122,6,23]))),"git-log":Tp(()=>W(()=>import(`./git-log-panel-RjMZIaCk.js`).then(e=>({default:e.GitLogPanel})),__vite__mapDeps([123,1,2,3,6,124,34,7,86,23,88,10,15,16]))),"ai-resource":Tp(()=>W(()=>import(`./ai-resource-editor-MKwjYcDh.js`).then(e=>({default:e.AiResourceEditor})),__vite__mapDeps([125,1,2,3,6,7,8,9,10,23,90,28,29]))),group:Tp(()=>W(()=>import(`./group-chat-tab-nk3n5wE0.js`).then(e=>({default:e.GroupChatTab})),__vite__mapDeps([126,1,2,3,31,6,32,127,128,9,7,8,10,40,20,45,47,15,16,24,13,11,12,14,27,36,37,38,39,41,42,43,44,23,46,68,56,57,85,69,18,17,19,50,66,88,26]))),problems:Tp(()=>W(()=>import(`./problems-panel-I0EYfa1S.js`).then(e=>({default:e.ProblemsPanel})),__vite__mapDeps([129,1,2,3,6,7,8,9,10,11,12,13,14,15,16,44,61,23]))),design:Tp(()=>W(()=>import(`./design-tab-CPyj_nFg.js`).then(e=>({default:e.DesignTab})),__vite__mapDeps([130,1,9,2,3,31,6,32,33,34,35,7,36,10,37,38,39,8,11,12,40,13,14,15,16,41,42,43,44,20,23,45,46,47,27,48,49,50,18,51,17,19,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,25,80,68,131,84,132,85,69,133,26]))),"web-preview":Tp(()=>W(()=>import(`./web-preview-tab-CUp1n2jz.js`).then(e=>({default:e.WebPreviewTab})),__vite__mapDeps([134,1,2,3,7,8,9,10,11,6,12,13,14,15,16,20,23]))),logs:Tp(()=>W(()=>import(`./logs-tab-H3SmYGRX.js`).then(e=>({default:e.LogsTab})),__vite__mapDeps([135,2,1,3,31,6,7,8,9,10,11,12,136,13,14,15,16,65,18,23,17,19,20,21,25,137,44,27])))},Dp=[`editor`,`terminal`,`chat`,`git-diff`,`settings`];function Op(){let e=Object.keys(Ep).filter(e=>!Dp.includes(e));return[...Dp,...e].map(e=>Ep[e].preload)}var kp={position:`fixed`,top:0,left:0,width:0,height:0,overflow:`hidden`,pointerEvents:`none`,visibility:`hidden`};function Ap(){let[e,t]=(0,Q.useState)(null);(0,Q.useSyncExternalStore)(e=>_p.subscribe(e),()=>_p.getVersion());let n=q(e=>e.panels),r=q(e=>e.grid),i=q(e=>e.currentProject),a=q(e=>e.projectGrids),o=U(e=>e.minimalMode);wp();let s=hp(n,r,a,i).filter(e=>!o||I(e.type)),c=gp(s,dp(e=>e.mounted)),l=s.filter(e=>e.isActive).map(e=>e.tabId);return(0,Q.useEffect)(()=>{let{mount:e}=dp.getState();for(let t of l)e(t)},[JSON.stringify(l)]),(0,$.jsx)(`div`,{ref:t,style:kp,children:e&&c.map(t=>{let n=Ep[t.type];return n?(0,$.jsx)(bp,{tabId:t.tabId,panelId:t.panelId,component:n,metadata:t.metadata,isActive:t.isActive,hiddenContainer:e},t.tabId):null})})}function jp(e){let{projectName:t,designSlug:n,sessionId:r,providerId:i,fresh:a}=e;return{projectName:t,designSlug:n,...r?{sessionId:r}:{},...i?{providerId:i}:{providerPending:!0},...a?{designSessionChecked:!0}:{}}}function Mp(e){let{projectName:t,slug:n,title:r,sessionId:i,providerId:a,panelId:o,fresh:s,inPlace:c}=e,l=Np(t,n),u=q.getState().openTab({type:`design`,title:r||n,projectId:t,closable:!0,metadata:jp({projectName:t,designSlug:n,sessionId:i,providerId:a,fresh:s})},o);if(u&&Pp(u,l||!!c),!u||!i)return u;let d=Sa(u);return d&&d.sessionId!==i&&xa(u,{sessionId:i,...a?{providerId:a,providerPending:void 0}:{},pendingMessage:void 0,designChatEpoch:Ip(d)}),u}function Np(e,t){return Object.values(q.getState().panels).some(n=>n.tabs.some(n=>n.type===`design`&&n.metadata?.designSlug===t&&(n.projectId??n.metadata?.projectName)===e))}function Pp(e,t){let n=q.getState().getPanelForTab(e)?.id;if(!n)return;let r=xr(n);if(r){K.getState().focus(r);return}if(t||!U.getState().designWindows)return;let i=K.getState(),a=Ar(Object.values(i.windows).map(e=>e.rect),i.bounds,{w:Math.round(i.bounds.w*Fp.w),h:Math.round(i.bounds.h*Fp.h)});q.getState().popOutTab(e,n,{closeTabsOnClose:!0,rect:a})}var Fp={w:.72,h:.84};function Ip(e){let t=e?.designChatEpoch;return(typeof t==`number`&&Number.isFinite(t)?t:0)+1}function Lp(e,t,n){return e.designSlug&&!U.getState().minimalMode?Mp({projectName:t,slug:e.designSlug,sessionId:e.id,providerId:e.providerId,panelId:n}):q.getState().openTab({type:`chat`,title:e.title||`Chat`,projectId:t,metadata:{projectName:t,sessionId:e.id,...e.providerId?{providerId:e.providerId}:{}},closable:!0},n)}var Rp=[{type:`terminal`,label:`Terminal`,icon:Se},{type:`chat`,label:`AI Chat`,icon:re},{type:`editor`,label:`New File`,icon:ue}];function zp({panelId:e,projectName:t}){let n=U(e=>e.minimalMode),r=q(t=>t.panels[e]),i=q(t=>t.focusedPanelId===e),a=q(e=>(e.currentProject===t?e.grid:e.projectGrids[t]??[[]]).flat().length),o=(0,Q.useCallback)(t=>{vp(e,t)},[e]);if((0,Q.useEffect)(()=>{if(!n||!r)return;let i=Or(r.tabs,t,!0);!i.length||i.some(e=>e.id===r.activeTabId)||q.setState(t=>({panels:{...t.panels,[e]:{...t.panels[e],activeTabId:i[0].id}}}))},[n,r,e,t]),!r)return null;let s=Or(r.tabs,t,n).length===0;return(0,$.jsxs)(`div`,{className:G(`flex flex-col h-full overflow-hidden`,a>1&&`border border-transparent`,a>1&&i&&`border-primary/30`),onMouseDown:()=>{q.getState().focusedPanelId!==e&&q.getState().setFocusedPanel(e,!1)},children:[(0,$.jsx)(lp,{panelId:e}),(0,$.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,"data-panel-drop-zone":e,onAuxClick:t=>{n||t.button!==1||!s||(t.preventDefault(),q.getState().closePanel(e))},children:[s&&(0,$.jsx)(Bp,{panelId:e,canClose:a>1}),(0,$.jsx)(`div`,{ref:o,className:`absolute inset-0`,style:s?{display:`none`}:void 0}),(0,$.jsx)(up,{panelId:e})]})]})}function Bp({panelId:e,canClose:t}){let n=U(e=>e.minimalMode),r=J(e=>e.activeProject);function i(t){if(t===`editor`){Y.getState().openNewFile();return}let n=t!==`settings`&&r?{projectName:r.name}:void 0;q.getState().openTab({type:t,title:Rp.find(e=>e.type===t)?.label??t,metadata:n,projectId:r?.name??null,closable:!0},e)}let a=(0,Q.useCallback)(t=>{r?.name&&Lp(t,r.name,e)},[r?.name,e]);return(0,$.jsx)(`div`,{className:`flex flex-col h-full overflow-y-auto text-text-secondary`,children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-6 px-4 flex-1`,children:[(0,$.jsx)(`p`,{className:`text-sm`,children:`Open a tab to get started`}),(0,$.jsx)(`div`,{className:`grid grid-cols-3 gap-2 w-full max-w-sm`,children:Rp.filter(e=>!n||e.type===`chat`||e.type===`editor`).map(e=>{let t=e.icon;return(0,$.jsxs)(`button`,{onClick:()=>i(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,$.jsx)(t,{className:`size-5`}),e.label]},e.type)})}),t&&!n&&(0,$.jsxs)(`button`,{onClick:()=>q.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,$.jsx)($t,{className:`size-3.5`}),`Close Panel`]}),(0,$.jsx)(Xu,{projectName:r?.name,onSelectSession:a,className:`w-full`})]})})}function Vp(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}}var Hp={left:st,bottom:lt,right:Ke},Up={left:`Left`,bottom:`Bottom`,right:`Right`},Wp=[`left`,`bottom`,`right`];function Gp(){let e=q(e=>e.panels[Er]),t=J(e=>e.activeProject?.name??null),n=U(e=>e.dockPosition),r=U(e=>e.setDockPosition),i=q(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=Vp(a.map(e=>e.id),o,n);function l(e){q.getState().setActiveTab(e,Er)}function u(e){q.getState().closeTab(e,Er)}function d(){let e=J.getState().activeProject;q.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}let f=Hp[n];return(0,$.jsxs)(`div`,{className:`flex items-center h-8 min-w-0 flex-1 gap-1 px-1`,children:[(0,$.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=cp(t),r=e===o,i=!c.iconOnlyInactive||r,a=(0,$.jsxs)(`button`,{onClick:()=>l(e),className:G(`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,$.jsx)(n,{className:`size-3`}),i&&(0,$.jsx)(`span`,{className:`text-[11px] font-medium max-w-[120px] truncate`,children:t.title}),i&&t.closable&&(0,$.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,$.jsx)($t,{className:`size-3`})})]},e);return i?a:(0,$.jsxs)(Ec,{children:[(0,$.jsx)(Dc,{asChild:!0,children:a}),(0,$.jsx)(Oc,{side:`top`,className:`text-xs`,children:t.title})]},e)}),c.overflow.length>0&&(0,$.jsxs)(ja,{children:[(0,$.jsx)(Da,{asChild:!0,children:(0,$.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,$.jsx)(ka,{align:`start`,className:`min-w-[10rem]`,children:c.overflow.map(e=>{let t=s.get(e);return t?(0,$.jsxs)(Ta,{onClick:()=>l(e),children:[(0,$.jsx)(cp(t),{className:`size-3.5`}),(0,$.jsx)(`span`,{className:`truncate`,children:t.title})]},e):null})})]}),(0,$.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,$.jsx)(Ct,{className:`size-3.5`})})]}),(0,$.jsxs)(ja,{children:[(0,$.jsx)(Da,{asChild:!0,children:(0,$.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,$.jsx)(f,{className:`size-3.5`}),(0,$.jsx)(We,{className:`size-2.5`})]})}),(0,$.jsxs)(ka,{align:`end`,children:[(0,$.jsx)(Ca,{className:`text-[10px] uppercase tracking-wide text-text-subtle`,children:`Panel Position`}),Wp.map(e=>{let t=Hp[e],i=e===n;return(0,$.jsxs)(Ta,{onClick:()=>r(e),className:G(i&&`text-primary bg-primary/10`),children:[(0,$.jsx)(t,{className:`size-3.5`}),(0,$.jsx)(`span`,{className:`flex-1`,children:Up[e]}),i&&(0,$.jsx)(L,{className:`size-3.5`})]},e)})]})]}),(0,$.jsx)(`div`,{className:`w-px h-4 bg-border shrink-0`}),(0,$.jsx)(`button`,{onClick:()=>q.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,$.jsx)(he,{className:`size-3.5`}):(0,$.jsx)(fe,{className:`size-3.5`})}),(0,$.jsx)(`button`,{onClick:()=>q.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,$.jsx)(We,{className:`size-3.5`})})]})}var Kp={top:`border-t`,left:`border-l`,right:`border-r`};function qp({variant:e=`desktop`,borderEdge:t=`top`}){let n=q(e=>e.panels[Er]),r=J(e=>e.activeProject?.name??null),i=(n?.tabs??[]).some(e=>!e.projectId||!r||e.projectId===r),a=(0,Q.useCallback)(e=>{vp(Er,e)},[]);return(0,$.jsxs)(`div`,{className:G(`flex flex-col h-full overflow-hidden border-border bg-panel`,e===`desktop`&&Kp[t]),children:[(0,$.jsx)(`div`,{className:`flex items-center shrink-0`,children:e===`mobile`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Jp,{}),(0,$.jsx)(`button`,{onClick:()=>q.getState().setDockVisible(!1),title:`Hide terminal dock`,className:G(`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,$.jsx)($t,{className:`size-3.5`})})]}):(0,$.jsx)(Gp,{})}),(0,$.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,children:[!i&&(0,$.jsx)(Yp,{variant:e}),(0,$.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:i?void 0:{display:`none`}})]})]})}function Jp(){let e=q(e=>e.panels[Er]),t=J(e=>e.activeProject),n=q(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){q.getState().setActiveTab(e,Er)}function s(){let e=t;q.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,$.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center h-11 gap-1 pl-2 overflow-hidden`,children:[(0,$.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=cp(e);return(0,$.jsxs)(`div`,{className:G(`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,$.jsxs)(`button`,{onClick:()=>o(e.id),className:`flex items-center gap-1.5 min-w-0`,children:[(0,$.jsx)(t,{className:`size-[13px] shrink-0`}),(0,$.jsx)(`span`,{className:`max-w-[96px] truncate text-xs font-medium`,children:e.title})]}),e.closable&&(0,$.jsx)(`button`,{onClick:()=>q.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,$.jsx)($t,{className:`size-3.5`})})]},e.id)}),(0,$.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,$.jsx)(Ct,{className:`size-4`})})]}),(0,$.jsx)(`button`,{onClick:()=>q.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,$.jsx)(he,{className:`size-4`}):(0,$.jsx)(fe,{className:`size-4`})})]})}function Yp({variant:e}){let t=J(e=>e.activeProject);function n(){let e=t;q.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,$.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,$.jsxs)(`button`,{onClick:n,className:G(`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,$.jsx)(Se,{className:`size-4`}),`Open Terminal`]})})}function Xp(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 Zp=[[]],Qp=(0,Q.memo)(function({projectName:e}){let t=U(e=>e.minimalMode),n=Su(`(min-width: 768px)`),r=q(t=>t.currentProject===e?t.grid:t.projectGrids[e]??Zp),i=q(e=>e.focusedPanelId),a=q(e=>e.dock),o=q(e=>e.dockExpanded),s=U(e=>e.dockPosition),c=q(e=>e.currentProject),l=r.flat().length,u=c===e;(0,Q.useEffect)(()=>{if(u&&l===0){let e=zr();q.setState(t=>({panels:{...t.panels,[e.id]:e},grid:[[e.id]],focusedPanelId:e.id}))}},[u,l]);let d=(0,Q.useCallback)(({asPercentage:e})=>{q.getState().dockExpanded||q.getState().setDockHeight(e)},[]),f=(0,Q.useRef)({key:``,size:``});if(l===0)return null;if(!n){let t=r.flat(),n=t.includes(i)?i:t[0];return n?(0,$.jsx)(zp,{panelId:n,projectName:e}):null}let p=l===1&&r[0]?.[0]?(0,$.jsx)(zp,{panelId:r[0][0],projectName:e}):(0,$.jsx)(hu,{orientation:`vertical`,style:{height:`100%`},children:r.map((t,n)=>(0,$.jsx)($p,{row:t,rowIdx:n,totalRows:r.length,projectName:e},`row-${n}`))});if(!u||t)return(0,$.jsx)($.Fragment,{children:p});let m=Xp(s,a.height,o),h=m.orientation===`vertical`?`horizontal`:`vertical`,g=`${s}-${o}`;f.current.key!==g&&(f.current={key:g,size:m.dockSize});let _=(0,$.jsx)(vu,{minSize:`15%`,children:p}),v=a.visible?(0,$.jsx)(vu,{defaultSize:f.current.size,minSize:`10%`,maxSize:`85%`,onResize:d,children:(0,$.jsx)(qp,{borderEdge:m.borderEdge})}):null,y=a.visible?(0,$.jsx)(tm,{orientation:h}):null;return(0,$.jsxs)(hu,{orientation:m.orientation,style:{height:`100%`},children:[m.dockFirst?v:_,y,m.dockFirst?_:v]},g)});function $p({row:e,rowIdx:t,totalRows:n,projectName:r}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vu,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:e.length===1?(0,$.jsx)(zp,{panelId:e[0],projectName:r}):(0,$.jsx)(hu,{orientation:`horizontal`,children:e.map((t,n)=>(0,$.jsx)(em,{panelId:t,colIdx:n,totalCols:e.length,projectName:r},t))})}),t<n-1&&(0,$.jsx)(tm,{orientation:`horizontal`})]})}function em({panelId:e,colIdx:t,totalCols:n,projectName:r}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vu,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:(0,$.jsx)(zp,{panelId:e,projectName:r})}),t<n-1&&(0,$.jsx)(tm,{orientation:`vertical`})]})}function tm({orientation:e}){let t=e===`vertical`;return(0,$.jsx)(xu,{className:`
|
|
12
|
+
`),t.head.append(n);return}}catch{}t.head.append(e.cloneNode(!0))}function Ff(e,t){try{t.adoptedStyleSheets=[...e.adoptedStyleSheets]}catch{}for(let n of Nf(e))Pf(n,t);let n=t.createElement(`style`);n.textContent=Mf,t.head.append(n)}function If(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 Lf(e,t){If(e,t);let n=e.defaultView;if(!n)return()=>{};let r=()=>If(e,t);return n.addEventListener(oa,r),()=>n.removeEventListener(oa,r)}function Rf(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(jf)&&t.head.append(e.cloneNode(!0))});return n.observe(e.head,{childList:!0}),()=>n.disconnect()}var zf=[`input`,`textarea`,`select`,`[contenteditable]`,`.native-edit-context`,`.monaco-editor`,`.xterm-helper-textarea`].join(`, `);function Bf(e){let t=e;return!t||typeof t.closest!=`function`?!1:t.closest(zf)!==null}function Vf(e,t){let n=e=>{let n=e;Bf(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 Hf=`ppm:host-resize`;function Uf(e){if(e)for(let t of e.querySelectorAll(`[data-tab-pool-id]`))t.dispatchEvent(new CustomEvent(Hf,{bubbles:!1}))}function Wf(e,t){let n=e?.closest(`[data-tab-pool-id]`);return n?(n.addEventListener(Hf,t),()=>n.removeEventListener(Hf,t)):()=>{}}var Gf=null;function Kf(){return Gf}function qf(e,t,n,r){let i=[],a=!1,o=()=>{if(!a){a=!0,Gf===s&&(Gf=null);for(let e of i)try{e()}catch{}t.isConnected&&(t.append(e),Uf(e));try{n.close()}catch{}r.onDetach()}},s={detach:o,pipWindow:n};try{let t=n.document;Ff(document,t),i.push(Lf(document,t)),i.push(Rf(document,t)),t.body.append(e),Uf(e);let r=()=>Uf(e);n.addEventListener(`resize`,r),i.push(()=>n.removeEventListener(`resize`,r)),n.addEventListener(`pagehide`,o),i.push(()=>n.removeEventListener(`pagehide`,o)),i.push(Vf(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 Jf(e,t){let n=Ef();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`);Gf?.detach();let i;try{i=await n.requestWindow(Af({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=qf(e,r,i,t);return Gf=a,a}function Yf(e){jr(e),K.getState().close(e)}async function Xf(e,t){let n=q.getState().panels[t]?.tabs.find(t=>t.id===e);if(n&&vr.has(n.type))return`cancelled`;let r=q.getState().popOutTab(e,t);if(!r)return`window-cap`;Kr(r);let i=await Fr(r);if(!i)return Yf(r),`cancelled`;let a=K.getState().windows[r]?.rect,o;try{o=await Jf(i,{width:a?.w??0,height:a?a.h-36:0,onDetach:()=>{Br(r,null),Yf(r)}})}catch(e){throw Yf(r),e}return o?(Br(r,o),wf(o.pipWindow.document),`opened`):`cancelled`}function Zf({tab:e,panelId:t}){return Pi()||_r.has(e.type)?null:(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(yi,{onClick:()=>{q.getState().popOutTab(e.id,t)||B.error(`Too many windows open — close one first`)},children:[(0,$.jsx)(Lt,{className:`size-3.5 mr-2`}),`Open in window`]}),Tf()&&!vr.has(e.type)&&(0,$.jsxs)(yi,{onClick:()=>{Xf(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,$.jsx)(bn,{className:`size-3.5 mr-2`}),`Open in picture-in-picture`]}),(0,$.jsx)(vi,{})]})}async function Qf(e,t){if(/^(\/|[A-Za-z]:[/\\])/.test(t)){let{token:e}=await H.post(`/api/fs/download/token`,{path:t});ep(`/api/fs/raw?path=${encodeURIComponent(t)}&download=true&dl_token=${encodeURIComponent(e)}`,fr(t));return}let{token:n}=await H.post(`${V(e)}/files/download/token`);ep(`${V(e)}/files/raw?path=${encodeURIComponent(t)}&download=true&dl_token=${encodeURIComponent(n)}`,fr(t))}async function $f(e,t){let{token:n}=await H.post(`${V(e)}/files/download/token`),r=fr(t)||`folder`;ep(`${V(e)}/files/download/zip?path=${encodeURIComponent(t)}&dl_token=${encodeURIComponent(n)}`,`${r}.zip`)}function ep(e,t){let n=document.createElement(`a`);n.href=e,n.download=t,n.style.display=`none`,document.body.appendChild(n),n.click(),document.body.removeChild(n)}function tp({node:e,projectName:t,onClose:n,onRefresh:r}){let[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(null);async function c(){a(!0),s(null);try{await H.del(`${V(t)}/files/delete`,{path:e.path}),r(),n()}catch(e){s(e instanceof Error?e.message:`Failed to delete`)}finally{a(!1)}}return(0,$.jsx)(_a,{open:!0,onOpenChange:e=>!e&&n(),children:(0,$.jsxs)(pa,{children:[(0,$.jsxs)(da,{children:[(0,$.jsxs)(ma,{children:[`Delete `,e.type===`directory`?`Folder`:`File`]}),(0,$.jsxs)(ha,{children:[`Are you sure you want to delete`,` `,(0,$.jsx)(`span`,{className:`font-mono font-semibold`,children:e.name}),`?`,e.type===`directory`&&` This will delete all contents.`]})]}),o&&(0,$.jsx)(`p`,{className:`text-sm text-error`,children:o}),(0,$.jsxs)(fa,{children:[(0,$.jsx)(X,{variant:`outline`,onClick:n,disabled:i,children:`Cancel`}),(0,$.jsx)(X,{variant:`destructive`,onClick:c,disabled:i,children:i?`Deleting...`:`Delete`})]})]})})}var np={"git-branch":tt,"git-commit":Gn,"git-compare":Wn,history:Ot,users:En,"list-ordered":Bn,refresh:Vt,edit:On,trash:je,plus:Ct,search:Ln,database:mn,terminal:Se,settings:le,"file-code":Rn,globe:ye};function rp(e){return e?np[e]:void 0}function ip(e,t){if(!(!e?.commands||!t))return rp(e.commands.find(e=>e.command===t||e.command.replace(/\.view$/,``)===t)?.icon)}var ap={terminal:Se,chat:re,editor:Rn,database:Fe,"db-structure":se,"db-sql":yt,"db-query":ge,"db-impexp":Tt,"db-connection":wn,sqlite:mn,"git-diff":Wn,"branch-review":Wn,"session-review":Wn,"git-review":Wn,settings:le,extension:jt,"extension-webview":jt,"conflict-editor":Wn,"system-monitor":le,"git-log":Gn,"ai-resource":qt,group:En,problems:ot,design:De,android:R,"web-preview":ye,logs:bt};function op(e){return ap[e]??jt}var sp=new Set([`editor`,`git-diff`,`conflict-editor`]);function cp(e){if(sp.has(e.type)){let t=e.metadata?.filePath||e.title;if(t)return ya(t)}if(e.type===`chat`){let t=Vu[e.metadata?.providerId??`claude`];if(t)return t}if(e.type===`extension`||e.type===`extension-webview`){let t=ip(rf.getState().contributions,e.metadata?.viewType);if(t)return t}return op(e.type)}var lp=(0,Q.memo)(function({panelId:e}){let t=U(e=>e.minimalMode),n=J(e=>e.activeProject),r=(0,Q.useRef)(new Map),i=(0,Q.useRef)(null),a=(0,Q.useRef)(0),o=q(t=>e?t.panels[e]:t.panels[t.focusedPanelId]),s=n?.name??null,c=Or(o?.tabs??[],s,t),l=c.some(e=>e.id===o?.activeTabId)?o.activeTabId:c[0]?.id??null,u=o?.id??q.getState().focusedPanelId,{dropIndex:d,handleDragStart:f,handleDragOver:p,handleDragOverBar:m,handleDrop:h,handleDragEnd:g}=wd(u),{handleTouchStart:_,handleTouchMove:v,handleTouchEnd:y,handleTouchCancel:b}=Wd(u),{projectTags:x,loadTags:S}=wu(n?.name),C=n?ar(n):null,w=li(e=>(C?e.byProject[C]?.sessions:void 0)??oi),T={};for(let e of w)e.tag&&(T[e.id]=e.tag);let E=(0,Q.useCallback)(async(e,t)=>{if(!n?.name)return;let r={name:n.name,path:n.path},i=t===null?void 0:x.find(e=>e.id===t);if(t!==null&&!i)return;li.getState().setSessionTag(r,e,i?{id:i.id,name:i.name,color:i.color}:null);let a=`${V(n.name)}/chat/sessions/${e}/tag`;await ri(r,()=>t===null?H.del(a):H.patch(a,{tagId:t})),S()},[n,x,S]),D=ju(e=>e.notifications),O=Yi(e=>e.sessions),k=U(e=>e.tabWrap),A=U(e=>e.toggleTabWrap),j=U(e=>e.editorTabStyle),{canScrollLeft:M,canScrollRight:N,scrollLeft:P,scrollRight:ee}=cf(i),F=uf(i.current,r.current,c,D);(0,Q.useEffect)(()=>{if(c.length>a.current&&l){let e=r.current.get(l);e&&e.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})}a.current=c.length},[c.length,l]);let te=(0,Q.useCallback)((e,t)=>{Y.getState().updateTab(e.id,{title:t});let n=e.metadata?.projectName,r=e.metadata?.sessionId;n&&r&&H.patch(`${V(n)}/chat/sessions/${r}`,{title:t}).catch(()=>{})},[]),ne=md(e=>e.selection),[I,re]=(0,Q.useState)(null);function R(e){if(e.type!==`editor`)return null;let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return null;let r=ne!=null&&ne.projectName===n&&ne.filePath!==t;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(yi,{onClick:()=>{let r=e.metadata?.unsavedContent;md.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:fr(t)})},children:[(0,$.jsx)(wt,{className:`size-3.5 mr-2`}),`Select for Compare`]}),r&&(0,$.jsxs)(yi,{onClick:async()=>{let r=md.getState().selection;if(!r)return;let i=e.metadata?.unsavedContent;try{await gd({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),md.getState().clearSelection()}catch(e){let t=e instanceof Error?e.message:`Compare failed`;B.error(t)}},children:[(0,$.jsx)(wt,{className:`size-3.5 mr-2`}),`Compare with Selected (`,ne.label,`)`]}),(0,$.jsx)(vi,{})]})}function ie(e){if(e.type!==`terminal`)return null;let t=u===Er;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(yi,{onClick:()=>ae(e,t?`move-to-editor`:`move-to-dock`),children:t?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Me,{className:`size-3.5 mr-2`}),`Move to Editor`]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(lt,{className:`size-3.5 mr-2`}),`Move to Dock`]})}),(0,$.jsx)(vi,{})]})}let ae=(0,Q.useCallback)((e,n)=>{let r=q.getState(),i=Or(r.panels[u]?.tabs??[],s,t);switch(n){case`close`:ld([e.id],u);break;case`move-to-dock`:r.redockTab(e.id,u);break;case`move-to-editor`:{let t=r.focusedPanelId===`__dock__`?r.grid.flat()[0]:r.focusedPanelId;t&&r.moveTab(e.id,Er,t);break}case`close-others`:ld(i.filter(t=>t.id!==e.id&&t.closable).map(e=>e.id),u);break;case`close-right`:{let t=i.findIndex(t=>t.id===e.id);ld(i.slice(t+1).filter(e=>e.closable).map(e=>e.id),u);break}case`copy-path`:{let t=e.metadata?.filePath;t&&ca(t);break}case`copy-full-path`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;if(t){let e=n?J.getState().projects.find(e=>e.name===n):null;ca(e?`${e.path}/${t}`:t)}break}case`download`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;t&&n&&Qf(n,t);break}case`rename`:case`delete`:{let t=e.metadata?.filePath;t&&re({action:n,tabId:e.id,node:{name:e.title,path:t,type:`file`}});break}}},[u,s,t]);function se(e){e.target.closest(`[data-tab-item]`)||(t?ce():of())}function ce(){q.getState().openTab({type:`chat`,title:`AI Chat`,projectId:n?.name??null,closable:!0,metadata:n?{projectName:n.name}:void 0},u)}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(xi,{children:[(0,$.jsx)(Si,{asChild:!0,children:(0,$.jsxs)(`div`,{className:G(`hidden md:flex items-center border-b border-border relative shrink-0`,k?`min-h-[41px] flex-wrap`:`h-[41px]`),onDragOver:m,onDrop:h,onDoubleClick:se,children:[!k&&M&&(0,$.jsx)(`button`,{onClick:P,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,$.jsxs)(`span`,{className:`relative`,children:[(0,$.jsx)(Ce,{className:`size-4 text-text-secondary`}),F.left&&(0,$.jsx)(`span`,{className:G(`absolute -top-1 -right-0.5 size-2 rounded-full`,Ou(F.left))})]})}),(0,$.jsx)(`div`,{ref:i,className:G(`flex-1 min-w-0 scrollbar-none`,k?`overflow-y-auto overflow-x-hidden`:`overflow-x-auto overflow-y-hidden`),children:(0,$.jsxs)(`div`,{className:pf(j,k),children:[c.map((e,t)=>{let n=$r(e),i=n?D.get(n):void 0,a=i&&i.count>0?i.type:null,o=!!i?.manual,s=n?O.has(n):!1;return(0,$.jsx)(bf,{tab:e,isActive:e.id===l,icon:cp(e),showDropBefore:d===t,notificationType:a,notificationManual:o,isStreaming:s,onSelect:()=>{jd()||(q.getState().setActiveTab(e.id,u),n&&ju.getState().clearForSession(n))},onClose:()=>void ld([e.id],u),onDragStart:t=>f(t,e.id),onDragOver:n=>p(n,e.id,t),onDragEnd:g,onTouchStart:t=>_(t,e.id,e.title),onTouchMove:v,onTouchEnd:y,onTouchCancel:b,tabRef:t=>{t?r.current.set(e.id,t):r.current.delete(e.id)},onRename:e.type===`chat`?t=>te(e,t):void 0,onContextAction:t=>ae(e,t),tagColor:n?T[n]?.color:void 0,extraMenuContent:(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Zf,{tab:e,panelId:u}),ie(e),R(e),n&&!a&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(yi,{onClick:()=>{let t=e.metadata?.projectName;t&&ju.getState().markUnread(n,t,e.title)},children:[(0,$.jsx)(Ae,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),(0,$.jsx)(vi,{})]}),n&&x.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(bi,{children:[(0,$.jsxs)(gi,{children:[(0,$.jsx)(oe,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,$.jsxs)(hi,{children:[x.map(e=>(0,$.jsxs)(yi,{onClick:()=>E(n,e.id),children:[(0,$.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:e.color}}),e.name,T[n]?.id===e.id&&(0,$.jsx)(L,{className:`size-3 ml-auto`})]},e.id)),T[n]&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vi,{}),(0,$.jsx)(yi,{onClick:()=>E(n,null),children:`Remove tag`})]})]})]}),(0,$.jsx)(vi,{})]})]})},e.id)}),d!==null&&d>=c.length&&(0,$.jsx)(`div`,{className:`w-0.5 h-6 bg-primary rounded-full`}),(0,$.jsx)(`button`,{onClick:()=>{if(t)ce();else if(u===`__dock__`){let e=J.getState().activeProject;q.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}else q.getState().setFocusedPanel(u,!1),of()},title:t?`New chat`:u===`__dock__`?`New terminal in dock`:`Open command palette (Shift+Shift)`,className:mf(j),children:(0,$.jsx)(Ct,{className:`size-4`})})]})}),!k&&N&&(0,$.jsx)(`button`,{onClick:ee,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,$.jsxs)(`span`,{className:`relative`,children:[(0,$.jsx)(Ne,{className:`size-4 text-text-secondary`}),F.right&&(0,$.jsx)(`span`,{className:G(`absolute -top-1 -left-0.5 size-2 rounded-full`,Ou(F.right))})]})})]})}),(0,$.jsxs)(_i,{children:[(0,$.jsx)(yi,{onClick:A,children:k?`Scroll Tabs`:`Wrap Tabs`}),(0,$.jsx)(vi,{}),!t&&(0,$.jsx)(yi,{onClick:()=>of(),children:`Open Command Palette`})]})]}),I&&(0,$.jsx)(tp,{node:I.node,projectName:n?.name??``,onClose:()=>re(null),onRefresh:()=>{n&&Ai.getState().fetchTree(n.name),I.action===`delete`&&q.getState().closeTab(I.tabId,u)}})]})});function up({panelId:e}){let[t,n]=(0,Q.useState)(null),r=Sd(),i=Ad(),a=(i?.panelId===e?i.zone:null)??t,o=q(e=>e.grid),s=q(e=>e.isMobile()),c=Cr(o,e),l=!s&&o.length<3,u=c?!s&&(o[c.row]?.length??0)<wr(!1):!1,d=(0,Q.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,Q.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.stopPropagation(),n(d(e)))},[d]),p=(0,Q.useCallback)(e=>{e.currentTarget.contains(e.relatedTarget)||n(null)},[]),m=(0,Q.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let r=d(t);if(n(null),Cd(),!r)return;let i=t.dataTransfer.getData(vd);if(i)try{let t=JSON.parse(i),n=q.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,$.jsxs)(`div`,{className:`absolute inset-0 z-20`,onDragOver:f,onDragLeave:p,onDrop:m,children:[a===`left`&&(0,$.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,$.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,$.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,$.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,$.jsx)(`div`,{className:`absolute inset-0 bg-primary/5 border-2 border-dashed border-primary/30 rounded-md`})]}):null}var dp=sr(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 fp(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 pp(e,t,n){for(let r of e.tabs)t.has(r.id)||(t.add(r.id),n.push({tabId:r.id,panelId:Er,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}function mp(e,t,n){for(let[r,i]of Object.entries(e))if(Sr(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 hp(e,t,n,r){let i=[],a=new Set;fp(t,r,!0,e,a,i);for(let[t,o]of Object.entries(n))t!==r&&fp(o,t,!1,e,a,i);mp(e,a,i);let o=e[Er];return o&&pp(o,a,i),i.sort((e,t)=>e.tabId.localeCompare(t.tabId)),i}function gp(e,t){return e.filter(e=>e.isActive||t.has(e.tabId))}var _p=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 vp(e,t){_p.register(e,t)}var yp=t(ee(),1);function bp({tabId:e,panelId:t,component:n,metadata:r,isActive:i,hiddenContainer:a}){let o=(0,Q.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,Q.useRef)(t);c.current=t;let l=(0,Q.useRef)(new WeakMap),u=(0,Q.useRef)(new Set),d=(0,Q.useRef)(!1),f=()=>{for(let e of u.current){let t=e.deref(),n=t&&l.current.get(t);if(!t||!n||!s.contains(t)){u.current.delete(e),t&&l.current.delete(t);continue}t.scrollTop=n.top,t.scrollLeft=n.left}};return(0,Q.useLayoutEffect)(()=>{s.parentElement||a.appendChild(s);let e=()=>{let e=c.current;e===`__dock__`||Sr(e)||q.getState().setFocusedPanel(e)},t=l.current,n=u.current,r=e=>{if(s.parentElement===a)return;let r=e.target;if(r.nodeType===Node.ELEMENT_NODE){if(!t.has(r)){for(let e of n)e.deref()||n.delete(e);n.add(new WeakRef(r))}t.set(r,{top:r.scrollTop,left:r.scrollLeft})}};return s.addEventListener(`pointerdown`,e,!0),s.addEventListener(`focusin`,e,!0),s.addEventListener(`scroll`,r,!0),()=>{s.removeEventListener(`pointerdown`,e,!0),s.removeEventListener(`focusin`,e,!0),s.removeEventListener(`scroll`,r,!0),s.remove()}},[s,a]),(0,Q.useLayoutEffect)(()=>{s.style.display=i?``:`none`,i&&d.current&&(d.current=!1,f())},[s,i]),(0,Q.useLayoutEffect)(()=>{let e=_p.get(t);if(!e){s.parentElement!==a&&a.appendChild(s);return}s.parentElement!==e&&(e.appendChild(s),d.current=!i,i&&f())}),(0,yp.createPortal)((0,$.jsx)(mr,{container:Jr(t),children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,$.jsx)(z,{className:`size-6 animate-spin text-primary`})}),children:(0,$.jsx)(n,{metadata:r,tabId:e})})}),s)}function xp(e,t){return`${e}|${t}`}function Sp(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 Cp(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(!Sr(t))continue;let e=xr(t);if(e&&r.has(e)||!c)continue;let i=a[c];i&&(a[c]=Sp(i,n.tabs),delete a[t],s=!0)}let l=n.filter(e=>!a[Dr(e)]);if(!i.includes(o)){let e=i[0];e&&(o=e,s=!0)}return{panels:a,focusedPanelId:o,windowIdsToClose:l,changed:s}}function wp(){let e=Pi(),t=q(e=>e.currentProject),n=K(e=>e.restored),r=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{if(!t||!n&&!e)return;let i=xp(t,e);if(r.current===i)return;r.current=i;let{panels:a,grid:o,focusedPanelId:s}=q.getState(),c=Cp({panels:a,grid:o,focusedPanelId:s,liveWindowIds:e?[]:Object.values(K.getState().windows).filter(e=>e.kind===`tab-host`).map(e=>e.id)});c.changed&&(q.setState({panels:c.panels,focusedPanelId:c.focusedPanelId}),Qr(q.getState));for(let e of c.windowIdsToClose)K.getState().close(e)},[t,n,e])}function Tp(e){let t,n,r=()=>n??=e().then(e=>{t=e.default},e=>{throw n=void 0,e}),i=(0,Q.lazy)(()=>r().then(()=>({default:t})));function a(e){let[n]=(0,Q.useState)(()=>t??i);return(0,$.jsx)(n,{...e})}return Object.assign(a,{preload:r})}var Ep={terminal:Tp(()=>W(()=>import(`./terminal-tab-CDg0AHBK.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,24,25,26,27,28,29]))),chat:Tp(()=>W(()=>import(`./chat-tab-BCELq4nK.js`).then(e=>({default:e.ChatTab})),__vite__mapDeps([30,2,1,3,31,6,32,33,9,34,35,7,36,10,37,38,39,8,11,12,40,13,14,15,16,41,42,43,44,20,23,45,46,47,27,48,49,50,18,51,17,19,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,25,68,69,26]))),editor:Tp(()=>W(()=>import(`./code-editor-_axJbYkP.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([70,1,9,71,2,3,31,6,72,7,73,11,10,12,13,8,14,15,16,74,75,44,38,27,76,77,50,18,23,17,19,78,65,20,79,34,80,68,40,39,81,82,51,83,84,45,85,69,86,87,21,22,61,88,46,89,25,90,28,29]))),database:Tp(()=>W(()=>import(`./table-tab-dI8rBbCS.js`).then(e=>({default:e.TableTab})),__vite__mapDeps([91,1,71,2,3,31,6,72,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,76,77,50,18,23,17,19,78,65,20,79,92,93,94,95,96,97,84,45,56,57,85,69,51,86,98,61]))),"db-structure":Tp(()=>W(()=>import(`./structure-tab-DyQGhf9t.js`).then(e=>({default:e.StructureTab})),__vite__mapDeps([99,1,2,3,31,6,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,92,78,94,23,95,100,50,18,65,96,97,84,45,56,57,85,69,17,19,51,86,20,61]))),"db-sql":Tp(()=>W(()=>import(`./sql-object-tab-I5bl3DVf.js`).then(e=>({default:e.SqlObjectTab})),__vite__mapDeps([101,1,2,3,31,6,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,92,94,23,95,96,97,56,57,22,90,28,29]))),"db-query":Tp(()=>W(()=>import(`./query-tab-DHU3ANHN.js`).then(e=>({default:e.QueryTab})),__vite__mapDeps([102,1,71,2,3,31,6,72,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,76,77,50,18,23,17,19,78,65,20,79,92,93,39,94,95,103,81,22,90,28,29,97,82,51,84,45,56,57,85,69,86,98,61,62]))),"db-impexp":Tp(()=>W(()=>import(`./impexp-tab-B0m1Q8ia.js`).then(e=>({default:e.ImpExpTab})),__vite__mapDeps([104,1,2,3,31,6,7,75,10,8,9,44,92,76,77,50,18,23,17,19,93,11,12,38,13,14,15,16,94,95,74,27,103,39,81,78,22,90,28,29,96,84,45,56,57,65,51,86,61,105]))),"db-connection":Tp(()=>W(()=>import(`./connection-form-tab-C3QyUWnE.js`).then(e=>({default:e.ConnectionFormTab})),__vite__mapDeps([106,1,2,3,31,6,7,75,10,8,9,44,92,11,12,38,13,14,15,16,84,45,56,57,23,27,50,18,51,17,19,86,61]))),sqlite:Tp(()=>W(()=>import(`./sqlite-viewer-ECCCjxdn.js`).then(e=>({default:e.SqliteViewer})),__vite__mapDeps([107,1,71,2,3,31,6,72,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,76,77,50,18,23,17,19,78,65,20,79,92,93,94,95,91,96,97,84,45,56,57,85,69,51,86,98,61]))),"git-diff":Tp(()=>W(()=>import(`./diff-viewer-C86mR7vD.js`).then(e=>({default:e.DiffViewer})),__vite__mapDeps([108,1,2,3,31,6,7,8,9,10,42,83,87,20,15,16,22,23,88,89,90,28,29]))),"branch-review":Tp(()=>W(()=>import(`./branch-review-tab-CR7JnS5x.js`).then(e=>({default:e.BranchReviewTab})),__vite__mapDeps([109,1,2,3,31,6,7,8,9,10,108,42,83,87,20,15,16,22,23,88,89,90,28,29,17,18,19,86,60,44,61]))),"session-review":Tp(()=>W(()=>import(`./session-review-tab-fRzyogNH.js`).then(e=>({default:e.SessionReviewTab})),__vite__mapDeps([110,1,2,3,31,6,32,7,48,8,9,10,11,12,13,14,15,16,111,17,18,19,20,23,59,35,34,60,44,61,62,27]))),"git-review":Tp(()=>W(()=>import(`./git-review-tab-WzuX4Ml9.js`).then(e=>({default:e.GitReviewTab})),__vite__mapDeps([112,1,2,3,31,6,32,7,8,9,10,11,12,13,14,15,16,111,48,17,18,19,20,23,65,60,44,61,88,62,27]))),settings:Tp(()=>W(()=>import(`./settings-tab-A81xb81d.js`).then(e=>({default:e.SettingsTab})),__vite__mapDeps([113,2,1,3,31,6,7,8,9,10,114,57,23,115,86,116]))),extension:Tp(()=>W(()=>import(`./extension-webview-BGfyaXMI.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([117,1,2,3,7,61,6,16,10,23,88,28]))),"extension-webview":Tp(()=>W(()=>import(`./extension-webview-BGfyaXMI.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([117,1,2,3,7,61,6,16,10,23,88,28]))),"conflict-editor":Tp(()=>W(()=>import(`./conflict-editor-D0AYuLKI.js`).then(e=>({default:e.ConflictEditor})),__vite__mapDeps([118,1,2,3,7,8,9,10,44,22,23,89,6,90,28,29]))),android:Tp(()=>W(()=>import(`./android-tab-CY3aa_vU.js`).then(e=>({default:e.AndroidTab})),__vite__mapDeps([119,1,2,3,31,6,7,8,9,10,11,12,13,14,15,16,120,50,18,23,65,51,17,19,60,44,26,27]))),"system-monitor":Tp(()=>W(()=>import(`./system-monitor-tab-CfwHKQ5k.js`).then(e=>({default:e.SystemMonitorTab})),__vite__mapDeps([121,2,1,3,7,8,9,10,122,6,23]))),"git-log":Tp(()=>W(()=>import(`./git-log-panel-T8Fzn8-5.js`).then(e=>({default:e.GitLogPanel})),__vite__mapDeps([123,1,2,3,6,124,34,7,86,23,88,10,15,16]))),"ai-resource":Tp(()=>W(()=>import(`./ai-resource-editor-CFbXgGMo.js`).then(e=>({default:e.AiResourceEditor})),__vite__mapDeps([125,1,2,3,6,7,8,9,10,23,90,28,29]))),group:Tp(()=>W(()=>import(`./group-chat-tab-URU3FCLs.js`).then(e=>({default:e.GroupChatTab})),__vite__mapDeps([126,1,2,3,31,6,32,127,128,9,7,8,10,40,20,45,47,15,16,24,13,11,12,14,27,36,37,38,39,41,42,43,44,23,46,68,56,57,85,69,18,17,19,50,66,88,26]))),problems:Tp(()=>W(()=>import(`./problems-panel-DjCHA1r5.js`).then(e=>({default:e.ProblemsPanel})),__vite__mapDeps([129,1,2,3,6,7,8,9,10,11,12,13,14,15,16,44,61,23]))),design:Tp(()=>W(()=>import(`./design-tab-BoPiL2ge.js`).then(e=>({default:e.DesignTab})),__vite__mapDeps([130,1,9,2,3,31,6,32,33,34,35,7,36,10,37,38,39,8,11,12,40,13,14,15,16,41,42,43,44,20,23,45,46,47,27,48,49,50,18,51,17,19,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,25,80,68,131,84,132,85,69,133,26]))),"web-preview":Tp(()=>W(()=>import(`./web-preview-tab-CZJAVoVU.js`).then(e=>({default:e.WebPreviewTab})),__vite__mapDeps([134,1,2,3,7,8,9,10,11,6,12,13,14,15,16,20,23]))),logs:Tp(()=>W(()=>import(`./logs-tab-CQw9vrNw.js`).then(e=>({default:e.LogsTab})),__vite__mapDeps([135,2,1,3,31,6,7,8,9,10,11,12,136,13,14,15,16,65,18,23,17,19,20,21,25,137,44,27])))},Dp=[`editor`,`terminal`,`chat`,`git-diff`,`settings`];function Op(){let e=Object.keys(Ep).filter(e=>!Dp.includes(e));return[...Dp,...e].map(e=>Ep[e].preload)}var kp={position:`fixed`,top:0,left:0,width:0,height:0,overflow:`hidden`,pointerEvents:`none`,visibility:`hidden`};function Ap(){let[e,t]=(0,Q.useState)(null);(0,Q.useSyncExternalStore)(e=>_p.subscribe(e),()=>_p.getVersion());let n=q(e=>e.panels),r=q(e=>e.grid),i=q(e=>e.currentProject),a=q(e=>e.projectGrids),o=U(e=>e.minimalMode);wp();let s=hp(n,r,a,i).filter(e=>!o||I(e.type)),c=gp(s,dp(e=>e.mounted)),l=s.filter(e=>e.isActive).map(e=>e.tabId);return(0,Q.useEffect)(()=>{let{mount:e}=dp.getState();for(let t of l)e(t)},[JSON.stringify(l)]),(0,$.jsx)(`div`,{ref:t,style:kp,children:e&&c.map(t=>{let n=Ep[t.type];return n?(0,$.jsx)(bp,{tabId:t.tabId,panelId:t.panelId,component:n,metadata:t.metadata,isActive:t.isActive,hiddenContainer:e},t.tabId):null})})}function jp(e){let{projectName:t,designSlug:n,sessionId:r,providerId:i,fresh:a}=e;return{projectName:t,designSlug:n,...r?{sessionId:r}:{},...i?{providerId:i}:{providerPending:!0},...a?{designSessionChecked:!0}:{}}}function Mp(e){let{projectName:t,slug:n,title:r,sessionId:i,providerId:a,panelId:o,fresh:s,inPlace:c}=e,l=Np(t,n),u=q.getState().openTab({type:`design`,title:r||n,projectId:t,closable:!0,metadata:jp({projectName:t,designSlug:n,sessionId:i,providerId:a,fresh:s})},o);if(u&&Pp(u,l||!!c),!u||!i)return u;let d=Sa(u);return d&&d.sessionId!==i&&xa(u,{sessionId:i,...a?{providerId:a,providerPending:void 0}:{},pendingMessage:void 0,designChatEpoch:Ip(d)}),u}function Np(e,t){return Object.values(q.getState().panels).some(n=>n.tabs.some(n=>n.type===`design`&&n.metadata?.designSlug===t&&(n.projectId??n.metadata?.projectName)===e))}function Pp(e,t){let n=q.getState().getPanelForTab(e)?.id;if(!n)return;let r=xr(n);if(r){K.getState().focus(r);return}if(t||!U.getState().designWindows)return;let i=K.getState(),a=Ar(Object.values(i.windows).map(e=>e.rect),i.bounds,{w:Math.round(i.bounds.w*Fp.w),h:Math.round(i.bounds.h*Fp.h)});q.getState().popOutTab(e,n,{closeTabsOnClose:!0,rect:a})}var Fp={w:.72,h:.84};function Ip(e){let t=e?.designChatEpoch;return(typeof t==`number`&&Number.isFinite(t)?t:0)+1}function Lp(e,t,n){return e.designSlug&&!U.getState().minimalMode?Mp({projectName:t,slug:e.designSlug,sessionId:e.id,providerId:e.providerId,panelId:n}):q.getState().openTab({type:`chat`,title:e.title||`Chat`,projectId:t,metadata:{projectName:t,sessionId:e.id,...e.providerId?{providerId:e.providerId}:{}},closable:!0},n)}var Rp=[{type:`terminal`,label:`Terminal`,icon:Se},{type:`chat`,label:`AI Chat`,icon:re},{type:`editor`,label:`New File`,icon:ue}];function zp({panelId:e,projectName:t}){let n=U(e=>e.minimalMode),r=q(t=>t.panels[e]),i=q(t=>t.focusedPanelId===e),a=q(e=>(e.currentProject===t?e.grid:e.projectGrids[t]??[[]]).flat().length),o=(0,Q.useCallback)(t=>{vp(e,t)},[e]);if((0,Q.useEffect)(()=>{if(!n||!r)return;let i=Or(r.tabs,t,!0);!i.length||i.some(e=>e.id===r.activeTabId)||q.setState(t=>({panels:{...t.panels,[e]:{...t.panels[e],activeTabId:i[0].id}}}))},[n,r,e,t]),!r)return null;let s=Or(r.tabs,t,n).length===0;return(0,$.jsxs)(`div`,{className:G(`flex flex-col h-full overflow-hidden`,a>1&&`border border-transparent`,a>1&&i&&`border-primary/30`),onMouseDown:()=>{q.getState().focusedPanelId!==e&&q.getState().setFocusedPanel(e,!1)},children:[(0,$.jsx)(lp,{panelId:e}),(0,$.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,"data-panel-drop-zone":e,onAuxClick:t=>{n||t.button!==1||!s||(t.preventDefault(),q.getState().closePanel(e))},children:[s&&(0,$.jsx)(Bp,{panelId:e,canClose:a>1}),(0,$.jsx)(`div`,{ref:o,className:`absolute inset-0`,style:s?{display:`none`}:void 0}),(0,$.jsx)(up,{panelId:e})]})]})}function Bp({panelId:e,canClose:t}){let n=U(e=>e.minimalMode),r=J(e=>e.activeProject);function i(t){if(t===`editor`){Y.getState().openNewFile();return}let n=t!==`settings`&&r?{projectName:r.name}:void 0;q.getState().openTab({type:t,title:Rp.find(e=>e.type===t)?.label??t,metadata:n,projectId:r?.name??null,closable:!0},e)}let a=(0,Q.useCallback)(t=>{r?.name&&Lp(t,r.name,e)},[r?.name,e]);return(0,$.jsx)(`div`,{className:`flex flex-col h-full overflow-y-auto text-text-secondary`,children:(0,$.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-6 px-4 flex-1`,children:[(0,$.jsx)(`p`,{className:`text-sm`,children:`Open a tab to get started`}),(0,$.jsx)(`div`,{className:`grid grid-cols-3 gap-2 w-full max-w-sm`,children:Rp.filter(e=>!n||e.type===`chat`||e.type===`editor`).map(e=>{let t=e.icon;return(0,$.jsxs)(`button`,{onClick:()=>i(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,$.jsx)(t,{className:`size-5`}),e.label]},e.type)})}),t&&!n&&(0,$.jsxs)(`button`,{onClick:()=>q.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,$.jsx)($t,{className:`size-3.5`}),`Close Panel`]}),(0,$.jsx)(Xu,{projectName:r?.name,onSelectSession:a,className:`w-full`})]})})}function Vp(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}}var Hp={left:st,bottom:lt,right:Ke},Up={left:`Left`,bottom:`Bottom`,right:`Right`},Wp=[`left`,`bottom`,`right`];function Gp(){let e=q(e=>e.panels[Er]),t=J(e=>e.activeProject?.name??null),n=U(e=>e.dockPosition),r=U(e=>e.setDockPosition),i=q(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=Vp(a.map(e=>e.id),o,n);function l(e){q.getState().setActiveTab(e,Er)}function u(e){q.getState().closeTab(e,Er)}function d(){let e=J.getState().activeProject;q.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}let f=Hp[n];return(0,$.jsxs)(`div`,{className:`flex items-center h-8 min-w-0 flex-1 gap-1 px-1`,children:[(0,$.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=cp(t),r=e===o,i=!c.iconOnlyInactive||r,a=(0,$.jsxs)(`button`,{onClick:()=>l(e),className:G(`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,$.jsx)(n,{className:`size-3`}),i&&(0,$.jsx)(`span`,{className:`text-[11px] font-medium max-w-[120px] truncate`,children:t.title}),i&&t.closable&&(0,$.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,$.jsx)($t,{className:`size-3`})})]},e);return i?a:(0,$.jsxs)(Ec,{children:[(0,$.jsx)(Dc,{asChild:!0,children:a}),(0,$.jsx)(Oc,{side:`top`,className:`text-xs`,children:t.title})]},e)}),c.overflow.length>0&&(0,$.jsxs)(ja,{children:[(0,$.jsx)(Da,{asChild:!0,children:(0,$.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,$.jsx)(ka,{align:`start`,className:`min-w-[10rem]`,children:c.overflow.map(e=>{let t=s.get(e);return t?(0,$.jsxs)(Ta,{onClick:()=>l(e),children:[(0,$.jsx)(cp(t),{className:`size-3.5`}),(0,$.jsx)(`span`,{className:`truncate`,children:t.title})]},e):null})})]}),(0,$.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,$.jsx)(Ct,{className:`size-3.5`})})]}),(0,$.jsxs)(ja,{children:[(0,$.jsx)(Da,{asChild:!0,children:(0,$.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,$.jsx)(f,{className:`size-3.5`}),(0,$.jsx)(We,{className:`size-2.5`})]})}),(0,$.jsxs)(ka,{align:`end`,children:[(0,$.jsx)(Ca,{className:`text-[10px] uppercase tracking-wide text-text-subtle`,children:`Panel Position`}),Wp.map(e=>{let t=Hp[e],i=e===n;return(0,$.jsxs)(Ta,{onClick:()=>r(e),className:G(i&&`text-primary bg-primary/10`),children:[(0,$.jsx)(t,{className:`size-3.5`}),(0,$.jsx)(`span`,{className:`flex-1`,children:Up[e]}),i&&(0,$.jsx)(L,{className:`size-3.5`})]},e)})]})]}),(0,$.jsx)(`div`,{className:`w-px h-4 bg-border shrink-0`}),(0,$.jsx)(`button`,{onClick:()=>q.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,$.jsx)(he,{className:`size-3.5`}):(0,$.jsx)(fe,{className:`size-3.5`})}),(0,$.jsx)(`button`,{onClick:()=>q.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,$.jsx)(We,{className:`size-3.5`})})]})}var Kp={top:`border-t`,left:`border-l`,right:`border-r`};function qp({variant:e=`desktop`,borderEdge:t=`top`}){let n=q(e=>e.panels[Er]),r=J(e=>e.activeProject?.name??null),i=(n?.tabs??[]).some(e=>!e.projectId||!r||e.projectId===r),a=(0,Q.useCallback)(e=>{vp(Er,e)},[]);return(0,$.jsxs)(`div`,{className:G(`flex flex-col h-full overflow-hidden border-border bg-panel`,e===`desktop`&&Kp[t]),children:[(0,$.jsx)(`div`,{className:`flex items-center shrink-0`,children:e===`mobile`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Jp,{}),(0,$.jsx)(`button`,{onClick:()=>q.getState().setDockVisible(!1),title:`Hide terminal dock`,className:G(`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,$.jsx)($t,{className:`size-3.5`})})]}):(0,$.jsx)(Gp,{})}),(0,$.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,children:[!i&&(0,$.jsx)(Yp,{variant:e}),(0,$.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:i?void 0:{display:`none`}})]})]})}function Jp(){let e=q(e=>e.panels[Er]),t=J(e=>e.activeProject),n=q(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){q.getState().setActiveTab(e,Er)}function s(){let e=t;q.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,$.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center h-11 gap-1 pl-2 overflow-hidden`,children:[(0,$.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=cp(e);return(0,$.jsxs)(`div`,{className:G(`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,$.jsxs)(`button`,{onClick:()=>o(e.id),className:`flex items-center gap-1.5 min-w-0`,children:[(0,$.jsx)(t,{className:`size-[13px] shrink-0`}),(0,$.jsx)(`span`,{className:`max-w-[96px] truncate text-xs font-medium`,children:e.title})]}),e.closable&&(0,$.jsx)(`button`,{onClick:()=>q.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,$.jsx)($t,{className:`size-3.5`})})]},e.id)}),(0,$.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,$.jsx)(Ct,{className:`size-4`})})]}),(0,$.jsx)(`button`,{onClick:()=>q.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,$.jsx)(he,{className:`size-4`}):(0,$.jsx)(fe,{className:`size-4`})})]})}function Yp({variant:e}){let t=J(e=>e.activeProject);function n(){let e=t;q.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,$.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,$.jsxs)(`button`,{onClick:n,className:G(`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,$.jsx)(Se,{className:`size-4`}),`Open Terminal`]})})}function Xp(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 Zp=[[]],Qp=(0,Q.memo)(function({projectName:e}){let t=U(e=>e.minimalMode),n=Su(`(min-width: 768px)`),r=q(t=>t.currentProject===e?t.grid:t.projectGrids[e]??Zp),i=q(e=>e.focusedPanelId),a=q(e=>e.dock),o=q(e=>e.dockExpanded),s=U(e=>e.dockPosition),c=q(e=>e.currentProject),l=r.flat().length,u=c===e;(0,Q.useEffect)(()=>{if(u&&l===0){let e=zr();q.setState(t=>({panels:{...t.panels,[e.id]:e},grid:[[e.id]],focusedPanelId:e.id}))}},[u,l]);let d=(0,Q.useCallback)(({asPercentage:e})=>{q.getState().dockExpanded||q.getState().setDockHeight(e)},[]),f=(0,Q.useRef)({key:``,size:``});if(l===0)return null;if(!n){let t=r.flat(),n=t.includes(i)?i:t[0];return n?(0,$.jsx)(zp,{panelId:n,projectName:e}):null}let p=l===1&&r[0]?.[0]?(0,$.jsx)(zp,{panelId:r[0][0],projectName:e}):(0,$.jsx)(hu,{orientation:`vertical`,style:{height:`100%`},children:r.map((t,n)=>(0,$.jsx)($p,{row:t,rowIdx:n,totalRows:r.length,projectName:e},`row-${n}`))});if(!u||t)return(0,$.jsx)($.Fragment,{children:p});let m=Xp(s,a.height,o),h=m.orientation===`vertical`?`horizontal`:`vertical`,g=`${s}-${o}`;f.current.key!==g&&(f.current={key:g,size:m.dockSize});let _=(0,$.jsx)(vu,{minSize:`15%`,children:p}),v=a.visible?(0,$.jsx)(vu,{defaultSize:f.current.size,minSize:`10%`,maxSize:`85%`,onResize:d,children:(0,$.jsx)(qp,{borderEdge:m.borderEdge})}):null,y=a.visible?(0,$.jsx)(tm,{orientation:h}):null;return(0,$.jsxs)(hu,{orientation:m.orientation,style:{height:`100%`},children:[m.dockFirst?v:_,y,m.dockFirst?_:v]},g)});function $p({row:e,rowIdx:t,totalRows:n,projectName:r}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vu,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:e.length===1?(0,$.jsx)(zp,{panelId:e[0],projectName:r}):(0,$.jsx)(hu,{orientation:`horizontal`,children:e.map((t,n)=>(0,$.jsx)(em,{panelId:t,colIdx:n,totalCols:e.length,projectName:r},t))})}),t<n-1&&(0,$.jsx)(tm,{orientation:`horizontal`})]})}function em({panelId:e,colIdx:t,totalCols:n,projectName:r}){return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(vu,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:(0,$.jsx)(zp,{panelId:e,projectName:r})}),t<n-1&&(0,$.jsx)(tm,{orientation:`vertical`})]})}function tm({orientation:e}){let t=e===`vertical`;return(0,$.jsx)(xu,{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
|
|
@@ -24,12 +24,12 @@ body>*{position:relative;width:100%;height:100%}`;function Nf(e){return Array.fr
|
|
|
24
24
|
`):[`CREATE TRIGGER trigger_name`,`AFTER INSERT ON table_name`,`BEGIN`,` SELECT NEW.rowid;`,`END;`,``].join(`
|
|
25
25
|
`)}var pb=sr(()=>({request:null,seq:0,rename:null}));function mb(e){pb.setState(t=>({request:e,seq:t.seq+1}))}function hb(e){pb.getState().seq===e&&pb.setState({request:null})}function gb(e){pb.setState({rename:e})}function _b(){pb.setState({rename:null})}var vb=e=>String(e).padStart(2,`0`);function yb(e,t){return`_${e}_${`${t.getFullYear()}-${vb(t.getMonth()+1)}-${vb(t.getDate())}`}-${vb(t.getHours())}-${vb(t.getMinutes())}-${vb(t.getSeconds())}`}var bb=(e,t)=>t.editsStructure&&e.readonly!==1;function xb(e,t,n){let r=gs(e,t);mb({target:r.target,place:r,change:n})}function Sb(e,t,n){let r={schema:n.schema,table:n.name};return[{kind:`item`,label:`Drop table`,icon:je,destructive:!0,onSelect:()=>xb(e,t,{kind:`drop-table`,...r})},{kind:`item`,label:`Rename table`,icon:On,onSelect:()=>gb({value:n.name,onConfirm:n=>xb(e,t,{kind:`rename-table`,...r,newName:n})})},{kind:`item`,label:`Truncate table`,onSelect:()=>xb(e,t,{kind:`truncate-table`,...r})},{kind:`item`,label:`Create table backup`,onSelect:()=>xb(e,t,{kind:`backup-table`,...r,newName:yb(n.name,new Date)})}]}async function Cb(e){await ca(e)?B.success(`Copied “${e}”`):B.error(`The clipboard is not available here`)}async function wb(e,t,n){let r=io(`/api/db/connections/${e.id}/query`,To(t,e));try{await H.post(r,{sql:`REFRESH MATERIALIZED VIEW ${ob(n,e.type)}`}),B.success(`Refreshed ${n.name}`)}catch(e){B.error(`Could not refresh ${n.name}: ${e.message}`)}}function Tb(e,t,n,r){let i=n.kind===`table`||n.kind===`view`||n.kind===`matview`,a=cb(n,e.type),o=gs(e,t),s=e=>()=>{e(),r.navigated()};return ey([i&&{kind:`item`,label:`Open data`,icon:Fe,onSelect:s(()=>vs(o,n))},i&&{kind:`item`,label:`Open structure`,icon:se,onSelect:s(()=>ms(o,n))},{kind:`item`,label:n.kind===`table`?`Show CREATE SQL`:`Show SQL`,icon:yt,onSelect:s(()=>hs(o,n))},i&&{kind:`item`,label:`New query`,icon:Rn,onSelect:s(()=>_s(o,sb(n,e.type)))},a?{kind:`item`,label:`New query`,icon:Rn,onSelect:s(()=>_s(o,a))}:null,{kind:`separator`},...n.kind===`table`&&bb(e,r)?Sb(e,t,n):[],{kind:`separator`},r.impExp&&i&&{kind:`item`,label:`Export advanced...`,icon:Rt,onSelect:s(()=>My(e,t,n))},r.impExp&&n.kind===`table`&&e.readonly!==1&&{kind:`item`,label:`Import`,icon:pt,onSelect:s(()=>Ny(e,t,n))},{kind:`separator`},{kind:`item`,label:`Copy name`,icon:jn,onSelect:()=>void Cb(n.name)},{kind:`separator`},n.kind===`matview`&&{kind:`item`,label:`Refresh data`,icon:ht,onSelect:()=>void wb(e,t,n)},i&&{kind:`item`,label:`Refresh structure`,icon:Vt,onSelect:()=>void No(t)}])}function Eb(e,t,n,r,i){let a=n?.kind===`table`&&bb(e,i)?{schema:n.schema,table:n.name,column:r}:null;return ey([a&&{kind:`item`,label:`Rename column`,icon:On,onSelect:()=>gb({value:r,onConfirm:n=>xb(e,t,{kind:`rename-column`,...a,newName:n})})},a&&{kind:`item`,label:`Drop column`,icon:je,destructive:!0,onSelect:()=>xb(e,t,{kind:`drop-column`,...a})},{kind:`separator`},{kind:`item`,label:`Copy name`,icon:jn,onSelect:()=>void Cb(r)}])}function Db(e,t,n){let r=lb(e.type),i=db(e.type),a=r=>{_s(gs(e,t),r),n.navigated()};return ey([bb(e,n)&&{kind:`item`,label:`New table`,icon:Fe,onSelect:()=>{Dy(e,t),n.navigated()}},{kind:`item`,label:`New query`,icon:Rn,onSelect:()=>a(``)},{kind:`separator`},{kind:`item`,label:`CREATE VIEW template`,onSelect:()=>a(ub(e.type))},r&&i?{kind:`item`,label:r===`function`?`CREATE FUNCTION template`:`CREATE PROCEDURE template`,onSelect:()=>a(i)}:null,{kind:`item`,label:`CREATE TRIGGER template`,onSelect:()=>a(fb(e.type))}])}function Ob(e,t){return[{kind:`item`,label:`Refresh structure`,icon:Vt,onSelect:()=>void No(t)},{kind:`item`,label:`Full refresh`,hint:`columns too`,onSelect:()=>void No(t,{full:!0})},{kind:`item`,label:`Reconnect`,icon:ht,onSelect:()=>void qo(e.id)},{kind:`item`,label:`Disconnect`,icon:tn,onSelect:()=>void Jo(e.id)},{kind:`separator`},{kind:`item`,label:`Collapse all`,icon:be,onSelect:ls}]}var kb={table:Fe,view:gt,matview:Et,procedure:pe,function:yt,trigger:fn,sequence:Bn},Ab=[{field:`name`,label:`Table, view or routine name`},{field:`schema`,label:`Schema`},{field:`column`,label:`Column name`},{field:`type`,label:`Column data type`}],jb=new Set(Ab.map(e=>e.field)),Mb=e=>e.kind===`group`||e.kind===`object`||e.kind===`column`||e.kind===`more`,Nb=e=>e.kind===`group`?0:e.kind===`object`||e.kind===`more`?1:2,Pb=e=>xo.has(e.kind);function Fb({collapsed:e,onToggleCollapsed:t,onNavigate:n,className:r,style:i}){let a=Ro(e=>e.connections),o=Ro(e=>e.status),s=Ro(e=>e.objects),c=Ro(e=>e.allColumns),l=Ro(e=>e.structures),u=Ro(e=>e.focused),d=Ro(e=>e.objectQuery),f=U(e=>e.dbExplorer),p=U(e=>e.dbExplorerView),m=p.current,h=m?a.find(e=>e.id===m.conn):void 0,g=m&&h?po(m):null,_=yo(u,m,e=>a.some(t=>t.id===e)),v=h?o[h.id]:void 0,y=g?s[g]:void 0,b=y?.state===`ready`?y.data:null,x=(0,Q.useMemo)(()=>b?so(b):[],[b]),S=!!h&&Co(h.type)&&x.length>0,C=S&&g?_o(x,p.schemas[g]):null,w=(0,Q.useMemo)(()=>{let e=p.objectSearch.filter(e=>jb.has(e)&&(e!==`schema`||S));return e.length?e:[`name`]},[p.objectSearch,S]),T=ao({query:d,fields:w}),E=g?c[g]:void 0,D=(0,Q.useMemo)(()=>T&&E?.state===`ready`?wo(E.data):void 0,[T,E]),O=(0,Q.useMemo)(()=>({query:d,fields:w,columns:D,onlyWithRows:p.onlyWithRows,sort:p.objectSort}),[d,w,D,p.onlyWithRows,p.objectSort]),k=`${g}|${C??``}`,[A,j]=(0,Q.useState)({at:``,shown:{}}),M=A.at===k?A.shown:{},[N,P]=(0,Q.useState)(null),[ee,F]=(0,Q.useState)(null),te=(0,Q.useRef)(null),ne=(0,Q.useId)(),I=(0,Q.useMemo)(()=>new Set(f.expandedObjects),[f.expandedObjects]),L=(0,Q.useMemo)(()=>m&&b?ib({ref:m,list:b,schema:C,filter:O,openGroups:f.openGroups,expandedObjects:I,structures:l,shown:M}):[],[m,b,C,O,f.openGroups,I,l,M]),re=(0,Q.useRef)(L);re.current=L;let R=v?.state===`open`;(0,Q.useEffect)(()=>{m&&h&&R&&!y&&Zo(m)},[m,h,R,y]),(0,Q.useEffect)(()=>{m&&b&&T&&!E&&rs(m)},[m,b,T,E]),(0,Q.useEffect)(()=>{if(m)for(let{nodeKey:e,object:t}of ab(L,l))Go(m,e,t)},[m,L,l]);let ie=(0,Q.useCallback)(()=>n?.(),[n]),ae=Pi(),oe=(0,Q.useMemo)(()=>({navigated:ie,editsStructure:!ae,impExp:!ae}),[ie,ae]),se=h&&m&&!ae&&h.readonly!==1?()=>{Dy(h,m),ie()}:void 0,ce=d.trim()!==``,le=e=>j({at:k,shown:{...M,[e]:(M[e]??200)+500}}),ue=e=>{!h||!m||(Pb(e)?vs(gs(h,m),e):hs(gs(h,m),e),ie())},de=e=>Mo(e.nodeKey,!I.has(e.nodeKey)),fe=e=>{e.kind===`group`?ce||Lo(e.group):e.kind===`more`?le(e.group):e.kind===`object`&&(F(e.key),ue(e.object))},pe=(e,t)=>{P(e.key),!(t.detail>=2)&&fe(e)},me=gy({rows:L,cursor:N,setCursor:P,listRef:te,focusable:Mb,depthOf:Nb,expand:e=>e.kind===`group`&&!e.open?(Lo(e.group),!0):e.kind===`object`&&e.expandable&&!e.expanded?(de(e),!0):!1,collapse:e=>e.kind===`group`&&e.open&&!ce?(Lo(e.group),!0):e.kind===`object`&&I.has(e.nodeKey)?(de(e),!0):!1,onEnter:fe,onSpace:fe}),he=_y(e=>{let t=e?re.current.find(t=>t.key===e):void 0;return!t||!h||!m?null:t.kind===`object`?Tb(h,m,t.object,oe):t.kind===`column`?Eb(h,m,re.current.find(e=>e.kind===`object`&&e.key===t.objectKey)?.object,t.column.name,oe):null},P),ge=[{kind:`label`,label:`Search by`},...Ab.filter(e=>e.field!==`schema`||S).map(({field:e,label:t})=>({kind:`check`,label:t,checked:w.includes(e),disabled:w.length===1&&w.includes(e),onToggle:()=>ts({objectSearch:w.includes(e)?w.filter(t=>t!==e):[...w,e]})})),{kind:`separator`},{kind:`check`,label:`Only tables with rows`,checked:p.onlyWithRows,onToggle:()=>ts({onlyWithRows:!p.onlyWithRows})},{kind:`separator`},{kind:`label`,label:`Sort by`},{kind:`radio`,value:p.objectSort,options:[{value:`name`,label:`Name`},{value:`rows`,label:`Row count`}],onChange:e=>ts({objectSort:e===`rows`?`rows`:`name`})}],_e=h&&m?Zy(h,m):null,ve=w.includes(`name`)?d:``,ye=w.includes(`column`)?d:``;return(0,$.jsxs)(`section`,{"aria-label":`Tables, views, functions`,className:G(`flex min-h-0 flex-col`,r),style:i,children:[(0,$.jsx)(sy,{title:`Tables, views, functions`,collapsed:e,onToggle:t,children:h&&_e&&(0,$.jsxs)(`span`,{title:`${h.name} · ${_e}`,className:`ml-auto inline-flex max-w-[60%] shrink-0 items-center gap-[5px] font-mono text-[11px] font-medium tracking-normal text-text-subtle normal-case max-md:text-xs`,children:[(0,$.jsx)(ba,{type:h.type,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:_e})]})}),!e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-0.5 pr-1.5 pb-1.5 pl-2 max-md:gap-0 max-md:pr-1 max-md:pb-2 max-md:pl-2.5`,children:[(0,$.jsx)(cy,{value:d,onChange:es,placeholder:`Search in tables, views, procedures`}),(0,$.jsx)(ry,{title:`Search by, sort by`,icon:Zt,entries:ge,active:ce,className:`flex size-[26px] shrink-0 items-center justify-center rounded text-text-subtle hover:bg-surface-hover hover:text-foreground disabled:opacity-40 max-md:size-11`}),h&&m&&!ce&&(0,$.jsx)(ry,{title:`New object`,icon:Ct,entries:Db(h,m,oe),className:`flex size-[26px] shrink-0 items-center justify-center rounded text-text-subtle hover:bg-surface-hover hover:text-foreground disabled:opacity-40 max-md:size-11`}),h&&m&&(0,$.jsx)(ry,{title:`More`,icon:xe,entries:Ob(h,m),className:`flex size-[26px] shrink-0 items-center justify-center rounded text-text-subtle hover:bg-surface-hover hover:text-foreground disabled:opacity-40 max-md:size-11`})]}),_&&u?(0,$.jsx)($y,{focused:u,current:h?m:null}):(0,$.jsxs)($.Fragment,{children:[S&&g&&C!==null&&(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 pr-2 pb-1.5 pl-2.5 text-xs text-text-secondary max-md:pr-2.5 max-md:pb-2 max-md:pl-3 max-md:text-[13px]`,children:[(0,$.jsx)(`label`,{htmlFor:`${ne}-schema`,children:`Schema`}),(0,$.jsxs)(`span`,{className:`relative flex min-w-0 flex-1`,children:[(0,$.jsx)(`select`,{id:`${ne}-schema`,value:C,onChange:e=>ts({schemas:{...p.schemas,[g]:e.target.value}}),className:`h-[26px] w-full min-w-0 appearance-none rounded-[5px] border border-border bg-input pr-[26px] pl-2 font-mono text-xs text-foreground outline-none focus:border-primary max-md:h-11 max-md:text-sm`,children:x.map(e=>(0,$.jsxs)(`option`,{value:e.schema,children:[e.schema,` (`,e.count,`)`]},e.schema))}),(0,$.jsx)(We,{className:`pointer-events-none absolute top-1/2 right-1.5 size-3.5 -translate-y-1/2 text-text-subtle`})]})]}),(0,$.jsxs)(Ia,{children:[(0,$.jsx)(La,{asChild:!0,children:(0,$.jsxs)(`div`,{ref:te,role:`tree`,"aria-label":`Tables, views, functions`,tabIndex:0,"aria-activedescendant":N&&L.some(e=>e.key===N)?my(ne,N):void 0,onKeyDown:me,onFocus:e=>{if(e.target!==e.currentTarget||N&&L.some(e=>e.key===N))return;let t=L.find(e=>e.key===ee)??L.find(Mb);t&&P(t.key)},...he.listProps,className:`group/tree min-h-0 flex-1 overflow-y-auto pb-2.5 outline-none`,children:[(0,$.jsx)(Ib,{hasCurrent:!!h&&!!m,connName:h?.name??``,connStatus:v,listState:y,searching:ce,query:d,emptyName:C??_e??``,hasRows:L.length>0,hiddenByRows:p.onlyWithRows&&!!b&&b.objects.some(e=>C===null||e.schema===C),readingColumns:T&&E?.state===`loading`,columnsError:T&&E?.state===`error`?E.message:null,onRetry:()=>{m&&(y?.state===`error`?Zo(m,{force:!0}):Vo(m,{focus:!1}))},onNewTable:se}),L.map(e=>(0,$.jsx)(Rb,{row:e,domId:my(ne,e.key),cursor:N===e.key,selected:ee===e.key,matchName:ve,matchColumn:ye,onClick:pe,onToggleColumns:de,onRetryColumns:e=>{let t=L.find(t=>t.kind===`object`&&t.key===e);t&&m&&Go(m,t.nodeKey,t.object)}},e.key))]})}),he.entries&&(0,$.jsx)(ny,{entries:he.entries})]}),L.length>0&&(0,$.jsxs)(`div`,{className:`mx-3.5 mt-2 mb-2.5 hidden shrink-0 items-center gap-1.5 text-xs text-text-subtle max-md:flex`,children:[(0,$.jsx)(ln,{className:`size-3.5`}),`Long-press any row for its menu`]})]})]})]})}function Ib(e){if(!e.hasCurrent)return(0,$.jsx)(fy,{children:`No database selected. Click a database under Connections to list its tables.`});let t=e.listState?.state===`error`?e.listState:e.connStatus?.state===`error`?e.connStatus:null;return t?(0,$.jsxs)(fy,{children:[(0,$.jsxs)(`span`,{className:`text-error`,children:[`Error connecting `,e.connName,t.driver?``:`: ${t.message}`]}),t.driver&&(0,$.jsx)(vy,{compact:!0,driver:t.driver}),(0,$.jsx)(`button`,{type:`button`,className:py,onClick:e.onRetry,children:`Retry`})]}):e.listState?.state===`ready`?e.readingColumns?(0,$.jsx)(fy,{children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,$.jsx)(z,{className:`size-3.5 animate-spin`}),`Reading columns…`]})}):e.columnsError?(0,$.jsx)(fy,{children:(0,$.jsxs)(`span`,{className:`text-error`,children:[`Could not read the columns: `,e.columnsError]})}):e.hasRows?null:e.searching?(0,$.jsxs)(fy,{children:[`No table, view or routine matches “`,e.query.trim(),`”.`,(0,$.jsx)(`button`,{type:`button`,className:py,onClick:()=>es(``),children:`Clear search`})]}):e.hiddenByRows?(0,$.jsxs)(fy,{children:[`No table in `,e.emptyName,` has rows.`,(0,$.jsx)(`button`,{type:`button`,className:py,onClick:()=>ts({onlyWithRows:!1}),children:`Show every table`})]}):(0,$.jsxs)(fy,{children:[e.emptyName,` has no tables yet.`,e.onNewTable&&(0,$.jsx)(`button`,{type:`button`,className:`text-primary underline-offset-2 hover:underline max-md:min-h-11`,onClick:e.onNewTable,children:`New table`})]}):(0,$.jsx)(fy,{children:(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[(0,$.jsx)(z,{className:`size-3.5 animate-spin`}),e.connStatus?.state===`connecting`?`Connecting to ${e.connName}…`:`Loading…`]})})}var Lb=`mx-1 flex min-h-6 items-center gap-[5px] pr-1.5 pl-[calc(2px+var(--d)*16px)] text-xs max-md:min-h-10 max-md:pl-[calc(6px+var(--d)*18px)]`;function Rb({row:e,domId:t,cursor:n,selected:r,matchName:i,matchColumn:a,onClick:o,onToggleColumns:s,onRetryColumns:c}){switch(e.kind){case`group`:return(0,$.jsxs)(uy,{id:t,rowKey:e.key,depth:0,level:1,expanded:e.open,cursor:n,className:`text-xs font-semibold max-md:text-[13px]`,onClick:t=>o(e,t),children:[(0,$.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center text-text-subtle`,children:e.open?(0,$.jsx)(We,{className:`size-3.5`}):(0,$.jsx)(Ne,{className:`size-3.5`})}),(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:e.label}),(0,$.jsx)(dy,{children:e.count})]});case`object`:{let a=e.object,c=kb[a.kind];return(0,$.jsxs)(uy,{id:t,rowKey:e.key,depth:1,level:2,expanded:e.expandable?e.expanded:void 0,selected:r,cursor:n,title:a.kind===`trigger`&&a.table?`${a.name} on ${a.table}`:void 0,onClick:t=>o(e,t),children:[(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`flex size-4 shrink-0 items-center justify-center rounded-[3px] text-text-subtle`,onClick:e.expandable?t=>{t.stopPropagation(),s(e)}:void 0,children:e.expandable&&(e.expanded?(0,$.jsx)(We,{className:`size-3.5`}):(0,$.jsx)(Ne,{className:`size-3.5`}))}),(0,$.jsx)(c,{className:G(`size-[15px] shrink-0 text-text-subtle`,r&&`text-primary`)}),(0,$.jsxs)(`span`,{className:`min-w-0 truncate`,children:[(0,$.jsx)(ly,{text:a.name,query:i}),e.showArgs&&(0,$.jsxs)(`span`,{className:`text-text-subtle`,children:[`(`,a.args,`)`]})]}),a.rowEstimate!==void 0&&(0,$.jsx)(dy,{title:`Estimated row count`,children:mo(a.rowEstimate)})]})}case`column`:{let r=e.column;return(0,$.jsxs)(uy,{id:t,rowKey:e.key,depth:2,level:3,cursor:n,title:r.fk?`→ ${r.fk}`:void 0,className:`h-6 text-xs text-text-subtle max-md:h-10 max-md:text-[13px]`,onClick:t=>o(e,t),children:[(0,$.jsx)(`span`,{className:`size-4 shrink-0`}),r.pk?(0,$.jsx)(St,{className:`size-[15px] shrink-0 text-warning`,"aria-label":`Primary key`}):r.fk?(0,$.jsx)(nn,{className:`size-[15px] shrink-0 text-info`,"aria-label":`Foreign key`}):(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`grid w-[15px] shrink-0 place-items-center`,children:(0,$.jsx)(`span`,{className:`size-1 rounded-full bg-text-subtle opacity-60`})}),(0,$.jsx)(`span`,{className:`min-w-0 truncate text-text-secondary`,children:(0,$.jsx)(ly,{text:r.name,query:a})}),(0,$.jsx)(dy,{title:r.type,className:`min-w-[4ch] shrink-[1000] truncate font-mono text-[10.5px] max-md:text-[11.5px]`,children:r.type})]})}case`columns-loading`:return(0,$.jsxs)(`div`,{role:`none`,style:{"--d":2},className:G(Lb,`text-text-subtle`),children:[(0,$.jsx)(`span`,{className:`size-4 shrink-0`}),(0,$.jsx)(z,{className:`size-3.5 animate-spin`}),`Loading columns…`]});case`columns-error`:return(0,$.jsxs)(`div`,{role:`none`,style:{"--d":2},title:e.message,className:G(Lb,`py-1 text-error`),children:[(0,$.jsx)(`span`,{className:`size-4 shrink-0`}),(0,$.jsx)(rn,{className:`size-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 break-words`,children:e.message}),(0,$.jsx)(`button`,{type:`button`,className:G(py,`ml-auto shrink-0`),onClick:()=>c(e.objectKey),children:`Retry`})]});case`more`:return(0,$.jsxs)(uy,{id:t,rowKey:e.key,depth:1,level:2,cursor:n,className:`text-xs text-primary max-md:text-[13px]`,onClick:t=>o(e,t),children:[(0,$.jsx)(`span`,{className:`size-4 shrink-0`}),(0,$.jsxs)(`span`,{className:`min-w-0 truncate`,children:[`Show `,Math.min(e.hidden,500).toLocaleString(`en-US`),` more`]}),(0,$.jsxs)(dy,{children:[e.hidden.toLocaleString(`en-US`),` left`]})]})}}var zb=.05;function Bb(e){return Math.round(Math.min(cr,Math.max(ur,e))*100)/100}function Vb({split:e,containerRef:t,onMove:n,onCommit:r}){let[i,a]=(0,Q.useState)(!1),o=(0,Q.useRef)(null),s=()=>{if(!o.current)return;let{share:e}=o.current;o.current=null,a(!1),r(e)};return(0,$.jsxs)(`div`,{role:`separator`,"aria-orientation":`horizontal`,"aria-label":`Resize the two sections`,"aria-valuemin":Math.round(ur*100),"aria-valuemax":Math.round(cr*100),"aria-valuenow":Math.round(e*100),tabIndex:0,"data-dragging":i?``:void 0,onPointerDown:t=>{t.button===0&&(t.preventDefault(),t.currentTarget.setPointerCapture?.(t.pointerId),o.current={share:e},a(!0))},onPointerMove:e=>{let r=t.current?.getBoundingClientRect();!o.current||!r||r.height<=0||(o.current.share=Bb((e.clientY-r.top)/r.height),n(o.current.share))},onPointerUp:s,onPointerCancel:s,onLostPointerCapture:s,onKeyDown:t=>{let n=t.key===`ArrowUp`?e-zb:t.key===`ArrowDown`?e+zb:t.key===`Home`?ur:t.key===`End`?cr:null;n!==null&&(t.preventDefault(),r(Bb(n)))},className:`group/split relative h-[7px] shrink-0 cursor-row-resize touch-none outline-none max-md:hidden`,children:[(0,$.jsx)(`span`,{className:G(`absolute inset-x-0 top-[3px] h-px bg-border group-hover/split:bg-primary group-focus-visible/split:bg-primary`,i&&`bg-primary`)}),(0,$.jsx)(`span`,{className:G(`absolute top-0.5 left-1/2 -ml-3.5 h-[3px] w-7 rounded-sm bg-primary opacity-0 group-hover/split:opacity-100 group-focus-visible/split:opacity-100`,i&&`opacity-100`)})]})}function Hb(){(0,Q.useEffect)(()=>{Bo();let e=e=>{ds(e.detail??{})};return window.addEventListener(to,e),()=>window.removeEventListener(to,e)},[]),(0,Q.useEffect)(()=>{Xo()},[Y(e=>e.activeTabId),Ro(e=>e.loaded)]),Za(Wo)}function Ub({onNavigate:e}={}){Hb();let t=U(e=>e.dbExplorerView),n=(0,Q.useRef)(null),[r,i]=(0,Q.useState)(null),a=Pi()?lr.split:r??t.split,o=!t.connectionsCollapsed,s=!t.objectsCollapsed,c=o&&s;return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsx)(Mm,{icon:mn,title:`Database`,children:(0,$.jsx)($v,{onExport:us,onImport:os})}),(0,$.jsxs)(`div`,{ref:n,className:`flex min-h-0 flex-1 flex-col`,children:[(0,$.jsx)(Yy,{collapsed:!o,onToggleCollapsed:()=>ts({connectionsCollapsed:o}),onNavigate:e,className:c?`shrink-0 grow-0`:o?`flex-1`:`shrink-0`,style:c?{flexBasis:`${a*100}%`}:void 0}),c&&(0,$.jsx)(Vb,{split:a,containerRef:n,onMove:i,onCommit:e=>{i(null),e!==t.split&&ts({split:e})}}),(0,$.jsx)(Fb,{collapsed:!s,onToggleCollapsed:()=>ts({objectsCollapsed:s}),onNavigate:e,className:G(s?`flex-1 basis-0`:`shrink-0`,!c&&`border-t border-border`,`max-md:border-t max-md:border-border`)})]})]})}function Wb(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 Gb({text:e,re:t}){if(!t)return(0,$.jsx)(`span`,{children:e});try{t.lastIndex=0;let n=e.split(t);return t.lastIndex=0,(0,$.jsx)(`span`,{children:n.map((e,n)=>(t.lastIndex=0,t.test(e)?(0,$.jsx)(`mark`,{className:`bg-warning/40 text-foreground rounded-sm`,children:e},n):e))})}catch{return(0,$.jsx)(`span`,{children:e})}}function Kb({active:e,onClick:t,title:n,children:r}){return(0,$.jsx)(`button`,{onClick:t,title:n,className:G(`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 qb({onNavigate:e}={}){let{activeProject:t}=J(sm(e=>({activeProject:e.activeProject}))),n=Y(e=>e.openTab),[r,i]=(0,Q.useState)(``),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(``),[h,g]=(0,Q.useState)(``),[_,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)([]),[C,w]=(0,Q.useState)(0),[T,E]=(0,Q.useState)(!1),[D,O]=(0,Q.useState)(new Set),k=(0,Q.useRef)(null),A=(0,Q.useRef)(null),j=(0,Q.useRef)(null),M=(0,Q.useRef)(0),[N,P]=(0,Q.useState)(null),[ee,F]=(0,Q.useState)(!1),te=JSON.stringify([t?.name,r,a,s,l,p]),ne=(0,Q.useRef)(te);ne.current!==te&&(ne.current=te,M.current++);let I=(0,Q.useCallback)(async(e,n,r,i,a)=>{let o=++M.current;if(P(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 H.get(`${V(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&&Hg({type:`search-succeeded`,projectName:t.name,requestId:String(o),visible:l})}catch(e){if(o!==M.current)return;S([]),P(e instanceof Error?e.message:`Unable to search this project.`)}finally{o===M.current&&E(!1)}},[t]);(0,Q.useEffect)(()=>(A.current&&clearTimeout(A.current),F(!1),P(null),S([]),w(0),E(!1),A.current=setTimeout(()=>I(r,a,s,l,p),300),()=>{M.current++,A.current&&clearTimeout(A.current)}),[r,a,s,l,p,I]),(0,Q.useEffect)(()=>{k.current?.focus()},[]);let L=Wb(r,a,s,l);function re(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 R(e){O(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}async function ie(){if(!t||!r||x.length===0||_)return;v(!0),b(null);let e=0;try{for(let n of x){let i=await H.get(`${V(t.name)}/files/read?path=${encodeURIComponent(n.file)}`),o=Wb(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 H.put(`${V(t.name)}/files/write`,{path:n.file,content:u})}b(e),I(r,a,s,l,p)}catch{}finally{v(!1)}}return(0,$.jsxs)(`div`,{ref:j,"data-onboarding":`search`,className:`flex flex-col h-full`,children:[(0,$.jsxs)(`div`,{className:`p-2 border-b border-border space-y-1.5`,children:[(0,$.jsx)(`div`,{className:`relative flex items-center gap-1`,children:(0,$.jsxs)(`div`,{className:`relative flex-1`,children:[(0,$.jsx)(Ln,{className:`absolute left-2 top-1/2 -translate-y-1/2 size-3.5 text-text-subtle pointer-events-none`}),(0,$.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:G(`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,$.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,$.jsx)($t,{className:`size-3`})})]})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(Kb,{active:a,onClick:()=>o(e=>!e),title:`Match Case (Alt+C)`,children:(0,$.jsx)(pc,{className:`size-3.5`})}),(0,$.jsx)(Kb,{active:s,onClick:()=>{c(e=>!e),l&&u(!1)},title:`Match Whole Word (Alt+W)`,children:(0,$.jsx)(xc,{className:`size-3.5`})}),(0,$.jsx)(Kb,{active:l,onClick:()=>{u(e=>!e),s&&c(!1)},title:`Use Regular Expression (Alt+R)`,children:(0,$.jsx)(_c,{className:`size-3.5`})}),d&&(0,$.jsx)(`span`,{className:`text-[10px] text-destructive ml-1`,children:`Invalid regex`})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsxs)(`div`,{className:`relative flex-1`,children:[(0,$.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,$.jsx)(`button`,{onClick:()=>g(``),className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,$.jsx)($t,{className:`size-3`})})]}),(0,$.jsx)(`button`,{onClick:ie,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,$.jsx)(z,{className:`size-3.5 animate-spin`}):(0,$.jsx)(vc,{className:`size-3.5`})})]}),(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.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,$.jsx)(`button`,{onClick:()=>m(``),className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,$.jsx)($t,{className:`size-3`})})]}),(0,$.jsxs)(`div`,{className:`text-[10px] text-text-subtle h-3`,children:[(T||_)&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(z,{className:`size-2.5 animate-spin`}),_?`Replacing…`:`Searching…`]}),!T&&!_&&y!==null&&(0,$.jsxs)(`span`,{className:`text-success`,children:[y,` replacement`,y===1?``:`s`,` made`]}),N&&(0,$.jsxs)(`span`,{role:`alert`,className:`text-destructive`,children:[`Search failed: `,N,` `,(0,$.jsx)(`button`,{className:`underline`,onClick:()=>void I(r,a,s,l,p),children:`Retry search`})]}),!T&&!_&&!N&&ee&&y===null&&!d&&x.length===0&&(0,$.jsx)(`span`,{children:`No results`}),!T&&!_&&y===null&&C>0&&(0,$.jsxs)(`span`,{children:[C,` result`,C===1?``:`s`,` in `,x.length,` file`,x.length===1?``:`s`]})]})]}),(0,$.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,$.jsxs)(`div`,{children:[(0,$.jsxs)(`button`,{onClick:()=>R(e.file),className:`w-full flex items-center gap-1 px-2 py-1 hover:bg-muted/50 text-left`,children:[t?(0,$.jsx)(Ne,{className:`size-3 shrink-0 text-text-subtle`}):(0,$.jsx)(We,{className:`size-3 shrink-0 text-text-subtle`}),(0,$.jsx)(va,{name:n,className:`size-3.5`}),(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground truncate`,children:n}),(0,$.jsx)(`span`,{className:`text-[10px] text-text-subtle truncate flex-1 min-w-0 ml-1`,children:r}),(0,$.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,$.jsxs)(`button`,{onClick:()=>re(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,$.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0 w-7 text-right pt-px`,children:t.lineNum}),(0,$.jsx)(`span`,{className:`text-xs text-text-secondary truncate font-mono leading-4`,children:(0,$.jsx)(Gb,{text:t.content.trimStart(),re:L})})]},`${e.file}-${t.lineNum}`))]},e.file)})})]})}function Jb(e,t){window.dispatchEvent(new CustomEvent(`ext:tree:expand`,{detail:{viewId:e,itemId:t}}))}function Yb(e,t){window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:t}}))}function Xb({viewId:e,className:t}){let n=rf(t=>t.treeViews[e])??[],r=rf(e=>e.contributions),i=(0,Q.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,$.jsxs)(`div`,{className:G(`flex flex-col h-full`,t),children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-semibold text-text-subtle uppercase tracking-wider`,children:i.name}),(0,$.jsx)(`div`,{className:`flex items-center gap-0.5`,children:i.headerActions.map(e=>{let t=rp(e.icon??Zb(e.command))??Vt;return(0,$.jsx)(`button`,{onClick:()=>Yb(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,$.jsx)(t,{className:`size-3.5`})},e.command)})})]}),(0,$.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0 py-1`,role:`tree`,"aria-label":e,children:n.length===0?(0,$.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-subtle text-center`,children:`No items`}):n.map(t=>(0,$.jsx)(Qb,{item:t,depth:0,viewId:e},t.id))})]})}function Zb(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 Qb({item:e,depth:t,viewId:n}){let[r,i]=(0,Q.useState)(!1),a=e.collapsibleState!==`none`,o=(0,Q.useRef)(!1);e.children&&e.children.length>0&&!o.current&&(o.current=!0,r||i(!0));let s=(0,Q.useCallback)(()=>{if(!a)return;let t=!r;i(t),t&&(!e.children||e.children.length===0)&&Jb(n,e.id)},[a,r,e.id,e.children,n]),c=(0,Q.useCallback)(()=>{s(),e.command&&Yb(e.command,e.commandArgs)},[s,e.command,e.commandArgs]),l=8+t*16;return(0,$.jsxs)(`div`,{role:`treeitem`,"aria-expanded":a?r:void 0,children:[(0,$.jsxs)(`div`,{className:G(`group/node flex items-center gap-1 py-1 hover:bg-surface-elevated transition-colors`),style:{paddingLeft:l,paddingRight:8},children:[(0,$.jsx)(`button`,{onClick:s,className:`shrink-0 text-text-subtle hover:text-foreground transition-colors`,children:a?r?(0,$.jsx)(We,{className:`size-3`}):(0,$.jsx)(Ne,{className:`size-3`}):(0,$.jsx)(`span`,{className:`size-3`})}),e.color&&(0,$.jsx)(`span`,{className:`shrink-0 size-2 rounded-full border border-border`,style:{backgroundColor:e.color}}),(0,$.jsx)(`button`,{className:`flex-1 text-left text-xs truncate hover:text-primary transition-colors`,onClick:c,children:e.label}),e.description&&(0,$.jsx)(`span`,{className:`shrink-0 ml-1 text-text-subtle text-[10px]`,children:e.description}),e.badge&&(0,$.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,$.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,$.jsx)($b,{action:e},e.command))})]}),a&&r&&e.children&&(0,$.jsx)(`div`,{role:`group`,children:e.children.map(e=>(0,$.jsx)(Qb,{item:e,depth:t+1,viewId:n},e.id))})]})}function $b({action:e}){let[t,n]=(0,Q.useState)(!1),r=rp(e.icon)??Vt,i=e.icon===`trash`;return(0,$.jsx)(`button`,{onClick:(0,Q.useCallback)(t=>{t.stopPropagation(),e.icon===`refresh`&&(n(!0),setTimeout(()=>n(!1),1e3)),Yb(e.command,e.commandArgs)},[e]),className:G(`p-0.5 text-text-subtle transition-colors`,i?`hover:text-error`:`hover:text-foreground`),title:e.tooltip,children:(0,$.jsx)(r,{className:G(`size-3`,t&&`animate-spin`)})})}var ex=sr((e,t)=>({projectsWithIds:[],configs:[],selectedProjectId:null,watchers:[],results:[],unreadCount:0,setSelectedProjectId:t=>e({selectedProjectId:t}),loadProjectsWithIds:async()=>{let t=await H.get(`/api/jira/config/projects`);e({projectsWithIds:Array.isArray(t)?t:[]})},loadConfigs:async()=>{e({configs:await H.get(`/api/jira/config`)})},saveConfig:async(e,n)=>{await H.put(`/api/jira/config/${e}`,n),await t().loadConfigs()},deleteConfig:async t=>{await H.del(`/api/jira/config/${t}`),e(e=>({configs:e.configs.filter(e=>e.projectId!==t),watchers:[]}))},testConnection:async e=>(await H.post(`/api/jira/config/${e}/test`)).connected,loadWatchers:async t=>{e({watchers:await H.get(`/api/jira/watchers?configId=${t}`)})},createWatcher:async e=>{await H.post(`/api/jira/watchers`,e),e.configId&&await t().loadWatchers(e.configId)},updateWatcher:async(e,n)=>{await H.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 H.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 H.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 H.post(`/api/jira/watchers/${e}/pull`);return await t().loadResults(),n},testJql:async(e,t)=>await H.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 H.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 H.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 H.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 H.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 H.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 H.patch(`/api/jira/results/${t}/read`)}catch{}},loadUnreadCount:async()=>{try{e({unreadCount:(await H.get(`/api/jira/results/unread-count`)).count})}catch{}}})),tx={pending:`bg-warning`,queued:`bg-warning/80`,running:`bg-primary animate-pulse`,done:`bg-success`,failed:`bg-error`};function nx(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 rx({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,$.jsxs)(`div`,{className:G(`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,$.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,$.jsx)(`span`,{className:`text-xs font-mono font-semibold text-foreground shrink-0`,children:s.issueKey}),c&&(0,$.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground truncate flex-1 min-w-0`,children:s.issueSummary||`No summary`}),(0,$.jsx)(`span`,{className:`text-[10px] text-muted-foreground/60 tabular-nums shrink-0`,children:nx(s.createdAt)})]}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between min-w-0`,children:[(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] text-muted-foreground`,children:[(0,$.jsx)(`span`,{className:G(`size-1.5 rounded-full shrink-0`,tx[p])}),p]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5 shrink-0`,onClick:e=>e.stopPropagation(),children:[u&&(0,$.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,$.jsx)(It,{className:`size-3`}),(0,$.jsx)(`span`,{children:`Resume`})]}),d&&(0,$.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,$.jsx)(un,{className:`size-3`})}),f&&(0,$.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,$.jsx)(ze,{className:`size-3`})}),s.status===`running`&&(0,$.jsx)(z,{className:`size-3 animate-spin text-primary`}),l&&(0,$.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,$.jsx)(Lt,{className:`size-3`}),(0,$.jsx)(`span`,{children:`Open`})]}),(0,$.jsxs)(ja,{children:[(0,$.jsx)(Da,{asChild:!0,children:(0,$.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,$.jsx)(nt,{className:`size-3`})})}),(0,$.jsx)(ka,{align:`end`,children:(0,$.jsxs)(Ta,{className:`text-destructive`,onClick:()=>a(s.id),children:[(0,$.jsx)(je,{className:`size-3.5 mr-2`}),` Delete`]})})]})]})]})]})}var ix=Q.forwardRef(({className:e,...t},n)=>(0,$.jsx)(C,{className:G(`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,$.jsx)(w,{className:G(`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`)})}));ix.displayName=C.displayName;function ax({...e}){return(0,$.jsx)(S,{"data-slot":`select`,...e})}function ox({...e}){return(0,$.jsx)(F,{"data-slot":`select-value`,...e})}function sx({className:e,size:t=`default`,children:n,...r}){return(0,$.jsxs)(f,{"data-slot":`select-trigger`,"data-size":t,className:G(`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,$.jsx)(E,{asChild:!0,children:(0,$.jsx)(me,{className:`size-4 opacity-50`})})]})}function cx({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){let a=pr();return(0,$.jsx)(ne,{container:a,children:(0,$.jsxs)(k,{"data-slot":`select-content`,className:G(`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,$.jsx)(ux,{}),(0,$.jsx)(y,{className:G(`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,$.jsx)(dx,{})]})})}function lx({className:e,children:t,...n}){return(0,$.jsxs)(T,{"data-slot":`select-item`,className:G(`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,$.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,$.jsx)(b,{children:(0,$.jsx)(Be,{className:`size-4`})})}),(0,$.jsx)(P,{children:t})]})}function ux({className:e,...t}){return(0,$.jsx)(v,{"data-slot":`select-scroll-up-button`,className:G(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,$.jsx)(ie,{className:`size-4`})})}function dx({className:e,...t}){return(0,$.jsx)(te,{"data-slot":`select-scroll-down-button`,className:G(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,$.jsx)(me,{className:`size-4`})})}function fx(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 px={project:[],issueType:[],priority:[],status:[],assignee:[]};function mx({value:e,onChange:t,configId:n}){let[r,i]=(0,Q.useState)(e?`raw`:`builder`),[a,o]=(0,Q.useState)(px),[s,c]=(0,Q.useState)(e),[l,u]=(0,Q.useState)([]),[d,f]=(0,Q.useState)([]),[p,m]=(0,Q.useState)([]),[h,g]=(0,Q.useState)([]),[_,v]=(0,Q.useState)([]),[y,b]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{n&&(b(!0),Promise.all([H.get(`/api/jira/metadata/${n}/projects`).catch(()=>[]),H.get(`/api/jira/metadata/${n}/issuetype`).catch(()=>[]),H.get(`/api/jira/metadata/${n}/priority`).catch(()=>[]),H.get(`/api/jira/metadata/${n}/status`).catch(()=>[]),H.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,Q.useEffect)(()=>{r===`builder`&&t(fx(a))},[a,r]);let x=(0,Q.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,$.jsxs)(`div`,{className:`space-y-2 min-w-0`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(X,{type:`button`,size:`sm`,variant:r===`builder`?`default`:`outline`,onClick:()=>i(`builder`),className:`min-h-[44px] text-xs`,children:`Builder`}),(0,$.jsx)(X,{type:`button`,size:`sm`,variant:r===`raw`?`default`:`outline`,onClick:()=>i(`raw`),className:`min-h-[44px] text-xs`,children:`Raw JQL`}),y&&(0,$.jsx)(z,{className:`size-3.5 animate-spin text-muted-foreground`})]}),r===`raw`?(0,$.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,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(hx,{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,$.jsx)(hx,{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,$.jsx)(hx,{label:`Priority`,field:`priority`,filters:a,onAdd:S,onRemove:C,options:p.map(e=>({value:e.name,label:e.name})),placeholder:`Select priority...`}),(0,$.jsx)(hx,{label:`Status`,field:`status`,filters:a,onAdd:S,onRemove:C,options:h.map(e=>({value:e.name,label:e.name})),placeholder:`Select status...`}),(0,$.jsx)(hx,{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,$.jsx)(`div`,{className:`text-xs text-muted-foreground bg-muted/50 rounded px-2 py-1 font-mono break-all`,children:r===`builder`?fx(a):s||`(empty)`})]})}function hx({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,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:e}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1 flex-wrap`,children:[n[t].map(e=>(0,$.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,$.jsx)(`button`,{type:`button`,onClick:()=>i(t,e),className:`hover:text-destructive`,children:(0,$.jsx)($t,{className:`size-3`})})]},e)),s.length>0?(0,$.jsxs)(ax,{onValueChange:e=>r(t,e),children:[(0,$.jsx)(sx,{className:`h-7 w-auto min-w-[120px] text-xs`,children:(0,$.jsx)(ox,{placeholder:o})}),(0,$.jsx)(cx,{children:s.map(e=>(0,$.jsx)(lx,{value:e.value,children:e.label},e.value))})]}):a.length>0?(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`All selected`}):(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`Loading...`})]})]})}var gx=[{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 _x({configId:e,existing:t,onDone:n}){let{createWatcher:r,updateWatcher:i,testJql:a}=ex(),[o,s]=(0,Q.useState)(t?.name??``),[c,l]=(0,Q.useState)(t?.jql??``),[u,d]=(0,Q.useState)(t?.intervalMs??12e4),[f,p]=(0,Q.useState)(t?.mode??`debug`),[m,h]=(0,Q.useState)(t?.promptTemplate??``),[g,_]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(null),[S,C]=(0,Q.useState)(0),[w,T]=(0,Q.useState)(null),E=!!t;return(0,$.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,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Name`}),(0,$.jsx)(Ja,{value:o,onChange:e=>s(e.target.value),placeholder:`Bug watcher`,className:`h-9`})]}),(0,$.jsx)(mx,{value:c,onChange:l,configId:e}),(0,$.jsxs)(X,{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,$.jsx)(z,{className:`size-4 animate-spin mr-1.5`}):(0,$.jsx)(Ln,{className:`size-4 mr-1.5`}),`Test Filter`]}),w&&(0,$.jsx)(`p`,{className:`text-xs text-destructive bg-destructive/10 rounded-md px-3 py-2`,children:w}),b&&(0,$.jsxs)(`div`,{className:`border rounded-md max-h-48 overflow-hidden`,children:[(0,$.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,$.jsx)(`div`,{className:`overflow-y-auto max-h-[calc(12rem-30px)]`,children:b.length===0?(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`No tickets match this filter.`}):b.map(e=>(0,$.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,$.jsx)(`span`,{className:`font-mono font-medium shrink-0`,children:e.key}),(0,$.jsx)(`span`,{className:`truncate text-muted-foreground flex-1 min-w-0`,children:e.fields.summary}),(0,$.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,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Interval`}),(0,$.jsxs)(ax,{value:String(u),onValueChange:e=>d(Number(e)),children:[(0,$.jsx)(sx,{className:`h-9`,children:(0,$.jsx)(ox,{})}),(0,$.jsx)(cx,{children:gx.map(e=>(0,$.jsx)(lx,{value:String(e.value),children:e.label},e.value))})]})]}),(0,$.jsxs)(`div`,{className:`flex-1`,children:[(0,$.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Mode`}),(0,$.jsxs)(ax,{value:f,onValueChange:e=>p(e),children:[(0,$.jsx)(sx,{className:`h-9`,children:(0,$.jsx)(ox,{})}),(0,$.jsxs)(cx,{children:[(0,$.jsx)(lx,{value:`debug`,children:`Debug + Notify`}),(0,$.jsx)(lx,{value:`notify`,children:`Notify only`})]})]})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Prompt template (optional)`}),(0,$.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,$.jsx)(X,{type:`submit`,size:`sm`,disabled:g||!o||!c,className:`min-h-[44px] w-full`,children:g?(0,$.jsx)(z,{className:`size-4 animate-spin`}):E?`Save Changes`:`Create Watcher`})]})}function vx({configId:e}){let{watchers:t,deleteWatcher:n,toggleWatcher:r,pullWatcher:i}=ex(),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.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,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`h4`,{className:`text-sm font-medium`,children:`Watchers`}),(0,$.jsxs)(_a,{open:a,onOpenChange:o,children:[(0,$.jsx)(ga,{asChild:!0,children:(0,$.jsxs)(X,{size:`sm`,variant:`outline`,className:`min-h-[44px]`,children:[(0,$.jsx)(Ct,{className:`size-4 mr-1`}),` Add`]})}),(0,$.jsxs)(pa,{className:`max-w-md overflow-hidden`,children:[(0,$.jsx)(da,{children:(0,$.jsx)(ma,{children:`New Watcher`})}),(0,$.jsx)(_x,{configId:e,onDone:()=>o(!1)})]})]})]}),t.length===0&&(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`No watchers yet.`}),t.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2 p-2 rounded-md border text-sm`,children:[(0,$.jsx)(ix,{checked:e.enabled,onCheckedChange:t=>r(e.id,t),className:`shrink-0`}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),(0,$.jsx)(`div`,{className:`text-xs text-muted-foreground truncate font-mono`,children:e.jql})]}),(0,$.jsxs)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:[e.mode===`notify`?`notify`:`debug`,` · `,yx(e.intervalMs)]}),(0,$.jsx)(X,{size:`icon`,variant:`ghost`,className:`size-8`,onClick:()=>c(e),children:(0,$.jsx)(On,{className:`size-3.5`})}),(0,$.jsx)(X,{size:`icon`,variant:`ghost`,className:`size-8`,onClick:()=>d(e.id),disabled:l===e.id,children:l===e.id?(0,$.jsx)(z,{className:`size-3.5 animate-spin`}):(0,$.jsx)(un,{className:`size-3.5`})}),(0,$.jsx)(X,{size:`icon`,variant:`ghost`,className:`size-8 text-destructive`,onClick:()=>n(e.id),children:(0,$.jsx)(je,{className:`size-3.5`})})]},e.id)),(0,$.jsx)(_a,{open:!!s,onOpenChange:e=>{e||c(null)},children:(0,$.jsxs)(pa,{className:`max-w-md overflow-hidden`,children:[(0,$.jsx)(da,{children:(0,$.jsx)(ma,{children:`Edit Watcher`})}),s&&(0,$.jsx)(_x,{configId:e,existing:s,onDone:()=>c(null)})]})})]})}function yx(e){return e>=36e5?`${e/36e5}h`:e>=6e4?`${e/6e4}m`:`${e/1e3}s`}function bx({projectId:e,existing:t}){let{saveConfig:n,deleteConfig:r,testConnection:i}=ex(),[a,o]=(0,Q.useState)(t?.baseUrl??``),[s,c]=(0,Q.useState)(t?.email??``),[l,u]=(0,Q.useState)(``);(0,Q.useEffect)(()=>{t&&(o(t.baseUrl),c(t.email))},[t?.baseUrl,t?.email]);let[d,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(!1),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(null);return(0,$.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,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Base URL`}),(0,$.jsx)(Ja,{value:a,onChange:e=>o(e.target.value),placeholder:`https://mysite.atlassian.net`,className:`h-9`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Email`}),(0,$.jsx)(Ja,{value:s,onChange:e=>c(e.target.value),placeholder:`you@company.com`,className:`h-9`})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`label`,{className:`text-xs text-muted-foreground`,children:[`API Token `,t?.hasToken&&(0,$.jsx)(`span`,{className:`text-success`,children:`(saved)`})]}),(0,$.jsx)(Ja,{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,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,$.jsx)(X,{type:`submit`,size:`sm`,disabled:d,className:`min-w-[44px] min-h-[44px]`,children:d?(0,$.jsx)(z,{className:`size-4 animate-spin`}):`Save`}),t&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{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,$.jsx)(z,{className:`size-4 animate-spin`}):`Test Connection`}),(0,$.jsx)(X,{type:`button`,size:`sm`,variant:`destructive`,onClick:()=>r(e),className:`min-h-[44px]`,children:(0,$.jsx)(je,{className:`size-4`})})]}),h===`ok`&&(0,$.jsx)(Kt,{className:`size-4 text-success`}),h===`fail`&&(0,$.jsx)(rn,{className:`size-4 text-error`})]}),_&&(0,$.jsx)(`p`,{className:`text-xs text-error break-all`,children:_})]})}function xx({result:e,onClose:t}){let{watchers:n,startDebug:r}=ex(),[i,a]=(0,Q.useState)(``);return(0,Q.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,$.jsx)(_a,{open:!!e,onOpenChange:e=>{e||t()},children:(0,$.jsxs)(pa,{className:`max-w-md`,children:[(0,$.jsx)(da,{children:(0,$.jsxs)(ma,{children:[`Start Debug: `,e?.issueKey]})}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e?.issueSummary}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Debug Prompt`}),(0,$.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,$.jsx)(X,{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 Sx(){let e=J(e=>e.activeProject),t=Y(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}=ex(),[g,_]=(0,Q.useState)(`tickets`),[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(null),S=l.find(t=>t.name===e?.name),C=n.find(e=>e.projectId===S?.id);(0,Q.useEffect)(()=>{a(),c()},[]),(0,Q.useEffect)(()=>{C&&o(C.id)},[C?.id]);let w=(0,Q.useCallback)(async()=>{y(!0);try{await s()}catch{}y(!1)},[s]);(0,Q.useEffect)(()=>{w(),h()},[C?.id]),(0,Q.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,Q.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,$.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,$.jsxs)(Mm,{icon:de,title:`Jira`,children:[m>0&&(0,$.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,$.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,$.jsx)(z,{className:`size-3.5 animate-spin`}):(0,$.jsx)(Vt,{className:`size-3.5`})}),(0,$.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,$.jsx)(Mn,{className:`size-3.5`})}),(0,$.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,$.jsx)(Fn,{className:`size-3.5`})})]}),(0,$.jsx)(ws,{className:`flex-1 min-h-0`,children:(0,$.jsx)(`div`,{className:`p-1.5 space-y-1.5`,children:C?i.length===0&&r.length===0?(0,$.jsx)(Cx,{message:`No watchers yet`,action:`Add Watcher`,onAction:()=>_(`watchers`)}):i.length===0?(0,$.jsx)(Cx,{message:`No tickets yet. Watchers will pick up new issues.`}):i.map(e=>(0,$.jsx)(rx,{result:e,onDebug:x,onResume:e=>d(e.id),onCancel:e=>f(e.id),onOpenSession:T,onDelete:u,onClick:E},e.id)):(0,$.jsx)(Cx,{message:`No Jira credentials configured`,action:`Set up Jira`,onAction:()=>_(`credentials`)})})}),(0,$.jsx)(xx,{result:b,onClose:()=>x(null)})]}):(0,$.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,$.jsxs)(`div`,{className:`shrink-0 px-2 py-2 flex items-center gap-1.5 border-b border-border/50`,children:[(0,$.jsx)(X,{size:`icon`,variant:`ghost`,className:`size-7`,onClick:()=>_(`tickets`),children:(0,$.jsx)(An,{className:`size-4`})}),(0,$.jsx)(`h2`,{className:`text-sm font-semibold truncate`,children:g===`watchers`?`Watchers`:`Jira Credentials`})]}),(0,$.jsx)(ws,{className:`flex-1 min-h-0`,children:(0,$.jsx)(`div`,{className:`p-3`,children:g===`watchers`?C?(0,$.jsx)(vx,{configId:C.id}):(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`Configure Jira credentials first.`}):S?(0,$.jsx)(bx,{projectId:S.id,existing:C?{baseUrl:C.baseUrl,email:C.email,hasToken:C.hasToken}:null}):(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`Project not found in database.`})})})]}):(0,$.jsx)(`div`,{className:`flex items-center justify-center h-32 p-4`,children:(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground text-center`,children:`Select a project to use Jira`})})}function Cx({message:e,action:t,onAction:n}){return(0,$.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-12 gap-3`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground text-center`,children:e}),t&&n&&(0,$.jsxs)(X,{size:`sm`,variant:`outline`,className:`min-h-[44px]`,onClick:n,children:[(0,$.jsx)(Ct,{className:`size-4 mr-1.5`}),` `,t]})]})}var wx=`/api/ai-resources`;function Tx(e){return H.get(`${wx}?project=${encodeURIComponent(e)}`)}function Ex(e,t){return H.get(`${wx}/content?project=${encodeURIComponent(t)}&path=${encodeURIComponent(e)}`)}function Dx(e,t,n){return H.put(`${wx}/content`,{path:e,content:t,project:n})}function Ox(e,t,n,r){return H.post(wx,{type:e,scope:t,name:n,project:r})}function kx(e,t,n,r,i){return H.post(`${wx}/duplicate`,{path:e,type:t,scope:n,name:r,project:i})}function Ax(e,t,n){return H.del(wx,{path:e,type:t,project:n})}var jx=sr((e,t)=>({project:null,loading:!1,error:null,result:null,load:async n=>{e({project:n,loading:!0,error:null});try{let r=await Tx(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 Mx(){return H.get(`/api/settings/mcp`)}function Nx(e,t){return H.post(`/api/settings/mcp`,{name:e,config:t})}function Px(e,t){return H.put(`/api/settings/mcp/${encodeURIComponent(e)}`,t)}function Fx(e){return H.del(`/api/settings/mcp/${encodeURIComponent(e)}`)}function Ix(){return H.post(`/api/settings/mcp/import`,{})}function Lx(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 Rx(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 zx=[`stdio`,`http`,`sse`];function Bx({open:e,onClose:t,editServer:n}){let r=!!n,[i,a]=(0,Q.useState)(``),[o,s]=(0,Q.useState)(`stdio`),[c,l]=(0,Q.useState)(``),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)([]),[g,_]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(null);(0,Q.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(Vx(e.env))):`url`in e&&(p(e.url||``),h(Vx(e.headers)))}else a(``),s(`stdio`),l(``),d(``),p(``),h([])},[e,n]);let b=()=>{let e=Hx(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=Lx(i);if(e){y(e);return}}let e=b(),n=Rx(e);if(n.length){y(n.join(`; `));return}_(!0);try{r?await Px(i,e):await Nx(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,$.jsx)(_a,{open:e,onOpenChange:e=>{e||t()},children:(0,$.jsxs)(pa,{className:`max-h-[85vh] overflow-y-auto sm:max-w-md`,children:[(0,$.jsxs)(da,{children:[(0,$.jsx)(ma,{className:`text-sm`,children:r?`Edit MCP Server`:`Add MCP Server`}),(0,$.jsx)(ha,{className:`text-[11px]`,children:`Configure a Model Context Protocol server connection.`})]}),(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Name`}),(0,$.jsx)(Ja,{value:i,onChange:e=>a(e.target.value),placeholder:`my-mcp-server`,className:`h-8 text-xs`,disabled:r})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Transport`}),(0,$.jsx)(`div`,{className:`flex gap-1`,children:zx.map(e=>(0,$.jsx)(X,{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,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Command *`}),(0,$.jsx)(Ja,{value:c,onChange:e=>l(e.target.value),placeholder:`npx`,className:`h-8 text-xs`})]}),(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Arguments (space-separated)`}),(0,$.jsx)(Ja,{value:u,onChange:e=>d(e.target.value),placeholder:`@playwright/mcp@latest`,className:`h-8 text-xs`})]})]}):(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`URL *`}),(0,$.jsx)(Ja,{value:f,onChange:e=>p(e.target.value),placeholder:`https://mcp.example.com`,className:`h-8 text-xs`})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:E}),m.map((e,t)=>(0,$.jsxs)(`div`,{className:`flex gap-1 items-center`,children:[(0,$.jsx)(Ja,{value:e.key,onChange:e=>w(t,`key`,e.target.value),placeholder:`KEY`,className:`h-7 text-xs flex-1`}),(0,$.jsx)(Ja,{value:e.value,onChange:e=>w(t,`value`,e.target.value),placeholder:`value`,className:`h-7 text-xs flex-1`}),(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 cursor-pointer`,onClick:()=>C(t),children:(0,$.jsx)($t,{className:`size-3`})})]},t)),(0,$.jsxs)(X,{variant:`outline`,size:`sm`,className:`h-7 text-xs gap-1 cursor-pointer`,onClick:S,children:[(0,$.jsx)(Ct,{className:`size-3`}),` Add `,T?`Variable`:`Header`]})]}),v&&(0,$.jsx)(`p`,{className:`text-[11px] text-destructive`,children:v})]}),(0,$.jsxs)(fa,{children:[(0,$.jsx)(X,{variant:`outline`,size:`sm`,className:`h-8 text-xs cursor-pointer`,onClick:()=>t(),children:`Cancel`}),(0,$.jsx)(X,{size:`sm`,className:`h-8 text-xs cursor-pointer`,onClick:x,disabled:g,children:g?`Saving...`:`Save`})]})]})})}function Vx(e){return e?Object.entries(e).map(([e,t])=>({key:e,value:t})):[]}function Hx(e){let t={};for(let{key:n,value:r}of e)n.trim()&&(t[n.trim()]=r);return t}var Ux={skill:gc,agent:Pn,command:ge},Wx={skill:`Skills`,agent:`Agents`,command:`Commands`},Gx={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`},Kx={project:`Project`,user:`User`,bundled:`Bundled`};function qx({scope:e,className:t}){return(0,$.jsx)(`span`,{className:G(`shrink-0 rounded border px-1 py-px text-[9px] font-medium uppercase leading-none tracking-wide`,Gx[e],t),children:Kx[e]})}var Jx=(0,Q.memo)(function({item:e,active:t,onOpen:n,onDuplicate:r,onDelete:i}){let a=Ux[e.type];return(0,$.jsxs)(Ia,{children:[(0,$.jsx)(La,{asChild:!0,children:(0,$.jsxs)(`button`,{onClick:()=>n(e),className:G(`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,$.jsx)(a,{className:`size-4 shrink-0 text-text-subtle`,strokeWidth:t?2.3:2}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:G(`truncate text-[13px] font-medium`,e.shadowed&&`line-through`),children:e.name}),e.overrides?(0,$.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,$.jsx)(`span`,{className:`shrink-0 text-[9px] text-text-subtle`,children:`shadowed`}):null]}),e.description?(0,$.jsx)(`span`,{className:`block truncate text-[11px] text-text-subtle`,children:e.description}):null]}),(0,$.jsx)(qx,{scope:e.scope})]})}),(0,$.jsxs)(Pa,{className:`w-48`,children:[(0,$.jsx)(Z,{onClick:()=>n(e),children:e.readOnly?`Open (read-only)`:`Open / Edit`}),(0,$.jsx)(Z,{onClick:()=>r(e),children:`Duplicate…`}),!e.readOnly&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Fa,{}),(0,$.jsx)(Z,{variant:`destructive`,onClick:()=>i(e),children:`Delete`})]})]})]})});function Yx({open:e,onOpenChange:t,mode:n,source:r,initialType:i,project:a,hasProject:o,onSuccess:s}){let[c,l]=(0,Q.useState)(`skill`),[u,d]=(0,Q.useState)(o?`project`:`user`),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(!1);(0,Q.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 kx(r.filePath,c,u,f,a):await Ox(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,$.jsx)(_a,{open:e,onOpenChange:t,children:(0,$.jsxs)(pa,{className:`sm:max-w-md`,children:[(0,$.jsxs)(da,{children:[(0,$.jsx)(ma,{children:n===`duplicate`?`Duplicate resource`:`New resource`}),(0,$.jsx)(ha,{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,$.jsxs)(`div`,{className:`space-y-3 py-1`,children:[(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(__,{children:`Type`}),(0,$.jsxs)(ax,{value:c,onValueChange:e=>l(e),disabled:n===`duplicate`,children:[(0,$.jsx)(sx,{children:(0,$.jsx)(ox,{})}),(0,$.jsxs)(cx,{children:[(0,$.jsx)(lx,{value:`skill`,children:`Skill`}),(0,$.jsx)(lx,{value:`agent`,children:`Agent`}),(0,$.jsx)(lx,{value:`command`,children:`Command`})]})]})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(__,{children:`Scope`}),(0,$.jsxs)(ax,{value:u,onValueChange:e=>d(e),children:[(0,$.jsx)(sx,{children:(0,$.jsx)(ox,{})}),(0,$.jsxs)(cx,{children:[(0,$.jsxs)(lx,{value:`project`,disabled:!o,children:[`Project`,o?``:` (no project selected)`]}),(0,$.jsx)(lx,{value:`user`,children:`User (~/.claude)`})]})]})]}),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(__,{children:`Name`}),(0,$.jsx)(Ja,{value:f,autoFocus:!0,placeholder:`my-resource`,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_()}}),f&&!g&&(0,$.jsx)(`p`,{className:`text-[11px] text-destructive`,children:`Use letters, numbers, dots, dashes, underscores (no spaces or slashes).`})]})]}),(0,$.jsxs)(fa,{children:[(0,$.jsx)(X,{variant:`ghost`,onClick:()=>t(!1),disabled:m,children:`Cancel`}),(0,$.jsx)(X,{onClick:_,disabled:!g||m,children:m?`Working…`:n===`duplicate`?`Duplicate`:`Create`})]})]})})}function Xx({open:e,kind:t,name:n,folderWarning:r,onCancel:i,onConfirm:a}){return(0,$.jsx)(_a,{open:e,onOpenChange:e=>{e||i()},children:(0,$.jsxs)(pa,{className:`sm:max-w-md`,children:[(0,$.jsxs)(da,{children:[(0,$.jsxs)(ma,{children:[`Delete `,t,`?`]}),(0,$.jsxs)(ha,{children:[`This permanently deletes `,(0,$.jsx)(`span`,{className:`font-medium text-foreground`,children:n}),r?` and its entire skill folder`:``,`. This cannot be undone.`]})]}),(0,$.jsxs)(fa,{children:[(0,$.jsx)(X,{variant:`ghost`,onClick:i,children:`Cancel`}),(0,$.jsx)(X,{variant:`destructive`,onClick:a,children:`Delete`})]})]})})}function Zx(e,t){let n=Y.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 Qx(){let[e,t]=(0,Q.useState)([]),[n,r]=(0,Q.useState)(!0),i=(0,Q.useCallback)(async()=>{try{t(await Mx())}catch{}finally{r(!1)}},[]);return(0,Q.useEffect)(()=>{i()},[i]),{servers:e,loading:n,reload:i,remove:(0,Q.useCallback)(async e=>{await Fx(e),await i()},[i])}}function $x({servers:e,showActions:t,importing:n,onAdd:r,onImport:i,onEdit:a,onDelete:o}){return e.length===0&&!t?null:(0,$.jsxs)(`div`,{className:`pb-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-text-subtle`,children:[(0,$.jsx)(`span`,{children:`MCP Servers`}),(0,$.jsx)(`span`,{className:`text-text-subtle/60`,children:e.length})]}),e.map(e=>(0,$.jsxs)(Ia,{children:[(0,$.jsx)(La,{asChild:!0,children:(0,$.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,$.jsx)(wn,{className:`size-4 shrink-0 text-text-subtle`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),(0,$.jsx)(`span`,{className:`block truncate text-[11px] text-text-subtle`,children:eS(e)})]}),(0,$.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,$.jsxs)(Pa,{className:`w-40`,children:[(0,$.jsx)(Z,{onClick:()=>a(e),children:`Edit…`}),(0,$.jsx)(Fa,{}),(0,$.jsx)(Z,{variant:`destructive`,onClick:()=>o(e),children:`Delete`})]})]},e.name)),e.length===0&&t&&(0,$.jsx)(`p`,{className:`px-2 py-2 text-[11px] text-text-subtle`,children:`No MCP servers configured.`}),t&&(0,$.jsxs)(`div`,{className:`flex flex-col gap-1 px-2 pt-1.5`,children:[(0,$.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,$.jsx)(Ct,{className:`size-3.5`}),` Add MCP server`]}),(0,$.jsxs)(`button`,{onClick:i,disabled:n,className:G(`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,$.jsx)(Ht,{className:`size-3.5`}),` `,n?`Importing…`:`Import from Claude Code`]})]})]})}function eS(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 tS({onCreate:e,onAddMcp:t,onImportMcp:n}){return(0,$.jsxs)(ja,{children:[(0,$.jsx)(Da,{asChild:!0,children:(0,$.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,$.jsx)(Ct,{className:`size-3`}),` New`]})}),(0,$.jsxs)(ka,{align:`end`,className:`w-44`,children:[(0,$.jsxs)(Ta,{onClick:()=>e(`skill`),children:[(0,$.jsx)(gc,{className:`size-3.5`}),` New Skill`]}),(0,$.jsxs)(Ta,{onClick:()=>e(`agent`),children:[(0,$.jsx)(Pn,{className:`size-3.5`}),` New Agent`]}),(0,$.jsxs)(Ta,{onClick:()=>e(`command`),children:[(0,$.jsx)(ge,{className:`size-3.5`}),` New Command`]}),(0,$.jsx)(Ea,{}),(0,$.jsxs)(Ta,{onClick:t,children:[(0,$.jsx)(wn,{className:`size-3.5`}),` New MCP Server`]}),(0,$.jsxs)(Ta,{onClick:n,children:[(0,$.jsx)(Ht,{className:`size-3.5`}),` Import MCP…`]})]})]})}function nS(e,t=!1){let n=new URLSearchParams;e&&n.set(`project`,e),t&&n.set(`fresh`,`1`);let r=n.toString();return H.get(`/api/mcp-auth/status${r?`?${r}`:``}`)}function rS(e,t){return H.post(`/api/mcp-auth/start`,{server:e,project:t,origin:window.location.origin})}function iS(e){return H.get(`/api/mcp-auth/flows/${encodeURIComponent(e)}`)}function aS(e,t){return H.post(`/api/mcp-auth/flows/${encodeURIComponent(e)}/callback`,{url:t})}function oS(e){return H.post(`/api/mcp-auth/flows/${encodeURIComponent(e)}/confirm`,{})}function sS(e){return H.del(`/api/mcp-auth/flows/${encodeURIComponent(e)}`)}var cS=2e3;function lS(e){return e?.status===`waiting`||e?.status===`completing`}function uS(e,t,n){let[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)(null),d=(0,Q.useRef)(null),f=(0,Q.useRef)(n);f.current=n;let p=(0,Q.useRef)(null),m=(0,Q.useCallback)(e=>{let t=d.current;t?.id===e.id&&!lS(t)&&lS(e)||(d.current=e,i(e),e.status===`done`&&p.current!==e.id&&(p.current=e.id,U.getState().undismissMcpSignIn(e.serverName),f.current?.(e.serverName)))},[]),h=(0,Q.useRef)(0),g=(0,Q.useCallback)(async()=>{if(!e)return;let n=++h.current;o(!0),u(null),i(null),d.current=null;try{let r=await rS(e,t);if(n!==h.current){lS(r)&&sS(r.id).catch(()=>{});return}m(r)}catch(e){n===h.current&&u(e.message)}finally{n===h.current&&o(!1)}},[e,t,m]);(0,Q.useEffect)(()=>{if(e)return g(),()=>{h.current++;let e=d.current;e&&lS(e)&&sS(e.id).catch(()=>{}),d.current=null}},[e,g]);let _=r?.id,v=lS(r);(0,Q.useEffect)(()=>{if(!_||!v)return;let e=setInterval(()=>{iS(_).then(m).catch(e=>{let t=d.current;t?.id===_&&m({...t,status:`failed`,authUrl:void 0,error:e.message})})},cS);return()=>clearInterval(e)},[_,v,m]);let y=(0,Q.useCallback)(async e=>{let t=d.current;if(t){c(!0),u(null);try{m(await e(t.id))}catch(e){u(e.message)}finally{c(!1)}}},[m]);return{flow:r,starting:a,busy:s,error:l,retry:g,submitCallback:(0,Q.useCallback)(e=>y(t=>aS(t,e)),[y]),confirm:(0,Q.useCallback)(()=>y(oS),[y])}}var dS=`https://claude.ai/settings/connectors`;function fS(e,t){return t===`claudeai`||e.startsWith(`claude.ai `)}function pS({serverName:e,project:t,onClose:n,onSignedIn:r}){let i=Pi(),a=e!==null,o=e?`Sign in to ${e}`:`Sign in`,s=e!==null&&fS(e),c=uS(s?null:e,t,r),l=e?s?(0,$.jsx)(hS,{onClose:n}):(0,$.jsx)(mS,{serverName:e,flowState:c,onClose:n},e):null;return i?(0,$.jsx)(Ma,{open:a,onClose:n,className:`popover-solid`,children:(0,$.jsxs)(`div`,{className:`px-4 pb-4 pt-1`,children:[(0,$.jsx)(`h2`,{className:`mb-3 text-base font-semibold`,children:o}),l]})}):(0,$.jsx)(_a,{open:a,onOpenChange:e=>{e||n()},children:(0,$.jsxs)(pa,{className:`sm:max-w-md`,children:[(0,$.jsxs)(da,{children:[(0,$.jsx)(ma,{children:o}),(0,$.jsx)(ha,{children:`Grant PPM's Claude sessions access to this MCP server.`})]}),l]})})}function mS({serverName:e,flowState:t,onClose:n}){let{flow:r,starting:i,busy:a,error:o,retry:s,submitCallback:c,confirm:l}=t,[u,d]=(0,Q.useState)(``);if(i||!r&&!o)return(0,$.jsx)(gS,{icon:(0,$.jsx)(z,{className:`size-4 animate-spin`}),text:`Preparing the sign-in…`});if(!r||r.status===`failed`||r.status===`expired`||r.status===`cancelled`)return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(_S,{text:r?.error??o??`The sign-in did not finish.`}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(X,{className:`h-11 flex-1 md:h-9`,onClick:()=>void s(),children:`Try again`}),(0,$.jsx)(X,{variant:`outline`,className:`h-11 md:h-9`,onClick:n,children:`Close`})]})]});if(r.status===`done`)return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(gS,{icon:(0,$.jsx)(Le,{className:`size-4 text-success`}),text:`Signed in. ${e} is available to Claude — open chats reconnect it on their own.`}),(0,$.jsx)(X,{className:`h-11 w-full md:h-9`,onClick:n,children:`Done`})]});let f=r.error??o;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[r.authUrl&&(0,$.jsx)(X,{asChild:!0,className:`h-11 w-full md:h-9`,children:(0,$.jsxs)(`a`,{href:r.authUrl,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(Lt,{className:`size-4`}),` Open sign-in page`]})}),r.callbackExpected?(0,$.jsx)(gS,{icon:(0,$.jsx)(z,{className:`size-4 animate-spin`}),text:r.redirectScheme===`custom`?`Waiting for you to approve access. The page returns to PPM by itself.`:`Waiting for you to approve access in the browser…`}):(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Grant access on the page that opens, then come back here.`}),(0,$.jsxs)(X,{variant:`outline`,className:`h-11 w-full md:h-9`,disabled:a,onClick:()=>void l(),children:[a?(0,$.jsx)(z,{className:`size-4 animate-spin`}):null,` I've granted access`]})]}),r.callbackExpected&&(0,$.jsxs)(`form`,{className:`space-y-2 rounded-md border border-border p-3`,onSubmit:e=>{e.preventDefault(),u.trim()&&c(u.trim())},children:[(0,$.jsx)(`p`,{className:`text-xs text-text-secondary`,children:r.redirectScheme===`custom`?(0,$.jsx)($.Fragment,{children:`Did the page not come back to PPM? Copy the address the browser ended on after approving and paste it here.`}):(0,$.jsxs)($.Fragment,{children:[`Not on the machine running PPM? After approving, the browser lands on a `,(0,$.jsx)(`code`,{children:`localhost`}),` page that does not load. Copy that page's address and paste it here.`]})}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(Ja,{value:u,onChange:e=>d(e.target.value),placeholder:r.redirectScheme===`custom`?`https://…/callback?code=…`:`http://localhost:…/callback?code=…`,className:`h-11 flex-1 md:h-9`,autoComplete:`off`,spellCheck:!1}),(0,$.jsx)(X,{type:`submit`,variant:`outline`,className:`h-11 md:h-9`,disabled:a||!u.trim(),children:a?(0,$.jsx)(z,{className:`size-4 animate-spin`}):`Submit`})]})]}),f&&(0,$.jsx)(_S,{text:f})]})}function hS({onClose:e}){return(0,$.jsxs)(`div`,{className:`space-y-3`,children:[(0,$.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`This connector belongs to your claude.ai account. Connect it in claude.ai's connector settings, then start a new chat to use it here.`}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(X,{asChild:!0,className:`h-11 flex-1 md:h-9`,children:(0,$.jsxs)(`a`,{href:dS,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(Lt,{className:`size-4`}),` Open claude.ai connectors`]})}),(0,$.jsx)(X,{variant:`outline`,className:`h-11 md:h-9`,onClick:e,children:`Close`})]})]})}function gS({icon:e,text:t}){return(0,$.jsxs)(`div`,{className:`flex items-start gap-2 text-sm text-text-secondary`,children:[(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0`,children:e}),(0,$.jsx)(`span`,{children:t})]})}function _S({text:e}){return(0,$.jsxs)(`div`,{className:`flex items-start gap-2 text-sm text-error`,children:[(0,$.jsx)(_n,{className:`mt-0.5 size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`min-w-0 break-words`,children:e})]})}function vS(e){return fS(e.name,e.scope)?`claude.ai connector`:e.source===`plugin`?`Plugin`:e.scope&&e.scope!==`dynamic`?e.scope:null}function yS({project:e,search:t=``,showWhenEmpty:n=!1}){let[r,i]=(0,Q.useState)([]),[a,o]=(0,Q.useState)(!0),[s,c]=(0,Q.useState)(null),l=(0,Q.useRef)(0),u=(0,Q.useCallback)(async(t=!1)=>{let n=++l.current;o(!0);try{let r=await nS(e,t);n===l.current&&i(r)}catch{n===l.current&&i([])}finally{n===l.current&&o(!1)}},[e]);(0,Q.useEffect)(()=>{u()},[u]);let d=t.trim().toLowerCase(),f=r.filter(e=>e.status===`needs-auth`&&(!d||e.name.toLowerCase().includes(d)));return(0,$.jsxs)($.Fragment,{children:[(f.length>0||n)&&(0,$.jsxs)(`div`,{className:`pb-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-text-subtle`,children:[(0,$.jsx)(`span`,{children:`Needs sign-in`}),(0,$.jsx)(`span`,{className:`text-text-subtle/60`,children:f.length}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void u(!0),disabled:a,className:`ml-auto flex size-6 items-center justify-center rounded hover:bg-surface-elevated disabled:opacity-50 max-md:size-9`,"aria-label":`Check again`,title:`Check again`,children:a?(0,$.jsx)(z,{className:`size-3 animate-spin`}):(0,$.jsx)(Vt,{className:`size-3`})})]}),f.length===0&&(0,$.jsx)(`p`,{className:`px-2 py-1.5 text-[11px] text-text-subtle`,children:a?`Checking MCP servers…`:`No MCP server is waiting for a sign-in.`}),f.map(e=>(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5`,children:[(0,$.jsx)(en,{className:`size-4 shrink-0 text-warning`}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),vS(e)&&(0,$.jsx)(`span`,{className:`block truncate text-[11px] text-text-subtle`,children:vS(e)})]}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>c(e.name),className:`shrink-0 rounded-md bg-primary px-2.5 py-1 text-[11px] font-medium text-primary-foreground hover:bg-primary/90 max-md:min-h-9 max-md:px-3`,children:fS(e.name,e.scope)?`Connect`:`Sign in`})]},e.name))]}),(0,$.jsx)(pS,{serverName:s,project:e,onClose:()=>c(null),onSignedIn:()=>void u(!0)})]})}var bS=[{id:`all`,label:`All`},{id:`skill`,label:`Skills`},{id:`agent`,label:`Agents`},{id:`command`,label:`Commands`},{id:`mcp`,label:`MCP`}];function xS(){let e=J(sm(e=>e.activeProject)),t=e?.path??``,{result:n,loading:r,error:i,load:a,reload:o}=jx(sm(e=>({result:e.result,loading:e.loading,error:e.error,load:e.load,reload:e.reload}))),{tabs:s,activeTabId:c}=Y(sm(e=>({tabs:e.tabs,activeTabId:e.activeTabId}))),{servers:l,reload:u,remove:d}=Qx(),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(`all`),[g,_]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(`skill`),[b,x]=(0,Q.useState)(null),[S,C]=(0,Q.useState)(null),[w,T]=(0,Q.useState)(!1),[E,D]=(0,Q.useState)(null),[O,k]=(0,Q.useState)(null),[A,j]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{a(t)},[t,a]);let M=(0,Q.useMemo)(()=>s.find(e=>e.id===c&&e.type===`ai-resource`)?.metadata?.filePath??null,[s,c]),N=m!==`mcp`,P=m===`all`||m===`mcp`,ee=(0,Q.useMemo)(()=>{if(!n||!N)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,N]),F=(0,Q.useMemo)(()=>{if(!P)return[];let e=f.trim().toLowerCase();return e?l.filter(t=>t.name.toLowerCase().includes(e)||eS(t).toLowerCase().includes(e)):l},[l,f,P]),te=e=>Zx(e,t),ne=async e=>{await o();let n=jx.getState().result?.groups.flatMap(e=>e.items).find(t=>t.filePath===e);n&&Zx(n,t)},I=async()=>{if(S)try{await Ax(S.filePath,S.type,t),B.success(`Deleted ${S.name}`),C(null),await o()}catch(e){B.error(e.message)}},L=e=>{x(null),y(e),_(!0)},re=()=>{D(null),T(!0)},R=e=>{T(!1),D(null),e&&u()},ie=async()=>{if(O)try{await d(O.name),B.success(`Deleted ${O.name}`),k(null)}catch(e){B.error(e.message)}},ae=async()=>{j(!0);try{let e=await Ix();B.success(`Imported ${e.imported}, skipped ${e.skipped}`),await u()}catch(e){B.error(e.message)}finally{j(!1)}},oe=n?.stats,se=ee.length===0&&(!P||F.length===0)&&m!==`mcp`;return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(Mm,{icon:qt,title:`AI Resources`,children:[(0,$.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,$.jsx)(Vt,{className:G(`size-3.5`,r&&`animate-spin`)})}),(0,$.jsx)(tS,{onCreate:L,onAddMcp:re,onImportMcp:ae})]}),(0,$.jsx)(`div`,{className:`px-2 pt-2 shrink-0`,children:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Ln,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-text-subtle`}),(0,$.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,$.jsx)(`div`,{className:`flex gap-1 px-2 py-2 shrink-0`,children:bS.map(e=>(0,$.jsx)(`button`,{onClick:()=>h(e.id),className:G(`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,$.jsxs)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:[P&&(0,$.jsx)(yS,{project:e?.name,search:f}),i?(0,$.jsx)(`div`,{className:`p-4 text-center text-xs text-destructive`,children:i}):r&&!n?(0,$.jsx)(`div`,{className:`space-y-1 p-2`,children:Array.from({length:6}).map((e,t)=>(0,$.jsx)(`div`,{className:`h-9 animate-pulse rounded bg-surface-elevated`},t))}):se?(0,$.jsx)(SS,{hasProject:!!e,search:f}):(0,$.jsxs)($.Fragment,{children:[ee.map(e=>(0,$.jsxs)(`div`,{className:`pb-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-text-subtle`,children:[(0,$.jsx)(`span`,{children:Wx[e.type]}),(0,$.jsx)(`span`,{className:`text-text-subtle/60`,children:e.items.length})]}),e.items.map(e=>(0,$.jsx)(Jx,{item:e,active:M===e.filePath,onOpen:te,onDuplicate:e=>x(e),onDelete:e=>C(e)},`${e.source}:${e.filePath}`))]},e.type)),P&&(0,$.jsx)($x,{servers:F,showActions:m===`mcp`,importing:A,onAdd:re,onImport:ae,onEdit:e=>{D(e),T(!0)},onDelete:e=>k(e)})]})]}),oe&&(0,$.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,$.jsxs)(`span`,{children:[oe.active,` active`]}),(0,$.jsx)(`span`,{children:`·`}),(0,$.jsxs)(`span`,{children:[oe.project,` project`]}),(0,$.jsx)(`span`,{children:`·`}),(0,$.jsxs)(`span`,{children:[oe.shadowed,` shadowed`]})]}),(0,$.jsx)(Yx,{open:g||!!b,onOpenChange:e=>{e||(_(!1),x(null))},mode:b?`duplicate`:`create`,source:b,initialType:v,project:t,hasProject:!!e,onSuccess:ne}),(0,$.jsx)(Xx,{open:!!S,kind:S?.type??``,name:S?.name??``,folderWarning:S?.type===`skill`,onCancel:()=>C(null),onConfirm:I}),(0,$.jsx)(Bx,{open:w,onClose:R,editServer:E}),(0,$.jsx)(Xx,{open:!!O,kind:`MCP server`,name:O?.name??``,onCancel:()=>k(null),onConfirm:ie})]})}function SS({hasProject:e,search:t}){return t?(0,$.jsxs)(`div`,{className:`p-6 text-center text-xs text-text-subtle`,children:[`No resources match “`,t,`”.`]}):(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 p-6 text-center`,children:[(0,$.jsx)(Ee,{className:`size-6 text-text-subtle`}),(0,$.jsx)(`p`,{className:`text-xs font-medium`,children:e?`No resources yet`:`No project selected`}),(0,$.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.`})]})}function CS({code:e}){let[t,n]=(0,Q.useState)(!1),r=async()=>{await ca(e)&&(n(!0),setTimeout(()=>n(!1),1500))};return(0,$.jsxs)(`div`,{className:`flex items-start rounded-md border border-border bg-muted`,children:[(0,$.jsx)(`pre`,{className:`min-w-0 flex-1 overflow-x-auto px-3 py-3 text-xs leading-relaxed`,children:(0,$.jsx)(`code`,{children:e})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void r(),"aria-label":`Copy`,title:`Copy`,className:`flex size-11 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-surface-hover hover:text-foreground`,children:t?(0,$.jsx)(L,{className:`size-4 text-success`}):(0,$.jsx)(jn,{className:`size-4`})})]})}function wS({href:e,children:t,primary:n=!1}){return(0,$.jsxs)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:G(ua({variant:n?`default`:`outline`}),`min-h-11 md:min-h-9`),children:[t,(0,$.jsx)(Lt,{className:`size-3.5`})]})}function TS({open:e,title:t,onClose:n,children:r}){return Pi()?(0,$.jsx)(Ma,{open:e,onClose:n,children:(0,$.jsxs)(`div`,{className:`px-4 pb-4`,children:[(0,$.jsx)(`h2`,{className:`mb-3 text-base font-semibold`,children:t}),r]})}):(0,$.jsx)(_a,{open:e,onOpenChange:e=>{e||n()},children:(0,$.jsxs)(pa,{className:`sm:max-w-md`,"aria-describedby":void 0,children:[(0,$.jsx)(da,{children:(0,$.jsx)(ma,{className:`text-sm`,children:t})}),r]})})}var ES=[{id:`tailscale`,label:`Tailscale`},{id:`public-link`,label:`Public link`},{id:`review-links`,label:`Review links`}],DS=sr(e=>({tab:`tailscale`,setTab:t=>e({tab:t})}));function OS(e){e&&DS.getState().setTab(e),Ii(`remote-access`)}function kS(e,t){if(typeof e!=`string`)return null;let n;try{n=new URL(e)}catch{return null}return n.protocol!==`https:`&&n.protocol!==`http:`||n.origin===t?null:n.href}function AS(e,t){if(e)return`localhost:${e}`;try{return new URL(t).host}catch{return t}}function jS(e){Y.getState().openTab({type:`web-preview`,title:AS(e.port,e.url),projectId:null,closable:!0,metadata:{url:e.url,port:e.port,via:e.via}})}var MS={status:()=>H.get(`/api/tunnel/named/status`),dismiss:()=>H.post(`/api/tunnel/named/dismiss`),zone:()=>H.get(`/api/tunnel/named/zone`),login:(e=!1)=>H.post(`/api/tunnel/named/login${e?`?relogin=1`:``}`),cancelLogin:()=>H.post(`/api/tunnel/named/login/cancel`),setup:e=>H.post(`/api/tunnel/named/setup`,{hostname:e}),disable:()=>H.post(`/api/tunnel/named/disable`)},NS={list:(e=!1)=>H.get(`/api/tunnels${e?`?force=1`:``}`),start:(e,t=`cloudflare`)=>H.post(`/api/tunnels`,{port:e,via:t}),stop:e=>H.del(`/api/tunnels/${e}`),transports:()=>H.get(`/api/tunnels/transports`),allowFraming:e=>H.post(`/api/tunnels/frame-ancestors`,{origin:e})},PS={status:()=>H.get(`/api/tunnel`),setEnabled:e=>H.post(`/api/tunnel/enabled`,{enabled:e})},FS=1e4,IS=[{via:`tailscale`,label:`Tailscale`,hint:`Private: only devices in your tailnet can open it.`},{via:`cloudflare`,label:`Cloudflare`,hint:`Public: anyone with the link can open it.`}],LS=`flex size-11 shrink-0 cursor-pointer items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-surface-hover hover:text-foreground disabled:cursor-default disabled:opacity-50 md:size-8`,RS=e=>e instanceof Error?e.message:String(e);function zS(e){return e?e.available?{status:e.dnsName,done:!0}:{status:e.reason,done:!1}:{status:`Checking…`,done:!1}}function BS(e){return e?e===`error`?{status:`Could not check Cloudflare`,done:!1,warn:!0}:e.certState===`invalid`||e.certState===`mismatch`?{status:`Cloudflare sign-in needed`,done:!1,warn:!0}:e.mode===`named`&&e.hostname?e.tunnelWarning?{status:`${e.hostname} is not in use right now`,done:!0,warn:!0}:{status:e.hostname,done:!0}:{status:`No domain set up`,done:!1}:{status:`Checking…`,done:!1}}function VS({onNavigate:e}={}){let[t,n]=(0,Q.useState)([]),[r,i]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(null),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(null),[y,b]=(0,Q.useState)(null),x=K(e=>Object.values(e.windows).some(e=>e.kind===`settings`)),S=(0,Q.useRef)(x),C=p?.available===!0,w=C?_??`tailscale`:`cloudflare`,T=(0,Q.useCallback)(async(e=!1)=>{e&&o(!0);try{n(await NS.list(e))}catch(e){console.warn(`[port-forwarding] failed to fetch`,e)}finally{i(!0),e&&o(!1)}},[]),E=(0,Q.useCallback)(()=>{NS.transports().then(e=>m(e.tailscale)).catch(()=>m(e=>e??{available:!1,reason:`Could not check Tailscale on the host`})),MS.status().then(e=>g(e)).catch(()=>g(e=>e??`error`))},[]);(0,Q.useEffect)(()=>{S.current&&!x&&E(),S.current=x},[x,E]),(0,Q.useEffect)(()=>{T(),E();let e=setInterval(()=>{document.visibilityState===`visible`&&(T(),E())},FS);return()=>clearInterval(e)},[T,E]);let D=t=>{OS(t),e?.()},O=(t,n,r)=>{jS({url:t,port:n,via:r}),e?.()},k=async e=>{u(!0),f(null);try{let t=await NS.start(e,w);c(``),O(t.url,e,t.via),await T()}catch(t){f(RS(t)||`Could not forward port ${e}`)}finally{u(!1)}},A=async e=>{try{await NS.stop(e.pid),await T()}catch(t){B.error(`Could not stop the forward (pid ${e.pid})`,{description:RS(t)})}},j=e=>{e.preventDefault();let t=parseInt(s,10);t>=1&&t<=65535?k(t):f(`The port must be a number from 1 to 65535.`)};return(0,$.jsxs)(`div`,{className:`flex h-full flex-col`,"data-testid":`port-forwarding-panel`,children:[(0,$.jsx)(Mm,{icon:ye,title:`Port Forwarding`,children:(0,$.jsx)(`button`,{type:`button`,onClick:()=>{T(!0),E()},disabled:a,"aria-label":`Refresh`,title:`Refresh`,className:`flex size-11 shrink-0 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground disabled:opacity-50 md:size-6`,children:(0,$.jsx)(Vt,{className:G(`size-3.5`,a&&`animate-spin`)})})}),(0,$.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[(0,$.jsxs)(`section`,{"aria-label":`Sign-in`,className:`space-y-3 border-b border-border p-3`,children:[(0,$.jsx)(HS,{label:`Tailscale`,state:zS(p),onOpen:()=>D(`tailscale`),testId:`setup-tailscale`}),(0,$.jsx)(HS,{label:`Cloudflare`,state:BS(h),onOpen:()=>D(`public-link`),testId:`setup-cloudflare`})]}),(0,$.jsxs)(`form`,{onSubmit:j,className:`space-y-2 border-b border-border p-3`,children:[(0,$.jsx)(`label`,{htmlFor:`forward-port`,className:`block text-xs text-muted-foreground`,children:`Port on this machine`}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex min-h-11 min-w-0 flex-1 items-center rounded-md border border-input bg-background focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/50 md:min-h-8`,children:[(0,$.jsx)(`span`,{className:`shrink-0 pl-2.5 text-xs text-muted-foreground`,children:`localhost:`}),(0,$.jsx)(`input`,{id:`forward-port`,type:`number`,inputMode:`numeric`,min:1,max:65535,placeholder:`3000`,value:s,onChange:e=>{c(e.target.value),f(null)},className:`min-w-0 flex-1 bg-transparent py-1.5 pr-2.5 text-sm outline-none placeholder:text-muted-foreground [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`})]}),(0,$.jsx)(X,{type:`submit`,disabled:l||!s,className:`h-auto min-h-11 shrink-0 cursor-pointer px-3 md:min-h-8`,children:l?(0,$.jsx)(z,{className:`size-4 animate-spin`}):`Forward`})]}),(0,$.jsx)(`div`,{role:`radiogroup`,"aria-label":`Forward over`,className:`grid grid-cols-2 gap-2`,children:IS.map(e=>{let t=w===e.via;return(0,$.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":t,disabled:e.via===`tailscale`&&!C,title:e.via===`tailscale`&&p&&!p.available?p.reason:void 0,onClick:()=>v(e.via),className:G(`min-h-11 cursor-pointer rounded-md border px-2 text-sm transition-colors disabled:cursor-not-allowed disabled:opacity-50 md:min-h-8 md:text-xs`,t?`border-primary bg-primary/10 font-medium text-primary`:`border-border hover:bg-surface-hover`),children:e.label},e.via)})}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:IS.find(e=>e.via===w).hint}),d&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:d})]}),(0,$.jsxs)(`section`,{className:`space-y-2 p-3`,"data-testid":`port-forwarding-list`,children:[(0,$.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Forwarded`}),r?t.length===0?(0,$.jsxs)(`div`,{className:`rounded-lg border border-dashed border-border px-3 py-6 text-center`,children:[(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground md:text-xs`,children:`Nothing is forwarded yet.`}),(0,$.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`A cloudflared tunnel started outside PPM shows up here too.`})]}):(0,$.jsx)(`ul`,{className:`space-y-2`,children:t.map(e=>(0,$.jsx)(WS,{forward:e,onOpen:t=>O(t,e.port,e.via??`cloudflare`),onStop:()=>e.source===`external`?b(e):void A(e),onShowPublicLink:()=>D(`public-link`)},e.pid))}):(0,$.jsx)(`div`,{className:`flex justify-center py-6`,children:(0,$.jsx)(z,{className:`size-5 animate-spin text-muted-foreground`})})]})]}),(0,$.jsx)(TS,{open:!!y,title:`Stop a tunnel PPM did not start?`,onClose:()=>b(null),children:(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`p`,{className:`text-sm leading-relaxed text-muted-foreground`,children:[`This cloudflared (pid `,y?.pid,`) was started outside PPM, maybe by another app. Stopping it takes `,y?.url??`its link`,` down for everyone using it.`]}),(0,$.jsxs)(`div`,{className:`flex flex-col-reverse gap-2 pt-2 md:flex-row md:justify-end`,children:[(0,$.jsx)(X,{variant:`outline`,onClick:()=>b(null),className:`min-h-11 cursor-pointer md:min-h-9`,children:`Cancel`}),(0,$.jsx)(X,{variant:`destructive`,onClick:()=>{let e=y;b(null),e&&A(e)},className:`min-h-11 cursor-pointer md:min-h-9`,children:`Stop`})]})]})})]})}function HS({label:e,state:t,onOpen:n,testId:r}){return(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,"data-testid":r,"data-done":t.done?`true`:`false`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium md:text-xs`,children:e}),(0,$.jsxs)(`p`,{className:`flex items-start gap-1 text-xs text-muted-foreground`,children:[t.warn&&(0,$.jsx)(_n,{className:`mt-px size-3.5 shrink-0 text-warning`}),(0,$.jsx)(`span`,{className:`min-w-0 wrap-anywhere`,"data-testid":`${r}-status`,children:t.status})]})]}),(0,$.jsx)(X,{variant:t.done?`ghost`:`outline`,onClick:n,className:`h-auto min-h-11 shrink-0 cursor-pointer px-3 text-xs md:min-h-8`,children:t.done?`Manage`:`Set up`})]})}function US({children:e,className:t,title:n}){return(0,$.jsx)(`span`,{title:n,className:G(`shrink-0 rounded px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide`,t),children:e})}function WS({forward:e,onOpen:t,onStop:n,onShowPublicLink:r}){let[i,a]=(0,Q.useState)(!1),o=e.via===`tailscale`,s=async e=>{if(!await ca(e)){B.error(`Could not copy the link`);return}a(!0),setTimeout(()=>a(!1),1500)};return(0,$.jsxs)(`li`,{className:`space-y-1.5 rounded-lg border border-border p-2.5`,"data-testid":`forward-row`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-wrap items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`font-mono text-sm font-medium`,children:e.port==null?`—`:`:${e.port}`}),o?(0,$.jsx)(US,{className:`bg-primary/10 text-primary`,title:`Only devices in your tailnet can open it`,children:`Tailnet`}):(0,$.jsx)(US,{className:`bg-muted text-muted-foreground`,title:`Anyone with the link can open it`,children:`Public`}),e.source===`external`&&(0,$.jsx)(US,{className:`bg-muted text-muted-foreground`,children:`Started outside PPM`})]}),e.protected?(0,$.jsxs)(X,{variant:`ghost`,onClick:r,title:`PPM's own public link: manage it in Settings → Remote Access`,className:`h-auto min-h-11 shrink-0 cursor-pointer gap-1.5 px-2 text-xs text-muted-foreground md:min-h-8`,children:[(0,$.jsx)(ce,{className:`size-3.5`}),` Public link`]}):(0,$.jsx)(`button`,{type:`button`,onClick:n,"aria-label":`Stop`,title:`Stop`,className:G(LS,`hover:bg-destructive/10 hover:text-destructive`),children:(0,$.jsx)(ze,{className:`size-4`})})]}),(0,$.jsxs)(`div`,{className:`flex items-center rounded-md bg-muted pl-2.5`,children:[(0,$.jsx)(`span`,{className:G(`min-w-0 flex-1 truncate text-xs`,!e.url&&`italic text-muted-foreground`),title:e.url??void 0,children:e.url??`Address not known`}),e.url&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`button`,{type:`button`,onClick:()=>t(e.url),"aria-label":`Open in a tab`,title:`Open in a tab`,className:LS,children:(0,$.jsx)(Ut,{className:`size-4`})}),(0,$.jsx)(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`Open in the browser`,title:`Open in the browser`,className:LS,children:(0,$.jsx)(Lt,{className:`size-4`})}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void s(e.url),"aria-label":`Copy link`,title:`Copy link`,className:LS,children:i?(0,$.jsx)(L,{className:`size-4 text-success`}):(0,$.jsx)(jn,{className:`size-4`})})]})]}),(0,$.jsxs)(`p`,{className:`font-mono text-[10px] text-muted-foreground`,children:[`pid `,e.pid]})]})}function GS({projectName:e,onTagsChanged:t}){let[n,r]=(0,Q.useState)([]),[i,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(!0),[c,l]=(0,Q.useState)(null),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(`#22c55e`),[v,y]=(0,Q.useState)(!1),b=`${V(e)}/tags`,x=(0,Q.useCallback)(async()=>{try{let e=await H.get(b);r(e.tags),a(e.defaultTagId)}catch{}s(!1)},[b]);(0,Q.useEffect)(()=>{x()},[x]);let S=(0,Q.useCallback)(()=>{li.getState().refreshTags(fi(e))},[e]),C=async()=>{if(m.trim())try{await H.post(b,{name:m.trim(),color:g}),h(``),y(!1),x(),S(),t?.()}catch{}},w=async e=>{try{await H.patch(`${b}/${e}`,{name:u.trim()||void 0,color:f||void 0}),l(null),x(),S(),t?.()}catch{}},T=async(n,r)=>{if(!window.confirm(`Delete tag "${r}"? Sessions with this tag will become untagged.`))return;let i=fi(e);li.getState().onTagDeleted(i,n),await ri(i,()=>H.del(`${b}/${n}`)),x(),S(),t?.()},E=async e=>{let t=e===i?null:e;try{await H.patch(`${b}/default-tag`,{tagId:t}),a(t),S()}catch{}};return o?(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground animate-pulse`,children:`Loading tags...`}):(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Session Tags`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`button`,{onClick:async()=>{try{await H.post(`${b}/reset`,{}),x(),S(),t?.()}catch{}},className:`p-1 rounded text-text-subtle hover:text-text-secondary`,title:`Reset to defaults`,children:(0,$.jsx)(It,{className:`size-3`})}),(0,$.jsx)(`button`,{onClick:()=>y(!v),className:`p-1 rounded text-primary hover:bg-primary/10`,title:`Add tag`,children:(0,$.jsx)(Ct,{className:`size-3.5`})})]})]}),v&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 px-1`,children:[(0,$.jsx)(`input`,{type:`color`,value:g,onChange:e=>_(e.target.value),className:`size-6 rounded cursor-pointer border-0 p-0`}),(0,$.jsx)(`input`,{value:m,onChange:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&C(),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,$.jsx)(`button`,{onClick:C,className:`p-1 text-success hover:text-success/80`,children:(0,$.jsx)(L,{className:`size-3.5`})}),(0,$.jsx)(`button`,{onClick:()=>y(!1),className:`p-1 text-text-subtle hover:text-text-secondary`,children:(0,$.jsx)($t,{className:`size-3.5`})})]}),(0,$.jsxs)(`div`,{className:`space-y-0.5`,children:[n.map(e=>(0,$.jsx)(`div`,{className:`flex items-center gap-1.5 px-1 py-1 rounded hover:bg-surface-elevated group`,children:c===e.id?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`input`,{type:`color`,value:f,onChange:e=>p(e.target.value),className:`size-5 rounded cursor-pointer border-0 p-0`}),(0,$.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),onKeyDown:t=>{t.key===`Enter`&&w(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,$.jsx)(`button`,{onClick:()=>w(e.id),className:`p-0.5 text-success`,children:(0,$.jsx)(L,{className:`size-3`})}),(0,$.jsx)(`button`,{onClick:()=>l(null),className:`p-0.5 text-text-subtle`,children:(0,$.jsx)($t,{className:`size-3`})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`size-3 rounded-full shrink-0`,style:{backgroundColor:e.color}}),(0,$.jsx)(`span`,{className:`flex-1 text-[11px] text-text-primary truncate`,children:e.name}),(0,$.jsx)(`button`,{onClick:()=>E(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,$.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,$.jsx)(On,{className:`size-3`})}),(0,$.jsx)(`button`,{onClick:()=>T(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,$.jsx)(je,{className:`size-3`})})]})},e.id)),n.length===0&&(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-2 text-center`,children:`No tags. Click + to create one.`})]})]})}function KS(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 qS({snippet:e,className:t}){return(0,$.jsx)(`span`,{className:t,children:KS(e).map((e,t)=>e.mark?(0,$.jsx)(`mark`,{className:`bg-warning/30 text-foreground rounded-sm px-0.5`,children:e.text},t):(0,$.jsx)(`span`,{children:e.text},t))})}var JS=50;function YS({projectName:e,sessionId:t,onSelectSession:n,enableKeyboardShortcuts:r=!1}){let i=ui(e),a=i?ar(i):null;(0,Q.useEffect)(()=>{i&&li.getState().ensure(i)},[i]);let o=li(e=>(a?e.byProject[a]?.sessions:void 0)??oi),s=li(e=>(a?e.byProject[a]?.hasMore:void 0)??!1),c=li(e=>(a?e.byProject[a]?.isSyncing:void 0)??!1),l=li(e=>(a?e.byProject[a]?.tags:void 0)??null),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(``),m=Cu(f,300),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(``),[y,b]=(0,Q.useState)(!1),[x,S]=(0,Q.useState)(null),[C,w]=(0,Q.useState)(!1),T=(0,Q.useRef)(null),[E,D]=(0,Q.useState)([]),[O,k]=(0,Q.useState)(null),[A,j]=(0,Q.useState)(null),M=(0,Q.useRef)(0),N=m?A??[]:o,P=ai([...N,...E]),ee=O??(m?!1:s),F=u||!m&&c;(0,Q.useEffect)(()=>{if(D([]),k(null),!e||!m){j(null);return}let t=++M.current;d(!0),(async()=>{try{let n=new URLSearchParams({limit:String(JS),offset:`0`,q:m}),r=await H.get(`${V(e)}/chat/sessions?${n}`);if(t!==M.current)return;j(r.sessions),k(r.hasMore)}catch{}finally{t===M.current&&d(!1)}})()},[e,m]);let te=(0,Q.useCallback)(async t=>{if(D([]),k(null),e)if(t){d(!0);try{let n=new URLSearchParams({limit:String(JS),offset:`0`,q:t}),r=await H.get(`${V(e)}/chat/sessions?${n}`);j(r.sessions),k(r.hasMore)}catch{}finally{d(!1)}}else i&&(j(null),await li.getState().sync(i))},[e,i]),ne=(0,Q.useCallback)(async()=>{if(!(!e||y||!ee)){b(!0);try{let t=P.filter(e=>!e.pinned).length,n=new URLSearchParams({limit:String(JS),offset:String(t)});m&&n.set(`q`,m);let r=await H.get(`${V(e)}/chat/sessions?${n}`);D(e=>{let t=new Set([...N,...e].map(e=>e.id));return[...e,...r.sessions.filter(e=>!t.has(e.id))]}),k(r.hasMore)}catch{}finally{b(!1)}}},[e,y,ee,P,m,N]),I=(0,Q.useCallback)(async()=>{i&&await li.getState().refreshTags(i)},[i]);function L(t){n&&!t.designSlug?n(t):Lp(t,e)}let re=(0,Q.useCallback)((e,t)=>{t.stopPropagation(),g(e.id),v(e.title||``),setTimeout(()=>T.current?.select(),0)},[]),R=(0,Q.useCallback)(async()=>{if(!h||!_.trim()||!e){g(null);return}let t=_.trim(),n=h,r=i??fi(e);li.getState().renameSession(r,n,t),D(e=>ii(e,n,t)),j(e=>e&&ii(e,n,t)),g(null),await ri(r,()=>H.patch(`${V(e)}/chat/sessions/${n}`,{title:t}))||te(m||void 0)},[h,_,e,i,te,m]),ie=(0,Q.useCallback)(()=>g(null),[]),ae=(0,Q.useCallback)(async(t,n)=>{if(t.stopPropagation(),!e)return;let r=`${V(e)}/chat/sessions/${n.id}/pin`,a=!n.pinned,o=i??fi(e);li.getState().setPinned(o,n.id,a),D(e=>si(e,n.id,a)),j(e=>e&&si(e,n.id,a)),await ri(o,()=>a?H.put(r):H.del(r))||te(m||void 0)},[e,i,te,m]),oe=(0,Q.useCallback)(async(t,n)=>{if(t.stopPropagation(),!e||!window.confirm(`Delete this session? This cannot be undone.`))return;let r=i??fi(e);li.getState().removeSession(r,n.id),D(e=>di(e,n.id)),j(e=>e&&di(e,n.id)),await ri(r,()=>H.del(`${V(e)}/chat/sessions/${n.id}?providerId=${n.providerId}`))||te(m||void 0)},[e,i,te,m]),se=(0,Q.useCallback)((t,n)=>{let r=i??(e?fi(e):null);r&&li.getState().setSessionTag(r,t,n),D(e=>pi(e,t,n)),j(e=>e&&pi(e,t,n)),I()},[I,i,e]),ce=(0,Q.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.`))return;d(!0);let r=i??fi(e);li.getState().removeOlderThan(r,n),await ri(r,()=>H.del(`${V(e)}/chat/sessions?olderThanDays=${n}`)),await te(m||void 0),d(!1)},[e,i,te,m]),le=(0,Q.useMemo)(()=>l?.tags??[],[l]);return(0,Q.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<=le.length&&t){let n=le[r-1];n&&(se(t,{id:n.id,name:n.name,color:n.color}),ri(fi(e),()=>H.patch(`${V(e)}/chat/sessions/${t}/tag`,{tagId:n.id})))}};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[r,le,t,e,se]),{sessions:P,filteredSessions:x===null?P:P.filter(e=>e.tag?.id===x),loading:F,hasMore:ee,loadingMore:y,searchQuery:f,setSearchQuery:p,editingId:h,editingTitle:_,setEditingTitle:v,editInputRef:T,projectTags:le,selectedTagId:x,setSelectedTagId:S,tagCounts:l?.counts??{},showTagSettings:C,setShowTagSettings:w,load:te,loadMore:ne,loadTags:I,openSession:L,startEditing:re,saveTitle:R,cancelEditing:ie,togglePin:ae,deleteSession:oe,handleTagChanged:se,bulkDelete:ce}}var XS={results:[],indexing:{total:0,indexed:0,running:!1}};function ZS(e,t){let n=Cu(t,300),[r,i]=(0,Q.useState)(XS),[a,o]=(0,Q.useState)(!1);return(0,Q.useEffect)(()=>{let t=n.trim();if(!t||!e){i(XS),o(!1);return}let r=!1;return o(!0),H.get(`${V(e)}/chat/search?q=${encodeURIComponent(t)}`).then(e=>{r||i(e)}).catch(()=>{r||i(XS)}).finally(()=>{r||o(!1)}),()=>{r=!0}},[e,n]),{results:r.results,indexing:r.indexing,loading:a,query:n}}function QS({search:e,onOpen:t}){return(0,$.jsxs)(`div`,{children:[e.indexing.running&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1 px-3 py-1 text-[10px] text-text-subtle`,children:[(0,$.jsx)(z,{className:`size-2.5 animate-spin`}),` Indexing `,e.indexing.indexed,`/`,e.indexing.total,`…`]}),e.loading&&e.results.length===0?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,$.jsx)(z,{className:`size-3.5 animate-spin text-text-subtle`})}):e.results.length===0?(0,$.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,$.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,$.jsx)(Wu,{providerId:e.providerId}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`flex items-center gap-1.5`,children:(0,$.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e.title||`Untitled`})}),e.matchedIn===`content`&&e.snippet&&(0,$.jsx)(qS,{snippet:e.snippet,className:`block text-[11px] text-text-subtle line-clamp-2`})]})]},e.sessionId))]})}function $S({projectName:e,variant:t,sessionId:n,onSelectSession:r,onNavigate:i,className:a}){let o=YS({projectName:e,sessionId:n,onSelectSession:r,enableKeyboardShortcuts:t===`bar`}),s=ju(e=>e.notifications),c=ui(e),l=t===`sidebar`,u=ZS(e,l?o.searchQuery:``),d=l&&o.searchQuery.trim().length>0;function f(t){Lp({id:t.sessionId,providerId:t.providerId,title:t.title??void 0,designSlug:t.designSlug},e),i?.()}function p(e){o.openSession(e),i?.()}return(0,$.jsxs)(`div`,{className:G(l?`flex flex-col h-full min-h-0`:`border-t border-border/30 bg-surface`,a),children:[l&&(0,$.jsx)(Mm,{icon:Ze,title:`Chat History`,children:c&&(0,$.jsx)(qu,{project:c})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-2 shrink-0`,children:[(0,$.jsxs)(`div`,{className:`relative flex-1`,children:[(0,$.jsx)(Ln,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-text-subtle`}),(0,$.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,$.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,$.jsx)(Yt,{className:`size-3.5`})}),(0,$.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,$.jsx)(Vt,{className:G(`size-3.5`,o.loading&&`animate-spin`)})})]}),o.projectTags.length>0&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-2 overflow-x-auto scrollbar-none shrink-0`,children:[(0,$.jsxs)(`button`,{onClick:()=>o.setSelectedTagId(null),className:G(`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,$.jsxs)(`button`,{onClick:()=>o.setSelectedTagId(o.selectedTagId===e.id?null:e.id),className:G(`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,$.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,` (`,o.tagCounts[e.id]??0,`)`]},e.id)),(0,$.jsx)(`button`,{onClick:()=>o.setShowTagSettings(!o.showTagSettings),className:G(`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,$.jsx)(rt,{className:`size-3`})})]}),o.showTagSettings&&(0,$.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,$.jsx)(GS,{projectName:e,onTagsChanged:o.loadTags})}),(0,$.jsx)(`div`,{className:l?`flex-1 overflow-y-auto min-h-0`:`max-h-[200px] overflow-y-auto`,children:d?(0,$.jsx)(QS,{search:u,onOpen:f}):o.loading&&o.sessions.length===0?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,$.jsx)(z,{className:`size-3.5 animate-spin text-text-subtle`})}):o.filteredSessions.length===0?(0,$.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,$.jsxs)($.Fragment,{children:[o.filteredSessions.map(t=>{let r=s.get(t.id),i=!!r;return(0,$.jsx)(Fu,{session:t,projectName:e,projectTags:o.projectTags,onTogglePin:o.togglePin,onStartEditing:o.startEditing,onDeleteSession:o.deleteSession,onTagChanged:o.handleTagChanged,children:(0,$.jsxs)(`div`,{className:G(`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&&Au(r.type),!i&&n!==t.id&&`text-text-secondary`),children:[(0,$.jsx)(Wu,{providerId:t.providerId}),t.tag&&(0,$.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:t.tag.color},title:t.tag.name}),o.editingId===t.id?(0,$.jsxs)(`form`,{className:`flex items-center gap-1 flex-1 min-w-0`,onSubmit:e=>{e.preventDefault(),o.saveTitle()},children:[(0,$.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,$.jsx)(`button`,{type:`submit`,className:`p-0.5 text-success hover:text-success/80`,onClick:e=>e.stopPropagation(),children:(0,$.jsx)(L,{className:`size-3`})}),(0,$.jsx)(`button`,{type:`button`,className:`p-0.5 text-text-subtle hover:text-text-secondary`,onClick:e=>{e.stopPropagation(),o.cancelEditing()},children:(0,$.jsx)($t,{className:`size-3`})})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1`,children:(0,$.jsxs)(`button`,{onClick:()=>p(t),className:`w-full min-w-0 text-left`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-1`,children:[t.title?.startsWith(`[PPM]`)&&(0,$.jsx)(Pn,{className:`size-3.5 text-muted-foreground shrink-0`}),(0,$.jsx)(`span`,{className:G(`truncate text-[13px]`,i?`font-semibold`:`font-medium`),children:t.title?.startsWith(`[PPM]`)?t.title.slice(7):t.title||`Untitled`})]}),t.updatedAt&&(0,$.jsx)(`span`,{className:`block text-[11px] text-text-subtle`,children:mi(t.updatedAt)})]})}),(0,$.jsx)(`button`,{onClick:e=>o.togglePin(e,t),className:G(`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,$.jsx)(vt,{className:`size-3`}):(0,$.jsx)(Wt,{className:`size-3`})}),(0,$.jsxs)(`span`,{className:`flex items-center shrink-0 can-hover:hidden can-hover:group-hover:flex`,children:[(0,$.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,$.jsx)(On,{className:`size-3`})}),(0,$.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,$.jsx)(je,{className:`size-3`})})]})]})]})},t.id)}),o.hasMore&&(0,$.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,$.jsx)(z,{className:`size-3 animate-spin`}):null,o.loadingMore?`Loading...`:`Load more`]})]})})]})}var eC={teams:`beta`,"os-explorer":`new`,"remote-desktop":`beta`,designs:`new`,android:`beta`};function tC(e){return e?eC[e]:void 0}function nC({id:e,variant:t=`inline`,className:n}){let r=tC(e);if(!r)return null;let i=r===`new`?`bg-success/15 text-success`:`bg-accent-wash text-primary`;return(0,$.jsx)(`span`,{"aria-label":r,className:G(`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 rC=`/api/group-chat`;function iC(e){return H.get(`${rC}?projectPath=${encodeURIComponent(e)}`)}function aC(e){return H.get(`${rC}/${encodeURIComponent(e)}`)}function oC(e){return H.post(rC,e)}function sC(e,t){return H.patch(`${rC}/${encodeURIComponent(e)}`,t)}function cC(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 H.get(`${rC}/${encodeURIComponent(e)}/feed${r?`?${r}`:``}`)}function lC(e,t){return H.post(`${rC}/${encodeURIComponent(e)}/message`,{content:t})}function uC(e){return H.post(`${rC}/${encodeURIComponent(e)}/stop`)}function dC(e){return H.post(`${rC}/${encodeURIComponent(e)}/resume`)}function fC(e){return H.del(`${rC}/${encodeURIComponent(e)}`)}function pC(e,t){return H.post(`${rC}/${encodeURIComponent(e)}/members`,t)}function mC(e,t,n){return H.patch(`${rC}/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`,n)}function hC(e,t){return H.del(`${rC}/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`)}function gC(e,t){return H.get(`${rC}/${encodeURIComponent(e)}/transcript?sessionRef=${encodeURIComponent(t)}`)}function _C(e){return e.replace(/^Claude\s+/i,``)}function vC({value:e,onChange:t,projectName:n,providerId:r,disabled:i}){let[a,o]=(0,Q.useState)([]),[s,c]=(0,Q.useState)(!1),l=(0,Q.useRef)(null),u=(0,Q.useRef)(0);(0,Q.useEffect)(()=>{!n||!r||H.get(`${V(n)}/chat/providers/${r}/models`).then(o).catch(()=>{})},[n,r]),(0,Q.useEffect)(()=>{i&&c(!1)},[i]),(0,Q.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,Q.useEffect)(()=>{s&&(u.current=Math.max(0,a.findIndex(t=>t.value===e)))},[s,e,a]);let d=(0,Q.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?_C(f.label):e??`Model`;return(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.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,$.jsx)(qt,{className:`h-3.5 w-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`max-w-[90px] truncate`,children:p})]}),s&&!i&&(0,$.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,$.jsx)(`div`,{className:`px-3 py-2 border-b border-border`,children:(0,$.jsx)(`span`,{className:`text-xs font-medium text-text-secondary`,children:`Model`})}),(0,$.jsx)(`div`,{className:`py-1`,children:a.map((n,r)=>{let i=n.value===e;return(0,$.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,$.jsx)(`span`,{className:`flex-1 text-sm font-medium text-text-primary`,children:n.label}),i&&(0,$.jsx)(L,{className:`size-4 shrink-0 text-primary`})]},n.value)})})]})]})}var yC=[`#6366f1`,`#ec4899`,`#14b8a6`,`#f59e0b`,`#8b5cf6`,`#ef4444`];function bC(){return{key:dr(),name:``,persona:``,model:null}}function xC({open:e,onClose:t,projectName:n,projectPath:r,providerId:i=`claude`,onCreated:a}){let o=Pi(),[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(10),[d,f]=(0,Q.useState)(`Leader`),[p,m]=(0,Q.useState)(``),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)([bC()]),[y,b]=(0,Q.useState)(!1),[x,S]=(0,Q.useState)(null),C=(0,Q.useCallback)(()=>{c(``),u(10),f(`Leader`),m(``),g(null),v([bC()]),S(null),b(!1)},[]),w=(0,Q.useCallback)(()=>{C(),t()},[C,t]),T=(e,t)=>v(n=>n.map(n=>n.key===e?{...n,...t}:n)),E=(0,Q.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:yC[0]},...t.map((e,t)=>({role:`member`,name:e.name.trim(),persona:e.persona.trim()||null,model:e.model,color:yC[(t+1)%yC.length]}))];b(!0),S(null);try{a(await oC({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,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-1 py-1`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-text-secondary`,children:`Group name`}),(0,$.jsx)(`input`,{className:D,value:s,onChange:e=>c(e.target.value),placeholder:`e.g. Design Review`,autoFocus:!0})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-text-secondary`,children:`Reply cap (max AI turns per message, 1–50)`}),(0,$.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,$.jsxs)(`div`,{className:`rounded-lg border border-border p-3`,children:[(0,$.jsx)(`p`,{className:`mb-2 text-xs font-semibold uppercase tracking-wide text-primary`,children:`Leader`}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`input`,{className:D,value:d,onChange:e=>f(e.target.value),placeholder:`Leader name`}),(0,$.jsx)(`input`,{className:D,value:p,onChange:e=>m(e.target.value),placeholder:`Persona (optional)`}),(0,$.jsx)(vC,{value:h,onChange:g,projectName:n,providerId:i})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,$.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-wide text-text-secondary`,children:`Members`}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>v(e=>[...e,bC()]),className:`inline-flex min-h-[32px] items-center gap-1 text-xs font-medium text-primary hover:underline`,children:[(0,$.jsx)(Ct,{className:`size-3.5`}),` Add`]})]}),(0,$.jsx)(`div`,{className:`flex flex-col gap-3`,children:_.map((e,t)=>(0,$.jsxs)(`div`,{className:`rounded-lg border border-border p-3`,children:[(0,$.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,$.jsxs)(`span`,{className:`text-[11px] text-text-subtle`,children:[`Member `,t+1]}),_.length>1&&(0,$.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,$.jsx)(je,{className:`size-4`})})]}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,$.jsx)(`input`,{className:D,value:e.name,onChange:t=>T(e.key,{name:t.target.value}),placeholder:`Member name`}),(0,$.jsx)(`input`,{className:D,value:e.persona,onChange:t=>T(e.key,{persona:t.target.value}),placeholder:`Persona (optional)`}),(0,$.jsx)(vC,{value:e.model,onChange:t=>T(e.key,{model:t}),projectName:n,providerId:i})]})]},e.key))})]}),x&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:x}),(0,$.jsxs)(`div`,{className:`flex justify-end gap-2 pt-1`,children:[(0,$.jsx)(X,{variant:`outline`,onClick:w,disabled:y,children:`Cancel`}),(0,$.jsxs)(X,{onClick:E,disabled:y,children:[y&&(0,$.jsx)(z,{className:`mr-1.5 size-4 animate-spin`}),`Create group`]})]})]});return e?o?(0,$.jsx)(Ma,{open:!0,onClose:w,className:`flex max-h-[90vh] flex-col`,children:(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-col px-4 pb-2`,children:[(0,$.jsx)(`h2`,{className:`mb-2 text-base font-semibold text-foreground`,children:`New group`}),O]})}):(0,$.jsx)(_a,{open:!0,onOpenChange:e=>{e||w()},children:(0,$.jsxs)(pa,{className:`flex max-h-[85vh] flex-col sm:max-w-lg`,children:[(0,$.jsx)(da,{children:(0,$.jsx)(ma,{children:`New group`})}),O]})}):null}function SC(){let{activeProject:e}=J(sm(e=>({activeProject:e.activeProject}))),t=q(e=>e.openTab),[n,r]=(0,Q.useState)([]),[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(null),[c,l]=(0,Q.useState)(!1),u=e?.path??null,d=e?.name??``,f=(0,Q.useCallback)(()=>{if(!u){r([]);return}a(!0),iC(u).then(r).catch(e=>s(e instanceof Error?e.message:`Failed to load groups`)).finally(()=>a(!1))},[u]);(0,Q.useEffect)(()=>{f()},[f]);let p=(0,Q.useCallback)(e=>{t({type:`group`,title:e.name,projectId:d,closable:!0,metadata:{groupId:e.id,projectName:d}})},[t,d]),m=(0,Q.useCallback)(async e=>{try{await fC(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,$.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,$.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center justify-between border-b border-border px-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-text-secondary`,children:`Teams`}),(0,$.jsx)(nC,{id:`teams`})]}),(0,$.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,$.jsx)(Ct,{className:`size-4`})})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-1`,children:i?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,$.jsx)(z,{className:`size-4 animate-spin text-primary`})}):o?(0,$.jsx)(`p`,{className:`px-2 py-3 text-xs text-destructive`,children:o}):n.length===0?(0,$.jsx)(`p`,{className:`px-2 py-3 text-xs text-text-subtle`,children:`No groups yet. Create one to start.`}):n.map(e=>(0,$.jsxs)(Ia,{children:[(0,$.jsx)(La,{asChild:!0,children:(0,$.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,$.jsx)(En,{className:`size-4 shrink-0 text-text-subtle`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.name})]})}),(0,$.jsx)(Pa,{children:(0,$.jsxs)(Z,{variant:`destructive`,onClick:()=>m(e),children:[(0,$.jsx)(je,{className:`size-4`}),` Delete group`]})})]},e.id))}),(0,$.jsx)(xC,{open:c,onClose:()=>l(!1),projectName:d,projectPath:u??``,onCreated:e=>{r(t=>[e,...t]),p(e)}})]}):(0,$.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,$.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to view groups`})})}var CC=[{mode:`recent`,label:`Recent`,Icon:kn},{mode:`priority`,label:`Priority`,Icon:Qt},{mode:`name`,label:`Name`,Icon:xn}];function wC(e,t,n){return n===`recent`?ti(e):n===`name`?[...e].sort((e,t)=>e.name.localeCompare(t.name)):ei(e,t)}var TC=/^[a-z0-9][a-z0-9-]{0,62}$/,EC=new Set([`systems`]);function DC(e){return typeof e==`string`&&TC.test(e)&&!EC.has(e)}var OC=[`terminal`,`chat`,`editor`,`database`,`db-structure`,`db-sql`,`sqlite`,`git-diff`,`settings`,`extension`,`group`,`design`];function kC(e){try{return decodeURIComponent(e)}catch{return e}}function AC(e=window.location){let t=e.pathname,n=new URLSearchParams(e.search).get(`openChat`),r=t.match(/^\/project\/([^/]+)(?:\/([^/]+)(\/.*)?)?/);if(!r)return{projectName:null,tabType:null,tabIdentifier:null,openChat:n};let i=kC(r[1]),a=r[2]??null,o=r[3]?r[3].slice(1):null;return a===`tab`?{projectName:i,tabType:null,tabIdentifier:null,openChat:n}:{projectName:i,tabType:OC.includes(a)?a:null,tabIdentifier:o,openChat:n}}function jC(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 MC(e,t){return t?`${e}:${t}`:e}function NC(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`:case`db-structure`:case`db-sql`:return t?br(e,t):null;case`sqlite`:return t?{filePath:t,projectName:n}:null;case`extension`:return t?{viewType:t,projectName:n}:null;case`group`:return t?{groupId:t,projectName:n}:null;case`design`:return DC(t)?jp({projectName:n,designSlug:t}):null;default:return null}}function PC(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`:case`db-structure`:case`db-sql`:{let n=t?br(e,t):null,r=n?.tableName??n?.objectName;return r?kr(hr(n??void 0),void 0,r):`Database`}case`sqlite`:return t?.split(`/`).pop()??`SQLite`;case`extension`:return t?t.split(`-`).map(e=>(e[0]?.toUpperCase()??``)+e.slice(1)).join(` `):`Extension`;case`group`:return`Group`;case`design`:return`Design`;default:return e}}function FC(){if(Fi()||K.getState().restored){Ii();return}let e=K.subscribe(t=>{t.restored&&(e(),Ii())})}function IC(e,t,n){if(e===`settings`){FC();return}let{tabs:r,setActiveTab:i,openTab:a}=Y.getState(),o=MC(e,t),s=r.find(e=>e.id===o);if(s){i(s.id);return}let c=NC(e,t,n);c&&a({type:e,title:PC(e,t),projectId:n,closable:!0,metadata:c})}function LC(){let e=Y(e=>e.activeTabId),t=Y(e=>e.currentProject),n=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{if(n.current){n.current=!1;return}let r=jC(t,e);window.location.pathname!==r&&window.history.pushState(null,``,r)},[e,t]),(0,Q.useEffect)(()=>{function e(){let{tabType:e,tabIdentifier:t}=AC();if(!e)return;n.current=!0;let{tabs:r,setActiveTab:i}=Y.getState(),a=MC(e,t),o=r.find(e=>e.id===a);if(o)i(o.id);else{let n=Y.getState().currentProject;n&&IC(e,t,n)}}return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[])}var RC=[`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 zC(e,t){return e??RC[t%RC.length]}function BC(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 VC=(0,Q.memo)(function({name:e,color:t,image:n,size:r,allNames:i,shape:a=`circle`}){let[o,s]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{s(!1)},[n]);let c=a===`square`?`rounded-[7px]`:`rounded-full`;if(n&&!o){let t=Xn(),i=new URLSearchParams({v:n});return t&&i.set(`token`,t),(0,$.jsx)(`img`,{src:`/api/projects/${encodeURIComponent(e)}/image?${i.toString()}`,alt:e,onError:()=>s(!0),className:G(`object-cover shrink-0 select-none`,c),style:{width:r,height:r}})}return(0,$.jsx)(`div`,{className:G(`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:BC(e,i)})}),HC=`ppm-recent-paths`,UC=5,WC=[{name:`Home`,path:`~`,icon:Dn},{name:`Desktop`,path:`~/Desktop`,icon:Pe},{name:`Documents`,path:`~/Documents`,icon:pe},{name:`Downloads`,path:`~/Downloads`,icon:Ht}];function GC(){try{return JSON.parse(localStorage.getItem(HC)??`[]`)}catch{return[]}}function KC(e){let t=[e,...GC().filter(t=>t!==e)].slice(0,UC);localStorage.setItem(HC,JSON.stringify(t))}function qC(e){return(0,$.jsx)(va,{name:e.name,kind:e.type===`directory`?`directory`:`file`})}function JC(e,t){if(!t?.length)return!0;let n=`.`+e.split(`.`).pop()?.toLowerCase();return t.includes(n)}function YC({open:e,mode:t,accept:n,root:r,title:i,onSelect:a,onCancel:o}){let[s,c]=(0,Q.useState)([]),[l,u]=(0,Q.useState)(``),[d,f]=(0,Q.useState)(null),[p,m]=(0,Q.useState)([]),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)(``),[C,w]=(0,Q.useState)(``),[T,E]=(0,Q.useState)(!1),[D,O]=(0,Q.useState)([]),[k,A]=(0,Q.useState)(null),[j,M]=(0,Q.useState)(!1),[N,P]=(0,Q.useState)(null),ee=(0,Q.useRef)(null),F=(0,Q.useRef)(null),te=typeof window<`u`&&window.innerWidth<768,ne=t===`folder`?`Select Folder`:t===`file`?`Select File`:`Select File or Folder`,I=(0,Q.useCallback)(async(e,t)=>{v(!0),b(null),g(null),S(``);try{let n=new URLSearchParams;e&&n.set(`path`,e),t&&n.set(`showHidden`,`true`);let r=await H.get(`/api/fs/browse?${n}`);c(r.entries),u(r.current),f(r.parent),m(r.breadcrumbs),w(r.current)}catch(e){b(e.message||`Failed to browse directory`)}finally{v(!1)}},[]);(0,Q.useEffect)(()=>{e&&(I(r??`~`,T),O(GC()))},[e,r,I,T]);let L=e=>I(e,T),re=()=>{let e=!T;E(e),I(l||(r??`~`),e)},R=e=>{e.key===`Enter`&&C.trim()&&I(C.trim())},ie=e=>{e.type===`directory`?t===`file`?L(e.path):g(e.path):t!==`folder`&&g(e.path)},ae=e=>{e.type===`directory`&&L(e.path)},oe=()=>{h&&(KC(l),a(h))},se=async()=>{if(!k?.trim()||!l)return;let e=`${l}/${k.trim()}`;M(!0),P(null);try{await H.post(`/api/fs/mkdir`,{path:e}),A(null),P(null),await I(l,T),g(e)}catch(e){P(e.message||`Failed to create folder`)}finally{M(!1)}},ce=async()=>{if(!h)return;let e=s.find(e=>e.path===h);if(!(!e||e.type!==`directory`)&&window.confirm(`Delete folder "${e.name}"? This cannot be undone.`))try{await H.del(`/api/fs/rmdir`,{path:h}),g(null),await I(l,T)}catch(e){b(e.message||`Failed to delete folder`)}},le=h?s.some(e=>e.path===h&&e.type===`directory`):!1,ue=s.filter(e=>!(x&&!e.name.toLowerCase().includes(x.toLowerCase())||e.type===`file`&&n?.length&&!JC(e.name,n))),de=e=>e.type===`directory`?t!==`file`:t!==`folder`,fe=(0,$.jsxs)(`div`,{className:`flex flex-col flex-1 min-h-0`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-2 border-b border-border`,children:[d&&(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:()=>L(d),children:(0,$.jsx)(An,{className:`size-4`})}),(0,$.jsx)(Ja,{value:C,onChange:e=>w(e.target.value),onKeyDown:R,placeholder:`Type path and press Enter`,className:`h-7 text-xs font-mono flex-1`})]}),(0,$.jsx)(`div`,{className:`flex items-center gap-0.5 px-3 py-1.5 border-b border-border overflow-x-auto text-xs`,children:p.map((e,t)=>(0,$.jsxs)(`span`,{className:`flex items-center shrink-0`,children:[t>0&&(0,$.jsx)(Ne,{className:`size-3 text-text-subtle mx-0.5`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>L(e.path),className:`hover:text-primary hover:underline text-text-secondary`,children:e.name})]},e.path))}),(0,$.jsxs)(`div`,{className:`flex flex-1 min-h-0 overflow-hidden`,children:[!te&&(0,$.jsxs)(`div`,{className:`w-36 border-r border-border py-2 px-1 shrink-0 overflow-y-auto`,children:[WC.map(e=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>L(e.path),className:G(`flex items-center gap-2 w-full px-2 py-1 text-xs rounded-md hover:bg-surface-hover text-left`,l.endsWith(e.name)&&`bg-primary/10 text-primary`),children:[(0,$.jsx)(e.icon,{className:`size-3.5`}),e.name]},e.path)),D.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`text-[10px] text-text-subtle px-2 mt-3 mb-1 font-medium`,children:`Recent`}),D.map(e=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>L(e),className:`flex items-center gap-2 w-full px-2 py-1 text-xs rounded-md hover:bg-surface-hover text-left truncate`,children:[(0,$.jsx)(kn,{className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.split(`/`).pop()})]},e))]})]}),(0,$.jsx)(ws,{className:`flex-1 min-h-0`,children:_?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,$.jsx)(z,{className:`size-5 animate-spin text-text-subtle`})}):y?(0,$.jsx)(`div`,{className:`text-center py-8 text-xs text-error`,children:y}):ue.length===0?(0,$.jsx)(`div`,{className:`text-center py-8 text-xs text-text-subtle`,children:x?`No matching entries`:`Empty directory`}):(0,$.jsxs)(`div`,{ref:F,className:`py-1`,children:[k!=null&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 bg-primary/5 border-b border-border`,children:[(0,$.jsx)(Ie,{className:`size-4 text-primary shrink-0`}),(0,$.jsx)(Ja,{ref:ee,value:k,onChange:e=>A(e.target.value),onKeyDown:e=>{e.key===`Enter`&&se(),e.key===`Escape`&&A(null)},placeholder:`Folder name`,className:`h-6 text-xs flex-1`,disabled:j,autoFocus:!0}),j&&(0,$.jsx)(z,{className:`size-3.5 animate-spin text-primary shrink-0`})]}),N&&(0,$.jsx)(`div`,{className:`px-3 py-1 text-[11px] text-destructive bg-destructive/5 border-b border-border`,children:N})]}),ue.map(e=>{let t=de(e);return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>ie(e),onDoubleClick:()=>ae(e),className:G(`flex items-center gap-2 w-full px-3 py-1.5 text-left text-xs transition-colors`,h===e.path?`bg-primary/10 text-primary`:t?`hover:bg-surface-hover text-text-primary`:`opacity-40 cursor-default`),disabled:!t&&e.type===`file`,children:[qC(e),(0,$.jsx)(`span`,{className:G(`flex-1 truncate`,e.type===`directory`&&`font-medium`),children:e.name}),(0,$.jsx)(`span`,{className:`text-text-subtle text-[10px] shrink-0 w-14 text-right`,children:Wa(e.size)}),(0,$.jsx)(`span`,{className:`text-text-subtle text-[10px] shrink-0 w-14 text-right`,children:Ba(e.modified)})]},e.path)})]})})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 border-t border-border shrink-0`,children:[(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:()=>{A(``),P(null),setTimeout(()=>ee.current?.focus(),50)},title:`New Folder`,children:(0,$.jsx)(Ie,{className:`size-3.5`})}),(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 text-destructive/70 hover:text-destructive disabled:opacity-30`,onClick:ce,disabled:!le,title:`Delete selected folder`,children:(0,$.jsx)(je,{className:`size-3.5`})}),(0,$.jsx)(X,{variant:`ghost`,size:`icon`,className:G(`size-7 shrink-0`,T&&`text-primary`),onClick:re,title:T?`Hide hidden files`:`Show hidden files`,children:T?(0,$.jsx)(gt,{className:`size-3.5`}):(0,$.jsx)(Nn,{className:`size-3.5`})}),n?.length?(0,$.jsx)(`span`,{className:`text-[10px] text-text-subtle bg-surface-hover px-1.5 py-0.5 rounded`,children:n.join(`, `)}):null,(0,$.jsx)(`div`,{className:`flex-1 max-w-48`,children:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(Ln,{className:`absolute left-2 top-1/2 -translate-y-1/2 size-3 text-text-subtle`}),(0,$.jsx)(Ja,{value:x,onChange:e=>S(e.target.value),placeholder:`Filter...`,className:`h-6 text-[11px] pl-6`})]})}),(0,$.jsx)(`div`,{className:`flex-1`}),(0,$.jsx)(X,{variant:`outline`,size:`sm`,onClick:o,className:`h-7 text-xs`,children:`Cancel`}),(0,$.jsx)(X,{size:`sm`,onClick:oe,disabled:!h,className:`h-7 text-xs`,children:`Select`})]})]});return(0,$.jsx)(_a,{open:e,onOpenChange:e=>{e||o()},children:(0,$.jsxs)(pa,{className:G(`p-0 gap-0 overflow-hidden flex flex-col`,te?`max-w-[95vw] h-[85vh]`:`max-w-2xl h-[70vh]`),children:[(0,$.jsx)(da,{className:`px-3 py-2 border-b border-border`,children:(0,$.jsx)(ma,{className:`text-sm`,children:i??ne})}),fe]})})}function XC({mode:e,accept:t,root:n,title:r,onSelect:i,className:a}){let[o,s]=(0,Q.useState)(!1);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(X,{type:`button`,variant:`ghost`,size:`icon`,className:G(`size-8 shrink-0`,a),onClick:()=>s(!0),title:r??`Browse...`,children:(0,$.jsx)(Ee,{className:`size-4`})}),(0,$.jsx)(YC,{open:o,mode:e,accept:t,root:n,title:r,onSelect:e=>{i(e),s(!1)},onCancel:()=>s(!1)})]})}function ZC({onSuccess:e,onCancel:t,footerClassName:n}){let{addProject:r}=J(sm(e=>({addProject:e.addProject}))),[i,a]=(0,Q.useState)(`local`),[o,s]=(0,Q.useState)(``),[c,l]=(0,Q.useState)(``),[u,d]=(0,Q.useState)([]),[f,p]=(0,Q.useState)(!1),[m,h]=(0,Q.useState)(!1),[g,_]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(``),[b,x]=(0,Q.useState)(`~/Projects`),[S,C]=(0,Q.useState)(``),[w,T]=(0,Q.useState)(!1),[E,D]=(0,Q.useState)(``),O=(0,Q.useRef)(null),k=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{H.get(`/api/projects/last-clone-dir`).then(e=>{e?.dir&&x(e.dir)}).catch(()=>{})},[]),(0,Q.useEffect)(()=>{if(!v.trim()){C(``);return}let e=v.match(/[/:]([^/:]+?)(?:\.git)?\s*$/);e?.[1]&&C(e[1])},[v]),(0,Q.useEffect)(()=>{if(O.current&&clearTimeout(O.current),!o.trim()){d([]),p(!1);return}O.current=setTimeout(async()=>{h(!0);try{d(await H.get(`/api/projects/suggest-dirs?q=${encodeURIComponent(o)}`)??[]),p(!0)}catch{d([])}finally{h(!1)}},250)},[o]),(0,Q.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 H.post(`/api/projects/git/clone`,{url:v.trim(),targetDir:b.trim(),name:S.trim()||void 0}),{fetchProjects:n,setActiveProject:r}=J.getState();await n();let i=J.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,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,$.jsx)(`div`,{className:`flex gap-1 border-b border-border`,children:[`local`,`clone`].map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>{a(e),D(``)},className:G(`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,$.jsxs)(`form`,{onSubmit:j,className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{ref:k,className:`relative`,children:[(0,$.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Project path`}),(0,$.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,$.jsxs)(`div`,{className:`relative flex items-center flex-1`,children:[(0,$.jsx)(Ee,{className:`absolute left-2.5 size-3.5 text-text-subtle pointer-events-none`}),(0,$.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,$.jsx)(z,{className:`absolute right-2.5 size-3.5 text-text-subtle animate-spin`})]}),(0,$.jsx)(XC,{mode:`folder`,onSelect:e=>{s(e),c||l(e.split(`/`).pop()??``),D(``)}})]}),f&&u.length>0&&(0,$.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,$.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,$.jsx)(`span`,{className:`text-sm font-medium truncate w-full`,children:e.name}),(0,$.jsx)(`span`,{className:`text-xs text-text-subtle truncate w-full`,children:e.path})]},e.path))})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:[`Display name `,(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`(optional)`})]}),(0,$.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,$.jsx)(`p`,{className:`text-xs text-destructive`,children:E}),(0,$.jsxs)(`div`,{className:G(`flex justify-end gap-2 pt-1`,n),children:[(0,$.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,$.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,$.jsxs)(`form`,{onSubmit:M,className:`flex flex-col gap-3`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Git URL`}),(0,$.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,$.jsxs)(`div`,{children:[(0,$.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Clone to`}),(0,$.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,$.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,$.jsx)(XC,{mode:`folder`,onSelect:e=>{x(e),D(``)}})]})]}),(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:[`Name `,(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:`(auto-parsed from URL)`})]}),(0,$.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,$.jsx)(`p`,{className:`text-xs text-destructive`,children:E}),(0,$.jsxs)(`div`,{className:G(`flex justify-end gap-2 pt-1`,n),children:[(0,$.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,$.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,$.jsxs)($.Fragment,{children:[(0,$.jsx)(z,{className:`inline size-3.5 animate-spin mr-1.5`}),`Cloning…`]}):`Clone & Add`})]})]})]})}var QC=(0,Q.memo)(function({name:e,color:t,image:n,size:r,allNames:i,shape:a}){let o=ju((0,Q.useMemo)(()=>Pu(e),[e]));return(0,$.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,$.jsx)(VC,{name:e,color:t,image:n,size:r,allNames:i,shape:a}),o&&(0,$.jsx)(`div`,{className:G(`absolute -top-0.5 -right-0.5 size-2 rounded-full border-2 border-background`,Ou(o))})]})});function $C({current:e,onChange:t}){return(0,$.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:RC.map(n=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>t(n),className:G(`size-8 rounded-full border-2 transition-all`,e===n?`border-primary scale-110`:`border-transparent hover:scale-105`),style:{background:n}},n))})}var ew=(0,Q.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}=J(sm(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=ei(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?zC(m.color,h<0?0:h):`transparent`,[_,v]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(``),x=(0,Q.useRef)(null),[S,C]=(0,Q.useState)(null),w=(0,Q.useCallback)(()=>{if(!_&&x.current){let e=x.current.getBoundingClientRect();C({left:e.left,top:e.bottom+4})}v(e=>!e)},[_]),T=(0,Q.useCallback)(()=>{v(!1),b(``)},[]),[E,D]=(0,Q.useState)(0),O=(0,Q.useRef)(null),k=(0,Q.useMemo)(()=>wC(e,l,u),[e,l,u,_]),A=(0,Q.useMemo)(()=>ni(),[_]),j=y.trim().toLowerCase(),M=j?k.filter(e=>e.name.toLowerCase().includes(j)||e.path.toLowerCase().includes(j)):k,N=u===`priority`&&!j,P=(0,Q.useCallback)(e=>{n(e),T()},[n,T]),ee=(0,Q.useCallback)(e=>{window.open(jC(e.name,null),`_blank`,`noopener`)},[]);(0,Q.useEffect)(()=>{D(0)},[y,u,_]),(0,Q.useEffect)(()=>{O.current?.querySelector(`[data-row-index="${E}"]`)?.scrollIntoView({block:`nearest`})},[E]);let F=(0,Q.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?ee(t):P(t)}else e.key===`Escape`&&(e.preventDefault(),T())},[M,E,ee,P,T]),[te,ne]=(0,Q.useState)(null),[I,L]=(0,Q.useState)(null),[re,R]=(0,Q.useState)(!1),[ie,ae]=(0,Q.useState)(!1),[oe,se]=(0,Q.useState)(``),[ce,le]=(0,Q.useState)(``),[ue,de]=(0,Q.useState)(!1),[fe,pe]=(0,Q.useState)(``),[me,he]=(0,Q.useState)(!1),[ge,_e]=(0,Q.useState)(``),[ye,be]=(0,Q.useState)(``),[xe,Se]=(0,Q.useState)(!1),Ce=(0,Q.useRef)(null),[we,Te]=(0,Q.useState)(null),Ee=(0,Q.useCallback)(async e=>{let t=e.target.files?.[0];if(e.target.value=``,!(!t||!we))try{await i(we,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}},[we,i]),Oe=(0,Q.useCallback)(e=>{se(e),le(e),ae(!0)},[]),ke=(0,Q.useCallback)(e=>{pe(e),de(!0)},[]),Ae=(0,Q.useCallback)((e,t)=>{_e(e),be(t),he(!0)},[]);async function Me(){if(!ce.trim()||ce===oe){ae(!1);return}try{await s(oe,ce.trim())}catch{}ae(!1)}async function Ne(){try{await c(fe)}catch{}de(!1)}async function Pe(){Se(!0);try{await r(ge,ye),he(!1)}catch(e){console.error(`Failed to save color:`,e)}finally{Se(!1)}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`input`,{ref:Ce,type:`file`,accept:`image/*`,className:`hidden`,onChange:Ee}),(0,$.jsxs)(`button`,{ref:x,"data-onboarding":`project`,onClick:w,title:`Switch project`,className:G(`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,$.jsx)(QC,{name:m.name,color:g,image:m.image,size:24,allNames:p,shape:`square`}):(0,$.jsx)(`div`,{className:`size-6 rounded-full bg-surface-elevated shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 flex flex-col text-left leading-tight`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-semibold text-foreground truncate`,children:m?.name??`Select project`}),m?.path&&(0,$.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle truncate`,children:m.path})]}),(0,$.jsx)(ve,{className:`size-3.5 text-text-subtle shrink-0`})]}),_&&S&&(0,yp.createPortal)((0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:T}),(0,$.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,$.jsxs)(`div`,{className:`flex items-center gap-2 px-2.5 py-2 border-b border-border`,children:[(0,$.jsx)(Ln,{className:`size-3.5 text-text-subtle shrink-0`}),(0,$.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,$.jsx)(`div`,{className:`flex items-center gap-1 px-1.5 py-1.5 border-b border-border`,children:CC.map(({mode:e,label:t,Icon:n})=>(0,$.jsxs)(`button`,{onClick:()=>d(e),title:`Sort by ${t.toLowerCase()}`,className:G(`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,$.jsx)(n,{className:`size-3`}),` `,t]},e))}),(0,$.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=zC(e.color,n),i=m?.name===e.name,s=t===E,c=te===n,l=I===n&&te!==n,u=A[e.name];return(0,$.jsxs)(Ia,{children:[(0,$.jsx)(La,{asChild:!0,children:(0,$.jsxs)(`div`,{"data-row-index":t,draggable:N,onDragStart:()=>N&&ne(n),onDragOver:e=>{N&&(e.preventDefault(),L(n))},onDragLeave:()=>L(null),onDragEnd:()=>{ne(null),L(null)},onDrop:()=>{if(N&&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),L(null)},onMouseEnter:()=>D(t),className:G(`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,$.jsxs)(`button`,{onClick:()=>P(e),className:`flex items-center gap-2.5 min-w-0 flex-1 px-2 py-1.5 text-left`,children:[(0,$.jsx)(QC,{name:e.name,color:r,image:e.image,size:26,allNames:p}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:G(`text-[13px] whitespace-nowrap overflow-hidden text-ellipsis`,i?`font-semibold text-primary`:`text-foreground`),children:e.name}),(0,$.jsx)(`div`,{className:`text-[10px] font-mono text-text-subtle whitespace-nowrap overflow-hidden text-ellipsis`,children:e.path})]})]}),u&&(0,$.jsx)(`span`,{title:`Last opened ${new Date(u).toLocaleString()}`,className:`shrink-0 mr-2 text-[10px] text-text-subtle whitespace-nowrap`,children:mi(new Date(u).toISOString())}),(0,$.jsx)(`button`,{onClick:t=>{t.stopPropagation(),ee(e)},title:`Open in new browser tab`,className:G(`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,$.jsx)(Lt,{className:`size-3.5`})})]})}),(0,$.jsxs)(Pa,{children:[(0,$.jsxs)(Z,{onClick:()=>ee(e),children:[(0,$.jsx)(Lt,{className:`size-3.5 mr-2`}),` Open in New Tab`]}),(0,$.jsx)(Fa,{}),(0,$.jsxs)(Z,{onClick:()=>Oe(e.name),children:[(0,$.jsx)(On,{className:`size-3.5 mr-2`}),` Rename`]}),(0,$.jsxs)(Z,{onClick:()=>Ae(e.name,r),children:[(0,$.jsx)(De,{className:`size-3.5 mr-2`}),` Change Color`]}),(0,$.jsxs)(Z,{onClick:()=>{Te(e.name),Ce.current?.click()},children:[(0,$.jsx)(an,{className:`size-3.5 mr-2`}),` Change Image`]}),e.image&&(0,$.jsxs)(Z,{onClick:()=>{a(e.name).catch(()=>{})},children:[(0,$.jsx)(je,{className:`size-3.5 mr-2`}),` Remove Image`]}),(0,$.jsxs)(Z,{onClick:()=>void ca(e.path),children:[(0,$.jsx)(jn,{className:`size-3.5 mr-2`}),` Copy Path`]}),(0,$.jsx)(Fa,{}),(0,$.jsxs)(Z,{className:`text-destructive focus:text-destructive`,onClick:()=>ke(e.name),children:[(0,$.jsx)(je,{className:`size-3.5 mr-2`}),` Delete`]})]})]},e.name)}),M.length===0&&(0,$.jsx)(`div`,{className:`px-2 py-4 text-center text-xs text-text-subtle`,children:`No projects found`})]}),(0,$.jsxs)(`button`,{onClick:()=>{R(!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,$.jsx)(Ct,{className:`size-[15px]`}),` Add Project`]})]})]}),document.body),(0,$.jsx)(_a,{open:re,onOpenChange:R,children:(0,$.jsxs)(pa,{className:`sm:max-w-sm`,children:[(0,$.jsx)(da,{children:(0,$.jsx)(ma,{children:`Add Project`})}),(0,$.jsx)(ZC,{onSuccess:()=>R(!1),onCancel:()=>R(!1)})]})}),(0,$.jsx)(_a,{open:ie,onOpenChange:ae,children:(0,$.jsxs)(pa,{className:`sm:max-w-sm`,children:[(0,$.jsx)(da,{children:(0,$.jsx)(ma,{children:`Rename Project`})}),(0,$.jsx)(`input`,{type:`text`,value:ce,onChange:e=>le(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,$.jsxs)(fa,{children:[(0,$.jsx)(`button`,{onClick:()=>ae(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,$.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,$.jsx)(_a,{open:ue,onOpenChange:de,children:(0,$.jsxs)(pa,{className:`sm:max-w-sm`,children:[(0,$.jsx)(da,{children:(0,$.jsx)(ma,{children:`Delete Project`})}),(0,$.jsxs)(`p`,{className:`text-sm text-text-secondary`,children:[`Remove `,(0,$.jsx)(`strong`,{className:`text-foreground`,children:fe}),` from PPM? The files on disk won't be deleted.`]}),(0,$.jsxs)(fa,{children:[(0,$.jsx)(`button`,{onClick:()=>de(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,$.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,$.jsx)(_a,{open:me,onOpenChange:he,children:(0,$.jsxs)(pa,{className:`sm:max-w-sm`,children:[(0,$.jsx)(da,{children:(0,$.jsx)(ma,{children:`Change Color`})}),(0,$.jsx)($C,{current:ye,onChange:be}),(0,$.jsxs)(fa,{children:[(0,$.jsx)(`button`,{onClick:()=>he(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,$.jsx)(`button`,{onClick:Pe,disabled:xe,className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors disabled:opacity-50`,children:xe?`Saving…`:`Save`})]})]})})]})}),tw=sr(e=>({isOpen:!1,open:()=>e({isOpen:!0}),close:()=>e({isOpen:!1})}));function nw(){let e=K(e=>e.open),t=K(e=>e.focus),n=tw(e=>e.open);return(0,Q.useCallback)(()=>{if(Fi()){n();return}let r=Object.values(K.getState().windows).find(e=>e.kind===`remote-desktop`);r?t(r.id):e(`remote-desktop`)},[e,t,n])}function rw(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 iw=2e3;function aw(e){let t=U(e=>e.minimalMode),[n,r]=(0,Q.useState)(null),[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(0),c=(0,Q.useCallback)(()=>s(e=>e+1),[]);(0,Q.useEffect)(()=>{if(t)return;let e=!1;return H.get(`/api/remote-desktop/capabilities`).then(t=>{e||(r(rw(t)),a(!1))}).catch(()=>{e||a(!0)}),()=>{e=!0}},[o,t]);let l=!!n?.videoReady&&n.inputReady;return(0,Q.useEffect)(()=>{if(t||!e||l)return;let n=setInterval(c,iw);return()=>clearInterval(n)},[e,l,c,t]),{caps:n,failed:i,refresh:c,runHostAction:(0,Q.useCallback)(async(e,t)=>{try{await H.post(`/api/remote-desktop/requirements/${encodeURIComponent(e)}/${t}`)}catch{}c()},[c])}}function ow(){let{caps:e}=aw(!1);return{available:!!e?.platformSupported,authRequired:!!e?.authRequired}}function sw(){let e=Y(e=>e.openTab),t=Y(e=>e.setActiveTab);return(0,Q.useCallback)(()=>{let n=Y.getState().tabs.find(e=>e.type===`android`);if(n){t(n.id);return}e({type:`android`,title:`Android`,projectId:null,closable:!0})},[e,t])}function cw(){let e=U(e=>e.minimalMode),[t,n]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{if(e)return;let t=!1;return H.get(`/api/android/capabilities`).then(e=>{t||n(e)}).catch(()=>{}),()=>{t=!0}},[e]),{available:!e&&!!t?.enabled,authRequired:!!t?.authRequired}}function lw(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 uw({expanded:e}){let t=ju(e=>e.notifications),n=ju(e=>e.clearAll),r=ju(Mu),{projects:i,setActiveProject:a,customOrder:o}=J(sm(e=>({projects:e.projects,setActiveProject:e.setActiveProject,customOrder:e.customOrder}))),s=ei(i,o),c=Y(e=>e.openTab),[l,u]=(0,Q.useState)(!1),d=(0,Q.useRef)(null),[f,p]=(0,Q.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 zC(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,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{ref:d,onClick:m,className:G(`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,$.jsx)(In,{className:`size-4 shrink-0`}),e&&(0,$.jsx)(`span`,{className:`text-xs whitespace-nowrap`,children:`Notifications`}),r>0&&(0,$.jsx)(`span`,{className:G(`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,yp.createPortal)((0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>u(!1)}),(0,$.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,$.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:r>0?`${r} unread session${r>1?`s`:``}`:`No unread`}),r>0&&(0,$.jsxs)(`button`,{onClick:()=>{n(),u(!1)},className:`text-[10px] text-text-subtle hover:text-foreground transition-colors flex items-center gap-1`,children:[(0,$.jsx)(Ye,{className:`size-3`}),`Clear all`]})]}),r===0?(0,$.jsx)(`div`,{className:`px-3 py-4 text-center text-xs text-text-subtle`,children:`All caught up`}):(0,$.jsx)(`div`,{className:`py-1`,children:[..._.entries()].map(([e,t])=>(0,$.jsxs)(`div`,{children:[(0,$.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,$.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{background:g(e)||`currentColor`}}),e]}),t.map(({sessionId:t,type:n,sessionTitle:r})=>(0,$.jsx)(`button`,{onClick:()=>h(t,e),className:G(`w-full px-3 py-1.5 text-left text-[11px] text-foreground truncate hover:bg-surface-elevated transition-colors`,Au(n)),children:r||`${t.slice(0,12)}...`},t))]},e))})]})]}),document.body)]})}var dw=Object.defineProperty,fw=Object.getOwnPropertySymbols,pw=Object.prototype.hasOwnProperty,mw=Object.prototype.propertyIsEnumerable,hw=(e,t,n)=>t in e?dw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gw=(e,t)=>{for(var n in t||={})pw.call(t,n)&&hw(e,n,t[n]);if(fw)for(var n of fw(t))mw.call(t,n)&&hw(e,n,t[n]);return e},_w=(e,t)=>{var n={};for(var r in e)pw.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&fw)for(var r of fw(e))t.indexOf(r)<0&&mw.call(e,r)&&(n[r]=e[r]);return n},vw;(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})(vw||={}),(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||={})})(vw||={}),(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||={})})(vw||={});var yw=vw,bw={L:yw.QrCode.Ecc.LOW,M:yw.QrCode.Ecc.MEDIUM,Q:yw.QrCode.Ecc.QUARTILE,H:yw.QrCode.Ecc.HIGH},xw=128,Sw=`L`,Cw=`#FFFFFF`,ww=`#000000`,Tw=!1,Ew=1,Dw=4,Ow=0,kw=.1;function Aw(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 jw(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 Mw(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*kw),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 Nw(e,t){return t==null?e?Dw:Ow:Math.max(Math.floor(t),0)}function Pw({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=Q.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...yw.QrSegment.makeSegments(t)),e),[]);return yw.QrCode.encodeSegments(r,bw[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=Q.useMemo(()=>{let e=c.getModules(),t=Nw(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:Mw(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var Fw=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Iw=Q.forwardRef(function(e,t){let n=e,{value:r,size:i=xw,level:a=Sw,bgColor:o=Cw,fgColor:s=ww,includeMargin:c=Tw,minVersion:l=Ew,boostLevel:u,marginSize:d,imageSettings:f}=n,p=_w(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=_w(p,[`style`]),g=f?.src,_=Q.useRef(null),v=Q.useRef(null),y=Q.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=Q.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=Pw({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});Q.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=jw(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,Fw?t.fill(new Path2D(Aw(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)}}),Q.useEffect(()=>{x(!1)},[g]);let E=gw({height:i,width:i},m),D=null;return g!=null&&(D=Q.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),Q.createElement(Q.Fragment,null,Q.createElement(`canvas`,gw({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});Iw.displayName=`QRCodeCanvas`;var Lw=Q.forwardRef(function(e,t){let n=e,{value:r,size:i=xw,level:a=Sw,bgColor:o=Cw,fgColor:s=ww,includeMargin:c=Tw,minVersion:l=Ew,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=_w(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=Pw({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=jw(g,v.excavation)),b=Q.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=Aw(y,h);return Q.createElement(`svg`,gw({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&Q.createElement(`title`,null,d),Q.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),Q.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});Lw.displayName=`QRCodeSVG`;var Rw=/^[a-z0-9][a-z0-9-]{1,31}$/,zw=`2–32 characters: lowercase letters, numbers, hyphens.`;function Bw(e){return e.replace(/^https?:\/\//,``).replace(/\/$/,``)}function Vw(e){if(!e)return``;let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,32);return Rw.test(t)?t:``}function Hw({cloudUrl:e,deviceName:t}){let[n,r]=(0,Q.useState)(null),[i,a]=(0,Q.useState)(!0),[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)(!1),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(!1),[m,h]=(0,Q.useState)(null);(0,Q.useEffect)(()=>{(async()=>{try{r((await H.get(`/api/cloud/alias`)).slug)}catch{s(!0)}a(!1)})()},[]);let g=(0,Q.useCallback)(()=>{d(n??Vw(t)),h(null),l(!0)},[n,t]),_=(0,Q.useCallback)(async()=>{let e=u.trim().toLowerCase();if(!Rw.test(e)){h(zw);return}p(!0),h(null);try{r((await H.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,$.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,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Permanent link`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsxs)(`span`,{className:`text-xs font-mono text-muted-foreground shrink-0`,children:[Bw(e),`/`]}),(0,$.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,$.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,$.jsx)(z,{className:`size-3.5 animate-spin`}):(0,$.jsx)(L,{className:`size-3.5`})}),(0,$.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,$.jsx)($t,{className:`size-3.5`})})]}),(0,$.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:m??zw})]}):n?(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Permanent link`}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.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,$.jsxs)(`span`,{className:`truncate`,children:[Bw(e),`/`,n]}),(0,$.jsx)(Lt,{className:`size-3 shrink-0`})]}),(0,$.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,$.jsx)(On,{className:`size-3.5`})})]})]}):(0,$.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,$.jsx)(On,{className:`size-3.5`}),`Set a permanent link`]})}function Uw({onStatus:e,publicPort:t,onTempUrl:n}){let[r,i]=(0,Q.useState)(null),[a,o]=(0,Q.useState)(null),[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null),d=(0,Q.useCallback)((e,n)=>e.find(e=>e.source===`ppm`&&!e.protected&&e.port===t&&e.url&&e.url!==n)??null,[t]),f=(0,Q.useCallback)(async()=>{try{let t=await MS.status();i(t),e(t);let r=d(await H.get(`/api/tunnels`).catch(()=>[]),t.hostname?`https://${t.hostname}`:null);o(r),n(r?.url??null)}catch{}},[e,n,d]);(0,Q.useEffect)(()=>{f()},[f]);let p=(0,Q.useCallback)(async()=>{if(t){c(`add`),u(null);try{let e=await H.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,Q.useCallback)(async()=>{if(a?.pid){c(`stop`),u(null);try{await H.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,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-xs`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,$.jsx)(ye,{className:`size-3 text-primary shrink-0`}),(0,$.jsxs)(`span`,{className:`text-foreground truncate`,children:[`Your domain · `,r.hostname]})]}),(0,$.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,$.jsx)(z,{className:`size-3.5 animate-spin`}):a?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(ze,{className:`size-3`}),` Stop temp link`]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ct,{className:`size-3`}),` Temp link`]})})]}),r.tunnelWarning&&(0,$.jsx)(`p`,{className:`text-[11px] text-amber-500 leading-relaxed`,children:r.tunnelWarning}),l&&(0,$.jsx)(`p`,{className:`text-[11px] text-destructive`,children:l})]})}var Ww=`ppm-last-local-url`;function Gw(e){try{e&&localStorage.setItem(Ww,e)}catch{}}function Kw(){try{let e=localStorage.getItem(Ww);return e&&/^https?:\/\//.test(e)?e:null}catch{return null}}function qw({onClose:e,variant:t=`popover`}){let[n,r]=(0,Q.useState)(null),[i,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(!0),[c,l]=(0,Q.useState)(!1),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(!1),[m,h]=(0,Q.useState)(null),[g,_]=(0,Q.useState)(null),[v,y]=(0,Q.useState)(null),[b,x]=(0,Q.useState)(!1),[S,C]=(0,Q.useState)(!1),[w,T]=(0,Q.useState)(null),E=(0,Q.useCallback)(async()=>{try{let[e,t]=await Promise.all([H.get(`/api/cloud/status`),H.get(`/api/tunnel`)]);r(e),a(t),Gw(t.localUrl)}catch{}},[]);(0,Q.useEffect)(()=>{E().finally(()=>s(!1))},[E]);let D=(0,Q.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,Q.useCallback)(e=>{ca(e),_(e),setTimeout(()=>_(null),2e3)},[]),A=(0,Q.useCallback)(async()=>{l(!0),h(null);try{a({active:!0,url:(await H.post(`/api/tunnel/start`,{})).url,localUrl:i?.localUrl??null}),r(await H.get(`/api/cloud/status`))}catch(e){h(e instanceof Error?e.message:`Failed to start tunnel`)}finally{l(!1)}},[i]),j=(0,Q.useCallback)(async()=>{h(null);try{let{cloud_url:e}=await H.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 H.post(`/api/cloud/login`,{access_token:i.access_token,email:i.email,cloud_url:e}),r(await H.get(`/api/cloud/status`)))}catch{}},i)}catch(e){h(e instanceof Error?e.message:`Failed to start login`),x(!1),y(null)}},[]),M=(0,Q.useCallback)(async()=>{d(!0),h(null);try{i?.active||a({active:!0,url:(await H.post(`/api/tunnel/start`,{})).url,localUrl:i?.localUrl??null}),await H.post(`/api/cloud/link`,{}),r(await H.get(`/api/cloud/status`))}catch(e){h(e instanceof Error?e.message:`Failed to link device`)}finally{d(!1)}},[i]),N=(0,Q.useCallback)(async()=>{if(confirm(`Unlink this device from PPM Cloud? It will no longer appear on your cloud dashboard.`)){p(!0);try{await H.post(`/api/cloud/unlink`,{}),r(await H.get(`/api/cloud/status`))}catch{}p(!1)}},[]),P=(0,Q.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 H.post(`/api/cloud/unlink`,{})}catch{}await H.post(`/api/cloud/logout`,{}),r(e=>e?{...e,logged_in:!1,email:null,linked:!1,device_name:null,device_id:null}:null)}},[n?.linked]),ee=i?.url||n?.tunnel_url;return(0,$.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,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,$.jsx)(on,{className:`size-4 text-primary`}),(0,$.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`PPM Cloud`})]}),(0,$.jsx)(`button`,{onClick:e,className:`text-text-subtle hover:text-foreground`,children:(0,$.jsx)($t,{className:`size-3.5`})})]}),o&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground text-xs py-2`,children:[(0,$.jsx)(z,{className:`size-4 animate-spin`}),(0,$.jsx)(`span`,{children:`Loading...`})]}),!o&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`space-y-1.5`,children:n?.logged_in?(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,$.jsx)(`div`,{className:`size-2 rounded-full bg-success shrink-0`}),(0,$.jsx)(`span`,{className:`text-xs text-foreground truncate`,children:n.email})]}),(0,$.jsx)(`button`,{onClick:P,className:`text-text-subtle hover:text-foreground p-1 rounded hover:bg-muted transition-colors shrink-0`,title:`Sign out`,children:(0,$.jsx)(Qe,{className:`size-3`})})]}):v?(0,$.jsxs)(`div`,{className:`space-y-2 text-center`,children:[(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Open the link below and enter the code:`}),(0,$.jsx)(`div`,{className:`font-mono text-2xl font-bold tracking-[0.3em] text-primary`,children:v.userCode}),(0,$.jsx)(`a`,{href:v.verifyUrl,target:`_blank`,rel:`noopener noreferrer`,className:`text-xs text-primary hover:underline`,children:v.verifyUrl}),b&&(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 text-xs text-muted-foreground`,children:[(0,$.jsx)(z,{className:`size-3 animate-spin`}),(0,$.jsx)(`span`,{children:`Waiting for verification...`})]})]}):(0,$.jsxs)($.Fragment,{children:[ee&&(0,$.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,$.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,$.jsx)(on,{className:`size-3.5`}),ee&&!S?`Get a permanent link`:`Sign in to PPM Cloud`]})]})}),n?.logged_in&&(0,$.jsx)(`div`,{className:`space-y-1.5`,children:n.linked?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,$.jsx)(nn,{className:`size-3 text-primary shrink-0`}),(0,$.jsx)(`span`,{className:`text-foreground truncate`,children:n.device_name})]}),(0,$.jsx)(`button`,{onClick:N,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,$.jsx)(z,{className:`size-3 animate-spin`}):(0,$.jsx)(ct,{className:`size-3`})})]}),(0,$.jsx)(Hw,{cloudUrl:n.cloud_url,deviceName:n.device_name})]}):(0,$.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,$.jsxs)($.Fragment,{children:[(0,$.jsx)(z,{className:`size-3.5 animate-spin`}),` Linking...`]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(nn,{className:`size-3.5`}),` Link this machine`]})})}),(0,$.jsx)(`div`,{className:`border-t border-border`}),(0,$.jsx)(Uw,{onStatus:D,publicPort:O,onTempUrl:T}),i?.localUrl&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Local Network`}),(0,$.jsx)(Jw,{url:i.localUrl,copied:g,onCopy:k})]}),!ee&&!c&&(0,$.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,$.jsx)($e,{className:`size-3.5`}),`Start Sharing`]}),c&&(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-2`,children:[(0,$.jsx)(z,{className:`size-5 animate-spin text-primary`}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Starting tunnel...`})]}),ee&&(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Public URL`}),(0,$.jsx)(`div`,{className:`flex justify-center`,children:(0,$.jsx)(`div`,{className:`p-3 rounded-lg`,style:{backgroundColor:`#ffffff`,colorScheme:`light`},children:(0,$.jsx)(Lw,{value:ee,size:180,bgColor:`#ffffff`,fgColor:`#000000`,level:`L`,style:{display:`block`}})})}),(0,$.jsx)(Jw,{url:ee,copied:g,onCopy:k})]}),w&&w!==ee&&(0,$.jsxs)(`div`,{className:`space-y-1`,children:[(0,$.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Temporary link`}),(0,$.jsx)(Jw,{url:w,copied:g,onCopy:k}),(0,$.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,$.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,$.jsx)(Lt,{className:`size-3`}),`Open Cloud Dashboard`]}),m&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:m})]})]})}function Jw({url:e,copied:t,onCopy:n}){return(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.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,$.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,$.jsx)(L,{className:`size-3.5 text-primary`}):(0,$.jsx)(jn,{className:`size-3.5`})})]})}var Yw=[`logs`,`issues`,`report`];function Xw(e){return Yw.includes(e)?e:`logs`}var Zw=`ppm:logs-navigate`,Qw={w:1180,h:720},$w=null;function eT(){let e=$w;return $w=null,e}function tT(e){if($w=e??null,Fi())Y.getState().openTab({type:`logs`,title:`Logs`,projectId:null,closable:!0});else{let t=K.getState(),n=Object.values(t.windows).find(e=>e.kind===`logs`);if(n)e?.view&&t.setPayload(n.id,{view:e.view}),t.focus(n.id);else{let n=Ar(Object.values(t.windows).map(e=>e.rect),t.bounds,Qw);t.open(`logs`,e?.view?{view:e.view}:void 0,n)}}e&&window.dispatchEvent(new CustomEvent(Zw))}var nT=`hienlh/ppm`,rT=`logs:subscribe`,iT=`logs:unsubscribe`,aT=`logs:issues-changed`,oT=[`bug`,`setup`,`upstream`,`expected`],sT=[{id:`ai`,label:`AI & chat`,group:`ppm`},{id:`shell`,label:`Shell & tools`,group:`ppm`},{id:`server`,label:`Server`,group:`ppm`},{id:`ext`,label:`Extensions`,group:`ppm`},{id:`files`,label:`Files`,group:`ppm`},{id:`auto`,label:`Automation`,group:`ppm`},{id:`tunnel`,label:`Tunnel`,group:`elsewhere`},{id:`browser`,label:`Browser`,group:`elsewhere`}];function cT(e){return e===`all`?`All sources`:sT.find(t=>t.id===e)?.label??e}var lT=[`15m`,`1h`,`restart`,`today`,`all`],uT={"15m":`Last 15 minutes`,"1h":`Last hour`,restart:`Since the restart`,today:`Today`,all:`Everything kept`},dT={src:`all`,levels:{error:!0,warn:!0,info:!0,debug:!1},tagsOff:[],q:``,regex:!1,caseSensitive:!1,chat:null};function fT(e){return e===`fatal`?`error`:e}function pT(e){if(!e.q)return null;try{let t=e.regex?e.q:e.q.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return new RegExp(t,e.caseSensitive?``:`i`)}catch{return}}function mT(e,t){let n=e.sid&&t?.[e.sid]?` ${t[e.sid]}`:``;return`${e.tag} ${e.msg}${n}${e.more?.length?`\n${e.more.join(`
|
|
26
26
|
`)}`:``}`}function hT(e,t,n,r){return!(t.src!==`all`&&e.src!==t.src||!t.levels[fT(e.lv)]||t.tagsOff.length&&t.tagsOff.includes(`${e.src}:${e.tag}`)||t.chat&&e.sid!==t.chat||n===void 0||n&&!n.test(mT(e,r)))}function gT(e,t){for(let n of t){let t=e[n.src];t.total++;let r=fT(n.lv);r===`error`?t.err++:r===`warn`&&t.warn++;let i=t.tags.find(e=>e[0]===n.tag);i?i[1]++:t.tags.push([n.tag,1])}}function _T(e,t=0){let n=new Date(e.ts).toISOString();return`${e.src===`tunnel`&&e.tag===`cloudflared`?`${n.slice(0,19)}Z ${vT[e.lv]} ${e.msg}`:`[${n}] [${e.lv.toUpperCase()}] [${e.tag}] ${e.msg}`}${t>1?` [x${t}]`:``}${e.more?.length?`\n${e.more.join(`
|
|
27
|
-
`)}`:``}`}var vT={debug:`DBG`,info:`INF`,warn:`WRN`,error:`ERR`,fatal:`FTL`};function yT(e,t){return e.src===t.src&&e.lv===t.lv&&e.tag===t.tag&&e.msg===t.msg&&(e.more?.length??0)===0&&(t.more?.length??0)===0}function bT(e){let t=new URLSearchParams;return t.set(`src`,e.src),t.set(`lv`,Object.keys(e.levels).filter(t=>e.levels[t]).join(`,`)),e.tagsOff.length&&t.set(`off`,e.tagsOff.join(`,`)),e.q&&t.set(`q`,e.q),e.regex&&t.set(`re`,`1`),e.caseSensitive&&t.set(`cs`,`1`),e.chat&&t.set(`chat`,e.chat),t.set(`range`,e.range),t.set(`from`,String(e.from)),e.before&&t.set(`before`,e.before),e.reach&&t.set(`reach`,e.reach),t.set(`limit`,String(e.limit)),t.toString()}function xT(e,t){if(e===`15m`)return t-15*6e4;if(e===`1h`)return t-60*6e4;if(e===`today`){let e=new Date(t);return e.setHours(0,0,0,0),e.getTime()}return 0}function ST(e,t){return e>=xT(`1h`,t)?`1h`:e>=xT(`today`,t)?`today`:`all`}var CT=(e,t=2)=>String(e).padStart(t,`0`);function wT(e,t){let n=new Date(e);return t?`${CT(n.getUTCHours())}:${CT(n.getUTCMinutes())}:${CT(n.getUTCSeconds())}.${CT(n.getUTCMilliseconds(),3)}`:`${CT(n.getHours())}:${CT(n.getMinutes())}:${CT(n.getSeconds())}.${CT(n.getMilliseconds(),3)}`}function TT(e){if(e===0)return`UTC`;let t=Math.abs(e);return`UTC${e>0?`+`:`-`}${Math.floor(t/60)}${t%60?`:${CT(t%60)}`:``}`}function ET(){return TT(-new Date().getTimezoneOffset())}function DT(e,t,n){let r=wT(e,n).slice(0,8),i=wT(t,n).slice(0,8);return r===i?r:`${r} – ${i}`}function OT(e,t,n=`${t}s`){return`${e.toLocaleString(`en-US`)} ${e===1?t:n}`}function kT(e){return e>=1e4?`${+(e/1e3).toFixed(e>=1e5?0:1)}k`:e.toLocaleString(`en-US`)}function AT(e){return e>=1024*1024?`${+(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${Math.round(e/1024)} KB`:`${e} B`}function jT(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&yT(e.entry,n)){e.count++,e.ids.push(n.id),e.lastTs=n.ts;continue}t.push({key:n.id,entry:n,count:1,ids:[n.id],lastTs:n.ts})}return t}function MT(e,t){let n=new Map;for(let r of t){let t=e.findIndex(e=>e.entry.ts>=r);t>0&&n.set(e[t].key,r)}return n}var NT=/session=([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|("(?:[^"\\]|\\.)*")|\b([A-Za-z_][\w.]*=)/g;function PT(e){let t=[],n=0;for(let r of e.matchAll(NT)){let i=r.index??0;i>n&&t.push({kind:`text`,text:e.slice(n,i)}),r[1]?t.push({kind:`chat`,sid:r[1]}):r[2]?t.push({kind:`quote`,text:r[2]}):t.push({kind:`key`,text:r[3]}),n=i+r[0].length}return n<e.length&&t.push({kind:`text`,text:e.slice(n)}),t}function FT(e){return e?new RegExp(e.source,e.flags.includes(`g`)?e.flags:`${e.flags}g`):null}function IT(e,t){if(!t)return[{text:e,hit:!1}];let n=[],r=0;t.lastIndex=0;for(let i=t.exec(e);i;i=t.exec(e)){if(!i[0]){t.lastIndex++;continue}i.index>r&&n.push({text:e.slice(r,i.index),hit:!1}),n.push({text:i[0],hit:!0}),r=i.index+i[0].length}return r<e.length&&n.push({text:e.slice(r),hit:!1}),n.length?n:[{text:e,hit:!1}]}function LT(e,t,n){let r=e.indexOf(t),i=e.indexOf(n);return r<0&&(r=i),i<0&&(i=r),r<0?[]:(r>i&&([r,i]=[i,r]),e.slice(r,i+1))}var RT=(e,t)=>H.get(`/api/logs?${bT(e)}`,{signal:t}),zT=(e,t,n)=>H.get(`/api/logs/around?ids=${encodeURIComponent(e.join(`,`))}&n=${t}&src=${n}`),BT=()=>H.get(`/api/logs/issues`),VT=()=>H.get(`/api/logs/issues/summary`),HT=e=>H.post(`/api/logs/issues/analyze`,{full:e}),UT=e=>H.post(`/api/logs/issues/auto`,{on:e}),WT=(e,t)=>H.post(`/api/logs/issues/${encodeURIComponent(e)}/${t?`dismiss`:`undismiss`}`),GT=()=>H.post(`/api/logs/issues/undismiss-all`),KT=e=>H.post(`/api/logs/report/draft`,e),qT=()=>H.get(`/api/logs/environment`),JT=()=>H.get(`/api/logs/github/labels`),YT=e=>H.get(`/api/logs/github/duplicates?q=${encodeURIComponent(e)}`),XT=10*6e4,ZT=0,QT=0,$T=null,eE=new Set;function tE(e){if(e!==ZT){ZT=e;for(let e of eE)e()}}function nE(){if(QT++===0){let e=()=>{VT().then(e=>tE(e.likelyBugs),()=>{})};e(),window.addEventListener(aT,e);let t=setInterval(()=>{document.visibilityState===`visible`&&e()},XT);$T=()=>{window.removeEventListener(aT,e),clearInterval(t)}}return()=>{--QT>0||($T?.(),$T=null)}}var rE=e=>(eE.add(e),()=>eE.delete(e));function iE(){let e=U(e=>e.logsBadge&&!e.minimalMode);(0,Q.useEffect)(()=>e?nE():void 0,[e]);let t=(0,Q.useSyncExternalStore)(rE,()=>ZT);return e?t:0}var aE=`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 oE({count:e}){return(0,$.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 sE({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,$.jsxs)(`button`,{draggable:!0,onDragStart:c,onDragOver:l,onDrop:u,onDragEnd:d,onClick:a,className:G(`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,$.jsx)(e,{className:`size-[18px]`,strokeWidth:n?2.4:2}),r!=null&&r>0&&(0,$.jsx)(oE,{count:r}),(0,$.jsx)(nC,{id:i,variant:`corner`}),(0,$.jsx)(`span`,{className:aE,children:t})]})}function cE({icon:e,label:t,onClick:n,active:r,featureBadge:i,alert:a}){return(0,$.jsxs)(`button`,{type:`button`,"aria-label":t,title:t,onClick:n,className:G(`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,$.jsx)(e,{className:`size-4`}),(0,$.jsx)(nC,{id:i,variant:`corner`}),!!a&&(0,$.jsx)(`span`,{"aria-hidden":!0,className:`absolute right-0.5 top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-error px-[3px] text-[9px] font-semibold leading-none text-white shadow-[0_0_0_1.5px_var(--rail)]`,children:a>9?`9+`:a}),(0,$.jsx)(`span`,{className:aE,children:t})]})}var lE=(0,Q.memo)(function({className:e}){let{activeProject:t}=J(sm(e=>({activeProject:e.activeProject}))),n=U(e=>e.minimalMode),r=U(e=>e.minimalMode&&!Zi(e.sidebarActiveTab)?`history`:e.sidebarActiveTab),i=U(e=>e.setSidebarActiveTab),a=U(e=>e.sidebarTabOrder),o=U(e=>e.setSidebarTabOrder),s=U(e=>e.sidebarCollapsed),c=U(e=>e.toggleSidebar),l=U(e=>e.jiraEnabled),u=rf(e=>e.contributions),d=Rm(e=>t?.name?e.counts.get(t.name)??0:0),f=ex(e=>e.unreadCount),p=ju(Nu(t?.name)),m=(0,Q.useMemo)(()=>lw(Ji({jiraEnabled:l,contributions:u}),a).filter(e=>!n||Zi(e.id)),[u,l,a,n]),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.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),o(t)}}g(null),v(null)},[b,x]=(0,Q.useState)(!1),S=(0,Q.useRef)(null),[C,w]=(0,Q.useState)(null);(0,Q.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,Q.useEffect)(()=>{let e=()=>{!n&&!Fi()&&x(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[n]);let T=nw(),E=sw(),{available:D}=cw(),{available:O}=ow(),k=iE(),A=K(e=>Object.values(e.windows).some(e=>e.kind===`logs`&&e.state!==`minimized`)),j=e=>{s?(i(e),c()):r===e?c():i(e)};return(0,$.jsxs)(`div`,{className:G(`w-[52px] shrink-0 border-r border-border flex flex-col`,e),children:[(0,$.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,$.jsx)(sE,{icon:e.icon,label:e.label,active:r===e.id,badge:e.id===`git`?d:e.id===`jira`?f:e.id===`history`?p:void 0,featureBadge:e.badge,onClick:()=>j(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,$.jsxs)(`div`,{className:`shrink-0 flex flex-col items-center gap-0.5 px-[3px] py-2 border-t border-border`,children:[(0,$.jsx)(uw,{expanded:!1}),!n&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{ref:S,onClick:()=>x(!b),className:G(`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,$.jsx)(on,{className:`size-4`}),(0,$.jsx)(`span`,{className:aE,children:`Cloud & Share`})]}),b&&C&&(0,yp.createPortal)((0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>x(!1)}),(0,$.jsx)(`div`,{className:`fixed z-50`,style:{left:C.left,bottom:C.bottom},children:(0,$.jsx)(qw,{onClose:()=>x(!1)})})]}),document.body),(0,$.jsx)(cE,{icon:se,label:`File Explorer`,featureBadge:`os-explorer`,onClick:()=>void ng()}),O&&(0,$.jsx)(cE,{icon:Je,label:`Remote Desktop`,featureBadge:`remote-desktop`,onClick:T}),D&&(0,$.jsx)(cE,{icon:R,label:`Android`,featureBadge:`android`,onClick:E}),(0,$.jsx)(cE,{icon:bt,label:k?`Logs · ${k} likely ${k===1?`bug`:`bugs`}`:`Logs`,alert:k,active:A,onClick:()=>tT()})]}),(0,$.jsx)(cE,{icon:le,label:`Settings`,onClick:()=>Ii()})]})]})}),uE=(0,Q.lazy)(()=>W(()=>import(`./designs-sidebar-panel-DIGPFo2l.js`).then(e=>({default:e.DesignsSidebarPanel})),__vite__mapDeps([138,1,2,3,31,6,7,8,9,10,11,12,13,14,15,16,131,50,18,23,17,19,44,56,57,27,85,69,139,67,62])));function dE({onResize:e}){let t=(0,Q.useRef)(!1);return(0,$.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,Q.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,Q.useCallback)(n=>{t.current&&e(n.clientX)},[e]),onPointerUp:(0,Q.useCallback)(e=>{t.current=!1,e.currentTarget.releasePointerCapture(e.pointerId),document.body.style.cursor=``,document.body.style.userSelect=``},[])})}function fE({onToggle:e}){return(0,$.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,$.jsx)(`span`,{className:`text-sm font-extrabold text-primary leading-none tracking-tight`,children:`PPM`})})}var pE=(0,Q.memo)(function(){let{activeProject:e}=J(sm(e=>({activeProject:e.activeProject}))),t=U(e=>e.sidebarCollapsed),n=U(e=>e.sidebarWidth),r=U(e=>e.toggleSidebar),i=U(e=>e.setSidebarWidth),a=U(e=>e.minimalMode),o=U(e=>e.minimalMode&&!Zi(e.sidebarActiveTab)?`history`:e.sidebarActiveTab);return Vm(a?void 0:e?.name,a||o===`git`),t?(0,$.jsxs)(`aside`,{className:`hidden md:flex flex-col w-[52px] min-w-[52px] bg-rail border-r border-border`,children:[(0,$.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,$.jsx)(ft,{className:`size-4 text-text-secondary`})}),(0,$.jsx)(lE,{className:`flex-1 min-h-0`})]}):(0,$.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,$.jsxs)(`div`,{className:`flex h-[41px] border-b border-border shrink-0`,children:[(0,$.jsx)(fE,{onToggle:r}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0 flex items-center px-1.5`,children:(0,$.jsx)(ew,{})})]}),(0,$.jsxs)(`div`,{className:`flex-1 min-h-0 flex`,children:[(0,$.jsx)(lE,{}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0 flex flex-col`,children:(0,$.jsxs)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,"data-onboarding":o===`explorer`?`explorer`:void 0,children:[o===`explorer`&&(e?(0,$.jsx)(Bg,{}):(0,$.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,$.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to browse files`})})),o===`git`&&(0,$.jsx)(Zv,{metadata:{projectName:e?.name}}),o===`search`&&(0,$.jsx)(qb,{}),o===`history`&&(e?(0,$.jsx)($S,{variant:`sidebar`,projectName:e.name}):(0,$.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,$.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to view chat history`})})),o===`teams`&&(0,$.jsx)(SC,{}),o===`designs`&&(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(uE,{})}),o===`database`&&(0,$.jsx)(Ub,{}),o===`tunnels`&&(0,$.jsx)(VS,{}),o===`jira`&&(0,$.jsx)(Sx,{}),o===`ai-resources`&&(0,$.jsx)(xS,{}),typeof o==`string`&&o.startsWith(`ext:`)&&(0,$.jsx)(Xb,{viewId:o.slice(4),className:`h-full`})]})})]}),(0,$.jsx)(dE,{onResize:i})]})}),mE=1e4;function hE(){let e=Xn();return e?{Authorization:`Bearer ${e}`}:{}}async function gE(e){await fetch(`/api/system/resources/stream/${encodeURIComponent(e)}/ping`,{method:`POST`,headers:hE()}).catch(()=>{})}async function _E(e){await fetch(`/api/system/resources/stream/${encodeURIComponent(e)}`,{method:`DELETE`,headers:hE()}).catch(()=>{})}function vE(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 yE=null,bE=0,xE=0,SE=!1,CE=null,wE=[],TE=!1,EE=null,DE=0,OE=null,kE=new Set;function AE(){for(let e of kE)e()}function jE(){OE&&=(clearInterval(OE),null);let e=EE;EE=null,e&&_E(e)}function ME(e){EE=e,OE&&clearInterval(OE),OE=setInterval(()=>{let e=EE;e&&gE(e)},mE)}function NE(e){let t=Xn(),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 PE(e){if(yE)return;DE=0;let t=new EventSource(NE(e));SE=e,t.addEventListener(`session`,e=>{try{let t=JSON.parse(e.data);t.sid&&ME(t.sid)}catch{}}),t.addEventListener(`snapshot`,e=>{try{let t=JSON.parse(e.data);CE=t;let n={ts:t.ts,system:t.system,groups:Object.fromEntries(t.groups.map(e=>[e.key,{cpu:e.cpu,ramMB:e.ramMB}]))};wE=[...wE,n],wE.length>900&&(wE=wE.slice(-900)),wE=vE(wE,60),DE++,TE=!0,AE()}catch{}}),t.onerror=()=>{if(TE=!1,jE(),yE&&=(yE.close(),null),AE(),bE>0){let e=xE>0;setTimeout(()=>{!yE&&bE>0&&PE(e)},5e3)}},t.onopen=()=>{TE=!0,AE()},yE=t}function FE(){jE(),yE&&(yE.close(),yE=null,TE=!1,AE())}function IE(){let e=xE>0;if(bE===0){FE();return}if(!yE){PE(e);return}SE!==e&&(FE(),PE(e))}function LE(e={}){let[,t]=(0,Q.useState)(0),n=(0,Q.useRef)(!0),r=!!e.processes,i=(0,Q.useCallback)(()=>{n.current&&t(e=>e+1)},[]);return(0,Q.useEffect)(()=>(n.current=!0,kE.add(i),bE++,r&&xE++,IE(),()=>{n.current=!1,kE.delete(i),bE--,r&&xE--,IE()}),[i,r]),{latest:CE,history:wE,isConnected:TE,tickCount:DE}}function RE(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 zE(){let e=Pi(),t=K(e=>e.open),n=K(e=>e.focus),r=Y(e=>e.openTab);return(0,Q.useCallback)(()=>{let i=RE(e,Object.values(K.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 BE(e){return e>80?`text-error`:e>50?`text-warning`:`text-success`}var VE=(0,Q.memo)(function({compact:e=!1}){let{latest:t,isConnected:n}=LE(),r=zE(),i=Pi();if(!n||!t)return e?null:(0,$.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,$.jsx)(Dt,{className:`size-3 opacity-50`}),(0,$.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,$.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,$.jsxs)(`span`,{className:BE(a),children:[`CPU `,a.toFixed(0),`%`]}),(0,$.jsxs)(`span`,{className:`text-text-secondary`,children:[`MEM `,c]})]}):(0,$.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,$.jsx)(Dt,{className:G(`size-3`,BE(a))}),(0,$.jsx)(`span`,{className:BE(a),children:i?`${a.toFixed(0)}%`:`CPU ${a.toFixed(1)}%`}),(0,$.jsx)(`span`,{className:`text-text-subtle`,children:`|`}),(0,$.jsx)(`span`,{className:`text-text-secondary`,children:o<1024?`${o.toFixed(0)}MB`:`${(o/1024).toFixed(1)}GB`}),!i&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`text-text-subtle`,children:`|`}),(0,$.jsxs)(`span`,{className:`text-text-subtle`,children:[s,` proc`]})]})]})}),HE=(e,t)=>`${e}\u0000${t}`,UE=sr(e=>({files:{},publish:(t,n,r)=>e(e=>{let i=HE(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=HE(t,n);if(!e.files[r])return e;let{[r]:i,...a}=e.files;return{files:a}})}));function WE(e,t){return t?Object.fromEntries(Object.entries(e).filter(([,e])=>e.projectName===t)):e}function GE(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 KE(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 qE(){let e=q(e=>e.openInDock);return(0,Q.useCallback)(()=>{e({type:`problems`,title:`Problems`,projectId:null,closable:!0})},[e])}var JE=(0,Q.memo)(function(){let e=UE(sm(e=>e.files)),t=J(e=>e.activeProject?.name??null),n=qE(),{errors:r,warnings:i}=GE(WE(e,t));return(0,$.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,$.jsxs)(`span`,{className:G(`flex items-center gap-1`,r>0&&`text-error`),children:[(0,$.jsx)(ot,{className:`size-[11px]`}),r]}),(0,$.jsxs)(`span`,{className:G(`flex items-center gap-1`,i>0&&`text-warning`),children:[(0,$.jsx)(yn,{className:`size-[11px]`}),i]})]})});function YE({swatch:e,className:t}){return(0,$.jsx)(`span`,{className:G(`inline-flex overflow-hidden rounded-md border border-border shrink-0`,t),"aria-hidden":!0,children:e.map((e,t)=>(0,$.jsx)(`span`,{className:`w-3 h-6`,style:{background:e}},t))})}var XE=(0,Q.memo)(function(){let e=U(e=>e.themeStyle),t=U(e=>e.themeMode),n=U(e=>e.customThemeId),r=U(e=>e.customThemes),i=U(e=>e.setThemeStyle),a=U(e=>e.setThemeMode),o=U(e=>e.setCustomTheme),s=Ds(e,t,r,n),c=e=>{let t=Es[e];t&&(i(t.style),a(t.mode))};return(0,$.jsxs)(ja,{children:[(0,$.jsx)(Da,{asChild:!0,children:(0,$.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,$.jsx)(De,{className:`size-[11px]`}),(0,$.jsx)(`span`,{className:`truncate max-w-[90px] @max-3xl:hidden`,children:s.name})]})}),(0,$.jsxs)(ka,{side:`top`,align:`end`,className:`w-56`,children:[(0,$.jsx)(Ca,{children:`Theme`}),Ts.map(e=>{let t=Es[e];if(!t)return null;let n=s.id===e;return(0,$.jsxs)(Ta,{onClick:()=>c(e),className:`gap-2`,children:[(0,$.jsx)(YE,{swatch:t.swatch}),(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),(0,$.jsx)(L,{className:G(`size-4 shrink-0`,n?`opacity-100`:`opacity-0`)})]},e)}),r.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ca,{children:`Imported`}),r.map(t=>{let r=e===`custom`&&n===t.id;return(0,$.jsxs)(Ta,{onClick:()=>o(t.id),className:`gap-2`,children:[(0,$.jsx)(YE,{swatch:t.swatch}),(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),(0,$.jsx)(L,{className:G(`size-4 shrink-0`,r?`opacity-100`:`opacity-0`)})]},t.id)})]})]})]})}),ZE=`https://raw.githubusercontent.com/hienlh/ppm/main/CHANGELOG.md`;function QE(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 $E=/^##\s*\[(\d+\.\d+\.\d+)\]\s*(?:-\s*(.+))?\s*$/;function eD(e){let t=e.split(/\r?\n/),n=[],r=null,i=[],a=()=>{r&&(r.body=i.join(`
|
|
28
|
-
`).trim(),n.push(r)),i.length=0};for(let e of t){let t=e.match($E);t?(a(),r={version:t[1],date:(t[2]??``).trim(),body:``}):r&&i.push(e)}return a(),n}function tD(e){return e.reduce((e,t)=>e&&QE(t.version,e)<=0?e:t.version,null)}async function nD(){let e=await fetch(`${ZE}?t=${Date.now()}`,{cache:`no-store`});if(!e.ok)throw Error(`CHANGELOG fetch failed (${e.status})`);return e.text()}async function rD(e=10){return eD(await nD()).slice(0,e)}
|
|
29
|
-
`);return(0,$.jsxs)(`div`,{children:[(0,$.jsxs)(`div`,{className:`text-[11px] font-mono font-semibold text-text mb-1`,children:[`v`,e]}),(0,$.jsx)(`div`,{className:`space-y-1`,children:n.map((e,t)=>{let n=e.trim();return n?n.startsWith(`### `)?(0,$.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wide text-text-3 pt-1`,children:n.slice(4)},t):n.startsWith(`- `)?(0,$.jsxs)(`div`,{className:`flex gap-1.5 text-text-2`,children:[(0,$.jsx)(`span`,{className:`text-text-3 shrink-0`,children:`•`}),(0,$.jsx)(`span`,{className:`min-w-0 break-words`,children:mD(n.slice(2))})]},t):(0,$.jsx)(`div`,{className:`text-text-2 break-words`,children:mD(n)},t):null})})]})}var gD=sr(e=>({active:!1,setActive:t=>e(e=>e.active===t?e:{active:t})})),_D=`Screen awake`,vD=`Screen is being kept on while this turn runs`,yD=(0,Q.memo)(function(){return gD(e=>e.active)?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-warning shrink-0`,title:vD,children:[(0,$.jsx)(Te,{className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{children:`awake`})]}):null}),bD=(0,Q.memo)(function(){return gD(e=>e.active)?(0,$.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:vD,children:[(0,$.jsx)(Te,{className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{children:_D})]}):null});function xD(e,t){return e?e.tabs.filter(e=>!e.projectId||!t||e.projectId===t).length:0}var SD=sr()(e=>({byTab:{},file:(t,n)=>e(e=>{if(n)return{byTab:{...e.byTab,[t]:n}};if(!Object.hasOwn(e.byTab,t))return e;let r={...e.byTab};return delete r[t],{byTab:r}})})),CD=(0,Q.memo)(function(){let e=q(e=>e.panels[e.focusedPanelId]?.activeTabId??null),t=SD(t=>e?t.byTab[e]:void 0);if(!t)return null;let{rowCount:n,onCountExactly:r}=t;return n.canCountExactly&&r?(0,$.jsx)(`button`,{type:`button`,onClick:r,title:n.title,className:`shrink-0 rounded-sm px-1 underline decoration-dotted underline-offset-2 transition-colors hover:bg-primary/10 hover:text-text-primary`,children:n.text}):(0,$.jsxs)(`span`,{role:`status`,title:n.title,className:`flex shrink-0 items-center gap-1`,children:[n.text,n.counting&&(0,$.jsx)(z,{className:`size-3 animate-spin`,"aria-label":`Counting`})]})}),wD={explorer:Tp(()=>W(()=>import(`./explorer-window-content-B1c4QTVL.js`),__vite__mapDeps([140,1,2,3,141,6,34,7,10,11,12,40,83,84,45,85,69,18,23,17,19,44,65,20,61,16,27,13,8,9,14,15,31,50]))),"agent-session":Tp(()=>W(()=>import(`./agent-session-window-content-Dk8x3ozF.js`),__vite__mapDeps([142,1,2,3,6,32,7,36,9,10,37,38,39,8,11,12,40,13,14,15,16,41,42,43,44,20,23,45,46,47,27,68]))),"system-monitor":Tp(()=>W(()=>import(`./system-monitor-window-content-DUCaJME1.js`),__vite__mapDeps([143,2,1,3,7,8,9,10,11,6,12,122,23]))),"tab-host":Tp(()=>W(()=>import(`./tab-host-window-content-CQ5NiV6Y.js`),__vite__mapDeps([144,1,2,3,7,8,9,10,11,6,12,13,14,15,16,18,44,23]))),"remote-desktop":Tp(()=>W(()=>import(`./remote-desktop-window-content-D4CM-28B.js`),__vite__mapDeps([145,1,2,3,31,6,7,8,9,10,11,12,13,14,15,16,146,23,24,147,120,148,26,50,18,65]))),settings:Tp(()=>W(()=>import(`./settings-window-content-5opW9Wra.js`),__vite__mapDeps([149,2,1,3,31,6,7,8,9,10,11,12,114,57,23,115,86,116]))),logs:Tp(()=>W(()=>import(`./logs-window-content-Cejko0VD.js`),__vite__mapDeps([150,2,1,3,31,6,7,8,9,10,11,12,136,13,14,15,16,65,18,23,17,19,20,21,25,137,44,27])))};function TD(e,t){let n=t?.title;if(typeof n==`string`&&n.trim())return n;if(e===`agent-session`)return`Agent session`;if(e===`system-monitor`)return`System Monitor`;if(e===`remote-desktop`)return`Remote Desktop`;if(e===`settings`)return`Settings`;if(e===`logs`)return`Logs`;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`}var ED=e=>`var(--color-${e})`,DD=[`primary`,`accent-2`,`success`,`warning`,`error`,`info`].map(ED);function OD(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return DD[Math.abs(t)%DD.length]}var kD={explorer:{icon:Ee,tone:ED(`info`),label:`Explorer`},"agent-session":{icon:En,tone:ED(`accent-2`),label:`Agent`},"system-monitor":{icon:Tn,tone:ED(`warning`),label:`System Monitor`},"remote-desktop":{icon:Pe,tone:ED(`info`),label:`Remote Desktop`},settings:{icon:le,tone:ED(`text-3`),label:`Settings`},logs:{icon:bt,tone:ED(`text-2`),label:`Logs`}},AD={terminal:`Terminal`,chat:`Chat`,editor:`Editor`,design:`Design`,"git-log":`Git graph`,"git-diff":`Diff`,"git-review":`Review changes`,"session-review":`Session review`,database:`Database`,sqlite:`Database`,"web-preview":`Preview`,android:`Android`,extension:`Extension`,"extension-webview":`Extension`},jD={terminal:ED(`success`),chat:ED(`accent-2`),"git-log":ED(`warning`),"git-diff":ED(`warning`),"git-review":ED(`warning`)};function MD(e){return t=>{let n=t.panels[Dr(e)];if(n)return n.tabs.find(e=>e.id===n.activeTabId)??n.tabs[0]}}function ND(e,t,n){if(e!==`tab-host`){let t=kD[e];return{icon:t.icon,tone:t.tone,kindLabel:t.label,busy:!1,allowPip:!0,filled:!1}}if(!t)return{icon:op(`editor`),tone:ED(`primary`),kindLabel:`Tab`,busy:!1,allowPip:!0,filled:!1};let r=t.type===`design`,i=AD[t.type]??`Tab`,a=t.projectId??void 0,o=typeof t.metadata?.designSlug==`string`?t.metadata.designSlug:t.title;return{title:t.title,icon:op(t.type),tone:r?OD(o):jD[t.type]??ED(`primary`),subtitle:a?`${i} · ${a}`:i,kindLabel:i,busy:n,allowPip:!vr.has(t.type),filled:r}}function PD(e){return q(sm(t=>e.map(e=>{let n=ND(e.kind,e.kind===`tab-host`?MD(e.id)(t):void 0,!1);return`${n.title||TD(e.kind,e.payload)} ${n.kindLabel}`.toLowerCase()})))}function FD(e){let t=q(sm(t=>e.map(e=>e.kind===`tab-host`?$r(MD(e.id)(t))??``:``))),n=Yi(sm(e=>t.map(t=>t?e.sessions.has(t):!1)));return new Set(e.filter((e,t)=>n[t]).map(e=>e.id))}function ID(e){let t=q(e.kind===`tab-host`?MD(e.id):()=>void 0),n=$r(t),r=Yi(e=>n?e.sessions.has(n):!1);return ND(e.kind,t,r)}var LD=(e,t)=>e.reduce((e,t)=>e+t,0)+Math.max(0,e.length-1)*t;function RD(e){let{available:t,fullWidths:n,iconWidth:r,gap:i,moreWidth:a,frontIndex:o,maxChips:s}=e,c=e.minTitle??56,l=n.length;if(l===0||l<=s&&LD(n,i)<=t)return{mode:`full`,hidden:[]};let u=e=>e===o?n[e]:r,d=n.map((e,t)=>u(t));if(l<=s&&LD(d,i)<=t)return{mode:`compact`,hidden:[]};let f=[],p=()=>d.filter((e,t)=>!f.includes(t)),m=()=>LD(p(),i)+i+a<=t;for(let e=l-1;e>=0&&!(m()&&l-f.length<=s);e--)e!==o&&f.push(e);if(o>=0&&!f.includes(o)){let e=p().length-1;if(t-a-i-e*(r+i)-r<c)return{mode:`tight`,hidden:f}}return{mode:`compact`,hidden:f}}function zD(e){return e.kind===`tab-host`&&e.payload?.closeTabsOnClose===!0}function BD(e){let t=K.getState().windows[e];if(t){if(zD(t)){let t=Dr(e),n=q.getState().panels[t]?.tabs??[];if(n.length>0){for(let e of[...n])q.getState().closeTab(e.id,t);return}}K.getState().close(e)}}var VD={sm:`size-4 rounded-[4px] [&_svg]:size-[11px]`,md:`size-[22px] rounded-md [&_svg]:size-3.5`,lg:`size-6 rounded-md [&_svg]:size-3.5`};function HD({icon:e,tone:t,size:n=`md`,filled:r,muted:i,className:a,children:o}){let s={"--tone":t,background:r?`linear-gradient(140deg, var(--tone), color-mix(in srgb, var(--tone) 60%, #000))`:`color-mix(in srgb, var(--tone) 20%, transparent)`,color:r?`#fff`:`var(--tone)`};return(0,$.jsxs)(`span`,{"aria-hidden":`true`,style:s,className:G(`relative grid shrink-0 place-items-center`,VD[n],i&&`opacity-55 saturate-50`,a),children:[(0,$.jsx)(e,{}),o]})}function UD({className:e}){return(0,$.jsx)(`span`,{className:G(`absolute -right-[3px] -top-[3px] size-[7px] rounded-full bg-success ring-2 ring-panel`,e),children:(0,$.jsx)(`span`,{className:`absolute inset-0 rounded-full bg-success animate-ping motion-reduce:hidden`})})}function WD({title:e,subtitle:t,busy:n,focused:r,className:i}){return(0,$.jsxs)(`span`,{className:G(`flex min-w-0 items-center gap-2`,i),children:[(0,$.jsx)(`span`,{className:G(`truncate text-[13px] font-semibold`,r?`text-text`:`text-text-2`),children:e}),t&&(0,$.jsx)(`span`,{className:`min-w-0 truncate text-[11px] text-text-3 @max-[560px]/window:hidden`,children:t}),n&&(0,$.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-[11px] text-success`,children:[(0,$.jsx)(`span`,{className:`size-1.5 rounded-full bg-current`}),`Working`]})]})}function GD({open:e,onOpenChange:t,anchorRef:n,windows:r,frontId:i}){let[a,o]=(0,Q.useState)(``),s=r.filter(e=>e.state!==`minimized`),c=r.filter(e=>e.state===`minimized`),l=e=>{e&&o(``),t(e)};return(0,$.jsxs)(_,{open:e,onOpenChange:l,children:[(0,$.jsx)(O,{virtualRef:n}),(0,$.jsx)(g,{children:(0,$.jsxs)(h,{"aria-label":`All windows`,side:`top`,align:`end`,sideOffset:6,collisionPadding:8,onPointerDownOutside:e=>{e.target?.closest?.(`[data-more]`)&&e.preventDefault()},className:`z-50 flex max-h-[min(440px,70vh)] w-[300px] max-w-[calc(100vw-24px)] flex-col overflow-hidden rounded-xl border border-border bg-panel-2 font-sans shadow-lg`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 pb-2 pl-3.5 pr-2.5 pt-2.5`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-semibold text-text`,children:`Windows`}),(0,$.jsx)(`span`,{className:`font-mono text-[11px] text-text-3`,children:r.length}),(0,$.jsx)(`span`,{className:`flex-1`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{K.getState().minimizeAll(),l(!1)},className:`rounded-md px-1.5 py-1 text-xs font-medium text-primary can-hover:hover:bg-accent-wash`,children:`Minimize all`})]}),(0,$.jsxs)(`label`,{className:`mx-2.5 mb-1.5 flex h-[30px] items-center gap-1.5 rounded-lg border border-border-soft bg-panel px-2 text-text-3 focus-within:border-accent-wash-border`,children:[(0,$.jsx)(Ln,{className:`size-3.5 shrink-0`}),(0,$.jsx)(`input`,{autoFocus:!0,type:`text`,value:a,onChange:e=>o(e.target.value),placeholder:`Find a window…`,"aria-label":`Find a window`,autoComplete:`off`,className:`min-w-0 flex-1 bg-transparent text-[12.5px] text-text outline-none placeholder:text-text-3`})]}),(0,$.jsx)(KD,{query:a,shown:s,minimized:c,frontId:i,onPicked:()=>l(!1)})]})})]})}function KD({query:e,shown:t,minimized:n,frontId:r,onPicked:i}){let a=[...t,...n],o=PD(a),s=e.trim().toLowerCase(),c=new Set(a.filter((e,t)=>!s||o[t].includes(s)).map(e=>e.id)),l=(e,t)=>{let n=t.filter(e=>c.has(e.id));return n.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`p`,{className:`mx-2 mb-1 mt-2 text-[10.5px] font-semibold uppercase tracking-[0.06em] text-text-3`,children:[e,` · `,n.length]}),n.map(e=>(0,$.jsx)(qD,{win:e,front:e.id===r,onPicked:i},e.id))]})};return(0,$.jsxs)(`div`,{className:`min-h-0 overflow-y-auto px-1.5 pb-2 pt-0.5`,children:[l(`Open`,t),l(`Minimized`,n),c.size===0&&(0,$.jsx)(`p`,{className:`p-4 text-center text-xs text-text-3`,children:`No window matches`})]})}function qD({win:e,front:t,onPicked:n}){let r=ID(e),i=r.title||TD(e.kind,e.payload),a=e.state===`minimized`,o=r.busy?`${r.kindLabel} · working`:t?`${r.kindLabel} · in front`:r.kindLabel;return(0,$.jsxs)(`div`,{className:G(`group relative flex items-center rounded-lg can-hover:hover:bg-surface-hover`,t&&`bg-accent-wash`),children:[t&&(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`absolute bottom-2 left-0 top-2 w-[3px] rounded-r-[3px] bg-primary`}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{t||K.getState().focus(e.id),n()},className:`flex min-h-11 min-w-0 flex-1 items-center gap-2.5 py-1.5 pl-2.5 pr-2 text-left md:min-h-0`,children:[(0,$.jsx)(HD,{icon:r.icon,tone:r.tone,size:`lg`,filled:r.filled,muted:a}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`truncate text-[12.5px] font-medium text-text`,children:i}),(0,$.jsx)(`span`,{className:G(`truncate text-[11px]`,r.busy?`text-success`:`text-text-3`),children:o})]})]}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close ${i}`,title:`Close`,onClick:()=>BD(e.id),className:G(`mr-1 grid size-[26px] shrink-0 place-items-center rounded-md text-text-3 transition-colors`,`can-hover:opacity-0 can-hover:group-hover:opacity-100 focus-visible:opacity-100`,`can-hover:hover:bg-[color-mix(in_srgb,var(--color-error)_18%,transparent)] can-hover:hover:text-error`),children:(0,$.jsx)($t,{className:`size-3.5`})})]})}var JD=8,YD=2,XD=26,ZD=(0,Q.memo)(function(){let e=K(e=>e.windows),t=Gr(e).filter(e=>!Hr(e.id)),n=qr(e),r=t.findIndex(e=>e.id===n),i=FD(t),a=(0,Q.useRef)(null),o=(0,Q.useRef)(null),[s,c]=(0,Q.useState)({mode:`full`,hidden:[]}),[l,u]=(0,Q.useState)(!1);if((0,Q.useLayoutEffect)(()=>{let e=a.current,t=o.current;if(!e||!t)return;let n=()=>{let n=[...t.querySelectorAll(`[data-chip]`)],i=t.querySelector(`[data-more]`),a=getComputedStyle(e),o=RD({available:e.clientWidth-parseFloat(a.paddingLeft)-parseFloat(a.paddingRight),fullWidths:n.map(e=>e.offsetWidth),iconWidth:XD,gap:YD,moreWidth:(i?.offsetWidth??40)+2,frontIndex:r,maxChips:JD});c(e=>e.mode===o.mode&&e.hidden.join()===o.hidden.join()?e:o)};n();let i=new ResizeObserver(n);return i.observe(e),i.observe(t),()=>i.disconnect()},[t.map(e=>e.id).join(`,`),r]),t.length===0)return null;let d=e=>e.id===n?`front`:e.state===`minimized`?`min`:`behind`,f=new Set(s.hidden),p=t.some((e,t)=>f.has(t)&&i.has(e.id));return(0,$.jsxs)(`div`,{ref:a,role:`toolbar`,"aria-label":`Windows`,onContextMenu:e=>{e.preventDefault(),u(!0)},className:`relative flex h-full min-w-0 flex-1 basis-0 items-center gap-0.5 overflow-hidden border-l border-border-soft pl-2.5 font-sans`,children:[t.map((e,t)=>f.has(t)?null:(0,$.jsx)(QD,{win:e,state:d(e),showTitle:s.mode===`full`||s.mode===`compact`&&e.id===n,busy:i.has(e.id)},e.id)),s.hidden.length>0&&(0,$.jsx)($D,{count:s.hidden.length,busy:p,expanded:l,onClick:()=>u(!l)}),(0,$.jsxs)(`div`,{ref:o,"aria-hidden":`true`,className:`pointer-events-none invisible absolute left-0 top-0 flex gap-0.5 whitespace-nowrap`,children:[t.map(e=>(0,$.jsx)(QD,{win:e,state:d(e),showTitle:!0,busy:!1,measuring:!0},e.id)),(0,$.jsx)($D,{count:t.length,busy:!1,expanded:!1,measuring:!0})]}),(0,$.jsx)(GD,{open:l,onOpenChange:u,anchorRef:a,windows:t,frontId:n})]})});function QD({win:e,state:t,showTitle:n,busy:r,measuring:i}){let a=ID(e),o=a.title||TD(e.kind,e.payload),s=`${o}${t===`min`?` (minimized)`:``}${r?` · working`:``}`;return(0,$.jsxs)(`button`,{type:`button`,"data-chip":``,tabIndex:i?-1:void 0,title:s,"aria-label":s,"aria-pressed":t!==`min`,onClick:()=>K.getState().activateFromDock(e.id),className:G(`relative flex h-[22px] max-w-[168px] items-center gap-1.5 rounded-md text-[11.5px] font-medium leading-none transition-colors`,`can-hover:hover:bg-surface-hover can-hover:hover:text-text`,n?`pl-1 pr-2`:`px-[5px]`,t===`front`?`min-w-[26px] shrink bg-accent-wash text-text`:`shrink-0`,t===`behind`&&`text-text-2`,t===`min`&&`text-text-3`),children:[(0,$.jsx)(HD,{icon:a.icon,tone:a.tone,size:`sm`,filled:a.filled,muted:t===`min`,children:r&&(0,$.jsx)(UD,{})}),n&&(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:o}),t!==`min`&&(0,$.jsx)(`span`,{"aria-hidden":`true`,className:G(`absolute bottom-0 left-1/2 h-[2px] -translate-x-1/2 rounded-full transition-[width,background-color]`,t===`front`?`w-[18px] bg-primary`:`w-1.5 bg-text-3`)})]})}function $D({count:e,busy:t,expanded:n,onClick:r,measuring:i}){return(0,$.jsxs)(`button`,{type:`button`,"data-more":``,tabIndex:i?-1:void 0,title:`${e} more window${e===1?``:`s`}`,"aria-label":`${e} more window${e===1?``:`s`}`,"aria-haspopup":`dialog`,"aria-expanded":n,onClick:r,className:G(`relative ml-0.5 flex h-[22px] shrink-0 items-center gap-0.5 rounded-md border pl-2 pr-1.5 text-[11px] font-semibold leading-none transition-colors`,n?`border-accent-wash-border bg-accent-wash text-text`:`border-border-soft bg-panel-2 text-text-2 can-hover:hover:border-accent-wash-border can-hover:hover:bg-accent-wash can-hover:hover:text-text`),children:[`+`,e,(0,$.jsx)(Hn,{className:G(`size-3 transition-transform`,n&&`rotate-180`)}),t&&(0,$.jsx)(UD,{className:`-right-0.5 -top-0.5`})]})}var eO=(0,Q.memo)(function(){let e=rf(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,$.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,$.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0 overflow-hidden`,children:[(0,$.jsx)(tO,{}),(0,$.jsx)(JE,{}),(0,$.jsx)(CD,{}),t.map(e=>(0,$.jsx)(rO,{item:e},e.id)),(0,$.jsx)(nO,{})]}),(0,$.jsx)(ZD,{}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,$.jsx)(yD,{}),(0,$.jsx)(VE,{compact:!0}),n.map(e=>(0,$.jsx)(rO,{item:e},e.id)),(0,$.jsx)(XE,{}),(0,$.jsx)(pD,{})]})]})}),tO=(0,Q.memo)(function(){let e=J(e=>e.activeProject?.name??null),t=Rm(t=>e?t.meta.get(e):void 0),[n,r]=(0,Q.useState)(!1);if(!t?.branch||!e)return null;let{branch:i,ahead:a,behind:o,tracking:s}=t,c=!!s&&a===0&&o===0;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{onClick:()=>r(!0),title:`Checkout a branch or tag — ${s?`tracking ${s}`:`no upstream`}`,"aria-label":`Current branch ${i}. Checkout a branch or tag`,className:`flex items-center gap-2 min-w-0 px-1 rounded-sm transition-colors hover:bg-primary/10`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-primary min-w-0`,children:[(0,$.jsx)(tt,{className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate max-w-[140px]`,children:i})]}),(a>0||o>0)&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5 shrink-0 @max-xl:hidden`,children:[a>0&&(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,$.jsx)(Nt,{className:`size-3`}),a]}),o>0&&(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,$.jsx)(sn,{className:`size-3`}),o]})]}),c&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-success shrink-0 @max-xl:hidden`,children:[(0,$.jsx)(L,{className:`size-3`}),`synced`]})]}),n&&(0,$.jsx)(uv,{projectName:e,onClose:()=>r(!1)})]})}),nO=(0,Q.memo)(function(){let e=q(e=>e.dock.visible),t=xD(q(e=>e.panels[Er]),J(e=>e.activeProject?.name??null));return(0,$.jsxs)(`button`,{onClick:()=>q.getState().toggleDock(),title:e?`Hide panel`:`Show panel`,"aria-label":e?`Hide panel`:`Show panel`,className:G(`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,$.jsx)(lt,{className:`size-[11px]`}),t>0&&(0,$.jsx)(`span`,{children:t})]})}),rO=(0,Q.memo)(function({item:e}){let t=(0,$.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,$.jsxs)(Ec,{children:[(0,$.jsx)(Dc,{asChild:!0,children:t}),(0,$.jsx)(Oc,{side:`top`,className:`text-xs`,children:e.tooltip})]}):t}),iO=`relative flex-1 min-h-0 overflow-hidden rounded-b-[8px] bg-panel`;function aO(e,t,n){let r=Pr(e),[i]=(0,Q.useState)(()=>{let e=document.createElement(`div`);return e.className=iO,e});return(0,Q.useLayoutEffect)(()=>{let n=t.current;if(n)return n.append(i),Nr(e,i),()=>{let t=Ur(e);t&&Kf()===t&&t.detach(),Nr(e,null),i.remove()}},[i,t,e]),(0,Q.useLayoutEffect)(()=>{i.classList.toggle(`hidden`,n&&!r)},[i,n,r]),{body:i,pip:r}}function oO({pip:e,minimized:t}){return(0,$.jsxs)(`div`,{className:G(`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,$.jsx)(`span`,{className:`text-xs text-text-2`,children:`Playing in picture-in-picture`}),(0,$.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 sO(e){let t=`mac-folder-${(0,Q.useId)()}`;return(0,$.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,$.jsx)(`defs`,{children:(0,$.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0`,stopColor:`#7FC1FF`}),(0,$.jsx)(`stop`,{offset:`1`,stopColor:`#3E92E5`})]})}),(0,$.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,$.jsx)(`path`,{d:`M2.5 10.5h19V9.8H4.7A2 2 0 0 0 2.5 10.5Z`,fill:`#FFFFFF`,fillOpacity:`.3`})]})}function cO(e){let t=`mac-folder-open-${(0,Q.useId)()}`;return(0,$.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,$.jsx)(`defs`,{children:(0,$.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0`,stopColor:`#8FCBFF`}),(0,$.jsx)(`stop`,{offset:`1`,stopColor:`#2F82D9`})]})}),(0,$.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,$.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 lO=`grid place-items-center size-6 rounded text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`;function uO({id:e,className:t}){let n=Pr(e);if(!Tf())return null;let r=()=>{let t=Ur(e);if(t){t.detach();return}let n=Vr(e);if(!n){B.error(`This window has nothing to pop out yet`);return}let r=K.getState().windows[e]?.rect;Jf(n,{width:r?.w??0,height:r?r.h-36:0,onDetach:()=>Br(e,null)}).then(t=>{if(!(!t||Kf()!==t)){if(Vr(e)!==n){t.detach();return}Br(e,t),wf(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,$.jsx)(`button`,{type:`button`,title:i,"aria-label":i,"aria-pressed":!!n,className:G(t??lO,n&&`text-primary`),onClick:r,children:(0,$.jsx)(bn,{className:`size-3.5`})})}var dO=[{color:`#FF5F57`,label:`Close window`,Icon:$t},{color:`#FEBC2E`,label:`Minimize window`,Icon:we},{color:`#28C840`,label:`Maximize window`,Icon:Ct}],fO=`grid place-items-center size-6 rounded text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`;function pO({id:e,kind:t,title:n,state:r,focused:i,titlebarProps:a,identity:o,onMinimize:s,onToggleMaximize:c,onToggleSnap:l,onClose:u}){let{className:d,style:f,...p}=a,m=[u,s,c];return(0,$.jsxs)(`div`,{...p,"data-skin":`macos`,style:{height:36,fontFamily:`var(--x-font)`,...f},className:G(`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`,d),children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2 pl-3`,children:dO.map(({color:e,label:t,Icon:n},r)=>(0,$.jsx)(`button`,{type:`button`,"aria-label":t,onClick:m[r],className:`grid size-3 place-items-center rounded-full`,style:{backgroundColor:i?e:`#8E8E93`},children:(0,$.jsx)(n,{className:`size-2 text-black/60 can-hover:opacity-0 can-hover:group-hover/titlebar:opacity-100`,strokeWidth:3})},t))}),(0,$.jsxs)(`span`,{className:`pointer-events-none flex flex-1 min-w-0 items-center justify-center gap-2 px-2`,children:[t!==`explorer`&&(0,$.jsx)(HD,{icon:o.icon,tone:o.tone,size:`sm`}),(0,$.jsx)(WD,{title:n,subtitle:o.subtitle,busy:o.busy,focused:i})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5 pr-2`,children:[o.allowPip&&(0,$.jsx)(uO,{id:e}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Snap to the right`,title:r===`snapped`?`Unsnap`:`Snap to the right`,"aria-pressed":r===`snapped`,className:G(fO,r===`snapped`&&`text-primary`),onClick:l,children:(0,$.jsx)(Ke,{className:`size-3.5`})})]})]})}var mO={id:`macos`,vocab:{home:`Home`,pinned:`Favorites`,known:`Locations`,drives:`Devices`},FolderIcon:sO,FolderOpenIcon:cO,chrome:pO};function hO(e){return(0,$.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,$.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,$.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,$.jsx)(`path`,{d:`M4 9.2h16`,stroke:`#FFFFFF`,strokeOpacity:`.35`,strokeWidth:`1`})]})}function gO(e){return(0,$.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,$.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,$.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 _O=`grid place-items-center w-[46px] self-stretch text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`,vO=G(_O,`can-hover:hover:!bg-[#c42b1c] can-hover:hover:!text-white`);function yO({id:e,kind:t,title:n,state:r,focused:i,titlebarProps:a,identity:o,onMinimize:s,onToggleMaximize:c,onToggleSnap:l,onClose:u}){let{className:d,style:f,...p}=a;return(0,$.jsxs)(`div`,{...p,"data-skin":`windows`,style:{height:36,fontFamily:`var(--x-font)`,...f},className:G(`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`,d),children:[(0,$.jsxs)(`div`,{className:`flex flex-1 min-w-0 items-center gap-2 px-2.5 cursor-default`,children:[t===`explorer`?(0,$.jsx)(hO,{className:`size-4 shrink-0`}):(0,$.jsx)(HD,{icon:o.icon,tone:o.tone}),(0,$.jsx)(WD,{title:n,subtitle:o.subtitle,busy:o.busy,focused:i})]}),o.allowPip&&(0,$.jsx)(uO,{id:e,className:_O}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Snap to the right`,title:r===`snapped`?`Unsnap`:`Snap to the right`,"aria-pressed":r===`snapped`,className:G(_O,r===`snapped`&&`text-primary`),onClick:l,children:(0,$.jsx)(Ke,{className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Minimize window`,className:_O,onClick:s,children:(0,$.jsx)(we,{className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,"aria-label":r===`maximized`?`Restore window`:`Maximize window`,className:_O,onClick:c,children:r===`maximized`?(0,$.jsx)(jn,{className:`size-3`}):(0,$.jsx)(ze,{className:`size-3`})}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close window`,className:vO,onClick:u,children:(0,$.jsx)($t,{className:`size-3.5`})})]})}var bO={id:`windows`,vocab:{home:`Home`,pinned:`Quick access`,known:`Folders`,drives:`Drives`},FolderIcon:hO,FolderOpenIcon:gO,chrome:yO};function xO(){let e=U(e=>e.explorerSkin),{host:t}=Xh(!U(e=>e.minimalMode));return e===`windows`?bO:e===`macos`?mO:t?.platform===`win32`?bO:mO}function SO(e){let t=xO().chrome;return(0,$.jsx)(t,{...e})}function CO(e,t,n){return Math.max(t,Math.min(e,n))}var wO={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 TO(e,t,n){return t===0||Math.abs(t)===1/0?e**(n*5):e*t*n/(t+n*e)}function EO(e,t,n,r=.15){return r===0?CO(e,t,n):e<t?-TO(t-e,n-t,r)+t:e>n?+TO(e-n,n-t,r)+n:e}function DO(e,[t,n],[r,i]){let[[a,o],[s,c]]=e;return[EO(t,a,o,r),EO(n,s,c,i)]}function OO(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 kO(e){var t=OO(e,`string`);return typeof t==`symbol`?t:String(t)}function AO(e,t,n){return t=kO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jO(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 MO(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?jO(Object(n),!0).forEach(function(t){AO(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jO(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var NO={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 PO(e){return e?e[0].toUpperCase()+e.slice(1):``}var FO=[`enter`,`leave`];function IO(e=!1,t){return e&&!FO.includes(t)}function LO(e,t=``,n=!1){let r=NO[e],i=r&&r[t]||t;return`on`+PO(e)+PO(i)+(IO(n,i)?`Capture`:``)}var RO=[`gotpointercapture`,`lostpointercapture`];function zO(e){let t=e.substring(2).toLowerCase(),n=!!~t.indexOf(`passive`);n&&(t=t.replace(`passive`,``));let r=RO.includes(t)?`capturecapture`:`capture`,i=!!~t.indexOf(r);return i&&(t=t.replace(`capture`,``)),{device:t,capture:i,passive:n}}function BO(e,t=``){let n=NO[e];return e+(n&&n[t]||t)}function VO(e){return`touches`in e}function HO(e){return VO(e)?`touch`:`pointerType`in e?e.pointerType:`mouse`}function UO(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 WO(e){return e.type===`touchend`||e.type===`touchcancel`?e.changedTouches:e.targetTouches}function GO(e){return VO(e)?WO(e)[0]:e}function KO(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 qO(e){return UO(e).map(e=>e.identifier)}function JO(e,t){let[n,r]=Array.from(e.touches).filter(e=>t.includes(e.identifier));return KO(n,r)}function YO(e){let t=GO(e);return VO(e)?t.identifier:t.pointerId}function XO(e){let t=GO(e);return[t.clientX,t.clientY]}var ZO=40,QO=800;function $O(e){let{deltaX:t,deltaY:n,deltaMode:r}=e;return r===1?(t*=ZO,n*=ZO):r===2&&(t*=QO,n*=QO),[t,n]}function ek(e){let{scrollX:t,scrollY:n,scrollLeft:r,scrollTop:i}=e.currentTarget;return[t??r??0,n??i??0]}function tk(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 nk(e,...t){return typeof e==`function`?e(...t):e}function rk(){}function ik(...e){return e.length===0?rk:e.length===1?e[0]:function(){let t;for(let n of e)t=n.apply(this,arguments)||t;return t}}function ak(e,t){return Object.assign({},t,e||{})}var ok=32,sk=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?nk(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,tk(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);wO.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=nk(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=DO(t._bounds,t.offset,b),t.delta=wO.sub(t.offset,f),this.computeMovement(),p&&(!t.last||i>ok)){t.delta=wO.sub(t.offset,f);let e=t.delta.map(Math.abs);wO.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(MO(MO(MO({},t),e),{},{[this.aliasKey]:e.values}));r!==void 0&&(e.memo=r)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}};function ck([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 lk=class extends sk{constructor(...e){super(...e),AO(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=wO.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=wO.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[HO(e)]:n.axisThreshold;t.axis=ck(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}}},uk=e=>e,dk=.15,fk={enabled(e=!0){return e},eventOptions(e,t,n){return MO(MO({},n.shared.eventOptions),e)},preventDefault(e=!1){return e},triggerAllEvents(e=!1){return e},rubberband(e=0){switch(e){case!0:return[dk,dk];case!1:return[0,0];default:return wO.toVector(e)}},from(e){if(typeof e==`function`)return e;if(e!=null)return wO.toVector(e)},transform(e,t,n){let r=e||n.shared.transform;return this.hasCustomTransform=!!r,r||uk},threshold(e){return wO.toVector(e,0)}},pk=0,mk=MO(MO({},fk),{},{axis(e,t,{axis:n}){if(this.lockDirection=n===`lock`,!this.lockDirection)return n},axisThreshold(e=pk){return e},bounds(e={}){if(typeof e==`function`)return t=>mk.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]]}}),hk={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]},gk=class extends lk{constructor(...e){super(...e),AO(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=mk.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=YO(e),n._pointerActive=!0,this.computeValues(XO(e)),this.computeInitial(),t.preventScrollAxis&&HO(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=YO(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;let i=XO(e);if(document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=wO.sub(i,t._values),this.computeValues(i)),wO.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=YO(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,_k(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=hk[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,wO.addTo(n._movement,n._delta),this.compute(e),this.emit()}}keyUp(e){e.key in hk&&(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 _k(e){`persist`in e&&typeof e.persist==`function`&&e.persist()}var vk=typeof window<`u`&&window.document&&window.document.createElement;function yk(){return vk&&`ontouchstart`in window}function bk(){return yk()||vk&&window.navigator.maxTouchPoints>1}function xk(){return vk&&`onpointerdown`in window}function Sk(){return vk&&`exitPointerLock`in window.document}function Ck(){try{return`constructor`in GestureEvent}catch{return!1}}var wk={isBrowser:vk,gesture:Ck(),touch:yk(),touchscreen:bk(),pointer:xk(),pointerLock:Sk()},Tk=250,Ek=180,Dk=.5,Ok=50,kk=250,Ak=10,jk={mouse:0,touch:0,pen:8},Mk=MO(MO({},mk),{},{device(e,t,{pointer:{touch:n=!1,lock:r=!1,mouse:i=!1}={}}){return this.pointerLock=r&&wk.pointerLock,wk.touch&&n?`touch`:this.pointerLock?`mouse`:wk.pointer&&!i?`pointer`:wk.touch?`touch`:`mouse`},preventScrollAxis(e,t,{preventScroll:n}){if(this.preventScrollDelay=typeof n==`number`?n:n||n===void 0&&e?Tk:void 0,!(!wk.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=wO.toVector(e,n?r:i?1:0);return this.filterTaps=n,this.tapsThreshold=r,a},swipe({velocity:e=Dk,distance:t=Ok,duration:n=kk}={}){return{velocity:this.transform(wO.toVector(e)),distance:this.transform(wO.toVector(t)),duration:n}},delay(e=0){switch(e){case!0:return Ek;case!1:return 0;default:return e}},axisThreshold(e){return e?MO(MO({},jk),e):jk},keyboardDisplacement(e=Ak){return e}});function Nk(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 Pk=30,Fk=100,Ik=class extends sk{constructor(...e){super(...e),AO(this,`ingKey`,`pinching`),AO(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=wO.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)*Pk-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=JO(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=KO(...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=JO(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=KO(...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=wO.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=[-$O(e)[1]/Fk*t.offset[0],0],wO.addTo(t._movement,t._delta),Nk(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})}},Lk=MO(MO({},fk),{},{device(e,t,{shared:n,pointer:{touch:r=!1}={}}){if(n.target&&!wk.touch&&wk.gesture)return`gesture`;if(wk.touch&&r)return`touch`;if(wk.touchscreen){if(wk.pointer)return`pointer`;if(wk.touch)return`touch`}},bounds(e,t,{scaleBounds:n={},angleBounds:r={}}){let i=e=>{let t=ak(nk(n,e),{min:-1/0,max:1/0});return[t.min,t.max]},a=e=>{let t=ak(nk(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`,wO.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey(e){return e===void 0?`ctrlKey`:e},pinchOnWheel(e=!0){return e}}),Rk=class extends lk{constructor(...e){super(...e),AO(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(XO(e)),this.compute(e),this.computeInitial(),this.emit()}moveChange(e){if(!this.state._active)return;let t=XO(e),n=this.state;n._delta=wO.sub(t,n._values),wO.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))}},zk=MO(MO({},mk),{},{mouseOnly:(e=!0)=>e}),Bk=class extends lk{constructor(...e){super(...e),AO(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=ek(e);t._delta=wO.sub(n,t._values),wO.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))}},Vk=mk,Hk=class extends lk{constructor(...e){super(...e),AO(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=$O(e),wO.addTo(t._movement,t._delta),Nk(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))}},Uk=mk,Wk=class extends lk{constructor(...e){super(...e),AO(this,`ingKey`,`hovering`)}enter(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.start(e),this.computeValues(XO(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=XO(e);t._movement=t._delta=wO.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))}},Gk=MO(MO({},mk),{},{mouseOnly:(e=!0)=>e}),Kk=new Map,qk=new Map;function Jk(e){Kk.set(e.key,e.engine),qk.set(e.key,e.resolver)}var Yk={key:`drag`,engine:gk,resolver:Mk},Xk={key:`hover`,engine:Wk,resolver:Gk},Zk={key:`move`,engine:Rk,resolver:zk},Qk={key:`pinch`,engine:Ik,resolver:Lk},$k={key:`scroll`,engine:Bk,resolver:Vk},eA={key:`wheel`,engine:Hk,resolver:Uk};function tA(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 nA(e,t){if(e==null)return{};var n=tA(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 rA={target(e){if(e)return()=>`current`in e?e.current:e},enabled(e=!0){return e},window(e=wk.isBrowser?window:void 0){return e},eventOptions({passive:e=!0,capture:t=!1}={}){return{passive:e,capture:t}},transform(e){return e}},iA=[`target`,`eventOptions`,`window`,`enabled`,`transform`];function aA(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]=aA(e[r],i);break;case`boolean`:i&&(n[r]=e[r]);break}return n}function oA(e,t,n={}){let r=e,{target:i,eventOptions:a,window:o,enabled:s,transform:c}=r,l=nA(r,iA);if(n.shared=aA({target:i,eventOptions:a,window:o,enabled:s,transform:c},rA),t){let e=qk.get(t);n[t]=aA(MO({shared:n.shared},l),e)}else for(let e in l){let t=qk.get(e);t&&(n[e]=aA(MO({shared:n.shared},l[e]),t))}return n}var sA=class{constructor(e,t){AO(this,`_listeners`,new Set),this._ctrl=e,this._gestureKey=t}add(e,t,n,r,i){let a=this._listeners,o=BO(t,n),s=MO(MO({},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()}},cA=class{constructor(){AO(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()}},lA=class{constructor(e){AO(this,`gestures`,new Set),AO(this,`_targetEventStore`,new sA(this)),AO(this,`gestureEventStores`,{}),AO(this,`gestureTimeoutStores`,{}),AO(this,`handlers`,{}),AO(this,`config`,{}),AO(this,`pointerIds`,new Set),AO(this,`touchIds`,new Set),AO(this,`state`,{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),dA(this,e)}setEventIds(e){if(VO(e))return this.touchIds=new Set(qO(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=oA(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=fA(n,i.eventOptions,!!r);i.enabled&&new(Kk.get(t))(this,e,t).bind(a)}let i=fA(n,t.eventOptions,!!r);for(let t in this.nativeHandlers)i(t,``,n=>this.nativeHandlers[t](MO(MO({},this.state.shared),{},{event:n,args:e})),void 0,!0)}for(let e in n)n[e]=ik(...n[e]);if(!r)return n;for(let e in n){let{device:t,capture:i,passive:a}=zO(e);this._targetEventStore.add(r,t,``,n[e],{capture:i,passive:a})}}}};function uA(e,t){e.gestures.add(t),e.gestureEventStores[t]=new sA(e,t),e.gestureTimeoutStores[t]=new cA}function dA(e,t){t.drag&&uA(e,`drag`),t.wheel&&uA(e,`wheel`),t.scroll&&uA(e,`scroll`),t.move&&uA(e,`move`),t.pinch&&uA(e,`pinch`),t.hover&&uA(e,`hover`)}var fA=(e,t,n)=>(r,i,a,o={},s=!1)=>{let c=o.capture??t.capture,l=o.passive??t.passive,u=s?r:LO(r,i,c);n&&l&&(u+=`Passive`),e[u]=e[u]||[],e[u].push(a)},pA=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function mA(e){let t={},n={},r=new Set;for(let i in e)pA.test(i)?(r.add(RegExp.lastMatch),n[i]=e[i]):t[i]=e[i];return[n,t,r]}function hA(e,t,n,r,i,a){if(!e.has(n)||!Kk.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 gA(e,t){let[n,r,i]=mA(e),a={};return hA(i,n,`onDrag`,`drag`,a,t),hA(i,n,`onWheel`,`wheel`,a,t),hA(i,n,`onScroll`,`scroll`,a,t),hA(i,n,`onPinch`,`pinch`,a,t),hA(i,n,`onMove`,`move`,a,t),hA(i,n,`onHover`,`hover`,a,t),{handlers:a,config:t,nativeHandlers:r}}function _A(e,t={},n,r){let i=Q.useMemo(()=>new lA(e),[]);if(i.applyHandlers(e,r),i.applyConfig(t,n),Q.useEffect(i.effect.bind(i)),Q.useEffect(()=>i.clean.bind(i),[]),t.target===void 0)return i.bind.bind(i)}function vA(e,t){return Jk(Yk),_A({drag:e},t||{},`drag`)}function yA(e){return e.forEach(Jk),function(e,t){let{handlers:n,nativeHandlers:r,config:i}=gA(e,t||{});return _A(n,i,void 0,r)}}function bA(e,t){return yA([Yk,Qk,$k,eA,Zk,Xk])(e,t||{})}var xA={filterTaps:!0,pointer:{capture:!0}};function SA(e,t){return!e&&t===void 0}function CA(e,t,n){let r=n>0?n:1;return{dx:(e[0]-t[0])/r,dy:(e[1]-t[1])/r}}function wA(e){return vA(({xy:t,initial:n,first:r,last:i,memo:a})=>{if(SA(r,a)){i&&e.onGestureActive(!1);return}let o=r?{base:{...e.getRect()},armed:!1}:a,{base:s}=o;r&&e.onGestureActive(!0);let{dx:c,dy:l}=CA(t,n,e.getScale()),u={...s,x:s.x+c,y:s.y+l},d=e.getBounds(),f=!!e.onSnap&&gr(u,s,d);return f!==o.armed&&(o.armed=f,e.onSnapPreview?.(f)),i&&f?(e.onSnapPreview?.(!1),e.onSnap?.()):e.onChange(Yr(u,d),i),i&&e.onGestureActive(!1),o},{...xA,enabled:!e.disabled})}var TA=10,EA=1,DA={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};function OA(e){return(0,Q.useCallback)(t=>{if(t.key===`Escape`){t.stopPropagation(),e.onClose();return}if(t.altKey&&t.key===`Enter`){t.preventDefault(),e.onToggleMaximize();return}let n=DA[t.key];if(!n||!e.movable)return;t.preventDefault();let r=t.shiftKey?EA:TA;e.onMove(Mr(e.getRect(),n[0]*r,n[1]*r,e.getBounds()))},[e])}function kA(e){return vA(({args:t,xy:n,initial:r,first:i,last:a,memo:o})=>{if(SA(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}=CA(n,r,e.getScale()),d=Yr(Ir(c,s,l,u),e.getBounds());return e.onChange(d,a),a&&e.onGestureActive(!1),c},{...xA,enabled:!e.disabled})}var AA={edge:6,corner:12},jA={edge:12,corner:20},MA={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 NA(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 PA({bind:e}){let t=Su(`(pointer: coarse)`)?jA:AA;return(0,$.jsx)($.Fragment,{children:Lr.map(n=>(0,$.jsx)(`div`,{...e(n),"data-resize-handle":n,"aria-hidden":!0,className:MA[n],style:NA(n,t)},n))})}function FA(e,t){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=`${Math.round(t.h)}px`)}function IA({win:e,bounds:t,title:n,identity:r,focused:i,getScale:a,onGestureActive:o,children:s}){let c=(0,Q.useRef)(null),l=(0,Q.useRef)(null),[u,d]=(0,Q.useState)(!1),f=e.state===`maximized`,p=e.state===`snapped`,m=e.state===`minimized`,h=e.state===`normal`,g=Zr(e.state,e.rect,t),{body:_,pip:v}=aO(e.id,l,m),y=(0,Q.useRef)(g);y.current=g;let b=(0,Q.useRef)(t);b.current=t,(0,Q.useLayoutEffect)(()=>{FA(c.current,y.current)},[g.x,g.y,g.w,g.h]),(0,Q.useLayoutEffect)(()=>{let t=c.current;if(!t)return;let n=()=>K.getState().focus(e.id);return t.addEventListener(`pointerdown`,n,!0),()=>t.removeEventListener(`pointerdown`,n,!0)},[e.id]),(0,Q.useLayoutEffect)(()=>()=>{let t=K.getState();t.snapPreviewId===e.id&&t.setSnapPreview(null)},[e.id]);let x=(0,Q.useCallback)(e=>{d(e),o(e)},[o]),S=(0,Q.useCallback)((t,n)=>{FA(c.current,t),n&&K.getState().move(e.id,{x:t.x,y:t.y})},[e.id]),C=(0,Q.useCallback)((t,n)=>{FA(c.current,t),n&&K.getState().resize(e.id,t)},[e.id]),w={getRect:()=>y.current,getBounds:()=>b.current,getScale:a,onGestureActive:x},T=wA({...w,onChange:S,disabled:!h,onSnapPreview:t=>K.getState().setSnapPreview(t?e.id:null),onSnap:()=>K.getState().setState(e.id,`snapped`)}),E=kA({...w,onChange:C,disabled:!h}),D=(0,Q.useCallback)(()=>BD(e.id),[e.id]),O=(0,Q.useCallback)(()=>{K.getState().setState(e.id,f?`normal`:`maximized`)},[e.id,f]),k=(0,Q.useCallback)(()=>{K.getState().setState(e.id,p?`normal`:`snapped`)},[e.id,p]),A=(0,Q.useCallback)(()=>K.getState().setState(e.id,`minimized`),[e.id]),j=OA({getRect:()=>y.current,getBounds:()=>b.current,onMove:t=>K.getState().move(e.id,{x:t.x,y:t.y}),onToggleMaximize:O,onClose:()=>{zD(e)||D()},movable:h}),M=!!v&&Hr(e.id);return(0,$.jsxs)(`div`,{ref:c,role:`group`,"aria-roledescription":`window`,"aria-label":n,style:{zIndex:Xr(e.rank)},className:G(`@container/window absolute left-0 top-0 flex flex-col pointer-events-auto`,`rounded-[8px] border border-border bg-panel overflow-visible`,(f||p)&&`rounded-none`,i?`shadow-2xl shadow-black/40`:`shadow-lg shadow-black/20`,u?`transition-none`:`transition-[transform,width,height] duration-150 motion-reduce:transition-none`,(M||m)&&`hidden`),children:[(0,$.jsx)(SO,{id:e.id,kind:e.kind,title:n,state:e.state,focused:i,identity:r,titlebarProps:{...T(),onKeyDown:j,onDoubleClick:e=>{e.target.closest(`button`)||O()},tabIndex:0,role:`toolbar`,"aria-label":`${n} title bar`,style:{touchAction:`none`,userSelect:`none`}},onMinimize:A,onToggleMaximize:O,onToggleSnap:k,onClose:D}),v&&!M&&(0,$.jsx)(oO,{pip:v,minimized:m}),h&&(0,$.jsx)(PA,{bind:e=>E(e)}),(0,$.jsx)(`div`,{ref:l,className:`contents`}),(0,yp.createPortal)((0,$.jsx)(mr,{container:v?.pipWindow.document.body,children:s}),_)]})}function LA(){return Pi()?null:(0,$.jsx)(RA,{})}function RA(){let e=U(e=>e.minimalMode),t=q(e=>e.panels),n=(0,Q.useRef)(null),r=K(e=>e.windows),i=K(e=>e.bounds),a=K(e=>e.snapPreviewId!==null),[o,s]=(0,Q.useState)(!1);(0,Q.useLayoutEffect)(()=>{let e=n.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect(),n=e.offsetWidth>0?t.width/e.offsetWidth:1;return{w:Math.round(t.width/n),h:Math.round(t.height/n)}},r=K.getState();r.setBounds(t()),r.restoreAll(t());let i=new ResizeObserver(()=>K.getState().setBounds(t()));return i.observe(e),()=>i.disconnect()},[]);let c=(0,Q.useCallback)(()=>{let e=n.current;return!e||e.offsetWidth===0?1:e.getBoundingClientRect().width/e.offsetWidth},[]),l=Rr(r).filter(n=>!e||n.kind===`settings`||n.kind===`agent-session`||n.kind===`tab-host`&&t[Dr(n.id)]?.tabs.some(e=>I(e.type))),u=qr(r);return(0,$.jsxs)(`div`,{ref:n,className:`absolute inset-x-0 top-0 bottom-[26px] overflow-hidden pointer-events-none`,children:[a&&(0,$.jsx)(BA,{bounds:i}),l.map(e=>(0,$.jsx)(zA,{win:e,bounds:i,focused:e.id===u,getScale:c,onGestureActive:s},e.id)),o&&(0,$.jsx)(`div`,{className:`absolute inset-0 pointer-events-auto`,style:{zIndex:38}})]})}function zA({win:e,bounds:t,focused:n,getScale:r,onGestureActive:i}){let a=wD[e.kind],o=ID(e);return(0,$.jsx)(IA,{win:e,bounds:t,title:o.title||TD(e.kind,e.payload),identity:o,focused:n,getScale:r,onGestureActive:i,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(`div`,{className:`p-3 text-xs text-text-2`,children:`Loading…`}),children:(0,$.jsx)(a,{id:e.id,payload:e.payload})})})}function BA({bounds:e}){let t=Tr(e);return(0,$.jsx)(`div`,{"aria-hidden":`true`,className:`absolute rounded border-2 border-dashed border-primary bg-accent-wash transition-opacity`,style:{left:t.x,top:t.y,width:t.w,height:t.h,zIndex:30}})}function VA(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 HA=`ppm:tab-sort-mode`;function UA(){try{return localStorage.getItem(HA)===`recent`?`recent`:`default`}catch{return`default`}}function WA({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,Q.useState)(``),p=ju(e=>e.notifications),m=Yi(e=>e.sessions),h=$u(),[g,_]=(0,Q.useState)(UA),v=(0,Q.useCallback)(e=>{_(e);try{localStorage.setItem(HA,e)}catch{}},[]),{groups:y,total:b}=VA(r,i,a,d,{sortMode:g,recency:l}),x=(0,Q.useRef)(null),S=(0,Q.useCallback)(e=>{c&&(x.current=setTimeout(()=>c(e),400))},[c]),C=(0,Q.useCallback)(()=>{x.current&&=(clearTimeout(x.current),null)},[]);function w(e){q.getState().setActiveTab(e.id,i[e.id]);let n=$r(e);n&&ju.getState().clearForSession(n),t()}function T(e,t){t.stopPropagation(),ld([e.id],i[e.id])}function E(){t(),n()}return(0,$.jsxs)(Ma,{open:e,onClose:t,className:`max-h-[72vh] flex flex-col`,children:[(0,$.jsxs)(`div`,{className:`shrink-0 flex items-center gap-2 pl-4 pr-3 pt-1 pb-2.5`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-semibold text-text-primary`,children:`Open Tabs`}),(0,$.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,$.jsx)(`div`,{className:`flex-1`}),(0,$.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,$.jsx)(`button`,{onClick:()=>v(e),"aria-pressed":g===e,className:G(`h-7 px-2.5 rounded-md text-[11px] font-medium transition-colors select-none`,g===e?`bg-primary/10 text-primary`:`text-text-secondary active:bg-surface-elevated`),children:t},e))}),(0,$.jsx)(`button`,{onClick:E,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,$.jsx)(Ct,{className:`size-4`})})]}),(0,$.jsx)(`div`,{className:`shrink-0 px-3 pb-2`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 h-10 px-3 rounded-xl bg-background border border-border`,children:[(0,$.jsx)(Ln,{className:`size-4 text-text-subtle shrink-0`}),(0,$.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,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto overscroll-contain px-2 pb-2`,children:b===0?(0,$.jsx)(`p`,{className:`text-center text-[13px] text-text-subtle py-6`,children:`No tabs match`}):y.map(e=>(0,$.jsxs)(`div`,{className:`mb-1`,children:[e.label&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2 pt-2 pb-1`,children:[(0,$.jsx)(wt,{className:`size-3 text-text-subtle`}),(0,$.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.05em] text-text-subtle`,children:e.label}),(0,$.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle`,children:e.tabs.length})]}),e.tabs.map(e=>{let t=cp(e),n=e.id===o,r=$r(e),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,$.jsxs)(`button`,{onClick:()=>w(e),onTouchStart:()=>S(e.id),onTouchEnd:C,onTouchMove:C,onTouchCancel:C,onContextMenu:e=>e.preventDefault(),className:G(`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,$.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-[3px] rounded-r-sm`,style:{backgroundColor:f??`transparent`}}),(0,$.jsxs)(`span`,{className:G(`relative shrink-0`,d&&`text-warning`),children:[d?(0,$.jsx)(Xt,{className:`size-4`}):(0,$.jsx)(t,{className:G(`size-4`,n?`text-primary`:`text-text-secondary`)}),d?(0,$.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,$.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,$.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,$.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):c&&(!n||l)?(0,$.jsx)(`span`,{className:G(`absolute -top-1 -right-1 size-2 rounded-full`,Ou(c))}):null]}),(0,$.jsx)(`span`,{className:G(`flex-1 text-left text-sm font-medium truncate`,n?`text-primary`:`text-text-primary`),children:e.title}),(Wr(e.type,e.metadata)||nd(h,e.id)>0)&&(0,$.jsx)(`span`,{role:`img`,"aria-label":`Unsaved`,title:`Unsaved`,className:`size-[7px] shrink-0 rounded-full bg-text-2`}),n&&(0,$.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),e.closable&&(0,$.jsx)(`span`,{role:`button`,tabIndex:0,onClick:t=>T(e,t),className:`flex items-center justify-center size-8 rounded-lg text-text-subtle active:bg-surface-elevated shrink-0`,children:(0,$.jsx)($t,{className:`size-4`})})]},e.id)})]},e.panelId))})]})}function GA({onMenuPress:e,onProjectsPress:t}){let n=U(e=>e.minimalMode),r=q(e=>e.focusedPanelId),i=q(e=>e.panels),a=q(e=>e.grid),o=q(e=>e.dock),s=q(e=>e.dockExpanded),c=Na(!0)?.keyboardOpen??!1,l=Pi(),u=q(e=>e.currentProject),{tabs:d,tabPanelMap:f}=(0,Q.useMemo)(()=>{let e=a.flat(),t=[],r={};for(let a of e){let e=i[a];if(e)for(let i of e.tabs)i.projectId&&u&&i.projectId!==u||n&&!I(i.type)||(t.push(i),r[i.id]=a)}return{tabs:t,tabPanelMap:r}},[i,a,u,n]),p=(0,Q.useMemo)(()=>{let e=e=>typeof e.metadata?.lastActiveAt==`number`?e.metadata.lastActiveAt:-1,t=new Map;return[...d].filter(t=>e(t)>=0).sort((t,n)=>e(n)-e(t)).forEach((e,n)=>t.set(e.id,n)),t},[d]),m=a.flat(),h=m.includes(r)?r:m[0],g=(h?i[h]?.activeTabId:null)??null,_=ju(e=>e.notifications),v=md(e=>e.selection),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)(!1),[C,w]=(0,Q.useState)(null),[T,E]=(0,Q.useState)(``),D=d.find(e=>e.id===g)??null,O=i[Er],k=xD(O,u),A=y?d.find(e=>e.id===y):null,j=(i[y?f[y]??r:r]?.tabs??[]).filter(e=>!n||I(e.type)),M=y?j.findIndex(e=>e.id===y):-1,N=$r(A),P=N?(_.get(N)?.count??0)>0:!1,ee=A?.metadata?.filePath,F=A?.metadata?.projectName,te=v!=null&&!!F&&v.projectName===F&&v.filePath!==ee;function ne(e){b(null),w(e.id),E(e.title)}async function re(){let e=d.find(e=>e.id===C),t=e?.metadata?.sessionId,n=T.trim();if(!e||!t||!n||!u){w(null);return}try{await H.patch(`${V(u)}/chat/sessions/${t}`,{title:n}),q.getState().updateTab(e.id,{title:n})}catch{}w(null)}function R(e){let t=f[e]??r;ld((q.getState().panels[t]?.tabs??[]).filter(t=>t.id!==e&&t.closable&&(!n||I(t.type))).map(e=>e.id),t),b(null)}function ie(e){let t=f[e]??r,i=q.getState().panels[t]?.tabs??[],a=i.findIndex(t=>t.id===e);ld(i.slice(a+1).filter(e=>e.closable&&(!n||I(e.type))).map(e=>e.id),t),b(null)}function ae(e){let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return;let r=e.metadata?.unsavedContent;md.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:fr(t)}),b(null)}async function se(e){let t=e.metadata?.filePath,n=e.metadata?.projectName,r=md.getState().selection;if(!r||!t||!n)return;let i=e.metadata?.unsavedContent;try{await gd({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),md.getState().clearSelection()}catch(e){B.error(e instanceof Error?e.message:`Compare failed`)}b(null)}function ce(e){let t=e.metadata?.sessionId,n=e.metadata?.projectName;t&&n&&ju.getState().markUnread(t,n,e.title),b(null)}let[le,ue]=(0,Q.useState)(null);function de(e,t){let n=e.metadata?.filePath,r=e.metadata?.projectName;switch(t){case`copy-path`:n&&ca(n);break;case`copy-full-path`:if(n){let e=r?J.getState().projects.find(e=>e.name===r):null;ca(e?`${e.path}/${n}`:n)}break;case`download`:n&&r&&Qf(r,n);break;case`rename`:case`delete`:n&&ue({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}b(null)}let{activeProject:fe}=J.getState(),{activeProject:pe,projects:me,customOrder:he}=J(sm(e=>({activeProject:e.activeProject,projects:e.projects,customOrder:e.customOrder}))),{projectTags:ge,loadTags:_e}=wu(pe?.name),ve=(0,Q.useCallback)(async(e,t)=>{if(!pe?.name)return;let n={name:pe.name,path:pe.path},r=t===null?void 0:ge.find(e=>e.id===t);if(t!==null&&!r){b(null);return}li.getState().setSessionTag(n,e,r?{id:r.id,name:r.name,color:r.color}:null),b(null);let i=`${V(pe.name)}/chat/sessions/${e}/tag`;await ri(n,()=>t===null?H.del(i):H.patch(i,{tagId:t})),_e()},[pe,ge,_e]),ye=pe?ar(pe):null,be=li(e=>(ye?e.byProject[ye]?.sessions:void 0)??oi),xe={};for(let e of be)e.tag&&(xe[e.id]=e.tag);let Ce=ei(me,he??null),we=Ce.map(e=>e.name),Te=Ce.findIndex(e=>e.name===pe?.name),Ee=pe?zC(pe.color,Te>=0?Te:0):`#4f86c6`,De=()=>{if(!n){of();return}q.getState().openTab({type:`chat`,title:`AI Chat`,projectId:pe?.name??null,metadata:pe?{projectName:pe.name}:void 0,closable:!0})},Oe=D?cp(D):null;return(0,$.jsxs)(`nav`,{className:`fixed bottom-0 left-0 right-0 md:hidden bg-background border-t border-border z-40 select-none`,children:[(0,$.jsxs)(`div`,{className:`flex items-center h-12`,children:[(0,$.jsxs)(`div`,{className:`flex items-center shrink-0 border-r border-border`,children:[(0,$.jsx)(`button`,{onClick:e,"aria-label":`Open menu`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,$.jsx)(Ue,{className:`size-5`})}),(0,$.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,$.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,title:`Switch project`,children:pe?(0,$.jsx)(VC,{name:pe.name,color:Ee,image:pe.image,size:28,allNames:we}):(0,$.jsx)(Et,{className:`size-5`})}),(0,$.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),!n&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{onClick:()=>q.getState().toggleDock(),title:o.visible?`Hide panel`:`Show panel`,"aria-label":o.visible?`Hide panel`:`Show panel`,className:G(`relative flex items-center justify-center size-12 shrink-0 transition-colors`,o.visible?`text-primary bg-primary/10`:`text-text-secondary`),children:[(0,$.jsx)(Se,{className:`size-5`}),k>0&&(0,$.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,$.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`})]}),(0,$.jsx)(`button`,{onClick:De,title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,$.jsx)(Ct,{className:`size-5`})})]}),D&&Oe?(0,$.jsxs)(`button`,{onClick:()=>S(!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,$.jsx)(Oe,{className:`size-4 text-primary shrink-0`}),(0,$.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-left text-xs font-medium text-primary`,children:D.title}),(0,$.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:d.length}),(0,$.jsx)(Hn,{className:`size-3.5 text-text-subtle shrink-0`})]}):(0,$.jsxs)(`button`,{onClick:De,className:`flex-1 flex items-center gap-1.5 h-12 px-3 text-text-secondary text-xs`,children:[(0,$.jsx)(Ct,{className:`size-4`}),` New Tab`]})]}),(0,$.jsx)(WA,{open:x,onClose:()=>S(!1),onOpenPalette:De,tabs:d,tabPanelMap:f,panelOrder:a.flat(),activeTabId:g,projectColor:pe?Ee:null,onTabLongPress:e=>b(e),recency:p,sessionTagMap:xe}),(0,$.jsxs)(Ma,{open:!!A,onClose:()=>b(null),className:`select-none`,children:[(0,$.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-secondary border-b border-border truncate`,children:A?.title}),N&&(0,$.jsxs)(`button`,{onClick:()=>ne(A),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(On,{className:`size-4`}),` Rename`]}),A?.type===`editor`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{onClick:()=>de(A,`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,$.jsx)(jn,{className:`size-4`}),` Copy Path`]}),(0,$.jsxs)(`button`,{onClick:()=>de(A,`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,$.jsx)(jn,{className:`size-4`}),` Copy Full Path`]}),(0,$.jsxs)(`button`,{onClick:()=>de(A,`download`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(Ht,{className:`size-4`}),` Download`]}),(0,$.jsxs)(`button`,{onClick:()=>de(A,`rename`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(On,{className:`size-4`}),` Rename`]}),(0,$.jsxs)(`button`,{onClick:()=>de(A,`delete`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-error active:bg-surface-elevated`,children:[(0,$.jsx)(je,{className:`size-4`}),` Delete`]}),(0,$.jsx)(`div`,{className:`h-px bg-border mx-2`}),(0,$.jsxs)(`button`,{onClick:()=>ae(A),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(wt,{className:`size-4`}),` Select for Compare`]}),te&&(0,$.jsxs)(`button`,{onClick:()=>se(A),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(wt,{className:`size-4`}),` Compare with Selected (`,v.label,`)`]}),(0,$.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),N&&!P&&(0,$.jsxs)(`button`,{onClick:()=>ce(A),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(Ae,{className:`size-4 fill-primary text-primary`}),` Mark as unread`]}),N&&ge.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`px-3 pt-2 pb-1 text-xs text-text-secondary flex items-center gap-2`,children:[(0,$.jsx)(oe,{className:`size-3.5`}),` Set Tag`]}),ge.map(e=>(0,$.jsxs)(`button`,{onClick:()=>ve(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,$.jsx)(`span`,{className:`size-2.5 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,xe[N]?.id===e.id&&(0,$.jsx)(L,{className:`size-3.5 ml-auto`})]},e.id)),xe[N]&&(0,$.jsx)(`button`,{onClick:()=>ve(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,$.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),A?.closable&&(0,$.jsxs)(`button`,{onClick:()=>{ld([y]),b(null)},className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)($t,{className:`size-4`}),` Close`]}),j.some(e=>e.id!==y&&e.closable)&&(0,$.jsxs)(`button`,{onClick:()=>R(y),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(At,{className:`size-4`}),` Close Others`]}),M>=0&&M<j.length-1&&(0,$.jsxs)(`button`,{onClick:()=>ie(y),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(it,{className:`size-4`}),` Close to the Right`]})]}),(0,$.jsx)(Ma,{open:!!C,onClose:()=>w(null),children:(0,$.jsxs)(`div`,{className:`px-4 pt-1 pb-3`,children:[(0,$.jsx)(`div`,{className:`text-[13px] font-semibold text-text-primary mb-2`,children:`Rename chat`}),(0,$.jsx)(`input`,{autoFocus:!0,value:T,onChange:e=>E(e.target.value),onKeyDown:e=>{e.key===`Enter`&&re()},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,$.jsxs)(`div`,{className:`flex gap-2 mt-3`,children:[(0,$.jsx)(`button`,{onClick:()=>w(null),className:`flex-1 h-11 rounded-xl border border-border text-sm text-text-secondary active:bg-surface-elevated`,children:`Cancel`}),(0,$.jsx)(`button`,{onClick:re,className:`flex-1 h-11 rounded-xl bg-primary text-primary-foreground text-sm font-medium active:opacity-90`,children:`Save`})]})]})}),le&&(0,$.jsx)(tp,{node:le.node,projectName:fe?.name??``,onClose:()=>ue(null),onRefresh:()=>{fe&&Ai.getState().fetchTree(fe.name),le.action===`delete`&&q.getState().closeTab(le.tabId)}}),!n&&l&&(0,$.jsx)(Ma,{open:o.visible,onClose:()=>q.getState().setDockVisible(!1),zIndex:60,className:G(`flex flex-col`,c?`h-[calc(var(--sheet-vh,100dvh)+var(--sheet-kb,0px))]`:s?`h-[calc(var(--sheet-vh,100dvh)*0.92)]`:`h-[calc(var(--sheet-vh,100dvh)*0.6)]`),children:(0,$.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 overflow-hidden`,children:(0,$.jsx)(qp,{variant:`mobile`})})})]})}var KA=64,qA=350,JA=10;function YA(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 XA({tabs:e,activeId:t,onSelect:n,onReorder:r}){let i=(0,Q.useRef)(null),[a,o]=(0,Q.useState)(0),[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null),d=(0,Q.useRef)(null),f=(0,Q.useRef)(null),[p,m]=(0,Q.useState)(!1),h=(0,Q.useRef)(null),g=(0,Q.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,Q.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,Q.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/KA)):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(YA(e.map(e=>e.id),d.current,t)),y()},k=(e,t)=>G(`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,$.jsxs)(`div`,{ref:i,className:`flex items-center overflow-hidden`,children:[w.map(e=>{let r=e.icon;return(0,$.jsxs)(`button`,{"data-tabid":e.id,style:{width:KA},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),qA)},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>JA||n>JA)&&b()}},onTouchEnd:()=>{b(),d.current&&f.current?O(f.current):y(),g.current=null},onTouchCancel:()=>{b(),y(),g.current=null},children:[(0,$.jsx)(r,{className:`size-4`}),(0,$.jsx)(`span`,{children:e.shortLabel??e.label}),(0,$.jsx)(nC,{id:e.badge,variant:`corner`,className:`top-1 right-2 shadow-none`})]},e.id)}),S&&(0,$.jsxs)(`button`,{style:{width:KA},onClick:()=>m(!0),className:G(`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,$.jsx)(nt,{className:`size-4`}),(0,$.jsx)(`span`,{children:`More`})]}),(0,$.jsx)(Ma,{open:p,onClose:()=>m(!1),children:(0,$.jsxs)(`div`,{className:`px-2 pb-3 pt-1`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-xs text-text-secondary`,children:`More tabs`}),D.map(e=>{let r=e.icon;return(0,$.jsxs)(`button`,{onClick:()=>{n(e.id),m(!1)},className:G(`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,$.jsx)(r,{className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(nC,{id:e.badge})]},e.id)})]})})]})}var ZA=(0,Q.lazy)(()=>W(()=>import(`./designs-sidebar-panel-DIGPFo2l.js`).then(e=>({default:e.DesignsSidebarPanel})),__vite__mapDeps([138,1,2,3,31,6,7,8,9,10,11,12,13,14,15,16,131,50,18,23,17,19,44,56,57,27,85,69,139,67,62]))),QA=new Set([`history`,`teams`,`designs`,`explorer`,`search`,`git`,`database`,`tunnels`,`ai-resources`,`jira`]),$A=e=>QA.has(e)||e.startsWith(`ext:`);function ej({icon:e,label:t,badge:n,alert:r,alertLabel:i,onClick:a}){return(0,$.jsxs)(`button`,{onClick:a,"aria-label":r?`${t} · ${r} ${i??``}`.trimEnd():void 0,className:`group 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,$.jsxs)(`span`,{className:`relative flex items-center justify-center`,children:[(0,$.jsx)(e,{className:`size-4`}),(0,$.jsx)(nC,{id:n,variant:`corner`,className:`-top-2 -right-3`}),!!r&&(0,$.jsx)(`span`,{"aria-hidden":!0,className:`absolute -right-2.5 -top-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-error px-[3px] text-[9px] font-semibold leading-none text-white`,children:r>9?`9+`:r})]}),(0,$.jsx)(`span`,{className:`text-[10px] leading-none`,children:t})]})}function tj({isOpen:e,onClose:t,initialTab:n}){let{activeProject:r}=J(sm(e=>({activeProject:e.activeProject}))),i=U(e=>e.minimalMode),a=U(e=>e.jiraEnabled),o=U(e=>e.sidebarTabOrder),s=U(e=>e.setSidebarTabOrder),c=rf(e=>e.contributions),{available:l}=ow(),u=nw(),d=sw(),{available:f}=cw(),[p,m]=(0,Q.useState)(n??`explorer`),h=i&&!Zi(p)?`history`:p,[g,_]=(0,Q.useState)(!1),v=(0,Q.useMemo)(()=>lw(Ji({jiraEnabled:a,contributions:c}),o).filter(e=>$A(e.id)&&(!i||Zi(e.id))),[a,c,o,i]);(0,Q.useEffect)(()=>{n&&m(n)},[n]),(0,Q.useEffect)(()=>{v.length>0&&!v.some(e=>e.id===h)&&m(v[0].id)},[v,h]),(0,Q.useEffect)(()=>{let e=()=>{!i&&Fi()&&_(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[i]);let y=iE(),b=[{icon:se,label:`Files`,badge:`os-explorer`,onClick:()=>{t(),ng()}},...l?[{icon:Je,label:`Remote`,badge:`remote-desktop`,onClick:()=>{t(),u()}}]:[],...f?[{icon:R,label:`Android`,badge:`android`,onClick:()=>{t(),d()}}]:[],{icon:on,label:`Cloud`,onClick:()=>_(!0)},{icon:le,label:`Settings`,onClick:()=>{t(),Ii()}},{icon:bt,label:`Logs`,alert:y,alertLabel:y===1?`likely bug`:`likely bugs`,onClick:()=>{t(),tT()}}],x=(0,$.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,$.jsxs)(`div`,{className:G(`fixed inset-0 z-50 md:hidden transition-opacity duration-200`,e?`opacity-100`:`opacity-0 pointer-events-none`),children:[(0,$.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t,"aria-label":`Close drawer`}),(0,$.jsxs)(`div`,{className:G(`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,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-1.5 border-b border-border shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-sm font-bold text-primary tracking-tight`,children:r?.name??`PPM`}),(0,$.jsx)(`button`,{onClick:t,"aria-label":`Close drawer`,className:`-mr-1.5 flex items-center justify-center size-11 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,$.jsx)($t,{className:`size-4`})})]}),(0,$.jsxs)(`div`,{"data-onboarding":e?h:void 0,className:`flex-1 overflow-y-auto min-h-0`,children:[h===`history`&&(r?(0,$.jsx)($S,{variant:`sidebar`,projectName:r.name,onNavigate:t}):x),h===`teams`&&(r?(0,$.jsx)(SC,{}):x),h===`designs`&&(r?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(ZA,{onNavigate:t})}):x),e&&h===`explorer`&&(r?(0,$.jsx)(Bg,{onFileOpen:t}):x),e&&h===`search`&&(0,$.jsx)(qb,{onNavigate:t}),e&&h===`git`&&(0,$.jsx)(Zv,{metadata:{projectName:r?.name},onNavigate:t}),h===`database`&&(0,$.jsx)(Ub,{onNavigate:t}),h===`tunnels`&&(0,$.jsx)(VS,{onNavigate:t}),h===`jira`&&(0,$.jsx)(Sx,{}),h===`ai-resources`&&(0,$.jsx)(xS,{}),h.startsWith(`ext:`)&&(0,$.jsx)(Xb,{viewId:h.slice(4),className:`h-full`})]}),(0,$.jsxs)(`div`,{className:`shrink-0 border-t border-border`,children:[(0,$.jsx)(XA,{tabs:v,activeId:h,onSelect:m,onReorder:s}),(0,$.jsxs)(`div`,{className:`border-t border-border px-3 py-2`,children:[(0,$.jsx)(`div`,{className:`grid gap-1`,style:{gridTemplateColumns:`repeat(${i?1:b.length}, minmax(0, 1fr))`},children:b.filter(e=>!i||e.label===`Settings`).map(e=>(0,$.jsx)(ej,{...e},e.label))}),(0,$.jsx)(`div`,{className:`mt-2 border-t border-border px-1 text-[11px]`,children:!i&&(0,$.jsx)(pD,{align:`left`})})]})]})]}),(0,$.jsx)(Ma,{open:!i&&g,onClose:()=>_(!1),zIndex:60,children:(0,$.jsx)(qw,{variant:`sheet`,onClose:()=>_(!1)})})]})}function nj({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}=J(sm(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=U(e=>e.version),h=ei(n,d),g=h.map(e=>e.name),[_,v]=(0,Q.useState)(`list`),[y,b]=(0,Q.useState)(``),x=(0,Q.useMemo)(()=>ni(),[e]),S=(0,Q.useMemo)(()=>wC(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,Q.useCallback)(e=>{window.open(jC(e,null),`_blank`,`noopener`)},[]),[D,O]=(0,Q.useState)(null),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(!1),N=(0,Q.useRef)(null),[P,ee]=(0,Q.useState)(null),[F,te]=(0,Q.useState)(``),ne=(0,Q.useRef)(null),[I,re]=(0,Q.useState)(null);async function R(e){let t=e.target.files?.[0];if(e.target.value=``,!(!t||!I)){O(null);try{await o(I,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}}}let ie=(0,Q.useCallback)(e=>{N.current=setTimeout(()=>O(e),400)},[]),ae=(0,Q.useCallback)(()=>{N.current&&=(clearTimeout(N.current),null)},[]);function oe(){v(`list`),t()}function se(e){let t=n.find(t=>t.name===e);t&&(i(t),oe())}function ce(){v(`add`)}function ue(){oe(),Ii()}async function de(){if(!P||!F.trim()||F===P){ee(null);return}try{await l(P,F.trim())}catch{}ee(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 me=D?h.find(e=>e.name===D):null,he=D?h.findIndex(e=>e.name===D):-1,ge=D?[{label:`Open in New Tab`,icon:Lt,onClick:()=>{E(D),O(null)}},{label:`Rename`,icon:On,onClick:()=>{te(D),ee(D),O(null)}},{label:`Change Color`,icon:De,onClick:()=>{let e=h.findIndex(e=>e.name===D),t=h[e];A(zC(t?.color,e)),M(!0)}},{label:`Change Image`,icon:an,onClick:()=>{re(D),ne.current?.click()}},...me?.image?[{label:`Remove Image`,icon:je,onClick:()=>{s(D).catch(()=>{}),O(null)}}]:[],{label:`Copy Path`,icon:jn,onClick:()=>{me&&ca(me.path),O(null)}},...T&&he>0?[{label:`Move Up`,icon:Hn,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(he,1);e.splice(he-1,0,t),c(e),O(null)}}]:[],...T&&he<h.length-1?[{label:`Move Down`,icon:We,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(he,1);e.splice(he+1,0,t),c(e),O(null)}}]:[],{label:`Delete`,icon:je,destructive:!0,onClick:()=>fe(D)}]:[];return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`input`,{ref:ne,type:`file`,accept:`image/*`,className:`hidden`,onChange:R}),(0,$.jsxs)(Ma,{open:e,onClose:oe,className:`bg-background`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_===`add`&&(0,$.jsx)(`button`,{onClick:()=>v(`list`),className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,$.jsx)(An,{className:`size-4`})}),(0,$.jsx)(`span`,{className:`text-sm font-semibold`,children:_===`add`?`Add Project`:`Projects`})]}),(0,$.jsx)(`button`,{onClick:oe,className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,$.jsx)($t,{className:`size-4`})})]}),_===`add`&&(0,$.jsx)(`div`,{className:`px-4 py-4`,children:(0,$.jsx)(ZC,{onSuccess:()=>{v(`list`),t()},onCancel:()=>v(`list`),footerClassName:`pt-2`})}),_!==`add`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 border-b border-border`,children:[(0,$.jsx)(Ln,{className:`size-4 text-text-subtle shrink-0`}),(0,$.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,$.jsx)(`div`,{className:`flex items-center gap-1 px-2 py-2 border-b border-border`,children:CC.map(({mode:e,label:t,Icon:n})=>(0,$.jsxs)(`button`,{onClick:()=>p(e),className:G(`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,$.jsx)(n,{className:`size-3.5`}),` `,t]},e))})]}),(0,$.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=zC(e.color,t),i=r?.name===e.name,a=P===e.name,o=x[e.name];return(0,$.jsxs)(`div`,{className:G(`flex items-center gap-3 px-4 py-3 transition-colors active:bg-surface-elevated`,i&&`bg-accent/10`),onClick:()=>!a&&se(e.name),onTouchStart:()=>ie(e.name),onTouchEnd:ae,onTouchMove:ae,onTouchCancel:ae,children:[(0,$.jsx)(VC,{name:e.name,color:n,image:e.image,size:40,allNames:g}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[a?(0,$.jsx)(`input`,{type:`text`,value:F,onChange:e=>te(e.target.value),onKeyDown:e=>{e.key===`Enter`&&de(),e.key===`Escape`&&ee(null)},onBlur:de,onClick:e=>e.stopPropagation(),className:`w-full bg-transparent border-b border-primary text-sm outline-none`,autoFocus:!0}):(0,$.jsx)(`p`,{className:`text-sm font-medium truncate`,children:e.name}),(0,$.jsx)(`p`,{className:`text-xs text-text-subtle truncate`,children:e.path})]}),o&&!i&&(0,$.jsx)(`span`,{className:`shrink-0 text-[10px] text-text-subtle whitespace-nowrap`,children:mi(new Date(o).toISOString())}),i&&(0,$.jsx)(L,{className:`size-4 text-primary shrink-0`})]},e.name)}),w.length===0&&(0,$.jsx)(`div`,{className:`px-4 py-6 text-center text-sm text-text-subtle`,children:`No projects found`})]}),(0,$.jsx)(`div`,{className:`border-t border-border`,children:(0,$.jsxs)(`button`,{onClick:ce,className:`w-full flex items-center gap-3 px-4 py-3 text-text-secondary hover:bg-surface-elevated transition-colors`,children:[(0,$.jsx)(Ct,{className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`text-sm`,children:`Add Project`})]})}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-t border-border`,children:[(0,$.jsxs)(`button`,{onClick:ue,className:`flex items-center gap-2 text-text-secondary hover:text-foreground transition-colors`,children:[(0,$.jsx)(le,{className:`size-4`}),(0,$.jsx)(`span`,{className:`text-sm`,children:`Settings`})]}),m&&(0,$.jsxs)(`span`,{className:`text-xs text-text-subtle`,children:[`v`,m]})]})]}),(0,$.jsxs)(Ma,{open:!!D&&!j,onClose:()=>O(null),zIndex:60,children:[(0,$.jsx)(`div`,{className:`px-4 py-2 border-b border-border`,children:(0,$.jsx)(`p`,{className:`text-xs font-medium text-text-secondary`,children:D})}),ge.map(e=>{let t=e.icon;return(0,$.jsxs)(`button`,{onClick:e.onClick,className:G(`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,$.jsx)(t,{className:`size-4 shrink-0`}),e.label]},e.label)})]}),(0,$.jsxs)(Ma,{open:j&&!!D,onClose:()=>{M(!1),O(null)},zIndex:60,className:`p-4 space-y-4`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium`,children:`Change Color`}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:RC.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>A(e),className:G(`size-9 rounded-full border-2 transition-all`,k===e?`border-primary scale-110`:`border-transparent`),style:{background:e}},e))}),(0,$.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,$.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,$.jsx)(`button`,{onClick:()=>pe(D,k),className:`flex-1 py-2 text-sm bg-primary text-white rounded-md`,children:`Save`})]})]})]})}var rj=`https://wise.com/pay/me/lehongh`,ij=`/donate-qr.png`,aj=`LE HONG HIEN`,oj=`Techcombank`;function sj({children:e}){return(0,$.jsx)(`span`,{className:`font-mono text-[11px] font-medium uppercase tracking-wide text-text-subtle`,children:e})}function cj(){let[e,t]=(0,Q.useState)(!1);return(0,$.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,$.jsx)(`div`,{className:`flex size-11 items-center justify-center rounded-xl bg-surface-elevated`,children:(0,$.jsx)(qe,{className:`size-5 text-primary`})}),(0,$.jsx)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Support PPM`}),(0,$.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Thanks for keeping this project alive.`})]}),(0,$.jsxs)(`div`,{className:`grid gap-5 md:grid-cols-2 md:gap-6`,children:[(0,$.jsxs)(`section`,{className:`flex flex-col items-center gap-3`,children:[(0,$.jsx)(sj,{children:`Vietnam`}),e?(0,$.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,$.jsx)(pn,{className:`size-8`}),(0,$.jsx)(`span`,{className:`text-xs`,children:`QR code coming soon`})]}):(0,$.jsx)(`img`,{src:ij,alt:`Bank transfer QR code`,onError:()=>t(!0),className:`size-40 rounded-xl border border-border bg-white object-contain p-2`}),(0,$.jsxs)(`div`,{className:`text-center`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:aj}),(0,$.jsx)(`p`,{className:`text-xs text-text-subtle`,children:oj})]}),(0,$.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,$.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,$.jsx)(sj,{children:`International`}),(0,$.jsx)(`p`,{className:`text-center text-sm text-text-secondary`,children:`Send an international transfer via Wise — multi-currency, low fees.`}),(0,$.jsx)(X,{asChild:!0,className:`w-full`,children:(0,$.jsxs)(`a`,{href:rj,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(ye,{className:`size-4`}),`Support via Wise`]})})]})]})]})}function lj({open:e,onOpenChange:t}){return Pi()?(0,$.jsx)(Ma,{open:e,onClose:()=>t(!1),className:`popover-solid`,children:(0,$.jsx)(`div`,{className:`px-4 pb-4 pt-1`,children:(0,$.jsx)(cj,{})})}):(0,$.jsx)(_a,{open:e,onOpenChange:t,children:(0,$.jsxs)(pa,{className:`sm:max-w-xl`,children:[(0,$.jsx)(ma,{className:`sr-only`,children:`Support PPM`}),(0,$.jsx)(cj,{})]})})}var uj=[{value:`light`,label:`Light`,icon:Te},{value:`dark`,label:`Dark`,icon:ae},{value:`system`,label:`System`,icon:Pe}],dj=(0,Q.memo)(function({className:e}){let t=U(e=>e.themeMode),n=U(e=>e.setThemeMode),r=uj.find(e=>e.value===t)??uj[2],i=r.icon;return(0,$.jsxs)(ja,{children:[(0,$.jsx)(Da,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,title:`Appearance: ${r.label}`,"aria-label":`Appearance: ${r.label}`,className:G(`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,$.jsx)(i,{className:`size-[18px]`})})}),(0,$.jsxs)(ka,{align:`end`,className:`w-44`,children:[(0,$.jsx)(Ca,{children:`Appearance`}),uj.map(e=>{let r=e.icon;return(0,$.jsxs)(Ta,{onClick:()=>n(e.value),className:`gap-2`,children:[(0,$.jsx)(r,{className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),(0,$.jsx)(L,{className:G(`size-4 shrink-0`,t===e.value?`opacity-100`:`opacity-0`)})]},e.value)})]})]})}),fj=[[/\bEdg(?:e|A|iOS)?\/(\d+)/,`Edge`],[/\bOPR\/(\d+)/,`Opera`],[/\bSamsungBrowser\/(\d+)/,`Samsung Internet`],[/\b(?:Firefox|FxiOS)\/(\d+)/,`Firefox`],[/\bCriOS\/(\d+)/,`Chrome`],[/\bChrome\/(\d+)/,`Chrome`],[/\bVersion\/(\d+)(?:\.\d+)*.*\bSafari\//,`Safari`]],pj=[[/\b(?:iPhone|iPad|iPod)\b/,`iOS`],[/\bAndroid\b/,`Android`],[/\bCrOS\b/,`ChromeOS`],[/\b(?:Macintosh|Mac OS X)\b/,`macOS`],[/\bWindows\b/,`Windows`],[/\bLinux\b/,`Linux`]];function mj(e){let t=e??``,n=`Browser`,r=null;for(let[e,i]of fj){let a=e.exec(t);if(a){n=i,r=a[1]??null;break}}let i=pj.find(([e])=>e.test(t))?.[1]??`Unknown OS`;return{browser:n,version:r,os:i}}function hj(e){let{browser:t,version:n,os:r}=mj(e);return`${t}${n?` ${n}`:``} on ${r}`}var gj=`https://github.com/hienlh/ppm`;function _j(e){let t=[`### What happened`,``,``,`### Steps to reproduce`,`1. `,``,`### Environment`,`- PPM: v${e??`unknown`}`,`- Browser: ${hj(navigator.userAgent)}`].join(`
|
|
30
|
-
`);return`${gj}/issues/new?title=bug%3A%20&body=${encodeURIComponent(t)}`}var vj={background:`radial-gradient(80% 60% at 50% -10%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 60%)`},yj={backgroundImage:`radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--text) 5%, transparent) 1px, transparent 0)`,backgroundSize:`26px 26px`};function bj({onSuccess:e}){let[t,n]=(0,Q.useState)(``),[r,i]=(0,Q.useState)(!1),a=U(e=>e.deviceName),o=U(e=>e.version),s=U(e=>e.tunnelActive),[c,l]=(0,Q.useState)(null),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(!1),m=Pi(),h=U(e=>e.themeMode),g=U(e=>e.syncThemeToServer),_=h!==(0,Q.useRef)(h).current;async function v(n){if(n.preventDefault(),!t.trim()){l(`Enter your password to continue`);return}d(!0),l(null);try{rr(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`),er()}finally{d(!1)}}return(0,$.jsxs)(`div`,{className:`app-backdrop relative min-h-dvh overflow-hidden flex items-center justify-center p-6`,children:[(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:vj}),(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:yj}),(0,$.jsx)(dj,{className:`absolute right-[max(1rem,env(safe-area-inset-right))] top-[max(1rem,env(safe-area-inset-top))]`}),(0,$.jsxs)(`div`,{className:`relative flex w-full max-w-[392px] flex-col items-center gap-[22px] text-center`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,$.jsx)(`div`,{className:`flex size-16 items-center justify-center rounded-2xl border border-border bg-background shadow-float`,children:(0,$.jsx)(`div`,{className:`flex size-[52px] items-center justify-center rounded-xl bg-surface-elevated`,children:(0,$.jsx)(`span`,{className:`text-[15px] font-bold tracking-wide text-primary`,children:`PPM`})})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h1`,{className:`mb-1.5 text-2xl font-semibold tracking-tight text-foreground`,children:`Unlock your workspace`}),(0,$.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Enter your access password to unlock`})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:[a&&(0,$.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,$.jsx)(m?R:Pe,{className:`size-3 text-text-subtle`}),a]}),m?(s||o)&&(0,$.jsxs)(`span`,{className:G(`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,$.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),s?`tunnel · `:``,o?`v${o}`:``]}):(0,$.jsxs)($.Fragment,{children:[o&&(0,$.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,$.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,$.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),`tunnel active`]})]})]})]}),(0,$.jsxs)(`form`,{onSubmit:v,className:`flex w-full flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(Ja,{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,$.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,$.jsx)(Nn,{className:`size-[18px]`}):(0,$.jsx)(gt,{className:`size-[18px]`})})]}),c&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-error`,children:[(0,$.jsx)(rn,{className:`size-[15px] shrink-0`}),(0,$.jsx)(`span`,{children:c})]}),(0,$.jsx)(X,{type:`submit`,disabled:u,className:`h-[50px] w-full text-[15px]`,children:u?`Checking…`:`Unlock`})]}),(0,$.jsx)(`div`,{className:`hidden h-px w-full bg-border md:block`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-5`,children:[(0,$.jsxs)(`a`,{href:_j(o),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,$.jsx)(de,{className:`size-[18px] md:size-3.5`}),(0,$.jsx)(`span`,{className:`max-md:sr-only`,children:`Report Bug`})]}),(0,$.jsxs)(`a`,{href:gj,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,$.jsx)(hc,{className:`size-[18px] md:size-3.5`}),(0,$.jsx)(`span`,{className:`max-md:sr-only`,children:`Repo`})]}),(0,$.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,$.jsx)(dn,{className:`size-[18px] md:size-3.5`}),(0,$.jsx)(`span`,{className:`max-md:sr-only`,children:`Buy me a coffee`})]})]})]}),(0,$.jsx)(lj,{open:f,onOpenChange:p})]})}function xj(){let e=U(e=>e.themeStyle),t=U(e=>e.themeMode),n=U(e=>e.customThemeId),r=U(e=>e.customThemes),[i,a]=(0,Q.useState)(0),o=(0,Q.useMemo)(()=>Ds(e,t,r,n),[e,t,r,n,i]);return(0,Q.useEffect)(()=>{ia(o)},[o,i]),(0,Q.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 Sj=Object.defineProperty,Cj=Object.getOwnPropertyDescriptor,wj=Object.getOwnPropertyNames,Tj=Object.prototype.hasOwnProperty,Ej=(e,t)=>{let n={};for(var r in e)Sj(n,r,{get:e[r],enumerable:!0});return t||Sj(n,Symbol.toStringTag,{value:`Module`}),n},Dj=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=wj(t),a=0,o=i.length,s;a<o;a++)s=i[a],!Tj.call(e,s)&&s!==n&&Sj(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=Cj(t,s))||r.enumerable});return e},Oj=(e,t,n)=>(Dj(e,t,`default`),n&&Dj(n,t,`default`)),kj=[{id:`abap`,name:`ABAP`,import:(()=>W(()=>import(`./abap-DZPWWIX6.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>W(()=>import(`./actionscript-3-sEUdR7fc.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>W(()=>import(`./ada-1HF4YAkt.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>W(()=>import(`./angular-html-B2YCOAuK.js`).then(e=>e.n),__vite__mapDeps([151,1,152,153,154])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>W(()=>import(`./angular-ts-BPAji1W5.js`),__vite__mapDeps([155,151,1,152,153,154,156])))},{id:`apache`,name:`Apache Conf`,import:(()=>W(()=>import(`./apache-DEXdJvoh.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>W(()=>import(`./apex-BoTj5JWo.js`),[]))},{id:`apl`,name:`APL`,import:(()=>W(()=>import(`./apl-BEqVKm8S.js`),__vite__mapDeps([157,153,1,152,154,158,159,160])))},{id:`applescript`,name:`AppleScript`,import:(()=>W(()=>import(`./applescript-B--vsbbp.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>W(()=>import(`./ara-DCJp5nJd.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>W(()=>import(`./asciidoc-B8CGJ-2E.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>W(()=>import(`./asm-DP7eXm7k.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>W(()=>import(`./astro-BSfK6BlD.js`),__vite__mapDeps([161,153,1,154,158,162,163,164])))},{id:`awk`,name:`AWK`,import:(()=>W(()=>import(`./awk-Bhf7EXwU.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>W(()=>import(`./ballerina-C_ccAf7C.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>W(()=>import(`./bat-L1IIZ9W5.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>W(()=>import(`./beancount-DvXvE1x-.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>W(()=>import(`./berry-CkXcemum.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>W(()=>import(`./bibtex-D0EA4Kzg.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>W(()=>import(`./bicep-GY8kTlQB.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>W(()=>import(`./bird2-Bh_6jupJ.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>W(()=>import(`./blade-B2jAASTF.js`),__vite__mapDeps([165,153,1,166,152,154,158,167,159,160])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>W(()=>import(`./bsl-D1rCaJS9.js`),__vite__mapDeps([168,169])))},{id:`c`,name:`C`,import:(()=>W(()=>import(`./c-Cit3Why-.js`).then(e=>e.n),__vite__mapDeps([170,1])))},{id:`c3`,name:`C3`,import:(()=>W(()=>import(`./c3-4T6ZzMyF.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>W(()=>import(`./cadence-DQtr3yLL.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>W(()=>import(`./cairo-B2dp4TSD.js`),__vite__mapDeps([171,172])))},{id:`clarity`,name:`Clarity`,import:(()=>W(()=>import(`./clarity-Bkp941zM.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>W(()=>import(`./clojure-CquZbC9B.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>W(()=>import(`./cmake-D1BVD0kp.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>W(()=>import(`./cobol-DmhudAVS.js`),__vite__mapDeps([173,152,1,153,154,160])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>W(()=>import(`./codeowners-DsUU27vi.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>W(()=>import(`./codeql-DPGTmMOi.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>W(()=>import(`./coffee-B7wtoipI.js`),__vite__mapDeps([174,154,1])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>W(()=>import(`./common-lisp-DbJ7aUtT.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>W(()=>import(`./coq-B6VoE9hb.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>W(()=>import(`./cpp-C8Nbi_kO.js`).then(e=>e.n),__vite__mapDeps([175,1,176,170,177,167])))},{id:`crystal`,name:`Crystal`,import:(()=>W(()=>import(`./crystal-yKy-Y8nB.js`),__vite__mapDeps([178,170,1,153,152,154,179,167])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>W(()=>import(`./csharp-_eS6diqA.js`),[]))},{id:`css`,name:`CSS`,import:(()=>W(()=>import(`./css-CT1mr1n4.js`).then(e=>e.n),__vite__mapDeps([153,1])))},{id:`csv`,name:`CSV`,import:(()=>W(()=>import(`./csv-DyVfZ6Yu.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>W(()=>import(`./cue-Cj7ZDjUR.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>W(()=>import(`./cypher-DPS4OS-5.js`),[]))},{id:`d`,name:`D`,import:(()=>W(()=>import(`./d-C-eONHuS.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>W(()=>import(`./dart-C7IHI9Zj.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>W(()=>import(`./dax-Ccqa2U3g.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>W(()=>import(`./desktop-DcSy6zVM.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>W(()=>import(`./diff-brodtM_M.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>W(()=>import(`./docker-CGTHWieK.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>W(()=>import(`./dotenv-Bm9hUDAP.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>W(()=>import(`./dream-maker-C-x9XSg6.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>W(()=>import(`./edge-iWBpy9T5.js`),__vite__mapDeps([180,166,152,1,153,154,164])))},{id:`elixir`,name:`Elixir`,import:(()=>W(()=>import(`./elixir-UJK4tIUw.js`),__vite__mapDeps([181,152,1,153,154])))},{id:`elm`,name:`Elm`,import:(()=>W(()=>import(`./elm-DRQuM4RH.js`),__vite__mapDeps([182,176,1,170])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>W(()=>import(`./emacs-lisp-LwiOeZpi.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>W(()=>import(`./erb-Cn-S4GBS.js`),__vite__mapDeps([183,152,1,153,154,184,170,175,176,177,167,185,186,163,164,187,188,179,159,160,189])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>W(()=>import(`./erlang-CEmUHkaF.js`),__vite__mapDeps([190,191])))},{id:`fennel`,name:`Fennel`,import:(()=>W(()=>import(`./fennel-xnq5rcYs.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>W(()=>import(`./fish-BHII2yI5.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>W(()=>import(`./fluent-Biik8i3h.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>W(()=>import(`./fortran-fixed-form-BGdOSKg1.js`),__vite__mapDeps([192,193])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>W(()=>import(`./fortran-free-form-DFwyzPqQ.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>W(()=>import(`./fsharp-DO2AnZP1.js`),__vite__mapDeps([194,191])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>W(()=>import(`./gdresource-DDUd92GU.js`),__vite__mapDeps([195,196,197])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>W(()=>import(`./gdscript-BBoQl7va.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>W(()=>import(`./gdshader-QNYoSdTP.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>W(()=>import(`./genie-BtD4I9Uc.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>W(()=>import(`./gherkin-DdPuSC66.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>W(()=>import(`./git-commit-COKTUbBS.js`),__vite__mapDeps([198,199])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>W(()=>import(`./git-rebase-2aQZz0-I.js`),__vite__mapDeps([200,179,1])))},{id:`gleam`,name:`Gleam`,import:(()=>W(()=>import(`./gleam-4utLzn6J.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>W(()=>import(`./glimmer-js-CnSut-4c.js`),__vite__mapDeps([201,153,1,152,154,164])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>W(()=>import(`./glimmer-ts-DxiTodBz.js`),__vite__mapDeps([202,153,1,152,154,164])))},{id:`glsl`,name:`GLSL`,import:(()=>W(()=>import(`./glsl-YzMs51Ij.js`).then(e=>e.n),__vite__mapDeps([176,1,170])))},{id:`gn`,name:`GN`,import:(()=>W(()=>import(`./gn-yIygVbb4.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>W(()=>import(`./gnuplot-Cc78Zi-J.js`),[]))},{id:`go`,name:`Go`,import:(()=>W(()=>import(`./go-Dent6yAV.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>W(()=>import(`./graphql-BFVCacu-.js`).then(e=>e.n),__vite__mapDeps([185,1,154,186,163,164])))},{id:`groovy`,name:`Groovy`,import:(()=>W(()=>import(`./groovy-DDCNx6yL.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>W(()=>import(`./hack-DOJlPPOd.js`),__vite__mapDeps([203,152,1,153,154,167])))},{id:`haml`,name:`Ruby Haml`,import:(()=>W(()=>import(`./haml-CYgVqF4c.js`).then(e=>e.n),__vite__mapDeps([187,1,153,154])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>W(()=>import(`./handlebars-BTwKj32l.js`),__vite__mapDeps([204,153,1,152,154,189])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>W(()=>import(`./haskell-BajHppVr.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>W(()=>import(`./haxe-DDBozNyI.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>W(()=>import(`./hcl-Dos7HWpy.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>W(()=>import(`./hjson-D5iiPC9t.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>W(()=>import(`./hlsl-7ao_7wl2.js`),[]))},{id:`html`,name:`HTML`,import:(()=>W(()=>import(`./html-xq21eATY.js`).then(e=>e.n),__vite__mapDeps([152,1,153,154])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>W(()=>import(`./html-derivative-B1X7du10.js`),__vite__mapDeps([166,152,1,153,154])))},{id:`http`,name:`HTTP`,import:(()=>W(()=>import(`./http-BDKIExL3.js`),__vite__mapDeps([205,185,1,154,186,163,164,158,179,159,160])))},{id:`hurl`,name:`Hurl`,import:(()=>W(()=>import(`./hurl-2KpxYjLY.js`),__vite__mapDeps([206,207,185,1,154,186,163,164,159,160])))},{id:`hxml`,name:`HXML`,import:(()=>W(()=>import(`./hxml-CiGzsZIZ.js`),__vite__mapDeps([208,209])))},{id:`hy`,name:`Hy`,import:(()=>W(()=>import(`./hy-CfY0Losf.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>W(()=>import(`./imba-Dx5AtcVI.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>W(()=>import(`./ini-HSteW4wp.js`),[]))},{id:`java`,name:`Java`,import:(()=>W(()=>import(`./java-D1llR3mV.js`).then(e=>e.n),__vite__mapDeps([160,1])))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>W(()=>import(`./javascript-DmijiU-0.js`).then(e=>e.n),__vite__mapDeps([154,1])))},{id:`jinja`,name:`Jinja`,import:(()=>W(()=>import(`./jinja-DjYiIOR3.js`),__vite__mapDeps([210,152,1,153,154])))},{id:`jison`,name:`Jison`,import:(()=>W(()=>import(`./jison-BQVB9rsy.js`),__vite__mapDeps([211,154,1])))},{id:`json`,name:`JSON`,import:(()=>W(()=>import(`./json-DQvwU2xV.js`).then(e=>e.n),__vite__mapDeps([158,1])))},{id:`json5`,name:`JSON5`,import:(()=>W(()=>import(`./json5-BjXIrzYw.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>W(()=>import(`./jsonc-DFx__rDG.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>W(()=>import(`./jsonl-CouMCtGp.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>W(()=>import(`./jsonnet-DeC-yE6L.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>W(()=>import(`./jssm-DIV2ng2m.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>W(()=>import(`./jsx-CYppWQG6.js`).then(e=>e.n),__vite__mapDeps([186,1])))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>W(()=>import(`./julia-COF3eklp.js`),__vite__mapDeps([212,175,1,176,170,177,167,154,172,213])))},{id:`just`,name:`Just`,import:(()=>W(()=>import(`./just-DprPf3oK.js`),__vite__mapDeps([214,154,1,215,153,152,167,159,160,172,184,170,175,176,177,185,186,163,164,187,188,179,189])))},{id:`kdl`,name:`KDL`,import:(()=>W(()=>import(`./kdl-B9IBl1Js.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>W(()=>import(`./kotlin-BXXDuCla.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>W(()=>import(`./kusto-DTpxExJS.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>W(()=>import(`./latex-CrhkpflQ.js`),__vite__mapDeps([216,217,213,1])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>W(()=>import(`./lean-CpzOr0i1.js`),[]))},{id:`less`,name:`Less`,import:(()=>W(()=>import(`./less-CUX1mntX.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>W(()=>import(`./liquid-CeUFjwJ2.js`),__vite__mapDeps([218,153,1,152,154,158])))},{id:`llvm`,name:`LLVM IR`,import:(()=>W(()=>import(`./llvm-Brk7-1rn.js`),[]))},{id:`log`,name:`Log file`,import:(()=>W(()=>import(`./log-DbGFGrqq.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>W(()=>import(`./logo-CvHfwNND.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>W(()=>import(`./lua-CuWcbWL1.js`).then(e=>e.n),__vite__mapDeps([188,1,170])))},{id:`luau`,name:`Luau`,import:(()=>W(()=>import(`./luau-DvfUYQbt.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>W(()=>import(`./make-CShmVuQA.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>W(()=>import(`./markdown-BP1gorzI.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>W(()=>import(`./marko-DwMQxO9l.js`),__vite__mapDeps([219,153,1,220,156,164])))},{id:`matlab`,name:`MATLAB`,import:(()=>W(()=>import(`./matlab-CqBH_y8T.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>W(()=>import(`./mdc-DjQFCQBX.js`),__vite__mapDeps([221,166,152,1,153,154,191,189])))},{id:`mdx`,name:`MDX`,import:(()=>W(()=>import(`./mdx-jNNeBmbq.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>W(()=>import(`./mermaid-DkR00-Q0.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>W(()=>import(`./mipsasm-CtBUnBrc.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>W(()=>import(`./mojo-BK6jsLyu.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>W(()=>import(`./moonbit-CveRjUj1.js`),[]))},{id:`move`,name:`Move`,import:(()=>W(()=>import(`./move-BKs7XoNi.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>W(()=>import(`./narrat-B9jgk-zV.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>W(()=>import(`./nextflow-DiDHBgfs.js`),__vite__mapDeps([222,223])))},{id:`nextflow-groovy`,name:`Nextflow Groovy`,import:(()=>W(()=>import(`./nextflow-groovy-DwVE0FtP.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>W(()=>import(`./nginx-Gqna_yUL.js`),__vite__mapDeps([224,188,1,170])))},{id:`nim`,name:`Nim`,import:(()=>W(()=>import(`./nim-A-jWq8Ol.js`),__vite__mapDeps([225,170,1,153,176,152,154,191,159,160])))},{id:`nix`,name:`Nix`,import:(()=>W(()=>import(`./nix-Dl0kIxQI.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>W(()=>import(`./nushell-Dd3eJ1Z5.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>W(()=>import(`./objective-c-BsngYtYe.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>W(()=>import(`./objective-cpp-DwX2y6xd.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>W(()=>import(`./ocaml-CHZJJmL6.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>W(()=>import(`./odin-CcgSORf6.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>W(()=>import(`./openscad-Bo2b24ml.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>W(()=>import(`./pascal-mA1lLBXX.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>W(()=>import(`./perl-HQxBdRdN.js`),__vite__mapDeps([215,153,1,152,154,167,159,160])))},{id:`php`,name:`PHP`,import:(()=>W(()=>import(`./php-DhvLFs6c.js`),__vite__mapDeps([226,153,1,152,154,158,167,159,160])))},{id:`pkl`,name:`Pkl`,import:(()=>W(()=>import(`./pkl-DtJVvXrH.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>W(()=>import(`./plsql-CBUaqyQS.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>W(()=>import(`./po-CNvPsQ9h.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>W(()=>import(`./polar-HLXcWQXT.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>W(()=>import(`./postcss-DEaQ0E7s.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>W(()=>import(`./powerquery-DsiRWSew.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>W(()=>import(`./powershell-K34z7VEB.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>W(()=>import(`./prisma-CPptAxC5.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>W(()=>import(`./prolog-Cd8eW19q.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>W(()=>import(`./proto-DnpQBkE0.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>W(()=>import(`./pug-fjJDiT3l.js`),__vite__mapDeps([227,153,1,152,154])))},{id:`puppet`,name:`Puppet`,import:(()=>W(()=>import(`./puppet-_42pIGLf.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>W(()=>import(`./purescript-Bm1dYbBp.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>W(()=>import(`./python-CsrsOhU3.js`),[]))},{id:`qml`,name:`QML`,import:(()=>W(()=>import(`./qml-Bzo6GtN7.js`),__vite__mapDeps([228,154,1])))},{id:`qmldir`,name:`QML Directory`,import:(()=>W(()=>import(`./qmldir-BewvfJ5k.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>W(()=>import(`./qss-MvS9Vfrz.js`),[]))},{id:`r`,name:`R`,import:(()=>W(()=>import(`./r-HX6ozzga.js`).then(e=>e.n),__vite__mapDeps([213,1])))},{id:`racket`,name:`Racket`,import:(()=>W(()=>import(`./racket-D-TB_6XI.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>W(()=>import(`./raku-DI1qkaYZ.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>W(()=>import(`./razor-BDaWuG_d.js`),__vite__mapDeps([229,230,152,1,153,154])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>W(()=>import(`./reg-BDtALqvW.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>W(()=>import(`./regexp-sguYVjwL.js`).then(e=>e.n),__vite__mapDeps([177,1])))},{id:`rel`,name:`Rel`,import:(()=>W(()=>import(`./rel-OLzbuN2M.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>W(()=>import(`./riscv-Cdagc5df.js`),[]))},{id:`ron`,name:`RON`,import:(()=>W(()=>import(`./ron-CGmfyH2l.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>W(()=>import(`./rosmsg-DuaY6ueH.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>W(()=>import(`./rst-DP-mrRaa.js`),__vite__mapDeps([231,232,175,1,176,170,177,167,166,152,153,154,172,184,185,186,163,164,187,188,179,159,160,189])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>W(()=>import(`./ruby-Bzf1F744.js`),__vite__mapDeps([184,170,1,175,176,177,167,153,185,154,186,163,164,187,152,188,179,159,160,189])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>W(()=>import(`./rust-DrUGrvq2.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>W(()=>import(`./sas-BPxC0mhc.js`),__vite__mapDeps([233,167,1])))},{id:`sass`,name:`Sass`,import:(()=>W(()=>import(`./sass-CXg17V70.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>W(()=>import(`./scala-DjgEGwzP.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>W(()=>import(`./scheme-B47I26nQ.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>W(()=>import(`./scss-sB701xM2.js`).then(e=>e.n),__vite__mapDeps([156,1,153])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>W(()=>import(`./sdbl-DS4x7rNS.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>W(()=>import(`./shaderlab-C9v6zvwt.js`),__vite__mapDeps([234,235])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>W(()=>import(`./shellscript-BHKZV5y3.js`).then(e=>e.n),__vite__mapDeps([179,1])))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>W(()=>import(`./shellsession-Blqyad8V.js`),__vite__mapDeps([236,179,1])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>W(()=>import(`./smalltalk-D9F5pvhu.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>W(()=>import(`./solidity-Ldqzz24K.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>W(()=>import(`./soy-CWYqyoGs.js`),__vite__mapDeps([237,152,1,153,154])))},{id:`sparql`,name:`SPARQL`,import:(()=>W(()=>import(`./sparql-4f8zf3ui.js`),__vite__mapDeps([238,239])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>W(()=>import(`./splunk-s7Qe54mN.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>W(()=>import(`./sql-BXR8QmJ6.js`).then(e=>e.n),__vite__mapDeps([167,1])))},{id:`ssh-config`,name:`SSH Config`,import:(()=>W(()=>import(`./ssh-config-BkQA0qL3.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>W(()=>import(`./stata-D7sUZ_Ew.js`),__vite__mapDeps([240,167,1])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>W(()=>import(`./stylus-J4XGQ0k5.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>W(()=>import(`./surrealql-Cp_B9dH4.js`),__vite__mapDeps([241,154,1])))},{id:`svelte`,name:`Svelte`,import:(()=>W(()=>import(`./svelte-DH0-DTob.js`),__vite__mapDeps([242,153,1,154,162,164])))},{id:`swift`,name:`Swift`,import:(()=>W(()=>import(`./swift-ZGw-K0AQ.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>W(()=>import(`./system-verilog-BjGXIMDl.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>W(()=>import(`./systemd-CD_DfdxW.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>W(()=>import(`./talonscript-Eh3nI_te.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>W(()=>import(`./tasl-Dsfqt-9m.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>W(()=>import(`./tcl-Bia_-xmt.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>W(()=>import(`./templ-D6y_rZNX.js`),__vite__mapDeps([243,153,1,244,154])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>W(()=>import(`./terraform-C-1iw6Ur.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>W(()=>import(`./tex-CP7U17hs.js`),__vite__mapDeps([217,213,1])))},{id:`toml`,name:`TOML`,import:(()=>W(()=>import(`./toml-CjE-nRdi.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>W(()=>import(`./ts-tags-CDJw6GGf.js`),__vite__mapDeps([245,153,1,176,170,152,154,167,164,159,160])))},{id:`tsv`,name:`TSV`,import:(()=>W(()=>import(`./tsv-CPmzsVtd.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>W(()=>import(`./tsx-ls17OjlG.js`).then(e=>e.n),__vite__mapDeps([163,1])))},{id:`turtle`,name:`Turtle`,import:(()=>W(()=>import(`./turtle-BnjqSeoz.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>W(()=>import(`./twig-DgdJEgGb.js`),__vite__mapDeps([246,153,1,154,226,152,158,167,159,160,172,184,170,175,176,177,185,186,163,164,187,188,179,189,156])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>W(()=>import(`./typescript-D886b5ZV.js`).then(e=>e.n),__vite__mapDeps([164,1])))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>W(()=>import(`./typespec-DAUySoit.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>W(()=>import(`./typst-sVlCaP84.js`),[]))},{id:`v`,name:`V`,import:(()=>W(()=>import(`./v-vrgllsxx.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>W(()=>import(`./vala-CQDr5Q_c.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>W(()=>import(`./vb-BXuq0uyc.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>W(()=>import(`./verilog-mdZITV-3.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>W(()=>import(`./vhdl-BgUVnx_S.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>W(()=>import(`./viml-CgHUKUSx.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>W(()=>import(`./vue-Dm7kCn35.js`),__vite__mapDeps([247,153,1,166,152,154,158,164])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>W(()=>import(`./vue-html-2mmeALdP.js`),__vite__mapDeps([248,154,1])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>W(()=>import(`./vue-vine-BD9NX4hb.js`),__vite__mapDeps([249,153,1,154,220,162,156,250])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>W(()=>import(`./vyper-CYaUZ3R3.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>W(()=>import(`./wasm-CUDZDrHT.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>W(()=>import(`./wenyan-BJeRKUGx.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>W(()=>import(`./wgsl-D42w1pnL.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>W(()=>import(`./wikitext-RkASkmuv.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>W(()=>import(`./wit-DWAD_y-a.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>W(()=>import(`./wolfram-IgayzPiq.js`),[]))},{id:`xml`,name:`XML`,import:(()=>W(()=>import(`./xml-C_JJhVVd.js`).then(e=>e.n),__vite__mapDeps([159,1,160])))},{id:`xsl`,name:`XSL`,import:(()=>W(()=>import(`./xsl-D-Suo93u.js`),__vite__mapDeps([251,159,1,160])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>W(()=>import(`./yaml-DVOU6X70.js`).then(e=>e.n),__vite__mapDeps([189,1])))},{id:`zenscript`,name:`ZenScript`,import:(()=>W(()=>import(`./zenscript-BQBDZyHn.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>W(()=>import(`./zig-BO0-KLaq.js`),[]))}],Aj=Object.fromEntries(kj.map(e=>[e.id,e.import])),jj=Object.fromEntries(kj.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),Mj={...Aj,...jj},Nj=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>W(()=>import(`./andromeeda-akZ-Tst1.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>W(()=>import(`./aurora-x-zwFdSAwt.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>W(()=>import(`./ayu-dark-Br6KjUsd.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>W(()=>import(`./ayu-light-DxYAP3-K.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>W(()=>import(`./ayu-mirage-BnfAVFf3.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>W(()=>import(`./catppuccin-frappe-tudumGI5.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>W(()=>import(`./catppuccin-latte-DkK_fCi9.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>W(()=>import(`./catppuccin-macchiato-CuzSdPe1.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>W(()=>import(`./catppuccin-mocha-yD0fNLIX.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>W(()=>import(`./dark-plus-BKSEozjZ.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>W(()=>import(`./dracula-Dej1y3DR.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>W(()=>import(`./dracula-soft-CxGRSOGL.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>W(()=>import(`./everforest-dark-Ba1Tbg8j.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>W(()=>import(`./everforest-light-Cdob7mkM.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>W(()=>import(`./github-dark-CJrlUhnR.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>W(()=>import(`./github-dark-default-DKoz-nAl.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>W(()=>import(`./github-dark-dimmed-CHpAYhwB.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>W(()=>import(`./github-dark-high-contrast-B2ctecrS.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>W(()=>import(`./github-light-Oolayd2G.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>W(()=>import(`./github-light-default-BpZvWE5t.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>W(()=>import(`./github-light-high-contrast-C067Vah5.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>W(()=>import(`./gruvbox-dark-hard-B_2OmGFu.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>W(()=>import(`./gruvbox-dark-medium-Ce-PkH8v.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>W(()=>import(`./gruvbox-dark-soft-Cwo7zxCZ.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>W(()=>import(`./gruvbox-light-hard-Dl4vgFkD.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>W(()=>import(`./gruvbox-light-medium-BtJoOjNI.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>W(()=>import(`./gruvbox-light-soft-BHYOR1iY.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>W(()=>import(`./horizon-Bhh_bstS.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`light`,import:(()=>W(()=>import(`./horizon-bright-CvAKgr5Z.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>W(()=>import(`./houston-wkSyaBE1.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>W(()=>import(`./kanagawa-dragon-kIwpRxl4.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>W(()=>import(`./kanagawa-lotus-KDZrRVg9.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>W(()=>import(`./kanagawa-wave-CTtwVe-c.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>W(()=>import(`./laserwave-VLKgORxn.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>W(()=>import(`./light-plus-TLHmm0rV.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>W(()=>import(`./material-theme-BDBAI2x8.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>W(()=>import(`./material-theme-darker-DotIVGz1.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>W(()=>import(`./material-theme-lighter-_o-2sLYl.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>W(()=>import(`./material-theme-ocean-qiL3_paJ.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>W(()=>import(`./material-theme-palenight-BwPBhrVZ.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>W(()=>import(`./min-dark-BFnTc0VL.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>W(()=>import(`./min-light-C49Fe4s1.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>W(()=>import(`./monokai-CtZYeyHo.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>W(()=>import(`./night-owl-BCian9_F.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>W(()=>import(`./night-owl-light-DtSnLu24.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>W(()=>import(`./nord-B8SwohpF.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>W(()=>import(`./one-dark-pro-D3YmGje3.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>W(()=>import(`./one-light-CLpVCFA1.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>W(()=>import(`./plastic-C_8nzNHD.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>W(()=>import(`./poimandres-E9hQbHzQ.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>W(()=>import(`./red-CidmnIpR.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>W(()=>import(`./rose-pine-C2Xw5Qsa.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>W(()=>import(`./rose-pine-dawn-DMuRsf-R.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>W(()=>import(`./rose-pine-moon-BvOz-sJL.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>W(()=>import(`./slack-dark-CtekvO81.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>W(()=>import(`./slack-ochin-BZ8mkYf3.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>W(()=>import(`./snazzy-light-HNZWMeAt.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>W(()=>import(`./solarized-dark-CCr3nKLy.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>W(()=>import(`./solarized-light-D6USgnL3.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>W(()=>import(`./synthwave-84-DB9pBcUU.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>W(()=>import(`./tokyo-night-30Xpt-a9.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>W(()=>import(`./vesper-C-nrlx8u.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>W(()=>import(`./vitesse-black-BrQQQQeR.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>W(()=>import(`./vitesse-dark-wRtd-YVx.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>W(()=>import(`./vitesse-light-B0HUU3bQ.js`),[]))}].map(e=>[e.id,e.import])),Pj=e({createOnigurumaEngine:()=>cM,getDefaultWasmLoader:()=>sM,loadWasm:()=>tM,setDefaultWasmLoader:()=>oM}),Fj=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function Ij(){return 2147483648}function Lj(){return typeof performance<`u`?performance.now():Date.now()}var Rj=(e,t)=>e+(t-e%t)%t;async function zj(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=Ij();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,Rj(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:Lj,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 Bj=Object.defineProperty,Vj=(e,t,n)=>t in e?Bj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Hj=(e,t,n)=>Vj(e,typeof t==`symbol`?t:t+``,n),Uj=null;function Wj(e){throw new Fj(e.UTF8ToString(e.getLastOnigError()))}var Gj=class e{constructor(t){Hj(this,`utf16Length`),Hj(this,`utf8Length`),Hj(this,`utf16Value`),Hj(this,`utf8Value`),Hj(this,`utf16OffsetToUtf8`),Hj(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}},Kj=class e{constructor(t){if(Hj(this,`id`,++e.LAST_ID),Hj(this,`_onigBinding`),Hj(this,`content`),Hj(this,`utf16Length`),Hj(this,`utf8Length`),Hj(this,`utf16OffsetToUtf8`),Hj(this,`utf8OffsetToUtf16`),Hj(this,`ptr`),!Uj)throw new Fj(`Must invoke loadWasm first.`);this._onigBinding=Uj,this.content=t;let n=new Gj(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=Uj.omalloc(1e4),e._sharedPtrInUse=!0,Uj.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(Uj)}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)}};Hj(Kj,`LAST_ID`,0),Hj(Kj,`_sharedPtr`,0),Hj(Kj,`_sharedPtrInUse`,!1);var qj=Kj,Jj=class{constructor(e){if(Hj(this,`_onigBinding`),Hj(this,`_ptr`),!Uj)throw new Fj(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new Gj(e[r]);t[r]=i.createString(Uj),n[r]=i.utf8Length}let r=Uj.omalloc(4*e.length);Uj.HEAPU32.set(t,r/4);let i=Uj.omalloc(4*e.length);Uj.HEAPU32.set(n,i/4);let a=Uj.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)Uj.ofree(t[n]);Uj.ofree(i),Uj.ofree(r),a===0&&Wj(Uj),this._onigBinding=Uj,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 qj(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 Yj(e){return typeof e.instantiator==`function`}function Xj(e){return typeof e.default==`function`}function Zj(e){return e.data!==void 0}function Qj(e){return typeof Response<`u`&&e instanceof Response}function $j(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 eM;function tM(e){if(eM)return eM;async function t(){Uj=await zj(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),Yj(n)?n=await n.instantiator(t):Xj(n)?n=await n.default(t):(Zj(n)&&(n=n.data),Qj(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await rM(n)(t):await iM(n)(t):$j(n)||n instanceof WebAssembly.Module?n=await nM(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await nM(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return eM=t(),eM}function nM(e){return t=>WebAssembly.instantiate(e,t)}function rM(e){return t=>WebAssembly.instantiateStreaming(e,t)}function iM(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}var aM;function oM(e){aM=e}function sM(){return aM}async function cM(e){return e&&await tM(e),{createScanner(e){return new Jj(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new qj(e)}}}var lM=Ej({});Oj(lM,Pj);var uM=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function dM(e){return fM(e)}function fM(e){return Array.isArray(e)?pM(e):e instanceof RegExp?e:typeof e==`object`?mM(e):e}function pM(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=fM(e[n]);return t}function mM(e){let t={};for(let n in e)t[n]=fM(e[n]);return t}function hM(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function gM(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?gM(e.substring(0,e.length-1)):e.substr(~t+1)}var _M=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,vM=class{static hasCaptures(e){return e===null?!1:(_M.lastIndex=0,_M.test(e))}static replaceCaptures(e,t,n){return e.replace(_M,(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 yM(e,t){return e<t?-1:e>t?1:0}function bM(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=yM(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function xM(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 SM(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var CM=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}},wM=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(kM(e),t)}static createFromParsedTheme(e,t){return MM(e,t)}_cachedMatchRoot=new CM(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=>EM(e.parent,t.parentScopes));return n?new OM(n.fontStyle,n.foreground,n.background):null}},TM=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 EM(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&&!DM(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function DM(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var OM=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function kM(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`&&xM(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&xM(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 AM(l,u,e,o,s,c)}}return n}var AM=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}},jM=(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))(jM||{});function MM(e,t){e.sort((e,t)=>{let n=yM(e.scope,t.scope);return n!==0||(n=bM(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 NM(t),o=new OM(n,a.getId(r),a.getId(i)),s=new IM(new FM(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 wM(a,o,s)}var NM=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)}},PM=Object.freeze([]),FM=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||PM,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)}},IM=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(),FM.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(bM(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 FM(e,t,n,r,i))}},LM=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=zM(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 RM(e){return e}function zM(e){return e}function BM(e,t){let n=[],r=HM(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(VM(i)){let e=[];do e.push(i),i=r.next();while(VM(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 VM(e){return!!e&&!!e.match(/[\w\.:]+/)}function HM(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 UM(e){typeof e.dispose==`function`&&e.dispose()}var WM=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},GM=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},KM=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))}},qM=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new WM(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new KM;for(let n of e)JM(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof WM){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 JM(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 WM?XM({baseGrammar:a,selfGrammar:i},r):YM(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 WM(e))}function YM(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];ZM([r],t,n)}}function XM(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&ZM(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&ZM(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function ZM(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?hM({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&ZM(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=rN(i);switch(a.kind){case 0:XM({...t,selfGrammar:t.baseGrammar},n);break;case 1:XM(t,n);break;case 2:YM(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?YM(a.ruleName,i,n):XM(i,n)}else a.kind===4?n.add(new GM(a.scopeName,a.ruleName)):n.add(new WM(a.scopeName));break}}}var QM=class{kind=0},$M=class{kind=1},eN=class{constructor(e){this.ruleName=e}kind=2},tN=class{constructor(e){this.scopeName=e}kind=3},nN=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function rN(e){if(e===`$base`)return new QM;if(e===`$self`)return new $M;let t=e.indexOf(`#`);return t===-1?new tN(e):t===0?new eN(e.substring(1)):new nN(e.substring(0,t),e.substring(t+1))}var iN=/\\(\d+)/,aN=/\\(\d+)/g,oN=-1,sN=-2;function cN(e){return e}function lN(e){return e}var uN=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=vM.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=vM.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${gM(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:vM.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:vM.replaceCaptures(this._contentName,e,t)}},dN=class extends uN{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!`)}},fN=class extends uN{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new _N(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 vN,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},pN=class extends uN{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 vN,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},mN=class extends uN{_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 _N(i,this.id),this.beginCaptures=a,this._end=new _N(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 vN;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}},hN=class extends uN{_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 _N(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new _N(o,sN),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 vN;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 vN,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||``),this._cachedCompiledWhilePatterns}},gN=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new dN(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new fN(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=hM({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new pN(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new hN(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 mN(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=rN(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 pN||e instanceof mN||e instanceof hN)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},_N=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=iN.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 aN.lastIndex=0,this.source.replace(aN,(e,t)=>SM(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}},vN=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 yN(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 yN(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},yN=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(`
|
|
31
|
-
`)}findNextMatchSync(e,t,n){let r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},
|
|
32
|
-
`;let a=this.createOnigString(e),o=a.content.length,s=new WN(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=TN(this,a,i,0,t,s,!0,r);return UM(a),{lineLength:o,lineTokens:s,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function BN(e,t){return e=dM(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 VN=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=TM.push(i,t.scopeNames),r=new e(r,i,t.encodedTokenAttributes);return r}static createRoot(t,n){return new e(null,new TM(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let i=r.getMetadataForScope(t),a=new TM(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),LM.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}},HN=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)?VN.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:lN(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=VN.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new e(t,cN(n.ruleId),n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,VN.fromExtension(r,n.contentNameScopesList))}},UN=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>e===`*`?(this.allowAny=!0,[]):BM(e,LN).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>BM(e,LN).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}},WN=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=LM.set(n,0,RM(e.type),null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(t))}if(r&&(n=LM.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}},GN=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,FN(e,a,t,n,r,i,this,this._onigLib))}return this._grammars.get(e)}},KN=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new GN(wM.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(wM.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 UN(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,i){let a=new qM(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)}},qN=HN.NULL;function JN(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 YN(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function XN(e){return Array.isArray(e)?e:[e]}async function ZN(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function QN(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function $N(e){return e===`ansi`||QN(e)}function eP(e){return e===`none`}function tP(e){return eP(e)}var nP=/(\r?\n)/g;function rP(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(nP),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 iP={light:`#333333`,dark:`#bbbbbb`},aP={light:`#fffffe`,dark:`#1e1e1e`},oP=`__shiki_resolved`;function sP(e){if(e?.[oP])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`?iP.light:iP.dark,n||=t.type===`light`?aP.light:aP.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,oP,{enumerable:!1,writable:!1,value:!0}),t}async function cP(e){return[...new Set((await Promise.all(e.filter(e=>!$N(e)).map(async e=>await ZN(e).then(e=>Array.isArray(e)?e:[e])))).flat())]}async function lP(e){return(await Promise.all(e.map(async e=>tP(e)?null:sP(await ZN(e))))).filter(e=>!!e)}function uP(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 uM(`Circular alias \`${[...n].join(` -> `)} -> ${e}\``);n.add(e)}}return e}var dP=class extends KN{_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=sP(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=wM.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=uP(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 uM(`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))}},fP=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}},pP=0;function mP(e){pP+=1,e.warnings!==!1&&pP>=10&&pP%10==0&&console.warn(`[Shiki] ${pP} 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 uM("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(sP),i=new dP(new fP(e.engine,n),r,n,e.langAlias),a;function o(t){return uP(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new uM(`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 uM(`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 cP(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await lP(e))}function g(){if(t)throw new uM(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--pP)}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 hP(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([lP(e.themes||[]),cP(e.langs||[]),e.engine]);return mP({...e,themes:t,langs:n,engine:r})}var gP=new WeakMap;function _P(e,t){gP.set(e,t)}function vP(e){return gP.get(e)}var yP=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(XN(n).map(e=>[e,qN])),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 bP(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function bP(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 xP(e,t){if(!(e instanceof yP))throw new uM(`Invalid grammar state`);return e.getInternalStack(t)}var SP=/,/,CP=/ /;function wP(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n;if(QN(e.resolveLangAlias(n.lang||`text`))||eP(r))return rP(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 uM(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);if(!n.grammarState.themes.includes(i.name))throw new uM(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`)}return EP(t,o,i,a,n)}function TP(...e){if(e.length===2)return vP(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(QN(i)||eP(a))throw new uM(`Plain language does not have grammar state`);if(i===`ansi`)throw new uM(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new yP(DP(n,c,o,s,r).stateStack,c.name,o.name)}function EP(e,t,n,r,i){let a=DP(e,t,n,r,i),o=new yP(a.stateStack,t.name,n.name);return _P(a.tokens,o),a.tokens}function DP(e,t,n,r,i){let a=JN(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500,includeExplanation:c=!1}=i,l=rP(e),u=i.grammarState?xP(i.grammarState,n.name)??qN:i.grammarContextCode==null?qN:DP(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=YN(r[LM.getForeground(s)],a),u=LM.getFontStyle(s),f={content:i.substring(t,o),offset:p+t,color:l,fontStyle:u};if(c===`tokenType`)f.type=LM.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(SP).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(CP))})}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`?OP(t.scopes):kP(e,t.scopes)}),g+=1}}d.push(f)}f.push(d),d=[],u=_.ruleStack}return{tokens:f,stateStack:u}}function OP(e){return e.map(e=>({scopeName:e}))}function kP(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:MP(e,i,t.slice(0,r))}}return n}function AP(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function jP(e,t,n){if(!AP(e.at(-1),t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)AP(e[r],n[i])&&--r,--i;return r===-1}function MP(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(jP(e,t,n)){r.push(a);break}return r}function NP(e,t,n,r=wP){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:vP(a),theme:typeof i.theme==`string`?i.theme:i.theme.name}}),o=PP(...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 yP(Object.fromEntries(a.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),a[0].state.lang):void 0;return c&&_P(s,c),s}function PP(...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 FP=[`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`command`,`embed`,`frame`,`hr`,`image`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],IP={}.hasOwnProperty;function LP(e,t){let n=t||{};function r(t,...n){let i=r.invalid,a=r.handlers;if(t&&IP.call(t,e)){let n=String(t[e]);i=IP.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 RP=/["&'<>`]/g,zP=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,BP=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,VP=/[|\\{}()[\]^$+*?.]/g,HP=new WeakMap;function UP(e,t){if(e=e.replace(t.subset?WP(t.subset):RP,r),t.subset||t.escapeOnly)return e;return e.replace(zP,n).replace(BP,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 WP(e){let t=HP.get(e);return t||(t=GP(e),HP.set(e,t)),t}function GP(e){let t=[],n=-1;for(;++n<e.length;)t.push(e[n].replace(VP,`\\$&`));return RegExp(`(?:`+t.join(`|`)+`)`,`g`)}var KP=/[\dA-Fa-f]/;function qP(e,t,n){let r=`&#x`+e.toString(16).toUpperCase();return n&&t&&!KP.test(String.fromCharCode(t))?r:r+`;`}var JP=/\d/;function YP(e,t,n){let r=`&#`+String(e);return n&&t&&!JP.test(String.fromCharCode(t))?r:r+`;`}var XP=`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(`.`),ZP={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:`€`},QP=[`cent`,`copy`,`divide`,`gt`,`lt`,`not`,`para`,`times`],$P={}.hasOwnProperty,eF={},tF;for(tF in ZP)$P.call(ZP,tF)&&(eF[ZP[tF]]=tF);var nF=/[^\dA-Za-z]/;function rF(e,t,n,r){let i=String.fromCharCode(e);if($P.call(eF,i)){let e=eF[i],a=`&`+e;return n&&XP.includes(e)&&!QP.includes(e)&&(!r||t&&t!==61&&nF.test(String.fromCharCode(t)))?a:a+`;`}return``}function iF(e,t,n){let r=qP(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=rF(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let i=YP(e,t,n.omitOptionalSemicolons);i.length<r.length&&(r=i)}return i&&(!n.useShortestReferences||i.length<r.length)?i:r}function aF(e,t){return UP(e,Object.assign({format:iF},t))}var oF=/^>|^->|<!--|-->|--!>|<!-$/g,sF=[`>`],cF=[`<`,`>`];function lF(e,t,n,r){return r.settings.bogusComments?`<?`+aF(e.value,Object.assign({},r.settings.characterReferences,{subset:sF}))+`>`:`<!--`+e.value.replace(oF,i)+`-->`;function i(e){return aF(e,Object.assign({},r.settings.characterReferences,{subset:cF}))}}function uF(e,t,n,r){return`<!`+(r.settings.upperDoctype?`DOCTYPE`:`doctype`)+(r.settings.tightDoctype?``:` `)+`html>`}var dF=mF(1),fF=mF(-1),pF=[];function mF(e){return t;function t(t,n,r){let i=t?t.children:pF,a=(n||0)+e,o=i[a];if(!r)for(;o&&d(o);)a+=e,o=i[a];return o}}var hF={}.hasOwnProperty;function gF(e){return t;function t(t,n,r){return hF.call(e,t.tagName)&&e[t.tagName](t,n,r)}}var _F=gF({body:bF,caption:vF,colgroup:vF,dd:wF,dt:CF,head:vF,html:yF,li:SF,optgroup:EF,option:DF,p:xF,rp:TF,rt:TF,tbody:kF,td:MF,tfoot:AF,th:MF,thead:OF,tr:jF});function vF(e,t,n){let r=dF(n,t,!0);return!r||r.type!==`comment`&&!(r.type===`text`&&d(r.value.charAt(0)))}function yF(e,t,n){let r=dF(n,t);return!r||r.type!==`comment`}function bF(e,t,n){let r=dF(n,t);return!r||r.type!==`comment`}function xF(e,t,n){let r=dF(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 SF(e,t,n){let r=dF(n,t);return!r||r.type===`element`&&r.tagName===`li`}function CF(e,t,n){let r=dF(n,t);return!!(r&&r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`))}function wF(e,t,n){let r=dF(n,t);return!r||r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`)}function TF(e,t,n){let r=dF(n,t);return!r||r.type===`element`&&(r.tagName===`rp`||r.tagName===`rt`)}function EF(e,t,n){let r=dF(n,t);return!r||r.type===`element`&&r.tagName===`optgroup`}function DF(e,t,n){let r=dF(n,t);return!r||r.type===`element`&&(r.tagName===`option`||r.tagName===`optgroup`)}function OF(e,t,n){let r=dF(n,t);return!!(r&&r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`))}function kF(e,t,n){let r=dF(n,t);return!r||r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`)}function AF(e,t,n){return!dF(n,t)}function jF(e,t,n){let r=dF(n,t);return!r||r.type===`element`&&r.tagName===`tr`}function MF(e,t,n){let r=dF(n,t);return!r||r.type===`element`&&(r.tagName===`td`||r.tagName===`th`)}var NF=gF({body:IF,colgroup:LF,head:FF,html:PF,tbody:RF});function PF(e){let t=dF(e,-1);return!t||t.type!==`comment`}function FF(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 IF(e){let t=dF(e,-1,!0);return!t||t.type!==`comment`&&!(t.type===`text`&&d(t.value.charAt(0)))&&!(t.type===`element`&&(t.tagName===`meta`||t.tagName===`link`||t.tagName===`script`||t.tagName===`style`||t.tagName===`template`))}function LF(e,t,n){let r=fF(n,t),i=dF(e,-1,!0);return n&&r&&r.type===`element`&&r.tagName===`colgroup`&&_F(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`col`)}function RF(e,t,n){let r=fF(n,t),i=dF(e,-1);return n&&r&&r.type===`element`&&(r.tagName===`thead`||r.tagName===`tbody`)&&_F(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`tr`)}var zF={name:[[`
|
|
27
|
+
`)}`:``}`}var vT={debug:`DBG`,info:`INF`,warn:`WRN`,error:`ERR`,fatal:`FTL`};function yT(e,t){return e.src===t.src&&e.lv===t.lv&&e.tag===t.tag&&e.msg===t.msg&&(e.more?.length??0)===0&&(t.more?.length??0)===0}function bT(e){let t=new URLSearchParams;return t.set(`src`,e.src),t.set(`lv`,Object.keys(e.levels).filter(t=>e.levels[t]).join(`,`)),e.tagsOff.length&&t.set(`off`,e.tagsOff.join(`,`)),e.q&&t.set(`q`,e.q),e.regex&&t.set(`re`,`1`),e.caseSensitive&&t.set(`cs`,`1`),e.chat&&t.set(`chat`,e.chat),t.set(`range`,e.range),t.set(`from`,String(e.from)),e.before&&t.set(`before`,e.before),e.reach&&t.set(`reach`,e.reach),t.set(`limit`,String(e.limit)),t.toString()}function xT(e,t){if(e===`15m`)return t-15*6e4;if(e===`1h`)return t-60*6e4;if(e===`today`){let e=new Date(t);return e.setHours(0,0,0,0),e.getTime()}return 0}function ST(e,t){return e>=xT(`1h`,t)?`1h`:e>=xT(`today`,t)?`today`:`all`}var CT=(e,t=2)=>String(e).padStart(t,`0`);function wT(e,t){let n=new Date(e);return t?`${CT(n.getUTCHours())}:${CT(n.getUTCMinutes())}:${CT(n.getUTCSeconds())}.${CT(n.getUTCMilliseconds(),3)}`:`${CT(n.getHours())}:${CT(n.getMinutes())}:${CT(n.getSeconds())}.${CT(n.getMilliseconds(),3)}`}function TT(e){if(e===0)return`UTC`;let t=Math.abs(e);return`UTC${e>0?`+`:`-`}${Math.floor(t/60)}${t%60?`:${CT(t%60)}`:``}`}function ET(){return TT(-new Date().getTimezoneOffset())}function DT(e,t,n){let r=wT(e,n).slice(0,8),i=wT(t,n).slice(0,8);return r===i?r:`${r} – ${i}`}function OT(e,t,n=`${t}s`){return`${e.toLocaleString(`en-US`)} ${e===1?t:n}`}function kT(e){return e>=1e4?`${+(e/1e3).toFixed(e>=1e5?0:1)}k`:e.toLocaleString(`en-US`)}function AT(e){return e>=1024*1024?`${+(e/(1024*1024)).toFixed(1)} MB`:e>=1024?`${Math.round(e/1024)} KB`:`${e} B`}function jT(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&yT(e.entry,n)){e.count++,e.ids.push(n.id),e.lastTs=n.ts;continue}t.push({key:n.id,entry:n,count:1,ids:[n.id],lastTs:n.ts})}return t}function MT(e,t){let n=new Map;for(let r of t){let t=e.findIndex(e=>e.entry.ts>=r);t>0&&n.set(e[t].key,r)}return n}var NT=/session=([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})|("(?:[^"\\]|\\.)*")|\b([A-Za-z_][\w.]*=)/g;function PT(e){let t=[],n=0;for(let r of e.matchAll(NT)){let i=r.index??0;i>n&&t.push({kind:`text`,text:e.slice(n,i)}),r[1]?t.push({kind:`chat`,sid:r[1]}):r[2]?t.push({kind:`quote`,text:r[2]}):t.push({kind:`key`,text:r[3]}),n=i+r[0].length}return n<e.length&&t.push({kind:`text`,text:e.slice(n)}),t}function FT(e){return e?new RegExp(e.source,e.flags.includes(`g`)?e.flags:`${e.flags}g`):null}function IT(e,t){if(!t)return[{text:e,hit:!1}];let n=[],r=0;t.lastIndex=0;for(let i=t.exec(e);i;i=t.exec(e)){if(!i[0]){t.lastIndex++;continue}i.index>r&&n.push({text:e.slice(r,i.index),hit:!1}),n.push({text:i[0],hit:!0}),r=i.index+i[0].length}return r<e.length&&n.push({text:e.slice(r),hit:!1}),n.length?n:[{text:e,hit:!1}]}function LT(e,t,n){let r=e.indexOf(t),i=e.indexOf(n);return r<0&&(r=i),i<0&&(i=r),r<0?[]:(r>i&&([r,i]=[i,r]),e.slice(r,i+1))}var RT=(e,t)=>H.get(`/api/logs?${bT(e)}`,{signal:t}),zT=(e,t,n)=>H.get(`/api/logs/around?ids=${encodeURIComponent(e.join(`,`))}&n=${t}&src=${n}`),BT=()=>H.get(`/api/logs/issues`),VT=()=>H.get(`/api/logs/issues/summary`),HT=e=>H.post(`/api/logs/issues/analyze`,{full:e}),UT=e=>H.post(`/api/logs/issues/auto`,{on:e}),WT=(e,t)=>H.post(`/api/logs/issues/${encodeURIComponent(e)}/${t?`dismiss`:`undismiss`}`),GT=()=>H.post(`/api/logs/issues/undismiss-all`),KT=e=>H.post(`/api/logs/report/draft`,e),qT=()=>H.get(`/api/logs/environment`),JT=()=>H.get(`/api/logs/github/labels`),YT=e=>H.get(`/api/logs/github/duplicates?q=${encodeURIComponent(e)}`),XT=10*6e4,ZT=0,QT=0,$T=null,eE=new Set;function tE(e){if(e!==ZT){ZT=e;for(let e of eE)e()}}function nE(){if(QT++===0){let e=()=>{VT().then(e=>tE(e.likelyBugs),()=>{})};e(),window.addEventListener(aT,e);let t=setInterval(()=>{document.visibilityState===`visible`&&e()},XT);$T=()=>{window.removeEventListener(aT,e),clearInterval(t)}}return()=>{--QT>0||($T?.(),$T=null)}}var rE=e=>(eE.add(e),()=>eE.delete(e));function iE(){let e=U(e=>e.logsBadge&&!e.minimalMode);(0,Q.useEffect)(()=>e?nE():void 0,[e]);let t=(0,Q.useSyncExternalStore)(rE,()=>ZT);return e?t:0}var aE=`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 oE({count:e}){return(0,$.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 sE({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,$.jsxs)(`button`,{draggable:!0,onDragStart:c,onDragOver:l,onDrop:u,onDragEnd:d,onClick:a,className:G(`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,$.jsx)(e,{className:`size-[18px]`,strokeWidth:n?2.4:2}),r!=null&&r>0&&(0,$.jsx)(oE,{count:r}),(0,$.jsx)(nC,{id:i,variant:`corner`}),(0,$.jsx)(`span`,{className:aE,children:t})]})}function cE({icon:e,label:t,onClick:n,active:r,featureBadge:i,alert:a}){return(0,$.jsxs)(`button`,{type:`button`,"aria-label":t,title:t,onClick:n,className:G(`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,$.jsx)(e,{className:`size-4`}),(0,$.jsx)(nC,{id:i,variant:`corner`}),!!a&&(0,$.jsx)(`span`,{"aria-hidden":!0,className:`absolute right-0.5 top-0.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-error px-[3px] text-[9px] font-semibold leading-none text-white shadow-[0_0_0_1.5px_var(--rail)]`,children:a>9?`9+`:a}),(0,$.jsx)(`span`,{className:aE,children:t})]})}var lE=(0,Q.memo)(function({className:e}){let{activeProject:t}=J(sm(e=>({activeProject:e.activeProject}))),n=U(e=>e.minimalMode),r=U(e=>e.minimalMode&&!Zi(e.sidebarActiveTab)?`history`:e.sidebarActiveTab),i=U(e=>e.setSidebarActiveTab),a=U(e=>e.sidebarTabOrder),o=U(e=>e.setSidebarTabOrder),s=U(e=>e.sidebarCollapsed),c=U(e=>e.toggleSidebar),l=U(e=>e.jiraEnabled),u=rf(e=>e.contributions),d=Rm(e=>t?.name?e.counts.get(t.name)??0:0),f=ex(e=>e.unreadCount),p=ju(Nu(t?.name)),m=(0,Q.useMemo)(()=>lw(Ji({jiraEnabled:l,contributions:u}),a).filter(e=>!n||Zi(e.id)),[u,l,a,n]),[h,g]=(0,Q.useState)(null),[_,v]=(0,Q.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),o(t)}}g(null),v(null)},[b,x]=(0,Q.useState)(!1),S=(0,Q.useRef)(null),[C,w]=(0,Q.useState)(null);(0,Q.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,Q.useEffect)(()=>{let e=()=>{!n&&!Fi()&&x(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[n]);let T=nw(),E=sw(),{available:D}=cw(),{available:O}=ow(),k=iE(),A=K(e=>Object.values(e.windows).some(e=>e.kind===`logs`&&e.state!==`minimized`)),j=e=>{s?(i(e),c()):r===e?c():i(e)};return(0,$.jsxs)(`div`,{className:G(`w-[52px] shrink-0 border-r border-border flex flex-col`,e),children:[(0,$.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,$.jsx)(sE,{icon:e.icon,label:e.label,active:r===e.id,badge:e.id===`git`?d:e.id===`jira`?f:e.id===`history`?p:void 0,featureBadge:e.badge,onClick:()=>j(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,$.jsxs)(`div`,{className:`shrink-0 flex flex-col items-center gap-0.5 px-[3px] py-2 border-t border-border`,children:[(0,$.jsx)(uw,{expanded:!1}),!n&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{ref:S,onClick:()=>x(!b),className:G(`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,$.jsx)(on,{className:`size-4`}),(0,$.jsx)(`span`,{className:aE,children:`Cloud & Share`})]}),b&&C&&(0,yp.createPortal)((0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>x(!1)}),(0,$.jsx)(`div`,{className:`fixed z-50`,style:{left:C.left,bottom:C.bottom},children:(0,$.jsx)(qw,{onClose:()=>x(!1)})})]}),document.body),(0,$.jsx)(cE,{icon:se,label:`File Explorer`,featureBadge:`os-explorer`,onClick:()=>void ng()}),O&&(0,$.jsx)(cE,{icon:Je,label:`Remote Desktop`,featureBadge:`remote-desktop`,onClick:T}),D&&(0,$.jsx)(cE,{icon:R,label:`Android`,featureBadge:`android`,onClick:E}),(0,$.jsx)(cE,{icon:bt,label:k?`Logs · ${k} likely ${k===1?`bug`:`bugs`}`:`Logs`,alert:k,active:A,onClick:()=>tT()})]}),(0,$.jsx)(cE,{icon:le,label:`Settings`,onClick:()=>Ii()})]})]})}),uE=(0,Q.lazy)(()=>W(()=>import(`./designs-sidebar-panel-BVTqPPzG.js`).then(e=>({default:e.DesignsSidebarPanel})),__vite__mapDeps([138,1,2,3,31,6,7,8,9,10,11,12,13,14,15,16,131,50,18,23,17,19,44,56,57,27,85,69,139,67,62])));function dE({onResize:e}){let t=(0,Q.useRef)(!1);return(0,$.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,Q.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,Q.useCallback)(n=>{t.current&&e(n.clientX)},[e]),onPointerUp:(0,Q.useCallback)(e=>{t.current=!1,e.currentTarget.releasePointerCapture(e.pointerId),document.body.style.cursor=``,document.body.style.userSelect=``},[])})}function fE({onToggle:e}){return(0,$.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,$.jsx)(`span`,{className:`text-sm font-extrabold text-primary leading-none tracking-tight`,children:`PPM`})})}var pE=(0,Q.memo)(function(){let{activeProject:e}=J(sm(e=>({activeProject:e.activeProject}))),t=U(e=>e.sidebarCollapsed),n=U(e=>e.sidebarWidth),r=U(e=>e.toggleSidebar),i=U(e=>e.setSidebarWidth),a=U(e=>e.minimalMode),o=U(e=>e.minimalMode&&!Zi(e.sidebarActiveTab)?`history`:e.sidebarActiveTab);return Vm(a?void 0:e?.name,a||o===`git`),t?(0,$.jsxs)(`aside`,{className:`hidden md:flex flex-col w-[52px] min-w-[52px] bg-rail border-r border-border`,children:[(0,$.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,$.jsx)(ft,{className:`size-4 text-text-secondary`})}),(0,$.jsx)(lE,{className:`flex-1 min-h-0`})]}):(0,$.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,$.jsxs)(`div`,{className:`flex h-[41px] border-b border-border shrink-0`,children:[(0,$.jsx)(fE,{onToggle:r}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0 flex items-center px-1.5`,children:(0,$.jsx)(ew,{})})]}),(0,$.jsxs)(`div`,{className:`flex-1 min-h-0 flex`,children:[(0,$.jsx)(lE,{}),(0,$.jsx)(`div`,{className:`flex-1 min-w-0 flex flex-col`,children:(0,$.jsxs)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,"data-onboarding":o===`explorer`?`explorer`:void 0,children:[o===`explorer`&&(e?(0,$.jsx)(Bg,{}):(0,$.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,$.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to browse files`})})),o===`git`&&(0,$.jsx)(Zv,{metadata:{projectName:e?.name}}),o===`search`&&(0,$.jsx)(qb,{}),o===`history`&&(e?(0,$.jsx)($S,{variant:`sidebar`,projectName:e.name}):(0,$.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,$.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to view chat history`})})),o===`teams`&&(0,$.jsx)(SC,{}),o===`designs`&&(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(uE,{})}),o===`database`&&(0,$.jsx)(Ub,{}),o===`tunnels`&&(0,$.jsx)(VS,{}),o===`jira`&&(0,$.jsx)(Sx,{}),o===`ai-resources`&&(0,$.jsx)(xS,{}),typeof o==`string`&&o.startsWith(`ext:`)&&(0,$.jsx)(Xb,{viewId:o.slice(4),className:`h-full`})]})})]}),(0,$.jsx)(dE,{onResize:i})]})}),mE=1e4;function hE(){let e=Xn();return e?{Authorization:`Bearer ${e}`}:{}}async function gE(e){await fetch(`/api/system/resources/stream/${encodeURIComponent(e)}/ping`,{method:`POST`,headers:hE()}).catch(()=>{})}async function _E(e){await fetch(`/api/system/resources/stream/${encodeURIComponent(e)}`,{method:`DELETE`,headers:hE()}).catch(()=>{})}function vE(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 yE=null,bE=0,xE=0,SE=!1,CE=null,wE=[],TE=!1,EE=null,DE=0,OE=null,kE=new Set;function AE(){for(let e of kE)e()}function jE(){OE&&=(clearInterval(OE),null);let e=EE;EE=null,e&&_E(e)}function ME(e){EE=e,OE&&clearInterval(OE),OE=setInterval(()=>{let e=EE;e&&gE(e)},mE)}function NE(e){let t=Xn(),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 PE(e){if(yE)return;DE=0;let t=new EventSource(NE(e));SE=e,t.addEventListener(`session`,e=>{try{let t=JSON.parse(e.data);t.sid&&ME(t.sid)}catch{}}),t.addEventListener(`snapshot`,e=>{try{let t=JSON.parse(e.data);CE=t;let n={ts:t.ts,system:t.system,groups:Object.fromEntries(t.groups.map(e=>[e.key,{cpu:e.cpu,ramMB:e.ramMB}]))};wE=[...wE,n],wE.length>900&&(wE=wE.slice(-900)),wE=vE(wE,60),DE++,TE=!0,AE()}catch{}}),t.onerror=()=>{if(TE=!1,jE(),yE&&=(yE.close(),null),AE(),bE>0){let e=xE>0;setTimeout(()=>{!yE&&bE>0&&PE(e)},5e3)}},t.onopen=()=>{TE=!0,AE()},yE=t}function FE(){jE(),yE&&(yE.close(),yE=null,TE=!1,AE())}function IE(){let e=xE>0;if(bE===0){FE();return}if(!yE){PE(e);return}SE!==e&&(FE(),PE(e))}function LE(e={}){let[,t]=(0,Q.useState)(0),n=(0,Q.useRef)(!0),r=!!e.processes,i=(0,Q.useCallback)(()=>{n.current&&t(e=>e+1)},[]);return(0,Q.useEffect)(()=>(n.current=!0,kE.add(i),bE++,r&&xE++,IE(),()=>{n.current=!1,kE.delete(i),bE--,r&&xE--,IE()}),[i,r]),{latest:CE,history:wE,isConnected:TE,tickCount:DE}}function RE(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 zE(){let e=Pi(),t=K(e=>e.open),n=K(e=>e.focus),r=Y(e=>e.openTab);return(0,Q.useCallback)(()=>{let i=RE(e,Object.values(K.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 BE(e){return e>80?`text-error`:e>50?`text-warning`:`text-success`}var VE=(0,Q.memo)(function({compact:e=!1}){let{latest:t,isConnected:n}=LE(),r=zE(),i=Pi();if(!n||!t)return e?null:(0,$.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,$.jsx)(Dt,{className:`size-3 opacity-50`}),(0,$.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,$.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,$.jsxs)(`span`,{className:BE(a),children:[`CPU `,a.toFixed(0),`%`]}),(0,$.jsxs)(`span`,{className:`text-text-secondary`,children:[`MEM `,c]})]}):(0,$.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,$.jsx)(Dt,{className:G(`size-3`,BE(a))}),(0,$.jsx)(`span`,{className:BE(a),children:i?`${a.toFixed(0)}%`:`CPU ${a.toFixed(1)}%`}),(0,$.jsx)(`span`,{className:`text-text-subtle`,children:`|`}),(0,$.jsx)(`span`,{className:`text-text-secondary`,children:o<1024?`${o.toFixed(0)}MB`:`${(o/1024).toFixed(1)}GB`}),!i&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`span`,{className:`text-text-subtle`,children:`|`}),(0,$.jsxs)(`span`,{className:`text-text-subtle`,children:[s,` proc`]})]})]})}),HE=(e,t)=>`${e}\u0000${t}`,UE=sr(e=>({files:{},publish:(t,n,r)=>e(e=>{let i=HE(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=HE(t,n);if(!e.files[r])return e;let{[r]:i,...a}=e.files;return{files:a}})}));function WE(e,t){return t?Object.fromEntries(Object.entries(e).filter(([,e])=>e.projectName===t)):e}function GE(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 KE(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 qE(){let e=q(e=>e.openInDock);return(0,Q.useCallback)(()=>{e({type:`problems`,title:`Problems`,projectId:null,closable:!0})},[e])}var JE=(0,Q.memo)(function(){let e=UE(sm(e=>e.files)),t=J(e=>e.activeProject?.name??null),n=qE(),{errors:r,warnings:i}=GE(WE(e,t));return(0,$.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,$.jsxs)(`span`,{className:G(`flex items-center gap-1`,r>0&&`text-error`),children:[(0,$.jsx)(ot,{className:`size-[11px]`}),r]}),(0,$.jsxs)(`span`,{className:G(`flex items-center gap-1`,i>0&&`text-warning`),children:[(0,$.jsx)(yn,{className:`size-[11px]`}),i]})]})});function YE({swatch:e,className:t}){return(0,$.jsx)(`span`,{className:G(`inline-flex overflow-hidden rounded-md border border-border shrink-0`,t),"aria-hidden":!0,children:e.map((e,t)=>(0,$.jsx)(`span`,{className:`w-3 h-6`,style:{background:e}},t))})}var XE=(0,Q.memo)(function(){let e=U(e=>e.themeStyle),t=U(e=>e.themeMode),n=U(e=>e.customThemeId),r=U(e=>e.customThemes),i=U(e=>e.setThemeStyle),a=U(e=>e.setThemeMode),o=U(e=>e.setCustomTheme),s=Ds(e,t,r,n),c=e=>{let t=Es[e];t&&(i(t.style),a(t.mode))};return(0,$.jsxs)(ja,{children:[(0,$.jsx)(Da,{asChild:!0,children:(0,$.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,$.jsx)(De,{className:`size-[11px]`}),(0,$.jsx)(`span`,{className:`truncate max-w-[90px] @max-3xl:hidden`,children:s.name})]})}),(0,$.jsxs)(ka,{side:`top`,align:`end`,className:`w-56`,children:[(0,$.jsx)(Ca,{children:`Theme`}),Ts.map(e=>{let t=Es[e];if(!t)return null;let n=s.id===e;return(0,$.jsxs)(Ta,{onClick:()=>c(e),className:`gap-2`,children:[(0,$.jsx)(YE,{swatch:t.swatch}),(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),(0,$.jsx)(L,{className:G(`size-4 shrink-0`,n?`opacity-100`:`opacity-0`)})]},e)}),r.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Ca,{children:`Imported`}),r.map(t=>{let r=e===`custom`&&n===t.id;return(0,$.jsxs)(Ta,{onClick:()=>o(t.id),className:`gap-2`,children:[(0,$.jsx)(YE,{swatch:t.swatch}),(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),(0,$.jsx)(L,{className:G(`size-4 shrink-0`,r?`opacity-100`:`opacity-0`)})]},t.id)})]})]})]})}),ZE=`https://raw.githubusercontent.com/hienlh/ppm/main/CHANGELOG.md`;function QE(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 $E=/^##\s*\[(\d+\.\d+\.\d+)\]\s*(?:-\s*(.+))?\s*$/;function eD(e){let t=e.split(/\r?\n/),n=[],r=null,i=[],a=()=>{r&&(r.body=i.join(`
|
|
28
|
+
`).trim(),n.push(r)),i.length=0};for(let e of t){let t=e.match($E);t?(a(),r={version:t[1],date:(t[2]??``).trim(),body:``}):r&&i.push(e)}return a(),n}function tD(e){return e.reduce((e,t)=>e&&QE(t.version,e)<=0?e:t.version,null)}async function nD(){let e=await fetch(`${ZE}?t=${Date.now()}`,{cache:`no-store`});if(!e.ok)throw Error(`CHANGELOG fetch failed (${e.status})`);return e.text()}async function rD(e=10){return eD(await nD()).slice(0,e)}function iD(e){let t=[],n=/\*\*(.+?)\*\*|`([^`]+)`/g,r=0,i;for(;i=n.exec(e);)i.index>r&&t.push(e.slice(r,i.index)),t.push(i[1]===void 0?(0,$.jsx)(`code`,{className:`rounded bg-surface-elevated px-1 py-px font-mono text-[0.9em] text-text`,children:i[2]},i.index):(0,$.jsx)(`strong`,{className:`font-semibold text-text`,children:iD(i[1])},i.index)),r=n.lastIndex;return r<e.length&&t.push(e.slice(r)),t}function aD({version:e,date:t,body:n,size:r=`compact`,installed:i=!1}){let a=r===`comfortable`;return(0,$.jsxs)(`section`,{children:[(0,$.jsxs)(`div`,{className:G(`flex items-baseline gap-2`,a?`mb-2`:`mb-1`),children:[(0,$.jsxs)(`span`,{className:G(`font-mono font-semibold text-text`,a?`text-base`:`text-[11px]`),children:[`v`,e]}),a&&t&&(0,$.jsx)(`span`,{className:`text-xs text-text-3`,children:t}),i&&(0,$.jsx)(`span`,{className:G(`rounded-full bg-primary/15 font-medium text-primary`,a?`px-2 py-0.5 text-[11px]`:`px-1.5 text-[10px]`),children:`installed`})]}),(0,$.jsx)(`div`,{className:a?`space-y-2`:`space-y-1`,children:n.split(`
|
|
29
|
+
`).map((e,t)=>{let n=e.trim();return n?n.startsWith(`### `)?(0,$.jsx)(`div`,{className:G(`font-semibold uppercase tracking-wide text-text-3`,a?`pt-2 text-[11px]`:`pt-1 text-[10px]`),children:n.slice(4)},t):n.startsWith(`- `)?(0,$.jsxs)(`div`,{className:`flex gap-2 text-text-2`,children:[(0,$.jsx)(`span`,{className:`shrink-0 text-text-3`,children:`•`}),(0,$.jsx)(`span`,{className:`min-w-0 break-words`,children:iD(n.slice(2))})]},t):(0,$.jsx)(`div`,{className:`break-words text-text-2`,children:iD(n)},t):null})})]})}var oD=`https://github.com/hienlh/ppm/releases`,sD=30;function cD(){let e=U(e=>e.version),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(!1);return(0,Q.useEffect)(()=>{let e=!0;return rD(sD).then(t=>{e&&n(t)}).catch(()=>{e&&i(!0)}),()=>{e=!1}},[]),(0,$.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-background font-sans`,"data-testid":`release-notes-view`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-3 border-b border-border-soft px-5 py-3`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`text-sm font-semibold text-text`,children:`Release notes`}),e&&(0,$.jsxs)(`div`,{className:`font-mono text-xs text-text-3`,children:[`PPM v`,e,` installed`]})]}),(0,$.jsxs)(`a`,{href:oD,target:`_blank`,rel:`noopener noreferrer`,className:`flex min-h-11 items-center gap-1.5 rounded-lg border border-border px-3 text-xs font-medium text-text-2 transition-colors hover:text-text md:min-h-8`,children:[(0,$.jsx)(Lt,{className:`size-3.5`}),` GitHub`]})]}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overflow-x-hidden px-5 py-4 text-sm leading-relaxed`,children:t===null&&!r?(0,$.jsxs)(`span`,{className:`flex items-center gap-2 text-text-3`,children:[(0,$.jsx)(z,{className:`size-4 animate-spin`}),` Loading release notes…`]}):r||!t?.length?(0,$.jsx)(`span`,{className:`text-text-3`,children:`Release notes could not be loaded. Open them on GitHub instead.`}):(0,$.jsx)(`div`,{className:`mx-auto max-w-3xl space-y-6`,children:t.map(t=>(0,$.jsx)(aD,{version:t.version,date:t.date,body:t.body,size:`comfortable`,installed:t.version===e},t.version))})})]})}var lD={w:760,h:720};function uD(){let e=K.getState(),t=Object.values(e.windows).find(e=>e.kind===`release-notes`);if(t){e.focus(t.id);return}let n=Ar(Object.values(e.windows).map(e=>e.rect),e.bounds,lD);e.open(`release-notes`,void 0,n)}var dD=6e4,fD=`ppm-upgrade-dismissed-`,pD=`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(pD):sessionStorage.setItem(pD,t||`1`)})();function mD(){if(typeof window>`u`)return null;let e=sessionStorage.getItem(pD);return e===null?null:e===`1`?``:e}function hD(e){let[t=0,n=0]=e.split(`.`).map(e=>parseInt(e,10)||0);return`${t}.${n+1}.0`}async function gD(){if(`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload()}async function _D(){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 gD()}function vD(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 yD({align:e=`right`}){let t=U(e=>e.version),[n,r]=(0,Q.useState)(null),[i,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(!1),[c,l]=(0,Q.useState)(!1),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(!1),[m,h]=(0,Q.useState)(!1),[g,_]=(0,Q.useState)(null),[v,y]=(0,Q.useState)(!1),b=Pi(),[x,S]=(0,Q.useState)(!1),C=(0,Q.useCallback)(async(e=!1)=>{try{let t=await H.get(e?`/api/upgrade?refresh=1`:`/api/upgrade`);r(t.currentVersion),t.availableVersion?(a(t.availableVersion),h(!!sessionStorage.getItem(fD+t.availableVersion))):a(null)}catch{}},[]);(0,Q.useEffect)(()=>{C();let e=setInterval(()=>C(),dD);return()=>clearInterval(e)},[C]),(0,Q.useEffect)(()=>{o&&C(!0)},[o,C]);let w=n??t,T=mD(),E=T!==null,D=T||(w?hD(w):`9.9.9`),O=i&&w&&QE(i,w)>0?i:null;(0,Q.useEffect)(()=>{!o||!w||(y(!0),rD().then(_).catch(()=>_([])).finally(()=>y(!1)))},[o,w]);let k=(0,Q.useMemo)(()=>{if(!g||!w)return null;let e=tD(g);return e&&QE(e,w)>0?e:null},[g,w]),A=O??k??(E?D:null),j=!!A&&!m,M=(0,Q.useMemo)(()=>{if(!g||!j||E||!w)return g;let e=g.filter(e=>QE(e.version,w)>0);return e.length>0?e:g},[g,j,E,w]),N=(0,Q.useCallback)(()=>{l(!1),d(!0),p(!0),_D()},[]),P=(0,Q.useCallback)(async()=>{l(!0),s(!1);try{let e=await H.post(`/api/upgrade/apply`);e.restart?N():(B.info(e.message||`Upgrade installed. Restart PPM manually.`),l(!1),A&&sessionStorage.setItem(fD+A,`1`),h(!0))}catch(e){vD(e)?N():/already on latest/i.test(e.message)?(B.info(`v${A} is announced but not published yet — try again shortly.`),l(!1)):(B.error(`Upgrade failed: ${e.message}`),l(!1))}},[A,N]),ee=(0,Q.useCallback)(()=>{s(!1),b?S(!0):uD()},[b]),F=(0,Q.useCallback)(()=>{A&&sessionStorage.setItem(fD+A,`1`),h(!0),s(!1)},[A]);return!w&&!j?null:u?(0,$.jsx)(`button`,{onClick:()=>{p(!0),_D()},disabled:f,className:`flex items-center gap-1 px-1 rounded-sm text-success hover:brightness-110 transition-[filter] disabled:opacity-70 max-md:min-h-11`,title:f?`Applying update — reconnecting to the server…`:`Reload to apply the update`,children:f?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(z,{className:`size-3 animate-spin`}),` Updating, reconnecting…`]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(Vt,{className:`size-3`}),` Reload`]})}):c?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 px-1 text-success`,children:[(0,$.jsx)(z,{className:`size-3 animate-spin`}),` Updating…`]}):(0,$.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,$.jsxs)(`button`,{onClick:()=>w&&s(e=>!e),title:j?`Update available: v${A}`:`PPM v${w} — release notes`,className:G(`flex items-center gap-1 px-1 rounded-sm transition-colors max-md:min-h-11`,j?`text-success hover:brightness-110`:`hover:text-text`),children:[j&&(0,$.jsx)(mt,{className:`size-3`}),(0,$.jsxs)(`span`,{children:[j&&(0,$.jsx)(`span`,{className:`@max-3xl:hidden`,children:`New version · `}),`v`,j?A:w]})]}),o&&w&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>s(!1)}),(0,$.jsxs)(`div`,{className:G(`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,$.jsxs)(`div`,{className:`flex items-center gap-2.5 px-3 py-3 border-b border-border-soft`,children:[(0,$.jsx)(`span`,{className:G(`flex items-center justify-center size-[26px] shrink-0 rounded-lg`,j?`bg-success/20`:`bg-accent/15`),children:j?(0,$.jsx)(mt,{className:`size-[15px] text-success`}):(0,$.jsx)(Ot,{className:`size-[15px] text-accent`})}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`text-[13px] font-semibold text-text leading-tight`,children:j?`Update available`:`Release notes`}),(0,$.jsx)(`div`,{className:`text-[11px] text-text-3 font-mono mt-0.5`,children:j?`v${w} → v${A}`:`PPM v${w}`})]})]}),(0,$.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,$.jsxs)(`span`,{className:`flex items-center gap-2 text-text-3`,children:[(0,$.jsx)(z,{className:`size-3.5 animate-spin`}),` Loading release notes…`]}):M&&M.length>0?(0,$.jsx)(`div`,{className:`space-y-2.5`,children:M.map(e=>(0,$.jsx)(aD,{version:e.version,body:e.body},e.version))}):(0,$.jsx)(`span`,{className:`text-text-3`,children:j?`A new version of PPM is available. Open the release notes for details.`:`No release notes available right now.`})}),(0,$.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-3 pb-3`,children:[j&&(0,$.jsxs)(`button`,{onClick:E&&!O?()=>{B.info(`Test mode — no real update to install`),s(!1)}:P,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,$.jsx)(Ht,{className:`size-3.5`}),` Update now`]}),(0,$.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,$.jsxs)(`button`,{onClick:ee,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 max-md:min-h-11`,children:[(0,$.jsx)(fe,{className:`size-3`}),` Read all release notes`]}),j&&(0,$.jsx)(`button`,{onClick:F,className:`px-3 py-2 rounded-lg border border-border text-xs text-text-3 hover:text-text-2 transition-colors`,children:`Later`})]})]})]})]}),x&&(0,$.jsx)(Ma,{open:!0,onClose:()=>S(!1),className:`flex h-[min(88dvh,var(--sheet-vh))] flex-col`,children:(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,$.jsx)(cD,{})})})]})}var bD=sr(e=>({active:!1,setActive:t=>e(e=>e.active===t?e:{active:t})})),xD=`Screen awake`,SD=`Screen is being kept on while this turn runs`,CD=(0,Q.memo)(function(){return bD(e=>e.active)?(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-warning shrink-0`,title:SD,children:[(0,$.jsx)(Te,{className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{children:`awake`})]}):null}),wD=(0,Q.memo)(function(){return bD(e=>e.active)?(0,$.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:SD,children:[(0,$.jsx)(Te,{className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{children:xD})]}):null});function TD(e,t){return e?e.tabs.filter(e=>!e.projectId||!t||e.projectId===t).length:0}var ED=sr()(e=>({byTab:{},file:(t,n)=>e(e=>{if(n)return{byTab:{...e.byTab,[t]:n}};if(!Object.hasOwn(e.byTab,t))return e;let r={...e.byTab};return delete r[t],{byTab:r}})})),DD=(0,Q.memo)(function(){let e=q(e=>e.panels[e.focusedPanelId]?.activeTabId??null),t=ED(t=>e?t.byTab[e]:void 0);if(!t)return null;let{rowCount:n,onCountExactly:r}=t;return n.canCountExactly&&r?(0,$.jsx)(`button`,{type:`button`,onClick:r,title:n.title,className:`shrink-0 rounded-sm px-1 underline decoration-dotted underline-offset-2 transition-colors hover:bg-primary/10 hover:text-text-primary`,children:n.text}):(0,$.jsxs)(`span`,{role:`status`,title:n.title,className:`flex shrink-0 items-center gap-1`,children:[n.text,n.counting&&(0,$.jsx)(z,{className:`size-3 animate-spin`,"aria-label":`Counting`})]})}),OD={explorer:Tp(()=>W(()=>import(`./explorer-window-content-CbUIbrzL.js`),__vite__mapDeps([140,1,2,3,141,6,34,7,10,11,12,40,83,84,45,85,69,18,23,17,19,44,65,20,61,16,27,13,8,9,14,15,31,50]))),"agent-session":Tp(()=>W(()=>import(`./agent-session-window-content-HEdIT_LQ.js`),__vite__mapDeps([142,1,2,3,6,32,7,36,9,10,37,38,39,8,11,12,40,13,14,15,16,41,42,43,44,20,23,45,46,47,27,68]))),"system-monitor":Tp(()=>W(()=>import(`./system-monitor-window-content-Cvx1V8Mf.js`),__vite__mapDeps([143,2,1,3,7,8,9,10,11,6,12,122,23]))),"tab-host":Tp(()=>W(()=>import(`./tab-host-window-content-DqOUHxEL.js`),__vite__mapDeps([144,1,2,3,7,8,9,10,11,6,12,13,14,15,16,18,44,23]))),"remote-desktop":Tp(()=>W(()=>import(`./remote-desktop-window-content-CAuxeGbK.js`),__vite__mapDeps([145,1,2,3,31,6,7,8,9,10,11,12,13,14,15,16,146,23,24,147,120,148,26,50,18,65]))),settings:Tp(()=>W(()=>import(`./settings-window-content-BCDRi6xS.js`),__vite__mapDeps([149,2,1,3,31,6,7,8,9,10,11,12,114,57,23,115,86,116]))),logs:Tp(()=>W(()=>import(`./logs-window-content-CGvPnPrr.js`),__vite__mapDeps([150,2,1,3,31,6,7,8,9,10,11,12,136,13,14,15,16,65,18,23,17,19,20,21,25,137,44,27]))),"release-notes":Tp(()=>W(()=>import(`./release-notes-window-content-B33RDfFY.js`),__vite__mapDeps([151,2,1,3,7,8,9,10,23])))};function kD(e,t){let n=t?.title;if(typeof n==`string`&&n.trim())return n;if(e===`agent-session`)return`Agent session`;if(e===`system-monitor`)return`System Monitor`;if(e===`remote-desktop`)return`Remote Desktop`;if(e===`settings`)return`Settings`;if(e===`logs`)return`Logs`;if(e===`release-notes`)return`Release notes`;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`}var AD=e=>`var(--color-${e})`,jD=[`primary`,`accent-2`,`success`,`warning`,`error`,`info`].map(AD);function MD(e){let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return jD[Math.abs(t)%jD.length]}var ND={explorer:{icon:Ee,tone:AD(`info`),label:`Explorer`},"agent-session":{icon:En,tone:AD(`accent-2`),label:`Agent`},"system-monitor":{icon:Tn,tone:AD(`warning`),label:`System Monitor`},"remote-desktop":{icon:Pe,tone:AD(`info`),label:`Remote Desktop`},settings:{icon:le,tone:AD(`text-3`),label:`Settings`},logs:{icon:bt,tone:AD(`text-2`),label:`Logs`},"release-notes":{icon:Ot,tone:AD(`accent`),label:`Release notes`}},PD={terminal:`Terminal`,chat:`Chat`,editor:`Editor`,design:`Design`,"git-log":`Git graph`,"git-diff":`Diff`,"git-review":`Review changes`,"session-review":`Session review`,database:`Database`,sqlite:`Database`,"web-preview":`Preview`,android:`Android`,extension:`Extension`,"extension-webview":`Extension`},FD={terminal:AD(`success`),chat:AD(`accent-2`),"git-log":AD(`warning`),"git-diff":AD(`warning`),"git-review":AD(`warning`)};function ID(e){return t=>{let n=t.panels[Dr(e)];if(n)return n.tabs.find(e=>e.id===n.activeTabId)??n.tabs[0]}}function LD(e,t,n){if(e!==`tab-host`){let t=ND[e];return{icon:t.icon,tone:t.tone,kindLabel:t.label,busy:!1,allowPip:!0,filled:!1}}if(!t)return{icon:op(`editor`),tone:AD(`primary`),kindLabel:`Tab`,busy:!1,allowPip:!0,filled:!1};let r=t.type===`design`,i=PD[t.type]??`Tab`,a=t.projectId??void 0,o=typeof t.metadata?.designSlug==`string`?t.metadata.designSlug:t.title;return{title:t.title,icon:op(t.type),tone:r?MD(o):FD[t.type]??AD(`primary`),subtitle:a?`${i} · ${a}`:i,kindLabel:i,busy:n,allowPip:!vr.has(t.type),filled:r}}function RD(e){return q(sm(t=>e.map(e=>{let n=LD(e.kind,e.kind===`tab-host`?ID(e.id)(t):void 0,!1);return`${n.title||kD(e.kind,e.payload)} ${n.kindLabel}`.toLowerCase()})))}function zD(e){let t=q(sm(t=>e.map(e=>e.kind===`tab-host`?$r(ID(e.id)(t))??``:``))),n=Yi(sm(e=>t.map(t=>t?e.sessions.has(t):!1)));return new Set(e.filter((e,t)=>n[t]).map(e=>e.id))}function BD(e){let t=q(e.kind===`tab-host`?ID(e.id):()=>void 0),n=$r(t),r=Yi(e=>n?e.sessions.has(n):!1);return LD(e.kind,t,r)}var VD=(e,t)=>e.reduce((e,t)=>e+t,0)+Math.max(0,e.length-1)*t;function HD(e){let{available:t,fullWidths:n,iconWidth:r,gap:i,moreWidth:a,frontIndex:o,maxChips:s}=e,c=e.minTitle??56,l=n.length;if(l===0||l<=s&&VD(n,i)<=t)return{mode:`full`,hidden:[]};let u=e=>e===o?n[e]:r,d=n.map((e,t)=>u(t));if(l<=s&&VD(d,i)<=t)return{mode:`compact`,hidden:[]};let f=[],p=()=>d.filter((e,t)=>!f.includes(t)),m=()=>VD(p(),i)+i+a<=t;for(let e=l-1;e>=0&&!(m()&&l-f.length<=s);e--)e!==o&&f.push(e);if(o>=0&&!f.includes(o)){let e=p().length-1;if(t-a-i-e*(r+i)-r<c)return{mode:`tight`,hidden:f}}return{mode:`compact`,hidden:f}}function UD(e){return e.kind===`tab-host`&&e.payload?.closeTabsOnClose===!0}function WD(e){let t=K.getState().windows[e];if(t){if(UD(t)){let t=Dr(e),n=q.getState().panels[t]?.tabs??[];if(n.length>0){for(let e of[...n])q.getState().closeTab(e.id,t);return}}K.getState().close(e)}}var GD={sm:`size-4 rounded-[4px] [&_svg]:size-[11px]`,md:`size-[22px] rounded-md [&_svg]:size-3.5`,lg:`size-6 rounded-md [&_svg]:size-3.5`};function KD({icon:e,tone:t,size:n=`md`,filled:r,muted:i,className:a,children:o}){let s={"--tone":t,background:r?`linear-gradient(140deg, var(--tone), color-mix(in srgb, var(--tone) 60%, #000))`:`color-mix(in srgb, var(--tone) 20%, transparent)`,color:r?`#fff`:`var(--tone)`};return(0,$.jsxs)(`span`,{"aria-hidden":`true`,style:s,className:G(`relative grid shrink-0 place-items-center`,GD[n],i&&`opacity-55 saturate-50`,a),children:[(0,$.jsx)(e,{}),o]})}function qD({className:e}){return(0,$.jsx)(`span`,{className:G(`absolute -right-[3px] -top-[3px] size-[7px] rounded-full bg-success ring-2 ring-panel`,e),children:(0,$.jsx)(`span`,{className:`absolute inset-0 rounded-full bg-success animate-ping motion-reduce:hidden`})})}function JD({title:e,subtitle:t,busy:n,focused:r,className:i}){return(0,$.jsxs)(`span`,{className:G(`flex min-w-0 items-center gap-2`,i),children:[(0,$.jsx)(`span`,{className:G(`truncate text-[13px] font-semibold`,r?`text-text`:`text-text-2`),children:e}),t&&(0,$.jsx)(`span`,{className:`min-w-0 truncate text-[11px] text-text-3 @max-[560px]/window:hidden`,children:t}),n&&(0,$.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5 text-[11px] text-success`,children:[(0,$.jsx)(`span`,{className:`size-1.5 rounded-full bg-current`}),`Working`]})]})}function YD({open:e,onOpenChange:t,anchorRef:n,windows:r,frontId:i}){let[a,o]=(0,Q.useState)(``),s=r.filter(e=>e.state!==`minimized`),c=r.filter(e=>e.state===`minimized`),l=e=>{e&&o(``),t(e)};return(0,$.jsxs)(_,{open:e,onOpenChange:l,children:[(0,$.jsx)(O,{virtualRef:n}),(0,$.jsx)(g,{children:(0,$.jsxs)(h,{"aria-label":`All windows`,side:`top`,align:`end`,sideOffset:6,collisionPadding:8,onPointerDownOutside:e=>{e.target?.closest?.(`[data-more]`)&&e.preventDefault()},className:`z-50 flex max-h-[min(440px,70vh)] w-[300px] max-w-[calc(100vw-24px)] flex-col overflow-hidden rounded-xl border border-border bg-panel-2 font-sans shadow-lg`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 pb-2 pl-3.5 pr-2.5 pt-2.5`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-semibold text-text`,children:`Windows`}),(0,$.jsx)(`span`,{className:`font-mono text-[11px] text-text-3`,children:r.length}),(0,$.jsx)(`span`,{className:`flex-1`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>{K.getState().minimizeAll(),l(!1)},className:`rounded-md px-1.5 py-1 text-xs font-medium text-primary can-hover:hover:bg-accent-wash`,children:`Minimize all`})]}),(0,$.jsxs)(`label`,{className:`mx-2.5 mb-1.5 flex h-[30px] items-center gap-1.5 rounded-lg border border-border-soft bg-panel px-2 text-text-3 focus-within:border-accent-wash-border`,children:[(0,$.jsx)(Ln,{className:`size-3.5 shrink-0`}),(0,$.jsx)(`input`,{autoFocus:!0,type:`text`,value:a,onChange:e=>o(e.target.value),placeholder:`Find a window…`,"aria-label":`Find a window`,autoComplete:`off`,className:`min-w-0 flex-1 bg-transparent text-[12.5px] text-text outline-none placeholder:text-text-3`})]}),(0,$.jsx)(XD,{query:a,shown:s,minimized:c,frontId:i,onPicked:()=>l(!1)})]})})]})}function XD({query:e,shown:t,minimized:n,frontId:r,onPicked:i}){let a=[...t,...n],o=RD(a),s=e.trim().toLowerCase(),c=new Set(a.filter((e,t)=>!s||o[t].includes(s)).map(e=>e.id)),l=(e,t)=>{let n=t.filter(e=>c.has(e.id));return n.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`p`,{className:`mx-2 mb-1 mt-2 text-[10.5px] font-semibold uppercase tracking-[0.06em] text-text-3`,children:[e,` · `,n.length]}),n.map(e=>(0,$.jsx)(ZD,{win:e,front:e.id===r,onPicked:i},e.id))]})};return(0,$.jsxs)(`div`,{className:`min-h-0 overflow-y-auto px-1.5 pb-2 pt-0.5`,children:[l(`Open`,t),l(`Minimized`,n),c.size===0&&(0,$.jsx)(`p`,{className:`p-4 text-center text-xs text-text-3`,children:`No window matches`})]})}function ZD({win:e,front:t,onPicked:n}){let r=BD(e),i=r.title||kD(e.kind,e.payload),a=e.state===`minimized`,o=r.busy?`${r.kindLabel} · working`:t?`${r.kindLabel} · in front`:r.kindLabel;return(0,$.jsxs)(`div`,{className:G(`group relative flex items-center rounded-lg can-hover:hover:bg-surface-hover`,t&&`bg-accent-wash`),children:[t&&(0,$.jsx)(`span`,{"aria-hidden":`true`,className:`absolute bottom-2 left-0 top-2 w-[3px] rounded-r-[3px] bg-primary`}),(0,$.jsxs)(`button`,{type:`button`,onClick:()=>{t||K.getState().focus(e.id),n()},className:`flex min-h-11 min-w-0 flex-1 items-center gap-2.5 py-1.5 pl-2.5 pr-2 text-left md:min-h-0`,children:[(0,$.jsx)(KD,{icon:r.icon,tone:r.tone,size:`lg`,filled:r.filled,muted:a}),(0,$.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,$.jsx)(`span`,{className:`truncate text-[12.5px] font-medium text-text`,children:i}),(0,$.jsx)(`span`,{className:G(`truncate text-[11px]`,r.busy?`text-success`:`text-text-3`),children:o})]})]}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close ${i}`,title:`Close`,onClick:()=>WD(e.id),className:G(`mr-1 grid size-[26px] shrink-0 place-items-center rounded-md text-text-3 transition-colors`,`can-hover:opacity-0 can-hover:group-hover:opacity-100 focus-visible:opacity-100`,`can-hover:hover:bg-[color-mix(in_srgb,var(--color-error)_18%,transparent)] can-hover:hover:text-error`),children:(0,$.jsx)($t,{className:`size-3.5`})})]})}var QD=8,$D=2,eO=26,tO=(0,Q.memo)(function(){let e=K(e=>e.windows),t=Gr(e).filter(e=>!Hr(e.id)),n=qr(e),r=t.findIndex(e=>e.id===n),i=zD(t),a=(0,Q.useRef)(null),o=(0,Q.useRef)(null),[s,c]=(0,Q.useState)({mode:`full`,hidden:[]}),[l,u]=(0,Q.useState)(!1);if((0,Q.useLayoutEffect)(()=>{let e=a.current,t=o.current;if(!e||!t)return;let n=()=>{let n=[...t.querySelectorAll(`[data-chip]`)],i=t.querySelector(`[data-more]`),a=getComputedStyle(e),o=HD({available:e.clientWidth-parseFloat(a.paddingLeft)-parseFloat(a.paddingRight),fullWidths:n.map(e=>e.offsetWidth),iconWidth:eO,gap:$D,moreWidth:(i?.offsetWidth??40)+2,frontIndex:r,maxChips:QD});c(e=>e.mode===o.mode&&e.hidden.join()===o.hidden.join()?e:o)};n();let i=new ResizeObserver(n);return i.observe(e),i.observe(t),()=>i.disconnect()},[t.map(e=>e.id).join(`,`),r]),t.length===0)return null;let d=e=>e.id===n?`front`:e.state===`minimized`?`min`:`behind`,f=new Set(s.hidden),p=t.some((e,t)=>f.has(t)&&i.has(e.id));return(0,$.jsxs)(`div`,{ref:a,role:`toolbar`,"aria-label":`Windows`,onContextMenu:e=>{e.preventDefault(),u(!0)},className:`relative flex h-full min-w-0 flex-1 basis-0 items-center gap-0.5 overflow-hidden border-l border-border-soft pl-2.5 font-sans`,children:[t.map((e,t)=>f.has(t)?null:(0,$.jsx)(nO,{win:e,state:d(e),showTitle:s.mode===`full`||s.mode===`compact`&&e.id===n,busy:i.has(e.id)},e.id)),s.hidden.length>0&&(0,$.jsx)(rO,{count:s.hidden.length,busy:p,expanded:l,onClick:()=>u(!l)}),(0,$.jsxs)(`div`,{ref:o,"aria-hidden":`true`,className:`pointer-events-none invisible absolute left-0 top-0 flex gap-0.5 whitespace-nowrap`,children:[t.map(e=>(0,$.jsx)(nO,{win:e,state:d(e),showTitle:!0,busy:!1,measuring:!0},e.id)),(0,$.jsx)(rO,{count:t.length,busy:!1,expanded:!1,measuring:!0})]}),(0,$.jsx)(YD,{open:l,onOpenChange:u,anchorRef:a,windows:t,frontId:n})]})});function nO({win:e,state:t,showTitle:n,busy:r,measuring:i}){let a=BD(e),o=a.title||kD(e.kind,e.payload),s=`${o}${t===`min`?` (minimized)`:``}${r?` · working`:``}`;return(0,$.jsxs)(`button`,{type:`button`,"data-chip":``,tabIndex:i?-1:void 0,title:s,"aria-label":s,"aria-pressed":t!==`min`,onClick:()=>K.getState().activateFromDock(e.id),className:G(`relative flex h-[22px] max-w-[168px] items-center gap-1.5 rounded-md text-[11.5px] font-medium leading-none transition-colors`,`can-hover:hover:bg-surface-hover can-hover:hover:text-text`,n?`pl-1 pr-2`:`px-[5px]`,t===`front`?`min-w-[26px] shrink bg-accent-wash text-text`:`shrink-0`,t===`behind`&&`text-text-2`,t===`min`&&`text-text-3`),children:[(0,$.jsx)(KD,{icon:a.icon,tone:a.tone,size:`sm`,filled:a.filled,muted:t===`min`,children:r&&(0,$.jsx)(qD,{})}),n&&(0,$.jsx)(`span`,{className:`min-w-0 truncate`,children:o}),t!==`min`&&(0,$.jsx)(`span`,{"aria-hidden":`true`,className:G(`absolute bottom-0 left-1/2 h-[2px] -translate-x-1/2 rounded-full transition-[width,background-color]`,t===`front`?`w-[18px] bg-primary`:`w-1.5 bg-text-3`)})]})}function rO({count:e,busy:t,expanded:n,onClick:r,measuring:i}){return(0,$.jsxs)(`button`,{type:`button`,"data-more":``,tabIndex:i?-1:void 0,title:`${e} more window${e===1?``:`s`}`,"aria-label":`${e} more window${e===1?``:`s`}`,"aria-haspopup":`dialog`,"aria-expanded":n,onClick:r,className:G(`relative ml-0.5 flex h-[22px] shrink-0 items-center gap-0.5 rounded-md border pl-2 pr-1.5 text-[11px] font-semibold leading-none transition-colors`,n?`border-accent-wash-border bg-accent-wash text-text`:`border-border-soft bg-panel-2 text-text-2 can-hover:hover:border-accent-wash-border can-hover:hover:bg-accent-wash can-hover:hover:text-text`),children:[`+`,e,(0,$.jsx)(Hn,{className:G(`size-3 transition-transform`,n&&`rotate-180`)}),t&&(0,$.jsx)(qD,{className:`-right-0.5 -top-0.5`})]})}var iO=(0,Q.memo)(function(){let e=rf(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,$.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,$.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0 overflow-hidden`,children:[(0,$.jsx)(aO,{}),(0,$.jsx)(JE,{}),(0,$.jsx)(DD,{}),t.map(e=>(0,$.jsx)(sO,{item:e},e.id)),(0,$.jsx)(oO,{})]}),(0,$.jsx)(tO,{}),(0,$.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,$.jsx)(CD,{}),(0,$.jsx)(VE,{compact:!0}),n.map(e=>(0,$.jsx)(sO,{item:e},e.id)),(0,$.jsx)(XE,{}),(0,$.jsx)(yD,{})]})]})}),aO=(0,Q.memo)(function(){let e=J(e=>e.activeProject?.name??null),t=Rm(t=>e?t.meta.get(e):void 0),[n,r]=(0,Q.useState)(!1);if(!t?.branch||!e)return null;let{branch:i,ahead:a,behind:o,tracking:s}=t,c=!!s&&a===0&&o===0;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{onClick:()=>r(!0),title:`Checkout a branch or tag — ${s?`tracking ${s}`:`no upstream`}`,"aria-label":`Current branch ${i}. Checkout a branch or tag`,className:`flex items-center gap-2 min-w-0 px-1 rounded-sm transition-colors hover:bg-primary/10`,children:[(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-primary min-w-0`,children:[(0,$.jsx)(tt,{className:`size-3 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate max-w-[140px]`,children:i})]}),(a>0||o>0)&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1.5 shrink-0 @max-xl:hidden`,children:[a>0&&(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,$.jsx)(Nt,{className:`size-3`}),a]}),o>0&&(0,$.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,$.jsx)(sn,{className:`size-3`}),o]})]}),c&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-success shrink-0 @max-xl:hidden`,children:[(0,$.jsx)(L,{className:`size-3`}),`synced`]})]}),n&&(0,$.jsx)(uv,{projectName:e,onClose:()=>r(!1)})]})}),oO=(0,Q.memo)(function(){let e=q(e=>e.dock.visible),t=TD(q(e=>e.panels[Er]),J(e=>e.activeProject?.name??null));return(0,$.jsxs)(`button`,{onClick:()=>q.getState().toggleDock(),title:e?`Hide panel`:`Show panel`,"aria-label":e?`Hide panel`:`Show panel`,className:G(`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,$.jsx)(lt,{className:`size-[11px]`}),t>0&&(0,$.jsx)(`span`,{children:t})]})}),sO=(0,Q.memo)(function({item:e}){let t=(0,$.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,$.jsxs)(Ec,{children:[(0,$.jsx)(Dc,{asChild:!0,children:t}),(0,$.jsx)(Oc,{side:`top`,className:`text-xs`,children:e.tooltip})]}):t}),cO=`relative flex-1 min-h-0 overflow-hidden rounded-b-[8px] bg-panel`;function lO(e,t,n){let r=Pr(e),[i]=(0,Q.useState)(()=>{let e=document.createElement(`div`);return e.className=cO,e});return(0,Q.useLayoutEffect)(()=>{let n=t.current;if(n)return n.append(i),Nr(e,i),()=>{let t=Ur(e);t&&Kf()===t&&t.detach(),Nr(e,null),i.remove()}},[i,t,e]),(0,Q.useLayoutEffect)(()=>{i.classList.toggle(`hidden`,n&&!r)},[i,n,r]),{body:i,pip:r}}function uO({pip:e,minimized:t}){return(0,$.jsxs)(`div`,{className:G(`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,$.jsx)(`span`,{className:`text-xs text-text-2`,children:`Playing in picture-in-picture`}),(0,$.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 dO(e){let t=`mac-folder-${(0,Q.useId)()}`;return(0,$.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,$.jsx)(`defs`,{children:(0,$.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0`,stopColor:`#7FC1FF`}),(0,$.jsx)(`stop`,{offset:`1`,stopColor:`#3E92E5`})]})}),(0,$.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,$.jsx)(`path`,{d:`M2.5 10.5h19V9.8H4.7A2 2 0 0 0 2.5 10.5Z`,fill:`#FFFFFF`,fillOpacity:`.3`})]})}function fO(e){let t=`mac-folder-open-${(0,Q.useId)()}`;return(0,$.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,$.jsx)(`defs`,{children:(0,$.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,$.jsx)(`stop`,{offset:`0`,stopColor:`#8FCBFF`}),(0,$.jsx)(`stop`,{offset:`1`,stopColor:`#2F82D9`})]})}),(0,$.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,$.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 pO=`grid place-items-center size-6 rounded text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`;function mO({id:e,className:t}){let n=Pr(e);if(!Tf())return null;let r=()=>{let t=Ur(e);if(t){t.detach();return}let n=Vr(e);if(!n){B.error(`This window has nothing to pop out yet`);return}let r=K.getState().windows[e]?.rect;Jf(n,{width:r?.w??0,height:r?r.h-36:0,onDetach:()=>Br(e,null)}).then(t=>{if(!(!t||Kf()!==t)){if(Vr(e)!==n){t.detach();return}Br(e,t),wf(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,$.jsx)(`button`,{type:`button`,title:i,"aria-label":i,"aria-pressed":!!n,className:G(t??pO,n&&`text-primary`),onClick:r,children:(0,$.jsx)(bn,{className:`size-3.5`})})}var hO=[{color:`#FF5F57`,label:`Close window`,Icon:$t},{color:`#FEBC2E`,label:`Minimize window`,Icon:we},{color:`#28C840`,label:`Maximize window`,Icon:Ct}],gO=`grid place-items-center size-6 rounded text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`;function _O({id:e,kind:t,title:n,state:r,focused:i,titlebarProps:a,identity:o,onMinimize:s,onToggleMaximize:c,onToggleSnap:l,onClose:u}){let{className:d,style:f,...p}=a,m=[u,s,c];return(0,$.jsxs)(`div`,{...p,"data-skin":`macos`,style:{height:36,fontFamily:`var(--x-font)`,...f},className:G(`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`,d),children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2 pl-3`,children:hO.map(({color:e,label:t,Icon:n},r)=>(0,$.jsx)(`button`,{type:`button`,"aria-label":t,onClick:m[r],className:`grid size-3 place-items-center rounded-full`,style:{backgroundColor:i?e:`#8E8E93`},children:(0,$.jsx)(n,{className:`size-2 text-black/60 can-hover:opacity-0 can-hover:group-hover/titlebar:opacity-100`,strokeWidth:3})},t))}),(0,$.jsxs)(`span`,{className:`pointer-events-none flex flex-1 min-w-0 items-center justify-center gap-2 px-2`,children:[t!==`explorer`&&(0,$.jsx)(KD,{icon:o.icon,tone:o.tone,size:`sm`}),(0,$.jsx)(JD,{title:n,subtitle:o.subtitle,busy:o.busy,focused:i})]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-0.5 pr-2`,children:[o.allowPip&&(0,$.jsx)(mO,{id:e}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Snap to the right`,title:r===`snapped`?`Unsnap`:`Snap to the right`,"aria-pressed":r===`snapped`,className:G(gO,r===`snapped`&&`text-primary`),onClick:l,children:(0,$.jsx)(Ke,{className:`size-3.5`})})]})]})}var vO={id:`macos`,vocab:{home:`Home`,pinned:`Favorites`,known:`Locations`,drives:`Devices`},FolderIcon:dO,FolderOpenIcon:fO,chrome:_O};function yO(e){return(0,$.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,$.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,$.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,$.jsx)(`path`,{d:`M4 9.2h16`,stroke:`#FFFFFF`,strokeOpacity:`.35`,strokeWidth:`1`})]})}function bO(e){return(0,$.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,$.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,$.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 xO=`grid place-items-center w-[46px] self-stretch text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`,SO=G(xO,`can-hover:hover:!bg-[#c42b1c] can-hover:hover:!text-white`);function CO({id:e,kind:t,title:n,state:r,focused:i,titlebarProps:a,identity:o,onMinimize:s,onToggleMaximize:c,onToggleSnap:l,onClose:u}){let{className:d,style:f,...p}=a;return(0,$.jsxs)(`div`,{...p,"data-skin":`windows`,style:{height:36,fontFamily:`var(--x-font)`,...f},className:G(`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`,d),children:[(0,$.jsxs)(`div`,{className:`flex flex-1 min-w-0 items-center gap-2 px-2.5 cursor-default`,children:[t===`explorer`?(0,$.jsx)(yO,{className:`size-4 shrink-0`}):(0,$.jsx)(KD,{icon:o.icon,tone:o.tone}),(0,$.jsx)(JD,{title:n,subtitle:o.subtitle,busy:o.busy,focused:i})]}),o.allowPip&&(0,$.jsx)(mO,{id:e,className:xO}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Snap to the right`,title:r===`snapped`?`Unsnap`:`Snap to the right`,"aria-pressed":r===`snapped`,className:G(xO,r===`snapped`&&`text-primary`),onClick:l,children:(0,$.jsx)(Ke,{className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Minimize window`,className:xO,onClick:s,children:(0,$.jsx)(we,{className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,"aria-label":r===`maximized`?`Restore window`:`Maximize window`,className:xO,onClick:c,children:r===`maximized`?(0,$.jsx)(jn,{className:`size-3`}):(0,$.jsx)(ze,{className:`size-3`})}),(0,$.jsx)(`button`,{type:`button`,"aria-label":`Close window`,className:SO,onClick:u,children:(0,$.jsx)($t,{className:`size-3.5`})})]})}var wO={id:`windows`,vocab:{home:`Home`,pinned:`Quick access`,known:`Folders`,drives:`Drives`},FolderIcon:yO,FolderOpenIcon:bO,chrome:CO};function TO(){let e=U(e=>e.explorerSkin),{host:t}=Xh(!U(e=>e.minimalMode));return e===`windows`?wO:e===`macos`?vO:t?.platform===`win32`?wO:vO}function EO(e){let t=TO().chrome;return(0,$.jsx)(t,{...e})}function DO(e,t,n){return Math.max(t,Math.min(e,n))}var OO={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 kO(e,t,n){return t===0||Math.abs(t)===1/0?e**(n*5):e*t*n/(t+n*e)}function AO(e,t,n,r=.15){return r===0?DO(e,t,n):e<t?-kO(t-e,n-t,r)+t:e>n?+kO(e-n,n-t,r)+n:e}function jO(e,[t,n],[r,i]){let[[a,o],[s,c]]=e;return[AO(t,a,o,r),AO(n,s,c,i)]}function MO(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 NO(e){var t=MO(e,`string`);return typeof t==`symbol`?t:String(t)}function PO(e,t,n){return t=NO(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FO(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 IO(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?FO(Object(n),!0).forEach(function(t){PO(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):FO(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var LO={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 RO(e){return e?e[0].toUpperCase()+e.slice(1):``}var zO=[`enter`,`leave`];function BO(e=!1,t){return e&&!zO.includes(t)}function VO(e,t=``,n=!1){let r=LO[e],i=r&&r[t]||t;return`on`+RO(e)+RO(i)+(BO(n,i)?`Capture`:``)}var HO=[`gotpointercapture`,`lostpointercapture`];function UO(e){let t=e.substring(2).toLowerCase(),n=!!~t.indexOf(`passive`);n&&(t=t.replace(`passive`,``));let r=HO.includes(t)?`capturecapture`:`capture`,i=!!~t.indexOf(r);return i&&(t=t.replace(`capture`,``)),{device:t,capture:i,passive:n}}function WO(e,t=``){let n=LO[e];return e+(n&&n[t]||t)}function GO(e){return`touches`in e}function KO(e){return GO(e)?`touch`:`pointerType`in e?e.pointerType:`mouse`}function qO(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 JO(e){return e.type===`touchend`||e.type===`touchcancel`?e.changedTouches:e.targetTouches}function YO(e){return GO(e)?JO(e)[0]:e}function XO(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 ZO(e){return qO(e).map(e=>e.identifier)}function QO(e,t){let[n,r]=Array.from(e.touches).filter(e=>t.includes(e.identifier));return XO(n,r)}function $O(e){let t=YO(e);return GO(e)?t.identifier:t.pointerId}function ek(e){let t=YO(e);return[t.clientX,t.clientY]}var tk=40,nk=800;function rk(e){let{deltaX:t,deltaY:n,deltaMode:r}=e;return r===1?(t*=tk,n*=tk):r===2&&(t*=nk,n*=nk),[t,n]}function ik(e){let{scrollX:t,scrollY:n,scrollLeft:r,scrollTop:i}=e.currentTarget;return[t??r??0,n??i??0]}function ak(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 ok(e,...t){return typeof e==`function`?e(...t):e}function sk(){}function ck(...e){return e.length===0?sk:e.length===1?e[0]:function(){let t;for(let n of e)t=n.apply(this,arguments)||t;return t}}function lk(e,t){return Object.assign({},t,e||{})}var uk=32,dk=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?ok(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,ak(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);OO.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=ok(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=jO(t._bounds,t.offset,b),t.delta=OO.sub(t.offset,f),this.computeMovement(),p&&(!t.last||i>uk)){t.delta=OO.sub(t.offset,f);let e=t.delta.map(Math.abs);OO.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(IO(IO(IO({},t),e),{},{[this.aliasKey]:e.values}));r!==void 0&&(e.memo=r)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}};function fk([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 pk=class extends dk{constructor(...e){super(...e),PO(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=OO.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=OO.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[KO(e)]:n.axisThreshold;t.axis=fk(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}}},mk=e=>e,hk=.15,gk={enabled(e=!0){return e},eventOptions(e,t,n){return IO(IO({},n.shared.eventOptions),e)},preventDefault(e=!1){return e},triggerAllEvents(e=!1){return e},rubberband(e=0){switch(e){case!0:return[hk,hk];case!1:return[0,0];default:return OO.toVector(e)}},from(e){if(typeof e==`function`)return e;if(e!=null)return OO.toVector(e)},transform(e,t,n){let r=e||n.shared.transform;return this.hasCustomTransform=!!r,r||mk},threshold(e){return OO.toVector(e,0)}},_k=0,vk=IO(IO({},gk),{},{axis(e,t,{axis:n}){if(this.lockDirection=n===`lock`,!this.lockDirection)return n},axisThreshold(e=_k){return e},bounds(e={}){if(typeof e==`function`)return t=>vk.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]]}}),yk={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]},bk=class extends pk{constructor(...e){super(...e),PO(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=vk.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=$O(e),n._pointerActive=!0,this.computeValues(ek(e)),this.computeInitial(),t.preventScrollAxis&&KO(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=$O(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;let i=ek(e);if(document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=OO.sub(i,t._values),this.computeValues(i)),OO.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=$O(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,xk(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=yk[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,OO.addTo(n._movement,n._delta),this.compute(e),this.emit()}}keyUp(e){e.key in yk&&(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 xk(e){`persist`in e&&typeof e.persist==`function`&&e.persist()}var Sk=typeof window<`u`&&window.document&&window.document.createElement;function Ck(){return Sk&&`ontouchstart`in window}function wk(){return Ck()||Sk&&window.navigator.maxTouchPoints>1}function Tk(){return Sk&&`onpointerdown`in window}function Ek(){return Sk&&`exitPointerLock`in window.document}function Dk(){try{return`constructor`in GestureEvent}catch{return!1}}var Ok={isBrowser:Sk,gesture:Dk(),touch:Ck(),touchscreen:wk(),pointer:Tk(),pointerLock:Ek()},kk=250,Ak=180,jk=.5,Mk=50,Nk=250,Pk=10,Fk={mouse:0,touch:0,pen:8},Ik=IO(IO({},vk),{},{device(e,t,{pointer:{touch:n=!1,lock:r=!1,mouse:i=!1}={}}){return this.pointerLock=r&&Ok.pointerLock,Ok.touch&&n?`touch`:this.pointerLock?`mouse`:Ok.pointer&&!i?`pointer`:Ok.touch?`touch`:`mouse`},preventScrollAxis(e,t,{preventScroll:n}){if(this.preventScrollDelay=typeof n==`number`?n:n||n===void 0&&e?kk:void 0,!(!Ok.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=OO.toVector(e,n?r:i?1:0);return this.filterTaps=n,this.tapsThreshold=r,a},swipe({velocity:e=jk,distance:t=Mk,duration:n=Nk}={}){return{velocity:this.transform(OO.toVector(e)),distance:this.transform(OO.toVector(t)),duration:n}},delay(e=0){switch(e){case!0:return Ak;case!1:return 0;default:return e}},axisThreshold(e){return e?IO(IO({},Fk),e):Fk},keyboardDisplacement(e=Pk){return e}});function Lk(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 Rk=30,zk=100,Bk=class extends dk{constructor(...e){super(...e),PO(this,`ingKey`,`pinching`),PO(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=OO.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)*Rk-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=QO(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=XO(...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=QO(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=XO(...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=OO.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=[-rk(e)[1]/zk*t.offset[0],0],OO.addTo(t._movement,t._delta),Lk(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})}},Vk=IO(IO({},gk),{},{device(e,t,{shared:n,pointer:{touch:r=!1}={}}){if(n.target&&!Ok.touch&&Ok.gesture)return`gesture`;if(Ok.touch&&r)return`touch`;if(Ok.touchscreen){if(Ok.pointer)return`pointer`;if(Ok.touch)return`touch`}},bounds(e,t,{scaleBounds:n={},angleBounds:r={}}){let i=e=>{let t=lk(ok(n,e),{min:-1/0,max:1/0});return[t.min,t.max]},a=e=>{let t=lk(ok(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`,OO.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey(e){return e===void 0?`ctrlKey`:e},pinchOnWheel(e=!0){return e}}),Hk=class extends pk{constructor(...e){super(...e),PO(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(ek(e)),this.compute(e),this.computeInitial(),this.emit()}moveChange(e){if(!this.state._active)return;let t=ek(e),n=this.state;n._delta=OO.sub(t,n._values),OO.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))}},Uk=IO(IO({},vk),{},{mouseOnly:(e=!0)=>e}),Wk=class extends pk{constructor(...e){super(...e),PO(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=ik(e);t._delta=OO.sub(n,t._values),OO.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))}},Gk=vk,Kk=class extends pk{constructor(...e){super(...e),PO(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=rk(e),OO.addTo(t._movement,t._delta),Lk(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))}},qk=vk,Jk=class extends pk{constructor(...e){super(...e),PO(this,`ingKey`,`hovering`)}enter(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.start(e),this.computeValues(ek(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=ek(e);t._movement=t._delta=OO.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))}},Yk=IO(IO({},vk),{},{mouseOnly:(e=!0)=>e}),Xk=new Map,Zk=new Map;function Qk(e){Xk.set(e.key,e.engine),Zk.set(e.key,e.resolver)}var $k={key:`drag`,engine:bk,resolver:Ik},eA={key:`hover`,engine:Jk,resolver:Yk},tA={key:`move`,engine:Hk,resolver:Uk},nA={key:`pinch`,engine:Bk,resolver:Vk},rA={key:`scroll`,engine:Wk,resolver:Gk},iA={key:`wheel`,engine:Kk,resolver:qk};function aA(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 oA(e,t){if(e==null)return{};var n=aA(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 sA={target(e){if(e)return()=>`current`in e?e.current:e},enabled(e=!0){return e},window(e=Ok.isBrowser?window:void 0){return e},eventOptions({passive:e=!0,capture:t=!1}={}){return{passive:e,capture:t}},transform(e){return e}},cA=[`target`,`eventOptions`,`window`,`enabled`,`transform`];function lA(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]=lA(e[r],i);break;case`boolean`:i&&(n[r]=e[r]);break}return n}function uA(e,t,n={}){let r=e,{target:i,eventOptions:a,window:o,enabled:s,transform:c}=r,l=oA(r,cA);if(n.shared=lA({target:i,eventOptions:a,window:o,enabled:s,transform:c},sA),t){let e=Zk.get(t);n[t]=lA(IO({shared:n.shared},l),e)}else for(let e in l){let t=Zk.get(e);t&&(n[e]=lA(IO({shared:n.shared},l[e]),t))}return n}var dA=class{constructor(e,t){PO(this,`_listeners`,new Set),this._ctrl=e,this._gestureKey=t}add(e,t,n,r,i){let a=this._listeners,o=WO(t,n),s=IO(IO({},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()}},fA=class{constructor(){PO(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()}},pA=class{constructor(e){PO(this,`gestures`,new Set),PO(this,`_targetEventStore`,new dA(this)),PO(this,`gestureEventStores`,{}),PO(this,`gestureTimeoutStores`,{}),PO(this,`handlers`,{}),PO(this,`config`,{}),PO(this,`pointerIds`,new Set),PO(this,`touchIds`,new Set),PO(this,`state`,{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),hA(this,e)}setEventIds(e){if(GO(e))return this.touchIds=new Set(ZO(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=uA(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=gA(n,i.eventOptions,!!r);i.enabled&&new(Xk.get(t))(this,e,t).bind(a)}let i=gA(n,t.eventOptions,!!r);for(let t in this.nativeHandlers)i(t,``,n=>this.nativeHandlers[t](IO(IO({},this.state.shared),{},{event:n,args:e})),void 0,!0)}for(let e in n)n[e]=ck(...n[e]);if(!r)return n;for(let e in n){let{device:t,capture:i,passive:a}=UO(e);this._targetEventStore.add(r,t,``,n[e],{capture:i,passive:a})}}}};function mA(e,t){e.gestures.add(t),e.gestureEventStores[t]=new dA(e,t),e.gestureTimeoutStores[t]=new fA}function hA(e,t){t.drag&&mA(e,`drag`),t.wheel&&mA(e,`wheel`),t.scroll&&mA(e,`scroll`),t.move&&mA(e,`move`),t.pinch&&mA(e,`pinch`),t.hover&&mA(e,`hover`)}var gA=(e,t,n)=>(r,i,a,o={},s=!1)=>{let c=o.capture??t.capture,l=o.passive??t.passive,u=s?r:VO(r,i,c);n&&l&&(u+=`Passive`),e[u]=e[u]||[],e[u].push(a)},_A=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function vA(e){let t={},n={},r=new Set;for(let i in e)_A.test(i)?(r.add(RegExp.lastMatch),n[i]=e[i]):t[i]=e[i];return[n,t,r]}function yA(e,t,n,r,i,a){if(!e.has(n)||!Xk.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 bA(e,t){let[n,r,i]=vA(e),a={};return yA(i,n,`onDrag`,`drag`,a,t),yA(i,n,`onWheel`,`wheel`,a,t),yA(i,n,`onScroll`,`scroll`,a,t),yA(i,n,`onPinch`,`pinch`,a,t),yA(i,n,`onMove`,`move`,a,t),yA(i,n,`onHover`,`hover`,a,t),{handlers:a,config:t,nativeHandlers:r}}function xA(e,t={},n,r){let i=Q.useMemo(()=>new pA(e),[]);if(i.applyHandlers(e,r),i.applyConfig(t,n),Q.useEffect(i.effect.bind(i)),Q.useEffect(()=>i.clean.bind(i),[]),t.target===void 0)return i.bind.bind(i)}function SA(e,t){return Qk($k),xA({drag:e},t||{},`drag`)}function CA(e){return e.forEach(Qk),function(e,t){let{handlers:n,nativeHandlers:r,config:i}=bA(e,t||{});return xA(n,i,void 0,r)}}function wA(e,t){return CA([$k,nA,rA,iA,tA,eA])(e,t||{})}var TA={filterTaps:!0,pointer:{capture:!0}};function EA(e,t){return!e&&t===void 0}function DA(e,t,n){let r=n>0?n:1;return{dx:(e[0]-t[0])/r,dy:(e[1]-t[1])/r}}function OA(e){return SA(({xy:t,initial:n,first:r,last:i,memo:a})=>{if(EA(r,a)){i&&e.onGestureActive(!1);return}let o=r?{base:{...e.getRect()},armed:!1}:a,{base:s}=o;r&&e.onGestureActive(!0);let{dx:c,dy:l}=DA(t,n,e.getScale()),u={...s,x:s.x+c,y:s.y+l},d=e.getBounds(),f=!!e.onSnap&&gr(u,s,d);return f!==o.armed&&(o.armed=f,e.onSnapPreview?.(f)),i&&f?(e.onSnapPreview?.(!1),e.onSnap?.()):e.onChange(Yr(u,d),i),i&&e.onGestureActive(!1),o},{...TA,enabled:!e.disabled})}var kA=10,AA=1,jA={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};function MA(e){return(0,Q.useCallback)(t=>{if(t.key===`Escape`){t.stopPropagation(),e.onClose();return}if(t.altKey&&t.key===`Enter`){t.preventDefault(),e.onToggleMaximize();return}let n=jA[t.key];if(!n||!e.movable)return;t.preventDefault();let r=t.shiftKey?AA:kA;e.onMove(Mr(e.getRect(),n[0]*r,n[1]*r,e.getBounds()))},[e])}function NA(e){return SA(({args:t,xy:n,initial:r,first:i,last:a,memo:o})=>{if(EA(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}=DA(n,r,e.getScale()),d=Yr(Ir(c,s,l,u),e.getBounds());return e.onChange(d,a),a&&e.onGestureActive(!1),c},{...TA,enabled:!e.disabled})}var PA={edge:6,corner:12},FA={edge:12,corner:20},IA={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 LA(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 RA({bind:e}){let t=Su(`(pointer: coarse)`)?FA:PA;return(0,$.jsx)($.Fragment,{children:Lr.map(n=>(0,$.jsx)(`div`,{...e(n),"data-resize-handle":n,"aria-hidden":!0,className:IA[n],style:LA(n,t)},n))})}function zA(e,t){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=`${Math.round(t.h)}px`)}function BA({win:e,bounds:t,title:n,identity:r,focused:i,getScale:a,onGestureActive:o,children:s}){let c=(0,Q.useRef)(null),l=(0,Q.useRef)(null),[u,d]=(0,Q.useState)(!1),f=e.state===`maximized`,p=e.state===`snapped`,m=e.state===`minimized`,h=e.state===`normal`,g=Zr(e.state,e.rect,t),{body:_,pip:v}=lO(e.id,l,m),y=(0,Q.useRef)(g);y.current=g;let b=(0,Q.useRef)(t);b.current=t,(0,Q.useLayoutEffect)(()=>{zA(c.current,y.current)},[g.x,g.y,g.w,g.h]),(0,Q.useLayoutEffect)(()=>{let t=c.current;if(!t)return;let n=()=>K.getState().focus(e.id);return t.addEventListener(`pointerdown`,n,!0),()=>t.removeEventListener(`pointerdown`,n,!0)},[e.id]),(0,Q.useLayoutEffect)(()=>()=>{let t=K.getState();t.snapPreviewId===e.id&&t.setSnapPreview(null)},[e.id]);let x=(0,Q.useCallback)(e=>{d(e),o(e)},[o]),S=(0,Q.useCallback)((t,n)=>{zA(c.current,t),n&&K.getState().move(e.id,{x:t.x,y:t.y})},[e.id]),C=(0,Q.useCallback)((t,n)=>{zA(c.current,t),n&&K.getState().resize(e.id,t)},[e.id]),w={getRect:()=>y.current,getBounds:()=>b.current,getScale:a,onGestureActive:x},T=OA({...w,onChange:S,disabled:!h,onSnapPreview:t=>K.getState().setSnapPreview(t?e.id:null),onSnap:()=>K.getState().setState(e.id,`snapped`)}),E=NA({...w,onChange:C,disabled:!h}),D=(0,Q.useCallback)(()=>WD(e.id),[e.id]),O=(0,Q.useCallback)(()=>{K.getState().setState(e.id,f?`normal`:`maximized`)},[e.id,f]),k=(0,Q.useCallback)(()=>{K.getState().setState(e.id,p?`normal`:`snapped`)},[e.id,p]),A=(0,Q.useCallback)(()=>K.getState().setState(e.id,`minimized`),[e.id]),j=MA({getRect:()=>y.current,getBounds:()=>b.current,onMove:t=>K.getState().move(e.id,{x:t.x,y:t.y}),onToggleMaximize:O,onClose:()=>{UD(e)||D()},movable:h}),M=!!v&&Hr(e.id);return(0,$.jsxs)(`div`,{ref:c,role:`group`,"aria-roledescription":`window`,"aria-label":n,style:{zIndex:Xr(e.rank)},className:G(`@container/window absolute left-0 top-0 flex flex-col pointer-events-auto`,`rounded-[8px] border border-border bg-panel overflow-visible`,(f||p)&&`rounded-none`,i?`shadow-2xl shadow-black/40`:`shadow-lg shadow-black/20`,u?`transition-none`:`transition-[transform,width,height] duration-150 motion-reduce:transition-none`,(M||m)&&`hidden`),children:[(0,$.jsx)(EO,{id:e.id,kind:e.kind,title:n,state:e.state,focused:i,identity:r,titlebarProps:{...T(),onKeyDown:j,onDoubleClick:e=>{e.target.closest(`button`)||O()},tabIndex:0,role:`toolbar`,"aria-label":`${n} title bar`,style:{touchAction:`none`,userSelect:`none`}},onMinimize:A,onToggleMaximize:O,onToggleSnap:k,onClose:D}),v&&!M&&(0,$.jsx)(uO,{pip:v,minimized:m}),h&&(0,$.jsx)(RA,{bind:e=>E(e)}),(0,$.jsx)(`div`,{ref:l,className:`contents`}),(0,yp.createPortal)((0,$.jsx)(mr,{container:v?.pipWindow.document.body,children:s}),_)]})}function VA(){return Pi()?null:(0,$.jsx)(HA,{})}function HA(){let e=U(e=>e.minimalMode),t=q(e=>e.panels),n=(0,Q.useRef)(null),r=K(e=>e.windows),i=K(e=>e.bounds),a=K(e=>e.snapPreviewId!==null),[o,s]=(0,Q.useState)(!1);(0,Q.useLayoutEffect)(()=>{let e=n.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect(),n=e.offsetWidth>0?t.width/e.offsetWidth:1;return{w:Math.round(t.width/n),h:Math.round(t.height/n)}},r=K.getState();r.setBounds(t()),r.restoreAll(t());let i=new ResizeObserver(()=>K.getState().setBounds(t()));return i.observe(e),()=>i.disconnect()},[]);let c=(0,Q.useCallback)(()=>{let e=n.current;return!e||e.offsetWidth===0?1:e.getBoundingClientRect().width/e.offsetWidth},[]),l=Rr(r).filter(n=>!e||n.kind===`settings`||n.kind===`agent-session`||n.kind===`tab-host`&&t[Dr(n.id)]?.tabs.some(e=>I(e.type))),u=qr(r);return(0,$.jsxs)(`div`,{ref:n,className:`absolute inset-x-0 top-0 bottom-[26px] overflow-hidden pointer-events-none`,children:[a&&(0,$.jsx)(WA,{bounds:i}),l.map(e=>(0,$.jsx)(UA,{win:e,bounds:i,focused:e.id===u,getScale:c,onGestureActive:s},e.id)),o&&(0,$.jsx)(`div`,{className:`absolute inset-0 pointer-events-auto`,style:{zIndex:38}})]})}function UA({win:e,bounds:t,focused:n,getScale:r,onGestureActive:i}){let a=OD[e.kind],o=BD(e);return(0,$.jsx)(BA,{win:e,bounds:t,title:o.title||kD(e.kind,e.payload),identity:o,focused:n,getScale:r,onGestureActive:i,children:(0,$.jsx)(Q.Suspense,{fallback:(0,$.jsx)(`div`,{className:`p-3 text-xs text-text-2`,children:`Loading…`}),children:(0,$.jsx)(a,{id:e.id,payload:e.payload})})})}function WA({bounds:e}){let t=Tr(e);return(0,$.jsx)(`div`,{"aria-hidden":`true`,className:`absolute rounded border-2 border-dashed border-primary bg-accent-wash transition-opacity`,style:{left:t.x,top:t.y,width:t.w,height:t.h,zIndex:30}})}function GA(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 KA=`ppm:tab-sort-mode`;function qA(){try{return localStorage.getItem(KA)===`recent`?`recent`:`default`}catch{return`default`}}function JA({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,Q.useState)(``),p=ju(e=>e.notifications),m=Yi(e=>e.sessions),h=$u(),[g,_]=(0,Q.useState)(qA),v=(0,Q.useCallback)(e=>{_(e);try{localStorage.setItem(KA,e)}catch{}},[]),{groups:y,total:b}=GA(r,i,a,d,{sortMode:g,recency:l}),x=(0,Q.useRef)(null),S=(0,Q.useCallback)(e=>{c&&(x.current=setTimeout(()=>c(e),400))},[c]),C=(0,Q.useCallback)(()=>{x.current&&=(clearTimeout(x.current),null)},[]);function w(e){q.getState().setActiveTab(e.id,i[e.id]);let n=$r(e);n&&ju.getState().clearForSession(n),t()}function T(e,t){t.stopPropagation(),ld([e.id],i[e.id])}function E(){t(),n()}return(0,$.jsxs)(Ma,{open:e,onClose:t,className:`max-h-[72vh] flex flex-col`,children:[(0,$.jsxs)(`div`,{className:`shrink-0 flex items-center gap-2 pl-4 pr-3 pt-1 pb-2.5`,children:[(0,$.jsx)(`span`,{className:`text-[13px] font-semibold text-text-primary`,children:`Open Tabs`}),(0,$.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,$.jsx)(`div`,{className:`flex-1`}),(0,$.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,$.jsx)(`button`,{onClick:()=>v(e),"aria-pressed":g===e,className:G(`h-7 px-2.5 rounded-md text-[11px] font-medium transition-colors select-none`,g===e?`bg-primary/10 text-primary`:`text-text-secondary active:bg-surface-elevated`),children:t},e))}),(0,$.jsx)(`button`,{onClick:E,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,$.jsx)(Ct,{className:`size-4`})})]}),(0,$.jsx)(`div`,{className:`shrink-0 px-3 pb-2`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 h-10 px-3 rounded-xl bg-background border border-border`,children:[(0,$.jsx)(Ln,{className:`size-4 text-text-subtle shrink-0`}),(0,$.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,$.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto overscroll-contain px-2 pb-2`,children:b===0?(0,$.jsx)(`p`,{className:`text-center text-[13px] text-text-subtle py-6`,children:`No tabs match`}):y.map(e=>(0,$.jsxs)(`div`,{className:`mb-1`,children:[e.label&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2 pt-2 pb-1`,children:[(0,$.jsx)(wt,{className:`size-3 text-text-subtle`}),(0,$.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.05em] text-text-subtle`,children:e.label}),(0,$.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle`,children:e.tabs.length})]}),e.tabs.map(e=>{let t=cp(e),n=e.id===o,r=$r(e),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,$.jsxs)(`button`,{onClick:()=>w(e),onTouchStart:()=>S(e.id),onTouchEnd:C,onTouchMove:C,onTouchCancel:C,onContextMenu:e=>e.preventDefault(),className:G(`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,$.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-[3px] rounded-r-sm`,style:{backgroundColor:f??`transparent`}}),(0,$.jsxs)(`span`,{className:G(`relative shrink-0`,d&&`text-warning`),children:[d?(0,$.jsx)(Xt,{className:`size-4`}):(0,$.jsx)(t,{className:G(`size-4`,n?`text-primary`:`text-text-secondary`)}),d?(0,$.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,$.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,$.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,$.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):c&&(!n||l)?(0,$.jsx)(`span`,{className:G(`absolute -top-1 -right-1 size-2 rounded-full`,Ou(c))}):null]}),(0,$.jsx)(`span`,{className:G(`flex-1 text-left text-sm font-medium truncate`,n?`text-primary`:`text-text-primary`),children:e.title}),(Wr(e.type,e.metadata)||nd(h,e.id)>0)&&(0,$.jsx)(`span`,{role:`img`,"aria-label":`Unsaved`,title:`Unsaved`,className:`size-[7px] shrink-0 rounded-full bg-text-2`}),n&&(0,$.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),e.closable&&(0,$.jsx)(`span`,{role:`button`,tabIndex:0,onClick:t=>T(e,t),className:`flex items-center justify-center size-8 rounded-lg text-text-subtle active:bg-surface-elevated shrink-0`,children:(0,$.jsx)($t,{className:`size-4`})})]},e.id)})]},e.panelId))})]})}function YA({onMenuPress:e,onProjectsPress:t}){let n=U(e=>e.minimalMode),r=q(e=>e.focusedPanelId),i=q(e=>e.panels),a=q(e=>e.grid),o=q(e=>e.dock),s=q(e=>e.dockExpanded),c=Na(!0)?.keyboardOpen??!1,l=Pi(),u=q(e=>e.currentProject),{tabs:d,tabPanelMap:f}=(0,Q.useMemo)(()=>{let e=a.flat(),t=[],r={};for(let a of e){let e=i[a];if(e)for(let i of e.tabs)i.projectId&&u&&i.projectId!==u||n&&!I(i.type)||(t.push(i),r[i.id]=a)}return{tabs:t,tabPanelMap:r}},[i,a,u,n]),p=(0,Q.useMemo)(()=>{let e=e=>typeof e.metadata?.lastActiveAt==`number`?e.metadata.lastActiveAt:-1,t=new Map;return[...d].filter(t=>e(t)>=0).sort((t,n)=>e(n)-e(t)).forEach((e,n)=>t.set(e.id,n)),t},[d]),m=a.flat(),h=m.includes(r)?r:m[0],g=(h?i[h]?.activeTabId:null)??null,_=ju(e=>e.notifications),v=md(e=>e.selection),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)(!1),[C,w]=(0,Q.useState)(null),[T,E]=(0,Q.useState)(``),D=d.find(e=>e.id===g)??null,O=i[Er],k=TD(O,u),A=y?d.find(e=>e.id===y):null,j=(i[y?f[y]??r:r]?.tabs??[]).filter(e=>!n||I(e.type)),M=y?j.findIndex(e=>e.id===y):-1,N=$r(A),P=N?(_.get(N)?.count??0)>0:!1,ee=A?.metadata?.filePath,F=A?.metadata?.projectName,te=v!=null&&!!F&&v.projectName===F&&v.filePath!==ee;function ne(e){b(null),w(e.id),E(e.title)}async function re(){let e=d.find(e=>e.id===C),t=e?.metadata?.sessionId,n=T.trim();if(!e||!t||!n||!u){w(null);return}try{await H.patch(`${V(u)}/chat/sessions/${t}`,{title:n}),q.getState().updateTab(e.id,{title:n})}catch{}w(null)}function R(e){let t=f[e]??r;ld((q.getState().panels[t]?.tabs??[]).filter(t=>t.id!==e&&t.closable&&(!n||I(t.type))).map(e=>e.id),t),b(null)}function ie(e){let t=f[e]??r,i=q.getState().panels[t]?.tabs??[],a=i.findIndex(t=>t.id===e);ld(i.slice(a+1).filter(e=>e.closable&&(!n||I(e.type))).map(e=>e.id),t),b(null)}function ae(e){let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return;let r=e.metadata?.unsavedContent;md.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:fr(t)}),b(null)}async function se(e){let t=e.metadata?.filePath,n=e.metadata?.projectName,r=md.getState().selection;if(!r||!t||!n)return;let i=e.metadata?.unsavedContent;try{await gd({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),md.getState().clearSelection()}catch(e){B.error(e instanceof Error?e.message:`Compare failed`)}b(null)}function ce(e){let t=e.metadata?.sessionId,n=e.metadata?.projectName;t&&n&&ju.getState().markUnread(t,n,e.title),b(null)}let[le,ue]=(0,Q.useState)(null);function de(e,t){let n=e.metadata?.filePath,r=e.metadata?.projectName;switch(t){case`copy-path`:n&&ca(n);break;case`copy-full-path`:if(n){let e=r?J.getState().projects.find(e=>e.name===r):null;ca(e?`${e.path}/${n}`:n)}break;case`download`:n&&r&&Qf(r,n);break;case`rename`:case`delete`:n&&ue({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}b(null)}let{activeProject:fe}=J.getState(),{activeProject:pe,projects:me,customOrder:he}=J(sm(e=>({activeProject:e.activeProject,projects:e.projects,customOrder:e.customOrder}))),{projectTags:ge,loadTags:_e}=wu(pe?.name),ve=(0,Q.useCallback)(async(e,t)=>{if(!pe?.name)return;let n={name:pe.name,path:pe.path},r=t===null?void 0:ge.find(e=>e.id===t);if(t!==null&&!r){b(null);return}li.getState().setSessionTag(n,e,r?{id:r.id,name:r.name,color:r.color}:null),b(null);let i=`${V(pe.name)}/chat/sessions/${e}/tag`;await ri(n,()=>t===null?H.del(i):H.patch(i,{tagId:t})),_e()},[pe,ge,_e]),ye=pe?ar(pe):null,be=li(e=>(ye?e.byProject[ye]?.sessions:void 0)??oi),xe={};for(let e of be)e.tag&&(xe[e.id]=e.tag);let Ce=ei(me,he??null),we=Ce.map(e=>e.name),Te=Ce.findIndex(e=>e.name===pe?.name),Ee=pe?zC(pe.color,Te>=0?Te:0):`#4f86c6`,De=()=>{if(!n){of();return}q.getState().openTab({type:`chat`,title:`AI Chat`,projectId:pe?.name??null,metadata:pe?{projectName:pe.name}:void 0,closable:!0})},Oe=D?cp(D):null;return(0,$.jsxs)(`nav`,{className:`fixed bottom-0 left-0 right-0 md:hidden bg-background border-t border-border z-40 select-none`,children:[(0,$.jsxs)(`div`,{className:`flex items-center h-12`,children:[(0,$.jsxs)(`div`,{className:`flex items-center shrink-0 border-r border-border`,children:[(0,$.jsx)(`button`,{onClick:e,"aria-label":`Open menu`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,$.jsx)(Ue,{className:`size-5`})}),(0,$.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,$.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,title:`Switch project`,children:pe?(0,$.jsx)(VC,{name:pe.name,color:Ee,image:pe.image,size:28,allNames:we}):(0,$.jsx)(Et,{className:`size-5`})}),(0,$.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),!n&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{onClick:()=>q.getState().toggleDock(),title:o.visible?`Hide panel`:`Show panel`,"aria-label":o.visible?`Hide panel`:`Show panel`,className:G(`relative flex items-center justify-center size-12 shrink-0 transition-colors`,o.visible?`text-primary bg-primary/10`:`text-text-secondary`),children:[(0,$.jsx)(Se,{className:`size-5`}),k>0&&(0,$.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,$.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`})]}),(0,$.jsx)(`button`,{onClick:De,title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,$.jsx)(Ct,{className:`size-5`})})]}),D&&Oe?(0,$.jsxs)(`button`,{onClick:()=>S(!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,$.jsx)(Oe,{className:`size-4 text-primary shrink-0`}),(0,$.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-left text-xs font-medium text-primary`,children:D.title}),(0,$.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:d.length}),(0,$.jsx)(Hn,{className:`size-3.5 text-text-subtle shrink-0`})]}):(0,$.jsxs)(`button`,{onClick:De,className:`flex-1 flex items-center gap-1.5 h-12 px-3 text-text-secondary text-xs`,children:[(0,$.jsx)(Ct,{className:`size-4`}),` New Tab`]})]}),(0,$.jsx)(JA,{open:x,onClose:()=>S(!1),onOpenPalette:De,tabs:d,tabPanelMap:f,panelOrder:a.flat(),activeTabId:g,projectColor:pe?Ee:null,onTabLongPress:e=>b(e),recency:p,sessionTagMap:xe}),(0,$.jsxs)(Ma,{open:!!A,onClose:()=>b(null),className:`select-none`,children:[(0,$.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-secondary border-b border-border truncate`,children:A?.title}),N&&(0,$.jsxs)(`button`,{onClick:()=>ne(A),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(On,{className:`size-4`}),` Rename`]}),A?.type===`editor`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`button`,{onClick:()=>de(A,`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,$.jsx)(jn,{className:`size-4`}),` Copy Path`]}),(0,$.jsxs)(`button`,{onClick:()=>de(A,`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,$.jsx)(jn,{className:`size-4`}),` Copy Full Path`]}),(0,$.jsxs)(`button`,{onClick:()=>de(A,`download`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(Ht,{className:`size-4`}),` Download`]}),(0,$.jsxs)(`button`,{onClick:()=>de(A,`rename`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(On,{className:`size-4`}),` Rename`]}),(0,$.jsxs)(`button`,{onClick:()=>de(A,`delete`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-error active:bg-surface-elevated`,children:[(0,$.jsx)(je,{className:`size-4`}),` Delete`]}),(0,$.jsx)(`div`,{className:`h-px bg-border mx-2`}),(0,$.jsxs)(`button`,{onClick:()=>ae(A),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(wt,{className:`size-4`}),` Select for Compare`]}),te&&(0,$.jsxs)(`button`,{onClick:()=>se(A),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(wt,{className:`size-4`}),` Compare with Selected (`,v.label,`)`]}),(0,$.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),N&&!P&&(0,$.jsxs)(`button`,{onClick:()=>ce(A),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(Ae,{className:`size-4 fill-primary text-primary`}),` Mark as unread`]}),N&&ge.length>0&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`px-3 pt-2 pb-1 text-xs text-text-secondary flex items-center gap-2`,children:[(0,$.jsx)(oe,{className:`size-3.5`}),` Set Tag`]}),ge.map(e=>(0,$.jsxs)(`button`,{onClick:()=>ve(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,$.jsx)(`span`,{className:`size-2.5 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,xe[N]?.id===e.id&&(0,$.jsx)(L,{className:`size-3.5 ml-auto`})]},e.id)),xe[N]&&(0,$.jsx)(`button`,{onClick:()=>ve(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,$.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),A?.closable&&(0,$.jsxs)(`button`,{onClick:()=>{ld([y]),b(null)},className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)($t,{className:`size-4`}),` Close`]}),j.some(e=>e.id!==y&&e.closable)&&(0,$.jsxs)(`button`,{onClick:()=>R(y),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(At,{className:`size-4`}),` Close Others`]}),M>=0&&M<j.length-1&&(0,$.jsxs)(`button`,{onClick:()=>ie(y),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,$.jsx)(it,{className:`size-4`}),` Close to the Right`]})]}),(0,$.jsx)(Ma,{open:!!C,onClose:()=>w(null),children:(0,$.jsxs)(`div`,{className:`px-4 pt-1 pb-3`,children:[(0,$.jsx)(`div`,{className:`text-[13px] font-semibold text-text-primary mb-2`,children:`Rename chat`}),(0,$.jsx)(`input`,{autoFocus:!0,value:T,onChange:e=>E(e.target.value),onKeyDown:e=>{e.key===`Enter`&&re()},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,$.jsxs)(`div`,{className:`flex gap-2 mt-3`,children:[(0,$.jsx)(`button`,{onClick:()=>w(null),className:`flex-1 h-11 rounded-xl border border-border text-sm text-text-secondary active:bg-surface-elevated`,children:`Cancel`}),(0,$.jsx)(`button`,{onClick:re,className:`flex-1 h-11 rounded-xl bg-primary text-primary-foreground text-sm font-medium active:opacity-90`,children:`Save`})]})]})}),le&&(0,$.jsx)(tp,{node:le.node,projectName:fe?.name??``,onClose:()=>ue(null),onRefresh:()=>{fe&&Ai.getState().fetchTree(fe.name),le.action===`delete`&&q.getState().closeTab(le.tabId)}}),!n&&l&&(0,$.jsx)(Ma,{open:o.visible,onClose:()=>q.getState().setDockVisible(!1),zIndex:60,className:G(`flex flex-col`,c?`h-[calc(var(--sheet-vh,100dvh)+var(--sheet-kb,0px))]`:s?`h-[calc(var(--sheet-vh,100dvh)*0.92)]`:`h-[calc(var(--sheet-vh,100dvh)*0.6)]`),children:(0,$.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 overflow-hidden`,children:(0,$.jsx)(qp,{variant:`mobile`})})})]})}var XA=64,ZA=350,QA=10;function $A(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 ej({tabs:e,activeId:t,onSelect:n,onReorder:r}){let i=(0,Q.useRef)(null),[a,o]=(0,Q.useState)(0),[s,c]=(0,Q.useState)(null),[l,u]=(0,Q.useState)(null),d=(0,Q.useRef)(null),f=(0,Q.useRef)(null),[p,m]=(0,Q.useState)(!1),h=(0,Q.useRef)(null),g=(0,Q.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,Q.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,Q.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/XA)):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($A(e.map(e=>e.id),d.current,t)),y()},k=(e,t)=>G(`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,$.jsxs)(`div`,{ref:i,className:`flex items-center overflow-hidden`,children:[w.map(e=>{let r=e.icon;return(0,$.jsxs)(`button`,{"data-tabid":e.id,style:{width:XA},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),ZA)},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>QA||n>QA)&&b()}},onTouchEnd:()=>{b(),d.current&&f.current?O(f.current):y(),g.current=null},onTouchCancel:()=>{b(),y(),g.current=null},children:[(0,$.jsx)(r,{className:`size-4`}),(0,$.jsx)(`span`,{children:e.shortLabel??e.label}),(0,$.jsx)(nC,{id:e.badge,variant:`corner`,className:`top-1 right-2 shadow-none`})]},e.id)}),S&&(0,$.jsxs)(`button`,{style:{width:XA},onClick:()=>m(!0),className:G(`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,$.jsx)(nt,{className:`size-4`}),(0,$.jsx)(`span`,{children:`More`})]}),(0,$.jsx)(Ma,{open:p,onClose:()=>m(!1),children:(0,$.jsxs)(`div`,{className:`px-2 pb-3 pt-1`,children:[(0,$.jsx)(`div`,{className:`px-2 py-1 text-xs text-text-secondary`,children:`More tabs`}),D.map(e=>{let r=e.icon;return(0,$.jsxs)(`button`,{onClick:()=>{n(e.id),m(!1)},className:G(`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,$.jsx)(r,{className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{children:e.label}),(0,$.jsx)(nC,{id:e.badge})]},e.id)})]})})]})}var tj=(0,Q.lazy)(()=>W(()=>import(`./designs-sidebar-panel-BVTqPPzG.js`).then(e=>({default:e.DesignsSidebarPanel})),__vite__mapDeps([138,1,2,3,31,6,7,8,9,10,11,12,13,14,15,16,131,50,18,23,17,19,44,56,57,27,85,69,139,67,62]))),nj=new Set([`history`,`teams`,`designs`,`explorer`,`search`,`git`,`database`,`tunnels`,`ai-resources`,`jira`]),rj=e=>nj.has(e)||e.startsWith(`ext:`);function ij({icon:e,label:t,badge:n,alert:r,alertLabel:i,onClick:a}){return(0,$.jsxs)(`button`,{onClick:a,"aria-label":r?`${t} · ${r} ${i??``}`.trimEnd():void 0,className:`group 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,$.jsxs)(`span`,{className:`relative flex items-center justify-center`,children:[(0,$.jsx)(e,{className:`size-4`}),(0,$.jsx)(nC,{id:n,variant:`corner`,className:`-top-2 -right-3`}),!!r&&(0,$.jsx)(`span`,{"aria-hidden":!0,className:`absolute -right-2.5 -top-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-error px-[3px] text-[9px] font-semibold leading-none text-white`,children:r>9?`9+`:r})]}),(0,$.jsx)(`span`,{className:`text-[10px] leading-none`,children:t})]})}function aj({isOpen:e,onClose:t,initialTab:n}){let{activeProject:r}=J(sm(e=>({activeProject:e.activeProject}))),i=U(e=>e.minimalMode),a=U(e=>e.jiraEnabled),o=U(e=>e.sidebarTabOrder),s=U(e=>e.setSidebarTabOrder),c=rf(e=>e.contributions),{available:l}=ow(),u=nw(),d=sw(),{available:f}=cw(),[p,m]=(0,Q.useState)(n??`explorer`),h=i&&!Zi(p)?`history`:p,[g,_]=(0,Q.useState)(!1),v=(0,Q.useMemo)(()=>lw(Ji({jiraEnabled:a,contributions:c}),o).filter(e=>rj(e.id)&&(!i||Zi(e.id))),[a,c,o,i]);(0,Q.useEffect)(()=>{n&&m(n)},[n]),(0,Q.useEffect)(()=>{v.length>0&&!v.some(e=>e.id===h)&&m(v[0].id)},[v,h]),(0,Q.useEffect)(()=>{let e=()=>{!i&&Fi()&&_(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[i]);let y=iE(),b=[{icon:se,label:`Files`,badge:`os-explorer`,onClick:()=>{t(),ng()}},...l?[{icon:Je,label:`Remote`,badge:`remote-desktop`,onClick:()=>{t(),u()}}]:[],...f?[{icon:R,label:`Android`,badge:`android`,onClick:()=>{t(),d()}}]:[],{icon:on,label:`Cloud`,onClick:()=>_(!0)},{icon:le,label:`Settings`,onClick:()=>{t(),Ii()}},{icon:bt,label:`Logs`,alert:y,alertLabel:y===1?`likely bug`:`likely bugs`,onClick:()=>{t(),tT()}}],x=(0,$.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,$.jsxs)(`div`,{className:G(`fixed inset-0 z-50 md:hidden transition-opacity duration-200`,e?`opacity-100`:`opacity-0 pointer-events-none`),children:[(0,$.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t,"aria-label":`Close drawer`}),(0,$.jsxs)(`div`,{className:G(`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,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-1.5 border-b border-border shrink-0`,children:[(0,$.jsx)(`span`,{className:`text-sm font-bold text-primary tracking-tight`,children:r?.name??`PPM`}),(0,$.jsx)(`button`,{onClick:t,"aria-label":`Close drawer`,className:`-mr-1.5 flex items-center justify-center size-11 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,$.jsx)($t,{className:`size-4`})})]}),(0,$.jsxs)(`div`,{"data-onboarding":e?h:void 0,className:`flex-1 overflow-y-auto min-h-0`,children:[h===`history`&&(r?(0,$.jsx)($S,{variant:`sidebar`,projectName:r.name,onNavigate:t}):x),h===`teams`&&(r?(0,$.jsx)(SC,{}):x),h===`designs`&&(r?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(tj,{onNavigate:t})}):x),e&&h===`explorer`&&(r?(0,$.jsx)(Bg,{onFileOpen:t}):x),e&&h===`search`&&(0,$.jsx)(qb,{onNavigate:t}),e&&h===`git`&&(0,$.jsx)(Zv,{metadata:{projectName:r?.name},onNavigate:t}),h===`database`&&(0,$.jsx)(Ub,{onNavigate:t}),h===`tunnels`&&(0,$.jsx)(VS,{onNavigate:t}),h===`jira`&&(0,$.jsx)(Sx,{}),h===`ai-resources`&&(0,$.jsx)(xS,{}),h.startsWith(`ext:`)&&(0,$.jsx)(Xb,{viewId:h.slice(4),className:`h-full`})]}),(0,$.jsxs)(`div`,{className:`shrink-0 border-t border-border`,children:[(0,$.jsx)(ej,{tabs:v,activeId:h,onSelect:m,onReorder:s}),(0,$.jsxs)(`div`,{className:`border-t border-border px-3 py-2`,children:[(0,$.jsx)(`div`,{className:`grid gap-1`,style:{gridTemplateColumns:`repeat(${i?1:b.length}, minmax(0, 1fr))`},children:b.filter(e=>!i||e.label===`Settings`).map(e=>(0,$.jsx)(ij,{...e},e.label))}),(0,$.jsx)(`div`,{className:`mt-2 border-t border-border px-1 text-[11px]`,children:!i&&(0,$.jsx)(yD,{align:`left`})})]})]})]}),(0,$.jsx)(Ma,{open:!i&&g,onClose:()=>_(!1),zIndex:60,children:(0,$.jsx)(qw,{variant:`sheet`,onClose:()=>_(!1)})})]})}function oj({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}=J(sm(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=U(e=>e.version),h=ei(n,d),g=h.map(e=>e.name),[_,v]=(0,Q.useState)(`list`),[y,b]=(0,Q.useState)(``),x=(0,Q.useMemo)(()=>ni(),[e]),S=(0,Q.useMemo)(()=>wC(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,Q.useCallback)(e=>{window.open(jC(e,null),`_blank`,`noopener`)},[]),[D,O]=(0,Q.useState)(null),[k,A]=(0,Q.useState)(``),[j,M]=(0,Q.useState)(!1),N=(0,Q.useRef)(null),[P,ee]=(0,Q.useState)(null),[F,te]=(0,Q.useState)(``),ne=(0,Q.useRef)(null),[I,re]=(0,Q.useState)(null);async function R(e){let t=e.target.files?.[0];if(e.target.value=``,!(!t||!I)){O(null);try{await o(I,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}}}let ie=(0,Q.useCallback)(e=>{N.current=setTimeout(()=>O(e),400)},[]),ae=(0,Q.useCallback)(()=>{N.current&&=(clearTimeout(N.current),null)},[]);function oe(){v(`list`),t()}function se(e){let t=n.find(t=>t.name===e);t&&(i(t),oe())}function ce(){v(`add`)}function ue(){oe(),Ii()}async function de(){if(!P||!F.trim()||F===P){ee(null);return}try{await l(P,F.trim())}catch{}ee(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 me=D?h.find(e=>e.name===D):null,he=D?h.findIndex(e=>e.name===D):-1,ge=D?[{label:`Open in New Tab`,icon:Lt,onClick:()=>{E(D),O(null)}},{label:`Rename`,icon:On,onClick:()=>{te(D),ee(D),O(null)}},{label:`Change Color`,icon:De,onClick:()=>{let e=h.findIndex(e=>e.name===D),t=h[e];A(zC(t?.color,e)),M(!0)}},{label:`Change Image`,icon:an,onClick:()=>{re(D),ne.current?.click()}},...me?.image?[{label:`Remove Image`,icon:je,onClick:()=>{s(D).catch(()=>{}),O(null)}}]:[],{label:`Copy Path`,icon:jn,onClick:()=>{me&&ca(me.path),O(null)}},...T&&he>0?[{label:`Move Up`,icon:Hn,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(he,1);e.splice(he-1,0,t),c(e),O(null)}}]:[],...T&&he<h.length-1?[{label:`Move Down`,icon:We,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(he,1);e.splice(he+1,0,t),c(e),O(null)}}]:[],{label:`Delete`,icon:je,destructive:!0,onClick:()=>fe(D)}]:[];return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`input`,{ref:ne,type:`file`,accept:`image/*`,className:`hidden`,onChange:R}),(0,$.jsxs)(Ma,{open:e,onClose:oe,className:`bg-background`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_===`add`&&(0,$.jsx)(`button`,{onClick:()=>v(`list`),className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,$.jsx)(An,{className:`size-4`})}),(0,$.jsx)(`span`,{className:`text-sm font-semibold`,children:_===`add`?`Add Project`:`Projects`})]}),(0,$.jsx)(`button`,{onClick:oe,className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,$.jsx)($t,{className:`size-4`})})]}),_===`add`&&(0,$.jsx)(`div`,{className:`px-4 py-4`,children:(0,$.jsx)(ZC,{onSuccess:()=>{v(`list`),t()},onCancel:()=>v(`list`),footerClassName:`pt-2`})}),_!==`add`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 border-b border-border`,children:[(0,$.jsx)(Ln,{className:`size-4 text-text-subtle shrink-0`}),(0,$.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,$.jsx)(`div`,{className:`flex items-center gap-1 px-2 py-2 border-b border-border`,children:CC.map(({mode:e,label:t,Icon:n})=>(0,$.jsxs)(`button`,{onClick:()=>p(e),className:G(`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,$.jsx)(n,{className:`size-3.5`}),` `,t]},e))})]}),(0,$.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=zC(e.color,t),i=r?.name===e.name,a=P===e.name,o=x[e.name];return(0,$.jsxs)(`div`,{className:G(`flex items-center gap-3 px-4 py-3 transition-colors active:bg-surface-elevated`,i&&`bg-accent/10`),onClick:()=>!a&&se(e.name),onTouchStart:()=>ie(e.name),onTouchEnd:ae,onTouchMove:ae,onTouchCancel:ae,children:[(0,$.jsx)(VC,{name:e.name,color:n,image:e.image,size:40,allNames:g}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[a?(0,$.jsx)(`input`,{type:`text`,value:F,onChange:e=>te(e.target.value),onKeyDown:e=>{e.key===`Enter`&&de(),e.key===`Escape`&&ee(null)},onBlur:de,onClick:e=>e.stopPropagation(),className:`w-full bg-transparent border-b border-primary text-sm outline-none`,autoFocus:!0}):(0,$.jsx)(`p`,{className:`text-sm font-medium truncate`,children:e.name}),(0,$.jsx)(`p`,{className:`text-xs text-text-subtle truncate`,children:e.path})]}),o&&!i&&(0,$.jsx)(`span`,{className:`shrink-0 text-[10px] text-text-subtle whitespace-nowrap`,children:mi(new Date(o).toISOString())}),i&&(0,$.jsx)(L,{className:`size-4 text-primary shrink-0`})]},e.name)}),w.length===0&&(0,$.jsx)(`div`,{className:`px-4 py-6 text-center text-sm text-text-subtle`,children:`No projects found`})]}),(0,$.jsx)(`div`,{className:`border-t border-border`,children:(0,$.jsxs)(`button`,{onClick:ce,className:`w-full flex items-center gap-3 px-4 py-3 text-text-secondary hover:bg-surface-elevated transition-colors`,children:[(0,$.jsx)(Ct,{className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`text-sm`,children:`Add Project`})]})}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-t border-border`,children:[(0,$.jsxs)(`button`,{onClick:ue,className:`flex items-center gap-2 text-text-secondary hover:text-foreground transition-colors`,children:[(0,$.jsx)(le,{className:`size-4`}),(0,$.jsx)(`span`,{className:`text-sm`,children:`Settings`})]}),m&&(0,$.jsxs)(`span`,{className:`text-xs text-text-subtle`,children:[`v`,m]})]})]}),(0,$.jsxs)(Ma,{open:!!D&&!j,onClose:()=>O(null),zIndex:60,children:[(0,$.jsx)(`div`,{className:`px-4 py-2 border-b border-border`,children:(0,$.jsx)(`p`,{className:`text-xs font-medium text-text-secondary`,children:D})}),ge.map(e=>{let t=e.icon;return(0,$.jsxs)(`button`,{onClick:e.onClick,className:G(`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,$.jsx)(t,{className:`size-4 shrink-0`}),e.label]},e.label)})]}),(0,$.jsxs)(Ma,{open:j&&!!D,onClose:()=>{M(!1),O(null)},zIndex:60,className:`p-4 space-y-4`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium`,children:`Change Color`}),(0,$.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:RC.map(e=>(0,$.jsx)(`button`,{type:`button`,onClick:()=>A(e),className:G(`size-9 rounded-full border-2 transition-all`,k===e?`border-primary scale-110`:`border-transparent`),style:{background:e}},e))}),(0,$.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,$.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,$.jsx)(`button`,{onClick:()=>pe(D,k),className:`flex-1 py-2 text-sm bg-primary text-white rounded-md`,children:`Save`})]})]})]})}var sj=`https://wise.com/pay/me/lehongh`,cj=`/donate-qr.png`,lj=`LE HONG HIEN`,uj=`Techcombank`;function dj({children:e}){return(0,$.jsx)(`span`,{className:`font-mono text-[11px] font-medium uppercase tracking-wide text-text-subtle`,children:e})}function fj(){let[e,t]=(0,Q.useState)(!1);return(0,$.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,$.jsx)(`div`,{className:`flex size-11 items-center justify-center rounded-xl bg-surface-elevated`,children:(0,$.jsx)(qe,{className:`size-5 text-primary`})}),(0,$.jsx)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Support PPM`}),(0,$.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Thanks for keeping this project alive.`})]}),(0,$.jsxs)(`div`,{className:`grid gap-5 md:grid-cols-2 md:gap-6`,children:[(0,$.jsxs)(`section`,{className:`flex flex-col items-center gap-3`,children:[(0,$.jsx)(dj,{children:`Vietnam`}),e?(0,$.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,$.jsx)(pn,{className:`size-8`}),(0,$.jsx)(`span`,{className:`text-xs`,children:`QR code coming soon`})]}):(0,$.jsx)(`img`,{src:cj,alt:`Bank transfer QR code`,onError:()=>t(!0),className:`size-40 rounded-xl border border-border bg-white object-contain p-2`}),(0,$.jsxs)(`div`,{className:`text-center`,children:[(0,$.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:lj}),(0,$.jsx)(`p`,{className:`text-xs text-text-subtle`,children:uj})]}),(0,$.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,$.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,$.jsx)(dj,{children:`International`}),(0,$.jsx)(`p`,{className:`text-center text-sm text-text-secondary`,children:`Send an international transfer via Wise — multi-currency, low fees.`}),(0,$.jsx)(X,{asChild:!0,className:`w-full`,children:(0,$.jsxs)(`a`,{href:sj,target:`_blank`,rel:`noopener noreferrer`,children:[(0,$.jsx)(ye,{className:`size-4`}),`Support via Wise`]})})]})]})]})}function pj({open:e,onOpenChange:t}){return Pi()?(0,$.jsx)(Ma,{open:e,onClose:()=>t(!1),className:`popover-solid`,children:(0,$.jsx)(`div`,{className:`px-4 pb-4 pt-1`,children:(0,$.jsx)(fj,{})})}):(0,$.jsx)(_a,{open:e,onOpenChange:t,children:(0,$.jsxs)(pa,{className:`sm:max-w-xl`,children:[(0,$.jsx)(ma,{className:`sr-only`,children:`Support PPM`}),(0,$.jsx)(fj,{})]})})}var mj=[{value:`light`,label:`Light`,icon:Te},{value:`dark`,label:`Dark`,icon:ae},{value:`system`,label:`System`,icon:Pe}],hj=(0,Q.memo)(function({className:e}){let t=U(e=>e.themeMode),n=U(e=>e.setThemeMode),r=mj.find(e=>e.value===t)??mj[2],i=r.icon;return(0,$.jsxs)(ja,{children:[(0,$.jsx)(Da,{asChild:!0,children:(0,$.jsx)(`button`,{type:`button`,title:`Appearance: ${r.label}`,"aria-label":`Appearance: ${r.label}`,className:G(`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,$.jsx)(i,{className:`size-[18px]`})})}),(0,$.jsxs)(ka,{align:`end`,className:`w-44`,children:[(0,$.jsx)(Ca,{children:`Appearance`}),mj.map(e=>{let r=e.icon;return(0,$.jsxs)(Ta,{onClick:()=>n(e.value),className:`gap-2`,children:[(0,$.jsx)(r,{className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),(0,$.jsx)(L,{className:G(`size-4 shrink-0`,t===e.value?`opacity-100`:`opacity-0`)})]},e.value)})]})]})}),gj=[[/\bEdg(?:e|A|iOS)?\/(\d+)/,`Edge`],[/\bOPR\/(\d+)/,`Opera`],[/\bSamsungBrowser\/(\d+)/,`Samsung Internet`],[/\b(?:Firefox|FxiOS)\/(\d+)/,`Firefox`],[/\bCriOS\/(\d+)/,`Chrome`],[/\bChrome\/(\d+)/,`Chrome`],[/\bVersion\/(\d+)(?:\.\d+)*.*\bSafari\//,`Safari`]],_j=[[/\b(?:iPhone|iPad|iPod)\b/,`iOS`],[/\bAndroid\b/,`Android`],[/\bCrOS\b/,`ChromeOS`],[/\b(?:Macintosh|Mac OS X)\b/,`macOS`],[/\bWindows\b/,`Windows`],[/\bLinux\b/,`Linux`]];function vj(e){let t=e??``,n=`Browser`,r=null;for(let[e,i]of gj){let a=e.exec(t);if(a){n=i,r=a[1]??null;break}}let i=_j.find(([e])=>e.test(t))?.[1]??`Unknown OS`;return{browser:n,version:r,os:i}}function yj(e){let{browser:t,version:n,os:r}=vj(e);return`${t}${n?` ${n}`:``} on ${r}`}var bj=`https://github.com/hienlh/ppm`;function xj(e){let t=[`### What happened`,``,``,`### Steps to reproduce`,`1. `,``,`### Environment`,`- PPM: v${e??`unknown`}`,`- Browser: ${yj(navigator.userAgent)}`].join(`
|
|
30
|
+
`);return`${bj}/issues/new?title=bug%3A%20&body=${encodeURIComponent(t)}`}var Sj={background:`radial-gradient(80% 60% at 50% -10%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 60%)`},Cj={backgroundImage:`radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--text) 5%, transparent) 1px, transparent 0)`,backgroundSize:`26px 26px`};function wj({onSuccess:e}){let[t,n]=(0,Q.useState)(``),[r,i]=(0,Q.useState)(!1),a=U(e=>e.deviceName),o=U(e=>e.version),s=U(e=>e.tunnelActive),[c,l]=(0,Q.useState)(null),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(!1),m=Pi(),h=U(e=>e.themeMode),g=U(e=>e.syncThemeToServer),_=h!==(0,Q.useRef)(h).current;async function v(n){if(n.preventDefault(),!t.trim()){l(`Enter your password to continue`);return}d(!0),l(null);try{rr(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`),er()}finally{d(!1)}}return(0,$.jsxs)(`div`,{className:`app-backdrop relative min-h-dvh overflow-hidden flex items-center justify-center p-6`,children:[(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:Sj}),(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:Cj}),(0,$.jsx)(hj,{className:`absolute right-[max(1rem,env(safe-area-inset-right))] top-[max(1rem,env(safe-area-inset-top))]`}),(0,$.jsxs)(`div`,{className:`relative flex w-full max-w-[392px] flex-col items-center gap-[22px] text-center`,children:[(0,$.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,$.jsx)(`div`,{className:`flex size-16 items-center justify-center rounded-2xl border border-border bg-background shadow-float`,children:(0,$.jsx)(`div`,{className:`flex size-[52px] items-center justify-center rounded-xl bg-surface-elevated`,children:(0,$.jsx)(`span`,{className:`text-[15px] font-bold tracking-wide text-primary`,children:`PPM`})})}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h1`,{className:`mb-1.5 text-2xl font-semibold tracking-tight text-foreground`,children:`Unlock your workspace`}),(0,$.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Enter your access password to unlock`})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:[a&&(0,$.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,$.jsx)(m?R:Pe,{className:`size-3 text-text-subtle`}),a]}),m?(s||o)&&(0,$.jsxs)(`span`,{className:G(`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,$.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),s?`tunnel · `:``,o?`v${o}`:``]}):(0,$.jsxs)($.Fragment,{children:[o&&(0,$.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,$.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,$.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),`tunnel active`]})]})]})]}),(0,$.jsxs)(`form`,{onSubmit:v,className:`flex w-full flex-col gap-3`,children:[(0,$.jsxs)(`div`,{className:`relative w-full`,children:[(0,$.jsx)(Ja,{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,$.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,$.jsx)(Nn,{className:`size-[18px]`}):(0,$.jsx)(gt,{className:`size-[18px]`})})]}),c&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-error`,children:[(0,$.jsx)(rn,{className:`size-[15px] shrink-0`}),(0,$.jsx)(`span`,{children:c})]}),(0,$.jsx)(X,{type:`submit`,disabled:u,className:`h-[50px] w-full text-[15px]`,children:u?`Checking…`:`Unlock`})]}),(0,$.jsx)(`div`,{className:`hidden h-px w-full bg-border md:block`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-center gap-5`,children:[(0,$.jsxs)(`a`,{href:xj(o),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,$.jsx)(de,{className:`size-[18px] md:size-3.5`}),(0,$.jsx)(`span`,{className:`max-md:sr-only`,children:`Report Bug`})]}),(0,$.jsxs)(`a`,{href:bj,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,$.jsx)(hc,{className:`size-[18px] md:size-3.5`}),(0,$.jsx)(`span`,{className:`max-md:sr-only`,children:`Repo`})]}),(0,$.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,$.jsx)(dn,{className:`size-[18px] md:size-3.5`}),(0,$.jsx)(`span`,{className:`max-md:sr-only`,children:`Buy me a coffee`})]})]})]}),(0,$.jsx)(pj,{open:f,onOpenChange:p})]})}function Tj(){let e=U(e=>e.themeStyle),t=U(e=>e.themeMode),n=U(e=>e.customThemeId),r=U(e=>e.customThemes),[i,a]=(0,Q.useState)(0),o=(0,Q.useMemo)(()=>Ds(e,t,r,n),[e,t,r,n,i]);return(0,Q.useEffect)(()=>{ia(o)},[o,i]),(0,Q.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 Ej=Object.defineProperty,Dj=Object.getOwnPropertyDescriptor,Oj=Object.getOwnPropertyNames,kj=Object.prototype.hasOwnProperty,Aj=(e,t)=>{let n={};for(var r in e)Ej(n,r,{get:e[r],enumerable:!0});return t||Ej(n,Symbol.toStringTag,{value:`Module`}),n},jj=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=Oj(t),a=0,o=i.length,s;a<o;a++)s=i[a],!kj.call(e,s)&&s!==n&&Ej(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=Dj(t,s))||r.enumerable});return e},Mj=(e,t,n)=>(jj(e,t,`default`),n&&jj(n,t,`default`)),Nj=[{id:`abap`,name:`ABAP`,import:(()=>W(()=>import(`./abap-DZPWWIX6.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>W(()=>import(`./actionscript-3-sEUdR7fc.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>W(()=>import(`./ada-1HF4YAkt.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>W(()=>import(`./angular-html-B2YCOAuK.js`).then(e=>e.n),__vite__mapDeps([152,1,153,154,155])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>W(()=>import(`./angular-ts-BPAji1W5.js`),__vite__mapDeps([156,152,1,153,154,155,157])))},{id:`apache`,name:`Apache Conf`,import:(()=>W(()=>import(`./apache-DEXdJvoh.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>W(()=>import(`./apex-BoTj5JWo.js`),[]))},{id:`apl`,name:`APL`,import:(()=>W(()=>import(`./apl-BEqVKm8S.js`),__vite__mapDeps([158,154,1,153,155,159,160,161])))},{id:`applescript`,name:`AppleScript`,import:(()=>W(()=>import(`./applescript-B--vsbbp.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>W(()=>import(`./ara-DCJp5nJd.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>W(()=>import(`./asciidoc-B8CGJ-2E.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>W(()=>import(`./asm-DP7eXm7k.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>W(()=>import(`./astro-BSfK6BlD.js`),__vite__mapDeps([162,154,1,155,159,163,164,165])))},{id:`awk`,name:`AWK`,import:(()=>W(()=>import(`./awk-Bhf7EXwU.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>W(()=>import(`./ballerina-C_ccAf7C.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>W(()=>import(`./bat-L1IIZ9W5.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>W(()=>import(`./beancount-DvXvE1x-.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>W(()=>import(`./berry-CkXcemum.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>W(()=>import(`./bibtex-D0EA4Kzg.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>W(()=>import(`./bicep-GY8kTlQB.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>W(()=>import(`./bird2-Bh_6jupJ.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>W(()=>import(`./blade-B2jAASTF.js`),__vite__mapDeps([166,154,1,167,153,155,159,168,160,161])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>W(()=>import(`./bsl-D1rCaJS9.js`),__vite__mapDeps([169,170])))},{id:`c`,name:`C`,import:(()=>W(()=>import(`./c-Cit3Why-.js`).then(e=>e.n),__vite__mapDeps([171,1])))},{id:`c3`,name:`C3`,import:(()=>W(()=>import(`./c3-4T6ZzMyF.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>W(()=>import(`./cadence-DQtr3yLL.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>W(()=>import(`./cairo-B2dp4TSD.js`),__vite__mapDeps([172,173])))},{id:`clarity`,name:`Clarity`,import:(()=>W(()=>import(`./clarity-Bkp941zM.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>W(()=>import(`./clojure-CquZbC9B.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>W(()=>import(`./cmake-D1BVD0kp.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>W(()=>import(`./cobol-DmhudAVS.js`),__vite__mapDeps([174,153,1,154,155,161])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>W(()=>import(`./codeowners-DsUU27vi.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>W(()=>import(`./codeql-DPGTmMOi.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>W(()=>import(`./coffee-B7wtoipI.js`),__vite__mapDeps([175,155,1])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>W(()=>import(`./common-lisp-DbJ7aUtT.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>W(()=>import(`./coq-B6VoE9hb.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>W(()=>import(`./cpp-C8Nbi_kO.js`).then(e=>e.n),__vite__mapDeps([176,1,177,171,178,168])))},{id:`crystal`,name:`Crystal`,import:(()=>W(()=>import(`./crystal-yKy-Y8nB.js`),__vite__mapDeps([179,171,1,154,153,155,180,168])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>W(()=>import(`./csharp-_eS6diqA.js`),[]))},{id:`css`,name:`CSS`,import:(()=>W(()=>import(`./css-CT1mr1n4.js`).then(e=>e.n),__vite__mapDeps([154,1])))},{id:`csv`,name:`CSV`,import:(()=>W(()=>import(`./csv-DyVfZ6Yu.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>W(()=>import(`./cue-Cj7ZDjUR.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>W(()=>import(`./cypher-DPS4OS-5.js`),[]))},{id:`d`,name:`D`,import:(()=>W(()=>import(`./d-C-eONHuS.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>W(()=>import(`./dart-C7IHI9Zj.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>W(()=>import(`./dax-Ccqa2U3g.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>W(()=>import(`./desktop-DcSy6zVM.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>W(()=>import(`./diff-brodtM_M.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>W(()=>import(`./docker-CGTHWieK.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>W(()=>import(`./dotenv-Bm9hUDAP.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>W(()=>import(`./dream-maker-C-x9XSg6.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>W(()=>import(`./edge-iWBpy9T5.js`),__vite__mapDeps([181,167,153,1,154,155,165])))},{id:`elixir`,name:`Elixir`,import:(()=>W(()=>import(`./elixir-UJK4tIUw.js`),__vite__mapDeps([182,153,1,154,155])))},{id:`elm`,name:`Elm`,import:(()=>W(()=>import(`./elm-DRQuM4RH.js`),__vite__mapDeps([183,177,1,171])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>W(()=>import(`./emacs-lisp-LwiOeZpi.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>W(()=>import(`./erb-Cn-S4GBS.js`),__vite__mapDeps([184,153,1,154,155,185,171,176,177,178,168,186,187,164,165,188,189,180,160,161,190])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>W(()=>import(`./erlang-CEmUHkaF.js`),__vite__mapDeps([191,192])))},{id:`fennel`,name:`Fennel`,import:(()=>W(()=>import(`./fennel-xnq5rcYs.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>W(()=>import(`./fish-BHII2yI5.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>W(()=>import(`./fluent-Biik8i3h.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>W(()=>import(`./fortran-fixed-form-BGdOSKg1.js`),__vite__mapDeps([193,194])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>W(()=>import(`./fortran-free-form-DFwyzPqQ.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>W(()=>import(`./fsharp-DO2AnZP1.js`),__vite__mapDeps([195,192])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>W(()=>import(`./gdresource-DDUd92GU.js`),__vite__mapDeps([196,197,198])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>W(()=>import(`./gdscript-BBoQl7va.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>W(()=>import(`./gdshader-QNYoSdTP.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>W(()=>import(`./genie-BtD4I9Uc.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>W(()=>import(`./gherkin-DdPuSC66.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>W(()=>import(`./git-commit-COKTUbBS.js`),__vite__mapDeps([199,200])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>W(()=>import(`./git-rebase-2aQZz0-I.js`),__vite__mapDeps([201,180,1])))},{id:`gleam`,name:`Gleam`,import:(()=>W(()=>import(`./gleam-4utLzn6J.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>W(()=>import(`./glimmer-js-CnSut-4c.js`),__vite__mapDeps([202,154,1,153,155,165])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>W(()=>import(`./glimmer-ts-DxiTodBz.js`),__vite__mapDeps([203,154,1,153,155,165])))},{id:`glsl`,name:`GLSL`,import:(()=>W(()=>import(`./glsl-YzMs51Ij.js`).then(e=>e.n),__vite__mapDeps([177,1,171])))},{id:`gn`,name:`GN`,import:(()=>W(()=>import(`./gn-yIygVbb4.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>W(()=>import(`./gnuplot-Cc78Zi-J.js`),[]))},{id:`go`,name:`Go`,import:(()=>W(()=>import(`./go-Dent6yAV.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>W(()=>import(`./graphql-BFVCacu-.js`).then(e=>e.n),__vite__mapDeps([186,1,155,187,164,165])))},{id:`groovy`,name:`Groovy`,import:(()=>W(()=>import(`./groovy-DDCNx6yL.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>W(()=>import(`./hack-DOJlPPOd.js`),__vite__mapDeps([204,153,1,154,155,168])))},{id:`haml`,name:`Ruby Haml`,import:(()=>W(()=>import(`./haml-CYgVqF4c.js`).then(e=>e.n),__vite__mapDeps([188,1,154,155])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>W(()=>import(`./handlebars-BTwKj32l.js`),__vite__mapDeps([205,154,1,153,155,190])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>W(()=>import(`./haskell-BajHppVr.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>W(()=>import(`./haxe-DDBozNyI.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>W(()=>import(`./hcl-Dos7HWpy.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>W(()=>import(`./hjson-D5iiPC9t.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>W(()=>import(`./hlsl-7ao_7wl2.js`),[]))},{id:`html`,name:`HTML`,import:(()=>W(()=>import(`./html-xq21eATY.js`).then(e=>e.n),__vite__mapDeps([153,1,154,155])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>W(()=>import(`./html-derivative-B1X7du10.js`),__vite__mapDeps([167,153,1,154,155])))},{id:`http`,name:`HTTP`,import:(()=>W(()=>import(`./http-BDKIExL3.js`),__vite__mapDeps([206,186,1,155,187,164,165,159,180,160,161])))},{id:`hurl`,name:`Hurl`,import:(()=>W(()=>import(`./hurl-2KpxYjLY.js`),__vite__mapDeps([207,208,186,1,155,187,164,165,160,161])))},{id:`hxml`,name:`HXML`,import:(()=>W(()=>import(`./hxml-CiGzsZIZ.js`),__vite__mapDeps([209,210])))},{id:`hy`,name:`Hy`,import:(()=>W(()=>import(`./hy-CfY0Losf.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>W(()=>import(`./imba-Dx5AtcVI.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>W(()=>import(`./ini-HSteW4wp.js`),[]))},{id:`java`,name:`Java`,import:(()=>W(()=>import(`./java-D1llR3mV.js`).then(e=>e.n),__vite__mapDeps([161,1])))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>W(()=>import(`./javascript-DmijiU-0.js`).then(e=>e.n),__vite__mapDeps([155,1])))},{id:`jinja`,name:`Jinja`,import:(()=>W(()=>import(`./jinja-DjYiIOR3.js`),__vite__mapDeps([211,153,1,154,155])))},{id:`jison`,name:`Jison`,import:(()=>W(()=>import(`./jison-BQVB9rsy.js`),__vite__mapDeps([212,155,1])))},{id:`json`,name:`JSON`,import:(()=>W(()=>import(`./json-DQvwU2xV.js`).then(e=>e.n),__vite__mapDeps([159,1])))},{id:`json5`,name:`JSON5`,import:(()=>W(()=>import(`./json5-BjXIrzYw.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>W(()=>import(`./jsonc-DFx__rDG.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>W(()=>import(`./jsonl-CouMCtGp.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>W(()=>import(`./jsonnet-DeC-yE6L.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>W(()=>import(`./jssm-DIV2ng2m.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>W(()=>import(`./jsx-CYppWQG6.js`).then(e=>e.n),__vite__mapDeps([187,1])))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>W(()=>import(`./julia-COF3eklp.js`),__vite__mapDeps([213,176,1,177,171,178,168,155,173,214])))},{id:`just`,name:`Just`,import:(()=>W(()=>import(`./just-DprPf3oK.js`),__vite__mapDeps([215,155,1,216,154,153,168,160,161,173,185,171,176,177,178,186,187,164,165,188,189,180,190])))},{id:`kdl`,name:`KDL`,import:(()=>W(()=>import(`./kdl-B9IBl1Js.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>W(()=>import(`./kotlin-BXXDuCla.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>W(()=>import(`./kusto-DTpxExJS.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>W(()=>import(`./latex-CrhkpflQ.js`),__vite__mapDeps([217,218,214,1])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>W(()=>import(`./lean-CpzOr0i1.js`),[]))},{id:`less`,name:`Less`,import:(()=>W(()=>import(`./less-CUX1mntX.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>W(()=>import(`./liquid-CeUFjwJ2.js`),__vite__mapDeps([219,154,1,153,155,159])))},{id:`llvm`,name:`LLVM IR`,import:(()=>W(()=>import(`./llvm-Brk7-1rn.js`),[]))},{id:`log`,name:`Log file`,import:(()=>W(()=>import(`./log-DbGFGrqq.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>W(()=>import(`./logo-CvHfwNND.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>W(()=>import(`./lua-CuWcbWL1.js`).then(e=>e.n),__vite__mapDeps([189,1,171])))},{id:`luau`,name:`Luau`,import:(()=>W(()=>import(`./luau-DvfUYQbt.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>W(()=>import(`./make-CShmVuQA.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>W(()=>import(`./markdown-BP1gorzI.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>W(()=>import(`./marko-DwMQxO9l.js`),__vite__mapDeps([220,154,1,221,157,165])))},{id:`matlab`,name:`MATLAB`,import:(()=>W(()=>import(`./matlab-CqBH_y8T.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>W(()=>import(`./mdc-DjQFCQBX.js`),__vite__mapDeps([222,167,153,1,154,155,192,190])))},{id:`mdx`,name:`MDX`,import:(()=>W(()=>import(`./mdx-jNNeBmbq.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>W(()=>import(`./mermaid-DkR00-Q0.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>W(()=>import(`./mipsasm-CtBUnBrc.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>W(()=>import(`./mojo-BK6jsLyu.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>W(()=>import(`./moonbit-CveRjUj1.js`),[]))},{id:`move`,name:`Move`,import:(()=>W(()=>import(`./move-BKs7XoNi.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>W(()=>import(`./narrat-B9jgk-zV.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>W(()=>import(`./nextflow-DiDHBgfs.js`),__vite__mapDeps([223,224])))},{id:`nextflow-groovy`,name:`Nextflow Groovy`,import:(()=>W(()=>import(`./nextflow-groovy-DwVE0FtP.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>W(()=>import(`./nginx-Gqna_yUL.js`),__vite__mapDeps([225,189,1,171])))},{id:`nim`,name:`Nim`,import:(()=>W(()=>import(`./nim-A-jWq8Ol.js`),__vite__mapDeps([226,171,1,154,177,153,155,192,160,161])))},{id:`nix`,name:`Nix`,import:(()=>W(()=>import(`./nix-Dl0kIxQI.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>W(()=>import(`./nushell-Dd3eJ1Z5.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>W(()=>import(`./objective-c-BsngYtYe.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>W(()=>import(`./objective-cpp-DwX2y6xd.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>W(()=>import(`./ocaml-CHZJJmL6.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>W(()=>import(`./odin-CcgSORf6.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>W(()=>import(`./openscad-Bo2b24ml.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>W(()=>import(`./pascal-mA1lLBXX.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>W(()=>import(`./perl-HQxBdRdN.js`),__vite__mapDeps([216,154,1,153,155,168,160,161])))},{id:`php`,name:`PHP`,import:(()=>W(()=>import(`./php-DhvLFs6c.js`),__vite__mapDeps([227,154,1,153,155,159,168,160,161])))},{id:`pkl`,name:`Pkl`,import:(()=>W(()=>import(`./pkl-DtJVvXrH.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>W(()=>import(`./plsql-CBUaqyQS.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>W(()=>import(`./po-CNvPsQ9h.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>W(()=>import(`./polar-HLXcWQXT.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>W(()=>import(`./postcss-DEaQ0E7s.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>W(()=>import(`./powerquery-DsiRWSew.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>W(()=>import(`./powershell-K34z7VEB.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>W(()=>import(`./prisma-CPptAxC5.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>W(()=>import(`./prolog-Cd8eW19q.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>W(()=>import(`./proto-DnpQBkE0.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>W(()=>import(`./pug-fjJDiT3l.js`),__vite__mapDeps([228,154,1,153,155])))},{id:`puppet`,name:`Puppet`,import:(()=>W(()=>import(`./puppet-_42pIGLf.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>W(()=>import(`./purescript-Bm1dYbBp.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>W(()=>import(`./python-CsrsOhU3.js`),[]))},{id:`qml`,name:`QML`,import:(()=>W(()=>import(`./qml-Bzo6GtN7.js`),__vite__mapDeps([229,155,1])))},{id:`qmldir`,name:`QML Directory`,import:(()=>W(()=>import(`./qmldir-BewvfJ5k.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>W(()=>import(`./qss-MvS9Vfrz.js`),[]))},{id:`r`,name:`R`,import:(()=>W(()=>import(`./r-HX6ozzga.js`).then(e=>e.n),__vite__mapDeps([214,1])))},{id:`racket`,name:`Racket`,import:(()=>W(()=>import(`./racket-D-TB_6XI.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>W(()=>import(`./raku-DI1qkaYZ.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>W(()=>import(`./razor-BDaWuG_d.js`),__vite__mapDeps([230,231,153,1,154,155])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>W(()=>import(`./reg-BDtALqvW.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>W(()=>import(`./regexp-sguYVjwL.js`).then(e=>e.n),__vite__mapDeps([178,1])))},{id:`rel`,name:`Rel`,import:(()=>W(()=>import(`./rel-OLzbuN2M.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>W(()=>import(`./riscv-Cdagc5df.js`),[]))},{id:`ron`,name:`RON`,import:(()=>W(()=>import(`./ron-CGmfyH2l.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>W(()=>import(`./rosmsg-DuaY6ueH.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>W(()=>import(`./rst-DP-mrRaa.js`),__vite__mapDeps([232,233,176,1,177,171,178,168,167,153,154,155,173,185,186,187,164,165,188,189,180,160,161,190])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>W(()=>import(`./ruby-Bzf1F744.js`),__vite__mapDeps([185,171,1,176,177,178,168,154,186,155,187,164,165,188,153,189,180,160,161,190])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>W(()=>import(`./rust-DrUGrvq2.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>W(()=>import(`./sas-BPxC0mhc.js`),__vite__mapDeps([234,168,1])))},{id:`sass`,name:`Sass`,import:(()=>W(()=>import(`./sass-CXg17V70.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>W(()=>import(`./scala-DjgEGwzP.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>W(()=>import(`./scheme-B47I26nQ.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>W(()=>import(`./scss-sB701xM2.js`).then(e=>e.n),__vite__mapDeps([157,1,154])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>W(()=>import(`./sdbl-DS4x7rNS.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>W(()=>import(`./shaderlab-C9v6zvwt.js`),__vite__mapDeps([235,236])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>W(()=>import(`./shellscript-BHKZV5y3.js`).then(e=>e.n),__vite__mapDeps([180,1])))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>W(()=>import(`./shellsession-Blqyad8V.js`),__vite__mapDeps([237,180,1])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>W(()=>import(`./smalltalk-D9F5pvhu.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>W(()=>import(`./solidity-Ldqzz24K.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>W(()=>import(`./soy-CWYqyoGs.js`),__vite__mapDeps([238,153,1,154,155])))},{id:`sparql`,name:`SPARQL`,import:(()=>W(()=>import(`./sparql-4f8zf3ui.js`),__vite__mapDeps([239,240])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>W(()=>import(`./splunk-s7Qe54mN.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>W(()=>import(`./sql-BXR8QmJ6.js`).then(e=>e.n),__vite__mapDeps([168,1])))},{id:`ssh-config`,name:`SSH Config`,import:(()=>W(()=>import(`./ssh-config-BkQA0qL3.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>W(()=>import(`./stata-D7sUZ_Ew.js`),__vite__mapDeps([241,168,1])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>W(()=>import(`./stylus-J4XGQ0k5.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>W(()=>import(`./surrealql-Cp_B9dH4.js`),__vite__mapDeps([242,155,1])))},{id:`svelte`,name:`Svelte`,import:(()=>W(()=>import(`./svelte-DH0-DTob.js`),__vite__mapDeps([243,154,1,155,163,165])))},{id:`swift`,name:`Swift`,import:(()=>W(()=>import(`./swift-ZGw-K0AQ.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>W(()=>import(`./system-verilog-BjGXIMDl.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>W(()=>import(`./systemd-CD_DfdxW.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>W(()=>import(`./talonscript-Eh3nI_te.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>W(()=>import(`./tasl-Dsfqt-9m.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>W(()=>import(`./tcl-Bia_-xmt.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>W(()=>import(`./templ-D6y_rZNX.js`),__vite__mapDeps([244,154,1,245,155])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>W(()=>import(`./terraform-C-1iw6Ur.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>W(()=>import(`./tex-CP7U17hs.js`),__vite__mapDeps([218,214,1])))},{id:`toml`,name:`TOML`,import:(()=>W(()=>import(`./toml-CjE-nRdi.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>W(()=>import(`./ts-tags-CDJw6GGf.js`),__vite__mapDeps([246,154,1,177,171,153,155,168,165,160,161])))},{id:`tsv`,name:`TSV`,import:(()=>W(()=>import(`./tsv-CPmzsVtd.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>W(()=>import(`./tsx-ls17OjlG.js`).then(e=>e.n),__vite__mapDeps([164,1])))},{id:`turtle`,name:`Turtle`,import:(()=>W(()=>import(`./turtle-BnjqSeoz.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>W(()=>import(`./twig-DgdJEgGb.js`),__vite__mapDeps([247,154,1,155,227,153,159,168,160,161,173,185,171,176,177,178,186,187,164,165,188,189,180,190,157])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>W(()=>import(`./typescript-D886b5ZV.js`).then(e=>e.n),__vite__mapDeps([165,1])))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>W(()=>import(`./typespec-DAUySoit.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>W(()=>import(`./typst-sVlCaP84.js`),[]))},{id:`v`,name:`V`,import:(()=>W(()=>import(`./v-vrgllsxx.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>W(()=>import(`./vala-CQDr5Q_c.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>W(()=>import(`./vb-BXuq0uyc.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>W(()=>import(`./verilog-mdZITV-3.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>W(()=>import(`./vhdl-BgUVnx_S.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>W(()=>import(`./viml-CgHUKUSx.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>W(()=>import(`./vue-Dm7kCn35.js`),__vite__mapDeps([248,154,1,167,153,155,159,165])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>W(()=>import(`./vue-html-2mmeALdP.js`),__vite__mapDeps([249,155,1])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>W(()=>import(`./vue-vine-BD9NX4hb.js`),__vite__mapDeps([250,154,1,155,221,163,157,251])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>W(()=>import(`./vyper-CYaUZ3R3.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>W(()=>import(`./wasm-CUDZDrHT.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>W(()=>import(`./wenyan-BJeRKUGx.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>W(()=>import(`./wgsl-D42w1pnL.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>W(()=>import(`./wikitext-RkASkmuv.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>W(()=>import(`./wit-DWAD_y-a.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>W(()=>import(`./wolfram-IgayzPiq.js`),[]))},{id:`xml`,name:`XML`,import:(()=>W(()=>import(`./xml-C_JJhVVd.js`).then(e=>e.n),__vite__mapDeps([160,1,161])))},{id:`xsl`,name:`XSL`,import:(()=>W(()=>import(`./xsl-D-Suo93u.js`),__vite__mapDeps([252,160,1,161])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>W(()=>import(`./yaml-DVOU6X70.js`).then(e=>e.n),__vite__mapDeps([190,1])))},{id:`zenscript`,name:`ZenScript`,import:(()=>W(()=>import(`./zenscript-BQBDZyHn.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>W(()=>import(`./zig-BO0-KLaq.js`),[]))}],Pj=Object.fromEntries(Nj.map(e=>[e.id,e.import])),Fj=Object.fromEntries(Nj.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),Ij={...Pj,...Fj},Lj=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>W(()=>import(`./andromeeda-akZ-Tst1.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>W(()=>import(`./aurora-x-zwFdSAwt.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>W(()=>import(`./ayu-dark-Br6KjUsd.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>W(()=>import(`./ayu-light-DxYAP3-K.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>W(()=>import(`./ayu-mirage-BnfAVFf3.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>W(()=>import(`./catppuccin-frappe-tudumGI5.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>W(()=>import(`./catppuccin-latte-DkK_fCi9.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>W(()=>import(`./catppuccin-macchiato-CuzSdPe1.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>W(()=>import(`./catppuccin-mocha-yD0fNLIX.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>W(()=>import(`./dark-plus-BKSEozjZ.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>W(()=>import(`./dracula-Dej1y3DR.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>W(()=>import(`./dracula-soft-CxGRSOGL.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>W(()=>import(`./everforest-dark-Ba1Tbg8j.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>W(()=>import(`./everforest-light-Cdob7mkM.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>W(()=>import(`./github-dark-CJrlUhnR.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>W(()=>import(`./github-dark-default-DKoz-nAl.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>W(()=>import(`./github-dark-dimmed-CHpAYhwB.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>W(()=>import(`./github-dark-high-contrast-B2ctecrS.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>W(()=>import(`./github-light-Oolayd2G.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>W(()=>import(`./github-light-default-BpZvWE5t.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>W(()=>import(`./github-light-high-contrast-C067Vah5.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>W(()=>import(`./gruvbox-dark-hard-B_2OmGFu.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>W(()=>import(`./gruvbox-dark-medium-Ce-PkH8v.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>W(()=>import(`./gruvbox-dark-soft-Cwo7zxCZ.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>W(()=>import(`./gruvbox-light-hard-Dl4vgFkD.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>W(()=>import(`./gruvbox-light-medium-BtJoOjNI.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>W(()=>import(`./gruvbox-light-soft-BHYOR1iY.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>W(()=>import(`./horizon-Bhh_bstS.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`light`,import:(()=>W(()=>import(`./horizon-bright-CvAKgr5Z.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>W(()=>import(`./houston-wkSyaBE1.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>W(()=>import(`./kanagawa-dragon-kIwpRxl4.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>W(()=>import(`./kanagawa-lotus-KDZrRVg9.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>W(()=>import(`./kanagawa-wave-CTtwVe-c.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>W(()=>import(`./laserwave-VLKgORxn.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>W(()=>import(`./light-plus-TLHmm0rV.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>W(()=>import(`./material-theme-BDBAI2x8.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>W(()=>import(`./material-theme-darker-DotIVGz1.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>W(()=>import(`./material-theme-lighter-_o-2sLYl.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>W(()=>import(`./material-theme-ocean-qiL3_paJ.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>W(()=>import(`./material-theme-palenight-BwPBhrVZ.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>W(()=>import(`./min-dark-BFnTc0VL.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>W(()=>import(`./min-light-C49Fe4s1.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>W(()=>import(`./monokai-CtZYeyHo.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>W(()=>import(`./night-owl-BCian9_F.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>W(()=>import(`./night-owl-light-DtSnLu24.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>W(()=>import(`./nord-B8SwohpF.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>W(()=>import(`./one-dark-pro-D3YmGje3.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>W(()=>import(`./one-light-CLpVCFA1.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>W(()=>import(`./plastic-C_8nzNHD.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>W(()=>import(`./poimandres-E9hQbHzQ.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>W(()=>import(`./red-CidmnIpR.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>W(()=>import(`./rose-pine-C2Xw5Qsa.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>W(()=>import(`./rose-pine-dawn-DMuRsf-R.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>W(()=>import(`./rose-pine-moon-BvOz-sJL.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>W(()=>import(`./slack-dark-CtekvO81.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>W(()=>import(`./slack-ochin-BZ8mkYf3.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>W(()=>import(`./snazzy-light-HNZWMeAt.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>W(()=>import(`./solarized-dark-CCr3nKLy.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>W(()=>import(`./solarized-light-D6USgnL3.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>W(()=>import(`./synthwave-84-DB9pBcUU.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>W(()=>import(`./tokyo-night-30Xpt-a9.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>W(()=>import(`./vesper-C-nrlx8u.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>W(()=>import(`./vitesse-black-BrQQQQeR.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>W(()=>import(`./vitesse-dark-wRtd-YVx.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>W(()=>import(`./vitesse-light-B0HUU3bQ.js`),[]))}].map(e=>[e.id,e.import])),Rj=e({createOnigurumaEngine:()=>fM,getDefaultWasmLoader:()=>dM,loadWasm:()=>aM,setDefaultWasmLoader:()=>uM}),zj=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function Bj(){return 2147483648}function Vj(){return typeof performance<`u`?performance.now():Date.now()}var Hj=(e,t)=>e+(t-e%t)%t;async function Uj(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=Bj();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,Hj(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:Vj,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 Wj=Object.defineProperty,Gj=(e,t,n)=>t in e?Wj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Kj=(e,t,n)=>Gj(e,typeof t==`symbol`?t:t+``,n),qj=null;function Jj(e){throw new zj(e.UTF8ToString(e.getLastOnigError()))}var Yj=class e{constructor(t){Kj(this,`utf16Length`),Kj(this,`utf8Length`),Kj(this,`utf16Value`),Kj(this,`utf8Value`),Kj(this,`utf16OffsetToUtf8`),Kj(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}},Xj=class e{constructor(t){if(Kj(this,`id`,++e.LAST_ID),Kj(this,`_onigBinding`),Kj(this,`content`),Kj(this,`utf16Length`),Kj(this,`utf8Length`),Kj(this,`utf16OffsetToUtf8`),Kj(this,`utf8OffsetToUtf16`),Kj(this,`ptr`),!qj)throw new zj(`Must invoke loadWasm first.`);this._onigBinding=qj,this.content=t;let n=new Yj(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=qj.omalloc(1e4),e._sharedPtrInUse=!0,qj.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(qj)}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)}};Kj(Xj,`LAST_ID`,0),Kj(Xj,`_sharedPtr`,0),Kj(Xj,`_sharedPtrInUse`,!1);var Zj=Xj,Qj=class{constructor(e){if(Kj(this,`_onigBinding`),Kj(this,`_ptr`),!qj)throw new zj(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new Yj(e[r]);t[r]=i.createString(qj),n[r]=i.utf8Length}let r=qj.omalloc(4*e.length);qj.HEAPU32.set(t,r/4);let i=qj.omalloc(4*e.length);qj.HEAPU32.set(n,i/4);let a=qj.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)qj.ofree(t[n]);qj.ofree(i),qj.ofree(r),a===0&&Jj(qj),this._onigBinding=qj,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 Zj(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 $j(e){return typeof e.instantiator==`function`}function eM(e){return typeof e.default==`function`}function tM(e){return e.data!==void 0}function nM(e){return typeof Response<`u`&&e instanceof Response}function rM(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 iM;function aM(e){if(iM)return iM;async function t(){qj=await Uj(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),$j(n)?n=await n.instantiator(t):eM(n)?n=await n.default(t):(tM(n)&&(n=n.data),nM(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await sM(n)(t):await cM(n)(t):rM(n)||n instanceof WebAssembly.Module?n=await oM(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await oM(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return iM=t(),iM}function oM(e){return t=>WebAssembly.instantiate(e,t)}function sM(e){return t=>WebAssembly.instantiateStreaming(e,t)}function cM(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}var lM;function uM(e){lM=e}function dM(){return lM}async function fM(e){return e&&await aM(e),{createScanner(e){return new Qj(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new Zj(e)}}}var pM=Aj({});Mj(pM,Rj);var mM=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function hM(e){return gM(e)}function gM(e){return Array.isArray(e)?_M(e):e instanceof RegExp?e:typeof e==`object`?vM(e):e}function _M(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=gM(e[n]);return t}function vM(e){let t={};for(let n in e)t[n]=gM(e[n]);return t}function yM(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function bM(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?bM(e.substring(0,e.length-1)):e.substr(~t+1)}var xM=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,SM=class{static hasCaptures(e){return e===null?!1:(xM.lastIndex=0,xM.test(e))}static replaceCaptures(e,t,n){return e.replace(xM,(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 CM(e,t){return e<t?-1:e>t?1:0}function wM(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=CM(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function TM(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 EM(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var DM=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}},OM=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(NM(e),t)}static createFromParsedTheme(e,t){return IM(e,t)}_cachedMatchRoot=new DM(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=>AM(e.parent,t.parentScopes));return n?new MM(n.fontStyle,n.foreground,n.background):null}},kM=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 AM(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&&!jM(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function jM(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var MM=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function NM(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`&&TM(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&TM(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 PM(l,u,e,o,s,c)}}return n}var PM=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}},FM=(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))(FM||{});function IM(e,t){e.sort((e,t)=>{let n=CM(e.scope,t.scope);return n!==0||(n=wM(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 LM(t),o=new MM(n,a.getId(r),a.getId(i)),s=new BM(new zM(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 OM(a,o,s)}var LM=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)}},RM=Object.freeze([]),zM=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||RM,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)}},BM=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(),zM.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(wM(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 zM(e,t,n,r,i))}},VM=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=UM(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 HM(e){return e}function UM(e){return e}function WM(e,t){let n=[],r=KM(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(GM(i)){let e=[];do e.push(i),i=r.next();while(GM(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 GM(e){return!!e&&!!e.match(/[\w\.:]+/)}function KM(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 qM(e){typeof e.dispose==`function`&&e.dispose()}var JM=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},YM=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},XM=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))}},ZM=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new JM(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new XM;for(let n of e)QM(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof JM){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 QM(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 JM?eN({baseGrammar:a,selfGrammar:i},r):$M(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 JM(e))}function $M(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];tN([r],t,n)}}function eN(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&tN(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&tN(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function tN(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?yM({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&tN(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=sN(i);switch(a.kind){case 0:eN({...t,selfGrammar:t.baseGrammar},n);break;case 1:eN(t,n);break;case 2:$M(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?$M(a.ruleName,i,n):eN(i,n)}else a.kind===4?n.add(new YM(a.scopeName,a.ruleName)):n.add(new JM(a.scopeName));break}}}var nN=class{kind=0},rN=class{kind=1},iN=class{constructor(e){this.ruleName=e}kind=2},aN=class{constructor(e){this.scopeName=e}kind=3},oN=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function sN(e){if(e===`$base`)return new nN;if(e===`$self`)return new rN;let t=e.indexOf(`#`);return t===-1?new aN(e):t===0?new iN(e.substring(1)):new oN(e.substring(0,t),e.substring(t+1))}var cN=/\\(\d+)/,lN=/\\(\d+)/g,uN=-1,dN=-2;function fN(e){return e}function pN(e){return e}var mN=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=SM.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=SM.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${bM(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:SM.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:SM.replaceCaptures(this._contentName,e,t)}},hN=class extends mN{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!`)}},gN=class extends mN{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new xN(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 SN,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},_N=class extends mN{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 SN,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},vN=class extends mN{_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 xN(i,this.id),this.beginCaptures=a,this._end=new xN(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 SN;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}},yN=class extends mN{_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 xN(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new xN(o,dN),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 SN;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 SN,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||``),this._cachedCompiledWhilePatterns}},bN=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new hN(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new gN(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=yM({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new _N(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new yN(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 vN(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=sN(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 _N||e instanceof vN||e instanceof yN)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},xN=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=cN.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 lN.lastIndex=0,this.source.replace(lN,(e,t)=>EM(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}},SN=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 CN(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 CN(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},CN=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(`
|
|
31
|
+
`)}findNextMatchSync(e,t,n){let r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},wN=class{constructor(e,t){this.languageId=e,this.tokenType=t}},TN=class e{_defaultAttributes;_embeddedLanguagesMatcher;constructor(e,t){this._defaultAttributes=new wN(e,8),this._embeddedLanguagesMatcher=new EN(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 wN(0,0);_getBasicScopeAttributes=new DM(e=>new wN(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/},EN=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])=>EM(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 DN=!1,ON=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function kN(e,t,n,r,i,a,o,s){let c=t.content.length,l=!1,u=-1;if(o){let o=AN(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 ON(i,!0);f()}return new ON(i,!1);function f(){let o=jN(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===uN){let o=i.getRule(e);a.produce(i,s[0].start),i=i.withContentNameScopesList(i.nameScopesList),LN(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 vN){let r=o;LN(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 yN){let r=o;LN(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(LN(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 AN(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 yN&&s.push({rule:n,stack:t})}for(let c=s.pop();c;c=s.pop()){let{ruleScanner:s,findOptions:l}=FN(c.rule,e,c.stack.endRule,n,r===o),u=s.findNextMatchSync(t,r,l);if(u){if(u.ruleId!==dN){i=c.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(a.produce(c.stack,u.captureIndices[0].start),LN(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 jN(e,t,n,r,i,a){let o=MN(e,t,n,r,i,a),s=e.getInjections();if(s.length===0)return o;let c=NN(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 MN(e,t,n,r,i,a){let{ruleScanner:o,findOptions:s}=PN(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 NN(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}=PN(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 PN(e,t,n,r,i){return DN?{ruleScanner:e.compile(t,n),findOptions:IN(r,i)}:{ruleScanner:e.compileAG(t,n,r,i),findOptions:0}}function FN(e,t,n,r,i){return DN?{ruleScanner:e.compileWhile(t,n),findOptions:IN(r,i)}:{ruleScanner:e.compileWhileAG(t,n,r,i),findOptions:0}}function IN(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function LN(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));kN(e,p,n&&d.start===0,d.start,f,i,!1,0),qM(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 RN(t,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var RN=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function zN(e,t,n,r,i,a,o,s){return new UN(e,t,n,r,i,a,o,s)}function BN(e,t,n,r,i){let a=WM(t,VN),o=bN.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 VN(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(HN(t[r],e))return n=r+1,!0;return!1})}function HN(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 UN=class{constructor(e,t,n,r,i,a,o,s){if(this._rootScopeName=e,this.balancedBracketSelectors=a,this._onigLib=s,this._basicScopeAttributesProvider=new TN(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=o,this._grammar=WN(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let e of Object.keys(i)){let t=WM(e,VN);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)BN(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&&BN(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(fN(t));return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[pN(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]=WN(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=bN.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===KN.NULL){i=!0;let e=this._basicScopeAttributesProvider.getDefaultAttributes(),n=this.themeProvider.getDefaults(),r=VM.set(0,e.languageId,e.tokenType,null,n.fontStyle,n.foregroundId,n.backgroundId),a=this.getRule(this._rootId).getName(null,null),o;o=a?GN.createRootAndLookUpScopeName(a,r,this):GN.createRoot(`unknown`,r),t=new KN(null,this._rootId,-1,-1,!1,null,o,o)}else i=!1,t.reset();e+=`
|
|
32
|
+
`;let a=this.createOnigString(e),o=a.content.length,s=new JN(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=kN(this,a,i,0,t,s,!0,r);return qM(a),{lineLength:o,lineTokens:s,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function WN(e,t){return e=hM(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 GN=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=kM.push(i,t.scopeNames),r=new e(r,i,t.encodedTokenAttributes);return r}static createRoot(t,n){return new e(null,new kM(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let i=r.getMetadataForScope(t),a=new kM(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),VM.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}},KN=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)?GN.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:pN(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=GN.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new e(t,fN(n.ruleId),n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,GN.fromExtension(r,n.contentNameScopesList))}},qN=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>e===`*`?(this.allowAny=!0,[]):WM(e,VN).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>WM(e,VN).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}},JN=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=VM.set(n,0,HM(e.type),null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(t))}if(r&&(n=VM.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}},YN=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,zN(e,a,t,n,r,i,this,this._onigLib))}return this._grammars.get(e)}},XN=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new YN(OM.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(OM.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 qN(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,i){let a=new ZM(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)}},ZN=KN.NULL;function QN(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 $N(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function eP(e){return Array.isArray(e)?e:[e]}async function tP(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function nP(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function rP(e){return e===`ansi`||nP(e)}function iP(e){return e===`none`}function aP(e){return iP(e)}var oP=/(\r?\n)/g;function sP(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(oP),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 cP={light:`#333333`,dark:`#bbbbbb`},lP={light:`#fffffe`,dark:`#1e1e1e`},uP=`__shiki_resolved`;function dP(e){if(e?.[uP])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`?cP.light:cP.dark,n||=t.type===`light`?lP.light:lP.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,uP,{enumerable:!1,writable:!1,value:!0}),t}async function fP(e){return[...new Set((await Promise.all(e.filter(e=>!rP(e)).map(async e=>await tP(e).then(e=>Array.isArray(e)?e:[e])))).flat())]}async function pP(e){return(await Promise.all(e.map(async e=>aP(e)?null:dP(await tP(e))))).filter(e=>!!e)}function mP(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 mM(`Circular alias \`${[...n].join(` -> `)} -> ${e}\``);n.add(e)}}return e}var hP=class extends XN{_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=dP(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=OM.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=mP(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 mM(`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))}},gP=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}},_P=0;function vP(e){_P+=1,e.warnings!==!1&&_P>=10&&_P%10==0&&console.warn(`[Shiki] ${_P} 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 mM("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(dP),i=new hP(new gP(e.engine,n),r,n,e.langAlias),a;function o(t){return mP(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new mM(`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 mM(`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 fP(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await pP(e))}function g(){if(t)throw new mM(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--_P)}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 yP(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([pP(e.themes||[]),fP(e.langs||[]),e.engine]);return vP({...e,themes:t,langs:n,engine:r})}var bP=new WeakMap;function xP(e,t){bP.set(e,t)}function SP(e){return bP.get(e)}var CP=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(eP(n).map(e=>[e,ZN])),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 wP(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function wP(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 TP(e,t){if(!(e instanceof CP))throw new mM(`Invalid grammar state`);return e.getInternalStack(t)}var EP=/,/,DP=/ /;function OP(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n;if(nP(e.resolveLangAlias(n.lang||`text`))||iP(r))return sP(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 mM(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);if(!n.grammarState.themes.includes(i.name))throw new mM(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`)}return AP(t,o,i,a,n)}function kP(...e){if(e.length===2)return SP(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(nP(i)||iP(a))throw new mM(`Plain language does not have grammar state`);if(i===`ansi`)throw new mM(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new CP(jP(n,c,o,s,r).stateStack,c.name,o.name)}function AP(e,t,n,r,i){let a=jP(e,t,n,r,i),o=new CP(a.stateStack,t.name,n.name);return xP(a.tokens,o),a.tokens}function jP(e,t,n,r,i){let a=QN(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500,includeExplanation:c=!1}=i,l=sP(e),u=i.grammarState?TP(i.grammarState,n.name)??ZN:i.grammarContextCode==null?ZN:jP(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=$N(r[VM.getForeground(s)],a),u=VM.getFontStyle(s),f={content:i.substring(t,o),offset:p+t,color:l,fontStyle:u};if(c===`tokenType`)f.type=VM.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(EP).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(DP))})}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`?MP(t.scopes):NP(e,t.scopes)}),g+=1}}d.push(f)}f.push(d),d=[],u=_.ruleStack}return{tokens:f,stateStack:u}}function MP(e){return e.map(e=>({scopeName:e}))}function NP(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:IP(e,i,t.slice(0,r))}}return n}function PP(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function FP(e,t,n){if(!PP(e.at(-1),t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)PP(e[r],n[i])&&--r,--i;return r===-1}function IP(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(FP(e,t,n)){r.push(a);break}return r}function LP(e,t,n,r=OP){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:SP(a),theme:typeof i.theme==`string`?i.theme:i.theme.name}}),o=RP(...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 CP(Object.fromEntries(a.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),a[0].state.lang):void 0;return c&&xP(s,c),s}function RP(...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 zP=[`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`command`,`embed`,`frame`,`hr`,`image`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],BP={}.hasOwnProperty;function VP(e,t){let n=t||{};function r(t,...n){let i=r.invalid,a=r.handlers;if(t&&BP.call(t,e)){let n=String(t[e]);i=BP.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 HP=/["&'<>`]/g,UP=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,WP=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,GP=/[|\\{}()[\]^$+*?.]/g,KP=new WeakMap;function qP(e,t){if(e=e.replace(t.subset?JP(t.subset):HP,r),t.subset||t.escapeOnly)return e;return e.replace(UP,n).replace(WP,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 JP(e){let t=KP.get(e);return t||(t=YP(e),KP.set(e,t)),t}function YP(e){let t=[],n=-1;for(;++n<e.length;)t.push(e[n].replace(GP,`\\$&`));return RegExp(`(?:`+t.join(`|`)+`)`,`g`)}var XP=/[\dA-Fa-f]/;function ZP(e,t,n){let r=`&#x`+e.toString(16).toUpperCase();return n&&t&&!XP.test(String.fromCharCode(t))?r:r+`;`}var QP=/\d/;function $P(e,t,n){let r=`&#`+String(e);return n&&t&&!QP.test(String.fromCharCode(t))?r:r+`;`}var eF=`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(`.`),tF={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:`€`},nF=[`cent`,`copy`,`divide`,`gt`,`lt`,`not`,`para`,`times`],rF={}.hasOwnProperty,iF={},aF;for(aF in tF)rF.call(tF,aF)&&(iF[tF[aF]]=aF);var oF=/[^\dA-Za-z]/;function sF(e,t,n,r){let i=String.fromCharCode(e);if(rF.call(iF,i)){let e=iF[i],a=`&`+e;return n&&eF.includes(e)&&!nF.includes(e)&&(!r||t&&t!==61&&oF.test(String.fromCharCode(t)))?a:a+`;`}return``}function cF(e,t,n){let r=ZP(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=sF(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let i=$P(e,t,n.omitOptionalSemicolons);i.length<r.length&&(r=i)}return i&&(!n.useShortestReferences||i.length<r.length)?i:r}function lF(e,t){return qP(e,Object.assign({format:cF},t))}var uF=/^>|^->|<!--|-->|--!>|<!-$/g,dF=[`>`],fF=[`<`,`>`];function pF(e,t,n,r){return r.settings.bogusComments?`<?`+lF(e.value,Object.assign({},r.settings.characterReferences,{subset:dF}))+`>`:`<!--`+e.value.replace(uF,i)+`-->`;function i(e){return lF(e,Object.assign({},r.settings.characterReferences,{subset:fF}))}}function mF(e,t,n,r){return`<!`+(r.settings.upperDoctype?`DOCTYPE`:`doctype`)+(r.settings.tightDoctype?``:` `)+`html>`}var hF=vF(1),gF=vF(-1),_F=[];function vF(e){return t;function t(t,n,r){let i=t?t.children:_F,a=(n||0)+e,o=i[a];if(!r)for(;o&&d(o);)a+=e,o=i[a];return o}}var yF={}.hasOwnProperty;function bF(e){return t;function t(t,n,r){return yF.call(e,t.tagName)&&e[t.tagName](t,n,r)}}var xF=bF({body:wF,caption:SF,colgroup:SF,dd:OF,dt:DF,head:SF,html:CF,li:EF,optgroup:AF,option:jF,p:TF,rp:kF,rt:kF,tbody:NF,td:IF,tfoot:PF,th:IF,thead:MF,tr:FF});function SF(e,t,n){let r=hF(n,t,!0);return!r||r.type!==`comment`&&!(r.type===`text`&&d(r.value.charAt(0)))}function CF(e,t,n){let r=hF(n,t);return!r||r.type!==`comment`}function wF(e,t,n){let r=hF(n,t);return!r||r.type!==`comment`}function TF(e,t,n){let r=hF(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 EF(e,t,n){let r=hF(n,t);return!r||r.type===`element`&&r.tagName===`li`}function DF(e,t,n){let r=hF(n,t);return!!(r&&r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`))}function OF(e,t,n){let r=hF(n,t);return!r||r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`)}function kF(e,t,n){let r=hF(n,t);return!r||r.type===`element`&&(r.tagName===`rp`||r.tagName===`rt`)}function AF(e,t,n){let r=hF(n,t);return!r||r.type===`element`&&r.tagName===`optgroup`}function jF(e,t,n){let r=hF(n,t);return!r||r.type===`element`&&(r.tagName===`option`||r.tagName===`optgroup`)}function MF(e,t,n){let r=hF(n,t);return!!(r&&r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`))}function NF(e,t,n){let r=hF(n,t);return!r||r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`)}function PF(e,t,n){return!hF(n,t)}function FF(e,t,n){let r=hF(n,t);return!r||r.type===`element`&&r.tagName===`tr`}function IF(e,t,n){let r=hF(n,t);return!r||r.type===`element`&&(r.tagName===`td`||r.tagName===`th`)}var LF=bF({body:BF,colgroup:VF,head:zF,html:RF,tbody:HF});function RF(e){let t=hF(e,-1);return!t||t.type!==`comment`}function zF(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 BF(e){let t=hF(e,-1,!0);return!t||t.type!==`comment`&&!(t.type===`text`&&d(t.value.charAt(0)))&&!(t.type===`element`&&(t.tagName===`meta`||t.tagName===`link`||t.tagName===`script`||t.tagName===`style`||t.tagName===`template`))}function VF(e,t,n){let r=gF(n,t),i=hF(e,-1,!0);return n&&r&&r.type===`element`&&r.tagName===`colgroup`&&xF(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`col`)}function HF(e,t,n){let r=gF(n,t),i=hF(e,-1);return n&&r&&r.type===`element`&&(r.tagName===`thead`||r.tagName===`tbody`)&&xF(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`tr`)}var UF={name:[[`
|
|
33
33
|
\f\r &/=>`.split(``),`
|
|
34
34
|
\f\r "&'/=>\``.split(``)],[`\0
|
|
35
35
|
\f\r "&'/<=>`.split(``),`\0
|
|
@@ -37,9 +37,9 @@ body>*{position:relative;width:100%;height:100%}`;function Nf(e){return Array.fr
|
|
|
37
37
|
\f\r &>`.split(``),`\0
|
|
38
38
|
\f\r "&'<=>\``.split(``)],[`\0
|
|
39
39
|
\f\r "&'<=>\``.split(``),`\0
|
|
40
|
-
\f\r "&'<=>\``.split(``)]],single:[[`&'`.split(``),`"&'\``.split(``)],[`\0&'`.split(``),`\0"&'\``.split(``)]],double:[[`"&`.split(``),`"&'\``.split(``)],[`\0"&`.split(``),`\0"&'\``.split(``)]]};function BF(e,t,n,r){let i=r.schema,a=i.space===`svg`?!1:r.settings.omitOptionalTags,o=i.space===`svg`?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),s=[],c;i.space===`html`&&e.tagName===`svg`&&(r.schema=l);let u=VF(r,e.properties),d=r.all(i.space===`html`&&e.tagName===`template`?e.content:e);return r.schema=i,d&&(o=!1),(u||!a||!NF(e,t,n))&&(s.push(`<`,e.tagName,u?` `+u:``),o&&(i.space===`svg`||r.settings.closeSelfClosing)&&(c=u.charAt(u.length-1),(!r.settings.tightSelfClosing||c===`/`||c&&c!==`"`&&c!==`'`)&&s.push(` `),s.push(`/`)),s.push(`>`)),s.push(d),!o&&(!a||!_F(e,t,n))&&s.push(`</`+e.tagName+`>`),s.join(``)}function VF(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=HF(e,i,t[i]);r&&n.push(r)}}for(;++r<n.length;){let t=e.settings.tightAttributes?n[r].charAt(n[r].length-1):void 0;r!==n.length-1&&t!==`"`&&t!==`'`&&(n[r]+=` `)}return n.join(``)}function HF(e,t,n){let r=s(e.schema,t),i=e.settings.allowParseErrors&&e.schema.space===`html`?0:1,a=e.settings.allowDangerousCharacters?0:1,l=e.quote,d;if(r.overloadedBoolean&&(n===r.attribute||n===``)?n=!0:(r.boolean||r.overloadedBoolean)&&(typeof n!=`string`||n===r.attribute||n===``)&&(n=!!n),n==null||n===!1||typeof n==`number`&&Number.isNaN(n))return``;let f=aF(r.attribute,Object.assign({},e.settings.characterReferences,{subset:zF.name[i][a]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?u:c)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?f:(e.settings.preferUnquoted&&(d=aF(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:zF.unquoted[i][a]}))),d!==n&&(e.settings.quoteSmart&&o(n,l)>o(n,e.alternative)&&(l=e.alternative),d=l+aF(n,Object.assign({},e.settings.characterReferences,{subset:(l===`'`?zF.single:zF.double)[i][a],attribute:!0}))+l),f+(d&&`=`+d))}var UF=[`<`,`&`];function WF(e,t,n,r){return n&&n.type===`element`&&(n.tagName===`script`||n.tagName===`style`)?e.value:aF(e.value,Object.assign({},r.settings.characterReferences,{subset:UF}))}function GF(e,t,n,r){return r.settings.allowDangerousHtml?e.value:WF(e,t,n,r)}function KF(e,t,n,r){return r.all(e)}var qF=LP(`type`,{invalid:JF,unknown:YF,handlers:{comment:lF,doctype:uF,element:BF,raw:GF,root:KF,text:WF}});function JF(e){throw Error("Expected node, not `"+e+"`")}function YF(e){let t=e;throw Error("Cannot compile unknown node `"+t.type+"`")}var XF={},ZF={},QF=[];function $F(e,t){let n=t||XF,i=n.quote||`"`,a=i===`"`?`'`:`"`;if(i!==`"`&&i!==`'`)throw Error("Invalid quote `"+i+"`, expected `'` or `\"`");return{one:eI,all:tI,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||FP,characterReferences:n.characterReferences||ZF,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space===`svg`?l:r,quote:i,alternative:a}.one(Array.isArray(e)?{type:`root`,children:e}:e,void 0,void 0)}function eI(e,t,n){return qF(e,t,n,this)}function tI(e){let t=[],n=e&&e.children||QF,r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join(``)}var nI=/\s+/g;function rI(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class==`string`&&(e.properties.class=e.properties.class.split(nI)),Array.isArray(e.properties.class)||(e.properties.class=[]);let n=Array.isArray(t)?t:t.split(nI);for(let t of n)t&&!e.properties.class.includes(t)&&e.properties.class.push(t);return e}var iI=/:?lang=["']([^"']+)["']/g,aI=/(?:```|~~~)([\w-]+)/g,oI=/\\begin\{([\w-]+)\}/g,sI=/<script\s+(?:type|lang)=["']([^"']+)["']/gi;function cI(e){let t=rP(e,!0).map(([e])=>e);function n(n){if(n===e.length)return{line:t.length-1,character:t.at(-1).length};let r=n,i=0;for(let e of t){if(r<e.length)break;r-=e.length,i++}return{line:i,character:r}}function r(e,n){let r=0;for(let n=0;n<e;n++)r+=t[n].length;return r+=n,r}return{lines:t,indexToPos:n,posToIndex:r}}function lI(e,t,n){let r=new Set;for(let t of e.matchAll(iI)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(aI)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(oI)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(sI)){let e=t[1].toLowerCase().trim(),n=e.includes(`/`)?e.split(`/`).pop():e;n&&r.add(n)}if(!n)return[...r];let i=n.getBundledLanguages();return[...r].filter(e=>e&&i[e])}var uI=[`color`,`background-color`];function dI(e,t){let n=0,r=[];for(let i of t)i>n&&r.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function fI(e,t){let n=[...t instanceof Set?t:new Set(t)].sort((e,t)=>e-t);return n.length?e.map(e=>e.flatMap(e=>{let t=n.filter(t=>e.offset<t&&t<e.offset+e.content.length).map(t=>t-e.offset).sort((e,t)=>e-t);return t.length?dI(e,t):e})):e}function pI(e,t,n,r,i=`css-vars`){let a={content:e.content,explanation:e.explanation,offset:e.offset},o=t.map(t=>mI(e.variants[t])),s=new Set(o.flatMap(e=>Object.keys(e))),c={},l=(e,r)=>{let i=r===`color`?``:r===`background-color`?`-bg`:`-${r}`;return n+t[e]+(r===`color`?``:i)};return o.forEach((e,n)=>{for(let a of s){let s=e[a]||`inherit`;if(n===0&&r&&uI.includes(a))if(r===`light-dark()`&&o.length>1){let e=t.findIndex(e=>e===`light`),r=t.findIndex(e=>e===`dark`);if(e===-1||r===-1)throw new uM('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');c[a]=`light-dark(${o[e][a]||`inherit`}, ${o[r][a]||`inherit`})`,i===`css-vars`&&(c[l(n,a)]=s)}else c[a]=s;else i===`css-vars`&&(c[l(n,a)]=s)}}),a.htmlStyle=c,a}function mI(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t[`background-color`]=e.bgColor),e.fontStyle){e.fontStyle&jM.Italic&&(t[`font-style`]=`italic`),e.fontStyle&jM.Bold&&(t[`font-weight`]=`bold`);let n=[];e.fontStyle&jM.Underline&&n.push(`underline`),e.fontStyle&jM.Strikethrough&&n.push(`line-through`),n.length&&(t[`text-decoration`]=n.join(` `))}return t}function hI(e){return typeof e==`string`?e:Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}function gI(){let e=new WeakMap;function t(t){if(!e.has(t.meta)){let n=cI(t.source);function r(e){if(typeof e==`number`){if(e<0||e>t.source.length)throw new uM(`Invalid decoration offset: ${e}. Code length: ${t.source.length}`);return{...n.indexToPos(e),offset:e}}else{let t=n.lines[e.line];if(t===void 0)throw new uM(`Invalid decoration position ${JSON.stringify(e)}. Lines length: ${n.lines.length}`);let r=e.character;if(r<0&&(r=t.length+r),r<0||r>t.length)throw new uM(`Invalid decoration position ${JSON.stringify(e)}. Line ${e.line} length: ${t.length}`);return{...e,character:r,offset:n.posToIndex(e.line,r)}}}let i=(t.options.decorations||[]).map(e=>({...e,start:r(e.start),end:r(e.end)}));_I(i),e.set(t.meta,{decorations:i,converter:n,source:t.source})}return e.get(t.meta)}return{name:`shiki:decorations`,tokens(e){if(this.options.decorations?.length)return fI(e,t(this).decorations.flatMap(e=>[e.start.offset,e.end.offset]))},code(e){if(!this.options.decorations?.length)return;let n=t(this),r=[...e.children].filter(e=>e.type===`element`&&e.tagName===`span`);if(r.length!==n.converter.lines.length)throw new uM(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${n.converter.lines.length}). Failed to apply decorations.`);function i(e,t,n,i){let a=r[e],s=``,c=-1,l=-1;if(t===0&&(c=0),n===0&&(l=0),n===1/0&&(l=a.children.length),c===-1||l===-1)for(let e=0;e<a.children.length;e++)s+=vI(a.children[e]),c===-1&&s.length===t&&(c=e+1),l===-1&&s.length===n&&(l=e+1);if(c===-1)throw new uM(`Failed to find start index for decoration ${JSON.stringify(i.start)}`);if(l===-1)throw new uM(`Failed to find end index for decoration ${JSON.stringify(i.end)}`);let u=a.children.slice(c,l);if(!i.alwaysWrap&&u.length===a.children.length)o(a,i,`line`);else if(!i.alwaysWrap&&u.length===1&&u[0].type===`element`)o(u[0],i,`token`);else{let e={type:`element`,tagName:`span`,properties:{},children:u};o(e,i,`wrapper`),a.children.splice(c,u.length,e)}}function a(e,t){r[e]=o(r[e],t,`line`)}function o(e,t,n){let r=t.properties||{},i=t.transform||(e=>e);return e.tagName=t.tagName||`span`,e.properties={...e.properties,...r,class:e.properties.class},t.properties?.class&&rI(e,t.properties.class),e=i(e,n)||e,e}let s=[],c=n.decorations.sort((e,t)=>t.start.offset-e.start.offset||e.end.offset-t.end.offset);for(let e of c){let{start:t,end:n}=e;if(t.line===n.line)i(t.line,t.character,n.character,e);else if(t.line<n.line){i(t.line,t.character,1/0,e);for(let r=t.line+1;r<n.line;r++)s.unshift(()=>a(r,e));i(n.line,0,n.character,e)}}s.forEach(e=>e())}}}function _I(e){for(let t=0;t<e.length;t++){let n=e[t];if(n.start.offset>n.end.offset)throw new uM(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){let t=e[r],i=n.start.offset<=t.start.offset&&t.start.offset<n.end.offset,a=n.start.offset<t.end.offset&&t.end.offset<=n.end.offset,o=t.start.offset<=n.start.offset&&n.start.offset<t.end.offset,s=t.start.offset<n.end.offset&&n.end.offset<=t.end.offset;if(i||a||o||s){if(i&&a||o&&s||o&&n.start.offset===n.end.offset||a&&t.start.offset===t.end.offset)continue;throw new uM(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(t.start)} intersect.`)}}}}function vI(e){return e.type===`text`?e.value:e.type===`element`?e.children.map(vI).join(``):``}var yI=[gI()];function bI(e){let t=xI(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...yI]}function xI(e){let t=[],n=[],r=[];for(let i of e)switch(i.enforce){case`pre`:t.push(i);break;case`post`:n.push(i);break;default:r.push(i)}return{pre:t,post:n,normal:r}}var SI=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],CI={1:`bold`,2:`dim`,3:`italic`,4:`underline`,7:`reverse`,8:`hidden`,9:`strikethrough`};function wI(e,t){let n=e.indexOf(`\x1B`,t);if(n!==-1&&e[n+1]===`[`){let t=e.indexOf(`m`,n);if(t!==-1)return{sequence:e.substring(n+2,t).split(`;`),startPosition:n,position:t+1}}return{position:e.length}}function TI(e){let t=e.shift();if(t===`2`){let t=e.splice(0,3).map(e=>Number.parseInt(e));return t.length!==3||t.some(e=>Number.isNaN(e))?void 0:{type:`rgb`,rgb:t}}else if(t===`5`){let t=e.shift();if(t)return{type:`table`,index:Number(t)}}}function EI(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:`resetAll`});else if(r<=9)CI[r]&&t.push({type:`setDecoration`,value:CI[r]});else if(r<=29){let e=CI[r-20];e&&(t.push({type:`resetDecoration`,value:e}),e===`dim`&&t.push({type:`resetDecoration`,value:`bold`}))}else if(r<=37)t.push({type:`setForegroundColor`,value:{type:`named`,name:SI[r-30]}});else if(r===38){let n=TI(e);n&&t.push({type:`setForegroundColor`,value:n})}else if(r===39)t.push({type:`resetForegroundColor`});else if(r<=47)t.push({type:`setBackgroundColor`,value:{type:`named`,name:SI[r-40]}});else if(r===48){let n=TI(e);n&&t.push({type:`setBackgroundColor`,value:n})}else r===49?t.push({type:`resetBackgroundColor`}):r===53?t.push({type:`setDecoration`,value:`overline`}):r===55?t.push({type:`resetDecoration`,value:`overline`}):r>=90&&r<=97?t.push({type:`setForegroundColor`,value:{type:`named`,name:SI[r-90+8]}}):r>=100&&r<=107&&t.push({type:`setBackgroundColor`,value:{type:`named`,name:SI[r-100+8]}})}return t}function DI(){let e=null,t=null,n=new Set;return{parse(r){let i=[],a=0;do{let o=wI(r,a),s=o.sequence?r.substring(a,o.startPosition):r.substring(a);if(s.length>0&&i.push({value:s,foreground:e,background:t,decorations:new Set(n)}),o.sequence){let r=EI(o.sequence);for(let i of r)i.type===`resetAll`?(e=null,t=null,n.clear()):i.type===`resetForegroundColor`?e=null:i.type===`resetBackgroundColor`?t=null:i.type===`resetDecoration`&&n.delete(i.value);for(let i of r)i.type===`setForegroundColor`?e=i.value:i.type===`setBackgroundColor`?t=i.value:i.type===`setDecoration`&&n.add(i.value)}a=o.position}while(a<r.length);return i}}}var OI={black:`#000000`,red:`#bb0000`,green:`#00bb00`,yellow:`#bbbb00`,blue:`#0000bb`,magenta:`#ff00ff`,cyan:`#00bbbb`,white:`#eeeeee`,brightBlack:`#555555`,brightRed:`#ff5555`,brightGreen:`#00ff00`,brightYellow:`#ffff55`,brightBlue:`#5555ff`,brightMagenta:`#ff55ff`,brightCyan:`#55ffff`,brightWhite:`#ffffff`};function kI(e=OI){function t(t){return e[t]}function n(e){return`#${e.map(e=>Math.max(0,Math.min(e,255)).toString(16).padStart(2,`0`)).join(``)}`}let r;function i(){if(r)return r;r=[];for(let e=0;e<SI.length;e++)r.push(t(SI[e]));let e=[0,95,135,175,215,255];for(let t=0;t<6;t++)for(let i=0;i<6;i++)for(let a=0;a<6;a++)r.push(n([e[t],e[i],e[a]]));let i=8;for(let e=0;e<24;e++,i+=10)r.push(n([i,i,i]));return r}function a(e){return i()[e]}function o(e){switch(e.type){case`named`:return t(e.name);case`rgb`:return n(e.rgb);case`table`:return a(e.index)}}return{value:o}}var AI=/#([0-9a-f]{3,8})/i,jI=/var\((--[\w-]+-ansi-[\w-]+)\)/,MI={black:`#000000`,red:`#cd3131`,green:`#0DBC79`,yellow:`#E5E510`,blue:`#2472C8`,magenta:`#BC3FBC`,cyan:`#11A8CD`,white:`#E5E5E5`,brightBlack:`#666666`,brightRed:`#F14C4C`,brightGreen:`#23D18B`,brightYellow:`#F5F543`,brightBlue:`#3B8EEA`,brightMagenta:`#D670D6`,brightCyan:`#29B8DB`,brightWhite:`#FFFFFF`};function NI(e,t,n){let r=JN(e,n),i=rP(t),a=kI(Object.fromEntries(SI.map(t=>{let n=`terminal.ansi${t[0].toUpperCase()}${t.substring(1)}`;return[t,e.colors?.[n]||MI[t]]}))),o=DI();return i.map(t=>o.parse(t[0]).map(n=>{let i,o;n.decorations.has(`reverse`)?(i=n.background?a.value(n.background):e.bg,o=n.foreground?a.value(n.foreground):e.fg):(i=n.foreground?a.value(n.foreground):e.fg,o=n.background?a.value(n.background):void 0),i=YN(i,r),o=YN(o,r),n.decorations.has(`dim`)&&(i=PI(i));let s=jM.None;return n.decorations.has(`bold`)&&(s|=jM.Bold),n.decorations.has(`italic`)&&(s|=jM.Italic),n.decorations.has(`underline`)&&(s|=jM.Underline),n.decorations.has(`strikethrough`)&&(s|=jM.Strikethrough),{content:n.value,offset:t[1],color:i,bgColor:o,fontStyle:s}}))}function PI(e){let t=e.match(AI);if(t){let e=t[1];if(e.length===8){let t=Math.round(Number.parseInt(e.slice(6,8),16)/2).toString(16).padStart(2,`0`);return`#${e.slice(0,6)}${t}`}else if(e.length===6)return`#${e}80`;else if(e.length===4){let t=e[0],n=e[1],r=e[2],i=e[3];return`#${t}${t}${n}${n}${r}${r}${Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,`0`)}`}else if(e.length===3){let t=e[0],n=e[1],r=e[2];return`#${t}${t}${n}${n}${r}${r}80`}}let n=e.match(jI);return n?`var(${n[1]}-dim)`:e}function FI(e,t,n={}){let r=e.resolveLangAlias(n.lang||`text`),{theme:i=e.getLoadedThemes()[0]}=n;if(!QN(r)&&!eP(i)&&r===`ansi`){let{theme:r}=e.setTheme(i);return NI(r,t,n)}return wP(e,t,n)}function II(e,t,n){let r,i,a,o,s,c;if(`themes`in n){let{defaultColor:l=`light`,cssVariablePrefix:u=`--shiki-`,colorsRendering:d=`css-vars`}=n,f=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})).sort((e,t)=>e.color===l?-1:t.color===l?1:0);if(f.length===0)throw new uM("`themes` option must not be empty");let p=NP(e,t,n,FI);if(c=vP(p),l&&l!==`light-dark()`&&!f.some(e=>e.color===l))throw new uM(`\`themes\` option must contain the defaultColor key \`${l}\``);let m=f.map(t=>e.getTheme(t.theme)),h=f.map(e=>e.color);a=p.map(e=>e.map(e=>pI(e,h,u,l,d))),c&&_P(a,c);let g=f.map(e=>JN(e.theme,n));i=LI(f,m,g,u,l,`fg`,d),r=LI(f,m,g,u,l,`bg`,d),o=`shiki-themes ${m.map(e=>e.name).join(` `)}`,s=l?void 0:[i,r].join(`;`)}else if(`theme`in n){let s=JN(n.theme,n);a=FI(e,t,n);let l=e.getTheme(n.theme);r=YN(l.bg,s),i=YN(l.fg,s),o=l.name,c=vP(a)}else throw new uM("Invalid options, either `theme` or `themes` must be provided");return{tokens:a,fg:i,bg:r,themeName:o,rootStyle:s,grammarState:c}}function LI(e,t,n,r,i,a,o){return e.map((s,c)=>{let l=YN(t[c][a],n[c])||`inherit`,u=`${r+s.color}${a===`bg`?`-bg`:``}:${l}`;if(c===0&&i){if(i===`light-dark()`&&e.length>1){let r=e.findIndex(e=>e.color===`light`),i=e.findIndex(e=>e.color===`dark`);if(r===-1||i===-1)throw new uM('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${YN(t[r][a],n[r])||`inherit`}, ${YN(t[i][a],n[i])||`inherit`});${u}`}return l}return o===`css-vars`?u:null}).filter(e=>!!e).join(`;`)}var RI=/^\s+$/,zI=/^(\s*)(.*?)(\s*)$/;function BI(e,t,n,r={meta:{},options:n,codeToHast:(t,n)=>BI(e,t,n),codeToTokens:(t,n)=>II(e,t,n)}){let i=t;for(let e of bI(n))i=e.preprocess?.call(r,i,n)||i;let{tokens:a,fg:o,bg:s,themeName:c,rootStyle:l,grammarState:u}=II(e,i,n),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?a=HI(a):d===`never`&&(a=UI(a)),f&&(a=WI(a));let p={...r,get source(){return i}};for(let e of bI(n))a=e.tokens?.call(p,a)||a;return VI(a,{...n,fg:o,bg:s,themeName:c,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},p,u)}function VI(e,t,n,r=vP(e)){let i=bI(t),a=[],o={type:`root`,children:[]},{structure:s=`classic`,tabindex:c=`0`}=t,l={class:`shiki ${t.themeName||``}`};t.rootStyle!==!1&&(t.rootStyle==null?l.style=`background-color:${t.bg};color:${t.fg}`:l.style=t.rootStyle),c!==!1&&c!=null&&(l.tabindex=c.toString());for(let[e,n]of Object.entries(t.meta||{}))e.startsWith(`_`)||(l[e]=n);let u={type:`element`,tagName:`pre`,properties:l,children:[],data:t.data},d={type:`element`,tagName:`code`,properties:{},children:a},f=[],p={...n,structure:s,addClassToHast:rI,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return o},get pre(){return u},get code(){return d},get lines(){return f}};if(e.forEach((e,t)=>{t&&(s===`inline`?o.children.push({type:`element`,tagName:`br`,properties:{},children:[]}):s===`classic`&&a.push({type:`text`,value:`
|
|
41
|
-
`}));let n={type:`element`,tagName:`span`,properties:{class:`line`},children:[]},r=0;for(let a of e){let e={type:`element`,tagName:`span`,properties:{...a.htmlAttrs},children:[{type:`text`,value:a.content}]},c=
|
|
42
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function
|
|
40
|
+
\f\r "&'<=>\``.split(``)]],single:[[`&'`.split(``),`"&'\``.split(``)],[`\0&'`.split(``),`\0"&'\``.split(``)]],double:[[`"&`.split(``),`"&'\``.split(``)],[`\0"&`.split(``),`\0"&'\``.split(``)]]};function WF(e,t,n,r){let i=r.schema,a=i.space===`svg`?!1:r.settings.omitOptionalTags,o=i.space===`svg`?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),s=[],c;i.space===`html`&&e.tagName===`svg`&&(r.schema=l);let u=GF(r,e.properties),d=r.all(i.space===`html`&&e.tagName===`template`?e.content:e);return r.schema=i,d&&(o=!1),(u||!a||!LF(e,t,n))&&(s.push(`<`,e.tagName,u?` `+u:``),o&&(i.space===`svg`||r.settings.closeSelfClosing)&&(c=u.charAt(u.length-1),(!r.settings.tightSelfClosing||c===`/`||c&&c!==`"`&&c!==`'`)&&s.push(` `),s.push(`/`)),s.push(`>`)),s.push(d),!o&&(!a||!xF(e,t,n))&&s.push(`</`+e.tagName+`>`),s.join(``)}function GF(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=KF(e,i,t[i]);r&&n.push(r)}}for(;++r<n.length;){let t=e.settings.tightAttributes?n[r].charAt(n[r].length-1):void 0;r!==n.length-1&&t!==`"`&&t!==`'`&&(n[r]+=` `)}return n.join(``)}function KF(e,t,n){let r=s(e.schema,t),i=e.settings.allowParseErrors&&e.schema.space===`html`?0:1,a=e.settings.allowDangerousCharacters?0:1,l=e.quote,d;if(r.overloadedBoolean&&(n===r.attribute||n===``)?n=!0:(r.boolean||r.overloadedBoolean)&&(typeof n!=`string`||n===r.attribute||n===``)&&(n=!!n),n==null||n===!1||typeof n==`number`&&Number.isNaN(n))return``;let f=lF(r.attribute,Object.assign({},e.settings.characterReferences,{subset:UF.name[i][a]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?u:c)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?f:(e.settings.preferUnquoted&&(d=lF(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:UF.unquoted[i][a]}))),d!==n&&(e.settings.quoteSmart&&o(n,l)>o(n,e.alternative)&&(l=e.alternative),d=l+lF(n,Object.assign({},e.settings.characterReferences,{subset:(l===`'`?UF.single:UF.double)[i][a],attribute:!0}))+l),f+(d&&`=`+d))}var qF=[`<`,`&`];function JF(e,t,n,r){return n&&n.type===`element`&&(n.tagName===`script`||n.tagName===`style`)?e.value:lF(e.value,Object.assign({},r.settings.characterReferences,{subset:qF}))}function YF(e,t,n,r){return r.settings.allowDangerousHtml?e.value:JF(e,t,n,r)}function XF(e,t,n,r){return r.all(e)}var ZF=VP(`type`,{invalid:QF,unknown:$F,handlers:{comment:pF,doctype:mF,element:WF,raw:YF,root:XF,text:JF}});function QF(e){throw Error("Expected node, not `"+e+"`")}function $F(e){let t=e;throw Error("Cannot compile unknown node `"+t.type+"`")}var eI={},tI={},nI=[];function rI(e,t){let n=t||eI,i=n.quote||`"`,a=i===`"`?`'`:`"`;if(i!==`"`&&i!==`'`)throw Error("Invalid quote `"+i+"`, expected `'` or `\"`");return{one:iI,all:aI,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||zP,characterReferences:n.characterReferences||tI,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space===`svg`?l:r,quote:i,alternative:a}.one(Array.isArray(e)?{type:`root`,children:e}:e,void 0,void 0)}function iI(e,t,n){return ZF(e,t,n,this)}function aI(e){let t=[],n=e&&e.children||nI,r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join(``)}var oI=/\s+/g;function sI(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class==`string`&&(e.properties.class=e.properties.class.split(oI)),Array.isArray(e.properties.class)||(e.properties.class=[]);let n=Array.isArray(t)?t:t.split(oI);for(let t of n)t&&!e.properties.class.includes(t)&&e.properties.class.push(t);return e}var cI=/:?lang=["']([^"']+)["']/g,lI=/(?:```|~~~)([\w-]+)/g,uI=/\\begin\{([\w-]+)\}/g,dI=/<script\s+(?:type|lang)=["']([^"']+)["']/gi;function fI(e){let t=sP(e,!0).map(([e])=>e);function n(n){if(n===e.length)return{line:t.length-1,character:t.at(-1).length};let r=n,i=0;for(let e of t){if(r<e.length)break;r-=e.length,i++}return{line:i,character:r}}function r(e,n){let r=0;for(let n=0;n<e;n++)r+=t[n].length;return r+=n,r}return{lines:t,indexToPos:n,posToIndex:r}}function pI(e,t,n){let r=new Set;for(let t of e.matchAll(cI)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(lI)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(uI)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(dI)){let e=t[1].toLowerCase().trim(),n=e.includes(`/`)?e.split(`/`).pop():e;n&&r.add(n)}if(!n)return[...r];let i=n.getBundledLanguages();return[...r].filter(e=>e&&i[e])}var mI=[`color`,`background-color`];function hI(e,t){let n=0,r=[];for(let i of t)i>n&&r.push({...e,content:e.content.slice(n,i),offset:e.offset+n}),n=i;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function gI(e,t){let n=[...t instanceof Set?t:new Set(t)].sort((e,t)=>e-t);return n.length?e.map(e=>e.flatMap(e=>{let t=n.filter(t=>e.offset<t&&t<e.offset+e.content.length).map(t=>t-e.offset).sort((e,t)=>e-t);return t.length?hI(e,t):e})):e}function _I(e,t,n,r,i=`css-vars`){let a={content:e.content,explanation:e.explanation,offset:e.offset},o=t.map(t=>vI(e.variants[t])),s=new Set(o.flatMap(e=>Object.keys(e))),c={},l=(e,r)=>{let i=r===`color`?``:r===`background-color`?`-bg`:`-${r}`;return n+t[e]+(r===`color`?``:i)};return o.forEach((e,n)=>{for(let a of s){let s=e[a]||`inherit`;if(n===0&&r&&mI.includes(a))if(r===`light-dark()`&&o.length>1){let e=t.findIndex(e=>e===`light`),r=t.findIndex(e=>e===`dark`);if(e===-1||r===-1)throw new mM('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');c[a]=`light-dark(${o[e][a]||`inherit`}, ${o[r][a]||`inherit`})`,i===`css-vars`&&(c[l(n,a)]=s)}else c[a]=s;else i===`css-vars`&&(c[l(n,a)]=s)}}),a.htmlStyle=c,a}function vI(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t[`background-color`]=e.bgColor),e.fontStyle){e.fontStyle&FM.Italic&&(t[`font-style`]=`italic`),e.fontStyle&FM.Bold&&(t[`font-weight`]=`bold`);let n=[];e.fontStyle&FM.Underline&&n.push(`underline`),e.fontStyle&FM.Strikethrough&&n.push(`line-through`),n.length&&(t[`text-decoration`]=n.join(` `))}return t}function yI(e){return typeof e==`string`?e:Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}function bI(){let e=new WeakMap;function t(t){if(!e.has(t.meta)){let n=fI(t.source);function r(e){if(typeof e==`number`){if(e<0||e>t.source.length)throw new mM(`Invalid decoration offset: ${e}. Code length: ${t.source.length}`);return{...n.indexToPos(e),offset:e}}else{let t=n.lines[e.line];if(t===void 0)throw new mM(`Invalid decoration position ${JSON.stringify(e)}. Lines length: ${n.lines.length}`);let r=e.character;if(r<0&&(r=t.length+r),r<0||r>t.length)throw new mM(`Invalid decoration position ${JSON.stringify(e)}. Line ${e.line} length: ${t.length}`);return{...e,character:r,offset:n.posToIndex(e.line,r)}}}let i=(t.options.decorations||[]).map(e=>({...e,start:r(e.start),end:r(e.end)}));xI(i),e.set(t.meta,{decorations:i,converter:n,source:t.source})}return e.get(t.meta)}return{name:`shiki:decorations`,tokens(e){if(this.options.decorations?.length)return gI(e,t(this).decorations.flatMap(e=>[e.start.offset,e.end.offset]))},code(e){if(!this.options.decorations?.length)return;let n=t(this),r=[...e.children].filter(e=>e.type===`element`&&e.tagName===`span`);if(r.length!==n.converter.lines.length)throw new mM(`Number of lines in code element (${r.length}) does not match the number of lines in the source (${n.converter.lines.length}). Failed to apply decorations.`);function i(e,t,n,i){let a=r[e],s=``,c=-1,l=-1;if(t===0&&(c=0),n===0&&(l=0),n===1/0&&(l=a.children.length),c===-1||l===-1)for(let e=0;e<a.children.length;e++)s+=SI(a.children[e]),c===-1&&s.length===t&&(c=e+1),l===-1&&s.length===n&&(l=e+1);if(c===-1)throw new mM(`Failed to find start index for decoration ${JSON.stringify(i.start)}`);if(l===-1)throw new mM(`Failed to find end index for decoration ${JSON.stringify(i.end)}`);let u=a.children.slice(c,l);if(!i.alwaysWrap&&u.length===a.children.length)o(a,i,`line`);else if(!i.alwaysWrap&&u.length===1&&u[0].type===`element`)o(u[0],i,`token`);else{let e={type:`element`,tagName:`span`,properties:{},children:u};o(e,i,`wrapper`),a.children.splice(c,u.length,e)}}function a(e,t){r[e]=o(r[e],t,`line`)}function o(e,t,n){let r=t.properties||{},i=t.transform||(e=>e);return e.tagName=t.tagName||`span`,e.properties={...e.properties,...r,class:e.properties.class},t.properties?.class&&sI(e,t.properties.class),e=i(e,n)||e,e}let s=[],c=n.decorations.sort((e,t)=>t.start.offset-e.start.offset||e.end.offset-t.end.offset);for(let e of c){let{start:t,end:n}=e;if(t.line===n.line)i(t.line,t.character,n.character,e);else if(t.line<n.line){i(t.line,t.character,1/0,e);for(let r=t.line+1;r<n.line;r++)s.unshift(()=>a(r,e));i(n.line,0,n.character,e)}}s.forEach(e=>e())}}}function xI(e){for(let t=0;t<e.length;t++){let n=e[t];if(n.start.offset>n.end.offset)throw new mM(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){let t=e[r],i=n.start.offset<=t.start.offset&&t.start.offset<n.end.offset,a=n.start.offset<t.end.offset&&t.end.offset<=n.end.offset,o=t.start.offset<=n.start.offset&&n.start.offset<t.end.offset,s=t.start.offset<n.end.offset&&n.end.offset<=t.end.offset;if(i||a||o||s){if(i&&a||o&&s||o&&n.start.offset===n.end.offset||a&&t.start.offset===t.end.offset)continue;throw new mM(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(t.start)} intersect.`)}}}}function SI(e){return e.type===`text`?e.value:e.type===`element`?e.children.map(SI).join(``):``}var CI=[bI()];function wI(e){let t=TI(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...CI]}function TI(e){let t=[],n=[],r=[];for(let i of e)switch(i.enforce){case`pre`:t.push(i);break;case`post`:n.push(i);break;default:r.push(i)}return{pre:t,post:n,normal:r}}var EI=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],DI={1:`bold`,2:`dim`,3:`italic`,4:`underline`,7:`reverse`,8:`hidden`,9:`strikethrough`};function OI(e,t){let n=e.indexOf(`\x1B`,t);if(n!==-1&&e[n+1]===`[`){let t=e.indexOf(`m`,n);if(t!==-1)return{sequence:e.substring(n+2,t).split(`;`),startPosition:n,position:t+1}}return{position:e.length}}function kI(e){let t=e.shift();if(t===`2`){let t=e.splice(0,3).map(e=>Number.parseInt(e));return t.length!==3||t.some(e=>Number.isNaN(e))?void 0:{type:`rgb`,rgb:t}}else if(t===`5`){let t=e.shift();if(t)return{type:`table`,index:Number(t)}}}function AI(e){let t=[];for(;e.length>0;){let n=e.shift();if(!n)continue;let r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:`resetAll`});else if(r<=9)DI[r]&&t.push({type:`setDecoration`,value:DI[r]});else if(r<=29){let e=DI[r-20];e&&(t.push({type:`resetDecoration`,value:e}),e===`dim`&&t.push({type:`resetDecoration`,value:`bold`}))}else if(r<=37)t.push({type:`setForegroundColor`,value:{type:`named`,name:EI[r-30]}});else if(r===38){let n=kI(e);n&&t.push({type:`setForegroundColor`,value:n})}else if(r===39)t.push({type:`resetForegroundColor`});else if(r<=47)t.push({type:`setBackgroundColor`,value:{type:`named`,name:EI[r-40]}});else if(r===48){let n=kI(e);n&&t.push({type:`setBackgroundColor`,value:n})}else r===49?t.push({type:`resetBackgroundColor`}):r===53?t.push({type:`setDecoration`,value:`overline`}):r===55?t.push({type:`resetDecoration`,value:`overline`}):r>=90&&r<=97?t.push({type:`setForegroundColor`,value:{type:`named`,name:EI[r-90+8]}}):r>=100&&r<=107&&t.push({type:`setBackgroundColor`,value:{type:`named`,name:EI[r-100+8]}})}return t}function jI(){let e=null,t=null,n=new Set;return{parse(r){let i=[],a=0;do{let o=OI(r,a),s=o.sequence?r.substring(a,o.startPosition):r.substring(a);if(s.length>0&&i.push({value:s,foreground:e,background:t,decorations:new Set(n)}),o.sequence){let r=AI(o.sequence);for(let i of r)i.type===`resetAll`?(e=null,t=null,n.clear()):i.type===`resetForegroundColor`?e=null:i.type===`resetBackgroundColor`?t=null:i.type===`resetDecoration`&&n.delete(i.value);for(let i of r)i.type===`setForegroundColor`?e=i.value:i.type===`setBackgroundColor`?t=i.value:i.type===`setDecoration`&&n.add(i.value)}a=o.position}while(a<r.length);return i}}}var MI={black:`#000000`,red:`#bb0000`,green:`#00bb00`,yellow:`#bbbb00`,blue:`#0000bb`,magenta:`#ff00ff`,cyan:`#00bbbb`,white:`#eeeeee`,brightBlack:`#555555`,brightRed:`#ff5555`,brightGreen:`#00ff00`,brightYellow:`#ffff55`,brightBlue:`#5555ff`,brightMagenta:`#ff55ff`,brightCyan:`#55ffff`,brightWhite:`#ffffff`};function NI(e=MI){function t(t){return e[t]}function n(e){return`#${e.map(e=>Math.max(0,Math.min(e,255)).toString(16).padStart(2,`0`)).join(``)}`}let r;function i(){if(r)return r;r=[];for(let e=0;e<EI.length;e++)r.push(t(EI[e]));let e=[0,95,135,175,215,255];for(let t=0;t<6;t++)for(let i=0;i<6;i++)for(let a=0;a<6;a++)r.push(n([e[t],e[i],e[a]]));let i=8;for(let e=0;e<24;e++,i+=10)r.push(n([i,i,i]));return r}function a(e){return i()[e]}function o(e){switch(e.type){case`named`:return t(e.name);case`rgb`:return n(e.rgb);case`table`:return a(e.index)}}return{value:o}}var PI=/#([0-9a-f]{3,8})/i,FI=/var\((--[\w-]+-ansi-[\w-]+)\)/,II={black:`#000000`,red:`#cd3131`,green:`#0DBC79`,yellow:`#E5E510`,blue:`#2472C8`,magenta:`#BC3FBC`,cyan:`#11A8CD`,white:`#E5E5E5`,brightBlack:`#666666`,brightRed:`#F14C4C`,brightGreen:`#23D18B`,brightYellow:`#F5F543`,brightBlue:`#3B8EEA`,brightMagenta:`#D670D6`,brightCyan:`#29B8DB`,brightWhite:`#FFFFFF`};function LI(e,t,n){let r=QN(e,n),i=sP(t),a=NI(Object.fromEntries(EI.map(t=>{let n=`terminal.ansi${t[0].toUpperCase()}${t.substring(1)}`;return[t,e.colors?.[n]||II[t]]}))),o=jI();return i.map(t=>o.parse(t[0]).map(n=>{let i,o;n.decorations.has(`reverse`)?(i=n.background?a.value(n.background):e.bg,o=n.foreground?a.value(n.foreground):e.fg):(i=n.foreground?a.value(n.foreground):e.fg,o=n.background?a.value(n.background):void 0),i=$N(i,r),o=$N(o,r),n.decorations.has(`dim`)&&(i=RI(i));let s=FM.None;return n.decorations.has(`bold`)&&(s|=FM.Bold),n.decorations.has(`italic`)&&(s|=FM.Italic),n.decorations.has(`underline`)&&(s|=FM.Underline),n.decorations.has(`strikethrough`)&&(s|=FM.Strikethrough),{content:n.value,offset:t[1],color:i,bgColor:o,fontStyle:s}}))}function RI(e){let t=e.match(PI);if(t){let e=t[1];if(e.length===8){let t=Math.round(Number.parseInt(e.slice(6,8),16)/2).toString(16).padStart(2,`0`);return`#${e.slice(0,6)}${t}`}else if(e.length===6)return`#${e}80`;else if(e.length===4){let t=e[0],n=e[1],r=e[2],i=e[3];return`#${t}${t}${n}${n}${r}${r}${Math.round(Number.parseInt(`${i}${i}`,16)/2).toString(16).padStart(2,`0`)}`}else if(e.length===3){let t=e[0],n=e[1],r=e[2];return`#${t}${t}${n}${n}${r}${r}80`}}let n=e.match(FI);return n?`var(${n[1]}-dim)`:e}function zI(e,t,n={}){let r=e.resolveLangAlias(n.lang||`text`),{theme:i=e.getLoadedThemes()[0]}=n;if(!nP(r)&&!iP(i)&&r===`ansi`){let{theme:r}=e.setTheme(i);return LI(r,t,n)}return OP(e,t,n)}function BI(e,t,n){let r,i,a,o,s,c;if(`themes`in n){let{defaultColor:l=`light`,cssVariablePrefix:u=`--shiki-`,colorsRendering:d=`css-vars`}=n,f=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})).sort((e,t)=>e.color===l?-1:t.color===l?1:0);if(f.length===0)throw new mM("`themes` option must not be empty");let p=LP(e,t,n,zI);if(c=SP(p),l&&l!==`light-dark()`&&!f.some(e=>e.color===l))throw new mM(`\`themes\` option must contain the defaultColor key \`${l}\``);let m=f.map(t=>e.getTheme(t.theme)),h=f.map(e=>e.color);a=p.map(e=>e.map(e=>_I(e,h,u,l,d))),c&&xP(a,c);let g=f.map(e=>QN(e.theme,n));i=VI(f,m,g,u,l,`fg`,d),r=VI(f,m,g,u,l,`bg`,d),o=`shiki-themes ${m.map(e=>e.name).join(` `)}`,s=l?void 0:[i,r].join(`;`)}else if(`theme`in n){let s=QN(n.theme,n);a=zI(e,t,n);let l=e.getTheme(n.theme);r=$N(l.bg,s),i=$N(l.fg,s),o=l.name,c=SP(a)}else throw new mM("Invalid options, either `theme` or `themes` must be provided");return{tokens:a,fg:i,bg:r,themeName:o,rootStyle:s,grammarState:c}}function VI(e,t,n,r,i,a,o){return e.map((s,c)=>{let l=$N(t[c][a],n[c])||`inherit`,u=`${r+s.color}${a===`bg`?`-bg`:``}:${l}`;if(c===0&&i){if(i===`light-dark()`&&e.length>1){let r=e.findIndex(e=>e.color===`light`),i=e.findIndex(e=>e.color===`dark`);if(r===-1||i===-1)throw new mM('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${$N(t[r][a],n[r])||`inherit`}, ${$N(t[i][a],n[i])||`inherit`});${u}`}return l}return o===`css-vars`?u:null}).filter(e=>!!e).join(`;`)}var HI=/^\s+$/,UI=/^(\s*)(.*?)(\s*)$/;function WI(e,t,n,r={meta:{},options:n,codeToHast:(t,n)=>WI(e,t,n),codeToTokens:(t,n)=>BI(e,t,n)}){let i=t;for(let e of wI(n))i=e.preprocess?.call(r,i,n)||i;let{tokens:a,fg:o,bg:s,themeName:c,rootStyle:l,grammarState:u}=BI(e,i,n),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?a=KI(a):d===`never`&&(a=qI(a)),f&&(a=JI(a));let p={...r,get source(){return i}};for(let e of wI(n))a=e.tokens?.call(p,a)||a;return GI(a,{...n,fg:o,bg:s,themeName:c,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},p,u)}function GI(e,t,n,r=SP(e)){let i=wI(t),a=[],o={type:`root`,children:[]},{structure:s=`classic`,tabindex:c=`0`}=t,l={class:`shiki ${t.themeName||``}`};t.rootStyle!==!1&&(t.rootStyle==null?l.style=`background-color:${t.bg};color:${t.fg}`:l.style=t.rootStyle),c!==!1&&c!=null&&(l.tabindex=c.toString());for(let[e,n]of Object.entries(t.meta||{}))e.startsWith(`_`)||(l[e]=n);let u={type:`element`,tagName:`pre`,properties:l,children:[],data:t.data},d={type:`element`,tagName:`code`,properties:{},children:a},f=[],p={...n,structure:s,addClassToHast:sI,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return o},get pre(){return u},get code(){return d},get lines(){return f}};if(e.forEach((e,t)=>{t&&(s===`inline`?o.children.push({type:`element`,tagName:`br`,properties:{},children:[]}):s===`classic`&&a.push({type:`text`,value:`
|
|
41
|
+
`}));let n={type:`element`,tagName:`span`,properties:{class:`line`},children:[]},r=0;for(let a of e){let e={type:`element`,tagName:`span`,properties:{...a.htmlAttrs},children:[{type:`text`,value:a.content}]},c=yI(a.htmlStyle||vI(a));c&&(e.properties.style=c);for(let o of i)e=o?.span?.call(p,e,t+1,r,n,a)||e;s===`inline`?o.children.push(e):s===`classic`&&n.children.push(e),r+=a.content.length}if(s===`classic`){for(let e of i)n=e?.line?.call(p,n,t+1)||n;f.push(n),a.push(n)}else s===`inline`&&f.push(n)}),s===`classic`){for(let e of i)d=e?.code?.call(p,d)||d;u.children.push(d);for(let e of i)u=e?.pre?.call(p,u)||u;o.children.push(u)}else if(s===`inline`){let e=[],t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]};for(let n of o.children)n.type===`element`&&n.tagName===`br`?(e.push(t),t={type:`element`,tagName:`span`,properties:{class:`line`},children:[]}):(n.type===`element`||n.type===`text`)&&t.children.push(n);e.push(t);let n={type:`element`,tagName:`code`,properties:{},children:e};for(let e of i)n=e?.code?.call(p,n)||n;o.children=[];for(let e=0;e<n.children.length;e++){e>0&&o.children.push({type:`element`,tagName:`br`,properties:{},children:[]});let t=n.children[e];t.type===`element`&&o.children.push(...t.children)}}let m=o;for(let e of i)m=e?.root?.call(p,m)||m;return r&&xP(m,r),m}function KI(e){return e.map(e=>{let t=[],n=``,r;return e.forEach((i,a)=>{let o=!(i.fontStyle&&(i.fontStyle&FM.Underline||i.fontStyle&FM.Strikethrough));o&&HI.test(i.content)&&e[a+1]?(r===void 0&&(r=i.offset),n+=i.content):n?(o?t.push({...i,offset:r,content:n+i.content}):t.push({content:n,offset:r},i),r=void 0,n=``):t.push(i)}),t})}function qI(e){return e.map(e=>e.flatMap(e=>{if(HI.test(e.content))return e;let t=e.content.match(UI);if(!t)return e;let[,n,r,i]=t;if(!n&&!i)return e;let a=[{...e,offset:e.offset+n.length,content:r}];return n&&a.unshift({content:n,offset:e.offset}),i&&a.push({content:i,offset:e.offset+n.length+r.length}),a}))}function JI(e){return e.map(e=>{let t=[];for(let n of e){if(t.length===0){t.push({...n});continue}let e=t.at(-1),r=yI(e.htmlStyle||vI(e)),i=yI(n.htmlStyle||vI(n)),a=e.fontStyle&&(e.fontStyle&FM.Underline||e.fontStyle&FM.Strikethrough),o=n.fontStyle&&(n.fontStyle&FM.Underline||n.fontStyle&FM.Strikethrough);!a&&!o&&r===i?e.content+=n.content:t.push({...n})}return t})}var YI=rI;function XI(e,t,n){let r={meta:{},options:n,codeToHast:(t,n)=>WI(e,t,n),codeToTokens:(t,n)=>BI(e,t,n)},i=YI(WI(e,t,n,r));for(let e of wI(n))i=e.postprocess?.call(r,i,n)||i;return i}async function ZI(e){let t=await yP(e);return{getLastGrammarState:(...e)=>kP(t,...e),codeToTokensBase:(e,n)=>zI(t,e,n),codeToTokensWithThemes:(e,n)=>LP(t,e,n),codeToTokens:(e,n)=>BI(t,e,n),codeToHast:(e,n)=>WI(t,e,n),codeToHtml:(e,n)=>XI(t,e,n),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function QI(e){let t=e.langs,n=e.themes,r=e.engine;async function i(e){function i(n){if(typeof n==`string`){if(n=e.langAlias?.[n]||n,rP(n))return[];let r=t[n];if(!r)throw new mM(`Language \`${n}\` is not included in this bundle. You may want to load it from external source.`);return r}return n}function a(e){if(aP(e))return`none`;if(typeof e==`string`){let t=n[e];if(!t)throw new mM(`Theme \`${e}\` is not included in this bundle. You may want to load it from external source.`);return t}return e}let o=(e.themes??[]).map(e=>a(e)),s=(e.langs??[]).map(e=>i(e)),c=await ZI({engine:e.engine??r(),...e,themes:o,langs:s});return{...c,loadLanguage(...e){return c.loadLanguage(...e.map(i))},loadTheme(...e){return c.loadTheme(...e.map(a))},getBundledLanguages(){return t},getBundledThemes(){return n}}}return i}function $I(e){let t;async function n(n={}){if(t){let e=await t;return await Promise.all([e.loadTheme(...n.themes||[]),e.loadLanguage(...n.langs||[])]),e}else{t=e({...n,themes:[],langs:[]});let r=await t;return await Promise.all([r.loadTheme(...n.themes||[]),r.loadLanguage(...n.langs||[])]),r}}return n}function eL(e,t){let n=$I(e);async function r(e,r){let i=await n({langs:[r.lang],themes:`theme`in r?[r.theme]:Object.values(r.themes)}),a=await t?.guessEmbeddedLanguages?.(e,r.lang,i);return a&&await i.loadLanguage(...a),i}return{getSingletonHighlighter(e){return n(e)},async codeToHtml(e,t){return(await r(e,t)).codeToHtml(e,t)},async codeToHast(e,t){return(await r(e,t)).codeToHast(e,t)},async codeToTokens(e,t){return(await r(e,t)).codeToTokens(e,t)},async codeToTokensBase(e,t){return(await r(e,t)).codeToTokensBase(e,t)},async codeToTokensWithThemes(e,t){return(await r(e,t)).codeToTokensWithThemes(e,t)},async getLastGrammarState(e,t){return(await n({langs:[t.lang],themes:[t.theme]})).getLastGrammarState(e,t)}}}var tL=QI({langs:Ij,themes:Lj,engine:()=>(0,pM.createOnigurumaEngine)(W(()=>import(`./wasm-zZ1M7mPf.js`),[]))}),{codeToHtml:nL,codeToHast:rL,codeToTokens:iL,codeToTokensBase:aL,codeToTokensWithThemes:oL,getSingletonHighlighter:sL,getLastGrammarState:cL}=eL(tL,{guessEmbeddedLanguages:pI}),lL=[`github-dark-dimmed`,`github-light`,`one-dark-pro`],uL=[`javascript`,`typescript`,`tsx`,`jsx`,`json`,`shellscript`,`bash`,`python`,`go`,`rust`,`sql`,`yaml`,`markdown`,`html`,`css`,`docker`],dL={js:`javascript`,ts:`typescript`,sh:`bash`,shell:`bash`,zsh:`bash`,py:`python`,rs:`rust`,yml:`yaml`,md:`markdown`,dockerfile:`docker`,golang:`go`},fL=null,pL=null,mL=`github-dark-dimmed`,hL=mL,gL=new Set(uL),_L=new Set(lL),vL=new Map,yL=600;function bL(e,t){return`${mL}::${t}::${e}`}function xL(e,t){if(vL.size>=yL){let e=vL.keys().next().value;e!==void 0&&vL.delete(e)}vL.set(e,t)}function SL(){if(!fL){let e=hL;fL=tL({themes:lL,langs:uL}).then(async t=>{let n=typeof e==`string`?e:e.name;if(typeof n==`string`&&!_L.has(n))try{await t.loadTheme(e),_L.add(n)}catch{mL===n&&(mL=`github-dark-dimmed`)}return pL=t,t})}return fL}function CL(e,t){let n=wL(t)||`text`,r=bL(e,n),i=vL.get(r);if(i!==void 0)return i;if(!pL||n!==`text`&&!gL.has(n))return null;try{let t=pL.codeToHtml(e,{lang:n,theme:mL});return xL(r,t),t}catch{return null}}function wL(e){let t=(e||``).toLowerCase().trim();return dL[t]??t}async function TL(e,t){let n=await SL(),r=wL(t);if(r&&!gL.has(r))try{await n.loadLanguage(r),gL.add(r)}catch{r=`text`}r||=`text`;let i=n.codeToHtml(e,{lang:r,theme:mL});return xL(bL(e,r),i),i}var EL=new Set,DL=new Map;function OL(e,t,n){let r=bL(t,n),i=DL.get(r);if(i)return i;let a=e.codeToTokensBase(t,{lang:n,theme:mL});if(DL.size>=yL){let e=DL.keys().next().value;e!==void 0&&DL.delete(e)}return DL.set(r,a),a}function kL(e,t){let n=wL(t)||`text`;if(!pL)return null;let r=n===`text`||EL.has(n)?`text`:n;if(r!==`text`&&!gL.has(r))return null;try{return OL(pL,e,r)}catch{return null}}async function AL(e,t){let n=await SL(),r=wL(t)||`text`;if(EL.has(r)&&(r=`text`),r!==`text`&&!gL.has(r))try{await n.loadLanguage(r),gL.add(r)}catch{EL.add(r),r=`text`}return OL(n,e,r)}function jL(){return mL}async function ML(e){if(hL=e,!fL){let t=typeof e==`string`?e:e.name;typeof t==`string`&&(mL=t);return}let t=await SL();if(typeof e==`string`){if(!_L.has(e))try{await t.loadTheme(e),_L.add(e)}catch{return}mL=e}else{let n=e.name;if(!n)return;if(!_L.has(n))try{await t.loadTheme(e),_L.add(n)}catch{return}mL=n}}function NL(e){return e.syntax?.shikiTheme?e.syntax.shikiTheme:e.mode===`light`?`github-light`:`github-dark-dimmed`}var PL=!1;function FL(){if(PL||typeof window>`u`)return;PL=!0,window.addEventListener(oa,e=>{let t=e.detail;t&&ML(NL(t)).then(()=>{window.dispatchEvent(new CustomEvent(`ppm:shiki-theme-change`))})});let e=aa();e&&ML(NL(e)).then(()=>{window.dispatchEvent(new CustomEvent(`ppm:shiki-theme-change`))})}function IL(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function LL(e){if(Array.isArray(e))return e}function RL(e,t,n){return(t=qL(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zL(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function BL(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
42
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VL(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 HL(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?VL(Object(n),!0).forEach(function(t){RL(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):VL(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function UL(e,t){if(e==null)return{};var n,r,i=WL(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function WL(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function GL(e,t){return LL(e)||zL(e,t)||JL(e,t)||BL()}function KL(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function qL(e){var t=KL(e,`string`);return typeof t==`symbol`?t:t+``}function JL(e,t){if(e){if(typeof e==`string`)return IL(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?IL(e,t):void 0}}function YL(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function XL(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 ZL(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?XL(Object(n),!0).forEach(function(t){YL(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):XL(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function QL(){var e=[...arguments];return function(t){return e.reduceRight(function(e,t){return t(e)},t)}}function $L(e){return function t(){var n=this,r=[...arguments];return r.length>=e.length?e.apply(this,r):function(){var e=[...arguments];return t.apply(n,[].concat(r,e))}}}function eR(e){return{}.toString.call(e).includes(`Object`)}function tR(e){return!Object.keys(e).length}function nR(e){return typeof e==`function`}function rR(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function iR(e,t){return eR(t)||lR(`changeType`),Object.keys(t).some(function(t){return!rR(e,t)})&&lR(`changeField`),t}function aR(e){nR(e)||lR(`selectorType`)}function oR(e){nR(e)||eR(e)||lR(`handlerType`),eR(e)&&Object.values(e).some(function(e){return!nR(e)})&&lR(`handlersType`)}function sR(e){e||lR(`initialIsRequired`),eR(e)||lR(`initialType`),tR(e)&&lR(`initialContent`)}function cR(e,t){throw Error(e[t]||e.default)}var lR=$L(cR)({initialIsRequired:`initial state is required`,initialType:`initial state should be an object`,initialContent:`initial state shouldn't be an empty object`,handlerType:`handler should be an object or a function`,handlersType:`all handlers should be a functions`,selectorType:`selector should be a function`,changeType:`provided value of changes should be an object`,changeField:`it seams you want to change a field in the state which is not specified in the "initial" state`,default:"an unknown error accured in `state-local` package"}),uR={changes:iR,selector:aR,handler:oR,initial:sR};function dR(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};uR.initial(e),uR.handler(t);var n={current:e},r=$L(mR)(n,t),i=$L(pR)(n),a=$L(uR.changes)(e),o=$L(fR)(n);function s(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(e){return e};return uR.selector(e),e(n.current)}function c(e){QL(r,i,a,o)(e)}return[s,c]}function fR(e,t){return nR(t)?t(e.current):t}function pR(e,t){return e.current=ZL(ZL({},e.current),t),t}function mR(e,t,n){return nR(t)?t(e.current):Object.keys(n).forEach(function(n){return t[n]?.call(t,e.current[n])}),n}var hR={create:dR},gR={paths:{vs:`https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs`}};function _R(e){return function t(){var n=this,r=[...arguments];return r.length>=e.length?e.apply(this,r):function(){var e=[...arguments];return t.apply(n,[].concat(r,e))}}}function vR(e){return{}.toString.call(e).includes(`Object`)}function yR(e){return e||CR(`configIsRequired`),vR(e)||CR(`configType`),e.urls?(bR(),{paths:{vs:e.urls.monacoBase}}):e}function bR(){console.warn(SR.deprecation)}function xR(e,t){throw Error(e[t]||e.default)}var SR={configIsRequired:`the configuration object is required`,configType:`the configuration object should be an object`,default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
43
43
|
You are using deprecated way of configuration.
|
|
44
44
|
|
|
45
45
|
Instead of using
|
|
@@ -48,12 +48,12 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
48
48
|
monaco.config({ paths: { vs: '...' } })
|
|
49
49
|
|
|
50
50
|
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
51
|
-
`},yR=pR(_R)(vR),bR={config:hR},xR=function(){var e=[...arguments];return function(t){return e.reduceRight(function(e,t){return t(e)},t)}};function SR(e,t){return Object.keys(t).forEach(function(n){t[n]instanceof Object&&e[n]&&Object.assign(t[n],SR(e[n],t[n]))}),RL(RL({},e),t)}var CR={type:`cancelation`,msg:`operation is manually canceled`};function wR(e){var t=!1,n=new Promise(function(n,r){e.then(function(e){return t?r(CR):n(e)}),e.catch(r)});return n.cancel=function(){return t=!0},n}var TR=[`monaco`],ER=VL(dR.create({config:fR,isInitialized:!1,resolve:null,reject:null,monaco:null}),2),DR=ER[0],OR=ER[1];function kR(e){var t=bR.config(e),n=t.monaco,r=zL(t,TR);OR(function(e){return{config:SR(e.config,r),monaco:n}})}function AR(){var e=DR(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(OR({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),wR(LR);if(window.monaco&&window.monaco.editor)return FR(window.monaco),e.resolve(window.monaco),wR(LR);xR(jR,NR)(PR)}return wR(LR)}function jR(e){return document.body.appendChild(e)}function MR(e){var t=document.createElement(`script`);return e&&(t.src=e),t}function NR(e){var t=DR(function(e){return{config:e.config,reject:e.reject}}),n=MR(`${t.config.paths.vs}/loader.js`);return n.onload=function(){return e()},n.onerror=t.reject,n}function PR(){var e=DR(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t([`vs/editor/editor.main`],function(t){var n=t.m||t;FR(n),e.resolve(n)},function(t){e.reject(t)})}function FR(e){DR().monaco||OR({monaco:e})}function IR(){return DR(function(e){return e.monaco})}var LR=new Promise(function(e,t){return OR({resolve:e,reject:t})}),RR={config:kR,init:AR,__getMonacoInstance:IR},zR={wrapper:{display:`flex`,position:`relative`,textAlign:`initial`},fullWidth:{width:`100%`},hide:{display:`none`}},BR={container:{display:`flex`,height:`100%`,width:`100%`,justifyContent:`center`,alignItems:`center`}};function VR({children:e}){return Q.createElement(`div`,{style:BR.container},e)}var HR=VR;function UR({width:e,height:t,isEditorReady:n,loading:r,_ref:i,className:a,wrapperProps:o}){return Q.createElement(`section`,{style:{...zR.wrapper,width:e,height:t},...o},!n&&Q.createElement(HR,null,r),Q.createElement(`div`,{ref:i,style:{...zR.fullWidth,...!n&&zR.hide},className:a}))}var WR=(0,Q.memo)(UR);function GR(e){(0,Q.useEffect)(e,[])}var KR=GR;function qR(e,t,n=!0){let r=(0,Q.useRef)(!0);(0,Q.useEffect)(r.current||!n?()=>{r.current=!1}:e,t)}var JR=qR;function YR(){}function XR(e,t,n,r){return ZR(e,r)||QR(e,t,n,r)}function ZR(e,t){return e.editor.getModel($R(e,t))}function QR(e,t,n,r){return e.editor.createModel(t,n,r?$R(e,r):void 0)}function $R(e,t){return e.Uri.parse(t)}function ez({original:e,modified:t,language:n,originalLanguage:r,modifiedLanguage:i,originalModelPath:a,modifiedModelPath:o,keepCurrentOriginalModel:s=!1,keepCurrentModifiedModel:c=!1,theme:l=`light`,loading:u=`Loading...`,options:d={},height:f=`100%`,width:p=`100%`,className:m,wrapperProps:h={},beforeMount:g=YR,onMount:_=YR}){let[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(!0),S=(0,Q.useRef)(null),C=(0,Q.useRef)(null),w=(0,Q.useRef)(null),T=(0,Q.useRef)(_),E=(0,Q.useRef)(g),D=(0,Q.useRef)(!1);KR(()=>{let e=RR.init();return e.then(e=>(C.current=e)&&x(!1)).catch(e=>e?.type!==`cancelation`&&console.error(`Monaco initialization: error:`,e)),()=>S.current?A():e.cancel()}),JR(()=>{if(S.current&&C.current){let t=S.current.getOriginalEditor(),i=XR(C.current,e||``,r||n||`text`,a||``);i!==t.getModel()&&t.setModel(i)}},[a],v),JR(()=>{if(S.current&&C.current){let e=S.current.getModifiedEditor(),r=XR(C.current,t||``,i||n||`text`,o||``);r!==e.getModel()&&e.setModel(r)}},[o],v),JR(()=>{let e=S.current.getModifiedEditor();e.getOption(C.current.editor.EditorOption.readOnly)?e.setValue(t||``):t!==e.getValue()&&(e.executeEdits(``,[{range:e.getModel().getFullModelRange(),text:t||``,forceMoveMarkers:!0}]),e.pushUndoStop())},[t],v),JR(()=>{S.current?.getModel()?.original.setValue(e||``)},[e],v),JR(()=>{let{original:e,modified:t}=S.current.getModel();C.current.editor.setModelLanguage(e,r||n||`text`),C.current.editor.setModelLanguage(t,i||n||`text`)},[n,r,i],v),JR(()=>{C.current?.editor.setTheme(l)},[l],v),JR(()=>{S.current?.updateOptions(d)},[d],v);let O=(0,Q.useCallback)(()=>{if(!C.current)return;E.current(C.current);let s=XR(C.current,e||``,r||n||`text`,a||``),c=XR(C.current,t||``,i||n||`text`,o||``);S.current?.setModel({original:s,modified:c})},[n,t,i,e,r,a,o]),k=(0,Q.useCallback)(()=>{!D.current&&w.current&&(S.current=C.current.editor.createDiffEditor(w.current,{automaticLayout:!0,...d}),O(),C.current?.editor.setTheme(l),y(!0),D.current=!0)},[d,l,O]);(0,Q.useEffect)(()=>{v&&T.current(S.current,C.current)},[v]),(0,Q.useEffect)(()=>{!b&&!v&&k()},[b,v,k]);function A(){let e=S.current?.getModel();s||e?.original?.dispose(),c||e?.modified?.dispose(),S.current?.dispose()}return Q.createElement(WR,{width:p,height:f,isEditorReady:v,loading:u,_ref:w,className:m,wrapperProps:h})}var tz=(0,Q.memo)(ez);function nz(e){let t=(0,Q.useRef)();return(0,Q.useEffect)(()=>{t.current=e},[e]),t.current}var rz=nz,iz=new Map;function az({defaultValue:e,defaultLanguage:t,defaultPath:n,value:r,language:i,path:a,theme:o=`light`,line:s,loading:c=`Loading...`,options:l={},overrideServices:u={},saveViewState:d=!0,keepCurrentModel:f=!1,width:p=`100%`,height:m=`100%`,className:h,wrapperProps:g={},beforeMount:_=YR,onMount:v=YR,onChange:y,onValidate:b=YR}){let[x,S]=(0,Q.useState)(!1),[C,w]=(0,Q.useState)(!0),T=(0,Q.useRef)(null),E=(0,Q.useRef)(null),D=(0,Q.useRef)(null),O=(0,Q.useRef)(v),k=(0,Q.useRef)(_),A=(0,Q.useRef)(),j=(0,Q.useRef)(r),M=rz(a),N=(0,Q.useRef)(!1),P=(0,Q.useRef)(!1);KR(()=>{let e=RR.init();return e.then(e=>(T.current=e)&&w(!1)).catch(e=>e?.type!==`cancelation`&&console.error(`Monaco initialization: error:`,e)),()=>E.current?F():e.cancel()}),JR(()=>{let o=XR(T.current,e||r||``,t||i||``,a||n||``);o!==E.current?.getModel()&&(d&&iz.set(M,E.current?.saveViewState()),E.current?.setModel(o),d&&E.current?.restoreViewState(iz.get(a)))},[a],x),JR(()=>{E.current?.updateOptions(l)},[l],x),JR(()=>{!E.current||r===void 0||(E.current.getOption(T.current.editor.EditorOption.readOnly)?E.current.setValue(r):r!==E.current.getValue()&&(P.current=!0,E.current.executeEdits(``,[{range:E.current.getModel().getFullModelRange(),text:r,forceMoveMarkers:!0}]),E.current.pushUndoStop(),P.current=!1))},[r],x),JR(()=>{let e=E.current?.getModel();e&&i&&T.current?.editor.setModelLanguage(e,i)},[i],x),JR(()=>{s!==void 0&&E.current?.revealLine(s)},[s],x),JR(()=>{T.current?.editor.setTheme(o)},[o],x);let ee=(0,Q.useCallback)(()=>{if(!(!D.current||!T.current)&&!N.current){k.current(T.current);let c=a||n,f=XR(T.current,r||e||``,t||i||``,c||``);E.current=T.current?.editor.create(D.current,{model:f,automaticLayout:!0,...l},u),d&&E.current.restoreViewState(iz.get(c)),T.current.editor.setTheme(o),s!==void 0&&E.current.revealLine(s),S(!0),N.current=!0}},[e,t,n,r,i,a,l,u,d,o,s]);(0,Q.useEffect)(()=>{x&&O.current(E.current,T.current)},[x]),(0,Q.useEffect)(()=>{!C&&!x&&ee()},[C,x,ee]),j.current=r,(0,Q.useEffect)(()=>{x&&y&&(A.current?.dispose(),A.current=E.current?.onDidChangeModelContent(e=>{P.current||y(E.current.getValue(),e)}))},[x,y]),(0,Q.useEffect)(()=>{if(x){let e=T.current.editor.onDidChangeMarkers(e=>{let t=E.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=T.current.editor.getModelMarkers({resource:t});b?.(e)}});return()=>{e?.dispose()}}return()=>{}},[x,b]);function F(){A.current?.dispose(),f?d&&iz.set(a,E.current.saveViewState()):E.current.getModel()?.dispose(),E.current.dispose()}return Q.createElement(WR,{width:p,height:m,isEditorReady:x,loading:c,_ref:D,className:h,wrapperProps:g})}var oz=(0,Q.memo)(az),sz={type:`4EC9B0`,function:`DCDCAA`,variable:`9CDCFE`,constant:`4FC1FF`,keyword:`569CD6`},cz={type:`267F99`,function:`795E26`,variable:`001080`,constant:`0070C1`,keyword:`0000FF`};function lz(e){let t=e===`dark`?sz:cz;return[{token:`namespace`,foreground:t.type},{token:`type`,foreground:t.type},{token:`class`,foreground:t.type},{token:`enum`,foreground:t.type},{token:`interface`,foreground:t.type},{token:`struct`,foreground:t.type},{token:`typeParameter`,foreground:t.type},{token:`function`,foreground:t.function},{token:`method`,foreground:t.function},{token:`member`,foreground:t.function},{token:`macro`,foreground:t.function},{token:`decorator`,foreground:t.function},{token:`variable`,foreground:t.variable},{token:`parameter`,foreground:t.variable},{token:`property`,foreground:t.variable},{token:`event`,foreground:t.variable},{token:`enumMember`,foreground:t.constant},{token:`variable.readonly`,foreground:t.constant},{token:`property.readonly`,foreground:t.constant},{token:`modifier`,foreground:t.keyword}]}var uz={inserted:`6A9955`,deleted:`CE9178`,header:`569CD6`},dz={inserted:`098658`,deleted:`A31515`,header:`0000FF`};function fz(e){let t=e===`dark`?uz:dz;return[{token:`inserted`,foreground:t.inserted},{token:`deleted`,foreground:t.deleted},{token:`meta.diff.header`,foreground:t.header},{token:`meta.diff.range`,foreground:t.header}]}function pz(e){return`ppm-${e.id}`}function mz(e,t){return/^#[0-9a-fA-F]{6}$/.test(e)?e+t:e}function hz(e){let t=e.tokens;return{"editor.background":t.bgSolid,"editor.foreground":t.text,"editorLineNumber.foreground":t.text3,"editorLineNumber.activeForeground":t.text2,"editorCursor.foreground":t.accent,"editor.selectionBackground":mz(t.accent,`33`),"editor.lineHighlightBackground":mz(t.accent,`12`),"editorWidget.background":t.bgSolid,"editorGutter.background":t.bgSolid,"editorIndentGuide.background1":mz(t.text3,`40`),"editorWhitespace.foreground":mz(t.text3,`40`),...e.editor?.colors}}RR.config({paths:{vs:`/assets/monaco/vs`}});var gz=null;function _z(e,t){let n=pz(t);return e.editor.defineTheme(n,{base:t.mode===`dark`?`vs-dark`:`vs`,inherit:!0,rules:[...lz(t.mode),...fz(t.mode),...t.editor?.rules??[]],colors:hz(t)}),n}function vz(){let e=U.getState();return aa()??Ds(e.themeStyle,e.themeMode,e.customThemes,e.customThemeId)}var yz=!1;function bz(){gz&&gz.editor.setTheme(_z(gz,vz()))}function xz(e){gz=e,Sz(),bz()}function Sz(){yz||typeof window>`u`||(yz=!0,window.addEventListener(oa,bz))}var Cz=30*6e4,wz=new Map,Tz=new Map,Ez=new Set,Dz=(e,t=`claude`)=>JSON.stringify([e,t]);function Oz(e,t=`claude`){return wz.get(Dz(e,t))?.data??Tz.get(t)}function kz(e){return Ez.add(e),()=>{Ez.delete(e)}}function Az(e,t,n){let r=new URLSearchParams({providerId:t});return n&&r.set(`sessionId`,n),H.get(`${V(e)}/chat/slash-items?${r}`).then(e=>({items:e.items??[],recentNames:e.recentNames??[]}))}function jz(e,t,n,r){let i=r.then(r=>(wz.get(e)===t&&(t.data=r,t.expiresAt=Date.now()+Cz,Tz.set(n,{items:r.items.filter(e=>e.scope!==`project`),recentNames:[]}),Ez.forEach(e=>e())),r)).finally(()=>{t.promise===i&&(t.promise=void 0)});return t.promise=i,i}function Mz(e,t=`claude`,n){let r=Dz(e,t),i=wz.get(r);if(i?.promise)return i.promise;if(i?.data&&Date.now()<i.expiresAt)return Promise.resolve(i.data);let a=i??{expiresAt:0};return i||wz.set(r,a),jz(r,a,t,Az(e,t,n))}function Nz(e,t,n){let r=Dz(e,t),i=wz.get(r);if(i?.promise||i?.data&&Date.now()<i.expiresAt)return;let a=i??{expiresAt:0};i||wz.set(r,a),jz(r,a,t,n.then(n=>n??Az(e,t)))}function Pz(e,t,n){let r=Dz(e.name,t);wz.set(r,{data:n,expiresAt:Date.now()+Cz}),Tz.set(t,{items:n.items.filter(e=>e.scope!==`project`),recentNames:[]}),Ez.forEach(e=>e()),Kn(or(ar(e),t),n)}function Fz(e){if(!e){wz.clear(),Tz.clear();return}for(let[e,t]of wz)wz.set(e,{data:t.data,expiresAt:0})}async function Iz(e,t){let n=await qn(or(ar(e),t));if(!n||!Array.isArray(n.data?.items))return;let r=Dz(e.name,t),i=wz.get(r);if(i?.data)return;let a=n.at+Cz;i?(i.data=n.data,i.expiresAt=a):wz.set(r,{data:n.data,expiresAt:a}),Ez.forEach(e=>e())}Yn(async e=>{let t=new Set([`claude`,ir()?.default_provider??`claude`]);await Promise.all([...t].map(t=>Iz(e,t)))}),tr(()=>{wz.clear(),Tz.clear()});var Lz=`#3b82f6`,Rz=`#f59e0b`,zz=`#ef4444`;function Bz(e){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
52
|
-
<rect width="32" height="32" rx="6" fill="${
|
|
51
|
+
`},CR=_R(xR)(SR),wR={config:yR},TR=function(){var e=[...arguments];return function(t){return e.reduceRight(function(e,t){return t(e)},t)}};function ER(e,t){return Object.keys(t).forEach(function(n){t[n]instanceof Object&&e[n]&&Object.assign(t[n],ER(e[n],t[n]))}),HL(HL({},e),t)}var DR={type:`cancelation`,msg:`operation is manually canceled`};function OR(e){var t=!1,n=new Promise(function(n,r){e.then(function(e){return t?r(DR):n(e)}),e.catch(r)});return n.cancel=function(){return t=!0},n}var kR=[`monaco`],AR=GL(hR.create({config:gR,isInitialized:!1,resolve:null,reject:null,monaco:null}),2),jR=AR[0],MR=AR[1];function NR(e){var t=wR.config(e),n=t.monaco,r=UL(t,kR);MR(function(e){return{config:ER(e.config,r),monaco:n}})}function PR(){var e=jR(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(MR({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),OR(VR);if(window.monaco&&window.monaco.editor)return zR(window.monaco),e.resolve(window.monaco),OR(VR);TR(FR,LR)(RR)}return OR(VR)}function FR(e){return document.body.appendChild(e)}function IR(e){var t=document.createElement(`script`);return e&&(t.src=e),t}function LR(e){var t=jR(function(e){return{config:e.config,reject:e.reject}}),n=IR(`${t.config.paths.vs}/loader.js`);return n.onload=function(){return e()},n.onerror=t.reject,n}function RR(){var e=jR(function(e){return{config:e.config,resolve:e.resolve,reject:e.reject}}),t=window.require;t.config(e.config),t([`vs/editor/editor.main`],function(t){var n=t.m||t;zR(n),e.resolve(n)},function(t){e.reject(t)})}function zR(e){jR().monaco||MR({monaco:e})}function BR(){return jR(function(e){return e.monaco})}var VR=new Promise(function(e,t){return MR({resolve:e,reject:t})}),HR={config:NR,init:PR,__getMonacoInstance:BR},UR={wrapper:{display:`flex`,position:`relative`,textAlign:`initial`},fullWidth:{width:`100%`},hide:{display:`none`}},WR={container:{display:`flex`,height:`100%`,width:`100%`,justifyContent:`center`,alignItems:`center`}};function GR({children:e}){return Q.createElement(`div`,{style:WR.container},e)}var KR=GR;function qR({width:e,height:t,isEditorReady:n,loading:r,_ref:i,className:a,wrapperProps:o}){return Q.createElement(`section`,{style:{...UR.wrapper,width:e,height:t},...o},!n&&Q.createElement(KR,null,r),Q.createElement(`div`,{ref:i,style:{...UR.fullWidth,...!n&&UR.hide},className:a}))}var JR=(0,Q.memo)(qR);function YR(e){(0,Q.useEffect)(e,[])}var XR=YR;function ZR(e,t,n=!0){let r=(0,Q.useRef)(!0);(0,Q.useEffect)(r.current||!n?()=>{r.current=!1}:e,t)}var QR=ZR;function $R(){}function ez(e,t,n,r){return tz(e,r)||nz(e,t,n,r)}function tz(e,t){return e.editor.getModel(rz(e,t))}function nz(e,t,n,r){return e.editor.createModel(t,n,r?rz(e,r):void 0)}function rz(e,t){return e.Uri.parse(t)}function iz({original:e,modified:t,language:n,originalLanguage:r,modifiedLanguage:i,originalModelPath:a,modifiedModelPath:o,keepCurrentOriginalModel:s=!1,keepCurrentModifiedModel:c=!1,theme:l=`light`,loading:u=`Loading...`,options:d={},height:f=`100%`,width:p=`100%`,className:m,wrapperProps:h={},beforeMount:g=$R,onMount:_=$R}){let[v,y]=(0,Q.useState)(!1),[b,x]=(0,Q.useState)(!0),S=(0,Q.useRef)(null),C=(0,Q.useRef)(null),w=(0,Q.useRef)(null),T=(0,Q.useRef)(_),E=(0,Q.useRef)(g),D=(0,Q.useRef)(!1);XR(()=>{let e=HR.init();return e.then(e=>(C.current=e)&&x(!1)).catch(e=>e?.type!==`cancelation`&&console.error(`Monaco initialization: error:`,e)),()=>S.current?A():e.cancel()}),QR(()=>{if(S.current&&C.current){let t=S.current.getOriginalEditor(),i=ez(C.current,e||``,r||n||`text`,a||``);i!==t.getModel()&&t.setModel(i)}},[a],v),QR(()=>{if(S.current&&C.current){let e=S.current.getModifiedEditor(),r=ez(C.current,t||``,i||n||`text`,o||``);r!==e.getModel()&&e.setModel(r)}},[o],v),QR(()=>{let e=S.current.getModifiedEditor();e.getOption(C.current.editor.EditorOption.readOnly)?e.setValue(t||``):t!==e.getValue()&&(e.executeEdits(``,[{range:e.getModel().getFullModelRange(),text:t||``,forceMoveMarkers:!0}]),e.pushUndoStop())},[t],v),QR(()=>{S.current?.getModel()?.original.setValue(e||``)},[e],v),QR(()=>{let{original:e,modified:t}=S.current.getModel();C.current.editor.setModelLanguage(e,r||n||`text`),C.current.editor.setModelLanguage(t,i||n||`text`)},[n,r,i],v),QR(()=>{C.current?.editor.setTheme(l)},[l],v),QR(()=>{S.current?.updateOptions(d)},[d],v);let O=(0,Q.useCallback)(()=>{if(!C.current)return;E.current(C.current);let s=ez(C.current,e||``,r||n||`text`,a||``),c=ez(C.current,t||``,i||n||`text`,o||``);S.current?.setModel({original:s,modified:c})},[n,t,i,e,r,a,o]),k=(0,Q.useCallback)(()=>{!D.current&&w.current&&(S.current=C.current.editor.createDiffEditor(w.current,{automaticLayout:!0,...d}),O(),C.current?.editor.setTheme(l),y(!0),D.current=!0)},[d,l,O]);(0,Q.useEffect)(()=>{v&&T.current(S.current,C.current)},[v]),(0,Q.useEffect)(()=>{!b&&!v&&k()},[b,v,k]);function A(){let e=S.current?.getModel();s||e?.original?.dispose(),c||e?.modified?.dispose(),S.current?.dispose()}return Q.createElement(JR,{width:p,height:f,isEditorReady:v,loading:u,_ref:w,className:m,wrapperProps:h})}var az=(0,Q.memo)(iz);function oz(e){let t=(0,Q.useRef)();return(0,Q.useEffect)(()=>{t.current=e},[e]),t.current}var sz=oz,cz=new Map;function lz({defaultValue:e,defaultLanguage:t,defaultPath:n,value:r,language:i,path:a,theme:o=`light`,line:s,loading:c=`Loading...`,options:l={},overrideServices:u={},saveViewState:d=!0,keepCurrentModel:f=!1,width:p=`100%`,height:m=`100%`,className:h,wrapperProps:g={},beforeMount:_=$R,onMount:v=$R,onChange:y,onValidate:b=$R}){let[x,S]=(0,Q.useState)(!1),[C,w]=(0,Q.useState)(!0),T=(0,Q.useRef)(null),E=(0,Q.useRef)(null),D=(0,Q.useRef)(null),O=(0,Q.useRef)(v),k=(0,Q.useRef)(_),A=(0,Q.useRef)(),j=(0,Q.useRef)(r),M=sz(a),N=(0,Q.useRef)(!1),P=(0,Q.useRef)(!1);XR(()=>{let e=HR.init();return e.then(e=>(T.current=e)&&w(!1)).catch(e=>e?.type!==`cancelation`&&console.error(`Monaco initialization: error:`,e)),()=>E.current?F():e.cancel()}),QR(()=>{let o=ez(T.current,e||r||``,t||i||``,a||n||``);o!==E.current?.getModel()&&(d&&cz.set(M,E.current?.saveViewState()),E.current?.setModel(o),d&&E.current?.restoreViewState(cz.get(a)))},[a],x),QR(()=>{E.current?.updateOptions(l)},[l],x),QR(()=>{!E.current||r===void 0||(E.current.getOption(T.current.editor.EditorOption.readOnly)?E.current.setValue(r):r!==E.current.getValue()&&(P.current=!0,E.current.executeEdits(``,[{range:E.current.getModel().getFullModelRange(),text:r,forceMoveMarkers:!0}]),E.current.pushUndoStop(),P.current=!1))},[r],x),QR(()=>{let e=E.current?.getModel();e&&i&&T.current?.editor.setModelLanguage(e,i)},[i],x),QR(()=>{s!==void 0&&E.current?.revealLine(s)},[s],x),QR(()=>{T.current?.editor.setTheme(o)},[o],x);let ee=(0,Q.useCallback)(()=>{if(!(!D.current||!T.current)&&!N.current){k.current(T.current);let c=a||n,f=ez(T.current,r||e||``,t||i||``,c||``);E.current=T.current?.editor.create(D.current,{model:f,automaticLayout:!0,...l},u),d&&E.current.restoreViewState(cz.get(c)),T.current.editor.setTheme(o),s!==void 0&&E.current.revealLine(s),S(!0),N.current=!0}},[e,t,n,r,i,a,l,u,d,o,s]);(0,Q.useEffect)(()=>{x&&O.current(E.current,T.current)},[x]),(0,Q.useEffect)(()=>{!C&&!x&&ee()},[C,x,ee]),j.current=r,(0,Q.useEffect)(()=>{x&&y&&(A.current?.dispose(),A.current=E.current?.onDidChangeModelContent(e=>{P.current||y(E.current.getValue(),e)}))},[x,y]),(0,Q.useEffect)(()=>{if(x){let e=T.current.editor.onDidChangeMarkers(e=>{let t=E.current.getModel()?.uri;if(t&&e.find(e=>e.path===t.path)){let e=T.current.editor.getModelMarkers({resource:t});b?.(e)}});return()=>{e?.dispose()}}return()=>{}},[x,b]);function F(){A.current?.dispose(),f?d&&cz.set(a,E.current.saveViewState()):E.current.getModel()?.dispose(),E.current.dispose()}return Q.createElement(JR,{width:p,height:m,isEditorReady:x,loading:c,_ref:D,className:h,wrapperProps:g})}var uz=(0,Q.memo)(lz),dz={type:`4EC9B0`,function:`DCDCAA`,variable:`9CDCFE`,constant:`4FC1FF`,keyword:`569CD6`},fz={type:`267F99`,function:`795E26`,variable:`001080`,constant:`0070C1`,keyword:`0000FF`};function pz(e){let t=e===`dark`?dz:fz;return[{token:`namespace`,foreground:t.type},{token:`type`,foreground:t.type},{token:`class`,foreground:t.type},{token:`enum`,foreground:t.type},{token:`interface`,foreground:t.type},{token:`struct`,foreground:t.type},{token:`typeParameter`,foreground:t.type},{token:`function`,foreground:t.function},{token:`method`,foreground:t.function},{token:`member`,foreground:t.function},{token:`macro`,foreground:t.function},{token:`decorator`,foreground:t.function},{token:`variable`,foreground:t.variable},{token:`parameter`,foreground:t.variable},{token:`property`,foreground:t.variable},{token:`event`,foreground:t.variable},{token:`enumMember`,foreground:t.constant},{token:`variable.readonly`,foreground:t.constant},{token:`property.readonly`,foreground:t.constant},{token:`modifier`,foreground:t.keyword}]}var mz={inserted:`6A9955`,deleted:`CE9178`,header:`569CD6`},hz={inserted:`098658`,deleted:`A31515`,header:`0000FF`};function gz(e){let t=e===`dark`?mz:hz;return[{token:`inserted`,foreground:t.inserted},{token:`deleted`,foreground:t.deleted},{token:`meta.diff.header`,foreground:t.header},{token:`meta.diff.range`,foreground:t.header}]}function _z(e){return`ppm-${e.id}`}function vz(e,t){return/^#[0-9a-fA-F]{6}$/.test(e)?e+t:e}function yz(e){let t=e.tokens;return{"editor.background":t.bgSolid,"editor.foreground":t.text,"editorLineNumber.foreground":t.text3,"editorLineNumber.activeForeground":t.text2,"editorCursor.foreground":t.accent,"editor.selectionBackground":vz(t.accent,`33`),"editor.lineHighlightBackground":vz(t.accent,`12`),"editorWidget.background":t.bgSolid,"editorGutter.background":t.bgSolid,"editorIndentGuide.background1":vz(t.text3,`40`),"editorWhitespace.foreground":vz(t.text3,`40`),...e.editor?.colors}}HR.config({paths:{vs:`/assets/monaco/vs`}});var bz=null;function xz(e,t){let n=_z(t);return e.editor.defineTheme(n,{base:t.mode===`dark`?`vs-dark`:`vs`,inherit:!0,rules:[...pz(t.mode),...gz(t.mode),...t.editor?.rules??[]],colors:yz(t)}),n}function Sz(){let e=U.getState();return aa()??Ds(e.themeStyle,e.themeMode,e.customThemes,e.customThemeId)}var Cz=!1;function wz(){bz&&bz.editor.setTheme(xz(bz,Sz()))}function Tz(e){bz=e,Ez(),wz()}function Ez(){Cz||typeof window>`u`||(Cz=!0,window.addEventListener(oa,wz))}var Dz=30*6e4,Oz=new Map,kz=new Map,Az=new Set,jz=(e,t=`claude`)=>JSON.stringify([e,t]);function Mz(e,t=`claude`){return Oz.get(jz(e,t))?.data??kz.get(t)}function Nz(e){return Az.add(e),()=>{Az.delete(e)}}function Pz(e,t,n){let r=new URLSearchParams({providerId:t});return n&&r.set(`sessionId`,n),H.get(`${V(e)}/chat/slash-items?${r}`).then(e=>({items:e.items??[],recentNames:e.recentNames??[]}))}function Fz(e,t,n,r){let i=r.then(r=>(Oz.get(e)===t&&(t.data=r,t.expiresAt=Date.now()+Dz,kz.set(n,{items:r.items.filter(e=>e.scope!==`project`),recentNames:[]}),Az.forEach(e=>e())),r)).finally(()=>{t.promise===i&&(t.promise=void 0)});return t.promise=i,i}function Iz(e,t=`claude`,n){let r=jz(e,t),i=Oz.get(r);if(i?.promise)return i.promise;if(i?.data&&Date.now()<i.expiresAt)return Promise.resolve(i.data);let a=i??{expiresAt:0};return i||Oz.set(r,a),Fz(r,a,t,Pz(e,t,n))}function Lz(e,t,n){let r=jz(e,t),i=Oz.get(r);if(i?.promise||i?.data&&Date.now()<i.expiresAt)return;let a=i??{expiresAt:0};i||Oz.set(r,a),Fz(r,a,t,n.then(n=>n??Pz(e,t)))}function Rz(e,t,n){let r=jz(e.name,t);Oz.set(r,{data:n,expiresAt:Date.now()+Dz}),kz.set(t,{items:n.items.filter(e=>e.scope!==`project`),recentNames:[]}),Az.forEach(e=>e()),Kn(or(ar(e),t),n)}function zz(e){if(!e){Oz.clear(),kz.clear();return}for(let[e,t]of Oz)Oz.set(e,{data:t.data,expiresAt:0})}async function Bz(e,t){let n=await qn(or(ar(e),t));if(!n||!Array.isArray(n.data?.items))return;let r=jz(e.name,t),i=Oz.get(r);if(i?.data)return;let a=n.at+Dz;i?(i.data=n.data,i.expiresAt=a):Oz.set(r,{data:n.data,expiresAt:a}),Az.forEach(e=>e())}Yn(async e=>{let t=new Set([`claude`,ir()?.default_provider??`claude`]);await Promise.all([...t].map(t=>Bz(e,t)))}),tr(()=>{Oz.clear(),kz.clear()});var Vz=`#3b82f6`,Hz=`#f59e0b`,Uz=`#ef4444`;function Wz(e){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
52
|
+
<rect width="32" height="32" rx="6" fill="${Vz}"/>
|
|
53
53
|
<text x="16" y="22" text-anchor="middle" font-family="system-ui,sans-serif" font-weight="700" font-size="11" fill="white">PPM</text>
|
|
54
|
-
${e?`<circle cx="26" cy="6" r="5" fill="${
|
|
55
|
-
</svg>`}function
|
|
56
|
-
<rect width="32" height="32" rx="6" fill="${
|
|
54
|
+
${e?`<circle cx="26" cy="6" r="5" fill="${Uz}"/>`:``}
|
|
55
|
+
</svg>`}function Gz(e,t){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
56
|
+
<rect width="32" height="32" rx="6" fill="${Hz}"/>
|
|
57
57
|
${[10,16,22].map((t,n)=>`<circle cx="${t}" cy="${n===e?13:17}" r="3" fill="white"/>`).join(``)}
|
|
58
|
-
${t?`<circle cx="26" cy="6" r="5" fill="${
|
|
59
|
-
</svg>`}var Hz=e=>`data:image/svg+xml,${encodeURIComponent(e)}`,Uz=[Hz(Bz(!1)),Hz(Bz(!0))],Wz=[0,1,2,-1].map(e=>[Hz(Vz(e,!1)),Hz(Vz(e,!0))]),Gz=Wz.length;function Kz(e,t=null){let n=document.getElementById(`ppm-favicon`);if(!n)return;let r=e?1:0;t===null?n.href=Uz[r]:n.href=Wz[(t%Gz+Gz)%Gz][r]}function qz(e,t,n){let r=[t,n||null,`PPM`].filter(Boolean).join(` - `);return e>0?`(${e}) ${r}`:r}function Jz(){let e=J(e=>e.activeProject),t=U(e=>e.deviceName),n=e?.name,r=Yi(ra(n)),i=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{let e=()=>Nu(n)(ju.getState()),a=()=>e()>0,o=()=>{document.title=qz(e(),n,t??void 0)};if(o(),r){let e=0;Kz(a(),e),i.current=setInterval(()=>{e=(e+1)%Gz,Kz(a(),e)},300)}else Kz(a());let s=ju.subscribe(()=>{o(),r||Kz(a())});return()=>{s(),i.current&&=(clearInterval(i.current),null)}},[n,t,r])}function Yz(){return typeof navigator<`u`&&`wakeLock`in navigator?`ok`:typeof window<`u`&&window.isSecureContext===!1?`insecure`:`unsupported`}function Xz(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 Zz(){let e=Yi(e=>e.sessions.size>0),t=U(e=>e.keepScreenAwake);(0,Q.useEffect)(()=>{if(!t||!e||Yz()!==`ok`)return;let n=navigator.wakeLock;return Xz({request:()=>n.request(`screen`),isVisible:()=>document.visibilityState===`visible`,onVisibilityChange:e=>(document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)),onActive:e=>gD.getState().setActive(e)})},[t,e])}var Qz=`chat`;function $z(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)===Qz&&(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 eB=3,tB=2500,nB=1200;function rB(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 iB(e=!0){let t=Pi();(0,Q.useEffect)(()=>{if(!e||t)return;let n=!1,r=eB,i=null,a=()=>{i?.cancel(),i=null},o=()=>{if(i=null,n||r<=0)return;let{panels:e}=q.getState(),{mounted:t,mount:a}=dp.getState(),[o]=$z(e,t,1);o&&(a(o),r--,s(nB))},s=e=>{n||r<=0||(a(),i=rB(o,e))},c=q.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){s(tB);return}}});return s(tB),()=>{n=!0,a(),c()}},[e,t,q(e=>e.currentProject)])}function aB(){(0,Q.useEffect)(()=>{let e=e=>{let t=e.detail?.projectName;typeof t==`string`&&Ai.getState().markIndexStale(t)};window.addEventListener(`file:changed`,e);let t=Zm(e=>{let t=Ai.getState(),n=J.getState().projects.find(e=>e.name===t.indexProject);n&&Di(n.path,e)!==null&&t.markIndexStale(n.name)}),n=J.subscribe((e,t)=>{e.activeProject?.name!==t.activeProject?.name&&Ai.getState().reset()});return()=>{window.removeEventListener(`file:changed`,e),t(),n()}},[])}var oB=`(pointer: coarse) and (hover: none)`;function sB(){return typeof window<`u`&&window.matchMedia?window.matchMedia(oB):null}function cB(e){let t=sB();return t?.addEventListener?.(`change`,e),()=>t?.removeEventListener?.(`change`,e)}function lB(){return sB()?.matches??!1}function uB(){return!1}function dB(){return(0,Q.useSyncExternalStore)(cB,lB,uB)}function fB(){return lB()}function pB(e,t){return e?.saveData||e?.effectiveType===`slow-2g`||e?.effectiveType===`2g`?!1:t?e?.type===`wifi`||e?.type===`ethernet`:!0}var mB=e=>{if(typeof requestIdleCallback==`function`){let t=requestIdleCallback(e);return()=>cancelIdleCallback(t)}let t=setTimeout(e,200);return()=>clearTimeout(t)};function hB(e,t=mB){let n=!1,r=()=>{},i=a=>{n||a>=e.length||(r=t(()=>{Promise.resolve().then(e[a]).catch(()=>{}).then(()=>i(a+1))}))};return i(0),()=>{n=!0,r()}}var gB=2500,_B=()=>W(()=>import(`./settings-section-content-B1eU_yR4.js`).then(e=>e.preloadSettingsSections()),__vite__mapDeps([252,2,1,3,7,8,9,10,57,23,115]));function vB(e){(0,Q.useEffect)(()=>{if(!e)return;let t=navigator.connection;if(!pB(t,fB()))return;let n=()=>{},r=setTimeout(()=>{n=hB([...Op(),...Object.values(wD).map(e=>e.preload),_B])},gB);return()=>{clearTimeout(r),n()}},[e])}var yB=3e4,bB=1e3,xB=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:Os(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(bB*2**this.reconnectAttempts,yB);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 SB(){try{let e=await H.get(`/api/chat/sessions/running`);Yi.getState().replaceAllStreaming(e)}catch{}}var CB=null,wB=new Set;function TB(e){CB=e}function EB(e){return CB?.isConnected?(CB.send(e),!0):!1}function DB(e){return wB.add(e),()=>wB.delete(e)}function OB(){for(let e of wB)e()}var kB=`session:file-changes`,AB=2e4,jB=45e3;function MB(e,t){let n=(0,Q.useRef)(null),r=(0,Q.useRef)(t);r.current=t,(0,Q.useEffect)(()=>{if(!e)return;let t=Xn(),i=new xB(`/ws/global${t?`?token=${encodeURIComponent(t)}`:``}`,{idleTimeoutMs:jB});n.current=i,TB(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})),SB(),ci(),OB();return}if(n===`file:changed`){typeof t.projectName==`string`&&Ai.getState().markIndexStale(t.projectName),window.dispatchEvent(new CustomEvent(`file:changed`,{detail:t}));return}if(n===`files:index-changed`){typeof t.projectName==`string`&&Ai.getState().indexRebuilt(t.projectName);return}if(n===`session:unread_changed`){let e=t;ju.getState().handleUnreadChanged(e.sessionId,e.unreadCount,e.unreadType,e.projectName,e.sessionTitle,e.manual);return}if(n===`session:phase_changed`){let e=t;Yi.getState().setStreaming(e.sessionId,e.phase!==`idle`,e.projectName);return}if(n===`session:migrated`){let e=t;Yi.getState().dropSession(e.oldSessionId);return}(n.startsWith(`jira:`)||n.startsWith(`tunnel:`)||n.startsWith(`tailscale:`)||n.startsWith(`design:`)||n.startsWith(`git:`)||n.startsWith(`agent-transcript:`)||n.startsWith(`logs:`)||n===`agent-activity`||n===`session:file-changes`)&&window.dispatchEvent(new CustomEvent(n,{detail:t}))}});i.connect();let o=setInterval(()=>{EB(JSON.stringify({type:`ping`}))},AB);return()=>{clearInterval(o),a(),i.disconnect(),n.current=null,TB(null)}},[e]),(0,Q.useEffect)(()=>{!e||!t||(n.current?.send(JSON.stringify({type:`watch`,projectName:t})),SB())},[e,t])}var NB=15e3,PB=sr((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>=NB})},markUp:()=>{e({isDown:!1,downSince:null,showOverlay:!1})}})),FB=1e4,IB=2e3;function LB(){(0,Q.useEffect)(()=>{let e=!1,t,{markDown:n,markUp:r}=PB.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?IB:FB)}return t=setTimeout(i,FB),()=>clearTimeout(t)},[])}async function RB(e,t,n,r){let i=J.getState().projects.find(t=>t.name===e);if(!i)return;if(localStorage.getItem(`ppm-panels-${i.name}`)||await yr(i.name),J.getState().setActiveProject(i),Y.getState().switchProject(i.name),t){IC(`chat`,n?`${n}/${t}`:t,i.name);return}let a=zB(r);a?.tabType&&a.projectName===i.name&&IC(a.tabType,a.tabIdentifier,i.name)}function zB(e){try{let t=new URL(e,window.location.href);return t.origin===window.location.origin?AC(t):null}catch{return null}}function BB(e){let t=(0,Q.useRef)(e);t.current=e,(0,Q.useEffect)(()=>{if(!(`serviceWorker`in navigator))return;let e=e=>{let n=e.data;if(!(n?.type!==`ppm:open-from-notification`||typeof n.url!=`string`)){if(!t.current){new URL(n.url,window.location.href).origin===window.location.origin&&window.location.assign(n.url);return}RB(n.project??``,n.sessionId??``,n.providerId??``,n.url)}};return navigator.serviceWorker.addEventListener(`message`,e),()=>navigator.serviceWorker.removeEventListener(`message`,e)},[])}function VB(){if(Fi()){window.dispatchEvent(new CustomEvent($a,{detail:{tab:`tunnels`}}));return}let e=U.getState();e.setSidebarActiveTab(`tunnels`),e.sidebarCollapsed&&e.toggleSidebar()}var HB=[];function UB(e,t,{enabled:n,kind:r=`file`}){let i=Ai(e=>e.indexRevision),[a,o]=(0,Q.useState)(HB);return(0,Q.useEffect)(()=>{if(!n||!e){o(HB);return}let i=new AbortController,a=new URLSearchParams({q:t,kind:r,limit:`100`});return H.get(`${V(e)}/files/index/search?${a}`,{signal:i.signal}).then(o,()=>{}),()=>i.abort()},[e,t,n,r,i]),a}function WB(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>=0?e.slice(t+1):e}function GB(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 KB(e,t,n,r,i){if(e.includes(` `))return qB(e.split(/\s+/).filter(Boolean),t,n,r,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=GB(e,t);if(s>=0)return{tier:4,offset:s,nameLen:r,depth:i};let c=GB(e,n);return c>=0?{tier:5,offset:c,nameLen:r,depth:i}:null}function qB(e,t,n,r,i){if(e.length===0)return null;if(e.length===1)return KB(e[0],t,n,r,i);let a=0,o=0;for(let s of e){let e=KB(s,t,n,r,i);if(!e)return null;a=Math.max(a,e.tier),o+=e.offset}return{tier:a,offset:o,nameLen:r,depth:i}}function JB(e,t,n){let r=n.toLowerCase();return KB(e.toLowerCase(),WB(r),r,t.length,n.split(`/`).length)}function YB(e,t){return e.tier-t.tier||e.offset-t.offset||e.nameLen-t.nameLen||e.depth-t.depth}var XB=/^(.*?)(?::(\d+)(?::\d+|-(\d+))?|#L(\d+)(?:-L?(\d+))?)$/;function ZB(e){let t=e.match(XB);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 QB(e,t){return t?`${e}:${t.start}${t.end?`-${t.end}`:``}`:e}var $B={action:{label:`Actions`,icon:fn},file:{label:`Files`,icon:Rn},db:{label:`Database`,icon:mn},fs:{label:`Filesystem`,icon:Ee}};function eV({availableGroups:e,groupCounts:t,activeFilters:n,onToggle:r}){return e.length<=1?null:(0,$.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=$B[e];if(!i)return null;let a=t[e]??0,o=n.has(e),s=i.icon;return(0,$.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,$.jsx)(s,{className:`size-3`}),(0,$.jsx)(`span`,{children:i.label}),(0,$.jsxs)(`span`,{className:`text-[10px] opacity-70`,children:[`(`,a,`)`]})]},e)})})}async function tV(){Ro.getState().loaded||await Qo();let{connections:e}=Ro.getState(),t=Ko(),n=e.find(e=>e.id===t?.conn)??e[0];if(!n){yy();return}_s(gs(n,t&&t.conn===n.id?t:{conn:n.id,database:fo(n)}),``)}var nV=e=>`${V(e)}/designs`,rV=(e,t)=>`${nV(e)}/${encodeURIComponent(t)}`;async function iV(e){let t=await H.get(nV(e));return{designs:Array.isArray(t?.designs)?t.designs:[],systems:Array.isArray(t?.systems)?t.systems:[]}}function aV(e,t){return H.get(rV(e,t))}function oV(e,t){return H.post(nV(e),t)}function sV(e,t,n){return H.patch(rV(e,t),{title:n})}function cV(e,t){return H.del(`${rV(e,t)}?confirm=${encodeURIComponent(t)}`)}function lV(e,t){return H.get(`${rV(e,t)}/history`)}function uV(e,t,n){return H.post(`${rV(e,t)}/history/${encodeURIComponent(n)}/restore`)}function dV(e,t,n,r){return H.post(`/api/design-preview`,{projectName:e,slug:t,purpose:`canvas`,...n?{token:n}:{},...r?{entry:r}:{}})}async function fV(e){return(await H.get(`${V(e)}/chat/providers`)).filter(e=>e.supportsDesignInstructions===!0)}var pV=`ppm:new-design`,mV=`ppm:designs-changed`;function hV(e){window.dispatchEvent(new CustomEvent(pV,{detail:{projectName:e}}))}function gV(e){window.dispatchEvent(new CustomEvent(mV,{detail:{projectName:e}}))}var _V=(0,Q.lazy)(()=>W(()=>import(`./new-design-dialog-B8zeJoJQ.js`).then(e=>({default:e.NewDesignDialog})),__vite__mapDeps([253,1,2,3,31,6,7,8,9,10,11,12,254,20,23,13,14,15,16,131,50,18,17,19,44,56,57,27,52,53,62])));function vV(e,t,n){let[r,i]=(0,Q.useState)([]);return(0,Q.useEffect)(()=>{if(!t||!e){i([]);return}let n=!1;return iV(e).then(e=>{n||i(e.designs)}).catch(()=>{n||i([])}),()=>{n=!0}},[t,e]),(0,Q.useMemo)(()=>e?[{id:`new-design`,label:`New Design…`,icon:Ct,group:`action`,keywords:`design mockup prototype page slides deck presentation canvas create`,action:()=>{n(),hV(e)}},{id:`designs`,label:`Designs`,icon:De,group:`action`,keywords:`design list canvas`,action:()=>{let e=U.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`designs`),n()}},...r.map(t=>({id:`design:${t.slug}`,label:`Open Design: ${t.title}`,hint:`designs/${t.slug}`,icon:De,group:`action`,keywords:`design ${t.slug} ${t.kind}`,action:()=>{Mp({projectName:e,slug:t.slug,title:t.title}),n()}}))]:[],[e,r,n])}function yV(){let[e,t]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{let e=e=>{let n=e.detail?.projectName;n&&t(n)};return window.addEventListener(pV,e),()=>window.removeEventListener(pV,e)},[]),e?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(_V,{projectName:e,onClose:()=>t(null)})}):null}var bV=sr(()=>({owner:null,commands:[]}));function xV(e,t){return bV.setState({owner:e,commands:t}),()=>{bV.getState().owner===e&&bV.setState({owner:null,commands:[]})}}var SV={"add-column":Ct,"add-index":Bn,"add-primary-key":St,"add-foreign-key":nn,"add-unique":Kt};function CV(e,t){let n=bV(e=>e.commands),r=U(e=>e.dbExplorerView.current);return(0,Q.useMemo)(()=>{if(e)return[];let i=r&&Oy()?[{id:`db-new-table`,label:`New table`,icon:Fe,group:`action`,keywords:`database create table structure sql`,action:()=>{t(),ky()}}]:[],a=n.map(e=>({id:`table-editor:${e.id}`,label:e.label,hint:`Table editor`,icon:SV[e.id]??Ct,group:`action`,keywords:`table editor structure column index key constraint`,action:()=>{t(),e.run()}})),o=[{id:`db-export-database`,label:`Export database`,icon:Rt,group:`action`,keywords:`database export tables csv json excel xlsx xml sql ndjson zip file`,action:()=>{t(),Py()}},{id:`db-import-data`,label:`Import data`,icon:pt,group:`action`,keywords:`database import upload csv json ndjson file table`,action:()=>{t(),Fy()}}];return[...a,...i,...o]},[e,r,Ro(e=>e.connections),n,t])}var wV=100,TV=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent);function EV(e){return e?e.replace(/Mod\+/g,TV?`⌘`:`Ctrl+`).replace(/Alt\+/g,TV?`⌥`:`Alt+`).replace(/Shift\+/g,TV?`⇧`:`Shift+`).replace(/Meta\+/g,`⌘`).replace(/Ctrl\+/g,TV?`⌃`:`Ctrl+`):``}function DV(e){let t=[];for(let n of e)n.type===`file`&&t.push({name:n.name,path:n.path}),n.children&&t.push(...DV(n.children));return t}function OV(e){return e?e.startsWith(`/`)||e.startsWith(`~/`)||e.startsWith(`~\\`)||/^[A-Za-z]:[/\\]/.test(e):!1}function kV(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 AV=new Map;function jV({open:e,onClose:t,initialQuery:n=``}){let[r,i]=(0,Q.useState)(``),a=(0,Q.useDeferredValue)(r),[o,s]=(0,Q.useState)(0),[c,l]=(0,Q.useState)([]),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)([]),[m,h]=(0,Q.useState)(new Set),g=(0,Q.useRef)(null),_=(0,Q.useRef)(null),v=Y(e=>e.openTab),y=Y(e=>e.updateTab),b=J(e=>e.activeProject),x=Ai(e=>e.fileIndex),S=Ai(e=>e.indexStatus),C=Ai(e=>e.indexProject),w=Ai(e=>e.indexRemote),T=Ai(e=>e.loadIndex),E=Ai(e=>e.openIndexReader),D=Ai(e=>e.tree),O=U(e=>e.setSidebarActiveTab),k=nf(e=>e.getBinding),A=rf(e=>e.contributions),j=Pi(),M=dB(),N=U(e=>e.lspEnabled),P=zE(),ee=(0,Q.useMemo)(()=>ZB(r)??{path:r},[r]),F=(0,Q.useMemo)(()=>ZB(a)?.path??a,[a]),te=UB(b?.name,F,{enabled:e&&w&&!!F.trim()&&!OV(F)}),ne=(0,Q.useRef)(void 0);(0,Q.useEffect)(()=>{ne.current=ee.line},[ee.line]);let I=(0,Q.useCallback)((e,n,r,i)=>{let a=ne.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]),L=(0,Q.useCallback)(async e=>{if(AV.has(e)){l(AV.get(e));return}d(!0);try{let t=await H.get(`/api/fs/list?dir=${encodeURIComponent(e)}`);AV.set(e,t),l(t)}catch{l([])}finally{d(!1)}},[]);(0,Q.useEffect)(()=>{if(!OV(ee.path)){l([]);return}L(kV(ee.path))},[ee.path,L]),(0,Q.useEffect)(()=>{if(OV(r)||r.trim().length<2){p([]);return}let e=setTimeout(async()=>{try{p(await H.get(`/api/db/search?q=${encodeURIComponent(r.trim())}`)??[])}catch{p([])}},300);return()=>clearTimeout(e)},[r]);let R=vV(b?.name??null,e,t),ie=CV(j,t),ae=(0,Q.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:re,action:r(`chat`,`AI Chat`),keywords:`ai assistant claude`,group:`action`,shortcut:EV(k(`open-chat`))},{id:`new-file`,label:`New File`,icon:ue,action:()=>{Y.getState().openNewFile(),t()},keywords:`create untitled blank empty`,group:`action`,shortcut:EV(k(`new-file`))},{id:`new-db-query`,label:`New DB Query`,icon:mn,action:()=>{tV(),t()},keywords:`sql database query scratchpad new`,group:`action`},{id:`terminal`,label:`New Terminal`,icon:Se,action:r(`terminal`,`Terminal`),keywords:`bash shell console`,group:`action`,shortcut:EV(k(`open-terminal`))},{id:`remote-access`,label:`Remote Access`,icon:Je,action:()=>{OS(),t()},keywords:`remote access tunnel cloudflare tailscale public link share url phone domain`,group:`action`},{id:`forward-port`,label:`Forward a Port`,icon:ye,action:()=>{VB(),t()},keywords:`forward port forwarding localhost web preview tunnel cloudflare tailscale dev server url`,group:`action`},{id:`cloud-share`,label:`PPM Cloud & Share`,icon:on,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:`new-db-connection`,label:`New connection…`,icon:mn,action:()=>{yy(),t()},keywords:`database connection postgres pg mysql mariadb sqlite add`,group:`action`},{id:`voice-input`,label:`Voice Input`,icon:Re,action:()=>{window.dispatchEvent(new CustomEvent(`toggle-voice-input`)),t()},keywords:`speech microphone dictate voice`,group:`action`,shortcut:EV(k(`voice-input`))},{id:`git-status`,label:`Git Status`,icon:Gn,action:()=>{O(`git`),t()},keywords:`changes diff staged`,group:`action`,shortcut:EV(k(`open-git-status`))},{id:`problems`,label:`Problems`,icon:ot,action:()=>{q.getState().openInDock({type:`problems`,title:`Problems`,projectId:null,closable:!0}),t()},keywords:`errors warnings diagnostics lint typescript`,group:`action`,shortcut:EV(k(`open-problems`))},{id:`word-wrap`,label:`Toggle Word Wrap`,icon:Sn,group:`action`,keywords:`wrap unwrap word lines editor soft`,action:()=>{let e=U.getState();j?e.toggleMobileWordWrap():e.toggleWordWrap(),t()},shortcut:j?void 0:`Alt+Z`},{id:`compare-files`,label:`Compare Files...`,icon:wt,group:`action`,keywords:`diff compare two files select`,shortcut:EV(k(`compare-files`)),action:()=>{let{activeTabId:e,tabs:n}=Y.getState(),r=n.find(t=>t.id===e),i=r?.metadata;r?.type===`editor`&&i?.filePath&&i?.projectName&&md.getState().setSelection({filePath:i.filePath,projectName:i.projectName,dirtyContent:i.unsavedContent,label:fr(i.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`)),t()}},...M?[]:[{id:`language-server`,label:N?`Turn Off Language Server`:`Turn On Language Server`,icon:fn,group:`action`,keywords:`lsp language server completions intellisense hover definition typescript pyright gopls`,hint:`This device`,action:()=>{let e=U.getState();e.setLspEnabled(!e.lspEnabled),t()}}],{id:`settings`,label:`Settings`,icon:le,action:()=>{Ii(),t()},keywords:`config preferences theme`,group:`action`,shortcut:EV(k(`open-settings`))},{id:`open-file-explorer`,label:`Open File Explorer`,icon:Ut,group:`action`,keywords:`open file explorer finder browse files folders disk drive window`,action:()=>{ng(),t()}},{id:`system-monitor`,label:`System Monitor`,icon:Dt,group:`action`,keywords:`task manager activity monitor cpu memory ram disk network gpu processes services apps performance resources`,action:()=>{P(),t()}},{id:`logs`,label:`Logs`,icon:bt,group:`action`,keywords:`logs server errors warnings debug tail ppm.log browser console cloudflared`,action:()=>{tT(),t()}},{id:`report-bug`,label:`Report a Bug`,icon:de,group:`action`,keywords:`report bug issue github feedback problem crash`,action:()=>{tT({view:`report`}),t()}}],a=A?.keybindings??[],o=(A?.commands??[]).map(e=>{let n=a.find(t=>t.command===e.command),r=(n?k(`ext:${n.command}`):``)||(n?TV&&n.mac?n.mac:n.key:``);return{id:`ext:${e.command}`,label:e.title,hint:e.category,icon:rp(e.icon)??jt,group:`action`,keywords:`extension ${e.command} ${e.category??``}`,shortcut:r?EV(r):void 0,action:()=>{af(e.command),t()}}});return[...i,...R,...ie,...o]},[b,v,t,O,k,A,j,M,N,R,P,ie]),oe=(0,Q.useMemo)(()=>{let e=b?.name??null,t=b?{projectName:b.name}:void 0;return(w?te:S===`ready`&&C===b?.name?x.filter(e=>e.type===`file`):DV(D)).map(n=>({id:`file:${n.path}`,label:n.name,hint:n.path,icon:ya(n.name),group:`file`,keywords:n.path,isIgnored:`isIgnored`in n?n.isIgnored:void 0,action:()=>I(n.path,n.name,e,t)}))},[S,C,w,te,x,D,b,I]),se=(0,Q.useMemo)(()=>{let e=b?.name??null,t=b?{projectName:b.name}:void 0;return c.map(n=>{let r=fr(n);return{id:`fs:${n}`,label:r,hint:n,icon:Ee,group:`fs`,keywords:n,action:()=>I(n,r,e,t)}})},[c,b,I]),ce=(0,Q.useMemo)(()=>f.map(e=>({id:`db:${e.connectionId}:${e.schemaName}.${e.tableName}`,label:e.tableName,hint:`${e.connectionName} (${no[e.connectionType]??e.connectionType})`,icon:mn,group:`db`,connectionColor:e.connectionColor,action:()=>{vs({target:{kind:`connection`,connectionId:e.connectionId},connectionName:e.connectionName,dbType:e.connectionType,connectionColor:e.connectionColor},{schema:e.schemaName||null,name:e.tableName}),t()}})),[f,t]),fe=(0,Q.useMemo)(()=>[...ae,...oe],[ae,oe]),pe=(0,Q.useMemo)(()=>fe.map(e=>{let t=e.keywords??e.label,n=t.toLowerCase();return{cmd:e,filenameLower:WB(n),pathLower:n,labelLen:e.label.length,depth:t.split(`/`).length}}),[fe]),me=(0,Q.useMemo)(()=>{if(OV(F)){let e=F.lastIndexOf(`/`),t=e>=0?F.slice(e+1).toLowerCase():``;return t?se.filter(e=>{let n=e.label.toLowerCase(),r=(e.keywords??``).toLowerCase();return n.includes(t)||r.includes(t)}).slice(0,50):se.slice(0,50)}if(!F.trim())return ae;let e=F.toLowerCase().replace(/^\.\.?\//,``),t=[];for(let n of pe){let r=KB(e,n.filenameLower,n.pathLower,n.labelLen,n.depth);r&&t.push({cmd:n.cmd,score:r})}t.sort((e,t)=>YB(e.score,t.score));let n=t.slice(0,wV).map(e=>e.cmd);return a.trim().length>=2?[...ce,...n]:n},[pe,ae,se,ce,a,F]),he=(0,Q.useMemo)(()=>{let e=new Set;for(let t of fe)e.add(t.group);return f.length>0&&e.add(`db`),c.length>0&&e.add(`fs`),Array.from(e)},[fe,f.length,c.length]),ge=(0,Q.useMemo)(()=>{let e={};for(let t of me)e[t.group]=(e[t.group]??0)+1;return e},[me]),_e=(0,Q.useMemo)(()=>m.size===0?me:me.filter(e=>m.has(e.group)),[me,m]),ve=(0,Q.useCallback)(e=>{h(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),s(0)},[]);(0,Q.useEffect)(()=>{if(e&&b)return E(b.name)},[e,b,E]),(0,Q.useEffect)(()=>{e&&(i(n||``),s(0),l([]),p([]),h(new Set),requestAnimationFrame(()=>g.current?.focus()))},[e]),(0,Q.useEffect)(()=>{s(e=>Math.min(e,Math.max(_e.length-1,0)))},[_e.length]),(0,Q.useEffect)(()=>{let e=_.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]);let be=(0,Q.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 xe(e){let n=_e.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?_e[o]?.action():r.trim()&&be();break;case`Escape`:e.preventDefault(),t();break}}if(!e)return(0,$.jsx)($.Fragment,{children:(0,$.jsx)(yV,{})});let Ce=OV(ee.path);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(yV,{}),(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:t,children:[(0,$.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,$.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:xe,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,$.jsx)(Ln,{className:`size-4 text-text-subtle shrink-0`}),(0,$.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,$.jsx)(z,{className:`size-3.5 animate-spin text-text-subtle shrink-0`}),(0,$.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`})]}),Ce&&!u&&c.length===0&&r.length<4&&(0,$.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/)`}),!Ce&&(S===`loading`||S===`idle`)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-1.5 border-b border-border/50`,children:[(0,$.jsx)(z,{className:`size-3 animate-spin text-text-subtle shrink-0`}),(0,$.jsx)(`span`,{className:`text-[11px] text-text-subtle italic`,children:`Indexing project…`})]}),!Ce&&S===`error`&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border/50`,children:[(0,$.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`Failed to build file index —`}),(0,$.jsx)(`button`,{onClick:()=>b&&T(b.name),className:`text-[11px] text-primary hover:underline`,children:`retry`})]}),!Ce&&(0,$.jsx)(eV,{availableGroups:he,groupCounts:ge,activeFilters:m,onToggle:ve}),(0,$.jsx)(`div`,{ref:_,className:`max-h-72 overflow-y-auto py-1`,children:_e.length===0?u?(0,$.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`Searching...`}):m.size>0&&me.length>0?(0,$.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results in selected filters`}):r.trim()?(0,$.jsxs)(`button`,{onClick:be,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,$.jsx)(re,{className:`size-4 shrink-0 text-primary`}),(0,$.jsxs)(`span`,{children:[`Ask AI: `,(0,$.jsx)(`span`,{className:`text-text-primary font-medium`,children:r.trim().slice(0,60)})]})]}):(0,$.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results`}):_e.map((e,t)=>{let n=e.icon;return(0,$.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,$.jsx)(n,{className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.label}),e.hint&&(0,$.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-xs text-text-subtle truncate max-w-[200px]`,children:[e.connectionColor&&(0,$.jsx)(`span`,{className:`shrink-0 size-2 rounded-full`,style:{backgroundColor:e.connectionColor}}),e.hint]}),e.shortcut&&(0,$.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,$.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 border-t border-border px-3 py-1.5`,children:[(0,$.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`Press`}),(0,$.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,$.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,$.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`to open this palette`})]})]})]})]})}var MV=50;function NV({open:e,onOpenChange:t,initialA:n}={}){let r=e!==void 0,[i,a]=(0,Q.useState)(!1),o=r?e:i,s=e=>{r?t?.(e):a(e)},[c,l]=(0,Q.useState)(n??null);(0,Q.useEffect)(()=>{if(r)return;function e(){l(md.getState().selection),a(!0)}return window.addEventListener(`open-compare-picker`,e),()=>window.removeEventListener(`open-compare-picker`,e)},[r]);let[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(0),[m,h]=(0,Q.useState)(null),g=(0,Q.useRef)(null),_=Y(e=>e.tabs),v=Ai(e=>e.fileIndex),y=J(e=>e.activeProject),b=Ai(e=>e.indexRemote),x=UB(y?.name,u,{enabled:o&&b});(0,Q.useEffect)(()=>{if(o&&y)return Ai.getState().openIndexReader(y.name)},[o,y]),(0,Q.useEffect)(()=>{o&&(r&&l(n??null),d(``),p(0),h(null),setTimeout(()=>g.current?.focus(),50))},[o,n,r]);let S=(0,Q.useMemo)(()=>{let e=_.filter(e=>e.type===`editor`&&e.metadata?.filePath).map(e=>({id:`tab:${e.id}`,path:e.metadata.filePath,label:fr(e.metadata.filePath),source:`tab`,dirtyContent:e.metadata.unsavedContent})),t=new Set(e.map(e=>e.path)),n=(b?x: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,b,x]),C=(0,Q.useMemo)(()=>u.trim()?S.map(e=>{let t=JB(u,e.label,e.path);return t?{c:e,score:t}:null}).filter(e=>e!==null).sort((e,t)=>YB(e.score,t.score)).slice(0,MV).map(e=>e.c):S.slice(0,MV),[S,u]);(0,Q.useEffect)(()=>{f>=C.length&&p(Math.max(0,C.length-1))},[C,f]);let w=(0,Q.useRef)(!1);async function T(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(!w.current){w.current=!0;try{await gd({path:c.filePath,dirtyContent:c.dirtyContent},{path:e.path,dirtyContent:e.dirtyContent},y.name),md.getState().clearSelection(),s(!1)}catch(e){h(e instanceof Error?e.message:`Compare failed`)}finally{w.current=!1}}}}function E(e){if(e.key===`ArrowDown`)e.preventDefault(),p(e=>Math.min(C.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=C[f];t&&T(t)}}return(0,$.jsx)(_a,{open:o,onOpenChange:s,children:(0,$.jsxs)(pa,{className:`max-w-lg p-0 gap-0 overflow-hidden`,children:[(0,$.jsx)(da,{className:`px-4 pt-4 pb-2`,children:(0,$.jsxs)(ma,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(wt,{className:`size-4`}),`Compare Files`]})}),(0,$.jsx)(`div`,{className:`px-4 pb-2`,children:c?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs bg-muted rounded px-2 py-1 w-fit max-w-full`,children:[(0,$.jsx)(Rn,{className:`size-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,title:c.filePath,children:c.label}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>l(null),className:`hover:bg-surface-elevated rounded p-0.5`,"aria-label":`Clear first file`,children:(0,$.jsx)($t,{className:`size-3`})})]}):(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pick first file, then second.`})}),(0,$.jsx)(`input`,{ref:g,type:`text`,value:u,onChange:e=>{d(e.target.value),p(0)},onKeyDown:E,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,$.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive border-b border-border`,children:m}),(0,$.jsx)(`div`,{className:`max-h-[50vh] md:max-h-80 overflow-y-auto`,children:C.length===0?(0,$.jsx)(`div`,{className:`px-4 py-6 text-center text-xs text-muted-foreground`,children:S.length===0?`No files available`:`No matches`}):C.map((e,t)=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>T(e),onMouseEnter:()=>p(t),className:G(`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,$.jsx)(Rn,{className:`size-3.5 shrink-0 text-text-secondary`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.label}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground truncate ml-auto`,title:e.path,children:e.source===`tab`?`open`:e.path})]},e.id))})]})})}var PV=`h-11 md:h-[30px] w-full min-w-0 rounded-md border border-border bg-surface px-2.5 text-base md:text-[13px] text-text-primary placeholder:text-text-subtle focus:outline-none focus:border-ring disabled:cursor-not-allowed disabled:opacity-55 aria-invalid:border-error`;function FV({line:e,id:t}){return!e||!e.text?null:(0,$.jsx)(`p`,{id:t,className:G(`text-[12.5px] md:text-[11.5px] leading-snug break-words`,e.tone===`bad`?`text-error`:e.tone===`ok`?`text-success`:`text-text-subtle`),children:e.text})}function IV({label:e,htmlFor:t,labelId:n,optional:r,error:i,help:a,className:o,children:s}){let c=t?`label`:`span`,l=typeof a==`string`?{tone:`plain`,text:a}:a??null;return(0,$.jsxs)(`div`,{className:G(`grid content-start gap-[5px] min-w-0`,o),children:[(0,$.jsxs)(c,{htmlFor:t,id:n,className:`text-[13px] md:text-xs font-medium text-text-2`,children:[e,r&&(0,$.jsx)(`span`,{className:`ml-1 font-normal text-text-subtle`,children:`optional`})]}),s,i&&(0,$.jsx)(FV,{id:t&&`${t}-error`,line:{tone:`bad`,text:i}}),(0,$.jsx)(FV,{line:l})]})}var LV=(0,Q.forwardRef)(function({invalid:e,mono:t,className:n,id:r,...i},a){return(0,$.jsx)(`input`,{ref:a,id:r,autoComplete:`off`,autoCapitalize:`off`,spellCheck:!1,"aria-invalid":e||void 0,"aria-describedby":e&&r?`${r}-error`:void 0,className:G(PV,t&&`font-mono`,n),...i})}),RV=(0,Q.forwardRef)(function({className:e,disabled:t,...n},r){let[i,a]=(0,Q.useState)(!1);return(0,$.jsxs)(`div`,{className:`relative flex min-w-0`,children:[(0,$.jsx)(LV,{ref:r,type:i?`text`:`password`,autoComplete:`new-password`,disabled:t,className:G(`pr-11 md:pr-8`,e),...n}),(0,$.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>a(e=>!e),"aria-label":i?`Hide password`:`Show password`,"aria-pressed":i,className:`absolute right-0 top-0 grid h-full w-11 md:w-8 place-items-center text-text-subtle can-hover:hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-55`,children:i?(0,$.jsx)(Nn,{className:`size-4`}):(0,$.jsx)(gt,{className:`size-4`})})]})}),zV=(0,Q.forwardRef)(function({onPick:e,pickerTitle:t,pickerRoot:n,accept:r,disabled:i,value:a,...o},s){let[c,l]=(0,Q.useState)(!1),u=typeof a==`string`?a.trim():``,d=u.includes(`/`)||u.includes(`\\`)?u.replace(/[\\/][^\\/]*$/,``)||`/`:``;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 gap-2`,children:[(0,$.jsx)(LV,{ref:s,mono:!0,disabled:i,value:a,...o}),(0,$.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>l(!0),className:`shrink-0 h-11 md:h-[30px] rounded-md border border-border bg-surface px-3 text-[14px] md:text-[12.5px] text-text-primary can-hover:hover:bg-surface-hover disabled:cursor-not-allowed disabled:opacity-55`,children:`Browse…`})]}),(0,$.jsx)(YC,{open:c,mode:`file`,accept:r,root:d||n,title:t,onSelect:t=>{e(t),l(!1)},onCancel:()=>l(!1)})]})}),BV=(0,Q.forwardRef)(function({className:e,children:t,...n},r){return(0,$.jsxs)(`span`,{className:`relative flex min-w-0`,children:[(0,$.jsx)(`select`,{ref:r,className:G(PV,`appearance-none pr-8 cursor-pointer`,e),...n,children:t}),(0,$.jsx)(We,{className:`pointer-events-none absolute right-2 top-1/2 size-3.5 -translate-y-1/2 text-text-subtle`})]})});function VV({id:e,checked:t,disabled:n,onChange:r,title:i,help:a,className:o}){return(0,$.jsxs)(`label`,{htmlFor:e,className:G(`flex items-start gap-[9px] min-w-0 min-h-11 md:min-h-0 py-1.5 md:py-0 text-[14.5px] md:text-[12.5px] text-text-primary`,n?`cursor-not-allowed`:`cursor-pointer`,o),children:[(0,$.jsx)(`input`,{id:e,type:`checkbox`,checked:t,disabled:n,onChange:e=>r(e.target.checked),className:`mt-px size-5 md:size-[15px] shrink-0 accent-primary disabled:opacity-55`}),(0,$.jsxs)(`span`,{className:`min-w-0`,children:[(0,$.jsx)(`b`,{className:G(`block font-medium`,n&&`text-text-subtle`),children:i}),a&&(0,$.jsx)(`small`,{className:`mt-px block text-[12.5px] md:text-[11.5px] text-text-subtle`,children:a})]})]})}function HV({name:e,value:t,checked:n,onChange:r,children:i}){return(0,$.jsxs)(`label`,{className:`flex items-center gap-[9px] min-h-11 md:min-h-0 text-[14.5px] md:text-[12.5px] text-text-primary cursor-pointer`,children:[(0,$.jsx)(`input`,{type:`radio`,name:e,value:t,checked:n,onChange:()=>r(t),className:`size-5 md:size-[15px] shrink-0 accent-primary`}),(0,$.jsx)(`span`,{children:i})]})}var UV=sr(()=>({queue:[]})),WV=1;function GV(e){let t=e.prompt.connectionId;if(t!==null){let e=UV.getState().queue.find(e=>e.prompt.connectionId===t);if(e)return e.promise}let n,r=new Promise(e=>{n=e}),i={...e,id:WV++,promise:r,resolve:n};return UV.setState(e=>({queue:[...e.queue,i]})),r}function KV(e,t){let n=UV.getState().queue.find(t=>t.id===e);n&&(UV.setState(t=>({queue:t.queue.filter(t=>t.id!==e)})),n.resolve(t))}async function qV(e){let t=e?.login;if(!t||typeof t.connectionId!=`number`)return!1;let n=t.connectionId,r=await GV({prompt:t,submit:(e,t)=>H.post(`/api/db/connections/${n}/login`,e,{signal:t,dbLogin:!1})});return r&&eo({connectionId:n}),r!==null}function JV(){let e=UV(e=>e.queue[0]??null);return(0,Q.useEffect)(()=>(Zn(qV),()=>Zn(null)),[]),e?(0,$.jsx)(YV,{pending:e},e.id):null}function YV({pending:e}){let t=Pi(),{prompt:n}=e,[r,i]=(0,Q.useState)(n.askUser?``:n.user),[a,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)({kind:`idle`}),[d,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(null),h=(0,Q.useRef)(null),g=(0,Q.useRef)(null),_=(0,Q.useRef)(null),v=l.kind===`busy`;(0,Q.useEffect)(()=>()=>h.current?.abort(),[]),(0,Q.useEffect)(()=>{p&&(p.field===`user`?g:_).current?.focus()},[p]);let y=(e,t,n)=>{u({kind:`failed`,message:e,details:t}),m(e=>({field:n,n:(e?.n??0)+1}))},b=()=>{h.current?.abort(),h.current=null,u({kind:`idle`})},x=()=>{h.current?.abort(),KV(e.id,null)},S=async()=>{if(v){b();return}let t=n.askUser?{user:r.trim(),password:a}:{password:a};if(n.askUser&&!t.user){y(`Enter the user name.`,``,`user`);return}let i=new AbortController;h.current=i,f(!1),u({kind:`busy`});try{let n=await e.submit(t,i.signal);if(i.signal.aborted)return;if(n.ok){KV(e.id,{login:t,result:n});return}y(`Connect failed: ${n.error}`,n.details,`password`)}catch(e){if(i.signal.aborted)return;let t=e instanceof nr&&e.body?.field===`user`?`user`:`password`;y(`Connect failed: ${e.message}`,``,t)}finally{h.current===i&&(h.current=null)}},C=e=>{e.key===`Enter`&&!e.nativeEvent.isComposing&&(e.preventDefault(),S())},w=`Database Log In (${n.type})`,T=`inline-flex h-11 md:h-8 items-center justify-center gap-1.5 rounded-[10px] md:rounded-md px-3.5 text-[14px] md:text-[12.5px] font-medium`,E=(0,$.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`db-login`,onKeyDown:t?e=>{e.key===`Escape`&&x()}:void 0,children:[(0,$.jsx)(IV,{label:`Connection`,htmlFor:`dbl-conn`,children:(0,$.jsx)(LV,{id:`dbl-conn`,readOnly:!0,tabIndex:-1,value:n.name,className:`bg-surface-hover text-text-2`})}),(0,$.jsx)(IV,{label:`Username`,htmlFor:`dbl-user`,children:(0,$.jsx)(LV,{id:`dbl-user`,ref:g,mono:!0,value:r,readOnly:!n.askUser,disabled:v,autoFocus:n.askUser,onChange:e=>i(e.target.value),onKeyDown:C,className:G(!n.askUser&&`bg-surface-hover text-text-2`)})}),(0,$.jsx)(IV,{label:`Password`,htmlFor:`dbl-pass`,children:(0,$.jsxs)(`div`,{className:`relative flex min-w-0`,children:[(0,$.jsx)(LV,{id:`dbl-pass`,ref:_,type:s?`text`:`password`,autoComplete:`current-password`,value:a,disabled:v,autoFocus:!n.askUser,onChange:e=>o(e.target.value),onKeyDown:C,className:`pr-11 md:pr-8`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>c(e=>!e),"aria-label":s?`Hide password`:`Show password`,"aria-pressed":s,className:`absolute right-0 top-0 grid h-full w-11 md:w-8 place-items-center text-text-subtle can-hover:hover:text-text-primary`,children:s?(0,$.jsx)(Nn,{className:`size-4`}):(0,$.jsx)(gt,{className:`size-4`})})]})}),(0,$.jsxs)(`div`,{"aria-live":`polite`,className:`empty:hidden grid gap-2`,"data-testid":`db-login-state`,children:[v&&(0,$.jsxs)(`p`,{className:`flex items-center gap-2 text-[13px] md:text-[12.5px] text-text-2`,children:[(0,$.jsx)(z,{className:`size-4 animate-spin text-text-subtle`}),`Testing connection`]}),l.kind===`failed`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`p`,{className:`flex items-start gap-2 text-[13px] md:text-[12.5px] text-error`,children:[(0,$.jsx)(rn,{className:`mt-px size-4 shrink-0`}),(0,$.jsxs)(`span`,{className:`min-w-0 break-words`,children:[l.message,l.details&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>f(e=>!e),className:`ml-2 inline-flex min-h-11 md:min-h-0 items-center text-text-2 underline underline-offset-2 can-hover:hover:text-text-primary`,children:d?`Hide detail`:`Show detail`})]})]}),d&&l.details&&(0,$.jsx)(`pre`,{className:`max-h-40 overflow-auto whitespace-pre-wrap break-words rounded-md border border-border-soft bg-panel-2 p-2.5 font-mono text-[12px] md:text-[11.5px] text-text-2`,children:l.details})]})]}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`mr-auto hidden md:inline text-[11.5px] text-text-subtle`,children:`Enter connect · Esc close`}),(0,$.jsx)(`button`,{type:`button`,onClick:x,className:G(T,`flex-1 md:flex-none border border-border bg-surface text-text-primary can-hover:hover:bg-surface-hover`),children:`Close`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void S(),className:G(T,`flex-[2] md:flex-none bg-primary text-primary-foreground can-hover:hover:bg-primary/90`),children:v?`Stop connecting`:`Connect`})]})]}),D=(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ce,{className:`size-4 shrink-0 text-text-subtle`}),w]});return t?(0,$.jsx)(Ma,{open:!0,onClose:x,className:`popover-solid`,children:(0,$.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`dbl-title`,className:`px-4 pb-4 pt-1`,children:[(0,$.jsx)(`h2`,{id:`dbl-title`,className:`mb-3 text-base font-semibold`,children:D}),E]})}):(0,$.jsx)(_a,{open:!0,onOpenChange:e=>{e||x()},children:(0,$.jsxs)(pa,{className:`sm:max-w-[440px] gap-3`,children:[(0,$.jsx)(ma,{className:`text-[15px]`,children:D}),(0,$.jsx)(ha,{className:`sr-only`,children:`This connection keeps no password. Enter it to connect; PPM holds it until you disconnect.`}),E]})})}function XV(){let e=od(e=>e.pending),t=Pi();if(!e)return null;let n=e.tabs.length===1,r=`Confirm close tabs`,i=n?`This tab has changes that are not saved. Closing it discards them.`:`These tabs have changes that are not saved. Closing them discards the changes.`,a=()=>cd(!1),o=(0,$.jsx)(`ul`,{className:`max-h-48 overflow-y-auto rounded-md border border-border bg-panel-2 px-3 py-2 text-sm text-text-primary`,children:e.tabs.map(e=>(0,$.jsx)(`li`,{className:`truncate py-0.5`,title:e.title,children:e.title},e.id))}),s=(0,$.jsxs)(`div`,{className:`flex flex-col-reverse gap-2 pt-2 md:flex-row md:justify-end`,children:[(0,$.jsx)(X,{variant:`outline`,onClick:a,className:`min-h-11 md:min-h-9`,autoFocus:!0,children:`Cancel`}),(0,$.jsx)(X,{variant:`destructive`,onClick:()=>cd(!0),className:`min-h-11 md:min-h-9`,children:n?`Close tab`:`Close tabs`})]});return t?(0,$.jsx)(Ma,{open:!0,onClose:a,children:(0,$.jsxs)(`div`,{className:`space-y-3 px-4 pb-4`,role:`alertdialog`,"aria-label":r,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:r}),(0,$.jsx)(`p`,{className:`text-sm text-text-secondary`,children:i}),o,s]})}):(0,$.jsx)(_a,{open:!0,onOpenChange:e=>{e||a()},children:(0,$.jsxs)(pa,{role:`alertdialog`,children:[(0,$.jsxs)(da,{children:[(0,$.jsx)(ma,{children:r}),(0,$.jsx)(ha,{children:i})]}),o,s]})})}var ZV=(0,Q.lazy)(()=>W(()=>import(`./structure-save-dialog-5SfYdbAB.js`).then(e=>({default:e.StructureSaveDialog})),__vite__mapDeps([255,1,2,3,31,6,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,92,94,23,95,101,96,97,56,57,22,90,28,29,100,50,18,65,84,45,51,86,61]))),QV=(0,Q.lazy)(()=>W(()=>import(`./rename-object-dialog-Dv4iLwnf.js`).then(e=>({default:e.RenameObjectDialog})),__vite__mapDeps([256,1,2,3,31,6,7,100,50,18,23,65,84,45,51,86,61,16,10])));function $V(){let e=pb(e=>e.request),t=pb(e=>e.seq),n=pb(e=>e.rename);return!e&&!n?null:(0,$.jsxs)(Q.Suspense,{fallback:null,children:[e&&(0,$.jsx)(ZV,{request:e,seq:t},t),n&&!e&&(0,$.jsx)(QV,{request:n})]})}var eH=class extends Error{constructor(){super(`The changes were not saved`),this.name=`GridSaveCancelled`}},tH=sr(()=>({pending:null,seq:0}));function nH(e){let{pending:t,seq:n}=tH.getState();return t?Promise.reject(new eH):new Promise((t,r)=>{tH.setState({seq:n+1,pending:{request:e,seq:n+1,resolve:t,reject:r}})})}function rH(e,t){let{pending:n}=tH.getState();n?.seq===e&&(tH.setState({pending:null}),t?n.resolve(t):n.reject(new eH))}var iH=(0,Q.lazy)(()=>W(()=>import(`./grid-save-dialog-BmF2Gy_E.js`).then(e=>({default:e.GridSaveDialog})),__vite__mapDeps([257,1,2,3,31,6,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,92,94,23,95,77,101,96,97,56,57,22,90,28,29,84,45,50,18,51,17,19,86,61])));function aH(){let e=tH(e=>e.pending);return e?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(iH,{request:e.request,seq:e.seq},e.seq)}):null}var oH={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 set up your domain later in Settings → Remote Access → Public link.`,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`}},sH=/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/,cH=253;function lH(e,t){return`${e.trim().toLowerCase()}.${t.trim().toLowerCase()}`}function uH(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>cH)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(!sH.test(e))return{ok:!1,reason:`invalid DNS label: "${e}"`};return{ok:!0}}function dH(e){return e.authEnabled??!0?e.certState===`invalid`||e.certState===`mismatch`?{k:`needs-relogin`,message:e.certState===`mismatch`?oH.needsRelogin.certMismatch:oH.needsRelogin.certInvalid}:e.mode!==`quick`||e.dismissed?{k:`hidden`}:mH(e.login.state,e.login.url,e.login.message):{k:`hidden`}}var fH=new Set([`hidden`,`ask-domain`,`login-wait`,`login-timeout`,`login-cancelled`,`needs-relogin`,`error`]),pH=new Set([`login-wait`,`needs-relogin`]);function mH(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??oH.error.title};case`success`:return{k:`login-wait`,url:t,slow:!1};default:return{k:`ask-domain`}}}function hH(e,t){switch(t.type){case`status`:return fH.has(e.k)?dH(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 mH(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 pH.has(e.k)?{k:`confirm-zone`,zone:t.zone}:e;case`zone-error`:return pH.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:oH.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 gH=null;function _H(){return gH}var vH=[`tunnel:login_url`,`tunnel:login_state`,`tunnel:setup_step`,`tunnel:setup_done`,`tunnel:setup_pending`,`tunnel:setup_error`];function yH(e){return e instanceof Error?e.message:oH.error.title}function bH(){let[e,t]=(0,Q.useState)({k:`hidden`}),[n,r]=(0,Q.useState)(null),i=(0,Q.useRef)(!1),a=(0,Q.useRef)(e);a.current=e;let o=(0,Q.useCallback)(e=>{t(t=>hH(t,e))},[]),s=(0,Q.useCallback)(()=>{i.current||(i.current=!0,MS.zone().then(e=>o({type:`zone-loaded`,zone:e.zone})).catch(e=>o({type:`zone-error`,message:yH(e)})).finally(()=>{i.current=!1}))},[o]),c=(0,Q.useCallback)(()=>{pH.has(a.current.k)&&s()},[s]),l=(0,Q.useCallback)(async()=>{try{let e=await MS.status();r(e),e.mode===`named`&&e.hostname&&(gH=e.hostname),o({type:`status`,status:e}),e.mode===`quick`&&e.login.state===`success`&&c()}catch{}},[o,c]);(0,Q.useEffect)(()=>{l()},[l]),(0,Q.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`:gH=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 vH.forEach(t=>window.addEventListener(t,e)),()=>vH.forEach(t=>window.removeEventListener(t,e))},[o,c,l]);let u=(0,Q.useCallback)(e=>{o({type:`answer-yes`}),MS.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:yH(e)}))},[o,c,l]),d=(0,Q.useCallback)(()=>u(!1),[u]),f=(0,Q.useCallback)(()=>u(!1),[u]),p=(0,Q.useCallback)(()=>u(!0),[u]),m=(0,Q.useCallback)(()=>{o({type:`answer-no`}),MS.dismiss().catch(()=>{})},[o]),h=(0,Q.useCallback)(()=>{o({type:`cancel`}),MS.cancelLogin().catch(()=>{})},[o]),g=(0,Q.useCallback)(()=>o({type:`confirm-zone`}),[o]),_=(0,Q.useCallback)(()=>o({type:`start-over`}),[o]),v=(0,Q.useCallback)(()=>o({type:`close`}),[o]);return{step:e,status:n,answerYes:d,answerNo:m,cancelLogin:h,retryLogin:f,confirmZone:g,startOver:_,setHostnamePrefix:(0,Q.useCallback)(e=>{let t=a.current;if(t.k!==`choose-hostname`)return;let n=uH(lH(e,t.zone),t.zone);o({type:`hostname-prefix`,prefix:e,error:n.ok?void 0:n.reason})},[o]),submitHostname:(0,Q.useCallback)(()=>{let e=a.current;if(e.k!==`choose-hostname`)return;let t=lH(e.prefix,e.zone),n=uH(t,e.zone);if(!n.ok){o({type:`hostname-prefix`,prefix:e.prefix,error:n.reason});return}o({type:`submit`}),MS.setup(t).then(e=>{gH=e.hostname,e.pending?o({type:`setup-pending`,hostname:e.hostname,message:e.message??oH.pending.title}):o({type:`setup-done`,hostname:e.hostname}),l()}).catch(e=>o({type:`setup-error`,message:yH(e)}))},[o,l]),requestRelogin:p,close:v,refreshStatus:l}}function xH({url:e,slow:t,onCancel:n}){let[r,i]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(!1),s=oH.login,c=t&&!a;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:s.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:s.hint})]}),e?(0,$.jsxs)(`div`,{className:`flex items-stretch gap-2`,children:[(0,$.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,$.jsx)(`button`,{type:`button`,onClick:async()=>{await ca(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,$.jsx)(L,{className:`size-4 text-success`}):(0,$.jsx)(jn,{className:`size-4`})}),(0,$.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,$.jsx)(Lt,{className:`size-4`})})]}):(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-text-secondary`,children:[(0,$.jsx)(z,{className:`size-4 animate-spin`}),s.waiting]}),(0,$.jsx)(`p`,{className:`text-xs text-text-subtle`,children:s.finishOnPhone}),c&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-warning/30 bg-warning/10 p-3 space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(yn,{className:`size-4 text-warning shrink-0 mt-0.5`}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:s.slowTitle}),(0,$.jsx)(`p`,{className:`text-xs text-text-secondary leading-relaxed mt-0.5`,children:s.slowBody})]})]}),(0,$.jsxs)(`div`,{className:`flex gap-2 pt-1`,children:[(0,$.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,$.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,$.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 SH({zone:e,prefix:t,error:n,onChange:r}){let i=(0,Q.useRef)(null);return(0,Q.useEffect)(()=>{i.current?.focus()},[]),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`named-tunnel-prefix`,className:`block text-sm font-medium text-foreground`,children:oH.hostname.prefixLabel}),(0,$.jsxs)(`div`,{className:`flex items-stretch rounded-lg border border-border bg-background focus-within:border-primary/50 transition-colors overflow-hidden`,children:[(0,$.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,$.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,$.jsx)(`p`,{className:`text-xs text-text-subtle`,children:oH.hostname.suffixHint}),n&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:n})]})}var CH=`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`,wH=`w-full min-h-11 py-3 rounded-lg border border-border text-sm text-text-secondary hover:bg-surface-elevated transition-colors`;function TH({step:e,t}){switch(e.k){case`hidden`:return null;case`ask-domain`:{let e=oH.askDomain;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:t.answerNo,className:wH,children:e.no}),(0,$.jsx)(`button`,{type:`button`,onClick:t.answerYes,className:CH,children:e.yes})]})]})}case`no-domain`:{let e=oH.noDomain;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,$.jsx)(`button`,{type:`button`,onClick:t.close,className:CH,children:e.close})]})}case`login-wait`:return(0,$.jsx)(xH,{url:e.url,slow:e.slow,onCancel:t.cancelLogin});case`login-timeout`:{let e=oH.timeout;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,$.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:CH,children:e.retry})]})}case`login-cancelled`:{let e=oH.cancelled;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,$.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:CH,children:e.retry})]})}case`confirm-zone`:{let n=oH.confirmZone;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:n.body(e.zone)})]}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:t.startOver,className:wH,children:n.startOver}),(0,$.jsx)(`button`,{type:`button`,onClick:t.confirmZone,className:CH,children:n.confirm})]})]})}case`needs-relogin`:{let n=oH.needsRelogin;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message})]}),(0,$.jsx)(`button`,{type:`button`,onClick:t.requestRelogin,className:CH,children:n.action})]})}case`choose-hostname`:{let n=oH.hostname;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(SH,{zone:e.zone,prefix:e.prefix,error:e.error,onChange:t.setHostnamePrefix}),(0,$.jsx)(`button`,{type:`button`,onClick:t.submitHostname,disabled:!e.prefix||!!e.error,className:CH,children:n.submit})]})}case`applying`:return(0,$.jsx)(`div`,{className:`space-y-4 py-4`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-foreground`,children:[(0,$.jsx)(z,{className:`size-4 animate-spin text-primary`}),e.message]})});case`done`:{let n=oH.done;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary break-all`,children:n.body(e.hostname)})]}),(0,$.jsx)(`button`,{type:`button`,onClick:t.close,className:CH,children:n.close})]})}case`pending`:{let n=oH.pending;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message}),(0,$.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,$.jsx)(`button`,{type:`button`,onClick:t.close,className:CH,children:n.close})]})}case`error`:{let n=oH.error;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(rn,{className:`size-4 text-destructive shrink-0 mt-0.5`}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:t.close,className:wH,children:n.close}),(0,$.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:wH,children:n.retry}),(0,$.jsx)(`button`,{type:`button`,onClick:t.requestRelogin,className:CH,children:n.relogin})]})]})}default:return null}}function EH(){let e=bH(),t=Pi(),[n,r]=(0,Q.useState)(!1),i=e.step.k!==`hidden`&&!n;if(!i)return null;let a=()=>r(!0);return t?(0,$.jsx)(Ma,{open:i,onClose:a,zIndex:45,children:(0,$.jsx)(`div`,{className:`px-4 pb-4`,children:(0,$.jsx)(TH,{step:e.step,t:e})})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-[45] bg-black/40`,onClick:a}),(0,$.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,$.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,$.jsx)($t,{className:`size-4`})}),(0,$.jsx)(`div`,{className:`pr-8`,children:(0,$.jsx)(TH,{step:e.step,t:e})})]})]})}var DH=sr((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})}})),OH={scale:1,x:0,y:0,rotation:0,flipX:!1,flipY:!1},kH=.1,AH=20,jH=2.5,MH=(e,t,n)=>Math.min(n,Math.max(t,e));function NH(e){return e.deltaMode===0?e.deltaX===0?Number.isInteger(e.deltaY)&&Math.abs(e.deltaY)>=40:!1:!0}function PH(){let e=(0,Q.useRef)(null),t=(0,Q.useRef)(null),n=(0,Q.useRef)({...OH}),r=(0,Q.useRef)(null),[i,a]=(0,Q.useState)(100),[o,s]=(0,Q.useState)(0),c=(0,Q.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,Q.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,Q.useCallback)(()=>{a(Math.round(n.current.scale*100)),s(n.current.rotation)},[]),d=(0,Q.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,Q.useCallback)((e=!1)=>{let{maxX:t,maxY:r}=l();n.current.x=MH(n.current.x,-t,t),n.current.y=MH(n.current.y,-r,r),d(e)},[d,l]),p=(0,Q.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=MH(t,kH,AH),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,Q.useCallback)(()=>{n.current={...OH},d(!0)},[d]),h=(0,Q.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,Q.useCallback)(()=>{let{dw:e,natural:t}=c();e>0&&t>0&&p(t/e,void 0,void 0,!0)},[c,p]),_=(0,Q.useCallback)(e=>{n.current.rotation=((n.current.rotation+e)%360+360)%360,h()},[h]),v=(0,Q.useCallback)(e=>{e===`x`?n.current.flipX=!n.current.flipX:n.current.flipY=!n.current.flipY,d(!0)},[d]),y=(0,Q.useCallback)(e=>p(n.current.scale*e,void 0,void 0,!0),[p]);return bA({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||NH(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(jH,e.clientX,e.clientY,!0)}},{target:e,drag:{from:()=>[n.current.x,n.current.y],filterTaps:!0,pointer:{touch:!0}},pinch:{scaleBounds:{min:kH,max:AH},rubberband:!0},eventOptions:{passive:!1}}),(0,Q.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 FH(){let e=DH(e=>e.src);return e?(0,$.jsx)(IH,{},e):null}function IH(){let{src:e,alt:t,images:n,index:r,close:i,go:a}=DH(),{containerRef:o,imageRef:s,zoomPercent:c,rotation:l,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h}=PH(),[g,_]=(0,Q.useState)(!1),v=la();(0,Q.useEffect)(()=>{d()},[d]);let y=(0,Q.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,Q.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 sa(e)&&(_(!0),setTimeout(()=>_(!1),1500))};return(0,$.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,$.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,$.jsx)($t,{className:`size-5`})}),x&&(0,$.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,$.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,$.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,$.jsxs)(LH,{children:[x&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(zH,{onClick:()=>a(-1),disabled:r===0,label:`Previous image (←)`,children:(0,$.jsx)(Ce,{className:`size-5`})}),(0,$.jsx)(zH,{onClick:()=>a(1),disabled:r===n.length-1,label:`Next image (→)`,children:(0,$.jsx)(Ne,{className:`size-5`})}),(0,$.jsx)(RH,{})]}),(0,$.jsx)(zH,{onClick:()=>u(.8),label:`Zoom out (-)`,children:(0,$.jsx)(we,{className:`size-5`})}),(0,$.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,$.jsx)(zH,{onClick:()=>u(1.25),label:`Zoom in (+)`,children:(0,$.jsx)(Ct,{className:`size-5`})}),(0,$.jsx)(zH,{onClick:f,label:`Fit to screen (0)`,children:(0,$.jsx)(fe,{className:`size-5`})}),(0,$.jsx)(zH,{onClick:p,label:`Actual size (1)`,children:(0,$.jsx)(yc,{className:`size-5`})}),(0,$.jsx)(RH,{}),(0,$.jsx)(zH,{onClick:()=>m(-90),label:`Rotate left (Shift+R)`,active:l!==0,children:(0,$.jsx)(It,{className:`size-5`})}),(0,$.jsx)(zH,{onClick:()=>m(90),label:`Rotate right (R)`,active:l!==0,children:(0,$.jsx)(ht,{className:`size-5`})}),(0,$.jsx)(zH,{onClick:()=>h(`x`),label:`Flip horizontally (H)`,children:(0,$.jsx)(Jt,{className:`size-5`})}),(0,$.jsx)(zH,{onClick:()=>h(`y`),label:`Flip vertically (V)`,children:(0,$.jsx)(He,{className:`size-5`})}),(0,$.jsx)(RH,{}),(0,$.jsx)(zH,{onClick:()=>ep(e,b),label:`Download`,children:(0,$.jsx)(Ht,{className:`size-5`})}),(0,$.jsx)(zH,{onClick:S,disabled:!v,label:v?`Copy image`:`Copying images needs an HTTPS or localhost address`,children:g?(0,$.jsx)(L,{className:`size-5 text-green-400`}):(0,$.jsx)(jn,{className:`size-5`})})]})]})}function LH({children:e}){return(0,$.jsx)(`div`,{className:`flex shrink-0 justify-center px-2 pb-[max(0.75rem,env(safe-area-inset-bottom))] pt-2`,children:(0,$.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 RH(){return(0,$.jsx)(`span`,{className:`mx-1 h-6 w-px bg-white/20`,"aria-hidden":!0})}function zH({onClick:e,label:t,children:n,disabled:r,active:i}){return(0,$.jsx)(`button`,{type:`button`,onClick:e,disabled:r,title:t,"aria-label":t,className:G(`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 BH=sr(e=>({svg:null,open:t=>e({svg:t}),close:()=>e({svg:null})})),VH=.25,HH=4,UH=.25;function WH(){let{svg:e,close:t}=BH(),n=(0,Q.useRef)(null),[r,i]=(0,Q.useState)(1),[a,o]=(0,Q.useState)({x:0,y:0}),s=(0,Q.useRef)(!1),c=(0,Q.useRef)({x:0,y:0});(0,Q.useEffect)(()=>{e&&(i(1),o({x:0,y:0}))},[e]);let l=(0,Q.useCallback)(e=>{e.key===`Escape`&&t(),(e.key===`=`||e.key===`+`)&&i(e=>Math.min(HH,e+UH)),e.key===`-`&&i(e=>Math.max(VH,e-UH)),e.key===`0`&&(i(1),o({x:0,y:0}))},[t]);(0,Q.useEffect)(()=>{if(e)return document.addEventListener(`keydown`,l),()=>document.removeEventListener(`keydown`,l)},[e,l]);let u=(0,Q.useCallback)(e=>{e.preventDefault();let t=e.deltaY>0?-UH:UH;i(e=>Math.min(HH,Math.max(VH,e+t)))},[]),d=(0,Q.useCallback)(e=>{e.button===0&&(s.current=!0,c.current={x:e.clientX,y:e.clientY},e.target.setPointerCapture(e.pointerId))},[]),f=(0,Q.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,Q.useCallback)(()=>{s.current=!1},[]);return e?(0,$.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,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 bg-black/40`,onClick:e=>e.stopPropagation(),children:[(0,$.jsxs)(`span`,{className:`text-sm text-white/70`,children:[Math.round(r*100),`% — Scroll to zoom, drag to pan, 0 to reset`]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`button`,{onClick:()=>i(e=>Math.max(VH,e-UH)),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,$.jsx)(Pt,{className:`size-4`})}),(0,$.jsx)(`button`,{onClick:()=>i(e=>Math.min(HH,e+UH)),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,$.jsx)(zt,{className:`size-4`})}),(0,$.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,$.jsx)(It,{className:`size-4`})}),(0,$.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,$.jsx)($t,{className:`size-5`})})]})]}),(0,$.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,$.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,$.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 GH=new Map,KH=sr((e,t)=>({shellsBySession:{},panelShellId:null,setSessionShells:(t,n)=>e(e=>({shellsBySession:{...e.shellsBySession,[t]:n}})),retainSession:e=>{GH.set(e,(GH.get(e)??0)+1)},releaseSession:t=>{let n=(GH.get(t)??1)-1;if(n>0){GH.set(t,n);return}GH.delete(t),e(e=>{let n={...e.shellsBySession};return delete n[t],{shellsBySession:n}})},findByOutput:e=>{if(!e)return;let n=fr(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})})),qH=1500,JH=5e5;function YH(){let e=KH(e=>e.panelShellId),t=KH(e=>e.getShell),n=KH(e=>e.closePanel),r=e?t(e):void 0,[i,a]=(0,Q.useState)(``),[o,s]=(0,Q.useState)(null),[c,l]=(0,Q.useState)(!1),u=(0,Q.useRef)(null),d=r?.outputPath,f=r?.status,p=(0,Q.useCallback)(async()=>{if(d)try{let e=(await H.get(`/api/fs/read?path=${encodeURIComponent(d)}`)).content??``;a(e.length>JH?e.slice(-JH):e),s(null)}catch(e){s(e.message)}finally{l(!1)}},[d]);return(0,Q.useEffect)(()=>{if(!d||(l(!0),a(``),p(),f!==`running`))return;let e=setInterval(p,qH);return()=>clearInterval(e)},[d,f,p]),(0,Q.useEffect)(()=>{u.current&&(u.current.scrollTop=u.current.scrollHeight)},[i]),(0,Q.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,n]),e?(0,$.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,$.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,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,$.jsx)(et,{className:`size-4 shrink-0 text-text-secondary`}),(0,$.jsx)(`span`,{className:`flex-1 truncate text-sm font-mono text-text-primary`,title:r?.command,children:r?.command||`Background command`}),f===`running`&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-emerald-500`,children:[(0,$.jsx)(z,{className:`size-3 animate-spin`}),` live`]}),f===`stopping`&&(0,$.jsx)(`span`,{className:`text-[11px] text-warning`,children:`stopping…`}),f===`stopped`&&(0,$.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`stopped`}),(0,$.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,$.jsx)($t,{className:`size-5`})})]}),(0,$.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 XH=`https://cloud.ppm.sh`;function ZH(){let e=window.location.hostname;return e.endsWith(`.trycloudflare.com`)||e===_H()}function QH(){let e=_H();return!!e&&window.location.hostname===e}function $H(){let e=PB(e=>e.showOverlay),[t,n]=(0,Q.useState)(!1);if(!e)return null;let r=ZH(),i=QH(),a=Kw();async function o(){n(!0);try{if((await fetch(`/api/health`,{cache:`no-store`})).ok){if(PB.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,$.jsx)(`div`,{className:`fixed inset-0 z-[200] bg-background/95 backdrop-blur-sm flex items-center justify-center p-4`,children:(0,$.jsxs)(`div`,{className:`max-w-sm w-full text-center space-y-6`,children:[(0,$.jsx)(`div`,{className:`flex justify-center`,children:(0,$.jsx)(`div`,{className:`rounded-full bg-destructive/10 p-4`,children:(0,$.jsx)(r?cn:bc,{className:`h-10 w-10 text-destructive`})})}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`h2`,{className:`text-xl font-semibold text-foreground`,children:i?`Domain Not Responding`:r?`Connection Lost`:`Server Unreachable`}),(0,$.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,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[r&&a&&(0,$.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,$.jsx)(Dn,{className:`h-4 w-4`}),`Open on local network`]}),r&&(0,$.jsx)(`a`,{href:XH,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,$.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,$.jsx)(Vt,{className:`h-4 w-4 ${t?`animate-spin`:``}`}),t?`Retrying…`:`Retry Connection`]})]}),!r&&(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`If the server was stopped, run `,(0,$.jsx)(`code`,{className:`bg-muted px-1 py-0.5 rounded text-[11px]`,children:`ppm start`}),` to restart it.`]})]})})}function eU(){let e=rf(e=>e.quickPick),t=rf(e=>e.resolveQuickPick);return e?(0,$.jsx)(tU,{items:e.items,options:e.options,onSelect:e=>t(e),onCancel:()=>t(void 0)}):null}function tU({items:e,options:t,onSelect:n,onCancel:r}){let[i,a]=(0,Q.useState)(``),[o,s]=(0,Q.useState)(0),[c,l]=(0,Q.useState)(()=>{let t=new Set;return e.forEach((e,n)=>{e.picked&&t.add(n)}),t}),u=(0,Q.useRef)(null),d=(0,Q.useRef)(null),f=t.canPickMany??!1;(0,Q.useEffect)(()=>{requestAnimationFrame(()=>u.current?.focus())},[]);let p=(0,Q.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,Q.useEffect)(()=>{s(e=>Math.min(e,Math.max(p.length-1,0)))},[p.length]),(0,Q.useEffect)(()=>{(d.current?.children[o])?.scrollIntoView({block:`nearest`})},[o]);let m=(0,Q.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,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:r,children:[(0,$.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,$.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,$.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,$.jsx)(Ln,{className:`size-4 text-text-subtle shrink-0`}),(0,$.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,$.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,$.jsx)(`div`,{ref:d,className:`max-h-72 overflow-y-auto py-1`,children:p.length===0?(0,$.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,$.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:G(`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,$.jsx)(`span`,{className:G(`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,$.jsx)(L,{className:`size-3`})}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`div`,{className:`truncate`,children:e.label}),e.description&&(0,$.jsx)(`span`,{className:`text-xs text-text-subtle ml-2`,children:e.description}),e.detail&&(0,$.jsx)(`div`,{className:`text-xs text-text-subtle truncate mt-0.5`,children:e.detail})]})]},t))}),f&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border px-3 py-1.5`,children:[(0,$.jsxs)(`span`,{className:`text-[10px] text-text-subtle`,children:[c.size,` selected`]}),(0,$.jsx)(`button`,{onClick:m,className:`text-xs text-primary hover:text-primary/80 font-medium`,children:`Confirm`})]})]})]})}function nU(){let e=rf(e=>e.inputBox),t=rf(e=>e.resolveInputBox);return e?(0,$.jsx)(rU,{options:e.options,onConfirm:e=>t(e),onCancel:()=>t(void 0)}):null}function rU({options:e,onConfirm:t,onCancel:n}){let[r,i]=(0,Q.useState)(e.value??``),a=(0,Q.useRef)(null);(0,Q.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,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:n,children:[(0,$.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,$.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,$.jsx)(`div`,{className:`px-3 pt-3 pb-1 text-sm text-text-primary`,children:e.prompt}),(0,$.jsx)(`div`,{className:`flex items-center gap-2 px-3 py-2.5`,children:(0,$.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,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border px-3 py-2`,children:[(0,$.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,$.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 iU=new Set;function aU(e,t){return`${e}:${t??``}`}var oU=new Map,sU=15e3;function cU(e,t){let n=Date.now();for(let[e,t]of oU)n-t>sU&&oU.delete(e);if(oU.delete(`${e}:${t??``}`)||t&&oU.delete(`${e}:`))return!0;if(!t){for(let t of oU.keys())if(t.startsWith(`${e}:`))return oU.delete(t),!0}return!1}var lU=new Set;function uU(e=!0){let t=(0,Q.useRef)(null),n=(0,Q.useCallback)(e=>{t.current?.send(JSON.stringify(e))},[]);return(0,Q.useEffect)(()=>{if(!e)return;let r=Xn(),i=new xB(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=rf.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=cU(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=q.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)Y.getState().updateTab(c.id,{title:t.title,metadata:{...c.metadata,viewType:e,panelId:t.panelId,extensionId:t.extensionId,...t.projectName&&{projectName:t.projectName}}}),n&&!lU.has(e)&&Y.getState().setActiveTab(c.id),lU.delete(e);else if(n&&!iU.has(aU(e,t.projectName))){let n=Y.getState().currentProject,r=t.projectName??n??void 0;Y.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`:{let e=t.metadata;if(t.tabType===`git-review`&&typeof e?.projectName==`string`){g_(e.projectName,typeof e.path==`string`?e.path:void 0,typeof e.repo==`string`?e.repo:void 0);break}Y.getState().openTab({type:t.tabType,title:t.title,projectId:t.projectId??null,closable:t.closable??!0,metadata:t.metadata});break}case`project:switch`:Y.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 iU)e.startsWith(`${a}:`)&&iU.delete(e);let o=Array.isArray(n)&&typeof n[0]==`string`?n[0]:``;oU.set(`${a}:${o}`,Date.now()),r?lU.add(a):lU.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=aU(n.replace(/\.view$/,``),r);iU.add(e),setTimeout(()=>iU.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 dU(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 fU(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 pU({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,$.jsxs)(`div`,{className:`flex flex-col gap-1 px-3 py-2`,"data-testid":`upload-row`,"data-state":e.state,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`truncate text-sm text-text`,children:e.name}),i&&(0,$.jsx)(`p`,{className:`truncate text-xs text-text-2`,children:e.relativePath})]}),(0,$.jsx)(`span`,{className:`shrink-0 text-xs text-text-2`,children:fU(e.size)}),r?(0,$.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,$.jsx)($t,{className:`size-4 text-text-2`})}):(0,$.jsxs)(`span`,{className:`flex size-11 shrink-0 items-center justify-center`,"aria-label":e.state,children:[e.state===`done`&&(0,$.jsx)(L,{className:`size-4 text-success`}),e.state===`skipped`&&(0,$.jsx)(`span`,{className:`text-xs text-text-2`,children:`Skipped`}),(e.state===`failed`||e.state===`cancelled`)&&(0,$.jsx)(yn,{className:`size-4 text-destructive`})]})]}),r&&(0,$.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-surface-elevated`,children:(0,$.jsx)(`div`,{className:G(`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,$.jsx)(`p`,{className:`text-xs text-destructive`,children:e.state===`cancelled`?`Cancelled`:e.errorMessage??`Upload failed`})]})}function mU(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function hU({batch:e}){let t=dg(e=>e.cancelItem),n=dg(e=>e.cancelBatch),r=dg(e=>e.dismissBatch),i=dU(e.items),a=e.settled,o=i.bytesTotal>0?Math.round(i.bytesLoaded/i.bytesTotal*100):0;return(0,$.jsxs)(`div`,{className:`w-full overflow-hidden rounded-lg border border-border bg-panel shadow-lg`,"data-testid":`upload-batch-card`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.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,$.jsxs)(`p`,{className:`truncate text-xs text-text-2`,children:[mU(i.bytesLoaded),` / `,mU(i.bytesTotal)]})]}),a?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-11 shrink-0`,onClick:()=>r(e.id),children:`Close`}):(0,$.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,$.jsx)($t,{className:`size-4 text-text-2`})})]}),(0,$.jsx)(`div`,{className:`max-h-64 divide-y divide-border overflow-y-auto`,children:e.items.map(n=>(0,$.jsx)(pU,{item:n,onCancel:()=>t(e.id,n.id)},n.id))})]})}function gU(){return dg(sm(e=>e.order.map(t=>e.batches[t]).filter(e=>e!=null)))}function _U(){let e=Pi(),t=gU(),[n,r]=(0,Q.useState)(!1);if(t.length===0)return null;if(!e)return(0,$.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,$.jsx)(hU,{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,$.jsxs)($.Fragment,{children:[(0,$.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,$.jsx)(Ma,{open:n,onClose:()=>r(!1),className:`max-h-[70vh] overflow-y-auto p-2`,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-2 px-2 pb-2`,children:t.map(e=>(0,$.jsx)(hU,{batch:e},e.id))})})]})}var vU=`ppm:chunk-reload`,yU=!1;function bU(){return yU}var xU=/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 SU(e){if(!e)return!1;let t=e instanceof Error?`${e.name}: ${e.message}`:String(e);return xU.test(t)}async function CU(){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 wU(){try{sessionStorage.removeItem(vU)}catch{}yU=!0,await CU(),window.location.reload()}function TU(){let e;try{e=sessionStorage.getItem(vU)===`1`,sessionStorage.setItem(vU,`1`)}catch{return!1}return e?!1:(yU=!0,CU().then(()=>window.location.reload()),!0)}function EU(){window.addEventListener(`vite:preloadError`,e=>{oc(`chunk_error`,e?.payload??`vite:preloadError`),TU()})}var DU={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.`}},OU=`Summarize this project and explain how to run it. Only read; do not edit files.`;function kU(e,t){let n=DU[e],r=t===`advanced`?2:t===`familiar`?1:0;return{title:n.title,body:n.bodies[r],more:n.more,action:n.action}}var AU=[{id:`beginner`,title:`I'm just getting started`,body:`One step at a time, with the basics explained.`,icon:qt},{id:`familiar`,title:`I've used similar tools`,body:`A quick introduction to finding your way around PPM.`,icon:qt},{id:`advanced`,title:`I'm a developer / advanced user`,body:`Go straight to the workspace and tools.`,icon:yt}],jU=[{id:`ai`,title:`Work with AI`,body:`Ask about a project and find your conversation again.`,icon:re},{id:`explore`,title:`Explore a project`,body:`Open a file and search through your project.`,icon:qt},{id:`developer`,title:`Use development tools`,body:`Find the terminal, Git changes and run instructions.`,icon:yt}];function MU({projectName:e}){let t=qi(),n=(0,Q.useRef)(document.activeElement),[r,i]=(0,Q.useState)(`level`);return(0,$.jsx)(_a,{open:!0,onOpenChange:e=>{e||t.dismiss()},children:(0,$.jsx)(pa,{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,$.jsxs)(Xi,{stepKey:r,order:r===`level`?0:1,className:`grid gap-4`,children:[(0,$.jsxs)(`div`,{className:`text-xs font-medium tracking-widest uppercase text-primary`,children:[`Your first steps · `,r===`level`?`1`:`2`,` of 2`]}),(0,$.jsx)(ma,{className:`text-2xl leading-tight`,children:r===`level`?`Make PPM feel familiar`:`What would you like to do first?`}),(0,$.jsx)(ha,{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,$.jsx)(`div`,{className:`grid gap-3 mt-1`,children:r===`level`?AU.map(({id:e,title:n,body:r,icon:a})=>(0,$.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,$.jsx)(a,{className:`size-5 shrink-0 text-primary mt-0.5`}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`span`,{className:`block font-medium text-sm`,children:n}),(0,$.jsx)(`span`,{className:`block mt-1 text-sm text-text-secondary`,children:r})]})]},e)):jU.map(({id:n,title:r,body:i,icon:a})=>(0,$.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,$.jsx)(a,{className:`size-5 shrink-0 text-primary mt-0.5`}),(0,$.jsxs)(`span`,{children:[(0,$.jsxs)(`span`,{className:`block font-medium text-sm`,children:[r,n===`ai`&&(0,$.jsx)(`span`,{className:`ml-2 text-xs text-primary`,children:`Suggested`})]}),(0,$.jsx)(`span`,{className:`block mt-1 text-sm text-text-secondary`,children:i})]})]},n))}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[r===`goal`?(0,$.jsxs)(X,{variant:`ghost`,className:`min-h-11`,onClick:()=>i(`level`),children:[(0,$.jsx)(An,{}),`Back`]}):(0,$.jsx)(`span`,{}),(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 text-text-secondary`,onClick:t.dismiss,children:`I'll explore on my own`})]})]})})})}function NU(){let e=qi(e=>e.projectName),t=qi(e=>e.skip),[n,r]=(0,Q.useState)(!1);return(0,Q.useEffect)(()=>{let t=!1,n=0;if(r(!1),!e)return;let i=()=>{let i=++n;H.get(`${V(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,$.jsxs)(`div`,{className:`mt-3 rounded-lg border border-border p-3`,role:`status`,children:[(0,$.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,$.jsx)(X,{variant:`outline`,className:`w-full min-h-11 mt-2`,onClick:t,children:`Skip empty project step`}),(0,$.jsx)(`p`,{className:`text-xs text-text-secondary mt-2`,children:`This step will be marked skipped, not completed.`})]}):(0,$.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 PU({collapsed:e,setCollapsed:t,onAction:n,onSettings:r}){let i=qi(),[a,o]=(0,Q.useState)(!1),s=ta(i.goal),c=i.currentStep;if(!c)return null;let l=kU(c,i.familiarity??`beginner`),u=s.indexOf(c);return(0,$.jsxs)(`div`,{className:`p-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsxs)(`p`,{className:`text-[11px] uppercase tracking-widest text-primary font-medium`,children:[`Guided tour · `,u+1,` of `,s.length]}),(0,$.jsx)(`h2`,{className:`font-semibold text-sm mt-1`,"aria-live":`polite`,children:l.title})]}),(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 min-w-11`,"aria-label":e?`Expand guide`:`Collapse guide`,onClick:()=>t(!e),children:e?(0,$.jsx)(Hn,{}):(0,$.jsx)(We,{})}),(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 min-w-11`,"aria-label":`Pause tour`,onClick:i.pause,children:(0,$.jsx)($t,{})})]}),!e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex gap-1 mt-3 mb-4`,"aria-label":`Tour progress`,children:s.map(e=>(0,$.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,$.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed`,children:l.body}),c===`file`&&(0,$.jsx)(NU,{}),c===`run`&&(0,$.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,$.jsxs)(`p`,{className:`text-sm text-primary mt-2 flex items-center gap-1`,children:[(0,$.jsx)(L,{className:`size-4`}),`Run instructions opened`]}),(0,$.jsx)(X,{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,$.jsx)(X,{variant:`ghost`,className:`w-full min-h-11 mt-1`,onClick:r,children:`AI settings`}),(0,$.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,$.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed mb-3`,children:l.more}),(0,$.jsx)(X,{variant:`link`,className:`w-full min-h-11`,onClick:ea,children:`Quick orientation`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border pt-2`,children:[(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 px-2`,disabled:u===0,onClick:i.back,children:`Back`}),(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 px-2`,onClick:i.changeChoices,children:`Change guide`}),(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 px-2`,onClick:i.skip,children:`Skip step`})]})]})]})}function FU(e){return Array.from(document.querySelectorAll(`[data-onboarding="${e}"]`)).find(e=>e.getClientRects().length>0&&e.getBoundingClientRect().width>0)}function IU({target:e,children:t,collapsed:n}){let r=Pi(),i=Na(r),[a,o]=(0,Q.useState)(null),s=(0,Q.useRef)(null),[c,l]=(0,Q.useState)(360);(0,Q.useEffect)(()=>{if(!s.current)return;let e=new ResizeObserver(()=>l(s.current?.getBoundingClientRect().height??360));return e.observe(s.current),()=>e.disconnect()},[]),(0,Q.useEffect)(()=>{if(!e||n){o(null);return}let t=()=>o(FU(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,$.jsxs)($.Fragment,{children:[a&&!r&&!n&&(0,$.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,$.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 LU(e){let{status:t,currentStep:n,projectName:r,sessionId:i}=qi();(0,Q.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 H.get(`${V(r)}/chat/sessions?limit=100&offset=${t}`);if(a||n.sessions.some(e=>e.id===i))return;if(!n.hasMore){qi.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 RU(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 zU(e,t){let n=await H.get(`${V(e)}/files/list`);if(!t())return`stale`;let r=RU(n);return r?(Y.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 BU({openProjects:e,openNavigation:t,closeNavigation:n,paletteOpen:r=!1,navigationOpen:i=!1}){let a=qi(),o=J(e=>e.activeProject),s=Pi(),[c,l]=(0,Q.useState)(!1),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{let e=()=>p(!0);return window.addEventListener(na,e),()=>window.removeEventListener(na,e)},[]),LU(d),(0,Q.useEffect)(()=>{let e=e=>qi.getState().observe(e.detail);return window.addEventListener(Vg,e),()=>window.removeEventListener(Vg,e)},[]),(0,Q.useEffect)(()=>{a.setProjectContext(o?.name??null)},[o?.name,a.setProjectContext]),(0,Q.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,Q.useEffect)(()=>{if(a.status!==`active`||f||r)return;let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&qi.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=U.getState();t.sidebarCollapsed&&t.toggleSidebar(),t.setSidebarActiveTab(e)}}function h(e){if(!o){a.setProjectContext(null);return}n();let t=Y.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=U.getState();e.sidebarCollapsed&&e.toggleSidebar(),window.setTimeout(()=>FU(`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=qi.getState();return t.status===`active`&&t.currentStep===`run`&&t.projectName===e&&J.getState().activeProject?.name===e};d(`Looking for README or package.json…`),zU(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:OU}})),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=FU(`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,$.jsx)(Qi,{onClose:()=>p(!1),onTryPalette:()=>{p(!1),l(!0),requestAnimationFrame(()=>of())}}):a.status===`dismissed`?null:a.status===`choosing`?(0,$.jsx)(MU,{projectName:o?.name}):(0,$.jsx)(IU,{collapsed:c,target:a.status===`active`&&a.currentStep?$i[a.currentStep]:void 0,children:(0,$.jsx)(Xi,{stepKey:a.status===`active`?a.currentStep??`project`:a.status,order:a.status===`finished`?100:a.status===`active`?ta(a.goal).indexOf(a.currentStep)+1:0,children:a.status===`active`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(PU,{collapsed:c,setCollapsed:l,onAction:g,onSettings:()=>{Ii(`ai-provider`),l(!0)}}),u&&!c&&(0,$.jsx)(`p`,{role:`status`,className:`px-4 pb-4 text-xs text-text-secondary`,children:u})]}):(0,$.jsxs)(`div`,{className:`p-5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-primary text-xs uppercase tracking-widest`,children:[(0,$.jsx)(qt,{className:`size-4`}),`Your first steps`]}),(0,$.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,$.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,$.jsx)(X,{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,$.jsx)(X,{variant:`ghost`,className:`w-full min-h-11 mt-1`,onClick:a.dismiss,children:a.status===`finished`?`Keep exploring`:`Maybe later`}),(0,$.jsx)(X,{variant:`link`,className:`w-full min-h-11`,onClick:()=>p(!0),children:`Quick orientation`})]})})})}var VU=(0,Q.lazy)(()=>W(()=>import(`./mobile-explorer-sheet-Dz3eJdBl.js`).then(e=>({default:e.MobileExplorerSheet})),__vite__mapDeps([258,1,2,3,141,6,34,7,10,11,12,40,83,84,45,85,69,18,23,17,19,44,65,20,61,16,27,13,8,9,14,15,31,50]))),HU=(0,Q.lazy)(()=>W(()=>import(`./agent-session-sheet-DmbSfFGz.js`).then(e=>({default:e.AgentSessionSheet})),__vite__mapDeps([259,1,9,2,3,41,10,17,6,18,19,23]))),UU=(0,Q.lazy)(()=>W(()=>import(`./remote-desktop-mobile-sheet-6nXirdqZ.js`).then(e=>({default:e.RemoteDesktopMobileSheet})),__vite__mapDeps([260,1,9,2,3,7,8,10,11,6,12,13,14,15,16,146,23,24,18])));function WU(){let e=U(e=>e.minimalMode);aB();let[t,n]=(0,Q.useState)(`checking`),r=Pi(),[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(),[c,l]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{let e=e=>{let t=e.detail?.tab;t&&(s(t),a(!0))};return window.addEventListener($a,e),()=>window.removeEventListener($a,e)},[]);let[u,d]=(0,Q.useState)(()=>new Set([`__global__`]));xj(),(0,Q.useEffect)(()=>{jL(),Sz()},[]);let f=U(e=>e.deviceName),p=J(e=>e.fetchProjects),m=U(e=>e.fetchServerInfo),h=J(e=>e.activeProject),g=(0,Q.useRef)(AC());(0,Q.useEffect)(()=>{m()},[m,t===`authenticated`]),(0,Q.useEffect)(()=>{async function e(){let e=Xn();try{let t={};e&&(t.Authorization=`Bearer ${e}`),(await(await fetch(`/api/auth/check`,{headers:t})).json()).ok?(await m(),n(`authenticated`)):n(`unauthenticated`)}catch{n(`unauthenticated`)}}e()},[]),LC();let{paletteOpen:_,paletteInitialQuery:v,closePalette:y}=sf();Jz(),Zz(),LB(),BB(t===`authenticated`),uU(t===`authenticated`&&!e),MB(t===`authenticated`,h?.name),iB(t===`authenticated`&&!e),vB(t===`authenticated`&&!e),(0,Q.useEffect)(()=>{if(t!==`authenticated`)return;let e=e=>{bU()||e.preventDefault()};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[t]),(0,Q.useEffect)(()=>{t===`authenticated`&&(W(async()=>{let{useKeybindingsStore:e}=await import(`./keybindings-store-B2AkKQl7.js`);return{useKeybindingsStore:e}},__vite__mapDeps([261,2,1,3,7])).then(({useKeybindingsStore:e})=>{e.getState().loadFromServer()}),J.getState().hydrateUiPrefs())},[t]),(0,Q.useEffect)(()=>{if(t!==`authenticated`)return;let e=g.current,n=Qn();n&&(!e.projectName||e.projectName===n.name)&&$n(n)},[t]),(0,Q.useEffect)(()=>{t===`authenticated`&&p().then(async()=>{let e=g.current,{projects:t,customOrder:n}=J.getState();if(t.length===0)return;let r=e.projectName?t.find(t=>t.name===e.projectName):void 0;if(r||=ei(t,n)[0],r&&(await yr(r.name),J.getState().setActiveProject(r),Y.getState().switchProject(r.name),e.tabType&&(!U.getState().minimalMode||I(e.tabType))&&IC(e.tabType,e.tabIdentifier,r.name),e.openChat)){IC(`chat`,e.openChat,r.name);let t=new URL(window.location.href);t.searchParams.delete(`openChat`),window.history.replaceState(null,``,t.pathname)}})},[t,p]),(0,Q.useEffect)(()=>{let e=h?.name??`__global__`,t=!1;return(async()=>{e!==`__global__`&&!localStorage.getItem(`ppm-panels-${e}`)&&(await yr(e),t)||Y.getState().switchProject(e)})(),()=>{t=!0}},[h?.name]),(0,Q.useEffect)(()=>{t!==`authenticated`||!h?.name||W(async()=>{let{useNotificationStore:e}=await import(`./notification-store-BkkcJE2G.js`);return{useNotificationStore:e}},__vite__mapDeps([262,2,1,3,7])).then(({useNotificationStore:e})=>{e.getState().loadFromServer(h.name)})},[t,h?.name]),(0,Q.useEffect)(()=>{let e=h?.name??`__global__`;d(t=>t.has(e)?t:new Set([...t,e]))},[h?.name]),(0,Q.useEffect)(()=>{t===`authenticated`&&!h&&Y.getState().switchProject(`__global__`)},[t,h]);let b=(0,Q.useCallback)(()=>{n(`authenticated`)},[]);if(t===`checking`)return(0,$.jsx)(`div`,{className:`app-backdrop min-h-dvh flex items-center justify-center`,children:(0,$.jsx)(`div`,{className:`animate-pulse text-text-secondary text-sm`,children:`Loading...`})});if(t===`unauthenticated`)return(0,$.jsx)(bj,{onSuccess:b});let x=h?.name??`__global__`;return(0,$.jsx)(Tc,{children:(0,$.jsxs)(`div`,{className:`app-backdrop h-dvh flex flex-col text-foreground overflow-hidden relative`,children:[!e&&(0,$.jsxs)($.Fragment,{children:[(0,$.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,$.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`})}),f&&(0,$.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:f}),(0,$.jsx)(bD,{})]}),(0,$.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[!r&&(0,$.jsx)(pE,{}),(0,$.jsxs)(`div`,{className:`relative flex-1 flex flex-col overflow-hidden`,children:[[...u].map(e=>(0,$.jsx)(`div`,{className:G(`flex-1 overflow-hidden pb-12 md:pb-0`,x!==e&&`hidden`),children:(0,$.jsx)(Qp,{projectName:e})},e)),(0,$.jsx)(Ap,{}),!e&&(0,$.jsx)(eO,{}),(0,$.jsx)(LA,{})]})]}),(0,$.jsx)(GA,{onMenuPress:()=>a(!0),onProjectsPress:()=>l(!0)}),(0,$.jsx)(tj,{isOpen:i,onClose:()=>{a(!1),s(void 0)},initialTab:o}),(0,$.jsx)(nj,{isOpen:c,onClose:()=>l(!1)}),!e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(BU,{paletteOpen:_,navigationOpen:i||c,openProjects:()=>l(!0),openNavigation:e=>{s(e),a(!0)},closeNavigation:()=>{a(!1),l(!1)}}),(0,$.jsx)(jV,{open:_,onClose:y,initialQuery:v}),(0,$.jsx)(NV,{}),(0,$.jsx)(JV,{}),(0,$.jsx)($V,{}),(0,$.jsx)(aH,{}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(VU,{})}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(UU,{})}),(0,$.jsx)(EH,{})]}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(HU,{})}),(0,$.jsx)(XV,{}),(0,$.jsx)(FH,{}),(0,$.jsx)(WH,{}),(0,$.jsx)(YH,{}),!e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(eU,{}),(0,$.jsx)(nU,{})]}),(0,$.jsx)($H,{}),!e&&(0,$.jsx)(_U,{}),(0,$.jsx)(Cc,{position:r?`top-center`:`bottom-left`,closeButton:!0,toastOptions:{className:`bg-surface border-border text-foreground`}})]})})}var GU={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`},KU={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`},qU={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`},JU={marginTop:`16px`,maxHeight:`8lh`,overflow:`auto`,color:`var(--text-2, #9aa6c2)`,fontFamily:`ui-monospace, monospace`,fontSize:`13px`,whiteSpace:`pre-wrap`,wordBreak:`break-word`},YU=class extends Q.Component{state={error:null,stale:!1};static getDerivedStateFromError(e){return{error:e,stale:SU(e)}}componentDidCatch(e,t){oc(SU(e)?`chunk_error`:`render_error`,e,{componentStack:t.componentStack??void 0}),console.error(`[ppm] unhandled render error`,e,t.componentStack)}render(){let{error:e,stale:t}=this.state;return e?(0,$.jsx)(`div`,{style:GU,children:(0,$.jsxs)(`div`,{style:KU,role:`alert`,children:[(0,$.jsx)(`h1`,{style:{margin:0,fontSize:`18px`,fontWeight:600},children:t?`PPM has been updated`:`Something went wrong`}),(0,$.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,$.jsx)(`div`,{style:JU,children:e.message}),(0,$.jsx)(`button`,{type:`button`,style:qU,onClick:()=>void wU(),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,EU(),ac(()=>{let{tabs:e,activeTabId:t}=Y.getState();return $r(e.find(e=>e.id===t))??null}),(0,Sc.createRoot)(document.getElementById(`root`)).render((0,$.jsx)(Q.StrictMode,{children:(0,$.jsx)(YU,{children:(0,$.jsx)(WU,{})})}));export{xz as $,pc as $i,hb as $n,Nh as $r,cT as $t,lV as A,nf as Ai,MS as An,k_ as Ar,UT as At,DB as B,Nu as Bi,pS as Bn,Fg as Br,ST as Bt,xV as C,rf as Ci,lC as Cn,ev as Cr,KT as Ct,oV as D,Qd as Di,GS as Dn,X_ as Dr,RT as Dt,hV as E,Yd as Ei,sC as En,Q_ as Er,BT as Et,uV as F,Wu as Fi,DS as Fn,d_ as Fr,FT as Ft,Cz as G,hu as Gi,Dx as Gn,_g as Gr,DT as Gt,xB as H,Mu as Hi,Ux as Hn,Eg as Hr,MT as Ht,QB as I,Uu as Ii,TS as In,n_ as Ir,LT as It,Oz as J,Ec as Ji,lx as Jn,ng as Jr,uT as Jt,Fz as K,xu as Ki,ax as Kn,sg as Kr,dT as Kt,ZB as L,Fu as Li,CS as Ln,e_ as Lr,ET as Lt,iV as M,id as Mi,kS as Mn,h_ as Mr,AT as Mt,sV as N,rd as Ni,ES as Nn,qg as Nr,wT as Nt,cV as O,Zd as Oi,PS as On,Z_ as Or,JT as Ot,dV as P,Xu as Pi,OS as Pn,c_ as Pr,jT as Pt,pz as Q,hc as Qi,_b as Qn,Xh as Qr,fT as Qt,UB as R,Ou as Ri,wS as Rn,Ug as Rr,PT as Rt,PV as S,of as Si,dC as Sn,nv as Sr,WT as St,gV as T,$d as Ti,mC as Tn,$_ as Tr,qT as Tt,dB as U,ju as Ui,jx as Un,xg as Ur,kT as Ut,EB as V,Pu as Vi,qx as Vn,Dg as Vr,xT as Vt,Yz as W,Cu as Wi,Ex as Wn,bg as Wr,IT as Wt,Pz as X,Dc as Xi,ox as Xn,eg as Xr,gT as Xt,Nz as Y,Oc as Yi,sx as Yn,$h as Yr,sT as Yt,kz as Z,_c as Zi,ix as Zn,Qh as Zr,pT as Zt,RV as _,rp as _i,pC as _n,Dv as _r,HE as _t,SH as a,Xm as ai,rT as an,_y as ar,EL as at,BV as b,Wf as bi,gC as bn,Av as br,LE as bt,lH as c,Hm as ci,Yw as cn,cy as cr,LP as ct,rH as d,sm as di,eT as dn,oy as dr,uj as dt,jh as ei,hT as en,mb as er,oz as et,nH as f,Ip as fi,Lw as fn,ny as fr,xO as ft,FV as g,vp as gi,vC as gn,Hv as gr,GE as gt,IV as h,Tp as hi,YC as hn,Vv as hr,WE as ht,TH as i,yh as ii,nT as in,vy as ir,xL as it,fV as j,td as ji,AS as jn,__ as jr,GT as jt,aV as k,Jd as ki,NS as kn,N_ as kr,YT as kt,uH as l,Pm as li,tT as ln,sy as lr,FP as lt,VV as m,Lp as mi,tw as mn,Jv as mr,YE as mt,BH as n,Sh as ni,oT as nn,sb as nr,DL as nt,xH as o,Zm as oi,iT as on,fy as or,TL as ot,GV as p,Mp as pi,aw as pn,ry as pr,SD as pt,Mz as q,vu as qi,cx as qn,rg as qr,lT as qt,DH as r,xh as ri,aT as rn,Ay as rr,yL as rt,bH as s,Jm as si,Zw as sn,ly as sr,$F as st,KH as t,Ah as ti,_T as tn,pb as tr,tz as tt,oH as u,jm as ui,Xw as un,py as ur,hj as ut,zV as v,Qf as vi,cC as vn,Fv as vr,KE as vt,mV as w,Kd as wi,uC as wn,tv as wr,zT as wt,LV as x,_f as xi,hC as xn,Tv as xr,HT as xt,HV as y,ep as yi,aC as yn,Nv as yr,UE as yt,kB as z,Au as zi,yS as zn,Hg as zr,OT as zt};
|
|
58
|
+
${t?`<circle cx="26" cy="6" r="5" fill="${Uz}"/>`:``}
|
|
59
|
+
</svg>`}var Kz=e=>`data:image/svg+xml,${encodeURIComponent(e)}`,qz=[Kz(Wz(!1)),Kz(Wz(!0))],Jz=[0,1,2,-1].map(e=>[Kz(Gz(e,!1)),Kz(Gz(e,!0))]),Yz=Jz.length;function Xz(e,t=null){let n=document.getElementById(`ppm-favicon`);if(!n)return;let r=e?1:0;t===null?n.href=qz[r]:n.href=Jz[(t%Yz+Yz)%Yz][r]}function Zz(e,t,n){let r=[t,n||null,`PPM`].filter(Boolean).join(` - `);return e>0?`(${e}) ${r}`:r}function Qz(){let e=J(e=>e.activeProject),t=U(e=>e.deviceName),n=e?.name,r=Yi(ra(n)),i=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{let e=()=>Nu(n)(ju.getState()),a=()=>e()>0,o=()=>{document.title=Zz(e(),n,t??void 0)};if(o(),r){let e=0;Xz(a(),e),i.current=setInterval(()=>{e=(e+1)%Yz,Xz(a(),e)},300)}else Xz(a());let s=ju.subscribe(()=>{o(),r||Xz(a())});return()=>{s(),i.current&&=(clearInterval(i.current),null)}},[n,t,r])}function $z(){return typeof navigator<`u`&&`wakeLock`in navigator?`ok`:typeof window<`u`&&window.isSecureContext===!1?`insecure`:`unsupported`}function eB(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 tB(){let e=Yi(e=>e.sessions.size>0),t=U(e=>e.keepScreenAwake);(0,Q.useEffect)(()=>{if(!t||!e||$z()!==`ok`)return;let n=navigator.wakeLock;return eB({request:()=>n.request(`screen`),isVisible:()=>document.visibilityState===`visible`,onVisibilityChange:e=>(document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)),onActive:e=>bD.getState().setActive(e)})},[t,e])}var nB=`chat`;function rB(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)===nB&&(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 iB=3,aB=2500,oB=1200;function sB(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 cB(e=!0){let t=Pi();(0,Q.useEffect)(()=>{if(!e||t)return;let n=!1,r=iB,i=null,a=()=>{i?.cancel(),i=null},o=()=>{if(i=null,n||r<=0)return;let{panels:e}=q.getState(),{mounted:t,mount:a}=dp.getState(),[o]=rB(e,t,1);o&&(a(o),r--,s(oB))},s=e=>{n||r<=0||(a(),i=sB(o,e))},c=q.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){s(aB);return}}});return s(aB),()=>{n=!0,a(),c()}},[e,t,q(e=>e.currentProject)])}function lB(){(0,Q.useEffect)(()=>{let e=e=>{let t=e.detail?.projectName;typeof t==`string`&&Ai.getState().markIndexStale(t)};window.addEventListener(`file:changed`,e);let t=Zm(e=>{let t=Ai.getState(),n=J.getState().projects.find(e=>e.name===t.indexProject);n&&Di(n.path,e)!==null&&t.markIndexStale(n.name)}),n=J.subscribe((e,t)=>{e.activeProject?.name!==t.activeProject?.name&&Ai.getState().reset()});return()=>{window.removeEventListener(`file:changed`,e),t(),n()}},[])}var uB=`(pointer: coarse) and (hover: none)`;function dB(){return typeof window<`u`&&window.matchMedia?window.matchMedia(uB):null}function fB(e){let t=dB();return t?.addEventListener?.(`change`,e),()=>t?.removeEventListener?.(`change`,e)}function pB(){return dB()?.matches??!1}function mB(){return!1}function hB(){return(0,Q.useSyncExternalStore)(fB,pB,mB)}function gB(){return pB()}function _B(e,t){return e?.saveData||e?.effectiveType===`slow-2g`||e?.effectiveType===`2g`?!1:t?e?.type===`wifi`||e?.type===`ethernet`:!0}var vB=e=>{if(typeof requestIdleCallback==`function`){let t=requestIdleCallback(e);return()=>cancelIdleCallback(t)}let t=setTimeout(e,200);return()=>clearTimeout(t)};function yB(e,t=vB){let n=!1,r=()=>{},i=a=>{n||a>=e.length||(r=t(()=>{Promise.resolve().then(e[a]).catch(()=>{}).then(()=>i(a+1))}))};return i(0),()=>{n=!0,r()}}var bB=2500,xB=()=>W(()=>import(`./settings-section-content-Ck39TJA7.js`).then(e=>e.preloadSettingsSections()),__vite__mapDeps([253,2,1,3,7,8,9,10,57,23,115]));function SB(e){(0,Q.useEffect)(()=>{if(!e)return;let t=navigator.connection;if(!_B(t,gB()))return;let n=()=>{},r=setTimeout(()=>{n=yB([...Op(),...Object.values(OD).map(e=>e.preload),xB])},bB);return()=>{clearTimeout(r),n()}},[e])}var CB=3e4,wB=1e3,TB=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:Os(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(wB*2**this.reconnectAttempts,CB);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 EB(){try{let e=await H.get(`/api/chat/sessions/running`);Yi.getState().replaceAllStreaming(e)}catch{}}var DB=null,OB=new Set;function kB(e){DB=e}function AB(e){return DB?.isConnected?(DB.send(e),!0):!1}function jB(e){return OB.add(e),()=>OB.delete(e)}function MB(){for(let e of OB)e()}var NB=`session:file-changes`,PB=2e4,FB=45e3;function IB(e,t){let n=(0,Q.useRef)(null),r=(0,Q.useRef)(t);r.current=t,(0,Q.useEffect)(()=>{if(!e)return;let t=Xn(),i=new TB(`/ws/global${t?`?token=${encodeURIComponent(t)}`:``}`,{idleTimeoutMs:FB});n.current=i,kB(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})),EB(),ci(),MB();return}if(n===`file:changed`){typeof t.projectName==`string`&&Ai.getState().markIndexStale(t.projectName),window.dispatchEvent(new CustomEvent(`file:changed`,{detail:t}));return}if(n===`files:index-changed`){typeof t.projectName==`string`&&Ai.getState().indexRebuilt(t.projectName);return}if(n===`session:unread_changed`){let e=t;ju.getState().handleUnreadChanged(e.sessionId,e.unreadCount,e.unreadType,e.projectName,e.sessionTitle,e.manual);return}if(n===`session:phase_changed`){let e=t;Yi.getState().setStreaming(e.sessionId,e.phase!==`idle`,e.projectName);return}if(n===`session:migrated`){let e=t;Yi.getState().dropSession(e.oldSessionId);return}(n.startsWith(`jira:`)||n.startsWith(`tunnel:`)||n.startsWith(`tailscale:`)||n.startsWith(`design:`)||n.startsWith(`git:`)||n.startsWith(`agent-transcript:`)||n.startsWith(`logs:`)||n===`agent-activity`||n===`session:file-changes`)&&window.dispatchEvent(new CustomEvent(n,{detail:t}))}});i.connect();let o=setInterval(()=>{AB(JSON.stringify({type:`ping`}))},PB);return()=>{clearInterval(o),a(),i.disconnect(),n.current=null,kB(null)}},[e]),(0,Q.useEffect)(()=>{!e||!t||(n.current?.send(JSON.stringify({type:`watch`,projectName:t})),EB())},[e,t])}var LB=15e3,RB=sr((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>=LB})},markUp:()=>{e({isDown:!1,downSince:null,showOverlay:!1})}})),zB=1e4,BB=2e3;function VB(){(0,Q.useEffect)(()=>{let e=!1,t,{markDown:n,markUp:r}=RB.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?BB:zB)}return t=setTimeout(i,zB),()=>clearTimeout(t)},[])}async function HB(e,t,n,r){let i=J.getState().projects.find(t=>t.name===e);if(!i)return;if(localStorage.getItem(`ppm-panels-${i.name}`)||await yr(i.name),J.getState().setActiveProject(i),Y.getState().switchProject(i.name),t){IC(`chat`,n?`${n}/${t}`:t,i.name);return}let a=UB(r);a?.tabType&&a.projectName===i.name&&IC(a.tabType,a.tabIdentifier,i.name)}function UB(e){try{let t=new URL(e,window.location.href);return t.origin===window.location.origin?AC(t):null}catch{return null}}function WB(e){let t=(0,Q.useRef)(e);t.current=e,(0,Q.useEffect)(()=>{if(!(`serviceWorker`in navigator))return;let e=e=>{let n=e.data;if(!(n?.type!==`ppm:open-from-notification`||typeof n.url!=`string`)){if(!t.current){new URL(n.url,window.location.href).origin===window.location.origin&&window.location.assign(n.url);return}HB(n.project??``,n.sessionId??``,n.providerId??``,n.url)}};return navigator.serviceWorker.addEventListener(`message`,e),()=>navigator.serviceWorker.removeEventListener(`message`,e)},[])}function GB(){if(Fi()){window.dispatchEvent(new CustomEvent($a,{detail:{tab:`tunnels`}}));return}let e=U.getState();e.setSidebarActiveTab(`tunnels`),e.sidebarCollapsed&&e.toggleSidebar()}var KB=[];function qB(e,t,{enabled:n,kind:r=`file`}){let i=Ai(e=>e.indexRevision),[a,o]=(0,Q.useState)(KB);return(0,Q.useEffect)(()=>{if(!n||!e){o(KB);return}let i=new AbortController,a=new URLSearchParams({q:t,kind:r,limit:`100`});return H.get(`${V(e)}/files/index/search?${a}`,{signal:i.signal}).then(o,()=>{}),()=>i.abort()},[e,t,n,r,i]),a}function JB(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>=0?e.slice(t+1):e}function YB(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 XB(e,t,n,r,i){if(e.includes(` `))return ZB(e.split(/\s+/).filter(Boolean),t,n,r,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=YB(e,t);if(s>=0)return{tier:4,offset:s,nameLen:r,depth:i};let c=YB(e,n);return c>=0?{tier:5,offset:c,nameLen:r,depth:i}:null}function ZB(e,t,n,r,i){if(e.length===0)return null;if(e.length===1)return XB(e[0],t,n,r,i);let a=0,o=0;for(let s of e){let e=XB(s,t,n,r,i);if(!e)return null;a=Math.max(a,e.tier),o+=e.offset}return{tier:a,offset:o,nameLen:r,depth:i}}function QB(e,t,n){let r=n.toLowerCase();return XB(e.toLowerCase(),JB(r),r,t.length,n.split(`/`).length)}function $B(e,t){return e.tier-t.tier||e.offset-t.offset||e.nameLen-t.nameLen||e.depth-t.depth}var eV=/^(.*?)(?::(\d+)(?::\d+|-(\d+))?|#L(\d+)(?:-L?(\d+))?)$/;function tV(e){let t=e.match(eV);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 nV(e,t){return t?`${e}:${t.start}${t.end?`-${t.end}`:``}`:e}var rV={action:{label:`Actions`,icon:fn},file:{label:`Files`,icon:Rn},db:{label:`Database`,icon:mn},fs:{label:`Filesystem`,icon:Ee}};function iV({availableGroups:e,groupCounts:t,activeFilters:n,onToggle:r}){return e.length<=1?null:(0,$.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=rV[e];if(!i)return null;let a=t[e]??0,o=n.has(e),s=i.icon;return(0,$.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,$.jsx)(s,{className:`size-3`}),(0,$.jsx)(`span`,{children:i.label}),(0,$.jsxs)(`span`,{className:`text-[10px] opacity-70`,children:[`(`,a,`)`]})]},e)})})}async function aV(){Ro.getState().loaded||await Qo();let{connections:e}=Ro.getState(),t=Ko(),n=e.find(e=>e.id===t?.conn)??e[0];if(!n){yy();return}_s(gs(n,t&&t.conn===n.id?t:{conn:n.id,database:fo(n)}),``)}var oV=e=>`${V(e)}/designs`,sV=(e,t)=>`${oV(e)}/${encodeURIComponent(t)}`;async function cV(e){let t=await H.get(oV(e));return{designs:Array.isArray(t?.designs)?t.designs:[],systems:Array.isArray(t?.systems)?t.systems:[]}}function lV(e,t){return H.get(sV(e,t))}function uV(e,t){return H.post(oV(e),t)}function dV(e,t,n){return H.patch(sV(e,t),{title:n})}function fV(e,t){return H.del(`${sV(e,t)}?confirm=${encodeURIComponent(t)}`)}function pV(e,t){return H.get(`${sV(e,t)}/history`)}function mV(e,t,n){return H.post(`${sV(e,t)}/history/${encodeURIComponent(n)}/restore`)}function hV(e,t,n,r){return H.post(`/api/design-preview`,{projectName:e,slug:t,purpose:`canvas`,...n?{token:n}:{},...r?{entry:r}:{}})}async function gV(e){return(await H.get(`${V(e)}/chat/providers`)).filter(e=>e.supportsDesignInstructions===!0)}var _V=`ppm:new-design`,vV=`ppm:designs-changed`;function yV(e){window.dispatchEvent(new CustomEvent(_V,{detail:{projectName:e}}))}function bV(e){window.dispatchEvent(new CustomEvent(vV,{detail:{projectName:e}}))}var xV=(0,Q.lazy)(()=>W(()=>import(`./new-design-dialog-BthM423i.js`).then(e=>({default:e.NewDesignDialog})),__vite__mapDeps([254,1,2,3,31,6,7,8,9,10,11,12,255,20,23,13,14,15,16,131,50,18,17,19,44,56,57,27,52,53,62])));function SV(e,t,n){let[r,i]=(0,Q.useState)([]);return(0,Q.useEffect)(()=>{if(!t||!e){i([]);return}let n=!1;return cV(e).then(e=>{n||i(e.designs)}).catch(()=>{n||i([])}),()=>{n=!0}},[t,e]),(0,Q.useMemo)(()=>e?[{id:`new-design`,label:`New Design…`,icon:Ct,group:`action`,keywords:`design mockup prototype page slides deck presentation canvas create`,action:()=>{n(),yV(e)}},{id:`designs`,label:`Designs`,icon:De,group:`action`,keywords:`design list canvas`,action:()=>{let e=U.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`designs`),n()}},...r.map(t=>({id:`design:${t.slug}`,label:`Open Design: ${t.title}`,hint:`designs/${t.slug}`,icon:De,group:`action`,keywords:`design ${t.slug} ${t.kind}`,action:()=>{Mp({projectName:e,slug:t.slug,title:t.title}),n()}}))]:[],[e,r,n])}function CV(){let[e,t]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{let e=e=>{let n=e.detail?.projectName;n&&t(n)};return window.addEventListener(_V,e),()=>window.removeEventListener(_V,e)},[]),e?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(xV,{projectName:e,onClose:()=>t(null)})}):null}var wV=sr(()=>({owner:null,commands:[]}));function TV(e,t){return wV.setState({owner:e,commands:t}),()=>{wV.getState().owner===e&&wV.setState({owner:null,commands:[]})}}var EV={"add-column":Ct,"add-index":Bn,"add-primary-key":St,"add-foreign-key":nn,"add-unique":Kt};function DV(e,t){let n=wV(e=>e.commands),r=U(e=>e.dbExplorerView.current);return(0,Q.useMemo)(()=>{if(e)return[];let i=r&&Oy()?[{id:`db-new-table`,label:`New table`,icon:Fe,group:`action`,keywords:`database create table structure sql`,action:()=>{t(),ky()}}]:[],a=n.map(e=>({id:`table-editor:${e.id}`,label:e.label,hint:`Table editor`,icon:EV[e.id]??Ct,group:`action`,keywords:`table editor structure column index key constraint`,action:()=>{t(),e.run()}})),o=[{id:`db-export-database`,label:`Export database`,icon:Rt,group:`action`,keywords:`database export tables csv json excel xlsx xml sql ndjson zip file`,action:()=>{t(),Py()}},{id:`db-import-data`,label:`Import data`,icon:pt,group:`action`,keywords:`database import upload csv json ndjson file table`,action:()=>{t(),Fy()}}];return[...a,...i,...o]},[e,r,Ro(e=>e.connections),n,t])}var OV=100,kV=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent);function AV(e){return e?e.replace(/Mod\+/g,kV?`⌘`:`Ctrl+`).replace(/Alt\+/g,kV?`⌥`:`Alt+`).replace(/Shift\+/g,kV?`⇧`:`Shift+`).replace(/Meta\+/g,`⌘`).replace(/Ctrl\+/g,kV?`⌃`:`Ctrl+`):``}function jV(e){let t=[];for(let n of e)n.type===`file`&&t.push({name:n.name,path:n.path}),n.children&&t.push(...jV(n.children));return t}function MV(e){return e?e.startsWith(`/`)||e.startsWith(`~/`)||e.startsWith(`~\\`)||/^[A-Za-z]:[/\\]/.test(e):!1}function NV(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 PV=new Map;function FV({open:e,onClose:t,initialQuery:n=``}){let[r,i]=(0,Q.useState)(``),a=(0,Q.useDeferredValue)(r),[o,s]=(0,Q.useState)(0),[c,l]=(0,Q.useState)([]),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)([]),[m,h]=(0,Q.useState)(new Set),g=(0,Q.useRef)(null),_=(0,Q.useRef)(null),v=Y(e=>e.openTab),y=Y(e=>e.updateTab),b=J(e=>e.activeProject),x=Ai(e=>e.fileIndex),S=Ai(e=>e.indexStatus),C=Ai(e=>e.indexProject),w=Ai(e=>e.indexRemote),T=Ai(e=>e.loadIndex),E=Ai(e=>e.openIndexReader),D=Ai(e=>e.tree),O=U(e=>e.setSidebarActiveTab),k=nf(e=>e.getBinding),A=rf(e=>e.contributions),j=Pi(),M=hB(),N=U(e=>e.lspEnabled),P=zE(),ee=(0,Q.useMemo)(()=>tV(r)??{path:r},[r]),F=(0,Q.useMemo)(()=>tV(a)?.path??a,[a]),te=qB(b?.name,F,{enabled:e&&w&&!!F.trim()&&!MV(F)}),ne=(0,Q.useRef)(void 0);(0,Q.useEffect)(()=>{ne.current=ee.line},[ee.line]);let I=(0,Q.useCallback)((e,n,r,i)=>{let a=ne.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]),L=(0,Q.useCallback)(async e=>{if(PV.has(e)){l(PV.get(e));return}d(!0);try{let t=await H.get(`/api/fs/list?dir=${encodeURIComponent(e)}`);PV.set(e,t),l(t)}catch{l([])}finally{d(!1)}},[]);(0,Q.useEffect)(()=>{if(!MV(ee.path)){l([]);return}L(NV(ee.path))},[ee.path,L]),(0,Q.useEffect)(()=>{if(MV(r)||r.trim().length<2){p([]);return}let e=setTimeout(async()=>{try{p(await H.get(`/api/db/search?q=${encodeURIComponent(r.trim())}`)??[])}catch{p([])}},300);return()=>clearTimeout(e)},[r]);let R=SV(b?.name??null,e,t),ie=DV(j,t),ae=(0,Q.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:re,action:r(`chat`,`AI Chat`),keywords:`ai assistant claude`,group:`action`,shortcut:AV(k(`open-chat`))},{id:`new-file`,label:`New File`,icon:ue,action:()=>{Y.getState().openNewFile(),t()},keywords:`create untitled blank empty`,group:`action`,shortcut:AV(k(`new-file`))},{id:`new-db-query`,label:`New DB Query`,icon:mn,action:()=>{aV(),t()},keywords:`sql database query scratchpad new`,group:`action`},{id:`terminal`,label:`New Terminal`,icon:Se,action:r(`terminal`,`Terminal`),keywords:`bash shell console`,group:`action`,shortcut:AV(k(`open-terminal`))},{id:`remote-access`,label:`Remote Access`,icon:Je,action:()=>{OS(),t()},keywords:`remote access tunnel cloudflare tailscale public link share url phone domain`,group:`action`},{id:`forward-port`,label:`Forward a Port`,icon:ye,action:()=>{GB(),t()},keywords:`forward port forwarding localhost web preview tunnel cloudflare tailscale dev server url`,group:`action`},{id:`cloud-share`,label:`PPM Cloud & Share`,icon:on,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:`new-db-connection`,label:`New connection…`,icon:mn,action:()=>{yy(),t()},keywords:`database connection postgres pg mysql mariadb sqlite add`,group:`action`},{id:`voice-input`,label:`Voice Input`,icon:Re,action:()=>{window.dispatchEvent(new CustomEvent(`toggle-voice-input`)),t()},keywords:`speech microphone dictate voice`,group:`action`,shortcut:AV(k(`voice-input`))},{id:`git-status`,label:`Git Status`,icon:Gn,action:()=>{O(`git`),t()},keywords:`changes diff staged`,group:`action`,shortcut:AV(k(`open-git-status`))},{id:`problems`,label:`Problems`,icon:ot,action:()=>{q.getState().openInDock({type:`problems`,title:`Problems`,projectId:null,closable:!0}),t()},keywords:`errors warnings diagnostics lint typescript`,group:`action`,shortcut:AV(k(`open-problems`))},{id:`word-wrap`,label:`Toggle Word Wrap`,icon:Sn,group:`action`,keywords:`wrap unwrap word lines editor soft`,action:()=>{let e=U.getState();j?e.toggleMobileWordWrap():e.toggleWordWrap(),t()},shortcut:j?void 0:`Alt+Z`},{id:`compare-files`,label:`Compare Files...`,icon:wt,group:`action`,keywords:`diff compare two files select`,shortcut:AV(k(`compare-files`)),action:()=>{let{activeTabId:e,tabs:n}=Y.getState(),r=n.find(t=>t.id===e),i=r?.metadata;r?.type===`editor`&&i?.filePath&&i?.projectName&&md.getState().setSelection({filePath:i.filePath,projectName:i.projectName,dirtyContent:i.unsavedContent,label:fr(i.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`)),t()}},...M?[]:[{id:`language-server`,label:N?`Turn Off Language Server`:`Turn On Language Server`,icon:fn,group:`action`,keywords:`lsp language server completions intellisense hover definition typescript pyright gopls`,hint:`This device`,action:()=>{let e=U.getState();e.setLspEnabled(!e.lspEnabled),t()}}],{id:`settings`,label:`Settings`,icon:le,action:()=>{Ii(),t()},keywords:`config preferences theme`,group:`action`,shortcut:AV(k(`open-settings`))},{id:`open-file-explorer`,label:`Open File Explorer`,icon:Ut,group:`action`,keywords:`open file explorer finder browse files folders disk drive window`,action:()=>{ng(),t()}},{id:`system-monitor`,label:`System Monitor`,icon:Dt,group:`action`,keywords:`task manager activity monitor cpu memory ram disk network gpu processes services apps performance resources`,action:()=>{P(),t()}},{id:`logs`,label:`Logs`,icon:bt,group:`action`,keywords:`logs server errors warnings debug tail ppm.log browser console cloudflared`,action:()=>{tT(),t()}},{id:`report-bug`,label:`Report a Bug`,icon:de,group:`action`,keywords:`report bug issue github feedback problem crash`,action:()=>{tT({view:`report`}),t()}}],a=A?.keybindings??[],o=(A?.commands??[]).map(e=>{let n=a.find(t=>t.command===e.command),r=(n?k(`ext:${n.command}`):``)||(n?kV&&n.mac?n.mac:n.key:``);return{id:`ext:${e.command}`,label:e.title,hint:e.category,icon:rp(e.icon)??jt,group:`action`,keywords:`extension ${e.command} ${e.category??``}`,shortcut:r?AV(r):void 0,action:()=>{af(e.command),t()}}});return[...i,...R,...ie,...o]},[b,v,t,O,k,A,j,M,N,R,P,ie]),oe=(0,Q.useMemo)(()=>{let e=b?.name??null,t=b?{projectName:b.name}:void 0;return(w?te:S===`ready`&&C===b?.name?x.filter(e=>e.type===`file`):jV(D)).map(n=>({id:`file:${n.path}`,label:n.name,hint:n.path,icon:ya(n.name),group:`file`,keywords:n.path,isIgnored:`isIgnored`in n?n.isIgnored:void 0,action:()=>I(n.path,n.name,e,t)}))},[S,C,w,te,x,D,b,I]),se=(0,Q.useMemo)(()=>{let e=b?.name??null,t=b?{projectName:b.name}:void 0;return c.map(n=>{let r=fr(n);return{id:`fs:${n}`,label:r,hint:n,icon:Ee,group:`fs`,keywords:n,action:()=>I(n,r,e,t)}})},[c,b,I]),ce=(0,Q.useMemo)(()=>f.map(e=>({id:`db:${e.connectionId}:${e.schemaName}.${e.tableName}`,label:e.tableName,hint:`${e.connectionName} (${no[e.connectionType]??e.connectionType})`,icon:mn,group:`db`,connectionColor:e.connectionColor,action:()=>{vs({target:{kind:`connection`,connectionId:e.connectionId},connectionName:e.connectionName,dbType:e.connectionType,connectionColor:e.connectionColor},{schema:e.schemaName||null,name:e.tableName}),t()}})),[f,t]),fe=(0,Q.useMemo)(()=>[...ae,...oe],[ae,oe]),pe=(0,Q.useMemo)(()=>fe.map(e=>{let t=e.keywords??e.label,n=t.toLowerCase();return{cmd:e,filenameLower:JB(n),pathLower:n,labelLen:e.label.length,depth:t.split(`/`).length}}),[fe]),me=(0,Q.useMemo)(()=>{if(MV(F)){let e=F.lastIndexOf(`/`),t=e>=0?F.slice(e+1).toLowerCase():``;return t?se.filter(e=>{let n=e.label.toLowerCase(),r=(e.keywords??``).toLowerCase();return n.includes(t)||r.includes(t)}).slice(0,50):se.slice(0,50)}if(!F.trim())return ae;let e=F.toLowerCase().replace(/^\.\.?\//,``),t=[];for(let n of pe){let r=XB(e,n.filenameLower,n.pathLower,n.labelLen,n.depth);r&&t.push({cmd:n.cmd,score:r})}t.sort((e,t)=>$B(e.score,t.score));let n=t.slice(0,OV).map(e=>e.cmd);return a.trim().length>=2?[...ce,...n]:n},[pe,ae,se,ce,a,F]),he=(0,Q.useMemo)(()=>{let e=new Set;for(let t of fe)e.add(t.group);return f.length>0&&e.add(`db`),c.length>0&&e.add(`fs`),Array.from(e)},[fe,f.length,c.length]),ge=(0,Q.useMemo)(()=>{let e={};for(let t of me)e[t.group]=(e[t.group]??0)+1;return e},[me]),_e=(0,Q.useMemo)(()=>m.size===0?me:me.filter(e=>m.has(e.group)),[me,m]),ve=(0,Q.useCallback)(e=>{h(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),s(0)},[]);(0,Q.useEffect)(()=>{if(e&&b)return E(b.name)},[e,b,E]),(0,Q.useEffect)(()=>{e&&(i(n||``),s(0),l([]),p([]),h(new Set),requestAnimationFrame(()=>g.current?.focus()))},[e]),(0,Q.useEffect)(()=>{s(e=>Math.min(e,Math.max(_e.length-1,0)))},[_e.length]),(0,Q.useEffect)(()=>{let e=_.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]);let be=(0,Q.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 xe(e){let n=_e.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?_e[o]?.action():r.trim()&&be();break;case`Escape`:e.preventDefault(),t();break}}if(!e)return(0,$.jsx)($.Fragment,{children:(0,$.jsx)(CV,{})});let Ce=MV(ee.path);return(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(CV,{}),(0,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:t,children:[(0,$.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,$.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:xe,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,$.jsx)(Ln,{className:`size-4 text-text-subtle shrink-0`}),(0,$.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,$.jsx)(z,{className:`size-3.5 animate-spin text-text-subtle shrink-0`}),(0,$.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`})]}),Ce&&!u&&c.length===0&&r.length<4&&(0,$.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/)`}),!Ce&&(S===`loading`||S===`idle`)&&(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-1.5 border-b border-border/50`,children:[(0,$.jsx)(z,{className:`size-3 animate-spin text-text-subtle shrink-0`}),(0,$.jsx)(`span`,{className:`text-[11px] text-text-subtle italic`,children:`Indexing project…`})]}),!Ce&&S===`error`&&(0,$.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border/50`,children:[(0,$.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`Failed to build file index —`}),(0,$.jsx)(`button`,{onClick:()=>b&&T(b.name),className:`text-[11px] text-primary hover:underline`,children:`retry`})]}),!Ce&&(0,$.jsx)(iV,{availableGroups:he,groupCounts:ge,activeFilters:m,onToggle:ve}),(0,$.jsx)(`div`,{ref:_,className:`max-h-72 overflow-y-auto py-1`,children:_e.length===0?u?(0,$.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`Searching...`}):m.size>0&&me.length>0?(0,$.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results in selected filters`}):r.trim()?(0,$.jsxs)(`button`,{onClick:be,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,$.jsx)(re,{className:`size-4 shrink-0 text-primary`}),(0,$.jsxs)(`span`,{children:[`Ask AI: `,(0,$.jsx)(`span`,{className:`text-text-primary font-medium`,children:r.trim().slice(0,60)})]})]}):(0,$.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results`}):_e.map((e,t)=>{let n=e.icon;return(0,$.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,$.jsx)(n,{className:`size-4 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.label}),e.hint&&(0,$.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-xs text-text-subtle truncate max-w-[200px]`,children:[e.connectionColor&&(0,$.jsx)(`span`,{className:`shrink-0 size-2 rounded-full`,style:{backgroundColor:e.connectionColor}}),e.hint]}),e.shortcut&&(0,$.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,$.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 border-t border-border px-3 py-1.5`,children:[(0,$.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`Press`}),(0,$.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,$.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,$.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`to open this palette`})]})]})]})]})}var IV=50;function LV({open:e,onOpenChange:t,initialA:n}={}){let r=e!==void 0,[i,a]=(0,Q.useState)(!1),o=r?e:i,s=e=>{r?t?.(e):a(e)},[c,l]=(0,Q.useState)(n??null);(0,Q.useEffect)(()=>{if(r)return;function e(){l(md.getState().selection),a(!0)}return window.addEventListener(`open-compare-picker`,e),()=>window.removeEventListener(`open-compare-picker`,e)},[r]);let[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(0),[m,h]=(0,Q.useState)(null),g=(0,Q.useRef)(null),_=Y(e=>e.tabs),v=Ai(e=>e.fileIndex),y=J(e=>e.activeProject),b=Ai(e=>e.indexRemote),x=qB(y?.name,u,{enabled:o&&b});(0,Q.useEffect)(()=>{if(o&&y)return Ai.getState().openIndexReader(y.name)},[o,y]),(0,Q.useEffect)(()=>{o&&(r&&l(n??null),d(``),p(0),h(null),setTimeout(()=>g.current?.focus(),50))},[o,n,r]);let S=(0,Q.useMemo)(()=>{let e=_.filter(e=>e.type===`editor`&&e.metadata?.filePath).map(e=>({id:`tab:${e.id}`,path:e.metadata.filePath,label:fr(e.metadata.filePath),source:`tab`,dirtyContent:e.metadata.unsavedContent})),t=new Set(e.map(e=>e.path)),n=(b?x: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,b,x]),C=(0,Q.useMemo)(()=>u.trim()?S.map(e=>{let t=QB(u,e.label,e.path);return t?{c:e,score:t}:null}).filter(e=>e!==null).sort((e,t)=>$B(e.score,t.score)).slice(0,IV).map(e=>e.c):S.slice(0,IV),[S,u]);(0,Q.useEffect)(()=>{f>=C.length&&p(Math.max(0,C.length-1))},[C,f]);let w=(0,Q.useRef)(!1);async function T(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(!w.current){w.current=!0;try{await gd({path:c.filePath,dirtyContent:c.dirtyContent},{path:e.path,dirtyContent:e.dirtyContent},y.name),md.getState().clearSelection(),s(!1)}catch(e){h(e instanceof Error?e.message:`Compare failed`)}finally{w.current=!1}}}}function E(e){if(e.key===`ArrowDown`)e.preventDefault(),p(e=>Math.min(C.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=C[f];t&&T(t)}}return(0,$.jsx)(_a,{open:o,onOpenChange:s,children:(0,$.jsxs)(pa,{className:`max-w-lg p-0 gap-0 overflow-hidden`,children:[(0,$.jsx)(da,{className:`px-4 pt-4 pb-2`,children:(0,$.jsxs)(ma,{className:`flex items-center gap-2 text-sm`,children:[(0,$.jsx)(wt,{className:`size-4`}),`Compare Files`]})}),(0,$.jsx)(`div`,{className:`px-4 pb-2`,children:c?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-xs bg-muted rounded px-2 py-1 w-fit max-w-full`,children:[(0,$.jsx)(Rn,{className:`size-3.5 shrink-0`}),(0,$.jsx)(`span`,{className:`truncate`,title:c.filePath,children:c.label}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>l(null),className:`hover:bg-surface-elevated rounded p-0.5`,"aria-label":`Clear first file`,children:(0,$.jsx)($t,{className:`size-3`})})]}):(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pick first file, then second.`})}),(0,$.jsx)(`input`,{ref:g,type:`text`,value:u,onChange:e=>{d(e.target.value),p(0)},onKeyDown:E,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,$.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive border-b border-border`,children:m}),(0,$.jsx)(`div`,{className:`max-h-[50vh] md:max-h-80 overflow-y-auto`,children:C.length===0?(0,$.jsx)(`div`,{className:`px-4 py-6 text-center text-xs text-muted-foreground`,children:S.length===0?`No files available`:`No matches`}):C.map((e,t)=>(0,$.jsxs)(`button`,{type:`button`,onClick:()=>T(e),onMouseEnter:()=>p(t),className:G(`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,$.jsx)(Rn,{className:`size-3.5 shrink-0 text-text-secondary`}),(0,$.jsx)(`span`,{className:`truncate`,children:e.label}),(0,$.jsx)(`span`,{className:`text-xs text-muted-foreground truncate ml-auto`,title:e.path,children:e.source===`tab`?`open`:e.path})]},e.id))})]})})}var RV=`h-11 md:h-[30px] w-full min-w-0 rounded-md border border-border bg-surface px-2.5 text-base md:text-[13px] text-text-primary placeholder:text-text-subtle focus:outline-none focus:border-ring disabled:cursor-not-allowed disabled:opacity-55 aria-invalid:border-error`;function zV({line:e,id:t}){return!e||!e.text?null:(0,$.jsx)(`p`,{id:t,className:G(`text-[12.5px] md:text-[11.5px] leading-snug break-words`,e.tone===`bad`?`text-error`:e.tone===`ok`?`text-success`:`text-text-subtle`),children:e.text})}function BV({label:e,htmlFor:t,labelId:n,optional:r,error:i,help:a,className:o,children:s}){let c=t?`label`:`span`,l=typeof a==`string`?{tone:`plain`,text:a}:a??null;return(0,$.jsxs)(`div`,{className:G(`grid content-start gap-[5px] min-w-0`,o),children:[(0,$.jsxs)(c,{htmlFor:t,id:n,className:`text-[13px] md:text-xs font-medium text-text-2`,children:[e,r&&(0,$.jsx)(`span`,{className:`ml-1 font-normal text-text-subtle`,children:`optional`})]}),s,i&&(0,$.jsx)(zV,{id:t&&`${t}-error`,line:{tone:`bad`,text:i}}),(0,$.jsx)(zV,{line:l})]})}var VV=(0,Q.forwardRef)(function({invalid:e,mono:t,className:n,id:r,...i},a){return(0,$.jsx)(`input`,{ref:a,id:r,autoComplete:`off`,autoCapitalize:`off`,spellCheck:!1,"aria-invalid":e||void 0,"aria-describedby":e&&r?`${r}-error`:void 0,className:G(RV,t&&`font-mono`,n),...i})}),HV=(0,Q.forwardRef)(function({className:e,disabled:t,...n},r){let[i,a]=(0,Q.useState)(!1);return(0,$.jsxs)(`div`,{className:`relative flex min-w-0`,children:[(0,$.jsx)(VV,{ref:r,type:i?`text`:`password`,autoComplete:`new-password`,disabled:t,className:G(`pr-11 md:pr-8`,e),...n}),(0,$.jsx)(`button`,{type:`button`,disabled:t,onClick:()=>a(e=>!e),"aria-label":i?`Hide password`:`Show password`,"aria-pressed":i,className:`absolute right-0 top-0 grid h-full w-11 md:w-8 place-items-center text-text-subtle can-hover:hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-55`,children:i?(0,$.jsx)(Nn,{className:`size-4`}):(0,$.jsx)(gt,{className:`size-4`})})]})}),UV=(0,Q.forwardRef)(function({onPick:e,pickerTitle:t,pickerRoot:n,accept:r,disabled:i,value:a,...o},s){let[c,l]=(0,Q.useState)(!1),u=typeof a==`string`?a.trim():``,d=u.includes(`/`)||u.includes(`\\`)?u.replace(/[\\/][^\\/]*$/,``)||`/`:``;return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 gap-2`,children:[(0,$.jsx)(VV,{ref:s,mono:!0,disabled:i,value:a,...o}),(0,$.jsx)(`button`,{type:`button`,disabled:i,onClick:()=>l(!0),className:`shrink-0 h-11 md:h-[30px] rounded-md border border-border bg-surface px-3 text-[14px] md:text-[12.5px] text-text-primary can-hover:hover:bg-surface-hover disabled:cursor-not-allowed disabled:opacity-55`,children:`Browse…`})]}),(0,$.jsx)(YC,{open:c,mode:`file`,accept:r,root:d||n,title:t,onSelect:t=>{e(t),l(!1)},onCancel:()=>l(!1)})]})}),WV=(0,Q.forwardRef)(function({className:e,children:t,...n},r){return(0,$.jsxs)(`span`,{className:`relative flex min-w-0`,children:[(0,$.jsx)(`select`,{ref:r,className:G(RV,`appearance-none pr-8 cursor-pointer`,e),...n,children:t}),(0,$.jsx)(We,{className:`pointer-events-none absolute right-2 top-1/2 size-3.5 -translate-y-1/2 text-text-subtle`})]})});function GV({id:e,checked:t,disabled:n,onChange:r,title:i,help:a,className:o}){return(0,$.jsxs)(`label`,{htmlFor:e,className:G(`flex items-start gap-[9px] min-w-0 min-h-11 md:min-h-0 py-1.5 md:py-0 text-[14.5px] md:text-[12.5px] text-text-primary`,n?`cursor-not-allowed`:`cursor-pointer`,o),children:[(0,$.jsx)(`input`,{id:e,type:`checkbox`,checked:t,disabled:n,onChange:e=>r(e.target.checked),className:`mt-px size-5 md:size-[15px] shrink-0 accent-primary disabled:opacity-55`}),(0,$.jsxs)(`span`,{className:`min-w-0`,children:[(0,$.jsx)(`b`,{className:G(`block font-medium`,n&&`text-text-subtle`),children:i}),a&&(0,$.jsx)(`small`,{className:`mt-px block text-[12.5px] md:text-[11.5px] text-text-subtle`,children:a})]})]})}function KV({name:e,value:t,checked:n,onChange:r,children:i}){return(0,$.jsxs)(`label`,{className:`flex items-center gap-[9px] min-h-11 md:min-h-0 text-[14.5px] md:text-[12.5px] text-text-primary cursor-pointer`,children:[(0,$.jsx)(`input`,{type:`radio`,name:e,value:t,checked:n,onChange:()=>r(t),className:`size-5 md:size-[15px] shrink-0 accent-primary`}),(0,$.jsx)(`span`,{children:i})]})}var qV=sr(()=>({queue:[]})),JV=1;function YV(e){let t=e.prompt.connectionId;if(t!==null){let e=qV.getState().queue.find(e=>e.prompt.connectionId===t);if(e)return e.promise}let n,r=new Promise(e=>{n=e}),i={...e,id:JV++,promise:r,resolve:n};return qV.setState(e=>({queue:[...e.queue,i]})),r}function XV(e,t){let n=qV.getState().queue.find(t=>t.id===e);n&&(qV.setState(t=>({queue:t.queue.filter(t=>t.id!==e)})),n.resolve(t))}async function ZV(e){let t=e?.login;if(!t||typeof t.connectionId!=`number`)return!1;let n=t.connectionId,r=await YV({prompt:t,submit:(e,t)=>H.post(`/api/db/connections/${n}/login`,e,{signal:t,dbLogin:!1})});return r&&eo({connectionId:n}),r!==null}function QV(){let e=qV(e=>e.queue[0]??null);return(0,Q.useEffect)(()=>(Zn(ZV),()=>Zn(null)),[]),e?(0,$.jsx)($V,{pending:e},e.id):null}function $V({pending:e}){let t=Pi(),{prompt:n}=e,[r,i]=(0,Q.useState)(n.askUser?``:n.user),[a,o]=(0,Q.useState)(``),[s,c]=(0,Q.useState)(!1),[l,u]=(0,Q.useState)({kind:`idle`}),[d,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(null),h=(0,Q.useRef)(null),g=(0,Q.useRef)(null),_=(0,Q.useRef)(null),v=l.kind===`busy`;(0,Q.useEffect)(()=>()=>h.current?.abort(),[]),(0,Q.useEffect)(()=>{p&&(p.field===`user`?g:_).current?.focus()},[p]);let y=(e,t,n)=>{u({kind:`failed`,message:e,details:t}),m(e=>({field:n,n:(e?.n??0)+1}))},b=()=>{h.current?.abort(),h.current=null,u({kind:`idle`})},x=()=>{h.current?.abort(),XV(e.id,null)},S=async()=>{if(v){b();return}let t=n.askUser?{user:r.trim(),password:a}:{password:a};if(n.askUser&&!t.user){y(`Enter the user name.`,``,`user`);return}let i=new AbortController;h.current=i,f(!1),u({kind:`busy`});try{let n=await e.submit(t,i.signal);if(i.signal.aborted)return;if(n.ok){XV(e.id,{login:t,result:n});return}y(`Connect failed: ${n.error}`,n.details,`password`)}catch(e){if(i.signal.aborted)return;let t=e instanceof nr&&e.body?.field===`user`?`user`:`password`;y(`Connect failed: ${e.message}`,``,t)}finally{h.current===i&&(h.current=null)}},C=e=>{e.key===`Enter`&&!e.nativeEvent.isComposing&&(e.preventDefault(),S())},w=`Database Log In (${n.type})`,T=`inline-flex h-11 md:h-8 items-center justify-center gap-1.5 rounded-[10px] md:rounded-md px-3.5 text-[14px] md:text-[12.5px] font-medium`,E=(0,$.jsxs)(`div`,{className:`grid gap-3`,"data-testid":`db-login`,onKeyDown:t?e=>{e.key===`Escape`&&x()}:void 0,children:[(0,$.jsx)(BV,{label:`Connection`,htmlFor:`dbl-conn`,children:(0,$.jsx)(VV,{id:`dbl-conn`,readOnly:!0,tabIndex:-1,value:n.name,className:`bg-surface-hover text-text-2`})}),(0,$.jsx)(BV,{label:`Username`,htmlFor:`dbl-user`,children:(0,$.jsx)(VV,{id:`dbl-user`,ref:g,mono:!0,value:r,readOnly:!n.askUser,disabled:v,autoFocus:n.askUser,onChange:e=>i(e.target.value),onKeyDown:C,className:G(!n.askUser&&`bg-surface-hover text-text-2`)})}),(0,$.jsx)(BV,{label:`Password`,htmlFor:`dbl-pass`,children:(0,$.jsxs)(`div`,{className:`relative flex min-w-0`,children:[(0,$.jsx)(VV,{id:`dbl-pass`,ref:_,type:s?`text`:`password`,autoComplete:`current-password`,value:a,disabled:v,autoFocus:!n.askUser,onChange:e=>o(e.target.value),onKeyDown:C,className:`pr-11 md:pr-8`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>c(e=>!e),"aria-label":s?`Hide password`:`Show password`,"aria-pressed":s,className:`absolute right-0 top-0 grid h-full w-11 md:w-8 place-items-center text-text-subtle can-hover:hover:text-text-primary`,children:s?(0,$.jsx)(Nn,{className:`size-4`}):(0,$.jsx)(gt,{className:`size-4`})})]})}),(0,$.jsxs)(`div`,{"aria-live":`polite`,className:`empty:hidden grid gap-2`,"data-testid":`db-login-state`,children:[v&&(0,$.jsxs)(`p`,{className:`flex items-center gap-2 text-[13px] md:text-[12.5px] text-text-2`,children:[(0,$.jsx)(z,{className:`size-4 animate-spin text-text-subtle`}),`Testing connection`]}),l.kind===`failed`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`p`,{className:`flex items-start gap-2 text-[13px] md:text-[12.5px] text-error`,children:[(0,$.jsx)(rn,{className:`mt-px size-4 shrink-0`}),(0,$.jsxs)(`span`,{className:`min-w-0 break-words`,children:[l.message,l.details&&(0,$.jsx)(`button`,{type:`button`,onClick:()=>f(e=>!e),className:`ml-2 inline-flex min-h-11 md:min-h-0 items-center text-text-2 underline underline-offset-2 can-hover:hover:text-text-primary`,children:d?`Hide detail`:`Show detail`})]})]}),d&&l.details&&(0,$.jsx)(`pre`,{className:`max-h-40 overflow-auto whitespace-pre-wrap break-words rounded-md border border-border-soft bg-panel-2 p-2.5 font-mono text-[12px] md:text-[11.5px] text-text-2`,children:l.details})]})]}),(0,$.jsxs)(`div`,{className:`mt-1 flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`mr-auto hidden md:inline text-[11.5px] text-text-subtle`,children:`Enter connect · Esc close`}),(0,$.jsx)(`button`,{type:`button`,onClick:x,className:G(T,`flex-1 md:flex-none border border-border bg-surface text-text-primary can-hover:hover:bg-surface-hover`),children:`Close`}),(0,$.jsx)(`button`,{type:`button`,onClick:()=>void S(),className:G(T,`flex-[2] md:flex-none bg-primary text-primary-foreground can-hover:hover:bg-primary/90`),children:v?`Stop connecting`:`Connect`})]})]}),D=(0,$.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(ce,{className:`size-4 shrink-0 text-text-subtle`}),w]});return t?(0,$.jsx)(Ma,{open:!0,onClose:x,className:`popover-solid`,children:(0,$.jsxs)(`div`,{role:`dialog`,"aria-modal":`true`,"aria-labelledby":`dbl-title`,className:`px-4 pb-4 pt-1`,children:[(0,$.jsx)(`h2`,{id:`dbl-title`,className:`mb-3 text-base font-semibold`,children:D}),E]})}):(0,$.jsx)(_a,{open:!0,onOpenChange:e=>{e||x()},children:(0,$.jsxs)(pa,{className:`sm:max-w-[440px] gap-3`,children:[(0,$.jsx)(ma,{className:`text-[15px]`,children:D}),(0,$.jsx)(ha,{className:`sr-only`,children:`This connection keeps no password. Enter it to connect; PPM holds it until you disconnect.`}),E]})})}function eH(){let e=od(e=>e.pending),t=Pi();if(!e)return null;let n=e.tabs.length===1,r=`Confirm close tabs`,i=n?`This tab has changes that are not saved. Closing it discards them.`:`These tabs have changes that are not saved. Closing them discards the changes.`,a=()=>cd(!1),o=(0,$.jsx)(`ul`,{className:`max-h-48 overflow-y-auto rounded-md border border-border bg-panel-2 px-3 py-2 text-sm text-text-primary`,children:e.tabs.map(e=>(0,$.jsx)(`li`,{className:`truncate py-0.5`,title:e.title,children:e.title},e.id))}),s=(0,$.jsxs)(`div`,{className:`flex flex-col-reverse gap-2 pt-2 md:flex-row md:justify-end`,children:[(0,$.jsx)(X,{variant:`outline`,onClick:a,className:`min-h-11 md:min-h-9`,autoFocus:!0,children:`Cancel`}),(0,$.jsx)(X,{variant:`destructive`,onClick:()=>cd(!0),className:`min-h-11 md:min-h-9`,children:n?`Close tab`:`Close tabs`})]});return t?(0,$.jsx)(Ma,{open:!0,onClose:a,children:(0,$.jsxs)(`div`,{className:`space-y-3 px-4 pb-4`,role:`alertdialog`,"aria-label":r,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold`,children:r}),(0,$.jsx)(`p`,{className:`text-sm text-text-secondary`,children:i}),o,s]})}):(0,$.jsx)(_a,{open:!0,onOpenChange:e=>{e||a()},children:(0,$.jsxs)(pa,{role:`alertdialog`,children:[(0,$.jsxs)(da,{children:[(0,$.jsx)(ma,{children:r}),(0,$.jsx)(ha,{children:i})]}),o,s]})})}var tH=(0,Q.lazy)(()=>W(()=>import(`./structure-save-dialog-DcQdamD3.js`).then(e=>({default:e.StructureSaveDialog})),__vite__mapDeps([256,1,2,3,31,6,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,92,94,23,95,101,96,97,56,57,22,90,28,29,100,50,18,65,84,45,51,86,61]))),nH=(0,Q.lazy)(()=>W(()=>import(`./rename-object-dialog-BPuh3dAH.js`).then(e=>({default:e.RenameObjectDialog})),__vite__mapDeps([257,1,2,3,31,6,7,100,50,18,23,65,84,45,51,86,61,16,10])));function rH(){let e=pb(e=>e.request),t=pb(e=>e.seq),n=pb(e=>e.rename);return!e&&!n?null:(0,$.jsxs)(Q.Suspense,{fallback:null,children:[e&&(0,$.jsx)(tH,{request:e,seq:t},t),n&&!e&&(0,$.jsx)(nH,{request:n})]})}var iH=class extends Error{constructor(){super(`The changes were not saved`),this.name=`GridSaveCancelled`}},aH=sr(()=>({pending:null,seq:0}));function oH(e){let{pending:t,seq:n}=aH.getState();return t?Promise.reject(new iH):new Promise((t,r)=>{aH.setState({seq:n+1,pending:{request:e,seq:n+1,resolve:t,reject:r}})})}function sH(e,t){let{pending:n}=aH.getState();n?.seq===e&&(aH.setState({pending:null}),t?n.resolve(t):n.reject(new iH))}var cH=(0,Q.lazy)(()=>W(()=>import(`./grid-save-dialog-HiqlnSky.js`).then(e=>({default:e.GridSaveDialog})),__vite__mapDeps([258,1,2,3,31,6,7,73,11,10,12,13,8,9,14,15,16,74,75,44,38,27,92,94,23,95,77,101,96,97,56,57,22,90,28,29,84,45,50,18,51,17,19,86,61])));function lH(){let e=aH(e=>e.pending);return e?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(cH,{request:e.request,seq:e.seq},e.seq)}):null}var uH={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 set up your domain later in Settings → Remote Access → Public link.`,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`}},dH=/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/,fH=253;function pH(e,t){return`${e.trim().toLowerCase()}.${t.trim().toLowerCase()}`}function mH(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>fH)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(!dH.test(e))return{ok:!1,reason:`invalid DNS label: "${e}"`};return{ok:!0}}function hH(e){return e.authEnabled??!0?e.certState===`invalid`||e.certState===`mismatch`?{k:`needs-relogin`,message:e.certState===`mismatch`?uH.needsRelogin.certMismatch:uH.needsRelogin.certInvalid}:e.mode!==`quick`||e.dismissed?{k:`hidden`}:vH(e.login.state,e.login.url,e.login.message):{k:`hidden`}}var gH=new Set([`hidden`,`ask-domain`,`login-wait`,`login-timeout`,`login-cancelled`,`needs-relogin`,`error`]),_H=new Set([`login-wait`,`needs-relogin`]);function vH(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??uH.error.title};case`success`:return{k:`login-wait`,url:t,slow:!1};default:return{k:`ask-domain`}}}function yH(e,t){switch(t.type){case`status`:return gH.has(e.k)?hH(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 vH(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 _H.has(e.k)?{k:`confirm-zone`,zone:t.zone}:e;case`zone-error`:return _H.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:uH.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 bH=null;function xH(){return bH}var SH=[`tunnel:login_url`,`tunnel:login_state`,`tunnel:setup_step`,`tunnel:setup_done`,`tunnel:setup_pending`,`tunnel:setup_error`];function CH(e){return e instanceof Error?e.message:uH.error.title}function wH(){let[e,t]=(0,Q.useState)({k:`hidden`}),[n,r]=(0,Q.useState)(null),i=(0,Q.useRef)(!1),a=(0,Q.useRef)(e);a.current=e;let o=(0,Q.useCallback)(e=>{t(t=>yH(t,e))},[]),s=(0,Q.useCallback)(()=>{i.current||(i.current=!0,MS.zone().then(e=>o({type:`zone-loaded`,zone:e.zone})).catch(e=>o({type:`zone-error`,message:CH(e)})).finally(()=>{i.current=!1}))},[o]),c=(0,Q.useCallback)(()=>{_H.has(a.current.k)&&s()},[s]),l=(0,Q.useCallback)(async()=>{try{let e=await MS.status();r(e),e.mode===`named`&&e.hostname&&(bH=e.hostname),o({type:`status`,status:e}),e.mode===`quick`&&e.login.state===`success`&&c()}catch{}},[o,c]);(0,Q.useEffect)(()=>{l()},[l]),(0,Q.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`:bH=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 SH.forEach(t=>window.addEventListener(t,e)),()=>SH.forEach(t=>window.removeEventListener(t,e))},[o,c,l]);let u=(0,Q.useCallback)(e=>{o({type:`answer-yes`}),MS.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:CH(e)}))},[o,c,l]),d=(0,Q.useCallback)(()=>u(!1),[u]),f=(0,Q.useCallback)(()=>u(!1),[u]),p=(0,Q.useCallback)(()=>u(!0),[u]),m=(0,Q.useCallback)(()=>{o({type:`answer-no`}),MS.dismiss().catch(()=>{})},[o]),h=(0,Q.useCallback)(()=>{o({type:`cancel`}),MS.cancelLogin().catch(()=>{})},[o]),g=(0,Q.useCallback)(()=>o({type:`confirm-zone`}),[o]),_=(0,Q.useCallback)(()=>o({type:`start-over`}),[o]),v=(0,Q.useCallback)(()=>o({type:`close`}),[o]);return{step:e,status:n,answerYes:d,answerNo:m,cancelLogin:h,retryLogin:f,confirmZone:g,startOver:_,setHostnamePrefix:(0,Q.useCallback)(e=>{let t=a.current;if(t.k!==`choose-hostname`)return;let n=mH(pH(e,t.zone),t.zone);o({type:`hostname-prefix`,prefix:e,error:n.ok?void 0:n.reason})},[o]),submitHostname:(0,Q.useCallback)(()=>{let e=a.current;if(e.k!==`choose-hostname`)return;let t=pH(e.prefix,e.zone),n=mH(t,e.zone);if(!n.ok){o({type:`hostname-prefix`,prefix:e.prefix,error:n.reason});return}o({type:`submit`}),MS.setup(t).then(e=>{bH=e.hostname,e.pending?o({type:`setup-pending`,hostname:e.hostname,message:e.message??uH.pending.title}):o({type:`setup-done`,hostname:e.hostname}),l()}).catch(e=>o({type:`setup-error`,message:CH(e)}))},[o,l]),requestRelogin:p,close:v,refreshStatus:l}}function TH({url:e,slow:t,onCancel:n}){let[r,i]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(!1),s=uH.login,c=t&&!a;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:s.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:s.hint})]}),e?(0,$.jsxs)(`div`,{className:`flex items-stretch gap-2`,children:[(0,$.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,$.jsx)(`button`,{type:`button`,onClick:async()=>{await ca(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,$.jsx)(L,{className:`size-4 text-success`}):(0,$.jsx)(jn,{className:`size-4`})}),(0,$.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,$.jsx)(Lt,{className:`size-4`})})]}):(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-text-secondary`,children:[(0,$.jsx)(z,{className:`size-4 animate-spin`}),s.waiting]}),(0,$.jsx)(`p`,{className:`text-xs text-text-subtle`,children:s.finishOnPhone}),c&&(0,$.jsxs)(`div`,{className:`rounded-lg border border-warning/30 bg-warning/10 p-3 space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(yn,{className:`size-4 text-warning shrink-0 mt-0.5`}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:s.slowTitle}),(0,$.jsx)(`p`,{className:`text-xs text-text-secondary leading-relaxed mt-0.5`,children:s.slowBody})]})]}),(0,$.jsxs)(`div`,{className:`flex gap-2 pt-1`,children:[(0,$.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,$.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,$.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 EH({zone:e,prefix:t,error:n,onChange:r}){let i=(0,Q.useRef)(null);return(0,Q.useEffect)(()=>{i.current?.focus()},[]),(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`named-tunnel-prefix`,className:`block text-sm font-medium text-foreground`,children:uH.hostname.prefixLabel}),(0,$.jsxs)(`div`,{className:`flex items-stretch rounded-lg border border-border bg-background focus-within:border-primary/50 transition-colors overflow-hidden`,children:[(0,$.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,$.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,$.jsx)(`p`,{className:`text-xs text-text-subtle`,children:uH.hostname.suffixHint}),n&&(0,$.jsx)(`p`,{className:`text-xs text-destructive`,children:n})]})}var DH=`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`,OH=`w-full min-h-11 py-3 rounded-lg border border-border text-sm text-text-secondary hover:bg-surface-elevated transition-colors`;function kH({step:e,t}){switch(e.k){case`hidden`:return null;case`ask-domain`:{let e=uH.askDomain;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:t.answerNo,className:OH,children:e.no}),(0,$.jsx)(`button`,{type:`button`,onClick:t.answerYes,className:DH,children:e.yes})]})]})}case`no-domain`:{let e=uH.noDomain;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,$.jsx)(`button`,{type:`button`,onClick:t.close,className:DH,children:e.close})]})}case`login-wait`:return(0,$.jsx)(TH,{url:e.url,slow:e.slow,onCancel:t.cancelLogin});case`login-timeout`:{let e=uH.timeout;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,$.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:DH,children:e.retry})]})}case`login-cancelled`:{let e=uH.cancelled;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,$.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:DH,children:e.retry})]})}case`confirm-zone`:{let n=uH.confirmZone;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:n.body(e.zone)})]}),(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:t.startOver,className:OH,children:n.startOver}),(0,$.jsx)(`button`,{type:`button`,onClick:t.confirmZone,className:DH,children:n.confirm})]})]})}case`needs-relogin`:{let n=uH.needsRelogin;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message})]}),(0,$.jsx)(`button`,{type:`button`,onClick:t.requestRelogin,className:DH,children:n.action})]})}case`choose-hostname`:{let n=uH.hostname;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(EH,{zone:e.zone,prefix:e.prefix,error:e.error,onChange:t.setHostnamePrefix}),(0,$.jsx)(`button`,{type:`button`,onClick:t.submitHostname,disabled:!e.prefix||!!e.error,className:DH,children:n.submit})]})}case`applying`:return(0,$.jsx)(`div`,{className:`space-y-4 py-4`,children:(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-foreground`,children:[(0,$.jsx)(z,{className:`size-4 animate-spin text-primary`}),e.message]})});case`done`:{let n=uH.done;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary break-all`,children:n.body(e.hostname)})]}),(0,$.jsx)(`button`,{type:`button`,onClick:t.close,className:DH,children:n.close})]})}case`pending`:{let n=uH.pending;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message}),(0,$.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,$.jsx)(`button`,{type:`button`,onClick:t.close,className:DH,children:n.close})]})}case`error`:{let n=uH.error;return(0,$.jsxs)(`div`,{className:`space-y-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,$.jsx)(rn,{className:`size-4 text-destructive shrink-0 mt-0.5`}),(0,$.jsxs)(`div`,{children:[(0,$.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,$.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,$.jsx)(`button`,{type:`button`,onClick:t.close,className:OH,children:n.close}),(0,$.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:OH,children:n.retry}),(0,$.jsx)(`button`,{type:`button`,onClick:t.requestRelogin,className:DH,children:n.relogin})]})]})}default:return null}}function AH(){let e=wH(),t=Pi(),[n,r]=(0,Q.useState)(!1),i=e.step.k!==`hidden`&&!n;if(!i)return null;let a=()=>r(!0);return t?(0,$.jsx)(Ma,{open:i,onClose:a,zIndex:45,children:(0,$.jsx)(`div`,{className:`px-4 pb-4`,children:(0,$.jsx)(kH,{step:e.step,t:e})})}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`fixed inset-0 z-[45] bg-black/40`,onClick:a}),(0,$.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,$.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,$.jsx)($t,{className:`size-4`})}),(0,$.jsx)(`div`,{className:`pr-8`,children:(0,$.jsx)(kH,{step:e.step,t:e})})]})]})}var jH=sr((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})}})),MH={scale:1,x:0,y:0,rotation:0,flipX:!1,flipY:!1},NH=.1,PH=20,FH=2.5,IH=(e,t,n)=>Math.min(n,Math.max(t,e));function LH(e){return e.deltaMode===0?e.deltaX===0?Number.isInteger(e.deltaY)&&Math.abs(e.deltaY)>=40:!1:!0}function RH(){let e=(0,Q.useRef)(null),t=(0,Q.useRef)(null),n=(0,Q.useRef)({...MH}),r=(0,Q.useRef)(null),[i,a]=(0,Q.useState)(100),[o,s]=(0,Q.useState)(0),c=(0,Q.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,Q.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,Q.useCallback)(()=>{a(Math.round(n.current.scale*100)),s(n.current.rotation)},[]),d=(0,Q.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,Q.useCallback)((e=!1)=>{let{maxX:t,maxY:r}=l();n.current.x=IH(n.current.x,-t,t),n.current.y=IH(n.current.y,-r,r),d(e)},[d,l]),p=(0,Q.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=IH(t,NH,PH),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,Q.useCallback)(()=>{n.current={...MH},d(!0)},[d]),h=(0,Q.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,Q.useCallback)(()=>{let{dw:e,natural:t}=c();e>0&&t>0&&p(t/e,void 0,void 0,!0)},[c,p]),_=(0,Q.useCallback)(e=>{n.current.rotation=((n.current.rotation+e)%360+360)%360,h()},[h]),v=(0,Q.useCallback)(e=>{e===`x`?n.current.flipX=!n.current.flipX:n.current.flipY=!n.current.flipY,d(!0)},[d]),y=(0,Q.useCallback)(e=>p(n.current.scale*e,void 0,void 0,!0),[p]);return wA({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||LH(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(FH,e.clientX,e.clientY,!0)}},{target:e,drag:{from:()=>[n.current.x,n.current.y],filterTaps:!0,pointer:{touch:!0}},pinch:{scaleBounds:{min:NH,max:PH},rubberband:!0},eventOptions:{passive:!1}}),(0,Q.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 zH(){let e=jH(e=>e.src);return e?(0,$.jsx)(BH,{},e):null}function BH(){let{src:e,alt:t,images:n,index:r,close:i,go:a}=jH(),{containerRef:o,imageRef:s,zoomPercent:c,rotation:l,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h}=RH(),[g,_]=(0,Q.useState)(!1),v=la();(0,Q.useEffect)(()=>{d()},[d]);let y=(0,Q.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,Q.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 sa(e)&&(_(!0),setTimeout(()=>_(!1),1500))};return(0,$.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,$.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,$.jsx)($t,{className:`size-5`})}),x&&(0,$.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,$.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,$.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,$.jsxs)(VH,{children:[x&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(UH,{onClick:()=>a(-1),disabled:r===0,label:`Previous image (←)`,children:(0,$.jsx)(Ce,{className:`size-5`})}),(0,$.jsx)(UH,{onClick:()=>a(1),disabled:r===n.length-1,label:`Next image (→)`,children:(0,$.jsx)(Ne,{className:`size-5`})}),(0,$.jsx)(HH,{})]}),(0,$.jsx)(UH,{onClick:()=>u(.8),label:`Zoom out (-)`,children:(0,$.jsx)(we,{className:`size-5`})}),(0,$.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,$.jsx)(UH,{onClick:()=>u(1.25),label:`Zoom in (+)`,children:(0,$.jsx)(Ct,{className:`size-5`})}),(0,$.jsx)(UH,{onClick:f,label:`Fit to screen (0)`,children:(0,$.jsx)(fe,{className:`size-5`})}),(0,$.jsx)(UH,{onClick:p,label:`Actual size (1)`,children:(0,$.jsx)(yc,{className:`size-5`})}),(0,$.jsx)(HH,{}),(0,$.jsx)(UH,{onClick:()=>m(-90),label:`Rotate left (Shift+R)`,active:l!==0,children:(0,$.jsx)(It,{className:`size-5`})}),(0,$.jsx)(UH,{onClick:()=>m(90),label:`Rotate right (R)`,active:l!==0,children:(0,$.jsx)(ht,{className:`size-5`})}),(0,$.jsx)(UH,{onClick:()=>h(`x`),label:`Flip horizontally (H)`,children:(0,$.jsx)(Jt,{className:`size-5`})}),(0,$.jsx)(UH,{onClick:()=>h(`y`),label:`Flip vertically (V)`,children:(0,$.jsx)(He,{className:`size-5`})}),(0,$.jsx)(HH,{}),(0,$.jsx)(UH,{onClick:()=>ep(e,b),label:`Download`,children:(0,$.jsx)(Ht,{className:`size-5`})}),(0,$.jsx)(UH,{onClick:S,disabled:!v,label:v?`Copy image`:`Copying images needs an HTTPS or localhost address`,children:g?(0,$.jsx)(L,{className:`size-5 text-green-400`}):(0,$.jsx)(jn,{className:`size-5`})})]})]})}function VH({children:e}){return(0,$.jsx)(`div`,{className:`flex shrink-0 justify-center px-2 pb-[max(0.75rem,env(safe-area-inset-bottom))] pt-2`,children:(0,$.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 HH(){return(0,$.jsx)(`span`,{className:`mx-1 h-6 w-px bg-white/20`,"aria-hidden":!0})}function UH({onClick:e,label:t,children:n,disabled:r,active:i}){return(0,$.jsx)(`button`,{type:`button`,onClick:e,disabled:r,title:t,"aria-label":t,className:G(`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 WH=sr(e=>({svg:null,open:t=>e({svg:t}),close:()=>e({svg:null})})),GH=.25,KH=4,qH=.25;function JH(){let{svg:e,close:t}=WH(),n=(0,Q.useRef)(null),[r,i]=(0,Q.useState)(1),[a,o]=(0,Q.useState)({x:0,y:0}),s=(0,Q.useRef)(!1),c=(0,Q.useRef)({x:0,y:0});(0,Q.useEffect)(()=>{e&&(i(1),o({x:0,y:0}))},[e]);let l=(0,Q.useCallback)(e=>{e.key===`Escape`&&t(),(e.key===`=`||e.key===`+`)&&i(e=>Math.min(KH,e+qH)),e.key===`-`&&i(e=>Math.max(GH,e-qH)),e.key===`0`&&(i(1),o({x:0,y:0}))},[t]);(0,Q.useEffect)(()=>{if(e)return document.addEventListener(`keydown`,l),()=>document.removeEventListener(`keydown`,l)},[e,l]);let u=(0,Q.useCallback)(e=>{e.preventDefault();let t=e.deltaY>0?-qH:qH;i(e=>Math.min(KH,Math.max(GH,e+t)))},[]),d=(0,Q.useCallback)(e=>{e.button===0&&(s.current=!0,c.current={x:e.clientX,y:e.clientY},e.target.setPointerCapture(e.pointerId))},[]),f=(0,Q.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,Q.useCallback)(()=>{s.current=!1},[]);return e?(0,$.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,$.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 bg-black/40`,onClick:e=>e.stopPropagation(),children:[(0,$.jsxs)(`span`,{className:`text-sm text-white/70`,children:[Math.round(r*100),`% — Scroll to zoom, drag to pan, 0 to reset`]}),(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsx)(`button`,{onClick:()=>i(e=>Math.max(GH,e-qH)),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,$.jsx)(Pt,{className:`size-4`})}),(0,$.jsx)(`button`,{onClick:()=>i(e=>Math.min(KH,e+qH)),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,$.jsx)(zt,{className:`size-4`})}),(0,$.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,$.jsx)(It,{className:`size-4`})}),(0,$.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,$.jsx)($t,{className:`size-5`})})]})]}),(0,$.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,$.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,$.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 YH=new Map,XH=sr((e,t)=>({shellsBySession:{},panelShellId:null,setSessionShells:(t,n)=>e(e=>({shellsBySession:{...e.shellsBySession,[t]:n}})),retainSession:e=>{YH.set(e,(YH.get(e)??0)+1)},releaseSession:t=>{let n=(YH.get(t)??1)-1;if(n>0){YH.set(t,n);return}YH.delete(t),e(e=>{let n={...e.shellsBySession};return delete n[t],{shellsBySession:n}})},findByOutput:e=>{if(!e)return;let n=fr(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})})),ZH=1500,QH=5e5;function $H(){let e=XH(e=>e.panelShellId),t=XH(e=>e.getShell),n=XH(e=>e.closePanel),r=e?t(e):void 0,[i,a]=(0,Q.useState)(``),[o,s]=(0,Q.useState)(null),[c,l]=(0,Q.useState)(!1),u=(0,Q.useRef)(null),d=r?.outputPath,f=r?.status,p=(0,Q.useCallback)(async()=>{if(d)try{let e=(await H.get(`/api/fs/read?path=${encodeURIComponent(d)}`)).content??``;a(e.length>QH?e.slice(-QH):e),s(null)}catch(e){s(e.message)}finally{l(!1)}},[d]);return(0,Q.useEffect)(()=>{if(!d||(l(!0),a(``),p(),f!==`running`))return;let e=setInterval(p,ZH);return()=>clearInterval(e)},[d,f,p]),(0,Q.useEffect)(()=>{u.current&&(u.current.scrollTop=u.current.scrollHeight)},[i]),(0,Q.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,n]),e?(0,$.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,$.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,$.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,$.jsx)(et,{className:`size-4 shrink-0 text-text-secondary`}),(0,$.jsx)(`span`,{className:`flex-1 truncate text-sm font-mono text-text-primary`,title:r?.command,children:r?.command||`Background command`}),f===`running`&&(0,$.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-emerald-500`,children:[(0,$.jsx)(z,{className:`size-3 animate-spin`}),` live`]}),f===`stopping`&&(0,$.jsx)(`span`,{className:`text-[11px] text-warning`,children:`stopping…`}),f===`stopped`&&(0,$.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`stopped`}),(0,$.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,$.jsx)($t,{className:`size-5`})})]}),(0,$.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 eU=`https://cloud.ppm.sh`;function tU(){let e=window.location.hostname;return e.endsWith(`.trycloudflare.com`)||e===xH()}function nU(){let e=xH();return!!e&&window.location.hostname===e}function rU(){let e=RB(e=>e.showOverlay),[t,n]=(0,Q.useState)(!1);if(!e)return null;let r=tU(),i=nU(),a=Kw();async function o(){n(!0);try{if((await fetch(`/api/health`,{cache:`no-store`})).ok){if(RB.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,$.jsx)(`div`,{className:`fixed inset-0 z-[200] bg-background/95 backdrop-blur-sm flex items-center justify-center p-4`,children:(0,$.jsxs)(`div`,{className:`max-w-sm w-full text-center space-y-6`,children:[(0,$.jsx)(`div`,{className:`flex justify-center`,children:(0,$.jsx)(`div`,{className:`rounded-full bg-destructive/10 p-4`,children:(0,$.jsx)(r?cn:bc,{className:`h-10 w-10 text-destructive`})})}),(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`h2`,{className:`text-xl font-semibold text-foreground`,children:i?`Domain Not Responding`:r?`Connection Lost`:`Server Unreachable`}),(0,$.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,$.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[r&&a&&(0,$.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,$.jsx)(Dn,{className:`h-4 w-4`}),`Open on local network`]}),r&&(0,$.jsx)(`a`,{href:eU,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,$.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,$.jsx)(Vt,{className:`h-4 w-4 ${t?`animate-spin`:``}`}),t?`Retrying…`:`Retry Connection`]})]}),!r&&(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`If the server was stopped, run `,(0,$.jsx)(`code`,{className:`bg-muted px-1 py-0.5 rounded text-[11px]`,children:`ppm start`}),` to restart it.`]})]})})}function iU(){let e=rf(e=>e.quickPick),t=rf(e=>e.resolveQuickPick);return e?(0,$.jsx)(aU,{items:e.items,options:e.options,onSelect:e=>t(e),onCancel:()=>t(void 0)}):null}function aU({items:e,options:t,onSelect:n,onCancel:r}){let[i,a]=(0,Q.useState)(``),[o,s]=(0,Q.useState)(0),[c,l]=(0,Q.useState)(()=>{let t=new Set;return e.forEach((e,n)=>{e.picked&&t.add(n)}),t}),u=(0,Q.useRef)(null),d=(0,Q.useRef)(null),f=t.canPickMany??!1;(0,Q.useEffect)(()=>{requestAnimationFrame(()=>u.current?.focus())},[]);let p=(0,Q.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,Q.useEffect)(()=>{s(e=>Math.min(e,Math.max(p.length-1,0)))},[p.length]),(0,Q.useEffect)(()=>{(d.current?.children[o])?.scrollIntoView({block:`nearest`})},[o]);let m=(0,Q.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,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:r,children:[(0,$.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,$.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,$.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,$.jsx)(Ln,{className:`size-4 text-text-subtle shrink-0`}),(0,$.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,$.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,$.jsx)(`div`,{ref:d,className:`max-h-72 overflow-y-auto py-1`,children:p.length===0?(0,$.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,$.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:G(`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,$.jsx)(`span`,{className:G(`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,$.jsx)(L,{className:`size-3`})}),(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsx)(`div`,{className:`truncate`,children:e.label}),e.description&&(0,$.jsx)(`span`,{className:`text-xs text-text-subtle ml-2`,children:e.description}),e.detail&&(0,$.jsx)(`div`,{className:`text-xs text-text-subtle truncate mt-0.5`,children:e.detail})]})]},t))}),f&&(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border px-3 py-1.5`,children:[(0,$.jsxs)(`span`,{className:`text-[10px] text-text-subtle`,children:[c.size,` selected`]}),(0,$.jsx)(`button`,{onClick:m,className:`text-xs text-primary hover:text-primary/80 font-medium`,children:`Confirm`})]})]})]})}function oU(){let e=rf(e=>e.inputBox),t=rf(e=>e.resolveInputBox);return e?(0,$.jsx)(sU,{options:e.options,onConfirm:e=>t(e),onCancel:()=>t(void 0)}):null}function sU({options:e,onConfirm:t,onCancel:n}){let[r,i]=(0,Q.useState)(e.value??``),a=(0,Q.useRef)(null);(0,Q.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,$.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:n,children:[(0,$.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,$.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,$.jsx)(`div`,{className:`px-3 pt-3 pb-1 text-sm text-text-primary`,children:e.prompt}),(0,$.jsx)(`div`,{className:`flex items-center gap-2 px-3 py-2.5`,children:(0,$.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,$.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border px-3 py-2`,children:[(0,$.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,$.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 cU=new Set;function lU(e,t){return`${e}:${t??``}`}var uU=new Map,dU=15e3;function fU(e,t){let n=Date.now();for(let[e,t]of uU)n-t>dU&&uU.delete(e);if(uU.delete(`${e}:${t??``}`)||t&&uU.delete(`${e}:`))return!0;if(!t){for(let t of uU.keys())if(t.startsWith(`${e}:`))return uU.delete(t),!0}return!1}var pU=new Set;function mU(e=!0){let t=(0,Q.useRef)(null),n=(0,Q.useCallback)(e=>{t.current?.send(JSON.stringify(e))},[]);return(0,Q.useEffect)(()=>{if(!e)return;let r=Xn(),i=new TB(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=rf.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=fU(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=q.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)Y.getState().updateTab(c.id,{title:t.title,metadata:{...c.metadata,viewType:e,panelId:t.panelId,extensionId:t.extensionId,...t.projectName&&{projectName:t.projectName}}}),n&&!pU.has(e)&&Y.getState().setActiveTab(c.id),pU.delete(e);else if(n&&!cU.has(lU(e,t.projectName))){let n=Y.getState().currentProject,r=t.projectName??n??void 0;Y.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`:{let e=t.metadata;if(t.tabType===`git-review`&&typeof e?.projectName==`string`){g_(e.projectName,typeof e.path==`string`?e.path:void 0,typeof e.repo==`string`?e.repo:void 0);break}Y.getState().openTab({type:t.tabType,title:t.title,projectId:t.projectId??null,closable:t.closable??!0,metadata:t.metadata});break}case`project:switch`:Y.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 cU)e.startsWith(`${a}:`)&&cU.delete(e);let o=Array.isArray(n)&&typeof n[0]==`string`?n[0]:``;uU.set(`${a}:${o}`,Date.now()),r?pU.add(a):pU.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=lU(n.replace(/\.view$/,``),r);cU.add(e),setTimeout(()=>cU.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 hU(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 gU(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 _U({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,$.jsxs)(`div`,{className:`flex flex-col gap-1 px-3 py-2`,"data-testid":`upload-row`,"data-state":e.state,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`p`,{className:`truncate text-sm text-text`,children:e.name}),i&&(0,$.jsx)(`p`,{className:`truncate text-xs text-text-2`,children:e.relativePath})]}),(0,$.jsx)(`span`,{className:`shrink-0 text-xs text-text-2`,children:gU(e.size)}),r?(0,$.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,$.jsx)($t,{className:`size-4 text-text-2`})}):(0,$.jsxs)(`span`,{className:`flex size-11 shrink-0 items-center justify-center`,"aria-label":e.state,children:[e.state===`done`&&(0,$.jsx)(L,{className:`size-4 text-success`}),e.state===`skipped`&&(0,$.jsx)(`span`,{className:`text-xs text-text-2`,children:`Skipped`}),(e.state===`failed`||e.state===`cancelled`)&&(0,$.jsx)(yn,{className:`size-4 text-destructive`})]})]}),r&&(0,$.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-surface-elevated`,children:(0,$.jsx)(`div`,{className:G(`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,$.jsx)(`p`,{className:`text-xs text-destructive`,children:e.state===`cancelled`?`Cancelled`:e.errorMessage??`Upload failed`})]})}function vU(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function yU({batch:e}){let t=dg(e=>e.cancelItem),n=dg(e=>e.cancelBatch),r=dg(e=>e.dismissBatch),i=hU(e.items),a=e.settled,o=i.bytesTotal>0?Math.round(i.bytesLoaded/i.bytesTotal*100):0;return(0,$.jsxs)(`div`,{className:`w-full overflow-hidden rounded-lg border border-border bg-panel shadow-lg`,"data-testid":`upload-batch-card`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2`,children:[(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.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,$.jsxs)(`p`,{className:`truncate text-xs text-text-2`,children:[vU(i.bytesLoaded),` / `,vU(i.bytesTotal)]})]}),a?(0,$.jsx)(X,{variant:`ghost`,size:`sm`,className:`h-11 shrink-0`,onClick:()=>r(e.id),children:`Close`}):(0,$.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,$.jsx)($t,{className:`size-4 text-text-2`})})]}),(0,$.jsx)(`div`,{className:`max-h-64 divide-y divide-border overflow-y-auto`,children:e.items.map(n=>(0,$.jsx)(_U,{item:n,onCancel:()=>t(e.id,n.id)},n.id))})]})}function bU(){return dg(sm(e=>e.order.map(t=>e.batches[t]).filter(e=>e!=null)))}function xU(){let e=Pi(),t=bU(),[n,r]=(0,Q.useState)(!1);if(t.length===0)return null;if(!e)return(0,$.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,$.jsx)(yU,{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,$.jsxs)($.Fragment,{children:[(0,$.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,$.jsx)(Ma,{open:n,onClose:()=>r(!1),className:`max-h-[70vh] overflow-y-auto p-2`,children:(0,$.jsx)(`div`,{className:`flex flex-col gap-2 px-2 pb-2`,children:t.map(e=>(0,$.jsx)(yU,{batch:e},e.id))})})]})}var SU=`ppm:chunk-reload`,CU=!1;function wU(){return CU}var TU=/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 EU(e){if(!e)return!1;let t=e instanceof Error?`${e.name}: ${e.message}`:String(e);return TU.test(t)}async function DU(){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 OU(){try{sessionStorage.removeItem(SU)}catch{}CU=!0,await DU(),window.location.reload()}function kU(){let e;try{e=sessionStorage.getItem(SU)===`1`,sessionStorage.setItem(SU,`1`)}catch{return!1}return e?!1:(CU=!0,DU().then(()=>window.location.reload()),!0)}function AU(){window.addEventListener(`vite:preloadError`,e=>{oc(`chunk_error`,e?.payload??`vite:preloadError`),kU()})}var jU={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.`}},MU=`Summarize this project and explain how to run it. Only read; do not edit files.`;function NU(e,t){let n=jU[e],r=t===`advanced`?2:t===`familiar`?1:0;return{title:n.title,body:n.bodies[r],more:n.more,action:n.action}}var PU=[{id:`beginner`,title:`I'm just getting started`,body:`One step at a time, with the basics explained.`,icon:qt},{id:`familiar`,title:`I've used similar tools`,body:`A quick introduction to finding your way around PPM.`,icon:qt},{id:`advanced`,title:`I'm a developer / advanced user`,body:`Go straight to the workspace and tools.`,icon:yt}],FU=[{id:`ai`,title:`Work with AI`,body:`Ask about a project and find your conversation again.`,icon:re},{id:`explore`,title:`Explore a project`,body:`Open a file and search through your project.`,icon:qt},{id:`developer`,title:`Use development tools`,body:`Find the terminal, Git changes and run instructions.`,icon:yt}];function IU({projectName:e}){let t=qi(),n=(0,Q.useRef)(document.activeElement),[r,i]=(0,Q.useState)(`level`);return(0,$.jsx)(_a,{open:!0,onOpenChange:e=>{e||t.dismiss()},children:(0,$.jsx)(pa,{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,$.jsxs)(Xi,{stepKey:r,order:r===`level`?0:1,className:`grid gap-4`,children:[(0,$.jsxs)(`div`,{className:`text-xs font-medium tracking-widest uppercase text-primary`,children:[`Your first steps · `,r===`level`?`1`:`2`,` of 2`]}),(0,$.jsx)(ma,{className:`text-2xl leading-tight`,children:r===`level`?`Make PPM feel familiar`:`What would you like to do first?`}),(0,$.jsx)(ha,{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,$.jsx)(`div`,{className:`grid gap-3 mt-1`,children:r===`level`?PU.map(({id:e,title:n,body:r,icon:a})=>(0,$.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,$.jsx)(a,{className:`size-5 shrink-0 text-primary mt-0.5`}),(0,$.jsxs)(`span`,{children:[(0,$.jsx)(`span`,{className:`block font-medium text-sm`,children:n}),(0,$.jsx)(`span`,{className:`block mt-1 text-sm text-text-secondary`,children:r})]})]},e)):FU.map(({id:n,title:r,body:i,icon:a})=>(0,$.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,$.jsx)(a,{className:`size-5 shrink-0 text-primary mt-0.5`}),(0,$.jsxs)(`span`,{children:[(0,$.jsxs)(`span`,{className:`block font-medium text-sm`,children:[r,n===`ai`&&(0,$.jsx)(`span`,{className:`ml-2 text-xs text-primary`,children:`Suggested`})]}),(0,$.jsx)(`span`,{className:`block mt-1 text-sm text-text-secondary`,children:i})]})]},n))}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[r===`goal`?(0,$.jsxs)(X,{variant:`ghost`,className:`min-h-11`,onClick:()=>i(`level`),children:[(0,$.jsx)(An,{}),`Back`]}):(0,$.jsx)(`span`,{}),(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 text-text-secondary`,onClick:t.dismiss,children:`I'll explore on my own`})]})]})})})}function LU(){let e=qi(e=>e.projectName),t=qi(e=>e.skip),[n,r]=(0,Q.useState)(!1);return(0,Q.useEffect)(()=>{let t=!1,n=0;if(r(!1),!e)return;let i=()=>{let i=++n;H.get(`${V(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,$.jsxs)(`div`,{className:`mt-3 rounded-lg border border-border p-3`,role:`status`,children:[(0,$.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,$.jsx)(X,{variant:`outline`,className:`w-full min-h-11 mt-2`,onClick:t,children:`Skip empty project step`}),(0,$.jsx)(`p`,{className:`text-xs text-text-secondary mt-2`,children:`This step will be marked skipped, not completed.`})]}):(0,$.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 RU({collapsed:e,setCollapsed:t,onAction:n,onSettings:r}){let i=qi(),[a,o]=(0,Q.useState)(!1),s=ta(i.goal),c=i.currentStep;if(!c)return null;let l=NU(c,i.familiarity??`beginner`),u=s.indexOf(c);return(0,$.jsxs)(`div`,{className:`p-4`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,$.jsxs)(`p`,{className:`text-[11px] uppercase tracking-widest text-primary font-medium`,children:[`Guided tour · `,u+1,` of `,s.length]}),(0,$.jsx)(`h2`,{className:`font-semibold text-sm mt-1`,"aria-live":`polite`,children:l.title})]}),(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 min-w-11`,"aria-label":e?`Expand guide`:`Collapse guide`,onClick:()=>t(!e),children:e?(0,$.jsx)(Hn,{}):(0,$.jsx)(We,{})}),(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 min-w-11`,"aria-label":`Pause tour`,onClick:i.pause,children:(0,$.jsx)($t,{})})]}),!e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(`div`,{className:`flex gap-1 mt-3 mb-4`,"aria-label":`Tour progress`,children:s.map(e=>(0,$.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,$.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed`,children:l.body}),c===`file`&&(0,$.jsx)(LU,{}),c===`run`&&(0,$.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,$.jsxs)(`p`,{className:`text-sm text-primary mt-2 flex items-center gap-1`,children:[(0,$.jsx)(L,{className:`size-4`}),`Run instructions opened`]}),(0,$.jsx)(X,{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,$.jsx)(X,{variant:`ghost`,className:`w-full min-h-11 mt-1`,onClick:r,children:`AI settings`}),(0,$.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,$.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed mb-3`,children:l.more}),(0,$.jsx)(X,{variant:`link`,className:`w-full min-h-11`,onClick:ea,children:`Quick orientation`}),(0,$.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border pt-2`,children:[(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 px-2`,disabled:u===0,onClick:i.back,children:`Back`}),(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 px-2`,onClick:i.changeChoices,children:`Change guide`}),(0,$.jsx)(X,{variant:`ghost`,className:`min-h-11 px-2`,onClick:i.skip,children:`Skip step`})]})]})]})}function zU(e){return Array.from(document.querySelectorAll(`[data-onboarding="${e}"]`)).find(e=>e.getClientRects().length>0&&e.getBoundingClientRect().width>0)}function BU({target:e,children:t,collapsed:n}){let r=Pi(),i=Na(r),[a,o]=(0,Q.useState)(null),s=(0,Q.useRef)(null),[c,l]=(0,Q.useState)(360);(0,Q.useEffect)(()=>{if(!s.current)return;let e=new ResizeObserver(()=>l(s.current?.getBoundingClientRect().height??360));return e.observe(s.current),()=>e.disconnect()},[]),(0,Q.useEffect)(()=>{if(!e||n){o(null);return}let t=()=>o(zU(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,$.jsxs)($.Fragment,{children:[a&&!r&&!n&&(0,$.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,$.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 VU(e){let{status:t,currentStep:n,projectName:r,sessionId:i}=qi();(0,Q.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 H.get(`${V(r)}/chat/sessions?limit=100&offset=${t}`);if(a||n.sessions.some(e=>e.id===i))return;if(!n.hasMore){qi.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 HU(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 UU(e,t){let n=await H.get(`${V(e)}/files/list`);if(!t())return`stale`;let r=HU(n);return r?(Y.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 WU({openProjects:e,openNavigation:t,closeNavigation:n,paletteOpen:r=!1,navigationOpen:i=!1}){let a=qi(),o=J(e=>e.activeProject),s=Pi(),[c,l]=(0,Q.useState)(!1),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{let e=()=>p(!0);return window.addEventListener(na,e),()=>window.removeEventListener(na,e)},[]),VU(d),(0,Q.useEffect)(()=>{let e=e=>qi.getState().observe(e.detail);return window.addEventListener(Vg,e),()=>window.removeEventListener(Vg,e)},[]),(0,Q.useEffect)(()=>{a.setProjectContext(o?.name??null)},[o?.name,a.setProjectContext]),(0,Q.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,Q.useEffect)(()=>{if(a.status!==`active`||f||r)return;let e=e=>{e.key===`Escape`&&!e.defaultPrevented&&qi.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=U.getState();t.sidebarCollapsed&&t.toggleSidebar(),t.setSidebarActiveTab(e)}}function h(e){if(!o){a.setProjectContext(null);return}n();let t=Y.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=U.getState();e.sidebarCollapsed&&e.toggleSidebar(),window.setTimeout(()=>zU(`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=qi.getState();return t.status===`active`&&t.currentStep===`run`&&t.projectName===e&&J.getState().activeProject?.name===e};d(`Looking for README or package.json…`),UU(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:MU}})),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=zU(`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,$.jsx)(Qi,{onClose:()=>p(!1),onTryPalette:()=>{p(!1),l(!0),requestAnimationFrame(()=>of())}}):a.status===`dismissed`?null:a.status===`choosing`?(0,$.jsx)(IU,{projectName:o?.name}):(0,$.jsx)(BU,{collapsed:c,target:a.status===`active`&&a.currentStep?$i[a.currentStep]:void 0,children:(0,$.jsx)(Xi,{stepKey:a.status===`active`?a.currentStep??`project`:a.status,order:a.status===`finished`?100:a.status===`active`?ta(a.goal).indexOf(a.currentStep)+1:0,children:a.status===`active`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(RU,{collapsed:c,setCollapsed:l,onAction:g,onSettings:()=>{Ii(`ai-provider`),l(!0)}}),u&&!c&&(0,$.jsx)(`p`,{role:`status`,className:`px-4 pb-4 text-xs text-text-secondary`,children:u})]}):(0,$.jsxs)(`div`,{className:`p-5`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2 text-primary text-xs uppercase tracking-widest`,children:[(0,$.jsx)(qt,{className:`size-4`}),`Your first steps`]}),(0,$.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,$.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,$.jsx)(X,{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,$.jsx)(X,{variant:`ghost`,className:`w-full min-h-11 mt-1`,onClick:a.dismiss,children:a.status===`finished`?`Keep exploring`:`Maybe later`}),(0,$.jsx)(X,{variant:`link`,className:`w-full min-h-11`,onClick:()=>p(!0),children:`Quick orientation`})]})})})}var GU=(0,Q.lazy)(()=>W(()=>import(`./mobile-explorer-sheet-D7e-MM6m.js`).then(e=>({default:e.MobileExplorerSheet})),__vite__mapDeps([259,1,2,3,141,6,34,7,10,11,12,40,83,84,45,85,69,18,23,17,19,44,65,20,61,16,27,13,8,9,14,15,31,50]))),KU=(0,Q.lazy)(()=>W(()=>import(`./agent-session-sheet-B3VLD2H6.js`).then(e=>({default:e.AgentSessionSheet})),__vite__mapDeps([260,1,9,2,3,41,10,17,6,18,19,23]))),qU=(0,Q.lazy)(()=>W(()=>import(`./remote-desktop-mobile-sheet-bfKiSG0C.js`).then(e=>({default:e.RemoteDesktopMobileSheet})),__vite__mapDeps([261,1,9,2,3,7,8,10,11,6,12,13,14,15,16,146,23,24,18])));function JU(){let e=U(e=>e.minimalMode);lB();let[t,n]=(0,Q.useState)(`checking`),r=Pi(),[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(),[c,l]=(0,Q.useState)(!1);(0,Q.useEffect)(()=>{let e=e=>{let t=e.detail?.tab;t&&(s(t),a(!0))};return window.addEventListener($a,e),()=>window.removeEventListener($a,e)},[]);let[u,d]=(0,Q.useState)(()=>new Set([`__global__`]));Tj(),(0,Q.useEffect)(()=>{FL(),Ez()},[]);let f=U(e=>e.deviceName),p=J(e=>e.fetchProjects),m=U(e=>e.fetchServerInfo),h=J(e=>e.activeProject),g=(0,Q.useRef)(AC());(0,Q.useEffect)(()=>{m()},[m,t===`authenticated`]),(0,Q.useEffect)(()=>{async function e(){let e=Xn();try{let t={};e&&(t.Authorization=`Bearer ${e}`),(await(await fetch(`/api/auth/check`,{headers:t})).json()).ok?(await m(),n(`authenticated`)):n(`unauthenticated`)}catch{n(`unauthenticated`)}}e()},[]),LC();let{paletteOpen:_,paletteInitialQuery:v,closePalette:y}=sf();Qz(),tB(),VB(),WB(t===`authenticated`),mU(t===`authenticated`&&!e),IB(t===`authenticated`,h?.name),cB(t===`authenticated`&&!e),SB(t===`authenticated`&&!e),(0,Q.useEffect)(()=>{if(t!==`authenticated`)return;let e=e=>{wU()||e.preventDefault()};return window.addEventListener(`beforeunload`,e),()=>window.removeEventListener(`beforeunload`,e)},[t]),(0,Q.useEffect)(()=>{t===`authenticated`&&(W(async()=>{let{useKeybindingsStore:e}=await import(`./keybindings-store-D_U8jECl.js`);return{useKeybindingsStore:e}},__vite__mapDeps([262,2,1,3,7])).then(({useKeybindingsStore:e})=>{e.getState().loadFromServer()}),J.getState().hydrateUiPrefs())},[t]),(0,Q.useEffect)(()=>{if(t!==`authenticated`)return;let e=g.current,n=Qn();n&&(!e.projectName||e.projectName===n.name)&&$n(n)},[t]),(0,Q.useEffect)(()=>{t===`authenticated`&&p().then(async()=>{let e=g.current,{projects:t,customOrder:n}=J.getState();if(t.length===0)return;let r=e.projectName?t.find(t=>t.name===e.projectName):void 0;if(r||=ei(t,n)[0],r&&(await yr(r.name),J.getState().setActiveProject(r),Y.getState().switchProject(r.name),e.tabType&&(!U.getState().minimalMode||I(e.tabType))&&IC(e.tabType,e.tabIdentifier,r.name),e.openChat)){IC(`chat`,e.openChat,r.name);let t=new URL(window.location.href);t.searchParams.delete(`openChat`),window.history.replaceState(null,``,t.pathname)}})},[t,p]),(0,Q.useEffect)(()=>{let e=h?.name??`__global__`,t=!1;return(async()=>{e!==`__global__`&&!localStorage.getItem(`ppm-panels-${e}`)&&(await yr(e),t)||Y.getState().switchProject(e)})(),()=>{t=!0}},[h?.name]),(0,Q.useEffect)(()=>{t!==`authenticated`||!h?.name||W(async()=>{let{useNotificationStore:e}=await import(`./notification-store-GKweleCQ.js`);return{useNotificationStore:e}},__vite__mapDeps([263,2,1,3,7])).then(({useNotificationStore:e})=>{e.getState().loadFromServer(h.name)})},[t,h?.name]),(0,Q.useEffect)(()=>{let e=h?.name??`__global__`;d(t=>t.has(e)?t:new Set([...t,e]))},[h?.name]),(0,Q.useEffect)(()=>{t===`authenticated`&&!h&&Y.getState().switchProject(`__global__`)},[t,h]);let b=(0,Q.useCallback)(()=>{n(`authenticated`)},[]);if(t===`checking`)return(0,$.jsx)(`div`,{className:`app-backdrop min-h-dvh flex items-center justify-center`,children:(0,$.jsx)(`div`,{className:`animate-pulse text-text-secondary text-sm`,children:`Loading...`})});if(t===`unauthenticated`)return(0,$.jsx)(wj,{onSuccess:b});let x=h?.name??`__global__`;return(0,$.jsx)(Tc,{children:(0,$.jsxs)(`div`,{className:`app-backdrop h-dvh flex flex-col text-foreground overflow-hidden relative`,children:[!e&&(0,$.jsxs)($.Fragment,{children:[(0,$.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,$.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`})}),f&&(0,$.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:f}),(0,$.jsx)(wD,{})]}),(0,$.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[!r&&(0,$.jsx)(pE,{}),(0,$.jsxs)(`div`,{className:`relative flex-1 flex flex-col overflow-hidden`,children:[[...u].map(e=>(0,$.jsx)(`div`,{className:G(`flex-1 overflow-hidden pb-12 md:pb-0`,x!==e&&`hidden`),children:(0,$.jsx)(Qp,{projectName:e})},e)),(0,$.jsx)(Ap,{}),!e&&(0,$.jsx)(iO,{}),(0,$.jsx)(VA,{})]})]}),(0,$.jsx)(YA,{onMenuPress:()=>a(!0),onProjectsPress:()=>l(!0)}),(0,$.jsx)(aj,{isOpen:i,onClose:()=>{a(!1),s(void 0)},initialTab:o}),(0,$.jsx)(oj,{isOpen:c,onClose:()=>l(!1)}),!e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(WU,{paletteOpen:_,navigationOpen:i||c,openProjects:()=>l(!0),openNavigation:e=>{s(e),a(!0)},closeNavigation:()=>{a(!1),l(!1)}}),(0,$.jsx)(FV,{open:_,onClose:y,initialQuery:v}),(0,$.jsx)(LV,{}),(0,$.jsx)(QV,{}),(0,$.jsx)(rH,{}),(0,$.jsx)(lH,{}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(GU,{})}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(qU,{})}),(0,$.jsx)(AH,{})]}),(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(KU,{})}),(0,$.jsx)(eH,{}),(0,$.jsx)(zH,{}),(0,$.jsx)(JH,{}),(0,$.jsx)($H,{}),!e&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(iU,{}),(0,$.jsx)(oU,{})]}),(0,$.jsx)(rU,{}),!e&&(0,$.jsx)(xU,{}),(0,$.jsx)(Cc,{position:r?`top-center`:`bottom-left`,closeButton:!0,toastOptions:{className:`bg-surface border-border text-foreground`}})]})})}var YU={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`},XU={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`},ZU={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`},QU={marginTop:`16px`,maxHeight:`8lh`,overflow:`auto`,color:`var(--text-2, #9aa6c2)`,fontFamily:`ui-monospace, monospace`,fontSize:`13px`,whiteSpace:`pre-wrap`,wordBreak:`break-word`},$U=class extends Q.Component{state={error:null,stale:!1};static getDerivedStateFromError(e){return{error:e,stale:EU(e)}}componentDidCatch(e,t){oc(EU(e)?`chunk_error`:`render_error`,e,{componentStack:t.componentStack??void 0}),console.error(`[ppm] unhandled render error`,e,t.componentStack)}render(){let{error:e,stale:t}=this.state;return e?(0,$.jsx)(`div`,{style:YU,children:(0,$.jsxs)(`div`,{style:XU,role:`alert`,children:[(0,$.jsx)(`h1`,{style:{margin:0,fontSize:`18px`,fontWeight:600},children:t?`PPM has been updated`:`Something went wrong`}),(0,$.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,$.jsx)(`div`,{style:QU,children:e.message}),(0,$.jsx)(`button`,{type:`button`,style:ZU,onClick:()=>void OU(),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,AU(),ac(()=>{let{tabs:e,activeTabId:t}=Y.getState();return $r(e.find(e=>e.id===t))??null}),(0,Sc.createRoot)(document.getElementById(`root`)).render((0,$.jsx)(Q.StrictMode,{children:(0,$.jsx)($U,{children:(0,$.jsx)(JU,{})})}));export{Tz as $,hc as $i,_b as $n,Xh as $r,fT as $t,pV as A,Jd as Ai,NS as An,N_ as Ar,YT as At,jB as B,Au as Bi,yS as Bn,Hg as Br,OT as Bt,TV as C,of as Ci,dC as Cn,nv as Cr,WT as Ct,uV as D,Yd as Di,sC as Dn,Q_ as Dr,BT as Dt,yV as E,$d as Ei,mC as En,$_ as Er,qT as Et,mV as F,Xu as Fi,OS as Fn,c_ as Fr,jT as Ft,Dz as G,Cu as Gi,Ex as Gn,bg as Gr,IT as Gt,TB as H,Pu as Hi,qx as Hn,Dg as Hr,xT as Ht,nV as I,Wu as Ii,DS as In,d_ as Ir,FT as It,Mz as J,vu as Ji,cx as Jn,rg as Jr,lT as Jt,zz as K,hu as Ki,Dx as Kn,_g as Kr,DT as Kt,tV as L,Uu as Li,TS as Ln,n_ as Lr,LT as Lt,cV as M,td as Mi,AS as Mn,__ as Mr,GT as Mt,dV as N,id as Ni,kS as Nn,h_ as Nr,AT as Nt,fV as O,Qd as Oi,GS as On,X_ as Or,RT as Ot,hV as P,rd as Pi,ES as Pn,qg as Pr,wT as Pt,_z as Q,_c as Qi,ix as Qn,Qh as Qr,pT as Qt,qB as R,Fu as Ri,CS as Rn,e_ as Rr,ET as Rt,RV as S,_f as Si,hC as Sn,Tv as Sr,HT as St,bV as T,Kd as Ti,uC as Tn,tv as Tr,zT as Tt,hB as U,Mu as Ui,Ux as Un,Eg as Ur,MT as Ut,AB as V,Nu as Vi,pS as Vn,Fg as Vr,ST as Vt,$z as W,ju as Wi,jx as Wn,xg as Wr,kT as Wt,Rz as X,Oc as Xi,sx as Xn,$h as Xr,sT as Xt,Lz as Y,Ec as Yi,lx as Yn,ng as Yr,uT as Yt,Nz as Z,Dc as Zi,ox as Zn,eg as Zr,gT as Zt,HV as _,vp as _i,vC as _n,Hv as _r,GE as _t,EH as a,yh as ai,nT as an,vy as ar,AL as at,WV as b,ep as bi,aC as bn,Nv as br,UE as bt,pH as c,Jm as ci,Zw as cn,ly as cr,VP as ct,sH as d,jm as di,Xw as dn,py as dr,mj as dt,pc as ea,Nh as ei,cT as en,hb as er,uz as et,oH as f,sm as fi,eT as fn,oy as fr,TO as ft,zV as g,Tp as gi,YC as gn,Vv as gr,WE as gt,BV as h,Lp as hi,tw as hn,Jv as hr,YE as ht,kH as i,xh as ii,aT as in,Ay as ir,TL as it,gV as j,nf as ji,MS as jn,k_ as jr,UT as jt,lV as k,Zd as ki,PS as kn,Z_ as kr,JT as kt,mH as l,Hm as li,Yw as ln,cy as lr,zP as lt,GV as m,Mp as mi,aw as mn,ry as mr,cD as mt,WH as n,Ah as ni,_T as nn,pb as nr,jL as nt,TH as o,Xm as oi,rT as on,_y as or,kL as ot,YV as p,Ip as pi,Lw as pn,ny as pr,ED as pt,Iz as q,xu as qi,ax as qn,sg as qr,dT as qt,jH as r,Sh as ri,oT as rn,sb as rr,CL as rt,wH as s,Zm as si,iT as sn,fy as sr,rI as st,XH as t,jh as ti,hT as tn,mb as tr,az as tt,uH as u,Pm as ui,tT as un,sy as ur,yj as ut,UV as v,rp as vi,pC as vn,Dv as vr,HE as vt,vV as w,rf as wi,lC as wn,ev as wr,KT as wt,VV as x,Wf as xi,gC as xn,Av as xr,LE as xt,KV as y,Qf as yi,cC as yn,Fv as yr,KE as yt,NB as z,Ou as zi,wS as zn,Ug as zr,PT as zt};
|