@hienlh/ppm 0.22.0 → 0.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/CLAUDE.md +1 -1
- package/assets/skills/ppm/SKILL.md +1 -1
- package/assets/skills/ppm/references/cli-reference.md +4 -4
- package/assets/skills/ppm/references/http-api.md +1 -1
- package/dist/web/assets/accounts-settings-section-D3BylchP.js +1 -0
- package/dist/web/assets/{ai-resource-editor-CdDpOwjh.js → ai-resource-editor-BLPcnhTM.js} +1 -1
- package/dist/web/assets/{ai-settings-section-X2UOfSaS.js → ai-settings-section-BtR7rF-T.js} +1 -1
- package/dist/web/assets/{ai-settings-section-B1hQyjAd.js → ai-settings-section-r9JctHNM.js} +1 -1
- package/dist/web/assets/{appearance-settings-section-DLoPK0LD.js → appearance-settings-section-CiMdk3sb.js} +1 -1
- package/dist/web/assets/{branch-review-tab-G84Ojzae.js → branch-review-tab-B1pFjlKM.js} +1 -1
- package/dist/web/assets/chat-tab-DZagX06m.js +15 -0
- package/dist/web/assets/{code-editor-D04iUPsZ.js → code-editor-BJhOEsnZ.js} +4 -4
- package/dist/web/assets/{codex-daily-guard-BSccLRGT.js → codex-daily-guard-CaCQJ4r_.js} +1 -1
- package/dist/web/assets/{conflict-editor-C4ay676e.js → conflict-editor-B7u_p49h.js} +3 -3
- package/dist/web/assets/{csv-preview-DbwEmG7o.js → csv-preview-CttjJU1e.js} +1 -1
- package/dist/web/assets/{database-viewer-S6LsALjX.js → database-viewer-Ca4HxIfx.js} +1 -1
- package/dist/web/assets/{diff-viewer-3oBA7vgQ.js → diff-viewer-9-XjLIwa.js} +1 -1
- package/dist/web/assets/{editor-language-service-DJmaKVY0.js → editor-language-service-D0DuEOs_.js} +1 -1
- package/dist/web/assets/{explorer-body-BQ0jyAGv.js → explorer-body-VdCBqcZu.js} +2 -2
- package/dist/web/assets/{explorer-window-content-jdkWt34J.js → explorer-window-content-BIsbl7Th.js} +1 -1
- package/dist/web/assets/extension-manager-section-HkY7geS5.js +1 -0
- package/dist/web/assets/{extension-webview-BGSDUbdK.js → extension-webview-DZG8YHX9.js} +1 -1
- package/dist/web/assets/{files-settings-section-Gnyd7han.js → files-settings-section-qnRtkX05.js} +1 -1
- package/dist/web/assets/{general-settings-section-V6Khh15V.js → general-settings-section-BAFSZmCE.js} +1 -1
- package/dist/web/assets/{git-log-panel-Bi513qjT.js → git-log-panel-2sGpfEla.js} +1 -1
- package/dist/web/assets/{glide-data-grid-DnQwYSmQ.js → glide-data-grid-f0hyITiF.js} +1 -1
- package/dist/web/assets/{group-chat-tab-DpczdwyV.js → group-chat-tab-Ck6sk7yY.js} +1 -1
- package/dist/web/assets/index-CEZVxM4G.js +52 -0
- package/dist/web/assets/{jira-watcher-section-f2HUbGDY.js → jira-watcher-section-CeLmhvu1.js} +1 -1
- package/dist/web/assets/keybindings-store-C_3ChOEf.js +1 -0
- package/dist/web/assets/{keyboard-shortcuts-section-BpvVEw_Y.js → keyboard-shortcuts-section-PVz6kuh2.js} +1 -1
- package/dist/web/assets/markdown-renderer-C140Ijk0.js +3 -0
- package/dist/web/assets/{markdown-renderer-Bcaf9_bA.js → markdown-renderer-Dz7-DYUg.js} +1 -1
- package/dist/web/assets/{mobile-explorer-sheet-Bol3XAO1.js → mobile-explorer-sheet-CUG_owdf.js} +1 -1
- package/dist/web/assets/notification-store-6vib1ISy.js +1 -0
- package/dist/web/assets/{ppmbot-settings-section-DKJUA3Kq.js → ppmbot-settings-section-Cji-Mil-.js} +1 -1
- package/dist/web/assets/{problems-panel-CFcoUx8h.js → problems-panel-a6_hrWvl.js} +1 -1
- package/dist/web/assets/{process-table-EKr2dqG6.js → process-table-CiIqlOIK.js} +1 -1
- package/dist/web/assets/{proxy-settings-section-B7qRVl8w.js → proxy-settings-section-BjI4IFgp.js} +1 -1
- package/dist/web/assets/{remote-desktop-clipboard-notice-0WDYsyCA.js → remote-desktop-clipboard-notice-eXYvwgx7.js} +1 -1
- package/dist/web/assets/{remote-desktop-mobile-sheet-COYDg16H.js → remote-desktop-mobile-sheet-Doh-fci-.js} +2 -2
- package/dist/web/assets/{remote-desktop-mobile-view-2DqSuS2U.js → remote-desktop-mobile-view-Dt8Akc3p.js} +1 -1
- package/dist/web/assets/{remote-desktop-readiness-gate-Dm_qMJMH.js → remote-desktop-readiness-gate-t83fqbID.js} +1 -1
- package/dist/web/assets/{remote-desktop-window-content-UodhsF7W.js → remote-desktop-window-content-CguhZMmx.js} +1 -1
- package/dist/web/assets/{schedules-settings-section-bG2lYfGv.js → schedules-settings-section-BVkpW5ms.js} +1 -1
- package/dist/web/assets/{settings-body-C06bFarv.js → settings-body-CoIxYAh6.js} +2 -2
- package/dist/web/assets/{settings-tab-34RSaASd.js → settings-tab-7DKVUTbM.js} +1 -1
- package/dist/web/assets/{settings-window-content-Dr_2lmHH.js → settings-window-content-3_39TeX-.js} +1 -1
- package/dist/web/assets/{sql-query-editor-BgRH0cHD.js → sql-query-editor-CQB7Yp7U.js} +1 -1
- package/dist/web/assets/{sqlite-viewer-DUxGslpa.js → sqlite-viewer-Bd7rjr1D.js} +1 -1
- package/dist/web/assets/{system-monitor-body-IZuLn7Qh.js → system-monitor-body-DsRXeMyU.js} +2 -2
- package/dist/web/assets/{system-monitor-tab-DiSA490Z.js → system-monitor-tab-DdSZgux3.js} +1 -1
- package/dist/web/assets/{system-monitor-window-content-CEaFISgj.js → system-monitor-window-content-ClPo4-El.js} +1 -1
- package/dist/web/assets/{tab-host-window-content-D0TN8Wrq.js → tab-host-window-content-d2TAD4PU.js} +1 -1
- package/dist/web/assets/{team-member-sheet-DDPNcCjd.js → team-member-sheet-7d2Qp-ie.js} +2 -2
- package/dist/web/assets/{team-member-window-content-DCiW_1-E.js → team-member-window-content-Bctg2gmg.js} +1 -1
- package/dist/web/assets/{terminal-tab-4ypP0NDY.js → terminal-tab-0HQic25V.js} +3 -3
- package/dist/web/assets/{tool-cards-Dd6E7Q3k.js → tool-cards-CmLLRACd.js} +2 -2
- package/dist/web/assets/{use-inline-blame-vrfFHuaR.js → use-inline-blame-sDMjcz1-.js} +3 -3
- package/dist/web/assets/{use-lsp-CsuZu49X.js → use-lsp-CBgID-EU.js} +1 -1
- package/dist/web/assets/{use-monaco-theme-BIVYJBIn.js → use-monaco-theme-gvhJ_jZh.js} +1 -1
- package/dist/web/assets/{use-websocket-BMbufhX7.js → use-websocket-C9wlRliB.js} +1 -1
- package/dist/web/assets/{video-preview-Byj8P_jA.js → video-preview-CSDK5j6H.js} +1 -1
- package/dist/web/index.html +1 -1
- package/dist/web/sw.js +1 -1
- package/docs/architecture/ai-chat-and-providers.md +9 -0
- package/package.json +1 -1
- package/packages/ext-git-graph/src/webview-html.test.ts +30 -5
- package/packages/ext-git-graph/src/webview-html.ts +99 -31
- package/src/services/edge-forwarder.ts +191 -191
- package/src/services/windows-process-tree.ts +351 -351
- package/src/shared/codex-daily-guard.ts +12 -5
- package/src/web/components/extensions/extension-tree-view.tsx +4 -11
- package/src/web/components/layout/command-palette.tsx +2 -18
- package/src/web/components/settings/accounts/account-card.tsx +2 -2
- package/src/web/components/settings/accounts/codex-accounts-section.tsx +4 -4
- package/src/web/components/settings/extension-manager-section.tsx +8 -1
- package/src/web/lib/extension-icons.ts +70 -0
- package/src/web/lib/tab-type-icons.ts +14 -0
- package/dist/web/assets/accounts-settings-section-BVr9-FZJ.js +0 -1
- package/dist/web/assets/chat-tab-DQJfjm8E.js +0 -15
- package/dist/web/assets/extension-manager-section-DG1guILi.js +0 -1
- package/dist/web/assets/index-DU68xk06.js +0 -52
- package/dist/web/assets/keybindings-store-DCRsnKg5.js +0 -1
- package/dist/web/assets/markdown-renderer-DGJp8HC3.js +0 -3
- package/dist/web/assets/notification-store-BXt54VIn.js +0 -1
- package/packages/vscode-compat/node_modules/.bin/tsc.bunx +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsc.exe +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsserver.bunx +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsserver.exe +0 -0
- package/src/web/hooks/use-delayed-flag.ts +0 -35
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-tab-0HQic25V.js","assets/rolldown-runtime-FhOqtrmT.js","assets/vendor-mermaid-BitiXJlL.js","assets/vendor-ui-DmZ-Mb-H.js","assets/vendor-markdown-CuWCHIVb.js","assets/vendor-xterm-BHEY6Ctu.js","assets/vendor-xterm-DkTCHfhq.css","assets/utils-Bmf_8h7Y.js","assets/api-client-C1ZwRL4Y.js","assets/settings-store-krC6bc79.js","assets/react-Bghu0NUO.js","assets/window-store-UC1jJeLM.js","assets/mobile-bottom-sheet-C3TniEP-.js","assets/portal-container-context-BarKmT4S.js","assets/use-visual-viewport-Lp878uzs.js","assets/editor-font-ClTC9gaD.js","assets/icons-DQjqk0lJ.js","assets/run-in-terminal-CdefEe_R.js","assets/panel-store-CboGJAwh.js","assets/send-to-chat-F207yH3u.js","assets/ws-auth-CEYVQ8NH.js","assets/apply-theme-CbR31K6I.js","assets/resolve-theme-B_ukrg_8.js","assets/chat-tab-DZagX06m.js","assets/button-B9CTrsEf.js","assets/libesm-CPh1Av0r.js","assets/createLucideIcon-DoiEKeJ_.js","assets/tool-cards-CmLLRACd.js","assets/image-preview-geometry-9lgeLYB3.js","assets/use-blob-url-CPtCcY3i.js","assets/image-gallery-CGvlv8zR.js","assets/tab-store-OJa1GPCq.js","assets/codex-daily-guard-CaCQJ4r_.js","assets/api-settings-_7Q-ULxp.js","assets/use-open-team-member-C3mrUzIC.js","assets/use-is-mobile-TkcwP1Gx.js","assets/file-store-ojgMXgAw.js","assets/ai-settings-section-r9JctHNM.js","assets/input-C7Q8FxeL.js","assets/context-menu-C6pIsf83.js","assets/dialog-B84_DJQ8.js","assets/use-websocket-C9wlRliB.js","assets/project-store-B87hLRSk.js","assets/project-framework-store-B70Q3dNM.js","assets/streaming-store-BYukdB56.js","assets/code-editor-BJhOEsnZ.js","assets/glide-data-grid-f0hyITiF.js","assets/dist-Czq7BUMy.js","assets/data-grid-types-C5bthITf.js","assets/csv-parser-_oDBUkwQ.js","assets/use-monaco-theme-gvhJ_jZh.js","assets/glide-data-grid-nthEL3fk.css","assets/use-inline-blame-sDMjcz1-.js","assets/can-open-in-ppm-cv5--yHX.js","assets/format-file-meta-C77h04cZ.js","assets/scroll-area-BzeiOd-B.js","assets/file-icons-BXdvggK2.js","assets/git-repo-store-88Z8v-pF.js","assets/monaco-dotenv-language-uB-wok6C.js","assets/database-viewer-Ca4HxIfx.js","assets/sql-query-editor-CQB7Yp7U.js","assets/sqlite-viewer-Bd7rjr1D.js","assets/postgres-viewer-8ZAqEALv.js","assets/dist-Bjseolz4.js","assets/lib-CD6pOS4u.js","assets/diff-viewer-9-XjLIwa.js","assets/branch-review-tab-B1pFjlKM.js","assets/settings-tab-7DKVUTbM.js","assets/settings-body-CoIxYAh6.js","assets/separator-TRMsJUYe.js","assets/extension-webview-DZG8YHX9.js","assets/conflict-editor-B7u_p49h.js","assets/system-monitor-tab-DdSZgux3.js","assets/system-monitor-body-DsRXeMyU.js","assets/git-log-panel-2sGpfEla.js","assets/ai-resource-editor-BLPcnhTM.js","assets/group-chat-tab-Ck6sk7yY.js","assets/markdown-renderer-C140Ijk0.js","assets/problems-panel-a6_hrWvl.js","assets/explorer-window-content-BIsbl7Th.js","assets/explorer-body-VdCBqcZu.js","assets/window-pip-registry-yD6esSju.js","assets/team-member-window-content-Bctg2gmg.js","assets/system-monitor-window-content-ClPo4-El.js","assets/tab-host-window-content-d2TAD4PU.js","assets/remote-desktop-window-content-CguhZMmx.js","assets/remote-desktop-clipboard-notice-eXYvwgx7.js","assets/remote-desktop-readiness-gate-t83fqbID.js","assets/settings-window-content-3_39TeX-.js","assets/angular-html-G66FNlyn.js","assets/html-Cayj_2GP.js","assets/css-D4YoLYGn.js","assets/javascript-Cjq3CbRL.js","assets/angular-ts-B-PnUMyt.js","assets/scss-ITL7jQ1f.js","assets/apl-BmDqqwE8.js","assets/json-BSVu8IqD.js","assets/xml-dxkLNA0K.js","assets/java-Buy07jGn.js","assets/astro-BfwMNfxr.js","assets/postcss-Dv_YBvWd.js","assets/tsx-DF8YeRgG.js","assets/typescript-CAVD2Wb6.js","assets/blade-BsFV4pnN.js","assets/html-derivative-Weq79bL6.js","assets/sql-ChpxvmdY.js","assets/bsl-Cw9Outng.js","assets/sdbl-C0Ygk0n6.js","assets/c-CuLlvxbG.js","assets/cairo-DOK5Wqnd.js","assets/python-BURpj-fq.js","assets/cobol-DRaRy4FK.js","assets/coffee-DvXuBmEJ.js","assets/cpp-zCmm8rKA.js","assets/glsl-BcIDsxRJ.js","assets/regexp-CT6BLG2C.js","assets/crystal-CdQx6lB6.js","assets/shellscript-C2CvhqMk.js","assets/edge-E8QLt7oi.js","assets/elixir-DPb_-72P.js","assets/elm-BMzJY5b0.js","assets/erb-AABQNtMK.js","assets/ruby-C6EpUsTY.js","assets/graphql-DGKSLmGH.js","assets/jsx-BT5mW58X.js","assets/haml-DjblxAsz.js","assets/lua-DNOsnyhn.js","assets/yaml-CEYYTQPm.js","assets/erlang-CEIKOkfP.js","assets/markdown-CmRnbngE.js","assets/fortran-fixed-form-CrXvLHyi.js","assets/fortran-free-form-tP8mRym_.js","assets/fsharp-DCI4qAz_.js","assets/gdresource-Vb2kO1MG.js","assets/gdscript-nHC2z6Te.js","assets/gdshader-K-cSmPlW.js","assets/git-commit-BMI_OWn-.js","assets/diff-Qi8WuJsI.js","assets/git-rebase-D-d_2iqZ.js","assets/glimmer-js-BmNNiR0Z.js","assets/glimmer-ts-DQE2Ufha.js","assets/hack-YiC8bEIb.js","assets/handlebars-BQepOXaU.js","assets/http-BeLfdGdz.js","assets/hurl-D9rypCLK.js","assets/csv-C2v-ZakW.js","assets/hxml-clG8mmSH.js","assets/haxe-V9RTRc5E.js","assets/jinja-BShBWfs5.js","assets/jison-dN2Nf_Dr.js","assets/julia-5U0vR-uJ.js","assets/r-K56BeS-s.js","assets/just-BMppVRy6.js","assets/perl-D9iNWYwb.js","assets/latex-DSSOKjis.js","assets/tex-BcssM-QA.js","assets/liquid-C24dKoyI.js","assets/marko-26MHO_Q9.js","assets/less-CqM85x-9.js","assets/mdc-Dhw9mGrC.js","assets/nextflow-xH4oJTex.js","assets/nextflow-groovy-C4VY3kNY.js","assets/nginx-CMz4w0M8.js","assets/nim-D8FnIYsx.js","assets/php-Bw3Qo0Zv.js","assets/pug-fT5JC6Vm.js","assets/qml-P_wEDB1w.js","assets/razor-Drrt2_Ph.js","assets/csharp-4xAIx3jw.js","assets/rst-Dr2mW4-h.js","assets/cmake-CtvCkMsG.js","assets/sas-D8ZEeP6v.js","assets/shaderlab-mW-IIlhk.js","assets/hlsl-BB85gfJT.js","assets/shellsession-DhNl5STt.js","assets/soy-SdY0Qjtr.js","assets/sparql-ftqZo2i-.js","assets/turtle-Bhx1GlIy.js","assets/stata-Bj7Yjb4b.js","assets/surrealql-CLhYGAfB.js","assets/svelte-DTAlRHhK.js","assets/templ-BMfhACxb.js","assets/go-H30c3p0C.js","assets/ts-tags-CrR5IYI8.js","assets/twig-DchfUmyI.js","assets/vue-1EL6Pw1h.js","assets/vue-html-BPQNwPC6.js","assets/vue-vine-Bb_dsWLt.js","assets/stylus-DDihP0_W.js","assets/xsl-Bw2adwrl.js","assets/mobile-explorer-sheet-CUG_owdf.js","assets/team-member-sheet-7d2Qp-ie.js","assets/remote-desktop-mobile-sheet-Doh-fci-.js","assets/keybindings-store-C_3ChOEf.js","assets/notification-store-6vib1ISy.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{o as e,r as t,t as n}from"./rolldown-runtime-FhOqtrmT.js";import{C as r,S as i,_ as a,b as o,g as s,h as c,v as l,x as u,y as d}from"./vendor-markdown-CuWCHIVb.js";import{B as f,C as p,F as m,G as h,H as g,I as _,L as v,M as y,N as b,P as x,R as S,S as C,T as w,U as T,V as E,W as D,_ as O,a as k,b as A,d as j,f as ee,g as te,h as M,i as N,j as ne,m as re,n as ie,o as ae,pt as oe,r as se,t as P,v as ce,w as le,x as ue,y as de,z as fe}from"./vendor-ui-DmZ-Mb-H.js";import{$n as pe,A as me,B as he,Bn as ge,Br as _e,Bt as ve,C as ye,Cn as be,D as xe,Dn as Se,Dr as Ce,Dt as we,Er as Te,Et as Ee,Fn as De,Ft as Oe,Gn as ke,H as Ae,Hn as je,Ht as Me,I as Ne,In as Pe,It as Fe,J as Ie,Jt as Le,Kn as Re,Kr as ze,L as Be,Ln as Ve,Lt as He,M as Ue,Mn as We,N as Ge,Nn as Ke,Nr as qe,Nt as Je,O as Ye,On as Xe,Or as Ze,Ot as Qe,P as $e,Pn as et,Pt as tt,Q as nt,Qn as rt,Qt as it,R as at,Rr as ot,Sn as st,Sr as ct,St as lt,T as ut,Tn as dt,U as ft,Un as pt,Ur as mt,Ut as ht,W as gt,Wn as _t,Wr as vt,Wt as yt,Xn as bt,Y as xt,Yn as St,Yt as Ct,_n as wt,_r as Tt,_t as Et,a as Dt,at as Ot,br as kt,c as At,cr as jt,ct as Mt,d as Nt,dn as Pt,dt as Ft,er as It,et as Lt,f as Rt,fr as zt,ft as Bt,g as Vt,gn as Ht,gr as Ut,h as Wt,hn as Gt,hr as Kt,i as qt,in as Jt,ir as Yt,it as Xt,j as Zt,jt as Qt,k as $t,kn as en,kr as tn,l as nn,ln as F,lr as rn,lt as an,m as on,mr as sn,mt as cn,n as ln,nn as un,nt as dn,o as fn,on as pn,or as mn,pn as hn,pr as gn,q as _n,qn as vn,qr as yn,r as bn,rt as xn,s as Sn,sn as Cn,sr as wn,st as Tn,tn as En,un as Dn,ut as On,v as kn,vn as An,w as jn,wn as Mn,wr as Nn,wt as Pn,x as Fn,xr as In,y as Ln,yn as Rn,yr as zn,z as Bn,zr as Vn}from"./icons-DQjqk0lJ.js";import{t as Hn}from"./createLucideIcon-DoiEKeJ_.js";import{a as Un,i as I,n as L,o as Wn,r as Gn,s as R}from"./api-client-C1ZwRL4Y.js";import{t as Kn}from"./react-Bghu0NUO.js";import{t as z}from"./settings-store-krC6bc79.js";import{q as B}from"./vendor-mermaid-BitiXJlL.js";import{n as V,r as qn,t as Jn}from"./utils-Bmf_8h7Y.js";import{n as Yn,t as Xn}from"./portal-container-context-BarKmT4S.js";import{a as Zn,c as Qn,d as $n,f as er,i as tr,l as nr,n as rr,o as ir,p as ar,r as or,t as H,u as sr}from"./panel-store-CboGJAwh.js";import{a as cr,i as lr,n as ur,o as dr,r as fr,s as pr,t as mr}from"./window-store-UC1jJeLM.js";import{i as U,n as hr,r as gr,t as _r}from"./project-store-B87hLRSk.js";import"./project-framework-store-B70Q3dNM.js";import{t as W}from"./tab-store-OJa1GPCq.js";import{a as vr,c as yr,i as br,l as xr,n as Sr,o as Cr,r as wr,s as Tr,t as Er,u as Dr}from"./context-menu-C6pIsf83.js";import{a as Or,c as kr,i as Ar,l as jr,n as Mr,o as Nr,r as Pr,s as Fr,t as Ir}from"./file-store-ojgMXgAw.js";import{n as Lr,t as Rr}from"./use-is-mobile-TkcwP1Gx.js";import{a as zr,c as Br,i as Vr,l as Hr,n as Ur,o as Wr,r as Gr,s as Kr,t as qr,u as Jr}from"./git-repo-store-88Z8v-pF.js";import{n as Yr,t as Xr}from"./streaming-store-BYukdB56.js";import{n as Zr,r as Qr,t as $r}from"./apply-theme-CbR31K6I.js";import{a as ei,c as ti,i as ni,l as ri,n as ii,o as ai,r as oi,s as si,t as ci,u as li}from"./window-pip-registry-yD6esSju.js";import{a as ui,c as di,d as fi,f as pi,i as mi,l as hi,n as gi,o as _i,p as vi,r as yi,s as bi,t as xi,u as Si}from"./format-file-meta-C77h04cZ.js";import{t as G}from"./button-B9CTrsEf.js";import{a as Ci,i as wi,n as K,o as q,r as J,s as Ti,t as Ei}from"./dialog-B84_DJQ8.js";import{n as Di,t as Oi}from"./file-icons-BXdvggK2.js";import{a as ki,i as Ai,n as ji,o as Mi,r as Ni,t as Pi}from"./mobile-bottom-sheet-C3TniEP-.js";import{t as Fi}from"./use-visual-viewport-Lp878uzs.js";import{t as Ii}from"./input-C7Q8FxeL.js";import{t as Li}from"./scroll-area-BzeiOd-B.js";import{n as Ri,r as zi,t as Bi}from"./resolve-theme-B_ukrg_8.js";import{t as Vi}from"./ws-auth-CEYVQ8NH.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 Hi=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}}}})),Ui=n(((e,t)=>{t.exports=Hi()})),Wi=n((e=>{var t=Ui(),n=r(),i=oe();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 ee(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?ee(e.type)||`Memo`:t;case E:t=e._payload,e=e._init;try{return ee(e(t))}catch{}}return null}var te=Array.isArray,M=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,N=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ne={pending:!1,data:null,method:null,action:null},re=[],ie=-1;function ae(e){return{current:e}}function se(e){0>ie||(e.current=re[ie],re[ie]=null,ie--)}function P(e,t){ie++,re[ie]=e.current,e.current=t}var ce=ae(null),le=ae(null),ue=ae(null),de=ae(null);function fe(e,t){switch(P(ue,t),P(le,e),P(ce,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}}se(ce),P(ce,e)}function pe(){se(ce),se(le),se(ue)}function me(e){e.memoizedState!==null&&P(de,e);var t=ce.current,n=Hd(t,e.type);t!==n&&(P(le,e),P(ce,n))}function he(e){le.current===e&&(se(ce),se(le)),de.current===e&&(se(de),Qf._currentValue=ne)}var ge,_e;function ve(e){if(ge===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ge=t&&t[1]||``,_e=-1<e.stack.indexOf(`
|
|
3
|
+
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
4
|
+
`+ge+e+_e}var ye=!1;function be(e,t){if(!e||ye)return``;ye=!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
|
+
`),l=s.split(`
|
|
6
|
+
`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`
|
|
7
|
+
`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{ye=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?ve(n):``}function xe(e,t){switch(e.tag){case 26:case 27:case 5:return ve(e.type);case 16:return ve(`Lazy`);case 13:return e.child!==t&&t!==null?ve(`Suspense Fallback`):ve(`Suspense`);case 19:return ve(`SuspenseList`);case 0:case 15:return be(e.type,!1);case 11:return be(e.type.render,!1);case 1:return be(e.type,!0);case 31:return ve(`Activity`);default:return``}}function Se(e){try{var t=``,n=null;do t+=xe(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
|
|
8
|
+
Error generating stack: `+e.message+`
|
|
9
|
+
`+e.stack}}var Ce=Object.prototype.hasOwnProperty,we=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,Ee=t.unstable_shouldYield,De=t.unstable_requestPaint,Oe=t.unstable_now,ke=t.unstable_getCurrentPriorityLevel,Ae=t.unstable_ImmediatePriority,je=t.unstable_UserBlockingPriority,Me=t.unstable_NormalPriority,Ne=t.unstable_LowPriority,Pe=t.unstable_IdlePriority,Fe=t.log,Ie=t.unstable_setDisableYieldValue,Le=null,Re=null;function ze(e){if(typeof Fe==`function`&&Ie(e),Re&&typeof Re.setStrictMode==`function`)try{Re.setStrictMode(Le,e)}catch{}}var Be=Math.clz32?Math.clz32:Ue,Ve=Math.log,He=Math.LN2;function Ue(e){return e>>>=0,e===0?32:31-(Ve(e)/He|0)|0}var We=256,Ge=262144,Ke=4194304;function qe(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 Je(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=qe(n))):i=qe(o):i=qe(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=qe(n))):i=qe(o)):i=qe(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 Ye(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Xe(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 Ze(){var e=Ke;return Ke<<=1,!(Ke&62914560)&&(Ke=4194304),e}function Qe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function $e(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function et(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-Be(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&&tt(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function tt(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Be(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function nt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Be(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function rt(e,t){var n=t&-t;return n=n&42?1:it(n),(n&(e.suspendedLanes|t))===0?n:0}function it(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 at(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function ot(){var e=N.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function st(e,t){var n=N.p;try{return N.p=e,t()}finally{N.p=n}}var ct=Math.random().toString(36).slice(2),lt=`__reactFiber$`+ct,ut=`__reactProps$`+ct,dt=`__reactContainer$`+ct,ft=`__reactEvents$`+ct,pt=`__reactListeners$`+ct,mt=`__reactHandles$`+ct,ht=`__reactResources$`+ct,gt=`__reactMarker$`+ct;function _t(e){delete e[lt],delete e[ut],delete e[ft],delete e[pt],delete e[mt]}function vt(e){var t=e[lt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[dt]||n[lt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=df(e);e!==null;){if(n=e[lt])return n;e=df(e)}return t}e=n,n=e.parentNode}return null}function yt(e){if(e=e[lt]||e[dt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function bt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(a(33))}function xt(e){var t=e[ht];return t||=e[ht]={hoistableStyles:new Map,hoistableScripts:new Map},t}function St(e){e[gt]=!0}var Ct=new Set,wt={};function Tt(e,t){Et(e,t),Et(e+`Capture`,t)}function Et(e,t){for(wt[e]=t,e=0;e<t.length;e++)Ct.add(t[e])}var Dt=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]*$`),Ot={},kt={};function At(e){return Ce.call(kt,e)?!0:Ce.call(Ot,e)?!1:Dt.test(e)?kt[e]=!0:(Ot[e]=!0,!1)}function jt(e,t,n){if(At(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 Mt(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 Nt(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 Pt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Ft(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function It(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 Lt(e){if(!e._valueTracker){var t=Ft(e)?`checked`:`value`;e._valueTracker=It(e,t,``+e[t])}}function Rt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Ft(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function zt(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 Bt=/[\n"\\]/g;function Vt(e){return e.replace(Bt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Ht(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=``+Pt(t)):e.value!==``+Pt(t)&&(e.value=``+Pt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Wt(e,o,Pt(n)):Wt(e,o,Pt(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=``+Pt(s):e.removeAttribute(`name`)}function Ut(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)){Lt(e);return}n=n==null?``:``+Pt(n),t=t==null?n:``+Pt(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),Lt(e)}function Wt(e,t,n){t===`number`&&zt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Gt(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=``+Pt(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 Kt(e,t,n){if(t!=null&&(t=``+Pt(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Pt(n)}function qt(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(a(92));if(te(r)){if(1<r.length)throw Error(a(93));r=r[0]}n=r}n??=``,t=n}n=Pt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Lt(e)}function Jt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Yt=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 Xt(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||Yt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function Zt(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&&Xt(e,i,r)}else for(var o in t)t.hasOwnProperty(o)&&Xt(e,o,t[o])}function Qt(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 $t=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`]]),en=/^[\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 tn(e){return en.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function nn(){}var F=null;function rn(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var an=null,on=null;function sn(e){var t=yt(e);if(t&&(e=t.stateNode)){var n=e[ut]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Ht(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="`+Vt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[ut]||null;if(!i)throw Error(a(90));Ht(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&&Rt(r)}break a;case`textarea`:Kt(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Gt(e,!!n.multiple,t,!1)}}}var cn=!1;function ln(e,t,n){if(cn)return e(t,n);cn=!0;try{return e(t)}finally{if(cn=!1,(an!==null||on!==null)&&(vu(),an&&(t=an,e=on,on=an=null,sn(t),e)))for(t=0;t<e.length;t++)sn(e[t])}}function un(e,t){var n=e.stateNode;if(n===null)return null;var r=n[ut]||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 dn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),fn=!1;if(dn)try{var pn={};Object.defineProperty(pn,`passive`,{get:function(){fn=!0}}),window.addEventListener(`test`,pn,pn),window.removeEventListener(`test`,pn,pn)}catch{fn=!1}var mn=null,hn=null,gn=null;function _n(){if(gn)return gn;var e,t=hn,n=t.length,r,i=`value`in mn?mn.value:mn.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 gn=i.slice(e,1<r?1-r:void 0)}function vn(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 yn(){return!0}function bn(){return!1}function xn(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)?yn:bn,this.isPropagationStopped=bn,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=yn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=yn)},persist:function(){},isPersistent:yn}),t}var Sn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Cn=xn(Sn),wn=p({},Sn,{view:0,detail:0}),Tn=xn(wn),En,Dn,On,kn=p({},wn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Bn,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!==On&&(On&&e.type===`mousemove`?(En=e.screenX-On.screenX,Dn=e.screenY-On.screenY):Dn=En=0,On=e),En)},movementY:function(e){return`movementY`in e?e.movementY:Dn}}),An=xn(kn),jn=xn(p({},kn,{dataTransfer:0})),Mn=xn(p({},wn,{relatedTarget:0})),Nn=xn(p({},Sn,{animationName:0,elapsedTime:0,pseudoElement:0})),Pn=xn(p({},Sn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Fn=xn(p({},Sn,{data:0})),In={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Ln={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`},Rn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function zn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Rn[e])?!!t[e]:!1}function Bn(){return zn}var Vn=xn(p({},wn,{key:function(e){if(e.key){var t=In[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=vn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Ln[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Bn,charCode:function(e){return e.type===`keypress`?vn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?vn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Hn=xn(p({},kn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Un=xn(p({},wn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Bn})),I=xn(p({},Sn,{propertyName:0,elapsedTime:0,pseudoElement:0})),L=xn(p({},kn,{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})),Wn=xn(p({},Sn,{newState:0,oldState:0})),Gn=[9,13,27,32],R=dn&&`CompositionEvent`in window,Kn=null;dn&&`documentMode`in document&&(Kn=document.documentMode);var z=dn&&`TextEvent`in window&&!Kn,B=dn&&(!R||Kn&&8<Kn&&11>=Kn),V=` `,qn=!1;function Jn(e,t){switch(e){case`keyup`:return Gn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Yn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Xn=!1;function Zn(e,t){switch(e){case`compositionend`:return Yn(t);case`keypress`:return t.which===32?(qn=!0,V):null;case`textInput`:return e=t.data,e===V&&qn?null:e;default:return null}}function Qn(e,t){if(Xn)return e===`compositionend`||!R&&Jn(e,t)?(e=_n(),gn=hn=mn=null,Xn=!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 B&&t.locale!==`ko`?null:t.data;default:return null}}var $n={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 er(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!$n[e.type]:t===`textarea`}function tr(e,t,n,r){an?on?on.push(r):on=[r]:an=r,t=Td(t,`onChange`),0<t.length&&(n=new Cn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var nr=null,rr=null;function ir(e){_d(e,0)}function ar(e){if(Rt(bt(e)))return e}function or(e,t){if(e===`change`)return t}var H=!1;if(dn){var sr;if(dn){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;H=sr&&(!document.documentMode||9<document.documentMode)}function ur(){nr&&(nr.detachEvent(`onpropertychange`,dr),rr=nr=null)}function dr(e){if(e.propertyName===`value`&&ar(rr)){var t=[];tr(t,rr,e,rn(e)),ln(ir,t)}}function fr(e,t,n){e===`focusin`?(ur(),nr=t,rr=n,nr.attachEvent(`onpropertychange`,dr)):e===`focusout`&&ur()}function pr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return ar(rr)}function mr(e,t){if(e===`click`)return ar(t)}function U(e,t){if(e===`input`||e===`change`)return ar(t)}function hr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var gr=typeof Object.is==`function`?Object.is:hr;function _r(e,t){if(gr(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(!Ce.call(t,i)||!gr(e[i],t[i]))return!1}return!0}function W(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function vr(e,t){var n=W(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=W(n)}}function yr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?yr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function br(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=zt(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=zt(e.document)}return t}function xr(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 Sr=dn&&`documentMode`in document&&11>=document.documentMode,Cr=null,wr=null,Tr=null,Er=!1;function Dr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Er||Cr==null||Cr!==zt(r)||(r=Cr,`selectionStart`in r&&xr(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}),Tr&&_r(Tr,r)||(Tr=r,r=Td(wr,`onSelect`),0<r.length&&(t=new Cn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Cr)))}function Or(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var kr={animationend:Or(`Animation`,`AnimationEnd`),animationiteration:Or(`Animation`,`AnimationIteration`),animationstart:Or(`Animation`,`AnimationStart`),transitionrun:Or(`Transition`,`TransitionRun`),transitionstart:Or(`Transition`,`TransitionStart`),transitioncancel:Or(`Transition`,`TransitionCancel`),transitionend:Or(`Transition`,`TransitionEnd`)},Ar={},jr={};dn&&(jr=document.createElement(`div`).style,`AnimationEvent`in window||(delete kr.animationend.animation,delete kr.animationiteration.animation,delete kr.animationstart.animation),`TransitionEvent`in window||delete kr.transitionend.transition);function Mr(e){if(Ar[e])return Ar[e];if(!kr[e])return e;var t=kr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in jr)return Ar[e]=t[n];return e}var Nr=Mr(`animationend`),Pr=Mr(`animationiteration`),Fr=Mr(`animationstart`),Ir=Mr(`transitionrun`),Lr=Mr(`transitionstart`),Rr=Mr(`transitioncancel`),zr=Mr(`transitionend`),Br=new Map,Vr=`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(` `);Vr.push(`scrollEnd`);function Hr(e,t){Br.set(e,t),Tt(t,[e])}var Ur=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)},Wr=[],Gr=0,Kr=0;function qr(){for(var e=Gr,t=Kr=Gr=0;t<e;){var n=Wr[t];Wr[t++]=null;var r=Wr[t];Wr[t++]=null;var i=Wr[t];Wr[t++]=null;var a=Wr[t];if(Wr[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&&Zr(n,i,a)}}function Jr(e,t,n,r){Wr[Gr++]=e,Wr[Gr++]=t,Wr[Gr++]=n,Wr[Gr++]=r,Kr|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Yr(e,t,n,r){return Jr(e,t,n,r),Qr(e)}function Xr(e,t){return Jr(e,null,null,t),Qr(e)}function Zr(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-Be(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function Qr(e){if(50<lu)throw lu=0,uu=null,Error(a(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var $r={};function ei(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 ti(e,t,n,r){return new ei(e,t,n,r)}function ni(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ri(e,t){var n=e.alternate;return n===null?(n=ti(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 ii(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 ai(e,t,n,r,i,o){var s=0;if(r=e,typeof e==`function`)ni(e)&&(s=1);else if(typeof e==`string`)s=Uf(e,n,ce.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case D:return e=ti(31,n,t,i),e.elementType=D,e.lanes=o,e;case _:return oi(n.children,i,o,t);case v:s=8,i|=24;break;case y:return e=ti(12,n,t,i|2),e.elementType=y,e.lanes=o,e;case C:return e=ti(13,n,t,i),e.elementType=C,e.lanes=o,e;case w:return e=ti(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=ti(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function oi(e,t,n,r){return e=ti(7,e,r,t),e.lanes=n,e}function si(e,t,n){return e=ti(6,e,null,t),e.lanes=n,e}function ci(e){var t=ti(18,null,null,0);return t.stateNode=e,t}function li(e,t,n){return t=ti(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ui=new WeakMap;function di(e,t){if(typeof e==`object`&&e){var n=ui.get(e);return n===void 0?(t={value:e,source:t,stack:Se(t)},ui.set(e,t),t):n}return{value:e,source:t,stack:Se(t)}}var fi=[],pi=0,mi=null,hi=0,gi=[],_i=0,vi=null,yi=1,bi=``;function xi(e,t){fi[pi++]=hi,fi[pi++]=mi,mi=e,hi=t}function Si(e,t,n){gi[_i++]=yi,gi[_i++]=bi,gi[_i++]=vi,vi=e;var r=yi;e=bi;var i=32-Be(r)-1;r&=~(1<<i),n+=1;var a=32-Be(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,yi=1<<32-Be(t)+i|n<<i|r,bi=a+e}else yi=1<<a|n<<i|r,bi=e}function G(e){e.return!==null&&(xi(e,1),Si(e,1,0))}function Ci(e){for(;e===mi;)mi=fi[--pi],fi[pi]=null,hi=fi[--pi],fi[pi]=null;for(;e===vi;)vi=gi[--_i],gi[_i]=null,bi=gi[--_i],gi[_i]=null,yi=gi[--_i],gi[_i]=null}function wi(e,t){gi[_i++]=yi,gi[_i++]=bi,gi[_i++]=vi,yi=t.id,bi=t.overflow,vi=e}var K=null,q=null,J=!1,Ti=null,Ei=!1,Di=Error(a(519));function Oi(e){throw Pi(di(Error(a(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Di}function ki(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[lt]=e,t[ut]=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),Ut(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),qt(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=nn),t=!0):t=!1,t||Oi(e,!0)}function Ai(e){for(K=e.return;K;)switch(K.tag){case 5:case 31:case 13:Ei=!1;return;case 27:case 3:Ei=!0;return;default:K=K.return}}function ji(e){if(e!==K)return!1;if(!J)return Ai(e),J=!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&&q&&Oi(e),Ai(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));q=uf(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));q=uf(e)}else t===27?(t=q,Zd(e.type)?(e=lf,lf=null,q=e):q=t):q=K?cf(e.stateNode.nextSibling):null;return!0}function Mi(){q=K=null,J=!1}function Ni(){var e=Ti;return e!==null&&(Yl===null?Yl=e:Yl.push.apply(Yl,e),Ti=null),e}function Pi(e){Ti===null?Ti=[e]:Ti.push(e)}var Fi=ae(null),Ii=null,Li=null;function Ri(e,t,n){P(Fi,t._currentValue),t._currentValue=n}function zi(e){e._currentValue=Fi.current,se(Fi)}function Bi(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 Vi(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),Bi(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),Bi(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 Hi(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;gr(i.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(i===de.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&&Vi(t,e,n,r),t.flags|=262144}function Wi(e){for(e=e.firstContext;e!==null;){if(!gr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Gi(e){Ii=e,Li=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Ki(e){return Ji(Ii,e)}function qi(e,t){return Ii===null&&Gi(e),Ji(e,t)}function Ji(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Li===null){if(e===null)throw Error(a(308));Li=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Li=Li.next=t;return n}var Yi=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},Xi=t.unstable_scheduleCallback,Zi=t.unstable_NormalPriority,Qi={$$typeof:x,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function $i(){return{controller:new Yi,data:new Map,refCount:0}}function ea(e){e.refCount--,e.refCount===0&&Xi(Zi,function(){e.controller.abort()})}var ta=null,na=0,ra=0,Y=null;function X(e,t){if(ta===null){var n=ta=[];na=0,ra=ld(),Y={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return na++,t.then(ia,ia),t}function ia(){if(--na===0&&ta!==null){Y!==null&&(Y.status=`fulfilled`);var e=ta;ta=null,ra=0,Y=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=M.S;M.S=function(e,t){Ql=Oe(),typeof t==`object`&&t&&typeof t.then==`function`&&X(e,t),oa!==null&&oa(e,t)};var sa=ae(null);function ca(){var e=sa.current;return e===null?Pl.pooledCache:e}function la(e,t){t===null?P(sa,sa.current):P(sa,t.pool)}function ua(){var e=ca();return e===null?null:{parent:Qi._currentValue,pool:e}}var da=Error(a(460)),fa=Error(a(474)),pa=Error(a(542)),ma={then:function(){}};function ha(e){return e=e.status,e===`fulfilled`||e===`rejected`}function ga(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(nn,nn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,ba(e),e;default:if(typeof t.status==`string`)t.then(nn,nn);else{if(e=Pl,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,ba(e),e}throw va=t,da}}function _a(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(va=e,da):e}}var va=null;function ya(){if(va===null)throw Error(a(459));var e=va;return va=null,e}function ba(e){if(e===da||e===pa)throw Error(a(483))}var xa=null,Sa=0;function Ca(e){var t=Sa;return Sa+=1,xa===null&&(xa=[]),ga(xa,e,t)}function wa(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ta(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 Ea(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=ri(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=si(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&&_a(a)===t.type)?(t=i(t,n.props),wa(t,n),t.return=e,t):(t=ai(n.type,n.key,n.props,null,e.mode,r),wa(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=li(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=oi(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=si(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case h:return n=ai(t.type,t.key,t.props,null,e.mode,n),wa(n,t),n.return=e,n;case g:return t=li(t,e.mode,n),t.return=e,t;case E:return t=_a(t),f(e,t,n)}if(te(t)||A(t))return t=oi(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Ca(t),n);if(t.$$typeof===x)return f(e,qi(e,t),n);Ta(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=_a(n),p(e,t,n,r)}if(te(n)||A(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Ca(n),r);if(n.$$typeof===x)return p(e,t,qi(e,n),r);Ta(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=_a(r),m(e,t,n,r,i)}if(te(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,Ca(r),i);if(r.$$typeof===x)return m(e,t,n,qi(t,r),i);Ta(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),J&&xi(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 J&&xi(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)}),J&&xi(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),J&&xi(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 J&&xi(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)}),J&&xi(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&&_a(l)===r.type){n(e,r.sibling),c=i(r,o.props),wa(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===_?(c=oi(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=ai(o.type,o.key,o.props,null,e.mode,c),wa(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=li(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=_a(o),b(e,r,o,c)}if(te(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,Ca(o),c);if(o.$$typeof===x)return b(e,r,qi(e,o),c);Ta(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=si(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Sa=0;var i=b(e,t,n,r);return xa=null,i}catch(t){if(t===da||t===pa)throw t;var a=ti(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var Da=Ea(!0),Oa=Ea(!1),ka=!1;function Aa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ja(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 Ma(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Na(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Nl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Qr(e),Zr(e,null,n),t}return Jr(e,r,t,n),Qr(e)}function Pa(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,nt(e,n)}}function Fa(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 Ia=!1;function La(){if(Ia){var e=Y;if(e!==null)throw e}}function Ra(e,t,n,r){Ia=!1;var i=e.updateQueue;ka=!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?(Fl&f)===f:(r&f)===f){f!==0&&f===ra&&(Ia=!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:ka=!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),Ul|=o,e.lanes=o,e.memoizedState=d}}function za(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Ba(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)za(n[e],t)}var Va=ae(null),Ha=ae(0);function Ua(e,t){e=Vl,P(Ha,e),P(Va,t),Vl=e|t.baseLanes}function Wa(){P(Ha,Vl),P(Va,Va.current)}function Ga(){Vl=Ha.current,se(Va),se(Ha)}var Ka=ae(null),qa=null;function Ja(e){var t=e.alternate;P($a,$a.current&1),P(Ka,e),qa===null&&(t===null||Va.current!==null||t.memoizedState!==null)&&(qa=e)}function Ya(e){P($a,$a.current),P(Ka,e),qa===null&&(qa=e)}function Xa(e){e.tag===22?(P($a,$a.current),P(Ka,e),qa===null&&(qa=e)):Za(e)}function Za(){P($a,$a.current),P(Ka,Ka.current)}function Qa(e){se(Ka),qa===e&&(qa=null),se($a)}var $a=ae(0);function eo(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 to=0,Z=null,no=null,ro=null,io=!1,ao=!1,oo=!1,so=0,co=0,lo=null,uo=0;function fo(){throw Error(a(321))}function po(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!gr(e[n],t[n]))return!1;return!0}function mo(e,t,n,r,i,a){return to=a,Z=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,M.H=e===null||e.memoizedState===null?js:Ms,oo=!1,a=n(r,i),oo=!1,ao&&(a=go(t,n,r,i)),ho(e),a}function ho(e){M.H=As;var t=no!==null&&no.next!==null;if(to=0,ro=no=Z=null,io=!1,co=0,lo=null,t)throw Error(a(300));e===null||Ys||(e=e.dependencies,e!==null&&Wi(e)&&(Ys=!0))}function go(e,t,n,r){Z=e;var i=0;do{if(ao&&(lo=null),co=0,ao=!1,25<=i)throw Error(a(301));if(i+=1,ro=no=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}M.H=Ns,o=t(n,r)}while(ao);return o}function _o(){var e=M.H,t=e.useState()[0];return t=typeof t.then==`function`?wo(t):t,e=e.useState()[0],(no===null?null:no.memoizedState)!==e&&(Z.flags|=1024),t}function vo(){var e=so!==0;return so=0,e}function yo(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function bo(e){if(io){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}io=!1}to=0,ro=no=Z=null,ao=!1,co=so=0,lo=null}function xo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ro===null?Z.memoizedState=ro=e:ro=ro.next=e,ro}function So(){if(no===null){var e=Z.alternate;e=e===null?null:e.memoizedState}else e=no.next;var t=ro===null?Z.memoizedState:ro.next;if(t!==null)ro=t,no=e;else{if(e===null)throw Z.alternate===null?Error(a(467)):Error(a(310));no=e,e={memoizedState:no.memoizedState,baseState:no.baseState,baseQueue:no.baseQueue,queue:no.queue,next:null},ro===null?Z.memoizedState=ro=e:ro=ro.next=e}return ro}function Co(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function wo(e){var t=co;return co+=1,lo===null&&(lo=[]),e=ga(lo,e,t),t=Z,(ro===null?t.memoizedState:ro.next)===null&&(t=t.alternate,M.H=t===null||t.memoizedState===null?js:Ms),e}function To(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return wo(e);if(e.$$typeof===x)return Ki(e)}throw Error(a(438,String(e)))}function Eo(e){var t=null,n=Z.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=Z.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=Co(),Z.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 Do(e,t){return typeof t==`function`?t(e):t}function Oo(e){return ko(So(),no,e)}function ko(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?(to&f)===f:(Fl&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===ra&&(d=!0);else if((to&p)===p){u=u.next,p===ra&&(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,Z.lanes|=p,Ul|=p;f=u.action,oo&&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,Z.lanes|=f,Ul|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!gr(o,e.memoizedState)&&(Ys=!0,d&&(n=Y,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 Ao(e){var t=So(),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);gr(o,t.memoizedState)||(Ys=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function jo(e,t,n){var r=Z,i=So(),o=J;if(o){if(n===void 0)throw Error(a(407));n=n()}else n=t();var s=!gr((no||i).memoizedState,n);if(s&&(i.memoizedState=n,Ys=!0),i=i.queue,ns(Po.bind(null,r,i,e),[e]),i.getSnapshot!==t||s||ro!==null&&ro.memoizedState.tag&1){if(r.flags|=2048,Zo(9,{destroy:void 0},No.bind(null,r,i,n,t),null),Pl===null)throw Error(a(349));o||to&127||Mo(r,t,n)}return n}function Mo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Z.updateQueue,t===null?(t=Co(),Z.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function No(e,t,n,r){t.value=n,t.getSnapshot=r,Fo(t)&&Io(e)}function Po(e,t,n){return n(function(){Fo(t)&&Io(e)})}function Fo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!gr(e,n)}catch{return!0}}function Io(e){var t=Xr(e,2);t!==null&&pu(t,e,2)}function Lo(e){var t=xo();if(typeof e==`function`){var n=e;if(e=n(),oo){ze(!0);try{n()}finally{ze(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Do,lastRenderedState:e},t}function Ro(e,t,n,r){return e.baseState=n,ko(e,no,typeof r==`function`?r:Do)}function zo(e,t,n,r,i){if(Ds(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)}};M.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Bo(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Bo(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=M.T,o={};M.T=o;try{var s=n(i,r),c=M.S;c!==null&&c(o,s),Vo(e,t,s)}catch(n){Uo(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),M.T=a}}else try{a=n(i,r),Vo(e,t,a)}catch(n){Uo(e,t,n)}}function Vo(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Ho(e,t,n)},function(n){return Uo(e,t,n)}):Ho(e,t,n)}function Ho(e,t,n){t.status=`fulfilled`,t.value=n,Wo(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Bo(e,n)))}function Uo(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,Wo(t),t=t.next;while(t!==r)}e.action=null}function Wo(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Go(e,t){return t}function Ko(e,t){if(J){var n=Pl.formState;if(n!==null){a:{var r=Z;if(J){if(q){b:{for(var i=q,a=Ei;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){q=cf(i.nextSibling),r=i.data===`F!`;break a}}Oi(r)}r=!1}r&&(t=n[0])}}return n=xo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Go,lastRenderedState:t},n.queue=r,n=ws.bind(null,Z,r),r.dispatch=n,r=Lo(!1),a=Es.bind(null,Z,!1,r.queue),r=xo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=zo.bind(null,Z,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function qo(e){return Jo(So(),no,e)}function Jo(e,t,n){if(t=ko(e,t,Go)[0],e=Oo(Do)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=wo(t)}catch(e){throw e===da?pa:e}else r=t;t=So();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(Z.flags|=2048,Zo(9,{destroy:void 0},Yo.bind(null,i,n),null)),[r,a,e]}function Yo(e,t){e.action=t}function Xo(e){var t=So(),n=no;if(n!==null)return Jo(t,n,e);So(),t=t.memoizedState,n=So();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function Zo(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=Z.updateQueue,t===null&&(t=Co(),Z.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 Qo(){return So().memoizedState}function $o(e,t,n,r){var i=xo();Z.flags|=e,i.memoizedState=Zo(1|t,{destroy:void 0},n,r===void 0?null:r)}function es(e,t,n,r){var i=So();r=r===void 0?null:r;var a=i.memoizedState.inst;no!==null&&r!==null&&po(r,no.memoizedState.deps)?i.memoizedState=Zo(t,a,n,r):(Z.flags|=e,i.memoizedState=Zo(1|t,a,n,r))}function ts(e,t){$o(8390656,8,e,t)}function ns(e,t){es(2048,8,e,t)}function rs(e){Z.flags|=4;var t=Z.updateQueue;if(t===null)t=Co(),Z.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function is(e){var t=So().memoizedState;return rs({ref:t,nextImpl:e}),function(){if(Nl&2)throw Error(a(440));return t.impl.apply(void 0,arguments)}}function as(e,t){return es(4,2,e,t)}function os(e,t){return es(4,4,e,t)}function ss(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 cs(e,t,n){n=n==null?null:n.concat([e]),es(4,4,ss.bind(null,t,e),n)}function ls(){}function us(e,t){var n=So();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&po(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ds(e,t){var n=So();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&po(t,r[1]))return r[0];if(r=e(),oo){ze(!0);try{e()}finally{ze(!1)}}return n.memoizedState=[r,t],r}function fs(e,t,n){return n===void 0||to&1073741824&&!(Fl&261930)?e.memoizedState=t:(e.memoizedState=n,e=fu(),Z.lanes|=e,Ul|=e,n)}function ps(e,t,n,r){return gr(n,t)?n:Va.current===null?!(to&42)||to&1073741824&&!(Fl&261930)?(Ys=!0,e.memoizedState=n):(e=fu(),Z.lanes|=e,Ul|=e,t):(e=fs(e,n,r),gr(e,t)||(Ys=!0),e)}function ms(e,t,n,r,i){var a=N.p;N.p=a!==0&&8>a?a:8;var o=M.T,s={};M.T=s,Es(e,!1,t,n);try{var c=i(),l=M.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ts(e,t,aa(c,r),du(e)):Ts(e,t,r,du(e))}catch(n){Ts(e,t,{then:function(){},status:`rejected`,reason:n},du())}finally{N.p=a,o!==null&&s.types!==null&&(o.types=s.types),M.T=o}}function hs(){}function gs(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=_s(e).queue;ms(e,i,t,ne,n===null?hs:function(){return vs(e),n(r)})}function _s(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ne,baseState:ne,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Do,lastRenderedState:ne},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Do,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function vs(e){var t=_s(e);t.next===null&&(t=e.alternate.memoizedState),Ts(e,t.next.queue,{},du())}function ys(){return Ki(Qf)}function bs(){return So().memoizedState}function xs(){return So().memoizedState}function Ss(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=du();e=Ma(n);var r=Na(t,e,n);r!==null&&(pu(r,t,n),Pa(r,t,n)),t={cache:$i()},e.payload=t;return}t=t.return}}function Cs(e,t,n){var r=du();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Ds(e)?Os(t,n):(n=Yr(e,t,n,r),n!==null&&(pu(n,e,r),ks(n,t,r)))}function ws(e,t,n){Ts(e,t,n,du())}function Ts(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Ds(e))Os(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,gr(s,o))return Jr(e,t,i,0),Pl===null&&qr(),!1}catch{}if(n=Yr(e,t,i,r),n!==null)return pu(n,e,r),ks(n,t,r),!0}return!1}function Es(e,t,n,r){if(r={lane:2,revertLane:ld(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Ds(e)){if(t)throw Error(a(479))}else t=Yr(e,n,r,2),t!==null&&pu(t,e,2)}function Ds(e){var t=e.alternate;return e===Z||t!==null&&t===Z}function Os(e,t){ao=io=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ks(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,nt(e,n)}}var As={readContext:Ki,use:To,useCallback:fo,useContext:fo,useEffect:fo,useImperativeHandle:fo,useLayoutEffect:fo,useInsertionEffect:fo,useMemo:fo,useReducer:fo,useRef:fo,useState:fo,useDebugValue:fo,useDeferredValue:fo,useTransition:fo,useSyncExternalStore:fo,useId:fo,useHostTransitionStatus:fo,useFormState:fo,useActionState:fo,useOptimistic:fo,useMemoCache:fo,useCacheRefresh:fo};As.useEffectEvent=fo;var js={readContext:Ki,use:To,useCallback:function(e,t){return xo().memoizedState=[e,t===void 0?null:t],e},useContext:Ki,useEffect:ts,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),$o(4194308,4,ss.bind(null,t,e),n)},useLayoutEffect:function(e,t){return $o(4194308,4,e,t)},useInsertionEffect:function(e,t){$o(4,2,e,t)},useMemo:function(e,t){var n=xo();t=t===void 0?null:t;var r=e();if(oo){ze(!0);try{e()}finally{ze(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=xo();if(n!==void 0){var i=n(t);if(oo){ze(!0);try{n(t)}finally{ze(!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=Cs.bind(null,Z,e),[r.memoizedState,e]},useRef:function(e){var t=xo();return e={current:e},t.memoizedState=e},useState:function(e){e=Lo(e);var t=e.queue,n=ws.bind(null,Z,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ls,useDeferredValue:function(e,t){return fs(xo(),e,t)},useTransition:function(){var e=Lo(!1);return e=ms.bind(null,Z,e.queue,!0,!1),xo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=Z,i=xo();if(J){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Pl===null)throw Error(a(349));Fl&127||Mo(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,ts(Po.bind(null,r,o,e),[e]),r.flags|=2048,Zo(9,{destroy:void 0},No.bind(null,r,o,n,t),null),n},useId:function(){var e=xo(),t=Pl.identifierPrefix;if(J){var n=bi,r=yi;n=(r&~(1<<32-Be(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=so++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=uo++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:ys,useFormState:Ko,useActionState:Ko,useOptimistic:function(e){var t=xo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Es.bind(null,Z,!0,n),n.dispatch=t,[e,t]},useMemoCache:Eo,useCacheRefresh:function(){return xo().memoizedState=Ss.bind(null,Z)},useEffectEvent:function(e){var t=xo(),n={impl:e};return t.memoizedState=n,function(){if(Nl&2)throw Error(a(440));return n.impl.apply(void 0,arguments)}}},Ms={readContext:Ki,use:To,useCallback:us,useContext:Ki,useEffect:ns,useImperativeHandle:cs,useInsertionEffect:as,useLayoutEffect:os,useMemo:ds,useReducer:Oo,useRef:Qo,useState:function(){return Oo(Do)},useDebugValue:ls,useDeferredValue:function(e,t){return ps(So(),no.memoizedState,e,t)},useTransition:function(){var e=Oo(Do)[0],t=So().memoizedState;return[typeof e==`boolean`?e:wo(e),t]},useSyncExternalStore:jo,useId:bs,useHostTransitionStatus:ys,useFormState:qo,useActionState:qo,useOptimistic:function(e,t){return Ro(So(),no,e,t)},useMemoCache:Eo,useCacheRefresh:xs};Ms.useEffectEvent=is;var Ns={readContext:Ki,use:To,useCallback:us,useContext:Ki,useEffect:ns,useImperativeHandle:cs,useInsertionEffect:as,useLayoutEffect:os,useMemo:ds,useReducer:Ao,useRef:Qo,useState:function(){return Ao(Do)},useDebugValue:ls,useDeferredValue:function(e,t){var n=So();return no===null?fs(n,e,t):ps(n,no.memoizedState,e,t)},useTransition:function(){var e=Ao(Do)[0],t=So().memoizedState;return[typeof e==`boolean`?e:wo(e),t]},useSyncExternalStore:jo,useId:bs,useHostTransitionStatus:ys,useFormState:Xo,useActionState:Xo,useOptimistic:function(e,t){var n=So();return no===null?(n.baseState=e,[e,n.queue.dispatch]):Ro(n,no,e,t)},useMemoCache:Eo,useCacheRefresh:xs};Ns.useEffectEvent=is;function Ps(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 Fs={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=du(),i=Ma(r);i.payload=t,n!=null&&(i.callback=n),t=Na(e,i,r),t!==null&&(pu(t,e,r),Pa(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=du(),i=Ma(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Na(e,i,r),t!==null&&(pu(t,e,r),Pa(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=du(),r=Ma(n);r.tag=2,t!=null&&(r.callback=t),t=Na(e,r,n),t!==null&&(pu(t,e,n),Pa(t,e,n))}};function Is(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?!_r(n,r)||!_r(i,a):!0}function Ls(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&&Fs.enqueueReplaceState(t,t.state,null)}function Rs(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 zs(e){Ur(e)}function Bs(e){console.error(e)}function Vs(e){Ur(e)}function Hs(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Us(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 Ws(e,t,n){return n=Ma(n),n.tag=3,n.payload={element:null},n.callback=function(){Hs(e,t)},n}function Gs(e){return e=Ma(e),e.tag=3,e}function Ks(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(){Us(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Us(t,n,r),typeof i!=`function`&&(tu===null?tu=new Set([this]):tu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function qs(e,t,n,r,i){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Hi(t,n,i,!0),n=Ka.current,n!==null){switch(n.tag){case 31:case 13:return qa===null?Tu():n.alternate===null&&Hl===0&&(Hl=3),n.flags&=-257,n.flags|=65536,n.lanes=i,r===ma?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Wu(e,r,i)),!1;case 22:return n.flags|=65536,r===ma?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)),Wu(e,r,i)),!1}throw Error(a(435,n.tag))}return Wu(e,r,i),Tu(),!1}if(J)return t=Ka.current,t===null?(r!==Di&&(t=Error(a(423),{cause:r}),Pi(di(t,n))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=di(r,n),i=Ws(e.stateNode,r,i),Fa(e,i),Hl!==4&&(Hl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Di&&(e=Error(a(422),{cause:r}),Pi(di(e,n)))),!1;var o=Error(a(520),{cause:r});if(o=di(o,n),Jl===null?Jl=[o]:Jl.push(o),Hl!==4&&(Hl=2),t===null)return!0;r=di(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=Ws(n.stateNode,r,e),Fa(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`&&(tu===null||!tu.has(o))))return n.flags|=65536,i&=-i,n.lanes|=i,i=Gs(i),Ks(i,e,n,r),Fa(n,i),!1}n=n.return}while(n!==null);return!1}var Js=Error(a(461)),Ys=!1;function Xs(e,t,n,r){t.child=e===null?Oa(t,null,n,r):Da(t,e.child,n,r)}function Zs(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Gi(t),r=mo(e,t,n,o,a,i),s=vo(),e!==null&&!Ys?(yo(e,t,i),xc(e,t,i)):(J&&s&&G(t),t.flags|=1,Xs(e,t,r,i),t.child)}function Qs(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!ni(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,$s(e,t,a,r,i)):(e=ai(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?_r:n,n(o,r)&&e.ref===t.ref)return xc(e,t,i)}return t.flags|=1,e=ri(a,r),e.ref=t.ref,e.return=t,t.child=e}function $s(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(_r(a,r)&&e.ref===t.ref)if(Ys=!1,t.pendingProps=r=a,Sc(e,i))e.flags&131072&&(Ys=!0);else return t.lanes=e.lanes,xc(e,t,i)}return sc(e,t,n,r,i)}function ec(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 nc(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?Wa():Ua(t,a),Xa(t);else return r=t.lanes=536870912,nc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&la(t,null),Wa(),Za(t)):(la(t,a.cachePool),Ua(t,a),Za(t),t.memoizedState=null);return Xs(e,t,i,n),t.child}function tc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function nc(e,t,n,r,i){var a=ca();return a=a===null?null:{parent:Qi._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&la(t,null),Wa(),Xa(t),e!==null&&Hi(e,t,r,!0),t.childLanes=i,null}function rc(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 ic(e,t,n){return Da(t,e.child,null,n),e=rc(t,t.pendingProps),e.flags|=2,Qa(t),t.memoizedState=null,e}function ac(e,t,n){var r=t.pendingProps,i=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(J){if(r.mode===`hidden`)return e=rc(t,r),t.lanes=536870912,tc(null,e);if(Ya(t),(e=q)?(e=rf(e,Ei),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:vi===null?null:{id:yi,overflow:bi},retryLane:536870912,hydrationErrors:null},n=ci(e),n.return=t,t.child=n,K=t,q=null)):e=null,e===null)throw Oi(t);return t.lanes=536870912,null}return rc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(Ya(t),i)if(t.flags&256)t.flags&=-257,t=ic(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(a(558));else if(Ys||Hi(e,t,n,!1),i=(n&e.childLanes)!==0,Ys||i){if(r=Pl,r!==null&&(s=rt(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,Xr(e,s),pu(r,e,s),Js;Tu(),t=ic(e,t,n)}else e=o.treeContext,q=cf(s.nextSibling),K=t,J=!0,Ti=null,Ei=!1,e!==null&&wi(t,e),t=rc(t,r),t.flags|=4096;return t}return e=ri(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function oc(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 sc(e,t,n,r,i){return Gi(t),n=mo(e,t,n,r,void 0,i),r=vo(),e!==null&&!Ys?(yo(e,t,i),xc(e,t,i)):(J&&r&&G(t),t.flags|=1,Xs(e,t,n,i),t.child)}function cc(e,t,n,r,i,a){return Gi(t),t.updateQueue=null,n=go(t,r,n,i),ho(e),r=vo(),e!==null&&!Ys?(yo(e,t,a),xc(e,t,a)):(J&&r&&G(t),t.flags|=1,Xs(e,t,n,a),t.child)}function lc(e,t,n,r,i){if(Gi(t),t.stateNode===null){var a=$r,o=n.contextType;typeof o==`object`&&o&&(a=Ki(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Fs,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Aa(t),o=n.contextType,a.context=typeof o==`object`&&o?Ki(o):$r,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Ps(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&&Fs.enqueueReplaceState(a,a.state,null),Ra(t,r,a,i),La(),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=Rs(n,s);a.props=c;var l=a.context,u=n.contextType;o=$r,typeof u==`object`&&u&&(o=Ki(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Ls(t,a,r,o),ka=!1;var f=t.memoizedState;a.state=f,Ra(t,r,a,i),La(),l=t.memoizedState,s||f!==l||ka?(typeof d==`function`&&(Ps(t,n,d,r),l=t.memoizedState),(c=ka||Is(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,ja(e,t),o=t.memoizedProps,u=Rs(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=$r,typeof l==`object`&&l&&(c=Ki(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Ls(t,a,r,c),ka=!1,f=t.memoizedState,a.state=f,Ra(t,r,a,i),La();var p=t.memoizedState;o!==d||f!==p||ka||e!==null&&e.dependencies!==null&&Wi(e.dependencies)?(typeof s==`function`&&(Ps(t,n,s,r),p=t.memoizedState),(u=ka||Is(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Wi(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,oc(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=Da(t,e.child,null,i),t.child=Da(t,null,n,i)):Xs(e,t,n,i),t.memoizedState=a.state,e=t.child):e=xc(e,t,i),e}function uc(e,t,n,r){return Mi(),t.flags|=256,Xs(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|=Kl),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:($a.current&2)!=0),s&&(i=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(J){if(i?Ja(t):Za(t),(e=q)?(e=rf(e,Ei),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:vi===null?null:{id:yi,overflow:bi},retryLane:536870912,hydrationErrors:null},n=ci(e),n.return=t,t.child=n,K=t,q=null)):e=null,e===null)throw Oi(t);return of(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,i?(Za(t),i=t.mode,c=gc({mode:`hidden`,children:c},i),r=oi(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,tc(null,r)):(Ja(t),hc(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(Ja(t),t.flags&=-257,t=_c(e,t,n)):t.memoizedState===null?(Za(t),c=r.fallback,i=t.mode,r=gc({mode:`visible`,children:r.children},i),c=oi(c,i,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,Da(t,e.child,null,n),r=t.child,r.memoizedState=fc(n),r.childLanes=pc(e,s,n),t.memoizedState=dc,t=tc(null,r)):(Za(t),t.child=e.child,t.flags|=128,t=null);else if(Ja(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,Pi({value:r,source:null,stack:null}),t=_c(e,t,n)}else if(Ys||Hi(e,t,n,!1),s=(n&e.childLanes)!==0,Ys||s){if(s=Pl,s!==null&&(r=rt(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,Xr(e,r),pu(s,e,r),Js;af(c)||Tu(),t=_c(e,t,n)}else af(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,q=cf(c.nextSibling),K=t,J=!0,Ti=null,Ei=!1,e!==null&&wi(t,e),t=hc(t,r.children),t.flags|=4096);return t}return i?(Za(t),c=r.fallback,i=t.mode,l=e.child,u=l.sibling,r=ri(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=oi(c,i,n,null),c.flags|=2):c=ri(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,tc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=fc(n):(i=c.cachePool,i===null?i=ua():(l=Qi._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,tc(e.child,r)):(Ja(t),n=e.child,e=n.sibling,n=ri(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=ti(22,e,null,t),e.lanes=0,e}function _c(e,t,n){return Da(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),Bi(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=$a.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,P($a,o),Xs(e,t,r,n),r=J?hi: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&&eo(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&&eo(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),Ul|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(Hi(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=ri(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ri(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&&Wi(e))):!0}function Cc(e,t,n){switch(t.tag){case 3:fe(t,t.stateNode.containerInfo),Ri(t,Qi,e.memoizedState.cache),Mi();break;case 27:case 5:me(t);break;case 4:fe(t,t.stateNode.containerInfo);break;case 10:Ri(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Ya(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Ja(t),e=xc(e,t,n),e===null?null:e.sibling):mc(e,t,n):(Ja(t),t.flags|=128,null);Ja(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(Hi(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),P($a,$a.current),r)break;return null;case 22:return t.lanes=0,ec(e,t,n,t.pendingProps);case 24:Ri(t,Qi,e.memoizedState.cache)}return xc(e,t,n)}function wc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Ys=!0;else{if(!Sc(e,n)&&!(t.flags&128))return Ys=!1,Cc(e,t,n);Ys=!!(e.flags&131072)}else Ys=!1,J&&t.flags&1048576&&Si(t,hi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=_a(t.elementType),t.type=e,typeof e==`function`)ni(e)?(r=Rs(e,r),t.tag=1,t=lc(null,t,e,r,n)):(t.tag=0,t=sc(null,t,e,r,n));else{if(e!=null){var i=e.$$typeof;if(i===S){t.tag=11,t=Zs(null,t,e,r,n);break a}else if(i===T){t.tag=14,t=Qs(null,t,e,r,n);break a}}throw t=ee(e)||e,Error(a(306,t,``))}}return t;case 0:return sc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=Rs(r,t.pendingProps),lc(e,t,r,i,n);case 3:a:{if(fe(t,t.stateNode.containerInfo),e===null)throw Error(a(387));r=t.pendingProps;var o=t.memoizedState;i=o.element,ja(e,t),Ra(t,r,null,n);var s=t.memoizedState;if(r=s.cache,Ri(t,Qi,r),r!==o.cache&&Vi(t,[Qi],n,!0),La(),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=uc(e,t,r,n);break a}else if(r!==i){i=di(Error(a(424)),t),Pi(i),t=uc(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(q=cf(e.firstChild),K=t,J=!0,Ti=null,Ei=!0,n=Oa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Mi(),r===i){t=xc(e,t,n);break a}Xs(e,t,r,n)}t=t.child}return t;case 26:return oc(e,t),e===null?(n=kf(t.type,null,t.pendingProps,null))?t.memoizedState=n:J||(n=t.type,e=t.pendingProps,r=Bd(ue.current).createElement(n),r[lt]=t,r[ut]=e,Pd(r,n,e),St(r),t.stateNode=r):t.memoizedState=kf(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return me(t),e===null&&J&&(r=t.stateNode=ff(t.type,t.pendingProps,ue.current),K=t,Ei=!0,i=q,Zd(t.type)?(lf=i,q=cf(r.firstChild)):q=i),Xs(e,t,t.pendingProps.children,n),oc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&J&&((i=r=q)&&(r=tf(r,t.type,t.pendingProps,Ei),r===null?i=!1:(t.stateNode=r,K=t,q=cf(r.firstChild),Ei=!1,i=!0)),i||Oi(t)),me(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=mo(e,t,_o,null,null,n),Qf._currentValue=i),oc(e,t),Xs(e,t,r,n),t.child;case 6:return e===null&&J&&((e=n=q)&&(n=nf(n,t.pendingProps,Ei),n===null?e=!1:(t.stateNode=n,K=t,q=null,e=!0)),e||Oi(t)),null;case 13:return mc(e,t,n);case 4:return fe(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Da(t,null,r,n):Xs(e,t,r,n),t.child;case 11:return Zs(e,t,t.type,t.pendingProps,n);case 7:return Xs(e,t,t.pendingProps,n),t.child;case 8:return Xs(e,t,t.pendingProps.children,n),t.child;case 12:return Xs(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Ri(t,t.type,r.value),Xs(e,t,r.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,Gi(t),i=Ki(i),r=r(i),t.flags|=1,Xs(e,t,r,n),t.child;case 14:return Qs(e,t,t.type,t.pendingProps,n);case 15:return $s(e,t,t.type,t.pendingProps,n);case 19:return bc(e,t,n);case 31:return ac(e,t,n);case 22:return ec(e,t,n,t.pendingProps);case 24:return Gi(t),r=Ki(Qi),e===null?(i=ca(),i===null&&(i=Pl,o=$i(),i.pooledCache=o,o.refCount++,o!==null&&(i.pooledCacheLanes|=n),i=o),t.memoizedState={parent:r,cache:i},Aa(t),Ri(t,Qi,i)):((e.lanes&n)!==0&&(ja(e,t),Ra(t,null,null,n),La()),i=e.memoizedState,o=t.memoizedState,i.parent===r?(r=o.cache,Ri(t,Qi,r),r!==i.cache&&Vi(t,[Qi],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),Ri(t,Qi,r))),Xs(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(a(156,t.tag))}function Tc(e){e.flags|=4}function Ec(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(Su())e.flags|=8192;else throw va=ma,fa}else e.flags&=-16777217}function Dc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Wf(t))if(Su())e.flags|=8192;else throw va=ma,fa}function Oc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Ze(),e.lanes|=t,ql|=t)}function kc(e,t){if(!J)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 Ac(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 jc(e,t,n){var r=t.pendingProps;switch(Ci(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ac(t),null;case 1:return Ac(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),zi(Qi),pe(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(ji(t)?Tc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Ni())),Ac(t),null;case 26:var i=t.type,o=t.memoizedState;return e===null?(Tc(t),o===null?(Ac(t),Ec(t,i,null,r,n)):(Ac(t),Dc(t,o))):o?o===e.memoizedState?(Ac(t),t.flags&=-16777217):(Tc(t),Ac(t),Dc(t,o)):(e=e.memoizedProps,e!==r&&Tc(t),Ac(t),Ec(t,i,e,r,n)),null;case 27:if(he(t),n=ue.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Tc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return Ac(t),null}e=ce.current,ji(t)?ki(t,e):(e=ff(i,r,n),t.stateNode=e,Tc(t))}return Ac(t),null;case 5:if(he(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Tc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return Ac(t),null}if(o=ce.current,ji(t))ki(t,o);else{var s=Bd(ue.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[lt]=t,o[ut]=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&&Tc(t)}}return Ac(t),Ec(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Tc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=ue.current,ji(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=K,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[lt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||jd(e.nodeValue,n)),e||Oi(t,!0)}else e=Bd(e).createTextNode(r),e[lt]=t,t.stateNode=e}return Ac(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=ji(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[lt]=t}else Mi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ac(t),e=!1}else n=Ni(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Qa(t),t):(Qa(t),null);if(t.flags&128)throw Error(a(558))}return Ac(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=ji(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[lt]=t}else Mi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Ac(t),i=!1}else i=Ni(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(Qa(t),t):(Qa(t),null)}return Qa(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),Oc(t,t.updateQueue),Ac(t),null);case 4:return pe(),e===null&&xd(t.stateNode.containerInfo),Ac(t),null;case 10:return zi(t.type),Ac(t),null;case 19:if(se($a),r=t.memoizedState,r===null)return Ac(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)kc(r,!1);else{if(Hl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=eo(e),o!==null){for(t.flags|=128,kc(r,!1),e=o.updateQueue,t.updateQueue=e,Oc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ii(n,e),n=n.sibling;return P($a,$a.current&1|2),J&&xi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Oe()>$l&&(t.flags|=128,i=!0,kc(r,!1),t.lanes=4194304)}else{if(!i)if(e=eo(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Oc(t,e),kc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!J)return Ac(t),null}else 2*Oe()-r.renderingStartTime>$l&&n!==536870912&&(t.flags|=128,i=!0,kc(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?(Ac(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Oe(),e.sibling=null,n=$a.current,P($a,i?n&1|2:n&1),J&&xi(t,r.treeForkCount),e);case 22:case 23:return Qa(t),Ga(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Ac(t),t.subtreeFlags&6&&(t.flags|=8192)):Ac(t),n=t.updateQueue,n!==null&&Oc(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&&se(sa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),zi(Qi),Ac(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Mc(e,t){switch(Ci(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return zi(Qi),pe(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return he(t),null;case 31:if(t.memoizedState!==null){if(Qa(t),t.alternate===null)throw Error(a(340));Mi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Qa(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Mi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return se($a),null;case 4:return pe(),null;case 10:return zi(t.type),null;case 22:case 23:return Qa(t),Ga(),e!==null&&se(sa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return zi(Qi),null;case 25:return null;default:return null}}function Nc(e,t){switch(Ci(t),t.tag){case 3:zi(Qi),pe();break;case 26:case 27:case 5:he(t);break;case 4:pe();break;case 31:t.memoizedState!==null&&Qa(t);break;case 13:Qa(t);break;case 19:se($a);break;case 10:zi(t.type);break;case 22:case 23:Qa(t),Ga(),e!==null&&se(sa);break;case 24:zi(Qi)}}function Pc(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){Uu(t,t.return,e)}}function Fc(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){Uu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Uu(t,t.return,e)}}function Ic(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ba(t,n)}catch(t){Uu(e,e.return,t)}}}function Lc(e,t,n){n.props=Rs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Uu(e,t,n)}}function Rc(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){Uu(e,t,n)}}function zc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Uu(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){Uu(e,t,n)}else n.current=null}function Bc(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){Uu(e,e.return,t)}}function Vc(e,t,n){try{var r=e.stateNode;Fd(r,e.type,n,t),r[ut]=t}catch(t){Uu(e,e.return,t)}}function Hc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Zd(e.type)||e.tag===4}function Uc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Hc(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 Wc(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=nn));else if(r!==4&&(r===27&&Zd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Wc(e,t,n),e=e.sibling;e!==null;)Wc(e,t,n),e=e.sibling}function Gc(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(Gc(e,t,n),e=e.sibling;e!==null;)Gc(e,t,n),e=e.sibling}function Kc(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[lt]=e,t[ut]=n}catch(t){Uu(e,e.return,t)}}var qc=!1,Jc=!1,Yc=!1,Xc=typeof WeakSet==`function`?WeakSet:Set,Zc=null;function Qc(e,t){if(e=e.containerInfo,Rd=sp,e=br(e),xr(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,Zc=t;Zc!==null;)if(t=Zc,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Zc=e;else for(;Zc!==null;){switch(t=Zc,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=Rs(n.type,i);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Uu(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,Zc=e;break}Zc=t.return}}function $c(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:ml(e,n),r&4&&Pc(5,n);break;case 1:if(ml(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Uu(n,n.return,e)}else{var i=Rs(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Uu(n,n.return,e)}}r&64&&Ic(n),r&512&&Rc(n,n.return);break;case 3:if(ml(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{Ba(e,t)}catch(e){Uu(n,n.return,e)}}break;case 27:t===null&&r&4&&Kc(n);case 26:case 5:ml(e,n),t===null&&r&4&&Bc(n),r&512&&Rc(n,n.return);break;case 12:ml(e,n);break;case 31:ml(e,n),r&4&&al(e,n);break;case 13:ml(e,n),r&4&&ol(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=qu.bind(null,n),sf(e,n))));break;case 22:if(r=n.memoizedState!==null||qc,!r){t=t!==null&&t.memoizedState!==null||Jc,i=qc;var a=Jc;qc=r,(Jc=t)&&!a?gl(e,n,(n.subtreeFlags&8772)!=0):ml(e,n),qc=i,Jc=a}break;case 30:break;default:ml(e,n)}}function el(e){var t=e.alternate;t!==null&&(e.alternate=null,el(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&_t(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 tl=null,nl=!1;function rl(e,t,n){for(n=n.child;n!==null;)il(e,t,n),n=n.sibling}function il(e,t,n){if(Re&&typeof Re.onCommitFiberUnmount==`function`)try{Re.onCommitFiberUnmount(Le,n)}catch{}switch(n.tag){case 26:Jc||zc(n,t),rl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Jc||zc(n,t);var r=tl,i=nl;Zd(n.type)&&(tl=n.stateNode,nl=!1),rl(e,t,n),pf(n.stateNode),tl=r,nl=i;break;case 5:Jc||zc(n,t);case 6:if(r=tl,i=nl,tl=null,rl(e,t,n),tl=r,nl=i,tl!==null)if(nl)try{(tl.nodeType===9?tl.body:tl.nodeName===`HTML`?tl.ownerDocument.body:tl).removeChild(n.stateNode)}catch(e){Uu(n,t,e)}else try{tl.removeChild(n.stateNode)}catch(e){Uu(n,t,e)}break;case 18:tl!==null&&(nl?(e=tl,Qd(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):Qd(tl,n.stateNode));break;case 4:r=tl,i=nl,tl=n.stateNode.containerInfo,nl=!0,rl(e,t,n),tl=r,nl=i;break;case 0:case 11:case 14:case 15:Fc(2,n,t),Jc||Fc(4,n,t),rl(e,t,n);break;case 1:Jc||(zc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Lc(n,t,r)),rl(e,t,n);break;case 21:rl(e,t,n);break;case 22:Jc=(r=Jc)||n.memoizedState!==null,rl(e,t,n),Jc=r;break;default:rl(e,t,n)}}function al(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){Uu(t,t.return,e)}}}function ol(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){Uu(t,t.return,e)}}function sl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Xc),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Xc),t;default:throw Error(a(435,e.tag))}}function cl(e,t){var n=sl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Ju.bind(null,e,t);t.then(r,r)}})}function ll(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)){tl=c.stateNode,nl=!1;break a}break;case 5:tl=c.stateNode,nl=!1;break a;case 3:case 4:tl=c.stateNode.containerInfo,nl=!0;break a}c=c.return}if(tl===null)throw Error(a(160));il(o,s,i),tl=null,nl=!1,o=i.alternate,o!==null&&(o.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)dl(t,e),t=t.sibling}var ul=null;function dl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:ll(t,e),fl(e),r&4&&(Fc(3,e,e.return),Pc(3,e),Fc(5,e,e.return));break;case 1:ll(t,e),fl(e),r&512&&(Jc||n===null||zc(n,n.return)),r&64&&qc&&(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=ul;if(ll(t,e),fl(e),r&512&&(Jc||n===null||zc(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[gt]||o[lt]||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[lt]=e,St(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[lt]=e,St(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&&Vc(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:ll(t,e),fl(e),r&512&&(Jc||n===null||zc(n,n.return)),n!==null&&r&4&&Vc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(ll(t,e),fl(e),r&512&&(Jc||n===null||zc(n,n.return)),e.flags&32){i=e.stateNode;try{Jt(i,``)}catch(t){Uu(e,e.return,t)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,Vc(e,i,n===null?i:n.memoizedProps)),r&1024&&(Yc=!0);break;case 6:if(ll(t,e),fl(e),r&4){if(e.stateNode===null)throw Error(a(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Uu(e,e.return,t)}}break;case 3:if(Bf=null,i=ul,ul=gf(t.containerInfo),ll(t,e),ul=i,fl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){Uu(e,e.return,t)}Yc&&(Yc=!1,pl(e));break;case 4:r=ul,ul=gf(e.stateNode.containerInfo),ll(t,e),fl(e),ul=r;break;case 12:ll(t,e),fl(e);break;case 31:ll(t,e),fl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,cl(e,r)));break;case 13:ll(t,e),fl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Zl=Oe()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,cl(e,r)));break;case 22:i=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=qc,d=Jc;if(qc=u||i,Jc=d||l,ll(t,e),Jc=d,qc=u,fl(e),r&8192)a:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(n===null||l||qc||Jc||hl(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){Uu(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=i?``:l.memoizedProps}catch(e){Uu(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){Uu(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,cl(e,n))));break;case 19:ll(t,e),fl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,cl(e,r)));break;case 30:break;case 21:break;default:ll(t,e),fl(e)}}function fl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Hc(r)){n=r;break}r=r.return}if(n==null)throw Error(a(160));switch(n.tag){case 27:var i=n.stateNode;Gc(e,Uc(e),i);break;case 5:var o=n.stateNode;n.flags&32&&(Jt(o,``),n.flags&=-33),Gc(e,Uc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Wc(e,Uc(e),s);break;default:throw Error(a(161))}}catch(t){Uu(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function pl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;pl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function ml(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)$c(e,t.alternate,t),t=t.sibling}function hl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Fc(4,t,t.return),hl(t);break;case 1:zc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Lc(t,t.return,n),hl(t);break;case 27:pf(t.stateNode);case 26:case 5:zc(t,t.return),hl(t);break;case 22:t.memoizedState===null&&hl(t);break;case 30:hl(t);break;default:hl(t)}e=e.sibling}}function gl(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:gl(i,a,n),Pc(4,a);break;case 1:if(gl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Uu(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++)za(c[i],s)}catch(e){Uu(r,r.return,e)}}n&&o&64&&Ic(a),Rc(a,a.return);break;case 27:Kc(a);case 26:case 5:gl(i,a,n),n&&r===null&&o&4&&Bc(a),Rc(a,a.return);break;case 12:gl(i,a,n);break;case 31:gl(i,a,n),n&&o&4&&al(i,a);break;case 13:gl(i,a,n),n&&o&4&&ol(i,a);break;case 22:a.memoizedState===null&&gl(i,a,n),Rc(a,a.return);break;case 30:break;default:gl(i,a,n)}t=t.sibling}}function _l(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&&ea(n))}function vl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ea(e))}function yl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)bl(e,t,n,r),t=t.sibling}function bl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:yl(e,t,n,r),i&2048&&Pc(9,t);break;case 1:yl(e,t,n,r);break;case 3:yl(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&&ea(e)));break;case 12:if(i&2048){yl(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){Uu(t,t.return,e)}}else yl(e,t,n,r);break;case 31:yl(e,t,n,r);break;case 13:yl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?yl(e,t,n,r):(a._visibility|=2,xl(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?yl(e,t,n,r):Sl(e,t),i&2048&&_l(o,t);break;case 24:yl(e,t,n,r),i&2048&&vl(t.alternate,t);break;default:yl(e,t,n,r)}}function xl(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:xl(a,o,s,c,i),Pc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,xl(a,o,s,c,i)):u._visibility&2?xl(a,o,s,c,i):Sl(a,o),i&&l&2048&&_l(o.alternate,o);break;case 24:xl(a,o,s,c,i),i&&l&2048&&vl(o.alternate,o);break;default:xl(a,o,s,c,i)}t=t.sibling}}function Sl(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:Sl(n,r),i&2048&&_l(r.alternate,r);break;case 24:Sl(n,r),i&2048&&vl(r.alternate,r);break;default:Sl(n,r)}t=t.sibling}}var Cl=8192;function wl(e,t,n){if(e.subtreeFlags&Cl)for(e=e.child;e!==null;)Tl(e,t,n),e=e.sibling}function Tl(e,t,n){switch(e.tag){case 26:wl(e,t,n),e.flags&Cl&&e.memoizedState!==null&&Gf(n,ul,e.memoizedState,e.memoizedProps);break;case 5:wl(e,t,n);break;case 3:case 4:var r=ul;ul=gf(e.stateNode.containerInfo),wl(e,t,n),ul=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Cl,Cl=16777216,wl(e,t,n),Cl=r):wl(e,t,n));break;default:wl(e,t,n)}}function El(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 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];Zc=r,Al(r,e)}El(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Ol(e),e=e.sibling}function Ol(e){switch(e.tag){case 0:case 11:case 15:Dl(e),e.flags&2048&&Fc(9,e,e.return);break;case 3:Dl(e);break;case 12:Dl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,kl(e)):Dl(e);break;default:Dl(e)}}function kl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Zc=r,Al(r,e)}El(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Fc(8,t,t.return),kl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,kl(t));break;default:kl(t)}e=e.sibling}}function Al(e,t){for(;Zc!==null;){var n=Zc;switch(n.tag){case 0:case 11:case 15:Fc(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:ea(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,Zc=r;else a:for(n=e;Zc!==null;){r=Zc;var i=r.sibling,a=r.return;if(el(r),r===n){Zc=null;break a}if(i!==null){i.return=a,Zc=i;break a}Zc=a}}}var jl={getCacheForType:function(e){var t=Ki(Qi),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Ki(Qi).controller.signal}},Ml=typeof WeakMap==`function`?WeakMap:Map,Nl=0,Pl=null,Q=null,Fl=0,Il=0,Ll=null,Rl=!1,zl=!1,Bl=!1,Vl=0,Hl=0,Ul=0,Wl=0,Gl=0,Kl=0,ql=0,Jl=null,Yl=null,Xl=!1,Zl=0,Ql=0,$l=1/0,eu=null,tu=null,nu=0,ru=null,iu=null,au=0,ou=0,su=null,cu=null,lu=0,uu=null;function du(){return Nl&2&&Fl!==0?Fl&-Fl:M.T===null?ot():ld()}function fu(){if(Kl===0)if(!(Fl&536870912)||J){var e=Ge;Ge<<=1,!(Ge&3932160)&&(Ge=262144),Kl=e}else Kl=536870912;return e=Ka.current,e!==null&&(e.flags|=32),Kl}function pu(e,t,n){(e===Pl&&(Il===2||Il===9)||e.cancelPendingCommit!==null)&&(bu(e,0),_u(e,Fl,Kl,!1)),$e(e,n),(!(Nl&2)||e!==Pl)&&(e===Pl&&(!(Nl&2)&&(Wl|=n),Hl===4&&_u(e,Fl,Kl,!1)),nd(e))}function mu(e,t,n){if(Nl&6)throw Error(a(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||Ye(e,t),i=r?Ou(e,t):Eu(e,t,!0),o=r;do{if(i===0){zl&&!r&&_u(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!gu(n)){i=Eu(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=Jl;var l=c.current.memoizedState.isDehydrated;if(l&&(bu(c,s).flags|=256),s=Eu(c,s,!1),s!==2){if(Bl&&!l){c.errorRecoveryDisabledLanes|=o,Wl|=o,i=4;break a}o=Yl,Yl=i,o!==null&&(Yl===null?Yl=o:Yl.push.apply(Yl,o))}i=s}if(o=!1,i!==2)continue}}if(i===1){bu(e,0),_u(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:_u(r,t,Kl,!Rl);break a;case 2:Yl=null;break;case 3:case 5:break;default:throw Error(a(329))}if((t&62914560)===t&&(i=Zl+300-Oe(),10<i)){if(_u(r,t,Kl,!Rl),Je(r,0,!0)!==0)break a;au=t,r.timeoutHandle=Kd(hu.bind(null,r,n,Yl,eu,Xl,t,Kl,Wl,ql,Rl,o,`Throttled`,-0,0),i);break a}hu(r,n,Yl,eu,Xl,t,Kl,Wl,ql,Rl,o,null,-0,0)}}break}while(1);nd(e)}function hu(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:nn},Tl(t,a,d);var m=(a&62914560)===a?Zl-Oe():(a&4194048)===a?Ql-Oe():0;if(m=qf(d,m),m!==null){au=a,e.cancelPendingCommit=m(Fu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),_u(e,a,o,!l);return}}Fu(e,t,a,n,r,i,o,s,c)}function gu(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(!gr(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 _u(e,t,n,r){t&=~Gl,t&=~Wl,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Be(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&tt(e,n,t)}function vu(){return Nl&6?!0:(rd(0,!1),!1)}function yu(){if(Q!==null){if(Il===0)var e=Q.return;else e=Q,Li=Ii=null,bo(e),xa=null,Sa=0,e=Q;for(;e!==null;)Nc(e.alternate,e),e=e.return;Q=null}}function bu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,qd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),au=0,yu(),Pl=e,Q=n=ri(e.current,null),Fl=t,Il=0,Ll=null,Rl=!1,zl=Ye(e,t),Bl=!1,ql=Kl=Gl=Wl=Ul=Hl=0,Yl=Jl=null,Xl=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Be(r),a=1<<i;t|=e[i],r&=~a}return Vl=t,qr(),n}function xu(e,t){Z=null,M.H=As,t===da||t===pa?(t=ya(),Il=3):t===fa?(t=ya(),Il=4):Il=t===Js?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Ll=t,Q===null&&(Hl=1,Hs(e,di(t,e.current)))}function Su(){var e=Ka.current;return e===null?!0:(Fl&4194048)===Fl?qa===null:(Fl&62914560)===Fl||Fl&536870912?e===qa:!1}function Cu(){var e=M.H;return M.H=As,e===null?As:e}function wu(){var e=M.A;return M.A=jl,e}function Tu(){Hl=4,Rl||(Fl&4194048)!==Fl&&Ka.current!==null||(zl=!0),!(Ul&134217727)&&!(Wl&134217727)||Pl===null||_u(Pl,Fl,Kl,!1)}function Eu(e,t,n){var r=Nl;Nl|=2;var i=Cu(),a=wu();(Pl!==e||Fl!==t)&&(eu=null,bu(e,t)),t=!1;var o=Hl;a:do try{if(Il!==0&&Q!==null){var s=Q,c=Ll;switch(Il){case 8:yu(),o=6;break a;case 3:case 2:case 9:case 6:Ka.current===null&&(t=!0);var l=Il;if(Il=0,Ll=null,Mu(e,s,c,l),n&&zl){o=0;break a}break;default:l=Il,Il=0,Ll=null,Mu(e,s,c,l)}}Du(),o=Hl;break}catch(t){xu(e,t)}while(1);return t&&e.shellSuspendCounter++,Li=Ii=null,Nl=r,M.H=i,M.A=a,Q===null&&(Pl=null,Fl=0,qr()),o}function Du(){for(;Q!==null;)Au(Q)}function Ou(e,t){var n=Nl;Nl|=2;var r=Cu(),i=wu();Pl!==e||Fl!==t?(eu=null,$l=Oe()+500,bu(e,t)):zl=Ye(e,t);a:do try{if(Il!==0&&Q!==null){t=Q;var o=Ll;b:switch(Il){case 1:Il=0,Ll=null,Mu(e,t,o,1);break;case 2:case 9:if(ha(o)){Il=0,Ll=null,ju(t);break}t=function(){Il!==2&&Il!==9||Pl!==e||(Il=7),nd(e)},o.then(t,t);break a;case 3:Il=7;break a;case 4:Il=5;break a;case 7:ha(o)?(Il=0,Ll=null,ju(t)):(Il=0,Ll=null,Mu(e,t,o,7));break;case 5:var s=null;switch(Q.tag){case 26:s=Q.memoizedState;case 5:case 27:var c=Q;if(s?Wf(s):c.stateNode.complete){Il=0,Ll=null;var l=c.sibling;if(l!==null)Q=l;else{var u=c.return;u===null?Q=null:(Q=u,Nu(u))}break b}}Il=0,Ll=null,Mu(e,t,o,5);break;case 6:Il=0,Ll=null,Mu(e,t,o,6);break;case 8:yu(),Hl=6;break a;default:throw Error(a(462))}}ku();break}catch(t){xu(e,t)}while(1);return Li=Ii=null,M.H=r,M.A=i,Nl=n,Q===null?(Pl=null,Fl=0,qr(),Hl):0}function ku(){for(;Q!==null&&!Ee();)Au(Q)}function Au(e){var t=wc(e.alternate,e,Vl);e.memoizedProps=e.pendingProps,t===null?Nu(e):Q=t}function ju(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=cc(n,t,t.pendingProps,t.type,void 0,Fl);break;case 11:t=cc(n,t,t.pendingProps,t.type.render,t.ref,Fl);break;case 5:bo(t);default:Nc(n,t),t=Q=ii(t,Vl),t=wc(n,t,Vl)}e.memoizedProps=e.pendingProps,t===null?Nu(e):Q=t}function Mu(e,t,n,r){Li=Ii=null,bo(t),xa=null,Sa=0;var i=t.return;try{if(qs(e,i,t,n,Fl)){Hl=1,Hs(e,di(n,e.current)),Q=null;return}}catch(t){if(i!==null)throw Q=i,t;Hl=1,Hs(e,di(n,e.current)),Q=null;return}t.flags&32768?(J||r===1?e=!0:zl||Fl&536870912?e=!1:(Rl=e=!0,(r===2||r===9||r===3||r===6)&&(r=Ka.current,r!==null&&r.tag===13&&(r.flags|=16384))),Pu(t,e)):Nu(t)}function Nu(e){var t=e;do{if(t.flags&32768){Pu(t,Rl);return}e=t.return;var n=jc(t.alternate,t,Vl);if(n!==null){Q=n;return}if(t=t.sibling,t!==null){Q=t;return}Q=t=e}while(t!==null);Hl===0&&(Hl=5)}function Pu(e,t){do{var n=Mc(e.alternate,e);if(n!==null){n.flags&=32767,Q=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Q=e;return}Q=e=n}while(e!==null);Hl=6,Q=null}function Fu(e,t,n,r,i,o,s,c,l){e.cancelPendingCommit=null;do Bu();while(nu!==0);if(Nl&6)throw Error(a(327));if(t!==null){if(t===e.current)throw Error(a(177));if(o=t.lanes|t.childLanes,o|=Kr,et(e,n,o,s,c,l),e===Pl&&(Q=Pl=null,Fl=0),iu=t,ru=e,au=n,ou=o,su=i,cu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Yu(Me,function(){return Vu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=M.T,M.T=null,i=N.p,N.p=2,s=Nl,Nl|=4;try{Qc(e,t,n)}finally{Nl=s,N.p=i,M.T=r}}nu=1,Iu(),Lu(),Ru()}}function Iu(){if(nu===1){nu=0;var e=ru,t=iu,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=M.T,M.T=null;var r=N.p;N.p=2;var i=Nl;Nl|=4;try{dl(t,e);var a=zd,o=br(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&yr(s.ownerDocument.documentElement,s)){if(c!==null&&xr(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 _=vr(s,h),v=vr(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{Nl=i,N.p=r,M.T=n}}e.current=t,nu=2}}function Lu(){if(nu===2){nu=0;var e=ru,t=iu,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=M.T,M.T=null;var r=N.p;N.p=2;var i=Nl;Nl|=4;try{$c(e,t.alternate,t)}finally{Nl=i,N.p=r,M.T=n}}nu=3}}function Ru(){if(nu===4||nu===3){nu=0,De();var e=ru,t=iu,n=au,r=cu;t.subtreeFlags&10256||t.flags&10256?nu=5:(nu=0,iu=ru=null,zu(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(tu=null),at(n),t=t.stateNode,Re&&typeof Re.onCommitFiberRoot==`function`)try{Re.onCommitFiberRoot(Le,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=M.T,i=N.p,N.p=2,M.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{M.T=t,N.p=i}}au&3&&Bu(),nd(e),i=e.pendingLanes,n&261930&&i&42?e===uu?lu++:(lu=0,uu=e):lu=0,rd(0,!1)}}function zu(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ea(t)))}function Bu(){return Iu(),Lu(),Ru(),Vu()}function Vu(){if(nu!==5)return!1;var e=ru,t=ou;ou=0;var n=at(au),r=M.T,i=N.p;try{N.p=32>n?32:n,M.T=null,n=su,su=null;var o=ru,s=au;if(nu=0,iu=ru=null,au=0,Nl&6)throw Error(a(331));var c=Nl;if(Nl|=4,Ol(o.current),bl(o,o.current,s,n),Nl=c,rd(0,!1),Re&&typeof Re.onPostCommitFiberRoot==`function`)try{Re.onPostCommitFiberRoot(Le,o)}catch{}return!0}finally{N.p=i,M.T=r,zu(e,t)}}function Hu(e,t,n){t=di(n,t),t=Ws(e.stateNode,t,2),e=Na(e,t,2),e!==null&&($e(e,2),nd(e))}function Uu(e,t,n){if(e.tag===3)Hu(e,e,n);else for(;t!==null;){if(t.tag===3){Hu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(tu===null||!tu.has(r))){e=di(n,e),n=Gs(2),r=Na(t,n,2),r!==null&&(Ks(n,r,t,e),$e(r,2),nd(r));break}}t=t.return}}function Wu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Ml;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)||(Bl=!0,i.add(n),e=Gu.bind(null,e,t,n),t.then(e,e))}function Gu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Pl===e&&(Fl&n)===n&&(Hl===4||Hl===3&&(Fl&62914560)===Fl&&300>Oe()-Zl?!(Nl&2)&&bu(e,0):Gl|=n,ql===Fl&&(ql=0)),nd(e)}function Ku(e,t){t===0&&(t=Ze()),e=Xr(e,t),e!==null&&($e(e,t),nd(e))}function qu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ku(e,n)}function Ju(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),Ku(e,n)}function Yu(e,t){return we(e,t)}var Xu=null,Zu=null,Qu=!1,$u=!1,ed=!1,td=0;function nd(e){e!==Zu&&e.next===null&&(Zu===null?Xu=Zu=e:Zu=Zu.next=e),$u=!0,Qu||(Qu=!0,$())}function rd(e,t){if(!ed&&$u){ed=!0;do for(var n=!1,r=Xu;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-Be(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,cd(r,a))}else a=Fl,a=Je(r,r===Pl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||Ye(r,a)||(n=!0,cd(r,a));r=r.next}while(n);ed=!1}}function id(){ad()}function ad(){$u=Qu=!1;var e=0;td!==0&&Gd()&&(e=td);for(var t=Oe(),n=null,r=Xu;r!==null;){var i=r.next,a=od(r,t);a===0?(r.next=null,n===null?Xu=i:n.next=i,i===null&&(Zu=n)):(n=r,(e!==0||a&3)&&($u=!0)),r=i}nu!==0&&nu!==5||rd(e,!1),td!==0&&(td=0)}function od(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Be(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Xe(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Pl,n=Fl,n=Je(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Il===2||Il===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Te(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||Ye(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Te(r),at(n)){case 2:case 8:n=je;break;case 32:n=Me;break;case 268435456:n=Pe;break;default:n=Me}return r=sd.bind(null,e),n=we(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Te(r),e.callbackPriority=2,e.callbackNode=null,2}function sd(e,t){if(nu!==0&&nu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Bu()&&e.callbackNode!==n)return null;var r=Fl;return r=Je(e,e===Pl?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(mu(e,r,t),od(e,Oe()),e.callbackNode!=null&&e.callbackNode===n?sd.bind(null,e):null)}function cd(e,t){if(Bu())return null;mu(e,t,!0)}function $(){Yd(function(){Nl&6?we(Ae,id):ad()})}function ld(){if(td===0){var e=ra;e===0&&(e=We,We<<=1,!(We&261888)&&(We=256)),td=e}return td}function ud(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:tn(``+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[ut]||null).action),o=r.submitter;o&&(t=(t=o[ut]||null)?ud(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new Cn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(td!==0){var e=o?dd(i,o):new FormData(i);gs(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),gs(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var pd=0;pd<Vr.length;pd++){var md=Vr[pd];Hr(md.toLowerCase(),`on`+(md[0].toUpperCase()+md.slice(1)))}Hr(Nr,`onAnimationEnd`),Hr(Pr,`onAnimationIteration`),Hr(Fr,`onAnimationStart`),Hr(`dblclick`,`onDoubleClick`),Hr(`focusin`,`onFocus`),Hr(`focusout`,`onBlur`),Hr(Ir,`onTransitionRun`),Hr(Lr,`onTransitionStart`),Hr(Rr,`onTransitionCancel`),Hr(zr,`onTransitionEnd`),Et(`onMouseEnter`,[`mouseout`,`mouseover`]),Et(`onMouseLeave`,[`mouseout`,`mouseover`]),Et(`onPointerEnter`,[`pointerout`,`pointerover`]),Et(`onPointerLeave`,[`pointerout`,`pointerover`]),Tt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Tt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Tt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Tt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Tt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Tt(`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){Ur(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){Ur(e)}i.currentTarget=null,a=c}}}}function vd(e,t){var n=t[ft];n===void 0&&(n=t[ft]=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,Ct.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,!fn||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=vt(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}ln(function(){var r=a,i=rn(n),o=[];a:{var c=Br.get(e);if(c!==void 0){var l=Cn,u=e;switch(e){case`keypress`:if(vn(n)===0)break a;case`keydown`:case`keyup`:l=Vn;break;case`focusin`:u=`focus`,l=Mn;break;case`focusout`:u=`blur`,l=Mn;break;case`beforeblur`:case`afterblur`:l=Mn;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=An;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=jn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Un;break;case Nr:case Pr:case Fr:l=Nn;break;case zr:l=I;break;case`scroll`:case`scrollend`:l=Tn;break;case`wheel`:l=L;break;case`copy`:case`cut`:case`paste`:l=Pn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Hn;break;case`toggle`:case`beforetoggle`:l=Wn}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=un(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!==F&&(u=n.relatedTarget||n.fromElement)&&(vt(u)||u[dt]))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?vt(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=An,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Hn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:bt(l),h=u==null?c:bt(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,vt(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?bt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=or;else if(er(c))if(H)v=U;else{v=pr;var y=fr}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&Qt(r.elementType)&&(v=or):v=mr;if(v&&=v(e,r)){tr(o,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&Wt(c,`number`,c.value)}switch(y=r?bt(r):window,e){case`focusin`:(er(y)||y.contentEditable===`true`)&&(Cr=y,wr=r,Tr=null);break;case`focusout`:Tr=wr=Cr=null;break;case`mousedown`:Er=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Er=!1,Dr(o,n,i);break;case`selectionchange`:if(Sr)break;case`keydown`:case`keyup`:Dr(o,n,i)}var b;if(R)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 Xn?Jn(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(B&&n.locale!==`ko`&&(Xn||x!==`onCompositionStart`?x===`onCompositionEnd`&&Xn&&(b=_n()):(mn=i,hn=`value`in mn?mn.value:mn.textContent,Xn=!0)),y=Td(r,x),0<y.length&&(x=new Fn(x,e,null,n,i),o.push({event:x,listeners:y}),b?x.data=b:(b=Yn(n),b!==null&&(x.data=b)))),(b=z?Zn(e,n):Qn(e,n))&&(x=Td(r,`onBeforeInput`),0<x.length&&(y=new Fn(`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=un(e,n),i!=null&&r.unshift(wd(e,i,a)),i=un(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=un(n,a),l!=null&&o.unshift(wd(n,l,c))):i||(l=un(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
|
+
`).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===``||Jt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Jt(e,``+r);break;case`className`:Mt(e,`class`,r);break;case`tabIndex`:Mt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Mt(e,n,r);break;case`style`:Zt(e,r,o);break;case`data`:if(t!==`object`){Mt(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=tn(``+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=tn(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=nn);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=tn(``+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),jt(e,`popover`,r);break;case`xlinkActuate`:Nt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Nt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Nt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Nt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Nt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Nt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Nt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Nt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Nt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:jt(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=$t.get(n)||n,jt(e,n,r))}}function Nd(e,t,n,r,i,o){switch(n){case`style`:Zt(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`?Jt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Jt(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=nn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!wt.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[ut]||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,``):jt(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)}}Ut(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&&Gt(e,!!r,n,!0):Gt(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)}qt(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(Qt(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)}}Ht(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?Gt(e,!!n,n?[]:``,!1):Gt(e,!!n,t,!0)):Gt(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)}Kt(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(Qt(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[gt]||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),_t(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[gt])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]);_t(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=N.d;N.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=vu();return e||t}function yf(e){var t=yt(e);t!==null&&t.tag===5&&t.type===`form`?vs(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=Vt(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),St(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="`+Vt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Vt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Vt(n.imageSizes)+`"]`)):i+=`[href="`+Vt(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),St(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="`+Vt(r)+`"][href="`+Vt(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),St(r),n.head.appendChild(r)}}}function Ef(e,t,n){_f.S(e,t,n);var r=bf;if(r&&e){var i=xt(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`);St(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=xt(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`),St(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=xt(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`),St(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=ue.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=xt(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=xt(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=xt(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="`+Vt(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),St(t),e.head.appendChild(t))}function Pf(e){return`[src="`+Vt(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~="`+Vt(n.href)+`"]`);if(r)return t.instance=r,St(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`),St(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,St(o),o;r=Mf(n),(i=mf.get(i))&&Rf(r,i),o=(e.ownerDocument||e).createElement(`link`),St(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,St(i),i):(r=n,(i=mf.get(o))&&(r=p({},n),zf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),St(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[gt]||a[lt]||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,St(a);return}a=t.ownerDocument||t,r=Mf(r),(i=mf.get(i))&&Rf(r,i),a=a.createElement(`link`),St(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:ne,_currentValue2:ne,_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=Qe(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Qe(0),this.hiddenUpdates=Qe(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=ti(3,null,null,t),e.current=a,a.stateNode=e,t=$i(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Aa(a),e}function tp(e){return e?(e=$r,e):$r}function np(e,t,n,r,i,a){i=tp(i),r.context===null?r.context=i:r.pendingContext=i,r=Ma(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Na(e,r,t),n!==null&&(pu(n,e,t),Pa(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=Xr(e,67108864);t!==null&&pu(t,e,67108864),ip(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=du();t=it(t);var n=Xr(e,t);n!==null&&pu(n,e,t),ip(e,t)}}var sp=!0;function cp(e,t,n,r){var i=M.T;M.T=null;var a=N.p;try{N.p=2,up(e,t,n,r)}finally{N.p=a,M.T=i}}function lp(e,t,n,r){var i=M.T;M.T=null;var a=N.p;try{N.p=8,up(e,t,n,r)}finally{N.p=a,M.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=yt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=qe(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Be(o);s.entanglements[1]|=c,o&=~c}nd(a),!(Nl&6)&&($l=Oe()+500,rd(0,!1))}}break;case 31:case 13:s=Xr(a,2),s!==null&&pu(s,a,2),vu(),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=rn(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=vt(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(ke()){case Ae:return 2;case je:return 8;case Me:case Ne:return 32;case Pe: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=yt(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=vt(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,st(e.priority,function(){op(n)});return}}else if(t===31){if(t=l(n),t!==null){e.blockedOn=t,st(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);F=r,n.target.dispatchEvent(r),F=null}else return t=yt(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=yt(n);a!==null&&(e.splice(t,3),t-=3,gs(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[ut]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[ut]||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,du(),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),vu(),t[dt]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=ot();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`));N.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:M,reconcilerVersion:`19.2.4`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{Le=zp.inject(Rp),Re=zp}catch{}}e.createRoot=function(e,t){if(!o(e))throw Error(a(299));var n=!1,r=``,i=zs,s=Bs,c=Vs;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[dt]=t.current,xd(e),new Fp(t)}})),Gi=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=Wi()})),Ki=Hn(`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`}]]),qi=Hn(`file-diff`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]),Ji=Hn(`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`}]]),Yi=Hn(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),Xi=Hn(`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`}]]),Zi=Hn(`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`}]]),Qi=Hn(`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`}]]),$i=Hn(`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`}]]),ea=Hn(`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`}]]),ta=Hn(`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`}]]),na=Hn(`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`}]]),ra=Gi(),Y=e(r(),1),X=i(),ia=({...e})=>{let t=z(e=>e.themeMode);return(0,X.jsx)(Wn,{theme:t===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t,className:`toaster group`,icons:{success:(0,X.jsx)(he,{className:`size-4`}),info:(0,X.jsx)(Le,{className:`size-4`}),warning:(0,X.jsx)(Te,{className:`size-4`}),error:(0,X.jsx)(We,{className:`size-4`}),loading:(0,X.jsx)(Dn,{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})},aa=500;function oa({delayDuration:e=aa,disableHoverableContent:t=!0,...n}){return(0,X.jsx)(N,{"data-slot":`tooltip-provider`,delayDuration:e,disableHoverableContent:t,...n})}function sa({...e}){return(0,X.jsx)(oa,{children:(0,X.jsx)(k,{"data-slot":`tooltip`,...e})})}function ca({...e}){return(0,X.jsx)(ae,{"data-slot":`tooltip-trigger`,...e})}function la({className:e,sideOffset:t=0,children:n,...r}){let i=Yn();return(0,X.jsx)(se,{container:i,children:(0,X.jsxs)(ie,{"data-slot":`tooltip-content`,sideOffset:t,className:V(`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,X.jsx)(P,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground`})]})})}function ua(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function da(e,t){let n=getComputedStyle(e.ownerDocument.body);return t*parseFloat(n.fontSize)}function fa(e){return e/100*window.innerHeight}function pa(e){return e/100*window.innerWidth}function ma(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 ha({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=ma(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=da(t,i);break;case`em`:r=ua(t,i);break;case`vh`:r=fa(i);break;case`vw`:r=pa(i);break}return r}function ga(e){return parseFloat(e.toFixed(3))}function _a({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 va(e){let{panels:t}=e,n=_a({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=ga(ha({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=ga(ha({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=ga(ha({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=ga(ha({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 ya(e,t=`Assertion error`){if(!e)throw Error(t)}function ba(e,t){return Array.from(t).sort(e===`horizontal`?xa:Sa)}function xa(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function Sa(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function Ca(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function wa(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 Ta({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}=wa(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return ya(i,`No rect found`),i}var Ea;function Da(){return Ea===void 0&&(Ea=typeof matchMedia==`function`?!!matchMedia(`(pointer:coarse)`).matches:!1),Ea}function Oa(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=ba(n,Array.from(t.children).filter(Ca).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,Ta({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=Da()?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:_a({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 ka=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)}}},Aa=new Map,ja=new ka;function Ma(e){Aa=new Map(Aa),Aa.delete(e)}function Na(e,t){for(let[t]of Aa)if(t.id===e)return t}function Pa(e,t){for(let[t,n]of Aa)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function Fa(){return Aa}function Ia(e,t){return ja.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function La(e,t){let n=Aa.get(e);Aa=new Map(Aa),Aa.set(e,t),ja.emit(`groupChange`,{group:e,prev:n,next:t})}function Ra(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=wa(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 za(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function Ba(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:Ka(e),b:Ka(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();ya(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:Ga(Wa(n.a)),b:Ga(Wa(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 Va=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function Ha(e){let t=getComputedStyle(qa(e)??e).display;return t===`flex`||t===`inline-flex`}function Ua(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||Ha(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`||Va.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function Wa(e){let t=e.length;for(;t--;){let n=e[t];if(ya(n,`Missing node`),Ua(n))return n}return null}function Ga(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Ka(e){let t=[];for(;e;)t.push(e),e=qa(e);return t}function qa(e){let{parentNode:t}=e;return za(t)?t.host:t}function Ja(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 Ya({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Ca(n)||n.contains(e)||e.contains(n))return!0;if(Ba(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(Ja(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function Xa(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=Oa(r),a=Ra(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&Ya({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function Za(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 Qa(e,t,n=0){return Math.abs(ga(e)-ga(t))<=n}function $a(e,t){return Qa(e,t)?0:e>t?1:-1}function eo({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($a(r,c)<0)if(a){let e=(i+c)/2;r=$a(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=ga(r),r}function to({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(Qa(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;ya(u!=null,`Invalid first pivot index`),ya(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];ya(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(ya(n!=null,`Previous layout not found for panel index ${t}`),Qa(n,i)){let t=o-n;$a(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];ya(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(ya(n!=null,`Previous layout not found for panel index ${t}`),Qa(n,o)){let t=n-i;$a(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];ya(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&$a(i,c)<0)if(e>0){let t=c-o,n=t/2;$a(i+e,c)<0&&(e=$a(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;$a(i-e,c)<0&&(e=$a(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];ya(e!=null,`Previous layout not found for panel index ${r}`);let a=eo({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];ya(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=eo({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!Qa(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(Za(c,l))return i;{let t=e<0?d:u,r=s[t];ya(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=eo({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!Qa(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];ya(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=eo({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(Qa(i,s)||(t-=s-i,l[r]=s),Qa(t,0))break;e>0?r--:r++}}}if(!Qa(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 Z(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||$a(e[n],t[n])!==0)return!1;return!0}function no({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(!Qa(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];ya(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];ya(i!=null,`No layout data found for index ${e}`);let o=r[e];ya(o!=null,`No layout data found for index ${e}`);let s=eo({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!Qa(a,0))for(let e=0;e<t.length;e++){let n=r[e];ya(n!=null,`No layout data found for index ${e}`);let i=n+a,o=eo({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,Qa(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function ro({groupId:e,panelId:t}){let n=()=>{let t=Fa();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=no({layout:to({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});Z(l,p)||La(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&&Qa(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=_a({group:t});o(ga(ha({groupSize:a,panelElement:r,styleProp:e})/a*100))}}}function io(e){e.defaultPrevented||Xa(e,Fa()).forEach(t=>{if(t.separator){let n=t.panels.find(e=>e.panelConstraints.defaultSize!==void 0);if(n){let r=n.panelConstraints.defaultSize,i=ro({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function ao(e){let t=Fa();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 oo({groupId:e}){let t=()=>{let t=Fa();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=no({layout:e,panelConstraints:r});return n?o:(Z(o,c)||La(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function so(e,t){let n=ao(e),r=Pa(n.id,!0),i=n.separators.find(t=>t.element===e);ya(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);ya(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=oo({groupId:n.id}).getLayout(),c=no({layout:to({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});Z(s,c)||La(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels})}function co(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=ao(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&so(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&so(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&so(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&so(t,-5);break;case`End`:e.preventDefault(),so(t,100);break;case`Enter`:{e.preventDefault();let n=ao(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=Pa(n.id,!0),o=n.separators.find(e=>e.element===t);ya(o,`Matching separator not found`);let s=a.get(o);ya(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(ya(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];so(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=ao(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);ya(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(),so(t,-100);break}}var lo={cursorFlags:0,state:`inactive`},uo=new ka;function fo(){return lo}function po(e){return uo.addListener(`change`,e)}function mo(e){let t=lo,n={...lo};n.cursorFlags=e,lo=n,uo.emit(`change`,{prev:t,next:n})}function ho(e){let t=lo;lo=e,uo.emit(`change`,{prev:t,next:e})}function go(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Fa(),n=Xa(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)}),ho({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}var _o=e=>e,vo=()=>{},yo=1,bo=2,xo=4,So=8,Co=3,wo=12,To;function Eo(){return To===void 0&&(To=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&(To=!0)),To}function Do({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&&Eo()){let t=(e&yo)!==0,n=(e&bo)!==0,r=(e&xo)!==0,i=(e&So)!==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 Eo()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var Oo=new WeakMap;function ko(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Oo.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));let r=fo();switch(r.state){case`active`:case`hover`:{let e=Do({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}Oo.set(e,{prevStyle:t,styleSheet:n})}function Ao({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=to({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(Z(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?yo:bo;break;case`vertical`:s|=d<0?xo:So;break}}else La(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&Co:c|=s&Co,t.movementY===0?c|=o&wo:c|=s&wo,mo(c),ko(e)}function jo(e){let t=Fa(),n=fo();switch(n.state){case`active`:Ao({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Mo(e){if(e.defaultPrevented)return;let t=fo(),n=Fa();switch(t.state){case`active`:if(e.buttons===0){ho({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=Pa(e.group.id,!0);La(e.group,t)});return}Ao({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=Xa(e,n);r.length===0?t.state!==`inactive`&&ho({cursorFlags:0,state:`inactive`}):ho({cursorFlags:0,hitRegions:r,state:`hover`}),ko(e.currentTarget);break}}}function No(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(fo().state){case`hover`:ho({cursorFlags:0,state:`inactive`})}}function Po(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=fo();switch(t.state){case`active`:ho({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(ko(e.currentTarget),t.hitRegions.forEach(e=>{let t=Pa(e.group.id,!0);La(e.group,t)}),e.preventDefault())}}function Fo(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=ga(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=ga((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function Io(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=_a({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:ga(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function Lo(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 Ro({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=ga(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]=ga((r[e]??0)/a*l);else{let e=ga(l/c.length);for(let t of c)u[t]=e}return u}function zo(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 Bo=new Map;function Vo(e){let t=!0;ya(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=_a({group:e});if(t===0)return;let n=Pa(e.id);if(!n)return;let r=va(e),i=n.defaultLayoutDeferred?Fo(r):n.layout,a=no({layout:Ro({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&Z(n.layout,a)&&Lo(n.derivedPanelConstraints,r)&&n.groupSize===t)return;La(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else Io(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{ya(!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=_a({group:e}),s=va(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&(zo(e.panels,l)||(l=void 0));let u=no({layout:e.mutableState.layouts[c]??l??Fo(s),panelConstraints:s}),d=e.element.ownerDocument;Bo.set(d,(Bo.get(d)??0)+1);let f=new Map;return Oa(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),La(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{ya(!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`,co)}),Bo.get(d)===1&&(d.addEventListener(`dblclick`,io,!0),d.addEventListener(`pointerdown`,go,!0),d.addEventListener(`pointerleave`,jo),d.addEventListener(`pointermove`,Mo),d.addEventListener(`pointerout`,No),d.addEventListener(`pointerup`,Po,!0)),function(){t=!1,Bo.set(d,Math.max(0,(Bo.get(d)??0)-1)),Ma(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,co)}),Bo.get(d)||(d.removeEventListener(`dblclick`,io,!0),d.removeEventListener(`pointerdown`,go,!0),d.removeEventListener(`pointerleave`,jo),d.removeEventListener(`pointermove`,Mo),d.removeEventListener(`pointerout`,No),d.removeEventListener(`pointerup`,Po,!0)),a.disconnect()}}function Ho(){let[e,t]=(0,Y.useState)({});return[e,(0,Y.useCallback)(()=>t({}),[])]}function Uo(e){let t=(0,Y.useId)();return`${e??t}`}var Wo=typeof window<`u`?Y.useLayoutEffect:Y.useEffect;function Go(e){let t=(0,Y.useRef)(e);return Wo(()=>{t.current=e},[e]),(0,Y.useCallback)((...e)=>t.current?.(...e),[t])}function Ko(...e){return Go(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function qo(e){let t=(0,Y.useRef)({...e});return Wo(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var Jo=(0,Y.createContext)(null);function Yo(e,t){let n=(0,Y.useRef)({getLayout:()=>({}),setLayout:_o});(0,Y.useImperativeHandle)(t,()=>n.current,[]),Wo(()=>{Object.assign(n.current,oo({groupId:e}))})}function Xo({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,Y.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=Go(e=>{Z(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=Go(e=>{Z(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e))}),_=Uo(s),v=(0,Y.useRef)(null),[y,b]=Ho(),x=(0,Y.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=Ko(v,a);Yo(_,o);let C=Go((e,t)=>{let r=fo(),i=Na(e),a=Pa(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=qo({defaultLayout:n,disableCursor:r}),T=(0,Y.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=ba(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=ba(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=Na(_),i=Pa(_);r&&i&&La(r,{...i,derivedPanelConstraints:va(r)})},toggleSeparatorDisabled:(e,t)=>{let n=x.current.separators.find(t=>t.id===e);n&&(n.disabled=t)}}),[C,_,b,u,w]),E=(0,Y.useRef)(null);return Wo(()=>{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=Vo(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=Pa(r.id,!0);!o&&s.length>0&&(h(c),g(c));let l=Ia(_,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=Qa(t.collapsedSize,i[t.panelId]),a=Qa(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=fo().state!==`active`;h(i),o&&g(i)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,Y.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,X.jsx)(Jo.Provider,{value:T,children:(0,X.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})})}Xo.displayName=`Group`;function Zo(){let e=(0,Y.useContext)(Jo);return ya(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function Qo(e,t){let{id:n}=Zo(),r=(0,Y.useRef)({collapse:vo,expand:vo,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:vo});(0,Y.useImperativeHandle)(t,()=>r.current,[]),Wo(()=>{Object.assign(r.current,ro({groupId:n,panelId:e}))})}function $o({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=Uo(c),_=qo({disabled:a}),v=(0,Y.useRef)(null),y=Ko(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,togglePanelDisabled:w}=Zo(),T=d!==null,E=Go((e,t,n)=>{d?.(e,c,n)});Wo(()=>{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,Y.useEffect)(()=>{w(g,!!a)},[a,g,w]),Qo(g,f);let D=(0,Y.useSyncExternalStore)(e=>Ia(x,e),()=>JSON.stringify(b(x,g)),()=>JSON.stringify(b(x,g)));return(0,X.jsx)(`div`,{...m,"aria-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...es,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...JSON.parse(D)},children:(0,X.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}$o.displayName=`Panel`;var es={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function ts({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=no({layout:to({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=no({layout:to({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function ns({children:e,className:t,disabled:n,elementRef:r,id:i,style:a,...o}){let s=Uo(i),c=qo({disabled:n}),[l,u]=(0,Y.useState)({}),[d,f]=(0,Y.useState)(`inactive`),p=(0,Y.useRef)(null),m=Ko(p,r),{disableCursor:h,id:g,orientation:_,registerSeparator:v,toggleSeparatorDisabled:y}=Zo(),b=_===`horizontal`?`vertical`:`horizontal`;Wo(()=>{let e=p.current;if(e!==null){let t={disabled:c.disabled,element:e,id:s},n=v(t),r=po(e=>{f(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=Ia(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(ts({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[g,s,v,c]),(0,Y.useEffect)(()=>{y(s,!!n)},[n,s,y]);let x;return n&&!h&&(x=`not-allowed`),(0,X.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})}ns.displayName=`Separator`;function rs(e){let[t,n]=(0,Y.useState)(()=>typeof window<`u`?window.matchMedia(e).matches:!1);return(0,Y.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 is(e){try{let t=new Date(e),n=new Date().getTime()-t.getTime(),r=Math.floor(n/6e4);if(r<1)return`just now`;if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<7?`${a}d ago`:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}catch{return``}}function as(e,t){let[n,r]=(0,Y.useState)(e);return(0,Y.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function os(e){let[t,n]=(0,Y.useState)([]),[r,i]=(0,Y.useState)({}),a=(0,Y.useCallback)(async()=>{if(e)try{let t=await L.get(`${I(e)}/tags`);n(t.tags),i(t.counts)}catch{}},[e]);return(0,Y.useEffect)(()=>{a()},[a]),{projectTags:t,tagCounts:r,loadTags:a}}function ss({projectTags:e,tagCounts:t,totalCount:n,selectedTagId:r,onSelect:i}){return e.length===0?null:(0,X.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5 overflow-x-auto scrollbar-none`,children:[(0,X.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,X.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,X.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,` (`,t[e.id]??0,`)`]},e.id))]})}var cs={approval_request:`bg-error`,question:`bg-warning`,done:`bg-primary`},ls={done:0,question:1,approval_request:2};function us(e){return e&&cs[e]||`bg-error`}var ds={approval_request:`bg-error/10`,question:`bg-warning/10`,done:`bg-primary/10`};function fs(e){return e&&ds[e]||`bg-error/10`}var ps=Kn()(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}}),L.post(`/api/project/${encodeURIComponent(n)}/chat/sessions/${encodeURIComponent(t)}/unread`,{projectName:n}).catch(()=>{})},clearForSession:t=>{let n=ps.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&&L.post(`/api/project/${encodeURIComponent(n)}/chat/sessions/${encodeURIComponent(t)}/read`).catch(()=>{})},clearAll:()=>{let t=[...ps.getState().notifications];t.length!==0&&(e({notifications:new Map}),L.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 L.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 ms(e){return e.notifications.size}function hs(e){return t=>{if(!e)return 0;let n=0;for(let[,r]of t.notifications)r.projectName===e&&n++;return n}}function gs(e){return t=>{let n=null,r=-1;for(let[,i]of t.notifications){if(i.projectName!==e)continue;let t=ls[i.type]??0;t>r&&(r=t,n=i.type)}return n}}function _s({session:e,projectName:t,projectTags:n,children:r,onTogglePin:i,onStartEditing:a,onDeleteSession:o,onTagChanged:s}){let c=ps(e=>e.markUnread),l=ps(t=>t.notifications.has(e.id)),u=(0,Y.useCallback)(async r=>{try{if(r){await L.patch(`${I(t)}/chat/sessions/${e.id}/tag`,{tagId:r});let i=n.find(e=>e.id===r);i&&s(e.id,{id:i.id,name:i.name,color:i.color})}else await L.del(`${I(t)}/chat/sessions/${e.id}/tag`),s(e.id,null)}catch{}},[e.id,t,n,s]);return(0,X.jsxs)(Er,{children:[(0,X.jsx)(Dr,{asChild:!0,children:r}),(0,X.jsxs)(Sr,{children:[(0,X.jsxs)(wr,{onClick:t=>i(t,e),children:[e.pinned?(0,X.jsx)(_t,{className:`size-3.5 mr-2`}):(0,X.jsx)(pt,{className:`size-3.5 mr-2`}),e.pinned?`Unpin`:`Pin`]}),!l&&(0,X.jsxs)(wr,{onClick:()=>c(e.id,t,e.title),children:[(0,X.jsx)(Bn,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),a&&(0,X.jsxs)(wr,{onClick:t=>a(e,t),children:[(0,X.jsx)(ge,{className:`size-3.5 mr-2`}),`Rename`]}),n.length>0&&(0,X.jsxs)(Tr,{children:[(0,X.jsxs)(xr,{children:[(0,X.jsx)(zn,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,X.jsxs)(yr,{children:[n.map(t=>(0,X.jsxs)(wr,{onClick:()=>u(t.id),children:[(0,X.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:t.color}}),t.name,e.tag?.id===t.id&&(0,X.jsx)(jn,{className:`size-3 ml-auto`})]},t.id)),e.tag&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Cr,{}),(0,X.jsx)(wr,{onClick:()=>u(null),children:`Remove tag`})]})]})]}),o&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Cr,{}),(0,X.jsxs)(wr,{className:`text-error focus:text-error`,onClick:t=>o(t,e),children:[(0,X.jsx)(Nn,{className:`size-3.5 mr-2`}),`Delete`]})]})]})]})}function vs({name:e,children:t,...n}){return(0,X.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 ys(e){return(0,X.jsx)(vs,{name:`claude`,...e,children:(0,X.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 bs(e){let t=`${(0,Y.useId)()}codex`;return(0,X.jsxs)(vs,{name:`codex`,...e,children:[(0,X.jsx)(`defs`,{children:(0,X.jsxs)(`linearGradient`,{id:t,gradientUnits:`userSpaceOnUse`,x1:`12`,x2:`12`,y1:`0`,y2:`24`,children:[(0,X.jsx)(`stop`,{stopColor:`#B1A7FF`}),(0,X.jsx)(`stop`,{offset:`.5`,stopColor:`#7A9DFF`}),(0,X.jsx)(`stop`,{offset:`1`,stopColor:`#3941FF`})]})}),(0,X.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 xs(e){return(0,X.jsx)(vs,{name:`cursor`,fill:`currentColor`,...e,children:(0,X.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 Ss(e){let t=(0,Y.useId)(),n=[`#3186FF`,`url(#${t}green)`,`url(#${t}red)`,`url(#${t}yellow)`];return(0,X.jsxs)(vs,{name:`gemini`,...e,children:[(0,X.jsxs)(`defs`,{children:[(0,X.jsxs)(`linearGradient`,{id:`${t}green`,gradientUnits:`userSpaceOnUse`,x1:`7`,x2:`11`,y1:`15.5`,y2:`12`,children:[(0,X.jsx)(`stop`,{stopColor:`#08B962`}),(0,X.jsx)(`stop`,{offset:`1`,stopColor:`#08B962`,stopOpacity:`0`})]}),(0,X.jsxs)(`linearGradient`,{id:`${t}red`,gradientUnits:`userSpaceOnUse`,x1:`8`,x2:`11.5`,y1:`5.5`,y2:`11`,children:[(0,X.jsx)(`stop`,{stopColor:`#F94543`}),(0,X.jsx)(`stop`,{offset:`1`,stopColor:`#F94543`,stopOpacity:`0`})]}),(0,X.jsxs)(`linearGradient`,{id:`${t}yellow`,gradientUnits:`userSpaceOnUse`,x1:`3.5`,x2:`17.5`,y1:`13.5`,y2:`12`,children:[(0,X.jsx)(`stop`,{stopColor:`#FABC12`}),(0,X.jsx)(`stop`,{offset:`.46`,stopColor:`#FABC12`,stopOpacity:`0`})]})]}),n.map(e=>(0,X.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 Cs={claude:ys,codex:bs,cursor:xs,gemini:Ss};function ws({providerId:e,className:t}){let n=e?Cs[e]:void 0;return n?(0,X.jsx)(n,{className:V(`shrink-0`,t)}):(0,X.jsx)(`span`,{className:V(`inline-flex items-center justify-center rounded bg-surface-elevated text-[10px] font-bold text-text-subtle shrink-0`,t),children:`?`})}function Ts({value:e,onChange:t,projectName:n}){let[r,i]=(0,Y.useState)([]),[a,o]=(0,Y.useState)(!1),s=(0,Y.useRef)(null),c=(0,Y.useRef)(0);(0,Y.useEffect)(()=>{n&&L.get(`${I(n)}/chat/providers`).then(i).catch(()=>{})},[n]),(0,Y.useEffect)(()=>{if(!a)return;let e=e=>{s.current&&!s.current.contains(e.target)&&o(!1)},t=s.current?.ownerDocument??document;return t.addEventListener(`mousedown`,e),()=>t.removeEventListener(`mousedown`,e)},[a]),(0,Y.useEffect)(()=>{a&&(c.current=Math.max(0,r.findIndex(t=>t.id===e)))},[a,e,r]);let l=(0,Y.useCallback)(e=>{if(e.key===`Escape`){o(!1);return}if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;c.current=(c.current+t+r.length)%r.length,(s.current?.querySelector(`[data-idx="${c.current}"]`))?.focus()}if(e.key===`Enter`){e.preventDefault();let n=r[c.current];n&&(t(n.id),o(!1))}},[t,r]);if(r.length<=1)return null;let u=r.find(t=>t.id===e);return(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o(e=>!e)},className:`inline-flex items-center gap-1.5 px-[9px] py-1 rounded-full text-[11.5px] text-text-2 bg-panel-2 border border-border-soft hover:text-text-primary hover:border-border transition-colors`,"aria-label":`AI Provider: ${u?.name??e}`,children:[(0,X.jsx)(ws,{providerId:e,className:`size-3.5`}),(0,X.jsx)(`span`,{className:`max-w-[80px] truncate capitalize`,children:u?.name??e})]}),a&&(0,X.jsxs)(`div`,{ref:s,role:`listbox`,"aria-label":`AI Providers`,onKeyDown:l,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),className:`absolute bottom-full left-0 mb-1 z-50 w-56 rounded-lg border border-border popover-solid shadow-[var(--shadow-panel)]`,children:[(0,X.jsx)(`div`,{className:`px-3 py-2 border-b border-border`,children:(0,X.jsx)(`span`,{className:`text-xs font-medium text-text-secondary`,children:`Provider`})}),(0,X.jsx)(`div`,{className:`py-1`,children:r.map((n,r)=>{let i=n.id===e;return(0,X.jsxs)(`button`,{"data-idx":r,role:`option`,"aria-selected":i,tabIndex:0,onClick:()=>{t(n.id),o(!1)},className:`w-full flex items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-surface-elevated focus:bg-surface-elevated focus:outline-none ${i?`bg-surface-elevated`:``}`,children:[(0,X.jsx)(ws,{providerId:n.id,className:`size-4`}),(0,X.jsx)(`span`,{className:`flex-1 text-sm font-medium text-text-primary capitalize`,children:n.name}),i&&(0,X.jsx)(jn,{className:`size-4 shrink-0 text-primary`})]},n.id)})})]})]})}function Es({providerId:e}){return(0,X.jsx)(`span`,{className:`inline-flex shrink-0`,title:e,children:(0,X.jsx)(ws,{providerId:e,className:`size-4`})})}var Ds=5,Os=20;function ks({projectName:e,onSelectSession:t,className:n}){let[r,i]=(0,Y.useState)([]),[a,o]=(0,Y.useState)(!1),[s,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(``),d=as(l,300),[f,p]=(0,Y.useState)(null),{projectTags:m,tagCounts:h,loadTags:g}=os(e),_=(0,Y.useCallback)(async t=>{if(e){o(!0);try{let n=new URLSearchParams({limit:String(Os)});t&&n.set(`q`,t),i((await L.get(`${I(e)}/chat/sessions?${n}`)).sessions.slice(0,Os))}catch{}finally{o(!1)}}},[e]);(0,Y.useEffect)(()=>{_()},[_]),(0,Y.useEffect)(()=>{_(d||void 0)},[d]);let v=(0,Y.useCallback)(async(t,n)=>{if(t.stopPropagation(),!e)return;let r=`${I(e)}/chat/sessions/${n.id}/pin`;try{n.pinned?await L.del(r):await L.put(r),i(e=>e.map(e=>e.id===n.id?{...e,pinned:!e.pinned}:e).sort((e,t)=>e.pinned&&!t.pinned?-1:!e.pinned&&t.pinned?1:new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()))}catch{}},[e]),y=(0,Y.useCallback)((e,t)=>{i(n=>n.map(n=>n.id===e?{...n,tag:t}:n)),g()},[g]),b=f===null?r:r.filter(e=>e.tag?.id===f),x=b.filter(e=>e.pinned),S=b.filter(e=>!e.pinned),C=s?S:S.slice(0,Ds),w=S.length>Ds;return a||!e||r.length===0?null:(0,X.jsxs)(`div`,{className:n,children:[(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.jsx)(Yt,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 size-3.5 text-text-subtle pointer-events-none`}),(0,X.jsx)(`input`,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`Search chats...`,className:`w-full pl-8 pr-8 py-1.5 text-xs rounded-md border border-border bg-surface text-text-primary placeholder:text-text-subtle focus:outline-none focus:ring-1 focus:ring-primary/50`}),l&&(0,X.jsx)(`button`,{onClick:()=>u(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-text-subtle hover:text-text-primary`,children:(0,X.jsx)(_e,{className:`size-3.5`})})]}),(0,X.jsx)(`div`,{className:`mt-3`,children:(0,X.jsx)(ss,{projectTags:m,tagCounts:h,totalCount:r.length,selectedTagId:f,onSelect:p})}),x.length>0&&(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 w-full mt-4`,children:[(0,X.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Pinned`}),(0,X.jsx)(`div`,{className:`w-full rounded-md border border-border bg-surface overflow-hidden`,children:x.map(n=>(0,X.jsx)(As,{session:n,projectName:e,projectTags:m,onSelect:t,onTogglePin:v,onTagChanged:y},n.id))})]}),C.length>0&&(0,X.jsxs)(`div`,{className:`flex flex-col gap-2 w-full mt-4`,children:[(0,X.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Recent chats`}),(0,X.jsx)(`div`,{className:`w-full rounded-md border border-border bg-surface overflow-hidden`,children:C.map(n=>(0,X.jsx)(As,{session:n,projectName:e,projectTags:m,onSelect:t,onTogglePin:v,onTagChanged:y},n.id))}),w&&(0,X.jsxs)(`button`,{onClick:()=>c(!s),className:`flex items-center justify-center gap-1 text-[11px] text-text-subtle hover:text-text-primary transition-colors py-1`,children:[s?(0,X.jsx)(Ge,{className:`size-3`}):(0,X.jsx)(Ye,{className:`size-3`}),s?`Show less`:`Show more (${S.length-Ds})`]})]})]})}function As({session:e,projectName:t,projectTags:n,onSelect:r,onTogglePin:i,onTagChanged:a}){let o=ps(t=>t.notifications.get(e.id));return(0,X.jsx)(_s,{session:e,projectName:t,projectTags:n,onTogglePin:i,onTagChanged:a,children:(0,X.jsxs)(`button`,{onClick:()=>r(e),className:V(`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&&fs(o.type)),children:[(0,X.jsx)(Es,{providerId:e.providerId}),e.tag&&(0,X.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.tag.color},title:e.tag.name}),(0,X.jsx)(`span`,{className:V(`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,X.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0`,children:is(e.updatedAt)}),(0,X.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,X.jsx)(_t,{className:`size-3`}):(0,X.jsx)(pt,{className:`size-3`})})]})})}function js(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 Ms=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return Ms(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return Ms(t)(e)}}}},Ns=(e,t)=>(n,r,i)=>{let a={storage:js(()=>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 Ms(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},Ps=5e5,Fs=Kn()(Ns(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>Ps){let{dirtyContent:e,...n}=t;return{selection:n}}return{selection:t}}})),Is=null;U.subscribe(e=>{let t=e.activeProject?.name??null;Is!==null&&Is!==t&&Fs.getState().clearSelection(),Is=t});async function Ls(e,t,n){let r=`${Jn(e.path)} ↔ ${Jn(t.path)}`,i=e.dirtyContent!==void 0,a=t.dirtyContent!==void 0,o;if(i||a){let[r,i]=await Promise.all([Rs(e,n),Rs(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 W.getState().openTab({type:`git-diff`,title:r,projectId:n,metadata:o,closable:!0})}async function Rs(e,t){if(e.dirtyContent!==void 0)return e.dirtyContent;try{let{content:n}=await L.get(`${I(t)}/files/read?path=${encodeURIComponent(e.path)}`);return n}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Failed to read "${e.path}": ${n}`)}}var zs=`application/ppm-tab`,Bs=!1,Vs=new Set;function Hs(e){Bs!==e&&(Bs=e,Vs.forEach(e=>e()))}function Us(){return(0,Y.useSyncExternalStore)(e=>(Vs.add(e),()=>Vs.delete(e)),()=>Bs)}function Ws(){Hs(!1)}function Gs(e){let[t,n]=(0,Y.useState)(null),r=(0,Y.useRef)(null);return{dropIndex:t,handleDragStart:(0,Y.useCallback)((t,n)=>{let r={tabId:n,panelId:e};t.dataTransfer.setData(zs,JSON.stringify(r)),t.dataTransfer.effectAllowed=`move`,requestAnimationFrame(()=>Hs(!0))},[e]),handleDragOver:(0,Y.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,Y.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`)},[]),handleDrop:(0,Y.useCallback)(i=>{i.preventDefault(),Hs(!1);let a=i.dataTransfer.getData(zs);if(a){try{let n=JSON.parse(a),r=H.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,Y.useCallback)(()=>{Hs(!1),n(null),r.current=null},[])}}var Ks=null,qs=null,Js=0,Ys=new Set;function Xs(){Ys.forEach(e=>e())}function Zs(){return(0,Y.useSyncExternalStore)(e=>(Ys.add(e),()=>Ys.delete(e)),()=>qs)}function Qs(){return Date.now()-Js<300}var $s=null;function ec(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),$s=r}function tc(e,t){$s&&($s.style.left=`${e}px`,$s.style.top=`${t}px`)}function nc(){$s?.remove(),$s=null}function rc(e,t){$s&&($s.style.display=`none`);let n=document.elementFromPoint(e,t);$s&&($s.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}=H.getState(),u=window.innerWidth<768,d=ir(l,i),f=d?!u&&(l[d.row]?.length??0)<sr(!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 ic(e){if(!Ks)return;e.preventDefault();let t=e.touches[0];if(!t)return;tc(t.clientX,t.clientY);let n=rc(t.clientX,t.clientY);(n?.panelId!==qs?.panelId||n?.zone!==qs?.zone)&&(qs=n,Xs())}function ac(){Ks=null,qs=null,Xs(),nc(),Ws(),document.removeEventListener(`touchmove`,ic),document.removeEventListener(`touchend`,oc),document.removeEventListener(`touchcancel`,sc)}function oc(){let e=Ks,t=qs;if(ac(),Js=Date.now(),!e||!t)return;let n=H.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 sc(){ac(),Js=Date.now()}function cc(e,t,n,r){Ks=e,Hs(!0),ec(t,n,r),document.addEventListener(`touchmove`,ic,{passive:!1}),document.addEventListener(`touchend`,oc),document.addEventListener(`touchcancel`,sc)}var lc=200,uc=10;function dc(e){let t=(0,Y.useRef)(null),n=(0,Y.useRef)(null),r=(0,Y.useRef)(!1),i=(0,Y.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,cc({tabId:a,panelId:e},o,n.current.x,n.current.y)},lc))},[e]),a=(0,Y.useCallback)(e=>{if(r.current||!n.current||!t.current)return;let i=e.touches[0];i&&(Math.abs(i.clientX-n.current.x)>uc||Math.abs(i.clientY-n.current.y)>uc)&&(clearTimeout(t.current),t.current=null)},[]),o=(0,Y.useCallback)(()=>{t.current&&=(clearTimeout(t.current),null)},[]),s=(0,Y.useCallback)(()=>{t.current&&=(clearTimeout(t.current),null),n.current=null},[]);return(0,Y.useEffect)(()=>()=>{t.current&&clearTimeout(t.current)},[]),{handleTouchStart:i,handleTouchMove:a,handleTouchEnd:o,handleTouchCancel:s}}var fc=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),pc=[{id:`command-palette`,label:`Command Palette`,category:`general`,defaultKey:`F1`,note:`Shift+Shift also opens (not customizable)`},{id:`toggle-sidebar`,label:`Toggle Sidebar`,category:`general`,defaultKey:`Mod+B`},{id:`toggle-dock`,label:`Toggle Terminal Panel`,category:`general`,defaultKey:`Mod+'`,note:`Opens/closes the terminal panel; auto-opens a terminal when empty. Fires even when a terminal is focused.`},{id:`save-prevent`,label:`Prevent Save Dialog`,category:`general`,defaultKey:`Mod+S`,locked:!0,note:`Always active — prevents browser save`},{id:`next-tab`,label:`Next Tab`,category:`tabs`,defaultKey:`Alt+]`},{id:`prev-tab`,label:`Previous Tab`,category:`tabs`,defaultKey:`Alt+[`},{id:`new-file`,label:`New File`,category:`tabs`,defaultKey:`Mod+N`},{id:`open-chat`,label:`Open Chat`,category:`tabs`,defaultKey:`Mod+L`},{id:`open-terminal`,label:`Open Terminal Tab`,category:`tabs`,defaultKey:``,note:`No default shortcut — Mod+' now toggles the terminal panel; still available via the command palette`},{id:`open-settings`,label:`Open Settings`,category:`tabs`,defaultKey:`Mod+,`},{id:`open-git-status`,label:`Git Status (sidebar)`,category:`tabs`,defaultKey:`Mod+Shift+E`},{id:`open-search`,label:`Search Files (sidebar)`,category:`tabs`,defaultKey:`Mod+Shift+F`},{id:`open-problems`,label:`Problems`,category:`tabs`,defaultKey:`Mod+Shift+M`,note:`Errors and warnings across the open files, in the panel — VS Code's shortcut`},{id:`voice-input`,label:`Voice Input`,category:`general`,defaultKey:`Mod+Shift+V`,note:`Toggle speech-to-text in chat`},{id:`chat-nav-prev`,label:`Previous Chat Message`,category:`general`,defaultKey:`Alt+ArrowUp`,note:`Jump to your previous message in the visible chat transcript`},{id:`chat-nav-next`,label:`Next Chat Message`,category:`general`,defaultKey:`Alt+ArrowDown`,note:`Jump to your next message in the visible chat transcript`},{id:`compare-files`,label:`Compare Files...`,category:`general`,defaultKey:`Mod+Alt+D`,note:`Open file-compare picker (seeds active file as A)`},...Array.from({length:9},(e,t)=>({id:`switch-project-${t+1}`,label:`Switch to Project ${t+1}`,category:`projects`,defaultKey:`Mod+${t+1}`}))],mc=new Map(pc.map(e=>[e.id,e.defaultKey]));function hc(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`:fc?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 gc(e,t){return e.ctrlKey!==t.ctrl||e.metaKey!==t.meta||e.altKey!==t.alt||e.shiftKey!==t.shift?!1:e.key.toLowerCase()===t.key}function _c(e){return e.replace(/Mod/g,fc?`⌘`:`Ctrl`).replace(/Shift/g,fc?`⇧`:`Shift`).replace(/Alt/g,fc?`⌥`:`Alt`).replace(/Meta|Cmd/g,`⌘`).replace(/Ctrl/g,fc?`⌃`:`Ctrl`)}function vc(e){if([`Control`,`Meta`,`Alt`,`Shift`].includes(e.key))return null;let t=[];e.ctrlKey&&!e.metaKey&&t.push(fc?`Ctrl`:`Mod`),e.metaKey&&t.push(fc?`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 yc(e){let t=new Map;for(let n of pc){let r=e[n.id]??n.defaultKey;r&&t.set(n.id,hc(r))}return t}var bc=yc({}),xc=Kn((e,t)=>({overrides:{},parsedCache:bc,loaded:!1,getBinding:e=>t().overrides[e]??mc.get(e)??``,matchesEvent:(e,n)=>{let r=t().parsedCache.get(n);return r?gc(e,r):!1},setBinding:(n,r)=>{let i={...t().overrides,[n]:r};e({overrides:i,parsedCache:yc(i)}),L.put(`/api/settings/keybindings`,{[n]:r}).catch(()=>{})},resetBinding:n=>{let r={...t().overrides};delete r[n],e({overrides:r,parsedCache:yc(r)}),L.put(`/api/settings/keybindings`,{[n]:null}).catch(()=>{})},resetAll:()=>{let n={};for(let e of Object.keys(t().overrides))n[e]=null;e({overrides:{},parsedCache:yc({})}),Object.keys(n).length>0&&L.put(`/api/settings/keybindings`,n).catch(()=>{})},loadFromServer:async()=>{try{let t=await L.get(`/api/settings/keybindings`);e({overrides:t,parsedCache:yc(t),loaded:!0})}catch{e({loaded:!0})}}})),Sc=Kn((e,t)=>({statusBarItems:[],addStatusBarItem:t=>e(e=>({statusBarItems:[...e.statusBarItems.filter(e=>e.id!==t.id),t]})),removeStatusBarItem:t=>e(e=>({statusBarItems:e.statusBarItems.filter(e=>e.id!==t)})),updateStatusBarItem:(t,n)=>e(e=>({statusBarItems:e.statusBarItems.map(e=>e.id===t?{...e,...n}:e)})),treeViews:{},updateTree:(t,n)=>e(e=>({treeViews:{...e.treeViews,[t]:n}})),updateTreeChildren:(t,n,r)=>e(e=>{let i=e.treeViews[t];if(!i)return e;let a=e=>e.map(e=>e.id===n?{...e,children:r,collapsibleState:`expanded`}:e.children?{...e,children:a(e.children)}:e);return{treeViews:{...e.treeViews,[t]:a(i)}}}),removeTree:t=>e(e=>{let{[t]:n,...r}=e.treeViews;return{treeViews:r}}),webviewPanels:{},addWebviewPanel:t=>e(e=>({webviewPanels:{...e.webviewPanels,[t.id]:t}})),removeWebviewPanel:t=>e(e=>{let{[t]:n,...r}=e.webviewPanels;return{webviewPanels:r}}),updateWebviewPanel:(t,n)=>e(e=>{let r=e.webviewPanels[t];return r?{webviewPanels:{...e.webviewPanels,[t]:{...r,...n}}}:e}),contributions:null,setContributions:t=>e({contributions:t}),activationErrors:{},setActivationErrors:t=>e({activationErrors:t}),quickPick:null,showQuickPick:(n,r={})=>{let i=t().quickPick;return i&&i.resolve(void 0),new Promise(t=>{e({quickPick:{items:n,options:r,resolve:t}})})},resolveQuickPick:n=>{let r=t().quickPick;r&&(r.resolve(n),e({quickPick:null}))},inputBox:null,showInputBox:(n={})=>{let r=t().inputBox;return r&&r.resolve(void 0),new Promise(t=>{e({inputBox:{options:n,resolve:t}})})},resolveInputBox:n=>{let r=t().inputBox;r&&(r.resolve(n),e({inputBox:null}))},clearExtension:t=>e(e=>{let n={...e.webviewPanels};for(let[e,r]of Object.entries(n))r.extensionId===t&&delete n[e];return{statusBarItems:e.statusBarItems.filter(e=>e.extensionId!==t),webviewPanels:n}})}));function Cc(e,t,n){return e?{kind:`tab`,tab:{type:`settings`,title:`Settings`,projectId:null,closable:!0,...n&&{metadata:{category:n}}}}:t?{kind:`focus`,id:t,...n&&{category:n}}:{kind:`window`,...n&&{category:n}}}function wc(e){let t=mr.getState(),n=Object.values(t.windows).find(e=>e.kind===`settings`),r=Cc(Rr(),n?.id??null,e);if(r.kind===`tab`){W.getState().openTab(r.tab);return}if(r.kind===`focus`){r.category&&t.setPayload(r.id,{category:r.category}),t.focus(r.id);return}t.open(`settings`,r.category?{category:r.category}:void 0)}async function Tc(e){let t=U.getState().activeProject,n=[];t?.path&&n.push(Gr(e)?await qr(t.name,t.path):t.path),window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:n}}))}function Ec(e){window.dispatchEvent(new CustomEvent(`open-command-palette`,{detail:e}))}function Dc(){let[e,t]=(0,Y.useState)(!1),[n,r]=(0,Y.useState)(``);return(0,Y.useEffect)(()=>{let e=0,n=!1,{matchesEvent:i}=xc.getState(),a=new Map,o=!1;function s(){o=!0}function c(){o=!1}function l(e,t){let n=t(e,`chat-nav-prev`)?`prev`:t(e,`chat-nav-next`)?`next`:null;return n?(e.preventDefault(),window.dispatchEvent(new CustomEvent(`chat-nav-${n}`)),!0):!1}function u(i){if(i.type===`keydown`&&i.key===`Shift`){n=!0;return}if(i.type===`keydown`&&i.shiftKey&&(n=!1),i.type===`keydown`&&i.key!==`Shift`&&(e=0),i.type===`keyup`&&i.key===`Shift`&&n&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&!o&&!i.isComposing){let n=Date.now();if(n-e<400){e=0,r(``),t(!0);return}e=n;return}if(i.type!==`keydown`||o||i.isComposing)return;let s=i.target?.tagName;if(s===`TEXTAREA`||s===`INPUT`||i.target?.isContentEditable){let{matchesEvent:e}=xc.getState();e(i,`save-prevent`)&&i.preventDefault(),e(i,`toggle-dock`)&&(i.preventDefault(),H.getState().toggleDock()),l(i,e);return}let{matchesEvent:c}=xc.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(),z.getState().toggleSidebar();return}if(c(i,`toggle-dock`)){i.preventDefault(),H.getState().toggleDock();return}if(c(i,`next-tab`)||c(i,`prev-tab`)){i.preventDefault();let{tabs:e,activeTabId:t,setActiveTab:n}=W.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(),W.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=U.getState().activeProject;W.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(),wc();return}if(c(i,`open-git-status`)){i.preventDefault();let e=z.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}=W.getState(),n=t.find(t=>t.id===e),r=n?.metadata;n?.type===`editor`&&r?.filePath&&r?.projectName&&Fs.getState().setSelection({filePath:r.filePath,projectName:r.projectName,dirtyContent:r.unsavedContent,label:Jn(r.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`));return}if(c(i,`open-search`)){i.preventDefault();let e=z.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`search`);return}if(c(i,`open-problems`)){i.preventDefault(),H.getState().openInDock({type:`problems`,title:`Problems`,projectId:null,closable:!0});return}for(let e=1;e<=9;e++)if(c(i,`switch-project-${e}`)){i.preventDefault();let t=U.getState().projects[e-1];t&&(U.getState().setActiveProject(t),W.getState().switchProject(t.name));return}let u=Sc.getState().contributions?.keybindings;if(u){let e=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),{getBinding:t}=xc.getState();for(let n of u){let r=t(`ext:${n.command}`)||(e&&n.mac?n.mac:n.key);if(!r)continue;let o=a.get(r);if(o||(o=hc(r),a.set(r,o)),gc(i,o)){i.preventDefault(),Tc(n.command);return}}}}function d(e){let n=e.detail;r(typeof n==`string`?n:``),t(!0)}return window.addEventListener(`keydown`,u),window.addEventListener(`keyup`,u),window.addEventListener(`compositionstart`,s),window.addEventListener(`compositionend`,c),window.addEventListener(`open-command-palette`,d),()=>{window.removeEventListener(`keydown`,u),window.removeEventListener(`keyup`,u),window.removeEventListener(`compositionstart`,s),window.removeEventListener(`compositionend`,c),window.removeEventListener(`open-command-palette`,d)}},[]),{paletteOpen:e,paletteInitialQuery:n,closePalette:(0,Y.useCallback)(()=>{t(!1),r(``)},[])}}function Oc(e){let[t,n]=(0,Y.useState)(!1),[r,i]=(0,Y.useState)(!1),a=(0,Y.useCallback)(()=>{let t=e.current;t&&(n(t.scrollLeft>1),i(t.scrollLeft+t.clientWidth<t.scrollWidth-1))},[e]);return(0,Y.useEffect)(()=>{let t=e.current;if(!t)return;a(),t.addEventListener(`scroll`,a,{passive:!0});let n=new ResizeObserver(a);n.observe(t);let r=new MutationObserver(a);return r.observe(t,{childList:!0,subtree:!0}),()=>{t.removeEventListener(`scroll`,a),n.disconnect(),r.disconnect()}},[e,a]),{canScrollLeft:t,canScrollRight:r,scrollLeft:(0,Y.useCallback)(()=>{e.current?.scrollBy({left:-150,behavior:`smooth`})},[e]),scrollRight:(0,Y.useCallback)(()=>{e.current?.scrollBy({left:150,behavior:`smooth`})},[e])}}var kc={done:0,question:1,approval_request:2};function Ac(e,t,n,r){if(!e)return{left:null,right:null};let i=e.scrollLeft,a=i+e.clientWidth,o=null,s=-1,c=null,l=-1,u=e.getBoundingClientRect();for(let d of n){if(d.type!==`chat`)continue;let n=d.metadata?.sessionId,f=n?r.get(n):void 0;if(!f||f.count===0)continue;let p=t.get(d.id);if(!p)continue;let m=p.getBoundingClientRect(),h=m.left-u.left+e.scrollLeft,g=h+m.width,_=kc[f.type]??0;g<=i&&_>s&&(s=_,o=f.type),h>=a&&_>l&&(l=_,c=f.type)}return{left:o,right:c}}var jc={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 Mc(e,t,n){let r=jc[e];return V(r.base,n?`border-t-transparent`:t?r.active:r.inactive)}function Nc(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 V(jc[e].row,t?`flex-wrap min-h-[41px]`+n:`h-[41px]`)}function Pc(e){return jc[e].add}function Fc(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 Ic(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 Lc(e,t){let n=Ic(e),r=Ic(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 Rc(e,t,n){let[r,i,a]=[e,t,n].map(e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a}function zc(e){let t=Fc(e);return t?Rc(t.r,t.g,t.b)<.4:!1}function Bc({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,Y.useState)(!1),[C,w]=(0,Y.useState)(e.title),T=(0,Y.useRef)(null),E=z(e=>e.editorTabStyle);(0,Y.useEffect)(()=>{x&&(w(e.title),setTimeout(()=>T.current?.select(),0))},[x]);let D=()=>{S(!1);let t=C.trim();t&&t!==e.title&&_&&_(t)},O=e.metadata?.connectionColor,k=O?{backgroundColor:t?O:`${O}33`,color:t&&zc(O)?`#fff`:void 0}:void 0,A=e.type===`editor`,j=(0,X.jsxs)(`button`,{ref:g,"data-tab-item":!0,"data-tab-id":e.id,draggable:!x,onClick:s,onAuxClick:t=>{t.button===1&&e.closable&&(t.preventDefault(),c())},onDragStart:l,onDragOver:u,onDragEnd:d,onTouchStart:f,onTouchMove:p,onTouchEnd:m,onTouchCancel:h,style:k,className:Mc(E,t,!!k),children:[(0,X.jsxs)(`span`,{className:V(`relative`,o&&`text-warning`),children:[o?(0,X.jsx)(wt,{className:`size-4`}):(0,X.jsx)(n,{className:`size-4`}),o?(0,X.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,X.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,X.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,X.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):i&&(!t||a)?(0,X.jsx)(`span`,{className:V(`absolute -top-1 -right-1 size-2 rounded-full`,us(i))}):null]}),x?(0,X.jsx)(`input`,{ref:T,value:C,onChange:e=>w(e.target.value),onBlur:D,onKeyDown:e=>{e.key===`Enter`&&D(),e.key===`Escape`&&S(!1),e.stopPropagation()},onClick:e=>e.stopPropagation(),className:`max-w-[120px] bg-surface-elevated text-xs px-1 py-0.5 rounded border border-border outline-none focus:border-primary`,autoFocus:!0}):(0,X.jsx)(`span`,{className:`max-w-[120px] truncate`,title:e.title,onDoubleClick:e=>{_&&(e.stopPropagation(),S(!0))},children:e.title}),e.closable&&!x&&(0,X.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,X.jsx)(_e,{className:`size-3`})})]});return(0,X.jsxs)(`div`,{className:`relative flex items-center`,children:[r&&(0,X.jsx)(`div`,{className:`absolute left-0 top-1 bottom-1 w-0.5 bg-primary rounded-full z-10`}),y&&(0,X.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,X.jsxs)(Er,{children:[(0,X.jsx)(Dr,{asChild:!0,children:j}),(0,X.jsxs)(Sr,{children:[A&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(wr,{onClick:()=>v(`copy-path`),children:`Copy Path`}),(0,X.jsx)(wr,{onClick:()=>v(`copy-full-path`),children:`Copy Full Path`}),(0,X.jsxs)(wr,{onClick:()=>v(`download`),children:[(0,X.jsx)(Tn,{className:`size-3.5 mr-2`}),`Download`]}),(0,X.jsx)(Cr,{}),(0,X.jsx)(wr,{onClick:()=>v(`rename`),children:`Rename`}),(0,X.jsx)(wr,{variant:`destructive`,onClick:()=>v(`delete`),children:`Delete`}),(0,X.jsx)(Cr,{})]}),b,e.closable&&(0,X.jsx)(wr,{onClick:()=>v(`close`),children:`Close`}),(0,X.jsx)(wr,{onClick:()=>v(`close-others`),children:`Close Others`}),(0,X.jsx)(wr,{onClick:()=>v(`close-right`),children:`Close to the Right`})]})]}):j]})}var Vc=[`.xterm-helper-textarea`,`.native-edit-context`,`textarea`,`[contenteditable]`,`button, [href], input, select, [tabindex]:not([tabindex="-1"])`];function Hc(e){return typeof e.checkVisibility==`function`?e.checkVisibility():e.offsetParent!==null&&e.offsetParent!==void 0}function Uc(e){for(let t of Vc)for(let n of e(t))if(Hc(n))return n;return null}function Wc(e){Uc(t=>e.querySelectorAll(t))?.focus()}function Gc(){return typeof window<`u`&&`documentPictureInPicture`in window}function Kc(){return Gc()?window.documentPictureInPicture??null:null}var qc={width:1920,height:1080};function Jc(e,t,n){return Number.isFinite(e)?Math.round(Math.min(Math.max(e,t),Math.max(t,n))):t}function Yc(){if(typeof window>`u`||!window.screen)return qc;let{availWidth:e,availHeight:t}=window.screen;return{width:Number.isFinite(e)&&e>0?e:qc.width,height:Number.isFinite(t)&&t>0?t:qc.height}}function Xc(e,t=Yc()){return{width:Jc(e.width,320,t.width),height:Jc(e.height,240,t.height)}}var Zc=`style, link[rel="stylesheet"]`,Qc=`html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden}
|
|
11
|
+
body>*{position:relative;width:100%;height:100%}`;function $c(e){return Array.from(e.querySelectorAll(Zc))}function el(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 tl(e,t){try{t.adoptedStyleSheets=[...e.adoptedStyleSheets]}catch{}for(let n of $c(e))el(n,t);let n=t.createElement(`style`);n.textContent=Qc,t.head.append(n)}function nl(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 rl(e,t){nl(e,t);let n=e.defaultView;if(!n)return()=>{};let r=()=>nl(e,t);return n.addEventListener($r,r),()=>n.removeEventListener($r,r)}function il(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(Zc)&&t.head.append(e.cloneNode(!0))});return n.observe(e.head,{childList:!0}),()=>n.disconnect()}var al=[`input`,`textarea`,`select`,`[contenteditable]`,`.native-edit-context`,`.monaco-editor`,`.xterm-helper-textarea`].join(`, `);function ol(e){let t=e;return!t||typeof t.closest!=`function`?!1:t.closest(al)!==null}function sl(e,t){let n=e=>{let n=e;ol(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 cl=`ppm:host-resize`;function ll(e){if(e)for(let t of e.querySelectorAll(`[data-tab-pool-id]`))t.dispatchEvent(new CustomEvent(cl,{bubbles:!1}))}function ul(e,t){let n=e?.closest(`[data-tab-pool-id]`);return n?(n.addEventListener(cl,t),()=>n.removeEventListener(cl,t)):()=>{}}var dl=null;function fl(){return dl}function pl(e,t,n,r){let i=[],a=!1,o=()=>{if(!a){a=!0,dl===s&&(dl=null);for(let e of i)try{e()}catch{}t.isConnected&&(t.append(e),ll(e));try{n.close()}catch{}r.onDetach()}},s={detach:o,pipWindow:n};try{let t=n.document;tl(document,t),i.push(rl(document,t)),i.push(il(document,t)),t.body.append(e),ll(e);let r=()=>ll(e);n.addEventListener(`resize`,r),i.push(()=>n.removeEventListener(`resize`,r)),n.addEventListener(`pagehide`,o),i.push(()=>n.removeEventListener(`pagehide`,o)),i.push(sl(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 ml(e,t){let n=Kc();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`);dl?.detach();let i;try{i=await n.requestWindow(Xc({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=pl(e,r,i,t);return dl=a,a}function hl(e){ci(e),mr.getState().close(e)}async function gl(e,t){let n=H.getState().popOutTab(e,t);if(!n)return`window-cap`;oi(n);let r=await ti(n);if(!r)return hl(n),`cancelled`;let i=mr.getState().windows[n]?.rect,a;try{a=await ml(r,{width:i?.w??0,height:i?i.h-36:0,onDetach:()=>{ei(n,null),hl(n)}})}catch(e){throw hl(n),e}return a?(ei(n,a),Wc(a.pipWindow.document),`opened`):`cancelled`}function _l({tab:e,panelId:t}){return Lr()||tr.has(e.type)?null:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(wr,{onClick:()=>{H.getState().popOutTab(e.id,t)||R.error(`Too many windows open — close one first`)},children:[(0,X.jsx)(Mt,{className:`size-3.5 mr-2`}),`Open in window`]}),Gc()&&(0,X.jsxs)(wr,{onClick:()=>{gl(e.id,t).then(e=>{e===`window-cap`&&R.error(`Too many windows open — close one first`)}).catch(()=>{R.error(`Could not open the picture-in-picture window`)})},children:[(0,X.jsx)(je,{className:`size-3.5 mr-2`}),`Open in picture-in-picture`]}),(0,X.jsx)(Cr,{})]})}async function vl(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}return Sl(e)}function yl(){return typeof ClipboardItem<`u`&&!!navigator.clipboard?.write}async function bl(e){if(!yl())return!1;try{let t=await fetch(e).then(e=>e.blob()),n=t.type===`image/png`?t:await xl(t);return await navigator.clipboard.write([new ClipboardItem({"image/png":n})]),!0}catch{return!1}}async function xl(e){let t=await createImageBitmap(e),n=document.createElement(`canvas`);return n.width=t.width,n.height=t.height,n.getContext(`2d`)?.drawImage(t,0,0),t.close(),new Promise((e,t)=>{n.toBlob(n=>n?e(n):t(Error(`canvas produced no blob`)),`image/png`)})}function Sl(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;top:0;left:0;width:1px;height:1px;padding:0;border:none;opacity:0;`,document.body.appendChild(t);let n=document.getSelection(),r=n&&n.rangeCount>0?n.getRangeAt(0):null;try{return t.focus(),t.select(),t.setSelectionRange(0,e.length),document.execCommand(`copy`)}catch{return!1}finally{t.remove(),n&&r&&(n.removeAllRanges(),n.addRange(r))}}function Cl({node:e,projectName:t,onClose:n,onRefresh:r}){let[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(null);async function c(){a(!0),s(null);try{await L.del(`${I(t)}/files/delete`,{path:e.path}),r(),n()}catch(e){s(e instanceof Error?e.message:`Failed to delete`)}finally{a(!1)}}return(0,X.jsx)(Ei,{open:!0,onOpenChange:e=>!e&&n(),children:(0,X.jsxs)(K,{children:[(0,X.jsxs)(Ci,{children:[(0,X.jsxs)(q,{children:[`Delete `,e.type===`directory`?`Folder`:`File`]}),(0,X.jsxs)(J,{children:[`Are you sure you want to delete`,` `,(0,X.jsx)(`span`,{className:`font-mono font-semibold`,children:e.name}),`?`,e.type===`directory`&&` This will delete all contents.`]})]}),o&&(0,X.jsx)(`p`,{className:`text-sm text-error`,children:o}),(0,X.jsxs)(wi,{children:[(0,X.jsx)(G,{variant:`outline`,onClick:n,disabled:i,children:`Cancel`}),(0,X.jsx)(G,{variant:`destructive`,onClick:c,disabled:i,children:i?`Deleting...`:`Delete`})]})]})})}var wl={"git-branch":Je,"git-commit":Yi,"git-compare":qi,history:Me,users:qe,"list-ordered":Cn,refresh:rt,edit:ge,trash:Nn,plus:vn,search:Yt,database:Ot,terminal:In,settings:mn,"file-code":Bt,globe:tt};function Tl(e){return e?wl[e]:void 0}function El(e,t){if(!(!e?.commands||!t))return Tl(e.commands.find(e=>e.command===t||e.command.replace(/\.view$/,``)===t)?.icon)}var Dl={terminal:In,chat:An,editor:Bt,database:Ot,sqlite:Ot,postgres:Ot,"git-diff":qi,"branch-review":qi,settings:mn,extension:St,"extension-webview":St,"conflict-editor":qi,"system-monitor":mn,"git-log":Yi,"ai-resource":gn,group:qe,problems:ft};function Ol(e){return Dl[e]??St}var kl=new Set([`editor`,`git-diff`,`conflict-editor`]);function Al(e){if(kl.has(e.type)){let t=e.metadata?.filePath||e.title;if(t)return Di(t)}if(e.type===`chat`){let t=Cs[e.metadata?.providerId??`claude`];if(t)return t}if(e.type===`extension`||e.type===`extension-webview`){let t=El(Sc.getState().contributions,e.metadata?.viewType);if(t)return t}return Ol(e.type)}var jl=(0,Y.memo)(function({panelId:e}){let t=U(e=>e.activeProject),n=(0,Y.useRef)(new Map),r=(0,Y.useRef)(null),i=(0,Y.useRef)(0),a=H(t=>e?t.panels[e]:t.panels[t.focusedPanelId]),o=t?.name??null,s=$n(a?.tabs??[],o),c=a?.activeTabId??null,l=a?.id??H.getState().focusedPanelId,{dropIndex:u,handleDragStart:d,handleDragOver:f,handleDragOverBar:p,handleDrop:m,handleDragEnd:h}=Gs(l),{handleTouchStart:g,handleTouchMove:_,handleTouchEnd:v,handleTouchCancel:y}=dc(l),{projectTags:b,loadTags:x}=os(t?.name),[S,C]=(0,Y.useState)({}),w=s.filter(e=>e.type===`chat`&&e.metadata?.sessionId).map(e=>e.metadata.sessionId);(0,Y.useEffect)(()=>{!t?.name||w.length===0||L.get(`${I(t.name)}/chat/sessions?limit=50`).then(e=>{let t={};for(let n of e.sessions)n.tag&&(t[n.id]=n.tag);C(t)}).catch(()=>{})},[t?.name,w.join(`,`)]);let T=(0,Y.useCallback)(async(e,n)=>{if(t?.name)try{if(n!==null){await L.patch(`${I(t.name)}/chat/sessions/${e}/tag`,{tagId:n});let r=b.find(e=>e.id===n);r&&C(t=>({...t,[e]:{id:r.id,name:r.name,color:r.color}}))}else await L.del(`${I(t.name)}/chat/sessions/${e}/tag`),C(t=>{let n={...t};return delete n[e],n});x()}catch{}},[t?.name,b,x]),E=ps(e=>e.notifications),D=Yr(e=>e.sessions),O=z(e=>e.tabWrap),k=z(e=>e.toggleTabWrap),A=z(e=>e.editorTabStyle),{canScrollLeft:j,canScrollRight:ee,scrollLeft:te,scrollRight:M}=Oc(r),N=Ac(r.current,n.current,s,E);(0,Y.useEffect)(()=>{if(s.length>i.current&&c){let e=n.current.get(c);e&&e.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})}i.current=s.length},[s.length,c]);let ne=(0,Y.useCallback)((e,t)=>{W.getState().updateTab(e.id,{title:t});let n=e.metadata?.projectName,r=e.metadata?.sessionId;n&&r&&L.patch(`${I(n)}/chat/sessions/${r}`,{title:t}).catch(()=>{})},[]),re=Fs(e=>e.selection),[ie,ae]=(0,Y.useState)(null);function oe(e){if(e.type!==`editor`)return null;let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return null;let r=re!=null&&re.projectName===n&&re.filePath!==t;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(wr,{onClick:()=>{let r=e.metadata?.unsavedContent;Fs.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:Jn(t)})},children:[(0,X.jsx)(Lt,{className:`size-3.5 mr-2`}),`Select for Compare`]}),r&&(0,X.jsxs)(wr,{onClick:async()=>{let r=Fs.getState().selection;if(!r)return;let i=e.metadata?.unsavedContent;try{await Ls({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),Fs.getState().clearSelection()}catch(e){let t=e instanceof Error?e.message:`Compare failed`;R.error(t)}},children:[(0,X.jsx)(Lt,{className:`size-3.5 mr-2`}),`Compare with Selected (`,re.label,`)`]}),(0,X.jsx)(Cr,{})]})}function se(e){if(e.type!==`terminal`)return null;let t=l===or;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(wr,{onClick:()=>P(e,t?`move-to-editor`:`move-to-dock`),children:t?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Oe,{className:`size-3.5 mr-2`}),`Move to Editor`]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(et,{className:`size-3.5 mr-2`}),`Move to Dock`]})}),(0,X.jsx)(Cr,{})]})}let P=(0,Y.useCallback)((e,t)=>{let n=H.getState(),r=n.panels[l]?.tabs??[];switch(t){case`close`:n.closeTab(e.id,l);break;case`move-to-dock`:n.redockTab(e.id,l);break;case`move-to-editor`:{let t=n.focusedPanelId===`__dock__`?n.grid.flat()[0]:n.focusedPanelId;t&&n.moveTab(e.id,or,t);break}case`close-others`:for(let t of r)t.id!==e.id&&t.closable&&n.closeTab(t.id,l);break;case`close-right`:{let t=r.findIndex(t=>t.id===e.id);for(let e=t+1;e<r.length;e++)r[e].closable&&n.closeTab(r[e].id,l);break}case`copy-path`:{let t=e.metadata?.filePath;t&&vl(t);break}case`copy-full-path`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;if(t){let e=n?U.getState().projects.find(e=>e.name===n):null;vl(e?`${e.path}/${t}`:t)}break}case`download`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;t&&n&&fi(n,t);break}case`rename`:case`delete`:{let n=e.metadata?.filePath;n&&ae({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}}},[l]);function ce(e){e.target.closest(`[data-tab-item]`)||Ec()}return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(Er,{children:[(0,X.jsx)(Dr,{asChild:!0,children:(0,X.jsxs)(`div`,{className:V(`hidden md:flex items-center border-b border-border relative shrink-0`,O?`min-h-[41px] flex-wrap`:`h-[41px]`),onDragOver:p,onDrop:m,onDoubleClick:ce,children:[!O&&j&&(0,X.jsx)(`button`,{onClick:te,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,X.jsxs)(`span`,{className:`relative`,children:[(0,X.jsx)(me,{className:`size-4 text-text-secondary`}),N.left&&(0,X.jsx)(`span`,{className:V(`absolute -top-1 -right-0.5 size-2 rounded-full`,us(N.left))})]})}),(0,X.jsx)(`div`,{ref:r,className:V(`flex-1 min-w-0 scrollbar-none`,O?`overflow-y-auto overflow-x-hidden`:`overflow-x-auto overflow-y-hidden`),children:(0,X.jsxs)(`div`,{className:Nc(A,O),children:[s.map((e,t)=>{let r=e.type===`chat`?e.metadata?.sessionId:void 0,i=r?E.get(r):void 0,a=i&&i.count>0?i.type:null,o=!!i?.manual,s=r?D.has(r):!1;return(0,X.jsx)(Bc,{tab:e,isActive:e.id===c,icon:Al(e),showDropBefore:u===t,notificationType:a,notificationManual:o,isStreaming:s,onSelect:()=>{Qs()||(H.getState().setActiveTab(e.id,l),r&&ps.getState().clearForSession(r))},onClose:()=>H.getState().closeTab(e.id,l),onDragStart:t=>d(t,e.id),onDragOver:n=>f(n,e.id,t),onDragEnd:h,onTouchStart:t=>g(t,e.id,e.title),onTouchMove:_,onTouchEnd:v,onTouchCancel:y,tabRef:t=>{t?n.current.set(e.id,t):n.current.delete(e.id)},onRename:e.type===`chat`?t=>ne(e,t):void 0,onContextAction:t=>P(e,t),tagColor:r?S[r]?.color:void 0,extraMenuContent:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(_l,{tab:e,panelId:l}),se(e),oe(e),r&&!a&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(wr,{onClick:()=>{let t=e.metadata?.projectName;t&&ps.getState().markUnread(r,t,e.title)},children:[(0,X.jsx)(Bn,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),(0,X.jsx)(Cr,{})]}),r&&b.length>0&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(Tr,{children:[(0,X.jsxs)(xr,{children:[(0,X.jsx)(zn,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,X.jsxs)(yr,{children:[b.map(e=>(0,X.jsxs)(wr,{onClick:()=>T(r,e.id),children:[(0,X.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:e.color}}),e.name,S[r]?.id===e.id&&(0,X.jsx)(jn,{className:`size-3 ml-auto`})]},e.id)),S[r]&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Cr,{}),(0,X.jsx)(wr,{onClick:()=>T(r,null),children:`Remove tag`})]})]})]}),(0,X.jsx)(Cr,{})]})]})},e.id)}),u!==null&&u>=s.length&&(0,X.jsx)(`div`,{className:`w-0.5 h-6 bg-primary rounded-full`}),(0,X.jsx)(`button`,{onClick:()=>{if(l===`__dock__`){let e=U.getState().activeProject;H.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}else Ec()},title:l===`__dock__`?`New terminal in dock`:`Open command palette (Shift+Shift)`,className:Pc(A),children:(0,X.jsx)(vn,{className:`size-4`})})]})}),!O&&ee&&(0,X.jsx)(`button`,{onClick:M,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,X.jsxs)(`span`,{className:`relative`,children:[(0,X.jsx)(Zt,{className:`size-4 text-text-secondary`}),N.right&&(0,X.jsx)(`span`,{className:V(`absolute -top-1 -left-0.5 size-2 rounded-full`,us(N.right))})]})})]})}),(0,X.jsxs)(Sr,{children:[(0,X.jsx)(wr,{onClick:k,children:O?`Scroll Tabs`:`Wrap Tabs`}),(0,X.jsx)(Cr,{}),(0,X.jsx)(wr,{onClick:()=>Ec(),children:`Open Command Palette`})]})]}),ie&&(0,X.jsx)(Cl,{node:ie.node,projectName:t?.name??``,onClose:()=>ae(null),onRefresh:()=>{t&&Nr.getState().fetchTree(t.name),ie.action===`delete`&&H.getState().closeTab(ie.tabId,l)}})]})});function Ml({panelId:e}){let[t,n]=(0,Y.useState)(null),r=Us(),i=Zs(),a=(i?.panelId===e?i.zone:null)??t,o=H(e=>e.grid),s=H(e=>e.isMobile()),c=ir(o,e),l=!s&&o.length<3,u=c?!s&&(o[c.row]?.length??0)<sr(!1):!1,d=(0,Y.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,Y.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.stopPropagation(),n(d(e)))},[d]),p=(0,Y.useCallback)(e=>{e.currentTarget.contains(e.relatedTarget)||n(null)},[]),m=(0,Y.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let r=d(t);if(n(null),Ws(),!r)return;let i=t.dataTransfer.getData(zs);if(i)try{let t=JSON.parse(i),n=H.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,X.jsxs)(`div`,{className:`absolute inset-0 z-20`,onDragOver:f,onDragLeave:p,onDrop:m,children:[a===`left`&&(0,X.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,X.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,X.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,X.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,X.jsx)(`div`,{className:`absolute inset-0 bg-primary/5 border-2 border-dashed border-primary/30 rounded-md`})]}):null}var Nl=Kn(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 Pl(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 Q(e,t,n){for(let r of e.tabs)t.has(r.id)||(t.add(r.id),n.push({tabId:r.id,panelId:or,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}function Fl(e,t,n){for(let[r,i]of Object.entries(e))if(nr(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 Il(e,t,n,r){let i=[],a=new Set;Pl(t,r,!0,e,a,i);for(let[t,o]of Object.entries(n))t!==r&&Pl(o,t,!1,e,a,i);Fl(e,a,i);let o=e[or];return o&&Q(o,a,i),i.sort((e,t)=>e.tabId.localeCompare(t.tabId)),i}function Ll(e,t){return e.filter(e=>e.isActive||t.has(e.tabId))}var Rl=new class{slots=new Map;listeners=new Set;version=0;register(e,t){if(t){if(this.slots.get(e)===t)return;this.slots.set(e,t)}else{if(!this.slots.has(e))return;this.slots.delete(e)}this.version++,this.listeners.forEach(e=>e())}get(e){return this.slots.get(e)}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getVersion(){return this.version}};function zl(e,t){Rl.register(e,t)}var Bl=e(oe(),1);function Vl({tabId:e,panelId:t,component:n,metadata:r,isActive:i,hiddenContainer:a}){let o=(0,Y.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,Y.useRef)(t);return c.current=t,(0,Y.useLayoutEffect)(()=>{s.parentElement||a.appendChild(s);let e=()=>{let e=c.current;e===`__dock__`||nr(e)||H.getState().setFocusedPanel(e)};return s.addEventListener(`mousedown`,e,!0),()=>{s.removeEventListener(`mousedown`,e,!0),s.remove()}},[s,a]),(0,Y.useLayoutEffect)(()=>{s.style.display=i?``:`none`},[s,i]),(0,Y.useLayoutEffect)(()=>{let e=Rl.get(t);if(!e){s.parentElement!==a&&a.appendChild(s);return}if(s.parentElement===e)return;let n=[];s.querySelectorAll(`*`).forEach(e=>{(e.scrollTop||e.scrollLeft)&&n.push({el:e,top:e.scrollTop,left:e.scrollLeft})}),e.appendChild(s);for(let{el:e,top:t,left:r}of n)e.scrollTop=t,e.scrollLeft=r}),(0,Bl.createPortal)((0,X.jsx)(Xn,{container:ai(t),children:(0,X.jsx)(Y.Suspense,{fallback:(0,X.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,X.jsx)(F,{className:`size-6 animate-spin text-primary`})}),children:(0,X.jsx)(n,{metadata:r,tabId:e})})}),s)}function Hl(e,t){return`${e}|${t}`}function Ul(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 Wl(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(!nr(t))continue;let e=er(t);if(e&&r.has(e)||!c)continue;let i=a[c];i&&(a[c]=Ul(i,n.tabs),delete a[t],s=!0)}let l=n.filter(e=>!a[ar(e)]);if(!i.includes(o)){let e=i[0];e&&(o=e,s=!0)}return{panels:a,focusedPanelId:o,windowIdsToClose:l,changed:s}}function Gl(){let e=Lr(),t=H(e=>e.currentProject),n=mr(e=>e.restored),r=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{if(!t||!n&&!e)return;let i=Hl(t,e);if(r.current===i)return;r.current=i;let{panels:a,grid:o,focusedPanelId:s}=H.getState(),c=Wl({panels:a,grid:o,focusedPanelId:s,liveWindowIds:e?[]:Object.values(mr.getState().windows).filter(e=>e.kind===`tab-host`).map(e=>e.id)});c.changed&&(H.setState({panels:c.panels,focusedPanelId:c.focusedPanelId}),rr(H.getState));for(let e of c.windowIdsToClose)mr.getState().close(e)},[t,n,e])}var Kl={terminal:(0,Y.lazy)(()=>B(()=>import(`./terminal-tab-0HQic25V.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]))),chat:(0,Y.lazy)(()=>B(()=>import(`./chat-tab-DZagX06m.js`).then(e=>({default:e.ChatTab})),__vite__mapDeps([23,1,2,3,4,24,7,25,26,8,27,28,29,16,30,31,10,18,11,32,33,9,34,35,36,37,38,39,13,40,12,14,41,42,43,19,20,44]))),editor:(0,Y.lazy)(()=>B(()=>import(`./code-editor-BJhOEsnZ.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([45,1,2,3,4,46,47,48,49,16,50,9,8,10,21,22,31,18,7,11,51,24,26,52,42,43,36,53,54,40,13,38,12,14,55,35,15,56,57,58]))),database:(0,Y.lazy)(()=>B(()=>import(`./database-viewer-Ca4HxIfx.js`).then(e=>({default:e.DatabaseViewer})),__vite__mapDeps([59,1,2,3,4,46,47,48,49,16,50,9,8,10,21,22,31,18,7,11,51,60]))),sqlite:(0,Y.lazy)(()=>B(()=>import(`./sqlite-viewer-Bd7rjr1D.js`).then(e=>({default:e.SqliteViewer})),__vite__mapDeps([61,1,2,3,4,46,47,48,49,16,50,9,8,10,21,22,31,18,7,11,51,60]))),postgres:(0,Y.lazy)(()=>B(()=>import(`./postgres-viewer-8ZAqEALv.js`).then(e=>({default:e.PostgresViewer})),__vite__mapDeps([62,1,2,63,3,4,64,8,16]))),"git-diff":(0,Y.lazy)(()=>B(()=>import(`./diff-viewer-9-XjLIwa.js`).then(e=>({default:e.DiffViewer})),__vite__mapDeps([65,1,2,3,4,24,7,8,52,42,10,43,9,28,53,15,16,57,58,50,21,22]))),"branch-review":(0,Y.lazy)(()=>B(()=>import(`./branch-review-tab-B1pFjlKM.js`).then(e=>({default:e.BranchReviewTab})),__vite__mapDeps([66,1,2,3,4,24,7,8,52,42,10,43,9,65,28,53,15,16,57,58,50,21,22,12,13,14,55,35,56]))),settings:(0,Y.lazy)(()=>B(()=>import(`./settings-tab-7DKVUTbM.js`).then(e=>({default:e.SettingsTab})),__vite__mapDeps([67,2,1,3,4,24,7,68,55,69,16]))),extension:(0,Y.lazy)(()=>B(()=>import(`./extension-webview-DZG8YHX9.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([70,1,3,4,8,16,57,10,21]))),"extension-webview":(0,Y.lazy)(()=>B(()=>import(`./extension-webview-DZG8YHX9.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([70,1,3,4,8,16,57,10,21]))),"conflict-editor":(0,Y.lazy)(()=>B(()=>import(`./conflict-editor-B7u_p49h.js`).then(e=>({default:e.ConflictEditor})),__vite__mapDeps([71,1,2,3,4,8,9,10,35,15,16,58,7,50,21,22]))),"system-monitor":(0,Y.lazy)(()=>B(()=>import(`./system-monitor-tab-DdSZgux3.js`).then(e=>({default:e.SystemMonitorTab})),__vite__mapDeps([72,2,1,3,4,8,73,7,16]))),"git-log":(0,Y.lazy)(()=>B(()=>import(`./git-log-panel-2sGpfEla.js`).then(e=>({default:e.GitLogPanel})),__vite__mapDeps([74,1,3,4,7,8,55,16,57,10,42,43]))),"ai-resource":(0,Y.lazy)(()=>B(()=>import(`./ai-resource-editor-BLPcnhTM.js`).then(e=>({default:e.AiResourceEditor})),__vite__mapDeps([75,1,2,3,4,7,8,9,10,16,50,21,22]))),group:(0,Y.lazy)(()=>B(()=>import(`./group-chat-tab-Ck6sk7yY.js`).then(e=>({default:e.GroupChatTab})),__vite__mapDeps([76,1,2,3,4,24,7,77,8,36,10,30,17,18,11,31,27,28,29,16,9,39,13,40,12,14,35,41,57,42,43,20]))),problems:(0,Y.lazy)(()=>B(()=>import(`./problems-panel-a6_hrWvl.js`).then(e=>({default:e.ProblemsPanel})),__vite__mapDeps([78,1,3,4,7,8,11,10,35,56,43,16,42,18])))},ql={position:`fixed`,top:0,left:0,width:0,height:0,overflow:`hidden`,pointerEvents:`none`,visibility:`hidden`};function Jl(){let[e,t]=(0,Y.useState)(null);(0,Y.useSyncExternalStore)(e=>Rl.subscribe(e),()=>Rl.getVersion());let n=H(e=>e.panels),r=H(e=>e.grid),i=H(e=>e.currentProject),a=H(e=>e.projectGrids);Gl();let o=Il(n,r,a,i),s=Ll(o,Nl(e=>e.mounted)),c=o.filter(e=>e.isActive).map(e=>e.tabId);return(0,Y.useEffect)(()=>{let{mount:e}=Nl.getState();for(let t of c)e(t)},[JSON.stringify(c)]),(0,X.jsx)(`div`,{ref:t,style:ql,children:e&&s.map(t=>{let n=Kl[t.type];return n?(0,X.jsx)(Vl,{tabId:t.tabId,panelId:t.panelId,component:n,metadata:t.metadata,isActive:t.isActive,hiddenContainer:e},t.tabId):null})})}var Yl=[{type:`terminal`,label:`Terminal`,icon:In},{type:`chat`,label:`AI Chat`,icon:An},{type:`editor`,label:`New File`,icon:cn}];function Xl({panelId:e,projectName:t}){let n=H(t=>t.panels[e]),r=H(t=>t.focusedPanelId===e),i=H(e=>(e.currentProject===t?e.grid:e.projectGrids[t]??[[]]).flat().length),a=(0,Y.useCallback)(t=>{zl(e,t)},[e]);if(!n)return null;let o=$n(n.tabs,t).length===0;return(0,X.jsxs)(`div`,{className:V(`flex flex-col h-full overflow-hidden`,i>1&&`border border-transparent`,i>1&&r&&`border-primary/30`),onMouseDown:()=>{H.getState().focusedPanelId!==e&&H.getState().setFocusedPanel(e)},children:[(0,X.jsx)(jl,{panelId:e}),(0,X.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,"data-panel-drop-zone":e,onAuxClick:t=>{t.button!==1||!o||(t.preventDefault(),H.getState().closePanel(e))},children:[o&&(0,X.jsx)(Zl,{panelId:e,canClose:i>1}),(0,X.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:o?{display:`none`}:void 0}),(0,X.jsx)(Ml,{panelId:e})]})]})}function Zl({panelId:e,canClose:t}){let n=U(e=>e.activeProject);function r(t){if(t===`editor`){W.getState().openNewFile();return}let r=t!==`settings`&&n?{projectName:n.name}:void 0;H.getState().openTab({type:t,title:Yl.find(e=>e.type===t)?.label??t,metadata:r,projectId:n?.name??null,closable:!0},e)}let i=(0,Y.useCallback)(t=>{H.getState().openTab({type:`chat`,title:t.title||`Chat`,projectId:n?.name??null,metadata:{projectName:n?.name,sessionId:t.id,providerId:t.providerId},closable:!0},e)},[n?.name,e]);return(0,X.jsx)(`div`,{className:`flex flex-col h-full overflow-y-auto text-text-secondary`,children:(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-6 px-4 flex-1`,children:[(0,X.jsx)(`p`,{className:`text-sm`,children:`Open a tab to get started`}),(0,X.jsx)(`div`,{className:`grid grid-cols-3 gap-2 w-full max-w-sm`,children:Yl.map(e=>{let t=e.icon;return(0,X.jsxs)(`button`,{onClick:()=>r(e.type),className:`flex flex-col items-center justify-center gap-1.5 px-2 py-3 rounded-md border border-border bg-surface hover:bg-surface-elevated active:bg-surface-elevated text-xs text-foreground transition-colors`,children:[(0,X.jsx)(t,{className:`size-5`}),e.label]},e.type)})}),t&&(0,X.jsxs)(`button`,{onClick:()=>H.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,X.jsx)(_e,{className:`size-3.5`}),`Close Panel`]}),(0,X.jsx)(ks,{projectName:n?.name,onSelectSession:i,className:`w-full`})]})})}function Ql(e,t,n){let r=n!==`bottom`;if(n===`bottom`||e.length<=2)return{visible:[...e],overflow:[],iconOnlyInactive:r};let i=new Set;t&&e.includes(t)&&i.add(t);for(let t of e){if(i.size>=2)break;i.add(t)}return{visible:e.filter(e=>i.has(e)),overflow:e.filter(e=>!i.has(e)),iconOnlyInactive:r}}function $l({...e}){return(0,X.jsx)(f,{"data-slot":`dropdown-menu`,...e})}function eu({container:e,...t}){let n=Yn();return(0,X.jsx)(v,{"data-slot":`dropdown-menu-portal`,container:e??n,...t})}function tu({...e}){return(0,X.jsx)(h,{"data-slot":`dropdown-menu-trigger`,...e})}function nu({className:e,sideOffset:t=4,...n}){return(0,X.jsx)(eu,{children:(0,X.jsx)(b,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:V(`z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...n})})}function ru({className:e,inset:t,variant:n=`default`,...r}){return(0,X.jsx)(x,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:V(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!`,e),...r})}function iu({className:e,children:t,checked:n,...r}){return(0,X.jsxs)(y,{"data-slot":`dropdown-menu-checkbox-item`,className:V(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...r,children:[(0,X.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,X.jsx)(m,{children:(0,X.jsx)(xe,{className:`size-4`})})}),t]})}function au({...e}){return(0,X.jsx)(S,{"data-slot":`dropdown-menu-radio-group`,...e})}function ou({className:e,children:t,...n}){return(0,X.jsxs)(fe,{"data-slot":`dropdown-menu-radio-item`,className:V(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,X.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,X.jsx)(m,{children:(0,X.jsx)(Ae,{className:`size-2 fill-current`})})}),t]})}function su({className:e,inset:t,...n}){return(0,X.jsx)(_,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:V(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function cu({className:e,...t}){return(0,X.jsx)(E,{"data-slot":`dropdown-menu-separator`,className:V(`-mx-1 my-1 h-px bg-border`,e),...t})}function lu({...e}){return(0,X.jsx)(g,{"data-slot":`dropdown-menu-sub`,...e})}function uu({className:e,inset:t,children:n,...r}){return(0,X.jsxs)(D,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:V(`flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,X.jsx)(Ue,{className:`ml-auto size-4`})]})}function du({className:e,...t}){return(0,X.jsx)(T,{"data-slot":`dropdown-menu-sub-content`,className:V(`z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})}var fu={left:De,bottom:et,right:Ve},pu={left:`Left`,bottom:`Bottom`,right:`Right`},mu=[`left`,`bottom`,`right`];function hu(){let e=H(e=>e.panels[or]),t=U(e=>e.activeProject?.name??null),n=z(e=>e.dockPosition),r=z(e=>e.setDockPosition),i=H(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=Ql(a.map(e=>e.id),o,n);function l(e){H.getState().setActiveTab(e,or)}function u(e){H.getState().closeTab(e,or)}function d(){let e=U.getState().activeProject;H.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}let f=fu[n];return(0,X.jsxs)(`div`,{className:`flex items-center h-8 min-w-0 flex-1 gap-1 px-1`,children:[(0,X.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=Al(t),r=e===o,i=!c.iconOnlyInactive||r,a=(0,X.jsxs)(`button`,{onClick:()=>l(e),className:V(`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,X.jsx)(n,{className:`size-3`}),i&&(0,X.jsx)(`span`,{className:`text-[11px] font-medium max-w-[120px] truncate`,children:t.title}),i&&t.closable&&(0,X.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,X.jsx)(_e,{className:`size-3`})})]},e);return i?a:(0,X.jsxs)(sa,{children:[(0,X.jsx)(ca,{asChild:!0,children:a}),(0,X.jsx)(la,{side:`top`,className:`text-xs`,children:t.title})]},e)}),c.overflow.length>0&&(0,X.jsxs)($l,{children:[(0,X.jsx)(tu,{asChild:!0,children:(0,X.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,X.jsx)(nu,{align:`start`,className:`min-w-[10rem]`,children:c.overflow.map(e=>{let t=s.get(e);return t?(0,X.jsxs)(ru,{onClick:()=>l(e),children:[(0,X.jsx)(Al(t),{className:`size-3.5`}),(0,X.jsx)(`span`,{className:`truncate`,children:t.title})]},e):null})})]}),(0,X.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,X.jsx)(vn,{className:`size-3.5`})})]}),(0,X.jsxs)($l,{children:[(0,X.jsx)(tu,{asChild:!0,children:(0,X.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,X.jsx)(f,{className:`size-3.5`}),(0,X.jsx)(Ye,{className:`size-2.5`})]})}),(0,X.jsxs)(nu,{align:`end`,children:[(0,X.jsx)(su,{className:`text-[10px] uppercase tracking-wide text-text-subtle`,children:`Panel Position`}),mu.map(e=>{let t=fu[e],i=e===n;return(0,X.jsxs)(ru,{onClick:()=>r(e),className:V(i&&`text-primary bg-primary/10`),children:[(0,X.jsx)(t,{className:`size-3.5`}),(0,X.jsx)(`span`,{className:`flex-1`,children:pu[e]}),i&&(0,X.jsx)(jn,{className:`size-3.5`})]},e)})]})]}),(0,X.jsx)(`div`,{className:`w-px h-4 bg-border shrink-0`}),(0,X.jsx)(`button`,{onClick:()=>H.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,X.jsx)(st,{className:`size-3.5`}):(0,X.jsx)(Gt,{className:`size-3.5`})}),(0,X.jsx)(`button`,{onClick:()=>H.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,X.jsx)(Ye,{className:`size-3.5`})})]})}var gu={top:`border-t`,left:`border-l`,right:`border-r`};function _u({variant:e=`desktop`,borderEdge:t=`top`}){let n=H(e=>e.panels[or]),r=U(e=>e.activeProject?.name??null),i=(n?.tabs??[]).some(e=>!e.projectId||!r||e.projectId===r),a=(0,Y.useCallback)(e=>{zl(or,e)},[]);return(0,X.jsxs)(`div`,{className:V(`flex flex-col h-full overflow-hidden border-border bg-panel`,e===`desktop`&&gu[t]),children:[(0,X.jsx)(`div`,{className:`flex items-center shrink-0`,children:e===`mobile`?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(vu,{}),(0,X.jsx)(`button`,{onClick:()=>H.getState().setDockVisible(!1),title:`Hide terminal dock`,className:V(`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,X.jsx)(_e,{className:`size-3.5`})})]}):(0,X.jsx)(hu,{})}),(0,X.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,children:[!i&&(0,X.jsx)(yu,{variant:e}),(0,X.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:i?void 0:{display:`none`}})]})]})}function vu(){let e=H(e=>e.panels[or]),t=U(e=>e.activeProject),n=H(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){H.getState().setActiveTab(e,or)}function s(){let e=t;H.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,X.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center h-11 gap-1 pl-2 overflow-hidden`,children:[(0,X.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=Al(e);return(0,X.jsxs)(`div`,{className:V(`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,X.jsxs)(`button`,{onClick:()=>o(e.id),className:`flex items-center gap-1.5 min-w-0`,children:[(0,X.jsx)(t,{className:`size-[13px] shrink-0`}),(0,X.jsx)(`span`,{className:`max-w-[96px] truncate text-xs font-medium`,children:e.title})]}),e.closable&&(0,X.jsx)(`button`,{onClick:()=>H.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,X.jsx)(_e,{className:`size-3.5`})})]},e.id)}),(0,X.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,X.jsx)(vn,{className:`size-4`})})]}),(0,X.jsx)(`button`,{onClick:()=>H.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,X.jsx)(st,{className:`size-4`}):(0,X.jsx)(Gt,{className:`size-4`})})]})}function yu({variant:e}){let t=U(e=>e.activeProject);function n(){let e=t;H.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,X.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,X.jsxs)(`button`,{onClick:n,className:V(`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,X.jsx)(In,{className:`size-4`}),`Open Terminal`]})})}function bu(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 xu=[[]],Su=(0,Y.memo)(function({projectName:e}){let t=rs(`(min-width: 768px)`),n=H(t=>t.currentProject===e?t.grid:t.projectGrids[e]??xu),r=H(e=>e.focusedPanelId),i=H(e=>e.dock),a=H(e=>e.dockExpanded),o=z(e=>e.dockPosition),s=H(e=>e.currentProject),c=n.flat().length,l=s===e;(0,Y.useEffect)(()=>{if(l&&c===0){let e=Zn();H.setState(t=>({panels:{...t.panels,[e.id]:e},grid:[[e.id]],focusedPanelId:e.id}))}},[l,c]);let u=(0,Y.useCallback)(({asPercentage:e})=>{H.getState().dockExpanded||H.getState().setDockHeight(e)},[]),d=(0,Y.useRef)({key:``,size:``});if(c===0)return null;if(!t){let t=n.flat(),i=t.includes(r)?r:t[0];return i?(0,X.jsx)(Xl,{panelId:i,projectName:e}):null}let f=c===1&&n[0]?.[0]?(0,X.jsx)(Xl,{panelId:n[0][0],projectName:e}):(0,X.jsx)(Xo,{orientation:`vertical`,style:{height:`100%`},children:n.map((t,r)=>(0,X.jsx)(Cu,{row:t,rowIdx:r,totalRows:n.length,projectName:e},`row-${r}`))});if(!l)return(0,X.jsx)(X.Fragment,{children:f});let p=bu(o,i.height,a),m=p.orientation===`vertical`?`horizontal`:`vertical`,h=`${o}-${a}`;d.current.key!==h&&(d.current={key:h,size:p.dockSize});let g=(0,X.jsx)($o,{minSize:`15%`,children:f}),_=i.visible?(0,X.jsx)($o,{defaultSize:d.current.size,minSize:`10%`,maxSize:`85%`,onResize:u,children:(0,X.jsx)(_u,{borderEdge:p.borderEdge})}):null,v=i.visible?(0,X.jsx)(Tu,{orientation:m}):null;return(0,X.jsxs)(Xo,{orientation:p.orientation,style:{height:`100%`},children:[p.dockFirst?_:g,v,p.dockFirst?g:_]},h)});function Cu({row:e,rowIdx:t,totalRows:n,projectName:r}){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)($o,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:e.length===1?(0,X.jsx)(Xl,{panelId:e[0],projectName:r}):(0,X.jsx)(Xo,{orientation:`horizontal`,children:e.map((t,n)=>(0,X.jsx)(wu,{panelId:t,colIdx:n,totalCols:e.length,projectName:r},t))})}),t<n-1&&(0,X.jsx)(Tu,{orientation:`horizontal`})]})}function wu({panelId:e,colIdx:t,totalCols:n,projectName:r}){return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)($o,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:(0,X.jsx)(Xl,{panelId:e,projectName:r})}),t<n-1&&(0,X.jsx)(Tu,{orientation:`vertical`})]})}function Tu({orientation:e}){let t=e===`vertical`;return(0,X.jsx)(ns,{className:`
|
|
13
|
+
group/handle relative flex items-center justify-center
|
|
14
|
+
${t?`w-px cursor-col-resize`:`h-px cursor-row-resize`}
|
|
15
|
+
bg-border/30 hover:bg-primary/30 active:bg-primary/50
|
|
16
|
+
transition-colors duration-150
|
|
17
|
+
`,children:(0,X.jsx)(`div`,{className:`absolute can-hover:opacity-0 can-hover:group-hover/handle:opacity-70 transition-opacity text-foreground/50`,children:t?(0,X.jsx)(He,{className:`size-3`}):(0,X.jsx)(Fe,{className:`size-3`})})})}var Eu=e=>Symbol.iterator in e,Du=e=>`entries`in e,Ou=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},ku=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function Au(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:Eu(e)&&Eu(t)?Du(e)&&Du(t)?Ou(e,t):ku(e,t):Ou({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function ju(e){let t=Y.useRef(void 0);return n=>{let r=e(n);return Au(t.current,r)?t.current:t.current=r}}function Mu(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function Nu(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function Pu(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var Fu=(e,t)=>Math.abs(e-t)<1.01,Iu=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},Lu,Ru=()=>{if(Lu!==void 0)return Lu;if(typeof navigator>`u`)return Lu=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Lu=!0;let e=navigator.maxTouchPoints;return Lu=navigator.platform===`MacIntel`&&e!==void 0&&e>0},zu=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},Bu=e=>e,Vu=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},Hu=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(zu(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(zu(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},Uu={passive:!0},Wu=typeof window>`u`?!0:`onscrollend`in window,Gu=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Wu,o=0,s=a?null:Iu(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,Uu),a&&r.addEventListener(`scrollend`,u,Uu),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},Ku=(e,t)=>Gu(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),qu=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},Ju=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},Yu=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Bu,rangeExtractor:Vu,onChange:()=>{},measureElement:qu,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=Nu(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!Ru()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,Uu),e.addEventListener(`touchend`,n,Uu),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(Ru()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=Nu(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,n,r,i,a,o)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o}),{key:!1}),this.getMeasurements=Nu(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o},s)=>{let c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let l=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=this.options.gap,a=e*2,o=this._flatMeasurements;if(!o||o.length<a){let e=new Float64Array(a);o&&l>0&&e.set(o.subarray(0,l*2)),o=e,this._flatMeasurements=o}let s;if(l===0)s=t+n;else{let e=l-1;s=o[e*2]+o[e*2+1]+i}for(let t=l;t<e;t++){let e=r(t),n=c.get(e),a=typeof n==`number`?n:this.options.estimateSize(t);o[t*2]=s,o[t*2+1]=a,s+=a+i}let u=Mu(e,o,r);return this.measurementsCache=u,u}let u=this.measurementsCache.slice(0,l),d=Array(a).fill(void 0);for(let e=0;e<l;e++){let t=u[e];t&&(d[t.lane]=e)}for(let i=l;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,l,f=o===`estimate`||c.has(e);if(a!==void 0&&this.options.lanes>1){s=a;let e=d[s],r=e===void 0?void 0:u[e];l=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?u[i-1]:this.getFurthestMeasurement(u,i);l=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&f&&this.laneAssignments.set(i,s)}let p=c.get(e),m=typeof p==`number`?p:this.options.estimateSize(i),h=l+m;u[i]={index:i,start:l,size:m,end:h,key:e,lane:s},d[s]=i}return this.measurementsCache=u,u},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Nu(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=Qu(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Nu(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=Nu(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return Pu(t[Xu(0,t.length-1,r?e=>n[e*2]:e=>Pu(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t);this.scrollState={index:null,align:t,behavior:n,startedAt:this.now(),lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e;this.scrollState={index:null,align:`start`,behavior:t,startedAt:this.now(),lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(Ru()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&Fu(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},Xu=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function Zu(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function Qu(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=Zu(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=Xu(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var $u=typeof document<`u`?Y.useLayoutEffect:Y.useEffect;function ed({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=Y.useReducer(e=>e+1,0)[1],a=Y.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,Bl.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=Y.useState(()=>{let e=new Yu(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),$u(()=>c._didMount(),[]),$u(()=>c._willUpdate()),$u(()=>{o(c)}),c}function td(e){return ed({observeElementRect:Hu,observeElementOffset:Ku,scrollToFn:Ju,...e})}function nd({icon:e,title:t,children:n}){return(0,X.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-2 border-b border-border shrink-0`,children:[(0,X.jsx)(e,{className:`size-4 text-primary`}),(0,X.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-text-secondary flex-1`,children:t}),n]})}var rd=400,id=Y.createContext(!1),ad=Y.createContext({});function od({children:e,...t}){let n=Lr(),[r,i]=(0,Y.useState)(!1);return n?(0,X.jsx)(id.Provider,{value:!0,children:(0,X.jsx)(ji.Provider,{value:{open:r,setOpen:i},children:e})}):(0,X.jsx)(Er,{...t,children:e})}function sd({children:e,asChild:t,...n}){let r=Y.useContext(id),{setOpen:i}=Y.useContext(ji),a=(0,Y.useRef)(void 0),o=(0,Y.useRef)(!1);if(!r)return(0,X.jsx)(Dr,{asChild:t,...n,children:e});let s=(0,Y.useCallback)(e=>{e.stopPropagation(),o.current=!1,a.current=setTimeout(()=>{i(!0),o.current=!0},rd)},[i]),c=(0,Y.useCallback)(()=>{clearTimeout(a.current)},[]),l=(0,Y.useCallback)(()=>{clearTimeout(a.current)},[]);return(0,Y.useEffect)(()=>()=>clearTimeout(a.current),[]),(0,X.jsx)(`div`,{onTouchStart:s,onTouchMove:c,onTouchEnd:l,onTouchCancel:l,onClickCapture:(0,Y.useCallback)(e=>{o.current&&=(e.preventDefault(),e.stopPropagation(),!1)},[]),onContextMenu:(0,Y.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),className:`contents`,children:e})}function cd({children:e,className:t,...n}){if(!Y.useContext(id))return(0,X.jsx)(Sr,{className:t,...n,children:e});let{open:r,setOpen:i}=Y.useContext(ji);return(0,X.jsx)(Pi,{open:r,onClose:()=>i(!1),className:V(`p-2`,t),children:(0,X.jsx)(`div`,{className:`max-h-[60vh] overflow-y-auto`,children:e})})}function $({children:e,className:t,variant:n,onClick:r,disabled:i,...a}){return Y.useContext(id)?(0,X.jsx)(Ni,{className:t,variant:n,disabled:i,onClick:r,children:e}):(0,X.jsx)(wr,{className:t,variant:n,disabled:i,onClick:r,...a,children:e})}function ld({className:e,...t}){return Y.useContext(id)?(0,X.jsx)(Ai,{className:e}):(0,X.jsx)(Cr,{className:e,...t})}function ud({value:e,onValueChange:t,children:n,...r}){return Y.useContext(id)?(0,X.jsx)(ad.Provider,{value:{value:e,onValueChange:t},children:n}):(0,X.jsx)(br,{value:e,onValueChange:t,...r,children:n})}function dd({value:e,children:t,className:n,...r}){let i=Y.useContext(id),{value:a,onValueChange:o}=Y.useContext(ad);return i?(0,X.jsxs)(Ni,{className:n,onClick:()=>o?.(e),children:[(0,X.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center`,children:a===e&&(0,X.jsx)(Ae,{className:`size-2 fill-current`})}),t]}):(0,X.jsx)(vr,{value:e,className:n,...r,children:t})}function fd({children:e,...t}){return Y.useContext(id)?(0,X.jsx)(X.Fragment,{children:e}):(0,X.jsx)(Tr,{...t,children:e})}function pd({children:e,className:t,...n}){return Y.useContext(id)?(0,X.jsx)(Mi,{className:t,children:e}):(0,X.jsx)(xr,{className:t,...n,children:e})}function md({children:e,className:t,...n}){return Y.useContext(id)?(0,X.jsx)(ki,{className:t,children:e}):(0,X.jsx)(yr,{className:t,...n,children:e})}function hd({node:e,isDir:t,projectName:n,selectedFiles:r,compareSelection:i,clipboard:a,onAction:o}){return(0,X.jsxs)(cd,{children:[t&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)($,{onClick:()=>o(`new-file`,e),children:`New File`}),(0,X.jsx)($,{onClick:()=>o(`new-folder`,e),children:`New Folder`}),(0,X.jsx)(ld,{}),(0,X.jsxs)($,{onClick:()=>o(`open-in-file-explorer`,e),children:[(0,X.jsx)(we,{className:`size-3.5 mr-2`}),`Open in File Explorer`]}),(0,X.jsxs)($,{onClick:()=>o(`open-in-terminal`,e),children:[(0,X.jsx)(ct,{className:`size-3.5 mr-2`}),`Open in Terminal`]}),(0,X.jsx)(ld,{})]}),(0,X.jsx)($,{onClick:()=>o(`cut`,e),children:`Cut`}),(0,X.jsx)($,{onClick:()=>o(`copy-file`,e),children:`Copy`}),t&&a&&(0,X.jsx)($,{onClick:()=>o(`paste`,e),children:`Paste`}),(0,X.jsx)(ld,{}),(0,X.jsx)($,{onClick:()=>o(`rename`,e),children:`Rename`}),(0,X.jsx)($,{variant:`destructive`,onClick:()=>o(`delete`,e),children:`Delete`}),(0,X.jsx)(ld,{}),(0,X.jsx)($,{onClick:()=>o(`copy-path`,e),children:`Copy Path`}),(0,X.jsx)($,{onClick:()=>o(`copy-full-path`,e),children:`Copy Full Path`}),(0,X.jsx)(ld,{}),(0,X.jsxs)($,{onClick:()=>o(`download`,e),children:[(0,X.jsx)(Tn,{className:`size-3.5 mr-2`}),`Download`,t?` as Zip`:``]}),!t&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ld,{}),(0,X.jsx)($,{onClick:()=>o(`select-for-compare`,e),children:`Select for Compare`}),i&&i.projectName===n&&i.filePath!==e.path&&(0,X.jsxs)($,{onClick:()=>o(`compare-with-selected`,e),children:[`Compare with Selected (`,i.label,`)`]})]}),!t&&r.length===2&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ld,{}),(0,X.jsx)($,{onClick:()=>o(`compare-selected`,e),children:`Compare Selected`})]})]})}function gd(e){let t=Ur(t=>e?t.discovery[e]:void 0),n=Ur(t=>e?t.chosen[e]:void 0),r=Ur(e=>e.load),i=Ur(e=>e.choose);(0,Y.useEffect)(()=>{e&&r(e)},[e,r]);let a=Hr(t,n),o=(0,Y.useCallback)(t=>Jr(`${I(e??``)}/git${t}`,a),[e,a]),s=(0,Y.useCallback)(e=>Br(e,a),[a]),c=(0,Y.useCallback)(e=>Wr(e,a),[a]),l=(0,Y.useCallback)(e=>Kr(e,a),[a]),u=(0,Y.useCallback)(t=>{e&&i(e,t)},[e,i]),d=(0,Y.useCallback)(()=>{e&&r(e,!0)},[e,r]);return(0,Y.useMemo)(()=>({repo:a,repos:t?.repos??[],isNested:!!t&&!t.rootIsRepo&&t.repos.length>0,needsPick:zr(t,n),noRepo:Vr(t),gitUrl:o,repoPath:s,projectFile:c,rebaseStatus:l,choose:u,reload:d}),[a,t,n,o,s,c,l,u,d])}var _d={M:`text-warning`,A:`text-success`,D:`text-error`,R:`text-primary`,C:`text-accent-2`,U:`text-text-3`};function vd(e){let t=new Map;for(let n of e.untracked)t.set(n,`U`);for(let n of e.unstaged){let e=n.status===`?`?`U`:n.status;t.set(n.path,e)}for(let n of e.staged){let e=n.status===`?`?`U`:n.status;t.set(n.path,e)}return t}function yd(e){let t={D:5,A:4,M:3,R:2,C:1,U:0},n=new Map;for(let[r,i]of e){let e=r.split(`/`);for(let r=1;r<e.length;r++){let a=e.slice(0,r).join(`/`),o=n.get(a);(!o||t[i]>t[o])&&n.set(a,i)}}return n}var bd=Kn()(e=>({counts:new Map,fileStatuses:new Map,folderStatuses:new Map,meta:new Map,setCount:(t,n)=>{e(e=>{if(e.counts.get(t)===n)return e;let r=new Map(e.counts);return r.set(t,n),{counts:r}})},setFileStatuses:(t,n)=>{let r=vd(n),i=yd(r);e(e=>{let n=new Map(e.fileStatuses);n.set(t,r);let a=new Map(e.folderStatuses);return a.set(t,i),{fileStatuses:n,folderStatuses:a}})},setMeta:(t,n)=>{e(e=>{let r=e.meta.get(t);if(r&&r.branch===n.current&&r.ahead===n.ahead&&r.behind===n.behind&&r.tracking===n.tracking)return e;let i=new Map(e.meta);return i.set(t,{branch:n.current,ahead:n.ahead,behind:n.behind,tracking:n.tracking}),{meta:i}})}}));function xd(e,t){let n=bd(e=>e.setCount),r=bd(e=>e.setFileStatuses),i=bd(e=>e.setMeta),{repo:a,gitUrl:o,rebaseStatus:s}=gd(e),c=(0,Y.useCallback)(async()=>{if(!(!e||!a))try{let t=await L.get(o(`/status`));n(e,t.staged.length+t.unstaged.length+t.untracked.length),r(e,s(t)),i(e,t)}catch{}},[e,a,o,s,n,r,i]);(0,Y.useEffect)(()=>{if(t)return;c();let e=setInterval(c,1e4);return()=>clearInterval(e)},[c,t])}var Sd=`ring-1 ring-dashed ring-primary bg-primary/10`,Cd=`ppm-explorer-view`,wd={sort:{key:`name`,dir:`asc`},viewMode:`list`,showHidden:!1};function Td(){try{let e=localStorage.getItem(Cd);if(!e)return wd;let t=JSON.parse(e);return{sort:t.sort?.key?t.sort:wd.sort,viewMode:t.viewMode??wd.viewMode,showHidden:t.showHidden??wd.showHidden}}catch{return wd}}function Ed(e){try{localStorage.setItem(Cd,JSON.stringify(e))}catch{}}function Dd(e){return{path:e,history:[e],historyIndex:0,entries:[],breadcrumbs:[],parent:null,sep:`/`,truncated:!1,loading:!0,error:null,selection:new Set,anchor:null,filter:``,inlineEdit:null}}var Od=Kn((e,t)=>({...Td(),slices:{},ensure:(n,r)=>{t().slices[n]||e(e=>({slices:{...e.slices,[n]:Dd(r)}}))},discard:t=>{e(e=>{if(!e.slices[t])return e;let n={...e.slices};return delete n[t],{slices:n}})},patch:(t,n)=>{e(e=>{let r=e.slices[t];return r?{slices:{...e.slices,[t]:{...r,...n}}}:e})},setPrefs:t=>{e(e=>{let n={sort:t.sort??e.sort,viewMode:t.viewMode??e.viewMode,showHidden:t.showHidden??e.showHidden};return Ed(n),n})}})),kd=new Set;function Ad(...e){for(let t of e)if(t)for(let e of kd)e(t)}function jd(e){return kd.add(e),()=>kd.delete(e)}var Md=`application/x-ppm-paths`,Nd=`application/x-ppm-path`;function Pd(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function Fd(e){let t=e.replace(/\\/g,`/`).replace(/\/+$/,``);return Pd(e)?t.toLowerCase():t}function Id(e){return JSON.stringify(e)}function Ld(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let n=t;if(!Array.isArray(n.paths))return null;let r=n.paths.filter(e=>typeof e==`string`&&e.length>0);if(r.length===0)return null;let i={paths:r,origin:n.origin===`tree`?`tree`:`explorer`};return typeof n.projectName==`string`&&(i.projectName=n.projectName),i}function Rd(e,t){let n=Fd(t);return e.some(e=>{let t=Fd(e);return n===t||n.startsWith(`${t}/`)})}function zd(e,t){let n=Fd(t);return e.every(e=>{let t=Fd(e),r=t.lastIndexOf(`/`);return(r<=0?t.slice(0,r+1):t.slice(0,r))===n})}function Bd(e){return e.ctrlKey||e.altKey?`copy`:`move`}function Vd(e){return e.map(e=>{let t=e.replace(/\\/g,`/`);return`file://${(t.startsWith(`/`)?t:`/${t}`).split(`/`).map(encodeURIComponent).join(`/`)}`}).join(`\r
|
|
18
|
+
`)}var Hd=null;function Ud(e){Hd=e}function Wd(){return Hd}function Gd(){Hd=null}typeof window<`u`&&(window.addEventListener(`dragend`,Gd),window.addEventListener(`drop`,Gd));function Kd(e,t){return t?(e.current++,e.current===1):!1}function qd(e,t){return t?(e.current=Math.max(0,e.current-1),e.current===0):!1}function Jd(e){e.current=0}var Yd=99;async function Xd(e){try{return await Si.stat(e),!0}catch(e){return!(e instanceof hi&&e.code===`ENOENT`)}}async function Zd(e,t,n){for(let r=2;r<=Yd;r++){let i=di(t,r);if(!await Xd(bi(e,i,n)))return i}return null}async function Qd(e,t,n){n===`copy`?await Si.copy(e,t):await Si.move(e,t)}async function $d(e,t,n,r){let i={succeeded:0,skipped:0,failed:0},a=new Set([t]);r.startBatch?.();try{await ef(e,t,n,r,i,a)}finally{r.endBatch?.()}return Ad(...a),i}async function ef(e,t,n,r,i,a){for(let o of e){let e=o.split(/[/\\]/).filter(Boolean).pop()??o,s=xi(o,r.sep);if(a.add(s),n===`move`&&s===t){i.skipped++;continue}let c=bi(t,e,r.sep);if(n===`copy`&&s===t){let a=await Zd(t,e,r.sep);if(!a){i.failed++,R.error(`Copy failed: ${e}`,{description:`No free name available`});continue}c=bi(t,a,r.sep);try{await Qd(o,c,n),i.succeeded++}catch(t){i.failed++,R.error(`Copy failed: ${e}`,{description:gi(t)})}continue}try{await Qd(o,c,n),i.succeeded++;continue}catch(t){if(!(t instanceof hi)||t.code!==`EEXIST`){i.failed++,R.error(`${n===`copy`?`Copy`:`Move`} failed: ${e}`,{description:gi(t)});continue}}let l=await r.resolve({name:e,destination:c});if(l===`skip`){i.skipped++;continue}if(l===`keep-both`){try{let a=await Zd(t,e,r.sep);if(!a)throw Error(`No free name available`);c=bi(t,a,r.sep),await Qd(o,c,n),i.succeeded++}catch(t){i.failed++,R.error(`${n===`copy`?`Copy`:`Move`} failed: ${e}`,{description:gi(t)})}continue}try{await Si.remove(c,!1)}catch(t){if(!(t instanceof hi)||t.code!==`NO_TRASH`){i.failed++,R.error(`Could not remove existing ${e}`,{description:gi(t)});continue}if(!await r.confirmPermanentOverwrite(e)){i.skipped++;continue}try{await Si.remove(c,!0)}catch(t){i.failed++,R.error(`Could not remove existing ${e}`,{description:gi(t)});continue}}try{await Qd(o,c,n),i.succeeded++}catch(t){i.failed++,R.error(`${e} was removed but the replacement could not be written`,{description:gi(t)})}}}function tf(e,t,n){e.length!==0&&Nr.getState().setClipboard({paths:[...e],operation:t,origin:n})}async function nf(e,t){let n=Nr.getState().clipboard;if(!n||n.paths.length===0)return;let r=await $d(n.paths,e,n.operation===`cut`?`move`:`copy`,t);if(n.operation===`cut`&&r.failed===0&&Nr.getState().setClipboard(null),r.succeeded>0){let e=n.operation===`cut`?`Moved`:`Copied`;R.success(`${e} ${r.succeeded} item${r.succeeded===1?``:`s`}`)}}async function rf(e,t,n,r){if(e.paths.length!==0){if(Rd(e.paths,t)){R.error(`Cannot place an item inside itself`);return}await r(e.paths,t,n)}}function af(e){return async(t,n,r)=>{await $d(t,n,r,e)}}var of=12,sf=12;function cf(e,t){if(typeof document>`u`||t.length===0)return;let n=t.length===1?t[0]:`${t.length} items`,r=document.createElement(`div`);r.textContent=n,r.style.cssText=[`position:fixed`,`top:-1000px`,`left:-1000px`,`padding:4px 10px`,`border-radius:6px`,`font:500 12px/1.4 var(--x-font, system-ui, sans-serif)`,`color:var(--text, #fff)`,`background:var(--panel-2, #2a2a2a)`,`border:1px solid var(--border, #444)`,`box-shadow:0 2px 8px rgba(0,0,0,.35)`,`white-space:nowrap`,`pointer-events:none`].join(`;`),document.body.appendChild(r);try{e.setDragImage(r,of,sf)}catch{}requestAnimationFrame(()=>r.remove())}var lf=400,uf=10;function df(){let[e,t]=(0,Y.useState)(()=>typeof window<`u`&&window.matchMedia?.(`(pointer: coarse)`).matches===!0);return(0,Y.useEffect)(()=>{let e=window.matchMedia?.(`(pointer: coarse)`);if(!e)return;let n=()=>t(e.matches);return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function ff(e){let t=df(),n=(0,Y.useRef)(null),r=(0,Y.useRef)(null),i=(0,Y.useRef)(!1),a=(0,Y.useCallback)(()=>{n.current&&clearTimeout(n.current),n.current=null},[]);(0,Y.useEffect)(()=>a,[a]);let o=(0,Y.useCallback)(t=>{let o=t.touches[0];if(!o)return;let s=t.currentTarget;r.current={x:o.clientX,y:o.clientY},i.current=!1,a(),n.current=setTimeout(()=>{i.current=!0,e?.(),s.dispatchEvent(new MouseEvent(`contextmenu`,{bubbles:!0,cancelable:!0,clientX:o.clientX,clientY:o.clientY}))},lf)},[a,e]),s=(0,Y.useCallback)(e=>{let t=e.touches[0];!t||!r.current||(Math.abs(t.clientX-r.current.x)>uf||Math.abs(t.clientY-r.current.y)>uf)&&a()},[a]);return t?{onTouchStart:o,onTouchMove:s,onTouchEnd:a,onTouchCancel:a}:{}}function pf(e){return e.split(/[/\\]/).filter(Boolean).pop()??e}function mf(e){let{paths:t,names:n,origin:r,projectName:i,extraData:a,disabled:o,onDragStarted:s}=e,c=!df()&&!o&&t.length>0,l=(0,Y.useCallback)(e=>{s?.();let o={paths:t,origin:r,...i?{projectName:i}:{}},c=e.dataTransfer;c.setData(Md,Id(o)),c.setData(`text/uri-list`,Vd(t)),c.setData(`text/plain`,t.join(`
|
|
19
|
+
`));for(let[e,t]of Object.entries(a??{}))c.setData(e,t);c.effectAllowed=`copyMove`,cf(c,n??t.map(pf)),Ud(o)},[t,n,r,i,a,s]);return(0,Y.useMemo)(()=>c?{draggable:!0,onDragStart:l,onDragEnd:Gd}:{},[c,l])}function hf({types:e,payload:t,targetDir:n,modifiers:r}){if(!e.includes(`application/x-ppm-paths`))return{accept:!1,reason:`not-an-entry-drag`};if(n==null||n===``)return{accept:!1,reason:`no-target`};let i=Bd(r);return t?Rd(t.paths,n)?{accept:!1,reason:`self-or-descendant`}:i===`move`&&zd(t.paths,n)?{accept:!1,reason:`same-directory`}:{accept:!0,op:i}:{accept:!0,op:i}}var gf=120,_f=800;function vf(e,t,n){return hf({types:Array.from(e.dataTransfer.types),payload:n,targetDir:t,modifiers:{ctrlKey:e.ctrlKey,altKey:e.altKey}})}function yf(e){let{targetDir:t,onDropEntries:n,springLoad:r,disabled:i}=e,[a,o]=(0,Y.useState)(!1),s=(0,Y.useRef)(0),c=(0,Y.useRef)([]),l=(0,Y.useCallback)(()=>{for(let e of c.current)clearTimeout(e);c.current=[]},[]),u=(0,Y.useCallback)(()=>{s.current=0,l(),o(!1)},[l]);return(0,Y.useEffect)(()=>l,[l]),{isOver:a,handlers:{onDragEnter:(0,Y.useCallback)(e=>{if(i||!e.dataTransfer.types.includes(`application/x-ppm-paths`))return;let n=vf(e,t,Wd());n.accept&&(e.preventDefault(),e.stopPropagation()),s.current++,!(s.current>1||!n.accept)&&(c.current.push(setTimeout(()=>o(!0),gf)),r&&c.current.push(setTimeout(r,_f)))},[i,t,r]),onDragOver:(0,Y.useCallback)(e=>{if(i)return;let n=vf(e,t,Wd());n.accept&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=n.op===`copy`?`copy`:`move`)},[i,t]),onDragLeave:(0,Y.useCallback)(e=>{s.current!==0&&(e.stopPropagation(),s.current--,s.current===0&&(l(),o(!1)))},[l]),onDrop:(0,Y.useCallback)(e=>{if(i)return;let r=Ld(e.dataTransfer.getData(`application/x-ppm-paths`))??Wd();Gd();let a=vf(e,t,r);if(!a.accept){a.reason!==`not-an-entry-drag`&&(e.preventDefault(),e.stopPropagation()),u();return}if(!r||t==null){u();return}e.preventDefault(),e.stopPropagation(),u(),n(r,a.op,t)},[i,t,n,u])}}}function bf(e){return e.dataTransfer.types.includes(`Files`)&&!e.dataTransfer.types.includes(`application/x-ppm-path`)}function xf(e,t,n){return t&&e?.origin===`tree`&&e.projectName===n}function Sf(e){return e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}function Cf(e){let{path:t,name:n,isDir:r,isSelected:i,selectedFiles:a,isExpanded:o,projectName:s,projectRoot:c,toggleExpand:l,onFileDrop:u,transferRun:d}=e,[f,p]=(0,Y.useState)(!1),m=(0,Y.useRef)(0),h=mf({paths:(i&&a.length>1?a:[t]).map(e=>c?Ir(c,e):e),origin:`tree`,projectName:s,extraData:{[Nd]:r?`${t}/`:t}}),g=r?t:Sf(t),_=yf({targetDir:r&&c?Ir(c,g):null,onDropEntries:(e,t,n)=>void rf(e,n,t,d),springLoad:r&&!o?()=>l(s,t):void 0});function v(e){return e.type===`drop`?Ld(e.dataTransfer.getData(Md)):Wd()}function y(e){return bf(e)?!0:xf(v(e),e.dataTransfer.types.includes(Nd),s)}function b(e){y(e)&&(e.preventDefault(),e.stopPropagation(),Kd(m,!0)&&p(!0))}function x(e){e.stopPropagation(),qd(m,!0)&&p(!1)}function S(e){y(e)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=bf(e)?`copy`:`move`)}function C(e){if(e.preventDefault(),e.stopPropagation(),Jd(m),p(!1),bf(e)){e.dataTransfer.files.length>0&&u(g,e.dataTransfer.files);return}let t=e.dataTransfer.getData(Nd).replace(/\/$/,``);if(!t||t===g||g.startsWith(`${t}/`))return;let n=Sf(t);if(n===g)return;let r=t.includes(`/`)?t.slice(t.lastIndexOf(`/`)+1):t,i=g?`${g}/${r}`:r;L.post(`${I(s)}/files/move`,{source:t,destination:i}).then(()=>{let e=Nr.getState();e.invalidateIndex(),e.loadIndex(s),e.invalidateFolder(s,n),e.invalidateFolder(s,g),c&&Ad(Ir(c,n),Ir(c,g))}).catch(e=>{R.error(e instanceof Error?e.message:`Move failed`)})}return{entrySource:h,isDragOver:f||_.isOver,containerHandlers:{onDragEnter:e=>{y(e)?b(e):_.handlers.onDragEnter(e)},onDragLeave:e=>{y(e)?x(e):_.handlers.onDragLeave(e)},onDragOver:e=>{y(e)?S(e):_.handlers.onDragOver(e)},onDrop:e=>{y(e)?C(e):_.handlers.onDrop(e)}}}}var wf=(0,Y.memo)(function({row:e,projectName:t,onAction:n,onFileDrop:r,onFileOpen:i,transferRun:a}){let{node:o,depth:s}=e,{expandedPaths:c,loadedPaths:l,inflight:u,toggleExpand:d,selectedFiles:f,toggleFileSelect:p,clipboard:m,focusedPath:h,setFocusedPath:g}=Nr(ju(e=>({expandedPaths:e.expandedPaths,loadedPaths:e.loadedPaths,inflight:e.inflight,toggleExpand:e.toggleExpand,selectedFiles:e.selectedFiles,toggleFileSelect:e.toggleFileSelect,clipboard:e.clipboard,focusedPath:e.focusedPath,setFocusedPath:e.setFocusedPath}))),_=W(e=>e.openTab),v=U(e=>e.activeProject?.path),y=o.type===`directory`,b=bd(e=>(y?e.folderStatuses.get(t):e.fileStatuses.get(t))?.get(o.path)),x=b?_d[b]:void 0,S=c.has(o.path),C=f.includes(o.path),w=o.ignored===!0,T=m?.operation===`cut`&&v!=null&&m.paths.includes(Ir(v,o.path)),E=h===o.path,D=y&&S&&!l.has(o.path)&&u.has(o.path),O=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{E&&O.current&&O.current.scrollIntoView({block:`nearest`})},[E]);function k(e){if(e.metaKey||e.ctrlKey){g(o.path),p(o.path);return}if(e.shiftKey&&h!=null){let e=Mr(),t=e.indexOf(h),n=e.indexOf(o.path);if(t>=0&&n>=0){let r=Math.min(t,n),i=Math.max(t,n);Nr.getState().setSelectedFiles(e.slice(r,i+1))}return}if(g(o.path),Nr.getState().clearSelection(),y){d(t,o.path);return}let n=o.name.split(`.`).pop()?.toLowerCase()??``;_({type:n===`db`||n===`sqlite`||n===`sqlite3`?`sqlite`:`editor`,title:o.name,metadata:{filePath:o.path,projectName:t},projectId:t,closable:!0}),i?.()}let A=Cf({path:o.path,name:o.name,isDir:y,isSelected:C,selectedFiles:f,isExpanded:S,projectName:t,projectRoot:v,toggleExpand:d,onFileDrop:r,transferRun:a});return(0,X.jsx)(`div`,{...A.containerHandlers,children:(0,X.jsxs)(`button`,{ref:O,...A.entrySource,onClick:k,className:V(`flex items-center w-full gap-1.5 px-2 py-1 rounded-[var(--rad-sm)] text-[13px] leading-[18px]`,`min-h-[32px] md:min-h-[26px] hover:bg-surface-elevated transition-colors text-left`,`select-none`,T&&`opacity-40`,E&&`bg-surface-elevated`,C&&`bg-accent-wash`,A.isDragOver&&`ring-1 ring-dashed ring-primary bg-primary/10`),style:{paddingLeft:`${s*16+8}px`},children:[y?D?(0,X.jsx)(F,{className:`size-3.5 shrink-0 text-text-subtle animate-spin`}):S?(0,X.jsx)(Ye,{className:`size-3.5 shrink-0 text-text-subtle`}):(0,X.jsx)(Zt,{className:`size-3.5 shrink-0 text-text-subtle`}):(0,X.jsx)(`span`,{className:`w-3.5 shrink-0`}),(0,X.jsx)(Oi,{name:o.name,kind:y?`directory`:`file`,open:S}),(0,X.jsx)(`span`,{className:V(`truncate`,x??(C?`text-text`:w?`text-text-dim`:y&&S?`text-text font-medium`:`text-text-2`)),children:o.name}),b&&!y&&(0,X.jsx)(`span`,{className:V(`text-[10px] ml-auto shrink-0 font-mono`,x),children:b})]})})});function Tf({defaultValue:e,placeholder:t,depth:n,icon:r,onConfirm:i,onCancel:a}){let[o,s]=(0,Y.useState)(e),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(!1),f=(0,Y.useRef)(null),p=(0,Y.useRef)(!1);(0,Y.useEffect)(()=>{let t=f.current;t&&requestAnimationFrame(()=>{if(t.focus(),e){let n=e.lastIndexOf(`.`);t.setSelectionRange(0,n>0?n:e.length)}})},[e]);let m=(0,Y.useCallback)(async()=>{if(p.current||u)return;let e=o.trim();if(!e){a();return}p.current=!0,d(!0),l(null);try{await i(e)}catch(e){p.current=!1,l(e instanceof Error?e.message:`Failed`),d(!1)}},[o,u,i,a]);function h(e){e.key===`Enter`?(e.preventDefault(),m()):e.key===`Escape`&&(e.preventDefault(),a())}function g(){p.current||m()}let _=r===`folder`?Ee:Ft;return(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`div`,{className:V(`flex items-center w-full gap-1.5 px-2 py-0.5`,`min-h-[32px] text-left`),style:{paddingLeft:`${n*16+8}px`},children:[(0,X.jsx)(`span`,{className:`w-3.5 shrink-0`}),(0,X.jsx)(_,{className:`size-4 shrink-0 text-text-secondary`}),(0,X.jsx)(`input`,{ref:f,value:o,onChange:e=>{s(e.target.value),l(null)},onKeyDown:h,onBlur:g,placeholder:t,disabled:u,className:V(`flex-1 min-w-0 bg-input text-sm px-1.5 py-0.5 rounded border outline-none`,`focus:ring-1 focus:ring-primary/50`,c?`border-destructive`:`border-primary`)})]}),c&&(0,X.jsx)(`p`,{className:`text-[10px] text-destructive truncate`,style:{paddingLeft:`${n*16+8+14+22}px`},children:c})]})}var Ef=6e4,Df=null,Of=null,kf=new Set;function Af(){return Df&&Date.now()-Df.at<Ef?Promise.resolve(Df.value):Of||(Of=L.get(`/api/system/host`).then(e=>{Df={at:Date.now(),value:e};for(let t of kf)t(e);return e}).finally(()=>{Of=null}),Of)}function jf(){let[e,t]=(0,Y.useState)(()=>({host:Df?.value??null,loading:Df==null,error:null}));return(0,Y.useEffect)(()=>{let e=!0,n=n=>{e&&t({host:n,loading:!1,error:null})};return kf.add(n),Af().then(n).catch(n=>{e&&t({host:null,loading:!1,error:n instanceof Error?n.message:`Failed to read host info`})}),()=>{e=!1,kf.delete(n)}},[]),e}function Mf(){return Af()}function Nf(){return Df?.value.homedir??null}var Pf=`mobile`,Ff=Kn(e=>({isOpen:!1,selectMode:!1,close:()=>e({isOpen:!1,selectMode:!1}),setSelectMode:t=>e({selectMode:t})}));async function If(e){let t=Od.getState(),n=t.slices[Pf],r=e??n?.path??Nf();if(!r)try{r=(await Mf()).homedir}catch{return}n?e&&n.path!==e&&t.patch(Pf,{path:r,history:[r],historyIndex:0,selection:new Set,anchor:null,filter:``,inlineEdit:null}):t.ensure(Pf,r),Ff.setState({isOpen:!0,selectMode:!1})}async function Lf(e){if(Rr())return await If(e),Pf;let t=e??Nf();if(!t)try{t=(await Mf()).homedir}catch{return null}return mr.getState().open(`explorer`,{path:t})}function Rf(e,t){let n=Jn(e)||e;return H.getState().openInDock({type:`terminal`,title:n,projectId:t??null,closable:!0,metadata:{cwd:e,...t?{projectName:t}:{}}})}var zf=48,Bf=16;function Vf(e){if(e>=zf)return 0;let t=Math.min(1,Math.max(0,(zf-e)/zf));return Math.ceil(t*Bf)}function Hf(e){(0,Y.useEffect)(()=>{let t=e.current;if(!t)return;let n=null,r={x:0,y:0},i=()=>{n!==null&&cancelAnimationFrame(n),n=null,r={x:0,y:0}},a=()=>{if(r.x===0&&r.y===0){n=null;return}t.scrollBy(r.x,r.y),n=requestAnimationFrame(a)},o=e=>{if(!e.dataTransfer?.types.includes(`application/x-ppm-paths`))return;let i=t.getBoundingClientRect(),o=Vf(e.clientY-i.top),s=Vf(i.bottom-e.clientY),c=Vf(e.clientX-i.left);r={x:Vf(i.right-e.clientX)-c,y:s-o},n===null&&(r.x!==0||r.y!==0)&&(n=requestAnimationFrame(a))};return t.addEventListener(`dragover`,o),t.addEventListener(`dragleave`,i),t.addEventListener(`drop`,i),window.addEventListener(`dragend`,i),()=>{i(),t.removeEventListener(`dragover`,o),t.removeEventListener(`dragleave`,i),t.removeEventListener(`drop`,i),window.removeEventListener(`dragend`,i)}},[e])}function Uf(e,t,n,r,i){return new Promise((a,o)=>{if(i?.aborted){o(new DOMException(`Upload aborted`,`AbortError`));return}let s=new XMLHttpRequest;s.open(`PUT`,Si.uploadUrl(e,n));let c=Gn();c&&s.setRequestHeader(`Authorization`,`Bearer ${c}`),s.setRequestHeader(`x-ppm-client`,`web`),s.upload.onprogress=e=>{e.lengthComputable&&r({loaded:e.loaded,total:e.total})};let l=()=>s.abort();i?.addEventListener(`abort`,l);let u=()=>i?.removeEventListener(`abort`,l);s.onload=()=>{u();let e={};try{e=JSON.parse(s.responseText)}catch{}if(s.status>=200&&s.status<300&&e.ok!==!1&&e.data){a(e.data);return}o(new hi(e.error??`HTTP ${s.status}`,e.code??`EUNKNOWN`,s.status))},s.onerror=()=>{u(),o(Error(`Network error during upload`))},s.onabort=()=>{u(),o(new DOMException(`Upload aborted`,`AbortError`))},s.send(t)})}function Wf(e){return e instanceof hi?e.status===403?`Not allowed here`:e.status===413?`File too large for the tunnel (100 MB)`:e.message||`Upload failed`:e instanceof Error?`Connection lost`:`Upload failed`}function Gf(e){return e.every(e=>e.state!==`queued`&&e.state!==`uploading`)}var Kf=Kn((e,t)=>({order:[],batches:{},cancellers:{},addBatch:(t,n,r)=>{let i={id:t,dstDir:n,items:r.map(e=>({...e,bytesLoaded:0,state:`queued`})),settled:!1};e(e=>({order:[...e.order,t],batches:{...e.batches,[t]:i}}))},registerCanceller:(t,n,r)=>{e(e=>({cancellers:{...e.cancellers,[`${t}:${n}`]:r}}))},setItemState:(t,n,r,i)=>{e(e=>{let a=e.batches[t];if(!a)return e;let o=a.items.map(e=>e.id===n?{...e,state:r,errorMessage:i}:e);return{batches:{...e.batches,[t]:{...a,items:o,settled:Gf(o)}}}})},setItemProgress:(t,n,r)=>{e(e=>{let i=e.batches[t];if(!i)return e;let a=i.items.map(e=>e.id===n?{...e,bytesLoaded:r}:e);return{batches:{...e.batches,[t]:{...i,items:a}}}})},cancelItem:(e,n)=>{t().cancellers[`${e}:${n}`]?.()},cancelBatch:e=>{let n=t().batches[e];if(n)for(let r of n.items)t().cancelItem(e,r.id)},dismissBatch:t=>{e(e=>{let{[t]:n,...r}=e.batches;return{batches:r,order:e.order.filter(e=>e!==t)}})}}));async function qf(e,t,n){let r=e.reduce((e,t)=>e+t.size,0),i=Array(e.length).fill(0),a=Array(e.length),o=0,s=()=>{n({completed:o,total:e.length,bytesLoaded:i.reduce((e,t)=>e+t,0),bytesTotal:r})},c=0;async function l(){for(;;){let t=c++;if(t>=e.length)return;let n=e[t];try{let e=await n.run(e=>{i[t]=e,s()});a[t]={id:n.id,ok:!0,value:e}}catch(e){a[t]={id:n.id,ok:!1,error:e}}i[t]=n.size,o++,s()}}let u=Math.max(1,Math.min(t,e.length));return await Promise.all(Array.from({length:u},l)),a}var Jf=3;function Yf(e){return e.split(`/`).pop()??e}function Xf(e,t,n){return bi(e,t.split(`/`).join(n),n)}async function Zf(e,t,n,r,i,a){let o=Xf(t,e.relativePath,n);try{return await Uf(o,e.file,!1,e=>a(e.loaded),i),`done`}catch(e){if(!(e instanceof hi)||e.code!==`EEXIST`)throw e}let s=Yf(e.relativePath),c=await r.resolve({name:s,destination:o});if(c===`skip`)return`skipped`;if(c===`keep-both`){let t=xi(o,n),r=await Zd(t,s,n);if(!r)throw Error(`No free name available`);return await Uf(bi(t,r,n),e.file,!1,e=>a(e.loaded),i),`done`}try{await Si.remove(o,!1)}catch(t){if(t instanceof hi&&t.code===`ENOENT`)return await Uf(o,e.file,!0,e=>a(e.loaded),i),`done`;if(!(t instanceof hi)||t.code!==`NO_TRASH`)throw t;if(!await r.confirmPermanentOverwrite(s))return`skipped`;await Si.remove(o,!0)}return await Uf(o,e.file,!0,e=>a(e.loaded),i),`done`}async function Qf(e,t,n,r){if(e.length===0)return;let i=crypto.randomUUID(),a=Kf.getState();a.addBatch(i,t,e.map((e,t)=>({id:String(t),name:Yf(e.relativePath),relativePath:e.relativePath,size:e.file.size})));let o=e.map((e,t)=>{let n=new AbortController;return a.registerCanceller(i,String(t),()=>n.abort()),n});r.startBatch?.();try{await qf(e.map((e,s)=>{let c=String(s),l=o[s];return{id:c,size:e.file.size,run:async o=>{if(l.signal.aborted)throw a.setItemState(i,c,`cancelled`),new DOMException(`Upload aborted`,`AbortError`);a.setItemState(i,c,`uploading`);try{let s=await Zf(e,t,n,r,l.signal,e=>{o(e),a.setItemProgress(i,c,e)});a.setItemState(i,c,s===`skipped`?`skipped`:`done`)}catch(e){let t=e instanceof DOMException&&e.name===`AbortError`;throw a.setItemState(i,c,t?`cancelled`:`failed`,t?void 0:Wf(e)),e}}}}),Jf,()=>{})}finally{r.endBatch?.(),Ad(t)}}var $f=class{queue=[];constructor(e){this.onChange=e}request(e){return new Promise(t=>{this.queue.push({request:e,settle:t}),this.onChange()})}snapshot(){let e=this.queue[0];return e?{request:e.request,remaining:this.queue.length-1}:null}choose(e){let t=this.queue.shift();t&&(t.settle(e),this.onChange())}drain(e){let t=this.queue.splice(0);if(t.length!==0){for(let n of t)n.settle(e);this.onChange()}}},ep=class{core;stickyChoice=null;activeBatches=0;constructor(e){this.core=new $f(e)}startBatch(){this.activeBatches++}endBatch(){this.activeBatches=Math.max(0,this.activeBatches-1),this.activeBatches===0&&(this.stickyChoice=null)}request(e){return this.stickyChoice?Promise.resolve(this.stickyChoice):this.core.request(e)}snapshot(){return this.core.snapshot()}choose(e,t){t?(this.stickyChoice=e,this.core.drain(e)):this.core.choose(e)}};function tp(){let[e,t]=(0,Y.useState)(0),[n,r]=(0,Y.useState)(!1),i=(0,Y.useRef)(null);i.current||=new ep(()=>t(e=>e+1));let a=i.current;return(0,Y.useMemo)(()=>{let e=a.snapshot();return{state:e&&{...e.request,remaining:e.remaining,applyToAll:n,setApplyToAll:r,resolve:e=>{a.choose(e,n),r(!1)}},resolve:e=>a.request(e),startBatch:()=>a.startBatch(),endBatch:()=>a.endBatch()}},[a,n,e])}function np(){let[e,t]=(0,Y.useState)(0),n=(0,Y.useRef)(null);n.current||=new $f(()=>t(e=>e+1));let r=n.current;return(0,Y.useMemo)(()=>{let e=r.snapshot();return{state:e&&{name:e.request,remaining:e.remaining,resolve:e=>r.choose(e)},confirm:e=>r.request(e)}},[r,e])}function rp({open:e,onClose:t,title:n,description:r,children:i,footer:a,className:o}){return Lr()?(0,X.jsx)(Pi,{open:e,onClose:t,className:`p-4`,children:(0,X.jsxs)(`div`,{className:V(`space-y-3`,o),children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-text`,children:n}),r&&(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-2`,children:r})]}),(0,X.jsx)(`div`,{className:`max-h-[50vh] overflow-y-auto`,children:i}),a&&(0,X.jsx)(`div`,{className:`flex flex-col gap-2 pt-1`,children:a})]})}):(0,X.jsx)(Ei,{open:e,onOpenChange:e=>{e||t()},children:(0,X.jsxs)(K,{className:V(`sm:max-w-md`,o),children:[(0,X.jsxs)(Ci,{children:[(0,X.jsx)(q,{children:n}),r&&(0,X.jsx)(J,{children:r})]}),(0,X.jsx)(`div`,{className:`max-h-[60vh] overflow-y-auto`,children:i}),a&&(0,X.jsx)(`div`,{className:`flex justify-end gap-2 pt-2`,children:a})]})})}var ip={file:`File`,directory:`Folder`,symlink:`Symbolic link`,unknown:`Unknown`};function ap({label:e,value:t}){return t?(0,X.jsxs)(`div`,{className:`grid grid-cols-[7rem_1fr] gap-2 py-1 text-sm`,children:[(0,X.jsx)(`span`,{className:`text-text-2`,children:e}),(0,X.jsx)(`span`,{className:`break-all text-text`,children:t})]}):null}function op({entry:e,platform:t,sep:n,onClose:r}){let[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{let t=!0,n=new AbortController;return a(null),s(null),Si.stat(e.path,n.signal).then(e=>{t&&a(e)}).catch(e=>{t&&s(e instanceof Error?e.message:`Could not read properties`)}),()=>{t=!1,n.abort()}},[e.path]);let c=i?i.kind===`directory`?`${i.childCount??0}${i.truncated?`+`:``} item${i.childCount===1?``:`s`}`:`${_i(i.size)} (${i.size.toLocaleString()} bytes)`:``,l=i?t===`win32`?i.readonly?`Read-only`:`Read / write`:`${mi(i.mode)}${i.readonly?` (read-only)`:``}`:``;return(0,X.jsxs)(rp,{open:!0,onClose:r,title:e.name,description:`Properties`,footer:(0,X.jsx)(G,{variant:`outline`,onClick:r,children:`Close`}),children:[o&&(0,X.jsx)(`p`,{className:`py-2 text-sm text-error`,children:o}),!i&&!o&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 py-4 text-sm text-text-2`,children:[(0,X.jsx)(F,{className:`size-4 animate-spin`}),` Reading…`]}),i&&(0,X.jsxs)(`div`,{className:`divide-y divide-border`,children:[(0,X.jsx)(ap,{label:`Name`,value:i.name}),(0,X.jsx)(ap,{label:`Kind`,value:ip[i.kind]}),(0,X.jsx)(ap,{label:`Location`,value:xi(i.path,n)}),(0,X.jsx)(ap,{label:i.kind===`directory`?`Contains`:`Size`,value:c}),(0,X.jsx)(ap,{label:`Created`,value:yi(i.birthtime)}),(0,X.jsx)(ap,{label:`Modified`,value:yi(i.mtime)}),(0,X.jsx)(ap,{label:`Permissions`,value:l}),(0,X.jsx)(ap,{label:`Hidden`,value:i.isHidden?`Yes`:``}),(0,X.jsx)(ap,{label:`Links to`,value:i.target??``})]})]})}function sp({dialogs:e,platform:t,sep:n}){let{collision:r,pendingDelete:i,permanentOverwrite:a,properties:o}=e;return(0,X.jsxs)(X.Fragment,{children:[e.uploadInputs,r&&(0,X.jsxs)(rp,{open:!0,onClose:()=>r.resolve(`skip`),title:`An item with that name already exists`,description:r.remaining>0?`${r.name} — and ${r.remaining} more`:r.name,footer:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(G,{variant:`outline`,onClick:()=>r.resolve(`skip`),children:`Skip`}),(0,X.jsx)(G,{variant:`outline`,onClick:()=>r.resolve(`keep-both`),children:`Keep both`}),(0,X.jsx)(G,{variant:`destructive`,onClick:()=>r.resolve(`replace`),children:`Replace`})]}),children:[(0,X.jsx)(`p`,{className:`py-1 text-sm text-text-2`,children:`Replacing moves the existing item to the Trash first, so it stays recoverable. Keep both adds a numbered suffix.`}),r.remaining>0&&(0,X.jsxs)(`label`,{className:`flex min-h-11 items-center gap-2 text-sm text-text-2`,children:[(0,X.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:r.applyToAll,onChange:e=>r.setApplyToAll(e.target.checked)}),`Apply to all `,r.remaining,` remaining item`,r.remaining===1?``:`s`]})]}),i&&(0,X.jsx)(rp,{open:!0,onClose:e.closeDelete,title:`Delete ${i.paths.length} item${i.paths.length===1?``:`s`} permanently?`,description:`This cannot be undone — the items do not go to the Trash.`,footer:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(G,{variant:`outline`,onClick:e.closeDelete,children:`Cancel`}),(0,X.jsx)(G,{variant:`destructive`,onClick:e.runPermanentDelete,children:`Delete permanently`})]}),children:(0,X.jsxs)(`ul`,{className:`space-y-0.5 py-1 text-sm text-text-2`,children:[i.names.slice(0,10).map(e=>(0,X.jsx)(`li`,{className:`truncate`,children:e},e)),i.names.length>10&&(0,X.jsxs)(`li`,{className:`text-text-subtle`,children:[`and `,i.names.length-10,` more…`]})]})}),a&&(0,X.jsx)(rp,{open:!0,onClose:()=>a.resolve(!1),title:`This host has no Trash`,description:a.name,footer:(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(G,{variant:`outline`,onClick:()=>a.resolve(!1),children:`Cancel`}),(0,X.jsx)(G,{variant:`destructive`,onClick:()=>a.resolve(!0),children:`Delete permanently`})]}),children:(0,X.jsx)(`p`,{className:`py-1 text-sm text-text-2`,children:`Replacing this item cannot go through the Trash on this host. Deleting it permanently cannot be undone.`})}),o&&(0,X.jsx)(op,{entry:o,platform:t,sep:n,onClose:e.closeProperties})]})}function cp(e,t){let n=tp(),r=np(),i=(0,Y.useRef)(e);(0,Y.useEffect)(()=>{i.current=e},[e]);let a=(0,Y.useRef)(n);a.current=n;let o=(0,Y.useRef)(r);o.current=r;let s=(0,Y.useMemo)(()=>({get sep(){return i.current},resolve:e=>a.current.resolve(e),startBatch:()=>a.current.startBatch(),endBatch:()=>a.current.endBatch(),confirmPermanentOverwrite:e=>o.current.confirm(e)}),[]);return{run:(0,Y.useMemo)(()=>af(s),[s]),uploadRun:(0,Y.useMemo)(()=>(e,t)=>Qf(e,t,i.current,s),[s]),prompts:(0,X.jsx)(sp,{dialogs:{collision:n.state,permanentOverwrite:r.state,pendingDelete:null,properties:null,inlineError:null,closeDelete:()=>{},runPermanentDelete:()=>{},closeProperties:()=>{},uploadInputs:null},platform:t,sep:e})}}function lp(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``).split(`/`).filter(e=>e.length>0&&e!==`.`);return t.length===0||t.some(e=>e===`..`)?null:t.join(`/`)}function up(e){return new Promise((t,n)=>e.file(t,n))}function dp(e){return new Promise((t,n)=>{let r=[],i=()=>{e.readEntries(e=>{if(e.length===0){t(r);return}r.push(...e),i()},n)};i()})}async function fp(e,t){if(e.isFile){let n=lp(e.fullPath);if(!n)return;t.push({file:await up(e),relativePath:n});return}if(e.isDirectory){let n=e.createReader();for(let e of await dp(n))await fp(e,t)}}async function pp(e){let t=Array.from(e.items??[]).filter(e=>e.kind===`file`&&typeof e.webkitGetAsEntry==`function`).map(e=>e.webkitGetAsEntry()).filter(e=>e!=null);if(t.length>0){let e=[];for(let n of t)await fp(n,e);return e}let n=[];for(let t of Array.from(e.files)){let e=lp(t.name);e&&n.push({file:t,relativePath:e})}return n}function mp(e){let{targetDir:t,onFiles:n,disabled:r}=e,[i,a]=(0,Y.useState)(!1),o=(0,Y.useRef)(0),s=(0,Y.useCallback)(()=>{o.current=0,a(!1)},[]),c=(0,Y.useCallback)(e=>!r&&t!=null&&bf(e),[r,t]);return{isOver:i,handlers:{onDragEnter:(0,Y.useCallback)(e=>{c(e)&&(e.preventDefault(),e.stopPropagation(),o.current++,a(!0))},[c]),onDragOver:(0,Y.useCallback)(e=>{c(e)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`)},[c]),onDragLeave:(0,Y.useCallback)(e=>{o.current!==0&&(e.stopPropagation(),o.current--,o.current===0&&a(!1))},[]),onDrop:(0,Y.useCallback)(e=>{if(!c(e)||t==null)return;e.preventDefault(),e.stopPropagation();let r=e.dataTransfer;s(),pp(r).then(e=>{e.length>0&&n(e,t)})},[c,t,n,s])}}}function hp(){}function gp(e){let{targetDir:t,run:n,springLoad:r,disabled:i,onFiles:a}=e,o=yf({targetDir:t,onDropEntries:(0,Y.useCallback)((e,t,r)=>{rf(e,r,t,n)},[n]),springLoad:r,disabled:i}),s=mp({targetDir:t,onFiles:a??hp,disabled:i||!a});return a?{isOver:o.isOver||s.isOver,handlers:{onDragEnter:e=>{o.handlers.onDragEnter(e),s.handlers.onDragEnter(e)},onDragOver:e=>{o.handlers.onDragOver(e),s.handlers.onDragOver(e)},onDragLeave:e=>{o.handlers.onDragLeave(e),s.handlers.onDragLeave(e)},onDrop:e=>{o.handlers.onDrop(e),s.handlers.onDrop(e)}}}:o}function _p({projectName:e,setExpanded:t}){let[n,r]=(0,Y.useState)(!1),i=(0,Y.useRef)(0),a=(0,Y.useCallback)(async(n,r)=>{if(!e)return;let i=r.length,a=i===1?r[0].name:`${i} files`,o=R.loading(`Uploading ${a}…`),s=new FormData;s.append(`targetDir`,n);for(let e of r)s.append(`files`,e);let c={},l=Gn();l&&(c.Authorization=`Bearer ${l}`);try{let r=await fetch(`${I(e)}/files/upload`,{method:`POST`,headers:c,body:s});if(!r.ok){let e=await r.json();R.error(`Upload failed: ${e.error??`Unknown error`}`,{id:o});return}R.success(`Uploaded ${a}`,{id:o});let i=Nr.getState();i.loadedPaths.has(n)&&await i.invalidateFolder(e,n),n&&t(n,!0)}catch(e){R.error(e instanceof Error?e.message:`Upload failed`,{id:o})}},[e,t]);function o(e){let t=bf(e);t&&(e.preventDefault(),Kd(i,t)&&r(!0))}function s(e){qd(i,bf(e))&&r(!1)}function c(e){bf(e)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)}function l(e){bf(e)&&(e.preventDefault(),Jd(i),r(!1),e.dataTransfer.files.length>0&&a(``,e.dataTransfer.files))}return{uploadFiles:a,isRootDragOver:n,handleRootDragEnter:o,handleRootDragLeave:s,handleRootDragOver:c,handleRootDrop:l}}function vp({tree:e,expandedPaths:t,focusedPath:n,setFocusedPath:r,setExpanded:i,toggleExpand:a,projectName:o,onAction:s}){let c=(0,Y.useMemo)(()=>jr(e,t),[e,t]),l=(0,Y.useMemo)(()=>c.find(e=>e.path===n)??null,[c,n]);function u(e){if(!o)return;let u=e.target;if(u.tagName===`INPUT`||u.tagName===`TEXTAREA`)return;let d=n==null?-1:c.findIndex(e=>e.path===n);switch(e.key){case`ArrowDown`:e.preventDefault(),r(c[d<c.length-1?d+1:0].path);break;case`ArrowUp`:e.preventDefault(),r(c[d>0?d-1:c.length-1].path);break;case`ArrowRight`:e.preventDefault(),l?.type===`directory`&&!t.has(l.path)&&a(o,l.path);break;case`ArrowLeft`:if(e.preventDefault(),l?.type===`directory`&&t.has(l.path))i(l.path,!1);else if(l){let e=l.path.includes(`/`)?l.path.slice(0,l.path.lastIndexOf(`/`)):``;if(e||e===``){let t=c.find(t=>t.path===e);t&&r(t.path)}}break;case`Enter`:e.preventDefault(),l&&s(l.type===`directory`?`toggle-expand`:`open-file`,l);break;case`F2`:e.preventDefault(),l&&s(`rename`,l);break;case`Delete`:e.preventDefault(),l&&s(`delete`,l);break}}return{visibleNodes:c,focusedNode:l,handleTreeKeyDown:u}}var yp={name:``,path:``,type:`directory`};function bp(e){return e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}function xp({onFileOpen:e}={}){let{tree:t,loading:n,error:r,loadRoot:i,loadIndex:a,loadChildren:o,invalidateIndex:s,invalidateFolder:c,reset:l,selectedFiles:u,clearSelection:d,setExpanded:f,fetchTree:p,inlineAction:m,setInlineAction:h,clearInlineAction:g,clipboard:_,setClipboard:v,collapseAll:y,focusedPath:b,setFocusedPath:x,expandedPaths:S,toggleExpand:C}=Nr(ju(e=>({tree:e.tree,loading:e.loading,error:e.error,loadRoot:e.loadRoot,loadIndex:e.loadIndex,loadChildren:e.loadChildren,invalidateIndex:e.invalidateIndex,invalidateFolder:e.invalidateFolder,reset:e.reset,selectedFiles:e.selectedFiles,clearSelection:e.clearSelection,setExpanded:e.setExpanded,fetchTree:e.fetchTree,inlineAction:e.inlineAction,setInlineAction:e.setInlineAction,clearInlineAction:e.clearInlineAction,clipboard:e.clipboard,setClipboard:e.setClipboard,collapseAll:e.collapseAll,focusedPath:e.focusedPath,setFocusedPath:e.setFocusedPath,expandedPaths:e.expandedPaths,toggleExpand:e.toggleExpand}))),w=U(e=>e.activeProject),T=W(e=>e.openTab),[E,D]=(0,Y.useState)(null),O=(0,Y.useCallback)(()=>{w&&(l(),i(w.name),a(w.name))},[w,l,i,a]),k=(0,Y.useCallback)(async()=>{if(!w)return;let{tabs:e,activeTabId:t}=W.getState(),n=e.find(e=>e.id===t)?.metadata?.filePath;if(!n)return;let r=n.split(`/`),i=w.name;for(let e=1;e<r.length;e++){let t=r.slice(0,e).join(`/`);f(t,!0),await o(i,t)}x(n)},[w,f,o,x]),A=(0,Y.useCallback)(async e=>{if(!w||!_)return;let t=w.name,n=w.path,r=n.includes(`\\`)?`\\`:`/`,i=_.operation===`cut`?`move`:`copy`,a=new Set([Ir(n,e)]);for(let o of _.paths){let s=o.split(/[/\\]/).filter(Boolean).pop()??o,c=Ar(n,o);a.add(xi(o,r));try{if(c!=null){let n=e?`${e}/${s}`:s;await L.post(`${I(t)}/files/${i}`,{source:c,destination:n})}else{let t=Ir(n,e?`${e}/${s}`:s);await L.post(`/api/fs/${i}`,{source:o,destination:t})}}catch(e){R.error(e instanceof Error?e.message:`Failed to ${i}`)}}_.operation===`cut`&&v(null),Ad(...a),O()},[w,_,v,O]),j=(0,Y.useRef)(null),ee=(0,Y.useCallback)((e,t)=>{if(!w)return;let n=w.path;v({paths:e.map(e=>Ir(n,e)),operation:t,origin:{projectName:w.name,root:n}})},[w,v]),te=(0,Y.useCallback)(e=>{if(!w)return;let t=e.target;t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable||(e.metaKey||e.ctrlKey)&&((e.key===`x`||e.key===`c`)&&u.length>0?(e.preventDefault(),ee(u,e.key===`x`?`cut`:`copy`)):e.key===`v`&&_&&(e.preventDefault(),A(``)))},[w,u,_,v,A]),M=(0,Y.useCallback)(async(t,n)=>{let r=Nr.getState().selectedFiles;if(t===`toggle-expand`&&n.type===`directory`){C(w.name,n.path);return}if(t===`open-file`&&n.type===`file`){let t=n.name.split(`.`).pop()?.toLowerCase()??``;T({type:t===`db`||t===`sqlite`||t===`sqlite3`?`sqlite`:`editor`,title:n.name,metadata:{filePath:n.path,projectName:w.name},projectId:w.name,closable:!0}),e?.();return}if(t===`cut`||t===`copy-file`){ee(r.length>0&&r.includes(n.path)?[...r]:[n.path],t===`cut`?`cut`:`copy`);return}if(t===`open-in-file-explorer`){let e=n.type===`directory`?n.path:bp(n.path);Lf(Ir(w.path,e));return}if(t===`open-in-terminal`){let e=n.type===`directory`?n.path:bp(n.path);Rf(Ir(w.path,e),w.name);return}if(t===`paste`&&n.type===`directory`){A(n.path);return}if(t===`copy-path`){vl(n.path);return}if(t===`copy-full-path`){let e=w?.path;vl(e?`${e}/${n.path}`:n.path);return}if(t===`select-for-compare`){Fs.getState().setSelection({filePath:n.path,projectName:w.name,label:n.name});return}if(t===`compare-with-selected`){let e=Fs.getState().selection;if(!e)return;try{await Ls({path:e.filePath,dirtyContent:e.dirtyContent},{path:n.path},w.name),Fs.getState().clearSelection()}catch(e){let t=e instanceof Error?e.message:`Compare failed`;R.error(t)}return}if(t===`download`){n.type===`directory`?pi(w.name,n.path):fi(w.name,n.path);return}if(t===`compare-selected`&&r.length===2){let e=r[0],t=r[1];T({type:`git-diff`,title:`Compare ${Jn(e)} vs ${Jn(t)}`,closable:!0,metadata:{projectName:w.name,file1:e,file2:t},projectId:w.name}),d();return}if(t===`new-file`||t===`new-folder`){let e=n.type===`directory`?n.path:``;e&&f(e,!0),h({type:t,parentPath:e});return}if(t===`rename`){h({type:`rename`,parentPath:n.path.includes(`/`)?n.path.slice(0,n.path.lastIndexOf(`/`)):``,existingNode:n});return}D({action:t,node:n})},[w,C,T,e,ee,A,d,f,h]),{handleTreeKeyDown:N}=vp({tree:t,expandedPaths:S,focusedPath:b,setFocusedPath:x,setExpanded:f,toggleExpand:C,projectName:w?.name,onAction:M});(0,Y.useEffect)(()=>{if(!w)return;l();let e=w.name,t=Pr(e);Nr.setState({expandedPaths:new Set([``,...t])}),t.length>0?Nr.getState().loadPathsBatch(e,[``,...t]):i(e),a(e)},[w?.name]),(0,Y.useEffect)(()=>{w&&Or(w.name,Nr.getState().expandedPaths)},[S,w?.name]),(0,Y.useEffect)(()=>{if(!w)return;let e=w.name,t,n=n=>{let r=n.detail;r.projectName===e&&(clearTimeout(t),t=setTimeout(()=>{let t=Nr.getState(),n=r.path??``,i=n.includes(`/`)?n.slice(0,n.lastIndexOf(`/`)):``;t.invalidateIndex(),t.loadIndex(e),t.invalidateFolder(e,i)},300))};return window.addEventListener(`file:changed`,n),()=>{clearTimeout(t),window.removeEventListener(`file:changed`,n)}},[w]),(0,Y.useEffect)(()=>{if(!w)return;let e=w.name,t=w.path;return jd(n=>{let r=Ar(t,n);if(r==null)return;let i=Nr.getState();i.invalidateIndex(),i.loadIndex(e),i.invalidateFolder(e,r)})},[w]);let{uploadFiles:ne,isRootDragOver:re,handleRootDragEnter:ie,handleRootDragLeave:ae,handleRootDragOver:oe,handleRootDrop:se}=_p({projectName:w?.name,setExpanded:f}),{run:P,prompts:ce}=cp(w?.path.includes(`\\`)?`\\`:`/`),le=gp({targetDir:w?.path??null,run:P,disabled:!w}),ue=(0,Y.useMemo)(()=>Fr(t,S,m),[t,S,m]),[de,fe]=(0,Y.useState)(null),pe=(0,Y.useRef)(ue);pe.current=ue;let me=Fs(e=>e.selection),he=(0,Y.useCallback)(e=>{if(e.type===`pointerdown`&&e.pointerType===`mouse`)return;let t=e.target?.closest?.(`[data-index]`),n=t?Number(t.getAttribute(`data-index`)):-1,r=Number.isInteger(n)&&n>=0?pe.current[n]:void 0,i=r?.kind===`node`?r.node:null;fe(e=>e===i?e:i)},[]),ge=(0,Y.useRef)(null);Hf(ge);let _e=(0,Y.useCallback)(e=>{if(e.key!==`ContextMenu`&&!(e.key===`F10`&&e.shiftKey))return;let t=pe.current.findIndex(e=>e.kind===`node`&&e.node.path===b),n=t>=0?ge.current?.querySelector(`[data-index="${t}"]`):null;if(!n)return;e.preventDefault();let r=n.getBoundingClientRect();n.dispatchEvent(new MouseEvent(`contextmenu`,{bubbles:!0,cancelable:!0,button:2,clientX:Math.round(r.left+8),clientY:Math.round(r.top+r.height/2)}))},[b]),ve=Lr(),ye=td({count:ue.length,getScrollElement:()=>ge.current,estimateSize:()=>ve?32:26,getItemKey:e=>{let t=ue[e];return t?kr(t):`#${e}`},overscan:10,paddingStart:4,paddingEnd:4,directDomUpdates:!0});(0,Y.useEffect)(()=>{if(b==null)return;let e=ue.findIndex(e=>e.kind===`node`&&e.node.path===b);e>=0&&ye.scrollToIndex(e,{align:`auto`})},[b]);let be=(0,Y.useCallback)(async(e,t)=>{let n=w.name,r=Nr.getState();if(e.inline.type===`rename`){let i=e.inline.existingNode;if(t===i.name){g();return}let a=i.path.includes(`/`)?i.path.slice(0,i.path.lastIndexOf(`/`)):``,o=a?`${a}/${t}`:t;await L.post(`${I(n)}/files/rename`,{oldPath:i.path,newPath:o}),g(),r.invalidateIndex(),r.loadIndex(n),r.invalidateFolder(n,a),Ad(Ir(w.path,a))}else{let i=e.inline.type===`new-file`?`file`:`directory`,a=e.targetPath?`${e.targetPath}/${t}`:t;await L.post(`${I(n)}/files/create`,{path:a,type:i}),g(),r.invalidateIndex(),r.loadIndex(n),r.invalidateFolder(n,e.targetPath),Ad(Ir(w.path,e.targetPath))}},[w,g]);if(!w)return(0,X.jsx)(`div`,{className:`p-3 text-xs text-text-subtle`,children:`Select a project to browse files.`});if(n&&t.length===0)return(0,X.jsxs)(`div`,{className:`flex items-center gap-2 p-3 text-xs text-text-secondary`,children:[(0,X.jsx)(F,{className:`size-3 animate-spin`}),`Loading files...`]});if(r)return(0,X.jsxs)(`div`,{className:`p-3 text-xs text-error`,children:[r,(0,X.jsx)(`button`,{onClick:O,className:`block mt-1 text-primary underline`,children:`Retry`})]});let xe=`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`;return(0,X.jsxs)(`div`,{ref:j,className:V(`flex flex-col h-full outline-none`,(re||le.isOver)&&`bg-primary/5`),tabIndex:0,onKeyDown:e=>{te(e),N(e),_e(e)},onDragEnter:e=>{ie(e),le.handlers.onDragEnter(e)},onDragLeave:e=>{ae(e),le.handlers.onDragLeave(e)},onDragOver:e=>{oe(e),le.handlers.onDragOver(e)},onDrop:e=>{se(e),le.handlers.onDrop(e)},children:[(0,X.jsxs)(nd,{icon:we,title:`Explorer`,children:[(0,X.jsx)(`button`,{onClick:()=>M(`new-file`,yp),title:`New File`,className:xe,children:(0,X.jsx)(cn,{className:`size-3.5`})}),(0,X.jsx)(`button`,{onClick:()=>M(`new-folder`,yp),title:`New Folder`,className:xe,children:(0,X.jsx)(Qe,{className:`size-3.5`})}),(0,X.jsx)(`button`,{onClick:k,title:`Reveal Active File`,className:xe,children:(0,X.jsx)(Xt,{className:`size-3.5`})}),(0,X.jsx)(`button`,{onClick:y,title:`Collapse All`,className:xe,children:(0,X.jsx)(Ne,{className:`size-3.5`})}),(0,X.jsx)(`button`,{onClick:O,title:`Refresh`,className:xe,children:(0,X.jsx)(rt,{className:`size-3.5`})})]}),(0,X.jsxs)(od,{children:[(0,X.jsx)(sd,{asChild:!0,children:(0,X.jsx)(`div`,{ref:ge,className:`flex-1 overflow-y-auto`,onContextMenuCapture:he,onPointerDownCapture:he,children:(0,X.jsxs)(`div`,{ref:ye.containerRef,className:`relative w-full`,children:[ye.getVirtualItems().map(t=>{let n=ue[t.index];return(0,X.jsx)(`div`,{"data-index":t.index,ref:ye.measureElement,className:`absolute left-0 top-0 w-full`,children:n.kind===`input`?(0,X.jsx)(Tf,{defaultValue:n.inline.type===`rename`?n.inline.existingNode.name:``,placeholder:n.inline.type===`rename`?n.inline.existingNode.name:n.inline.type===`new-file`?`filename.ts`:`folder-name`,depth:n.depth,icon:n.inline.type===`rename`?n.inline.existingNode.type===`directory`?`folder`:`file`:n.inline.type===`new-file`?`file`:`folder`,onConfirm:e=>be(n,e),onCancel:g}):(0,X.jsx)(wf,{row:n,projectName:w.name,onAction:M,onFileDrop:ne,onFileOpen:e,transferRun:P})},kr(n))}),ue.length===0&&(0,X.jsx)(`p`,{className:`p-3 text-xs text-text-subtle`,children:`Empty project.`})]})})}),de?(0,X.jsx)(hd,{node:de,isDir:de.type===`directory`,projectName:w.name,selectedFiles:u,compareSelection:me,clipboard:_,onAction:M}):(0,X.jsxs)(cd,{children:[(0,X.jsxs)($,{onClick:()=>M(`new-file`,yp),children:[(0,X.jsx)(cn,{className:`size-3.5 mr-2`}),`New File`]}),(0,X.jsxs)($,{onClick:()=>M(`new-folder`,yp),children:[(0,X.jsx)(Qe,{className:`size-3.5 mr-2`}),`New Folder`]}),(0,X.jsx)(ld,{}),(0,X.jsxs)($,{onClick:O,children:[(0,X.jsx)(rt,{className:`size-3.5 mr-2`}),`Refresh`]})]})]}),E?.action===`delete`&&(0,X.jsx)(Cl,{node:E.node,projectName:w.name,onClose:()=>D(null),onRefresh:()=>{Ad(Ir(w.path,bp(E.node.path))),O()}}),ce]})}function Sp({className:e,...t}){return(0,X.jsx)(ne,{"data-slot":`label`,className:V(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function Cp({open:e,onOpenChange:t,projectName:n,onCreated:r}){let{gitUrl:i}=gd(n),[a,o]=(0,Y.useState)(``),[s,c]=(0,Y.useState)(`new`),[l,u]=(0,Y.useState)(``),[d,f]=(0,Y.useState)(``),[p,m]=(0,Y.useState)([]),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{!e||!n||L.get(i(`/branches`)).then(e=>{let t=e.filter(e=>!e.remote).map(e=>e.name);m(t),t.length>0&&!d&&f(t[0])}).catch(()=>m([]))},[e,n]);function y(){o(``),c(`new`),u(``),v(null)}function b(){y(),t(!1)}async function x(){if(!a.trim()){v(`Worktree path is required`);return}let e=s===`existing`?d:void 0,t=s===`new`&&l.trim()?l.trim():void 0;g(!0),v(null);try{await L.post(i(`/worktree/add`),{path:a.trim(),branch:e,newBranch:t}),r(),b()}catch(e){v(e instanceof Error?e.message:`Failed to create worktree`)}finally{g(!1)}}let S=(0,X.jsxs)(`div`,{className:`space-y-4`,children:[_&&(0,X.jsx)(`p`,{className:`text-xs text-destructive bg-destructive/10 px-3 py-2 rounded-md`,children:_}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(Sp,{htmlFor:`wt-path`,children:`Worktree Path`}),(0,X.jsx)(Ii,{id:`wt-path`,placeholder:`../my-feature`,value:a,onChange:e=>o(e.target.value),autoFocus:!0,className:`w-full`}),(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Relative or absolute path for the new worktree directory`})]}),(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(Sp,{children:`Branch`}),(0,X.jsxs)(`div`,{className:`flex gap-3`,children:[(0,X.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,X.jsx)(`input`,{type:`radio`,checked:s===`new`,onChange:()=>c(`new`),className:`accent-primary`}),(0,X.jsx)(`span`,{className:`text-sm`,children:`Create new branch`})]}),(0,X.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,X.jsx)(`input`,{type:`radio`,checked:s===`existing`,onChange:()=>c(`existing`),className:`accent-primary`}),(0,X.jsx)(`span`,{className:`text-sm`,children:`Use existing branch`})]})]}),s===`new`?(0,X.jsx)(Ii,{placeholder:`feature/my-branch`,value:l,onChange:e=>u(e.target.value),className:`w-full`}):(0,X.jsxs)(`select`,{value:d,onChange:e=>f(e.target.value),className:`w-full h-9 px-3 rounded-md border border-input bg-transparent text-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[p.length===0&&(0,X.jsx)(`option`,{value:``,children:`No branches available`}),p.map(e=>(0,X.jsx)(`option`,{value:e,children:e},e))]})]})]}),C=(0,X.jsxs)(`div`,{className:`flex gap-2 justify-end pt-2`,children:[(0,X.jsx)(G,{variant:`outline`,size:`sm`,onClick:b,disabled:h,children:`Cancel`}),(0,X.jsxs)(G,{size:`sm`,onClick:x,disabled:h||!a.trim(),children:[h?(0,X.jsx)(F,{className:`size-3 animate-spin mr-1`}):null,`Create Worktree`]})]});return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Ei,{open:e,onOpenChange:e=>{e||b()},children:(0,X.jsxs)(K,{className:`hidden md:grid sm:max-w-md`,children:[(0,X.jsx)(Ci,{children:(0,X.jsx)(q,{children:`Add Worktree`})}),S,(0,X.jsx)(wi,{children:C})]})}),e&&(0,X.jsxs)(`div`,{className:`md:hidden`,children:[(0,X.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/50`,onClick:b}),(0,X.jsxs)(`div`,{className:V(`fixed bottom-0 left-0 right-0 z-50 bg-background rounded-t-2xl border-t border-border shadow-2xl`,`animate-in slide-in-from-bottom-2 duration-200`),children:[(0,X.jsx)(`div`,{className:`flex justify-center pt-3 pb-1`,children:(0,X.jsx)(`div`,{className:`w-10 h-1 rounded-full bg-border`})}),(0,X.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,X.jsx)(`span`,{className:`text-sm font-semibold`,children:`Add Worktree`}),(0,X.jsx)(`button`,{onClick:b,className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,X.jsx)(_e,{className:`size-4`})})]}),(0,X.jsxs)(`div`,{className:`px-4 py-4 space-y-4 max-h-[70vh] overflow-y-auto`,children:[S,C]})]})]})]})}function wp({projectName:e,projectPath:t}){let{gitUrl:n}=gd(e),[r,i]=(0,Y.useState)(!1),[a,o]=(0,Y.useState)([]),[s,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(null),[h,g]=(0,Y.useState)(!1),_=(0,Y.useCallback)(async()=>{if(e){c(!0),u(null);try{o(await L.get(n(`/worktrees`)))}catch(e){u(e instanceof Error?e.message:`Failed to load worktrees`)}finally{c(!1)}}},[e]);(0,Y.useEffect)(()=>{r&&_()},[r,_]);async function v(e=!1){if(p){g(!0);try{await L.post(n(`/worktree/remove`),{path:p.path,force:e}),m(null),await _()}catch(e){u(e instanceof Error?e.message:`Failed to remove worktree`),m(null)}finally{g(!1)}}}async function y(){try{await L.post(n(`/worktree/prune`),{}),await _()}catch(e){u(e instanceof Error?e.message:`Prune failed`)}}return(0,X.jsxs)(`div`,{className:`border-t border-border`,children:[(0,X.jsxs)(`button`,{type:`button`,className:`flex items-center justify-between w-full px-3 py-2 hover:bg-muted/50 transition-colors`,onClick:()=>i(e=>!e),children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[r?(0,X.jsx)(Ye,{className:`size-3.5 text-muted-foreground`}):(0,X.jsx)(Zt,{className:`size-3.5 text-muted-foreground`}),(0,X.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase`,children:`Worktrees`}),a.length>0&&(0,X.jsx)(`span`,{className:`text-[10px] bg-muted text-muted-foreground rounded px-1`,children:a.length})]}),(0,X.jsx)(`div`,{className:`flex items-center gap-0.5`,children:r&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{role:`button`,tabIndex:0,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-foreground transition-colors`,onClick:e=>{e.stopPropagation(),y()},onKeyDown:e=>{e.key===`Enter`&&(e.stopPropagation(),y())},title:`Prune stale worktrees`,"aria-label":`Prune stale worktrees`,children:(0,X.jsx)(rt,{className:V(`size-3`,s&&`animate-spin`)})}),(0,X.jsx)(`span`,{role:`button`,tabIndex:0,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-foreground transition-colors`,onClick:e=>{e.stopPropagation(),f(!0)},onKeyDown:e=>{e.key===`Enter`&&(e.stopPropagation(),f(!0))},title:`Add worktree`,"aria-label":`Add worktree`,children:(0,X.jsx)(vn,{className:`size-3`})})]})})]}),r&&(0,X.jsxs)(`div`,{className:`pb-1`,children:[l&&(0,X.jsx)(`p`,{className:`text-xs text-destructive px-3 py-1`,children:l}),s&&a.length===0&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-muted-foreground`,children:[(0,X.jsx)(F,{className:`size-3.5 animate-spin`}),(0,X.jsx)(`span`,{className:`text-xs`,children:`Loading worktrees...`})]}),!s&&a.length===0&&!l&&(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground px-3 py-1`,children:`No worktrees found.`}),a.map(e=>(0,X.jsx)(Tp,{worktree:e,isActive:!!t&&e.path===t,onRemove:()=>m(e)},e.path)),(0,X.jsxs)(`button`,{type:`button`,className:`flex items-center gap-2 w-full px-3 py-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors`,onClick:()=>f(!0),children:[(0,X.jsx)(vn,{className:`size-3.5`}),`Add worktree`]})]}),(0,X.jsx)(Cp,{open:d,onOpenChange:f,projectName:e,onCreated:_}),(0,X.jsx)(Ei,{open:!!p,onOpenChange:e=>!e&&m(null),children:(0,X.jsxs)(K,{showCloseButton:!1,children:[(0,X.jsxs)(Ci,{children:[(0,X.jsx)(q,{children:`Remove Worktree`}),(0,X.jsxs)(J,{children:[`Remove worktree at`,` `,(0,X.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-muted text-xs font-mono`,children:p?.path}),p?.branch&&(0,X.jsxs)(X.Fragment,{children:[` (branch: `,(0,X.jsx)(`strong`,{children:p.branch}),`)`]}),`? The directory will be deleted.`]})]}),(0,X.jsxs)(wi,{children:[(0,X.jsx)(G,{variant:`outline`,size:`sm`,onClick:()=>m(null),disabled:h,children:`Cancel`}),(0,X.jsx)(G,{variant:`outline`,size:`sm`,onClick:()=>v(!0),disabled:h,children:h?(0,X.jsx)(F,{className:`size-3 animate-spin`}):`Force Remove`}),(0,X.jsx)(G,{variant:`destructive`,size:`sm`,onClick:()=>v(!1),disabled:h,children:h?(0,X.jsx)(F,{className:`size-3 animate-spin`}):`Remove`})]})]})})]})}function Tp({worktree:e,isActive:t,onRemove:n}){let r=e.branch||e.head.slice(0,7)||`detached`,i=e.path.replace(/^\/home\/[^/]+/,`~`);return(0,X.jsxs)(`div`,{className:V(`group flex items-center gap-2 px-3 py-1.5 hover:bg-muted/50 transition-colors`,t&&`bg-accent/10`),children:[(0,X.jsx)(Je,{className:`size-3.5 text-muted-foreground shrink-0`}),(0,X.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0`,children:[(0,X.jsx)(`span`,{className:`text-xs font-mono truncate`,title:e.branch,children:r}),t&&(0,X.jsx)(jn,{className:`size-3 text-success shrink-0`}),e.isMain&&(0,X.jsx)(`span`,{className:`text-[10px] bg-muted text-muted-foreground rounded px-1 shrink-0`,children:`main`}),e.locked&&(0,X.jsx)(`span`,{title:e.lockReason??`locked`,children:(0,X.jsx)(Pt,{className:`size-3 text-warning shrink-0`})}),e.prunable&&(0,X.jsx)(`span`,{title:`stale/prunable`,children:(0,X.jsx)(ln,{className:`size-3 text-destructive shrink-0`})})]}),(0,X.jsx)(`p`,{className:`text-[10px] text-muted-foreground truncate`,title:e.path,children:i})]}),!e.isMain&&(0,X.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-destructive opacity-0 group-hover:opacity-100 can-hover:opacity-0 can-hover:group-hover:opacity-100 transition-all active:scale-95 shrink-0`,onClick:n,title:`Remove worktree`,"aria-label":`Remove worktree`,children:(0,X.jsx)(Nn,{className:`size-3`})})]})}var Ep=(e,t)=>`${e}:${t}`;function Dp(e){let t=[];return e.lines.forEach((e,n)=>{e.kind!==` `&&t.push(n)}),t}function Op(e){return e.flatMap((e,t)=>Dp(e).map(e=>Ep(t,e)))}function kp(e,t,n){let r=e[t];if(!r)return{picked:0,total:0};let i=Dp(r);return{picked:i.filter(e=>n.has(Ep(t,e))).length,total:i.length}}function Ap(e,t,n){let r=e[t];if(!r)return n;let i=Dp(r).map(e=>Ep(t,e)),a=new Set(n),o=i.every(e=>a.has(e));for(let e of i)o?a.delete(e):a.add(e);return a}function jp(e,t,n){let r=new Set(n),i=Ep(e,t);return r.has(i)?r.delete(i):r.add(i),r}function Mp(e,t){let n=[];return e.forEach((e,r)=>{let i=Dp(e),a=i.filter(e=>t.has(Ep(r,e)));a.length!==0&&n.push(a.length===i.length?{hunk:r,id:e.id}:{hunk:r,id:e.id,lines:a})}),n}function Np(e){let t=e.oldStart,n=e.newStart;return e.lines.map(e=>({old:e.kind===`+`?``:String(t++),next:e.kind===`-`?``:String(n++)}))}function Pp({projectName:e,target:t,onClose:n,onApplied:r}){let i=Lr();if(!t)return null;let a=(0,X.jsx)(Fp,{projectName:e,target:t,onClose:n,onApplied:r,isMobile:i});return i?(0,X.jsx)(Pi,{open:!0,onClose:n,className:`popover-solid max-h-[85dvh] flex flex-col`,children:a}):(0,X.jsx)(Ei,{open:!0,onOpenChange:e=>!e&&n(),children:(0,X.jsxs)(K,{showCloseButton:!1,className:`sm:max-w-3xl max-h-[85vh] p-0 gap-0 flex flex-col overflow-hidden`,children:[(0,X.jsxs)(q,{className:`sr-only`,children:[t.scope===`index`?`Unstage`:`Stage`,` lines in `,t.filePath]}),a]})})}function Fp({projectName:e,target:t,onClose:n,onApplied:r,isMobile:i}){let{gitUrl:a}=gd(e),{filePath:o,scope:s}=t,[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(!0),[f,p]=(0,Y.useState)(null),[m,h]=(0,Y.useState)(new Set),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{let e=!1;return d(!0),p(null),L.get(a(`/hunks?path=${encodeURIComponent(o)}&scope=${s}`)).then(t=>{e||(l(t),h(new Set(Op(t.hunks))))}).catch(t=>{e||p(t instanceof Error?t.message:`Failed to load hunks`)}).finally(()=>{e||d(!1)}),()=>{e=!0}},[e,o,s]);let b=(0,Y.useMemo)(()=>c?.hunks??[],[c]),x=(0,Y.useMemo)(()=>Op(b),[b]),S=(0,Y.useMemo)(()=>Mp(b,m),[b,m]),C=(0,Y.useCallback)((e,t)=>{h(n=>jp(e,t,n))},[]),w=(0,Y.useCallback)(e=>h(t=>Ap(b,e,t)),[b]),T=(0,Y.useCallback)(()=>h(e=>e.size===x.length?new Set:new Set(x)),[x]),E=async e=>{if(S.length!==0){_(!0),p(null);try{await L.post(a(`/${e}-hunks`),{path:o,hunks:S}),r(),n()}catch(t){p(t instanceof Error?t.message:`${e} failed`),_(!1)}}},D=s===`index`?`Unstage`:`Stage`,O=s===`index`?be:vn,k=S.length===0;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`shrink-0 px-4 pt-3 pb-2 md:px-5 md:pt-5 border-b border-border`,children:[(0,X.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold truncate`,children:Jn(o)}),(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground truncate`,title:o,children:o})]}),s===`worktree`&&(0,X.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-11 md:size-8 rounded-lg text-muted-foreground hover:text-destructive hover:bg-destructive/10 active:scale-95 transition-colors disabled:opacity-40`,onClick:()=>y(!0),disabled:g||k,title:`Discard selected lines`,children:(0,X.jsx)(Nn,{className:`size-4`})})]}),x.length>0&&(0,X.jsxs)(`button`,{type:`button`,className:`mt-1 flex items-center gap-2 min-h-11 md:min-h-0 md:py-1 text-xs text-muted-foreground active:text-foreground`,onClick:T,children:[(0,X.jsx)(Rp,{checked:m.size===x.length,partial:m.size>0}),(0,X.jsxs)(`span`,{children:[m.size,` of `,x.length,` line`,x.length===1?``:`s`,` selected`]})]})]}),(0,X.jsx)(`div`,{className:`flex-1 min-h-0 overflow-auto`,children:u?(0,X.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-10 text-muted-foreground`,children:[(0,X.jsx)(F,{className:`size-4 animate-spin`}),(0,X.jsx)(`span`,{className:`text-sm`,children:`Loading diff…`})]}):c?.binary?(0,X.jsx)(`p`,{className:`px-4 py-10 text-sm text-center text-muted-foreground`,children:`This is a binary file — it can only be staged whole.`}):b.length===0?(0,X.jsxs)(`p`,{className:`px-4 py-10 text-sm text-center text-muted-foreground`,children:[`No `,s===`index`?`staged`:`unstaged`,` changes in this file.`]}):b.map((e,t)=>(0,X.jsx)(Ip,{hunks:b,hunk:e,index:t,selected:m,onToggleHunk:w,onToggleLine:C,isMobile:i},t))}),f&&(0,X.jsx)(`div`,{className:`shrink-0 px-4 py-2 text-xs text-destructive bg-destructive/10`,children:f}),(0,X.jsx)(`div`,{className:`shrink-0 flex gap-2 px-4 py-3 md:px-5 border-t border-border`,children:v?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(G,{variant:`outline`,className:`h-11 md:h-9 px-4`,onClick:()=>y(!1),disabled:g,children:`Cancel`}),(0,X.jsx)(G,{variant:`destructive`,className:`flex-1 h-11 md:h-9`,disabled:g,onClick:()=>E(`discard`),children:g?(0,X.jsx)(F,{className:`size-4 animate-spin`}):`Discard ${m.size} line${m.size===1?``:`s`} — cannot be undone`})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(G,{variant:`outline`,className:`h-11 md:h-9 px-4`,onClick:n,disabled:g,children:`Cancel`}),(0,X.jsx)(G,{className:`flex-1 h-11 md:h-9`,disabled:g||k,onClick:()=>E(s===`index`?`unstage`:`stage`),children:g?(0,X.jsx)(F,{className:`size-4 animate-spin`}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(O,{className:`size-4`}),D,` `,m.size,` line`,m.size===1?``:`s`]})})]})})]})}function Ip({hunks:e,hunk:t,index:n,selected:r,onToggleHunk:i,onToggleLine:a,isMobile:o}){let{picked:s,total:c}=kp(e,n,r),l=Np(t);return(0,X.jsxs)(`div`,{className:`border-b border-border last:border-b-0`,children:[(0,X.jsxs)(`button`,{type:`button`,className:`flex items-center gap-2 w-full min-h-11 md:min-h-0 md:py-1 px-3 text-left bg-muted/40 active:bg-muted transition-colors`,onClick:()=>i(n),children:[(0,X.jsx)(Rp,{checked:s===c,partial:s>0}),(0,X.jsxs)(`span`,{className:`text-xs font-mono text-muted-foreground truncate`,children:[`@@ -`,t.oldStart,`,`,t.oldLines,` +`,t.newStart,`,`,t.newLines,` @@`,t.heading?` ${t.heading}`:``]})]}),t.lines.map((e,t)=>{let i=l[t];if(e.kind===` `)return(0,X.jsxs)(`div`,{className:`flex items-center font-mono text-xs`,children:[(0,X.jsx)(Lp,{old:i.old,next:i.next}),(0,X.jsx)(`span`,{className:`w-7 shrink-0`}),(0,X.jsxs)(`span`,{className:`whitespace-pre px-1 py-0.5 text-muted-foreground`,children:[` `,e.text]})]},t);let s=r.has(Ep(n,t));return(0,X.jsxs)(`button`,{type:`button`,className:V(`flex items-center w-full text-left font-mono text-xs transition-colors active:brightness-125`,o&&`min-h-11`,e.kind===`+`?`bg-diff-added`:`bg-diff-removed`,!s&&`opacity-45`),onClick:()=>a(n,t),children:[(0,X.jsx)(Lp,{old:i.old,next:i.next}),(0,X.jsx)(`span`,{className:`flex items-center justify-center w-7 shrink-0`,children:(0,X.jsx)(Rp,{checked:s})}),(0,X.jsxs)(`span`,{className:V(`whitespace-pre px-1 py-0.5`,e.kind===`+`?`text-success`:`text-error`),children:[e.kind,e.text]})]},t)})]})}function Lp({old:e,next:t}){return(0,X.jsxs)(`span`,{className:`flex shrink-0 select-none text-[10px] text-muted-foreground/70 tabular-nums`,children:[(0,X.jsx)(`span`,{className:`w-10 text-right pr-1`,children:e}),(0,X.jsx)(`span`,{className:`w-10 text-right pr-1`,children:t})]})}function Rp({checked:e,partial:t}){return(0,X.jsx)(`span`,{className:V(`flex items-center justify-center size-4 shrink-0 rounded border transition-colors`,e?`bg-primary border-primary text-primary-foreground`:t?`border-primary`:`border-border`),children:e?(0,X.jsx)(jn,{className:`size-3`,strokeWidth:3}):t?(0,X.jsx)(`span`,{className:`size-2 rounded-[1px] bg-primary`}):null})}function zp({repo:e,repos:t,onChoose:n}){let r=t.length<2,i=df();return(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-1.5 border-b border-border shrink-0 text-xs text-text-secondary`,children:[(0,X.jsx)(Ji,{className:`size-3.5 shrink-0 text-text-subtle`}),r?(0,X.jsx)(`span`,{className:`truncate`,title:e.path,children:e.relative}):(0,X.jsxs)($l,{children:[(0,X.jsx)(tu,{asChild:!0,children:(0,X.jsxs)(G,{variant:`ghost`,size:`sm`,className:V(`min-w-0 gap-1 px-1.5 text-xs`,i?`h-11`:`h-8`),children:[(0,X.jsx)(`span`,{className:`truncate`,title:e.path,children:e.relative}),(0,X.jsx)(at,{className:`size-3 shrink-0 opacity-60`})]})}),(0,X.jsxs)(nu,{align:`start`,className:`max-w-[min(20rem,90vw)]`,children:[(0,X.jsx)(su,{className:`text-xs`,children:`Repository`}),(0,X.jsx)(cu,{}),t.map(t=>(0,X.jsxs)(ru,{onClick:()=>n(t.path),className:`gap-2`,children:[(0,X.jsx)(Je,{className:`size-3.5 shrink-0`}),(0,X.jsx)(`span`,{className:`truncate`,children:t.relative}),t.path===e.path&&(0,X.jsx)(`span`,{className:`ml-auto text-text-subtle`,children:`✓`})]},t.path))]})]})]})}function Bp({repos:e,onChoose:t}){return(0,X.jsxs)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 mb-1`,children:[(0,X.jsx)(Ji,{className:`size-4 text-text-subtle shrink-0`}),(0,X.jsxs)(`h3`,{className:`text-sm font-medium`,children:[e.length,` repositories in this folder`]})]}),(0,X.jsx)(`p`,{className:`text-xs text-text-secondary leading-relaxed mb-3`,children:`This project folder is not a git repository itself. Pick the one to work with — you can switch later from the header.`}),(0,X.jsx)(`div`,{className:`flex flex-col gap-1`,children:e.map(e=>(0,X.jsxs)(`button`,{type:`button`,onClick:()=>t(e.path),className:`flex items-center gap-2.5 min-h-11 px-3 py-2 rounded-md text-left border border-border bg-panel can-hover:hover:bg-panel-2 active:bg-panel-2`,children:[(0,X.jsx)(Je,{className:`size-4 shrink-0 text-text-subtle`}),(0,X.jsxs)(`span`,{className:`min-w-0`,children:[(0,X.jsx)(`span`,{className:`block text-sm truncate`,children:e.name}),e.relative!==e.name&&(0,X.jsx)(`span`,{className:`block text-xs text-text-subtle truncate`,children:e.relative})]})]},e.path))})]})}function Vp({onReload:e}){return(0,X.jsxs)(`div`,{className:`flex-1 flex flex-col items-center justify-center gap-3 p-6 text-center`,children:[(0,X.jsx)(Ji,{className:`size-8 text-text-subtle`}),(0,X.jsx)(`p`,{className:`text-sm text-text-secondary leading-relaxed max-w-xs`,children:`No git repository in this project, or in any folder two levels below it.`}),(0,X.jsxs)(G,{variant:`outline`,size:`sm`,className:`h-9 gap-1.5`,onClick:e,children:[(0,X.jsx)(rt,{className:`size-3.5`}),`Scan again`]})]})}function Hp(e){let t=[];for(let n of e){let e=n.path.split(`/`),r=t;for(let t=0;t<e.length;t++){let i=e[t],a=e.slice(0,t+1).join(`/`),o=t===e.length-1,s=r.find(e=>e.name===i);s||(s={name:i,fullPath:a,file:o?n:void 0,children:[]},r.push(s)),o&&(s.file=n),r=s.children}}return t}function Up(e){return e.map(e=>{let t=e;for(;!t.file&&t.children.length===1&&!t.children[0].file;){let e=t.children[0];t={...e,name:`${t.name}/${e.name}`}}return{...t,children:Up(t.children)}})}function Wp(e){let t=[];e.file&&t.push(e.file);for(let n of e.children)t.push(...Wp(n));return t}var Gp={M:`text-warning`,A:`text-success`,D:`text-error`,R:`text-primary`,C:`text-accent-2`,"?":`text-text-3`},Kp=14,qp=7;function Jp({children:e,className:t}){return(0,X.jsx)(`span`,{dir:`rtl`,className:`truncate text-left ${t??``}`,children:(0,X.jsx)(`bdi`,{children:e})})}function Yp({metadata:e,tabId:t,onNavigate:n}){let r=e?.projectName,[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(!0),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(``),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(null),[g,_]=(0,Y.useState)(null),{openTab:v}=W(ju(e=>({openTab:e.openTab}))),y=z(e=>e.gitStatusViewMode),b=z(e=>e.setGitStatusViewMode),x=U(e=>e.projects.find(e=>e.name===r)?.path),S=bd(e=>e.setCount),C=gd(r),w=C.repo?.path??x,T=Sc(e=>e.contributions?.commands?.some(e=>e.command===`git-graph.view`)??!1),E=(0,Y.useCallback)(async()=>{if(!(!r||!C.repo))try{s(!0);let e=await L.get(C.gitUrl(`/status`));a(e),S(r,e.staged.length+e.unstaged.length+e.untracked.length),bd.getState().setMeta(r,e),l(null)}catch(e){l(e instanceof Error?e.message:`Failed to fetch status`)}finally{s(!1)}},[r,C,S]);(0,Y.useEffect)(()=>{E();let e=setInterval(E,5e3);return()=>clearInterval(e)},[E]);let D=async e=>{if(r){p(!0);try{await L.post(C.gitUrl(`/stage`),{files:e}),await E()}catch(e){l(e instanceof Error?e.message:`Stage failed`)}finally{p(!1)}}},O=async e=>{if(r){p(!0);try{await L.post(C.gitUrl(`/unstage`),{files:e}),await E()}catch(e){l(e instanceof Error?e.message:`Unstage failed`)}finally{p(!1)}}},k=async e=>{if(r){p(!0);try{await L.post(C.gitUrl(`/discard`),{files:e}),await E()}catch(e){l(e instanceof Error?e.message:`Discard failed`)}finally{p(!1)}}},A=async()=>{m&&(await k(m.files),h(null))},j=async()=>{if(!(!r||!u.trim()||!i?.staged.length)){p(!0);try{await L.post(C.gitUrl(`/commit`),{message:u.trim()}),d(``),await E()}catch(e){l(e instanceof Error?e.message:`Commit failed`)}finally{p(!1)}}},ee=async()=>{if(r){p(!0);try{await L.post(C.gitUrl(`/push`),{}),await E()}catch(e){l(e instanceof Error?e.message:`Push failed`)}finally{p(!1)}}},te=async()=>{if(r){p(!0);try{await L.post(C.gitUrl(`/pull`),{}),await E()}catch(e){l(e instanceof Error?e.message:`Pull failed`)}finally{p(!1)}}},M=async()=>{if(r){p(!0);try{await L.post(C.gitUrl(`/commit`),{message:u.trim(),amend:!0}),d(``),await E()}catch(e){l(e instanceof Error?e.message:`Amend failed`)}finally{p(!1)}}},N=async()=>{if(r){p(!0);try{await L.post(C.gitUrl(`/fetch`),{}),await E()}catch(e){l(e instanceof Error?e.message:`Fetch failed`)}finally{p(!1)}}},ne=async()=>{await j(),await ee()},re=async()=>{await j(),await te(),await ee()},ie=e=>{v({type:`git-diff`,title:Jn(e.path),closable:!0,metadata:{projectName:r,filePath:C.projectFile(e.path)},projectId:r??null}),n?.()},ae=e=>{v({type:`editor`,title:Jn(e.path),closable:!0,metadata:{projectName:r,filePath:C.projectFile(e.path)},projectId:r??null}),n?.()},oe=(0,Y.useMemo)(()=>[...i?.unstaged??[],...i?.untracked.map(e=>({path:e,status:`?`}))??[]],[i]);if(!r)return(0,X.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm`,children:`No project selected.`});if(!C.repo&&!C.needsPick&&!C.noRepo)return(0,X.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,X.jsx)(F,{className:`size-5 animate-spin`}),(0,X.jsx)(`span`,{className:`text-sm`,children:`Looking for a repository...`})]});if(o&&!i&&C.repo)return(0,X.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,X.jsx)(F,{className:`size-5 animate-spin`}),(0,X.jsx)(`span`,{className:`text-sm`,children:`Loading git status...`})]});if(c&&!i)return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-2 text-destructive text-sm`,children:[(0,X.jsx)(`p`,{children:c}),(0,X.jsx)(G,{variant:`outline`,size:`sm`,onClick:E,children:`Retry`})]});let se=i?.staged.length??0,P=f||!u.trim()||!se,ce=(0,X.jsxs)(`div`,{className:`p-2 flex flex-col gap-2`,children:[(0,X.jsx)(`textarea`,{className:`w-full h-10 px-3 py-2 text-base md:text-sm text-foreground bg-surface border border-border rounded-lg resize-none focus:outline-none focus:border-ring placeholder:text-muted-foreground`,placeholder:`Message (⌘↵)`,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&j()}}),(0,X.jsxs)(`div`,{className:`flex h-8`,children:[(0,X.jsx)(G,{size:`sm`,className:`flex-1 rounded-r-none`,disabled:P,onClick:j,children:f?(0,X.jsx)(F,{className:`size-3 animate-spin`}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(jn,{className:`size-3.5`}),`Commit (`,se,`)`]})}),(0,X.jsxs)($l,{children:[(0,X.jsx)(tu,{asChild:!0,children:(0,X.jsx)(G,{size:`sm`,className:`w-8 px-0 rounded-l-none border-l border-white/20`,disabled:f,title:`More commit actions`,children:(0,X.jsx)(Ye,{className:`size-3.5`})})}),(0,X.jsxs)(nu,{align:`end`,className:`w-56`,children:[(0,X.jsxs)(ru,{onClick:ne,disabled:P,children:[(0,X.jsx)(on,{className:`size-3.5`}),`Commit & Push`]}),(0,X.jsxs)(ru,{onClick:re,disabled:P,children:[(0,X.jsx)(rt,{className:`size-3.5`}),`Commit & Sync`]}),(0,X.jsx)(cu,{}),(0,X.jsxs)(ru,{onClick:M,disabled:f,children:[(0,X.jsx)(Yi,{className:`size-3.5`}),`Amend Last Commit`]}),(0,X.jsx)(cu,{}),(0,X.jsxs)(ru,{onClick:ee,disabled:f,children:[(0,X.jsx)(on,{className:`size-3.5`}),`Push`]}),(0,X.jsxs)(ru,{onClick:te,disabled:f,children:[(0,X.jsx)(Sn,{className:`size-3.5`}),`Pull`]}),(0,X.jsxs)(ru,{onClick:N,disabled:f,children:[(0,X.jsx)(rt,{className:`size-3.5`}),`Fetch`]})]})]})]})]});return(0,X.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,X.jsxs)(nd,{icon:Je,title:i?.current?`On: ${i.current}`:`Source Control`,children:[(0,X.jsx)(G,{variant:y===`flat`?`secondary`:`ghost`,size:`icon-xs`,onClick:()=>b(`flat`),title:`Flat view`,children:(0,X.jsx)(Jt,{className:`size-3.5`})}),(0,X.jsx)(G,{variant:y===`tree`?`secondary`:`ghost`,size:`icon-xs`,onClick:()=>b(`tree`),title:`Tree view`,children:(0,X.jsx)(Qt,{className:`size-3.5`})}),(0,X.jsx)(G,{variant:`ghost`,size:`icon-xs`,onClick:()=>{if(T){let e=[];w&&e.push(w),window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:`git-graph.view`,args:e}}))}else v({type:`git-log`,title:`Git Log`,projectId:r??null,closable:!0,metadata:{projectName:r}});n?.()},title:T?`Open Git Graph (⌘G)`:`View Git Log`,children:(0,X.jsx)(Je,{className:`size-3.5`})}),(0,X.jsx)(G,{variant:`ghost`,size:`icon-xs`,onClick:()=>{v({type:`branch-review`,title:`Branch Review`,projectId:r??null,closable:!0,metadata:{projectName:r}}),n?.()},title:`Review this branch against another`,children:(0,X.jsx)(qi,{className:`size-3.5`})}),(0,X.jsx)(G,{variant:`ghost`,size:`icon-xs`,onClick:E,disabled:f,children:(0,X.jsx)(rt,{className:o?`animate-spin`:``})})]}),c&&(0,X.jsx)(`div`,{className:`px-3 py-1.5 text-xs text-destructive bg-destructive/10 shrink-0`,children:c}),C.isNested&&C.repo&&(0,X.jsx)(zp,{repo:C.repo,repos:C.repos,onChoose:C.choose}),C.needsPick?(0,X.jsx)(Bp,{repos:C.repos,onChoose:C.choose}):C.noRepo?(0,X.jsx)(Vp,{onReload:C.reload}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`hidden md:block border-b border-border`,children:ce}),r&&(0,X.jsx)(wp,{projectName:r,projectPath:w}),(0,X.jsx)(Li,{className:`flex-1 overflow-hidden`,children:(0,X.jsxs)(`div`,{className:`p-1.5 space-y-2 overflow-hidden`,children:[(0,X.jsx)(Zp,{title:`Staged Changes`,count:i?.staged.length??0,files:i?.staged??[],viewMode:y,actionIcon:(0,X.jsx)(be,{className:`size-3`}),actionAllIcon:(0,X.jsx)(be,{className:`size-3`}),actionTitle:`Unstage`,onAction:e=>O([e.path]),onActionAll:i?.staged.length?()=>O(i.staged.map(e=>e.path)):void 0,actionAllLabel:`Unstage All`,onFolderAction:e=>O(e.map(e=>e.path)),onClickFile:ie,onOpenFile:ae,onPickHunks:e=>_({filePath:e.path,scope:`index`}),disabled:f}),(0,X.jsx)(Zp,{title:`Changes`,count:oe.length,files:oe,viewMode:y,actionIcon:(0,X.jsx)(vn,{className:`size-3`}),actionAllIcon:(0,X.jsx)(vn,{className:`size-3`}),actionTitle:`Stage`,onAction:e=>D([e.path]),onActionAll:oe.length?()=>D(oe.map(e=>e.path)):void 0,actionAllLabel:`Stage All`,onFolderAction:e=>D(e.map(e=>e.path)),onClickFile:ie,onOpenFile:ae,onPickHunks:e=>_({filePath:e.path,scope:`worktree`}),disabled:f,showRevert:!0,onRevert:e=>h({label:e.path,files:[e.path]}),onFolderRevert:(e,t)=>h({label:`${t}/ (${e.length} files)`,files:e.map(e=>e.path)})})]})}),(0,X.jsx)(`div`,{className:`md:hidden border-t border-border shrink-0`,children:ce})]}),(0,X.jsx)(Pp,{projectName:r,target:g,onClose:()=>_(null),onApplied:E}),(0,X.jsx)(Ei,{open:!!m,onOpenChange:e=>!e&&h(null),children:(0,X.jsxs)(K,{showCloseButton:!1,children:[(0,X.jsxs)(Ci,{children:[(0,X.jsx)(q,{children:`Discard Changes`}),(0,X.jsxs)(J,{children:[`Are you sure you want to discard all changes to`,` `,(0,X.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-muted text-sm font-mono`,children:m?.label}),`? This action cannot be undone.`]})]}),(0,X.jsxs)(wi,{children:[(0,X.jsx)(G,{variant:`outline`,onClick:()=>h(null),children:`Cancel`}),(0,X.jsx)(G,{variant:`destructive`,onClick:A,disabled:f,children:f?(0,X.jsx)(F,{className:`size-3 animate-spin`}):`Discard`})]})]})})]})}function Xp({showRevert:e,onRevert:t,onAction:n,onOpenFile:r,onPickHunks:i,actionIcon:a,actionTitle:o,disabled:s}){return(0,X.jsxs)(`div`,{className:`hidden md:flex absolute right-0 top-0 bottom-0 items-center gap-0.5 pl-6 pr-1 bg-gradient-to-l from-background from-70% to-transparent can-hover:opacity-0 can-hover:group-hover:opacity-100 transition-opacity`,children:[r&&(0,X.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-primary active:scale-95 transition-colors`,onClick:e=>{e.stopPropagation(),r()},disabled:s,title:`Open file`,children:(0,X.jsx)(Et,{className:`size-3`})}),i&&(0,X.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-primary active:scale-95 transition-colors`,onClick:e=>{e.stopPropagation(),i()},disabled:s,title:`${o} lines…`,children:(0,X.jsx)(Kt,{className:`size-3`})}),e&&t&&(0,X.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-destructive active:scale-95 transition-colors`,onClick:e=>{e.stopPropagation(),t()},disabled:s,title:`Discard changes`,children:(0,X.jsx)(Ce,{className:`size-3`})}),(0,X.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-accent-foreground active:scale-95 transition-colors`,onClick:e=>{e.stopPropagation(),n()},disabled:s,title:o,children:a})]})}function Zp({title:e,count:t,files:n,viewMode:r,actionIcon:i,actionAllIcon:a,actionTitle:o,onAction:s,onActionAll:c,actionAllLabel:l,onFolderAction:u,onClickFile:d,onOpenFile:f,onPickHunks:p,disabled:m,showRevert:h,onRevert:g,onFolderRevert:_}){return(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between mb-0.5`,children:[(0,X.jsxs)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase`,children:[e,` (`,t,`)`]}),c&&t>0&&(0,X.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-accent-foreground active:scale-95 transition-colors`,onClick:c,disabled:m,title:l,children:a})]}),n.length===0?(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground px-1`,children:`No changes`}):r===`flat`?(0,X.jsx)(`div`,{className:`w-full overflow-hidden`,children:n.map(e=>(0,X.jsx)(Qp,{file:e,actionIcon:i,actionTitle:o,onAction:s,onClickFile:d,onOpenFile:f,onPickHunks:p,disabled:m,showRevert:h,onRevert:g},e.path))}):(0,X.jsx)($p,{files:n,actionIcon:i,actionTitle:o,onAction:s,onFolderAction:u,onClickFile:d,onOpenFile:f,onPickHunks:p,disabled:m,showRevert:h,onRevert:g,onFolderRevert:_})]})}function Qp({file:e,actionIcon:t,actionTitle:n,onAction:r,onClickFile:i,onOpenFile:a,onPickHunks:o,disabled:s,showRevert:c,onRevert:l,displayName:u}){return(0,X.jsxs)(od,{children:[(0,X.jsx)(sd,{asChild:!0,children:(0,X.jsxs)(`div`,{className:`group relative flex items-center gap-1.5 hover:bg-muted/50 rounded pl-1 py-3 md:py-1 w-full min-w-0 select-none`,children:[(0,X.jsx)(`span`,{className:`text-xs font-mono w-3.5 text-center shrink-0 ${Gp[e.status]??``}`,children:e.status}),(0,X.jsx)(Oi,{name:e.path,className:`size-4 shrink-0`}),(0,X.jsx)(`button`,{type:`button`,className:`flex-1 flex min-w-0 text-left text-sm can-hover:hover:underline`,onClick:()=>i(e),title:e.path,children:(0,X.jsx)(Jp,{className:`min-w-0 flex-1`,children:u??e.path})}),(0,X.jsx)(Xp,{showRevert:c,onRevert:l?()=>l(e):void 0,onOpenFile:a?()=>a(e):void 0,onPickHunks:o?()=>o(e):void 0,onAction:()=>r(e),actionIcon:t,actionTitle:n,disabled:s})]})}),(0,X.jsxs)(cd,{className:`min-w-40`,children:[(0,X.jsx)($,{onClick:()=>i(e),children:`View Diff`}),a&&(0,X.jsx)($,{onClick:()=>a(e),children:`Open File`}),(0,X.jsx)($,{onClick:()=>r(e),disabled:s,children:n}),o&&(0,X.jsxs)($,{onClick:()=>o(e),disabled:s,children:[n,` Lines…`]}),c&&l&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ld,{}),(0,X.jsx)($,{variant:`destructive`,onClick:()=>l(e),disabled:s,children:`Discard Changes`})]})]})]})}function $p({files:e,actionIcon:t,actionTitle:n,onAction:r,onFolderAction:i,onClickFile:a,onOpenFile:o,onPickHunks:s,disabled:c,showRevert:l,onRevert:u,onFolderRevert:d}){return(0,X.jsx)(`div`,{children:(0,Y.useMemo)(()=>Up(Hp(e)),[e]).map((e,f)=>(0,X.jsx)(em,{node:e,depth:0,actionIcon:t,actionTitle:n,onAction:r,onFolderAction:i,onClickFile:a,onOpenFile:o,onPickHunks:s,disabled:c,showRevert:l,onRevert:u,onFolderRevert:d},e.fullPath))})}function em({node:e,depth:t,actionIcon:n,actionTitle:r,onAction:i,onFolderAction:a,onClickFile:o,onOpenFile:s,onPickHunks:c,disabled:l,showRevert:u,onRevert:d,onFolderRevert:f}){let[p,m]=(0,Y.useState)(!0),h=e.children.length>0&&!e.file;if(e.file)return(0,X.jsx)(`div`,{style:{paddingLeft:t*Kp},children:(0,X.jsx)(Qp,{file:e.file,displayName:e.name,actionIcon:n,actionTitle:r,onAction:i,onClickFile:o,onOpenFile:s,onPickHunks:c,disabled:l,showRevert:u,onRevert:d})});if(h){let h=Wp(e),g=e.name.lastIndexOf(`/`),_=g>=0?e.name.slice(0,g+1):``,v=g>=0?e.name.slice(g+1):e.name;return(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(od,{children:[(0,X.jsx)(sd,{asChild:!0,children:(0,X.jsxs)(`div`,{className:`group relative flex items-center hover:bg-muted/50 rounded py-3 md:py-1 select-none`,style:{paddingLeft:t*Kp},children:[(0,X.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 flex-1 min-w-0 text-sm text-muted-foreground`,onClick:()=>m(!p),children:[p?(0,X.jsx)(Ye,{className:`size-4 shrink-0`}):(0,X.jsx)(Zt,{className:`size-4 shrink-0`}),(0,X.jsx)(`span`,{dir:`rtl`,className:`flex-1 min-w-0 truncate text-left`,children:(0,X.jsxs)(`bdi`,{children:[_&&(0,X.jsx)(`span`,{className:`opacity-55`,children:_}),(0,X.jsx)(`span`,{className:`font-medium`,children:v})]})}),(0,X.jsxs)(`span`,{className:`text-xs opacity-55 shrink-0`,children:[`(`,h.length,`)`]})]}),(0,X.jsx)(Xp,{showRevert:u,onRevert:f?()=>f(h,e.fullPath):void 0,onAction:()=>a?.(h),actionIcon:n,actionTitle:`${r} ${e.name}/`,disabled:l})]})}),(0,X.jsxs)(cd,{className:`min-w-40`,children:[(0,X.jsxs)($,{onClick:()=>a?.(h),disabled:l,children:[r,` `,e.name,`/`]}),f&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ld,{}),(0,X.jsx)($,{variant:`destructive`,onClick:()=>f(h,e.fullPath),disabled:l,children:`Discard Changes`})]})]})]}),p&&(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.jsx)(`span`,{"aria-hidden":!0,className:`absolute top-0 bottom-0 w-px bg-border/70`,style:{left:t*Kp+qp}}),e.children.map((e,p)=>(0,X.jsx)(em,{node:e,depth:t+1,actionIcon:n,actionTitle:r,onAction:i,onFolderAction:a,onClickFile:o,onOpenFile:s,onPickHunks:c,disabled:l,showRevert:u,onRevert:d,onFolderRevert:f},e.fullPath))]})]})}return null}function tm({connId:e,schemas:t,isSingleSchema:n,filter:r,expandedTables:i,loadingColumns:a,columnCache:o,columnErrors:s,onToggleTable:c,onOpenTable:l}){let u=r.toLowerCase();return(0,X.jsxs)(`div`,{className:`overflow-y-auto max-h-[40vh]`,children:[Array.from(t.entries()).map(([t,r])=>{let d=u?r.filter(e=>e.tableName.toLowerCase().includes(u)):r;return d.length===0?null:(0,X.jsxs)(`div`,{children:[!n&&(0,X.jsx)(`p`,{className:`px-2 py-0.5 text-[9px] font-semibold text-text-subtle uppercase tracking-wider`,children:t}),d.map(t=>{let n=`${e}:${t.schemaName}.${t.tableName}`,r=i.has(n),u=a.has(n),d=o?.get(n),f=s?.has(n);return(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1 pl-2 pr-2 py-0.5 hover:bg-surface-elevated transition-colors group/table`,children:[(0,X.jsx)(`button`,{onClick:()=>c(e,t.tableName,t.schemaName),className:`shrink-0 text-text-subtle hover:text-foreground transition-colors`,children:r?(0,X.jsx)(Ye,{className:`size-2.5`}):(0,X.jsx)(Zt,{className:`size-2.5`})}),(0,X.jsx)(Ot,{className:`size-2.5 shrink-0 text-text-subtle`}),(0,X.jsx)(`button`,{onClick:()=>l(t.tableName,t.schemaName),className:`flex-1 text-left text-[11px] text-text-secondary hover:text-foreground transition-colors truncate`,children:t.tableName}),(0,X.jsx)(`span`,{className:`text-[9px] text-text-subtle`,children:t.rowCount})]}),r&&(0,X.jsxs)(`div`,{className:`ml-[18px] border-l border-dotted border-border pl-2`,children:[u&&(0,X.jsx)(`p`,{className:`text-[9px] text-text-subtle px-1 py-0.5`,children:`Loading…`}),f&&(0,X.jsx)(`p`,{className:`text-[9px] text-error px-1 py-0.5`,children:`Failed to load columns`}),d&&d.map(e=>(0,X.jsxs)(`div`,{className:`flex items-center gap-1 px-1 py-px text-[10px] text-text-subtle`,title:e.fk?`FK → ${e.fk.table}.${e.fk.column}`:void 0,children:[e.pk&&(0,X.jsx)(Ct,{className:`size-2.5 text-warning shrink-0`}),e.fk&&(0,X.jsx)(un,{className:`size-2.5 text-primary shrink-0`}),!e.pk&&!e.fk&&(0,X.jsx)(`span`,{className:`size-2.5 shrink-0`}),(0,X.jsxs)(`span`,{className:`truncate`,children:[e.name,e.nullable?`?`:``]}),(0,X.jsx)(`span`,{className:`ml-auto text-[9px] text-text-subtle/60 shrink-0`,children:e.type})]},e.name)),!u&&!f&&!d&&(0,X.jsx)(`p`,{className:`text-[9px] text-text-subtle px-1 py-0.5`,children:`No columns`})]})]},n)})]},t)}),r&&Array.from(t.values()).every(e=>!e.some(e=>e.tableName.toLowerCase().includes(u)))&&(0,X.jsx)(`p`,{className:`text-[10px] text-text-subtle px-2 py-1`,children:`No match`})]})}function nm({conn:e,isExpanded:t,isRefreshing:n,tables:r,schemas:i,isSingleSchema:a,filter:o,expandedTables:s,loadingColumns:c,columnCache:l,columnErrors:u,refreshError:d,hasGroup:f,onToggle:p,onRefresh:m,onEdit:h,onDelete:g,onOpenTable:_,onToggleTable:v,onFilterChange:y}){let b=()=>p(e.id,!t&&r.length===0);return(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`div`,{className:V(`group flex items-center gap-1 py-1 hover:bg-surface-elevated transition-colors`,f?`pl-3 pr-2`:`px-2`),children:[(0,X.jsx)(`button`,{onClick:b,className:`shrink-0 text-text-subtle hover:text-foreground transition-colors`,children:t?(0,X.jsx)(Ye,{className:`size-3`}):(0,X.jsx)(Zt,{className:`size-3`})}),(0,X.jsx)(`span`,{className:`shrink-0 size-2 rounded-full border border-border`,style:{backgroundColor:e.color??`transparent`}}),(0,X.jsx)(`button`,{className:`flex-1 text-left text-xs truncate hover:text-primary transition-colors`,onClick:b,children:e.name}),(0,X.jsx)(`span`,{className:`shrink-0 text-[9px] text-text-subtle uppercase px-1 rounded bg-surface-elevated`,children:e.type===`postgres`?`PG`:`DB`}),e.readonly===1&&(0,X.jsx)(`span`,{title:`Readonly`,children:(0,X.jsx)(Pt,{className:`shrink-0 size-2.5 text-text-subtle`})}),(0,X.jsxs)(`div`,{className:`flex can-hover:hidden can-hover:group-hover:flex items-center gap-0.5 shrink-0`,children:[(0,X.jsx)(`button`,{onClick:()=>m(e.id),disabled:n,className:`p-0.5 text-text-subtle hover:text-foreground transition-colors`,title:`Refresh tables`,children:(0,X.jsx)(rt,{className:V(`size-3`,n&&`animate-spin`)})}),(0,X.jsx)(`button`,{onClick:()=>h(e),className:`p-0.5 text-text-subtle hover:text-foreground transition-colors`,title:`Edit`,children:(0,X.jsx)(ge,{className:`size-3`})}),(0,X.jsx)(`button`,{onClick:()=>g(e.id),className:`p-0.5 text-text-subtle hover:text-error transition-colors`,title:`Delete`,children:(0,X.jsx)(Nn,{className:`size-3`})})]})]}),t&&(0,X.jsxs)(`div`,{className:`ml-[11px] border-l border-dashed border-border pl-1`,children:[n&&r.length===0&&(0,X.jsx)(`p`,{className:`text-[10px] text-text-subtle px-2 py-1`,children:`Loading…`}),!n&&r.length===0&&(d?(0,X.jsx)(`p`,{className:`text-[10px] text-error px-2 py-1 break-all`,children:d}):(0,X.jsx)(`p`,{className:`text-[10px] text-text-subtle px-2 py-1`,children:`No tables cached`})),r.length>0&&(0,X.jsxs)(X.Fragment,{children:[r.length>5&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-0.5`,children:[(0,X.jsx)(Yt,{className:`size-2.5 text-text-subtle shrink-0`}),(0,X.jsx)(`input`,{type:`text`,value:o,onChange:t=>y(e.id,t.target.value),placeholder:`Filter tables…`,className:`w-full text-[10px] bg-transparent border-none outline-none text-foreground placeholder:text-text-subtle`})]}),(0,X.jsx)(tm,{connId:e.id,schemas:i,isSingleSchema:a,filter:o,expandedTables:s,loadingColumns:c,columnCache:l,columnErrors:u,onToggleTable:v,onOpenTable:(t,n)=>_(e,t,n)})]})]})]})}function rm(e,t,n){return`${e}:${t}.${n}`}function im(e){return Number(e.slice(0,e.indexOf(`:`)))}function am(){let e=z(e=>e.dbSidebarExpanded),t=z(e=>e.setDbSidebarExpanded),n=(0,Y.useMemo)(()=>new Set(e.conns),[e.conns]),r=(0,Y.useMemo)(()=>new Set(e.groups),[e.groups]),i=(0,Y.useMemo)(()=>new Set(e.tables),[e.tables]),a=(0,Y.useCallback)(e=>{let n=z.getState().dbSidebarExpanded,r=e(n);r!==n&&t(r)},[t]);return{expandedConns:n,expandedGroups:r,expandedTables:i,toggleConn:(0,Y.useCallback)(e=>{a(t=>({...t,conns:t.conns.includes(e)?t.conns.filter(t=>t!==e):[...t.conns,e]}))},[a]),toggleGroup:(0,Y.useCallback)(e=>{a(t=>({...t,groups:t.groups.includes(e)?t.groups.filter(t=>t!==e):[...t.groups,e]}))},[a]),setTableExpanded:(0,Y.useCallback)((e,t)=>{a(n=>({...n,tables:t?n.tables.includes(e)?n.tables:[...n.tables,e]:n.tables.filter(t=>t!==e)}))},[a]),pruneDeletedConns:(0,Y.useCallback)(e=>{let t=new Set(e);a(e=>{let n=e.conns.filter(e=>t.has(e)),r=e.tables.filter(e=>t.has(im(e)));return n.length===e.conns.length&&r.length===e.tables.length?e:{...e,conns:n,tables:r}})},[a])}}function om({connections:e,cachedTables:t,refreshErrors:n,onOpenTable:r,onRefreshTables:i,onEdit:a,onDelete:o,onFetchColumns:s,columnCache:c}){let{expandedConns:l,expandedGroups:u,expandedTables:d,toggleConn:f,toggleGroup:p,setTableExpanded:m,pruneDeletedConns:h}=am(),[g,_]=(0,Y.useState)(new Set),[v,y]=(0,Y.useState)(new Map),[b,x]=(0,Y.useState)(new Set),[S,C]=(0,Y.useState)(new Set),w=(e,t)=>{f(e),t&&D(e)},T=async(e,t,n)=>{let r=rm(e,n,t);if(!(!s||c?.has(r))){x(e=>new Set(e).add(r)),C(e=>{let t=new Set(e);return t.delete(r),t});try{await s(e,t,n)}catch{C(e=>new Set(e).add(r))}x(e=>{let t=new Set(e);return t.delete(r),t})}},E=async(e,t,n)=>{let r=rm(e,n,t);if(d.has(r)){m(r,!1);return}m(r,!0),await T(e,t,n)},D=async e=>{_(t=>new Set(t).add(e));try{await i(e)}finally{_(t=>{let n=new Set(t);return n.delete(e),n})}},O=(e,t)=>{y(n=>new Map(n).set(e,t))},k=(0,Y.useRef)(new Set);(0,Y.useEffect)(()=>{if(e.length!==0){h(e.map(e=>e.id));for(let n of e){if(!l.has(n.id))continue;let e=t.get(n.id)??[];if(e.length===0){if(k.current.has(`conn:${n.id}`))continue;k.current.add(`conn:${n.id}`),D(n.id).catch(()=>{});continue}for(let t of e){let e=rm(n.id,t.schemaName,t.tableName);!d.has(e)||c?.has(e)||k.current.has(e)||(k.current.add(e),T(n.id,t.tableName,t.schemaName))}}}},[e,t,l,d,c,h]);let{groups:A,groupKeys:j}=(0,Y.useMemo)(()=>{let t={};for(let n of e){let e=n.group_name??`__ungrouped__`;(t[e]??=[]).push(n)}return{groups:t,groupKeys:Object.keys(t).sort((e,t)=>e===`__ungrouped__`?1:t===`__ungrouped__`?-1:e.localeCompare(t))}},[e]),ee=(0,Y.useMemo)(()=>{let n=new Map;for(let r of e){let e=t.get(r.id)??[],i=new Map;for(let t of e){let e=t.schemaName;(i.get(e)??i.set(e,[]).get(e)).push(t)}n.set(r.id,i)}return n},[e,t]);return e.length===0?(0,X.jsxs)(`p`,{className:`px-4 py-6 text-xs text-text-subtle text-center`,children:[`No connections yet.`,(0,X.jsx)(`br`,{}),`Click + to add one.`]}):(0,X.jsx)(`div`,{className:`py-1`,children:j.map(e=>{let i=u.has(e),s=e===`__ungrouped__`?`Ungrouped`:e,f=A[e],m=j.length>1||e!==`__ungrouped__`;return(0,X.jsxs)(`div`,{children:[m&&(0,X.jsxs)(`button`,{onClick:()=>p(e),className:`w-full flex items-center gap-1 px-2 py-1 text-[10px] font-semibold text-text-subtle uppercase tracking-wider hover:text-text-secondary transition-colors`,children:[i?(0,X.jsx)(Ye,{className:`size-3`}):(0,X.jsx)(Zt,{className:`size-3`}),s]}),i&&(0,X.jsx)(`div`,{className:m?`ml-[11px] border-l border-dashed border-border`:``,children:f.map(e=>(0,X.jsx)(nm,{conn:e,isExpanded:l.has(e.id),isRefreshing:g.has(e.id),tables:t.get(e.id)??[],schemas:ee.get(e.id)??new Map,isSingleSchema:(ee.get(e.id)?.size??0)<=1,filter:v.get(e.id)??``,expandedTables:d,loadingColumns:b,columnCache:c,columnErrors:S,refreshError:n?.get(e.id),hasGroup:m,onToggle:w,onRefresh:D,onEdit:a,onDelete:o,onOpenTable:r,onToggleTable:E,onFilterChange:O},e.id))})]},e)})})}var sm=`ppm-recent-paths`,cm=5,lm=[{name:`Home`,path:`~`,icon:ht},{name:`Desktop`,path:`~/Desktop`,icon:Mn},{name:`Documents`,path:`~/Documents`,icon:Et},{name:`Downloads`,path:`~/Downloads`,icon:Tn}];function um(){try{return JSON.parse(localStorage.getItem(sm)??`[]`)}catch{return[]}}function dm(e){let t=[e,...um().filter(t=>t!==e)].slice(0,cm);localStorage.setItem(sm,JSON.stringify(t))}function fm(e){return(0,X.jsx)(Oi,{name:e.name,kind:e.type===`directory`?`directory`:`file`})}function pm(e,t){if(!t?.length)return!0;let n=`.`+e.split(`.`).pop()?.toLowerCase();return t.includes(n)}function mm({open:e,mode:t,accept:n,root:r,title:i,onSelect:a,onCancel:o}){let[s,c]=(0,Y.useState)([]),[l,u]=(0,Y.useState)(``),[d,f]=(0,Y.useState)(null),[p,m]=(0,Y.useState)([]),[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)(!1),[y,b]=(0,Y.useState)(null),[x,S]=(0,Y.useState)(``),[C,w]=(0,Y.useState)(``),[T,E]=(0,Y.useState)(!1),[D,O]=(0,Y.useState)([]),[k,A]=(0,Y.useState)(null),[j,ee]=(0,Y.useState)(!1),[te,M]=(0,Y.useState)(null),N=(0,Y.useRef)(null),ne=(0,Y.useRef)(null),re=typeof window<`u`&&window.innerWidth<768,ie=t===`folder`?`Select Folder`:t===`file`?`Select File`:`Select File or Folder`,ae=(0,Y.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 L.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,Y.useEffect)(()=>{e&&(ae(r??`~`,T),O(um()))},[e,r,ae,T]);let oe=e=>ae(e,T),se=()=>{let e=!T;E(e),ae(l||(r??`~`),e)},P=e=>{e.key===`Enter`&&C.trim()&&ae(C.trim())},ce=e=>{e.type===`directory`?t===`file`?oe(e.path):g(e.path):t!==`folder`&&g(e.path)},le=e=>{e.type===`directory`&&oe(e.path)},ue=()=>{h&&(dm(l),a(h))},de=async()=>{if(!k?.trim()||!l)return;let e=`${l}/${k.trim()}`;ee(!0),M(null);try{await L.post(`/api/fs/mkdir`,{path:e}),A(null),M(null),await ae(l,T),g(e)}catch(e){M(e.message||`Failed to create folder`)}finally{ee(!1)}},fe=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 L.del(`/api/fs/rmdir`,{path:h}),g(null),await ae(l,T)}catch(e){b(e.message||`Failed to delete folder`)}},pe=h?s.some(e=>e.path===h&&e.type===`directory`):!1,me=s.filter(e=>!(x&&!e.name.toLowerCase().includes(x.toLowerCase())||e.type===`file`&&n?.length&&!pm(e.name,n))),he=e=>e.type===`directory`?t!==`file`:t!==`folder`,ge=(0,X.jsxs)(`div`,{className:`flex flex-col flex-1 min-h-0`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-2 border-b border-border`,children:[d&&(0,X.jsx)(G,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:()=>oe(d),children:(0,X.jsx)(nn,{className:`size-4`})}),(0,X.jsx)(Ii,{value:C,onChange:e=>w(e.target.value),onKeyDown:P,placeholder:`Type path and press Enter`,className:`h-7 text-xs font-mono flex-1`})]}),(0,X.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,X.jsxs)(`span`,{className:`flex items-center shrink-0`,children:[t>0&&(0,X.jsx)(Zt,{className:`size-3 text-text-subtle mx-0.5`}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>oe(e.path),className:`hover:text-primary hover:underline text-text-secondary`,children:e.name})]},e.path))}),(0,X.jsxs)(`div`,{className:`flex flex-1 min-h-0 overflow-hidden`,children:[!re&&(0,X.jsxs)(`div`,{className:`w-36 border-r border-border py-2 px-1 shrink-0 overflow-y-auto`,children:[lm.map(e=>(0,X.jsxs)(`button`,{type:`button`,onClick:()=>oe(e.path),className:V(`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,X.jsx)(e.icon,{className:`size-3.5`}),e.name]},e.path)),D.length>0&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`text-[10px] text-text-subtle px-2 mt-3 mb-1 font-medium`,children:`Recent`}),D.map(e=>(0,X.jsxs)(`button`,{type:`button`,onClick:()=>oe(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,X.jsx)(Ie,{className:`size-3 shrink-0`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.split(`/`).pop()})]},e))]})]}),(0,X.jsx)(Li,{className:`flex-1 min-h-0`,children:_?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,X.jsx)(F,{className:`size-5 animate-spin text-text-subtle`})}):y?(0,X.jsx)(`div`,{className:`text-center py-8 text-xs text-error`,children:y}):me.length===0?(0,X.jsx)(`div`,{className:`text-center py-8 text-xs text-text-subtle`,children:x?`No matching entries`:`Empty directory`}):(0,X.jsxs)(`div`,{ref:ne,className:`py-1`,children:[k!=null&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 bg-primary/5 border-b border-border`,children:[(0,X.jsx)(Qe,{className:`size-4 text-primary shrink-0`}),(0,X.jsx)(Ii,{ref:N,value:k,onChange:e=>A(e.target.value),onKeyDown:e=>{e.key===`Enter`&&de(),e.key===`Escape`&&A(null)},placeholder:`Folder name`,className:`h-6 text-xs flex-1`,disabled:j,autoFocus:!0}),j&&(0,X.jsx)(F,{className:`size-3.5 animate-spin text-primary shrink-0`})]}),te&&(0,X.jsx)(`div`,{className:`px-3 py-1 text-[11px] text-destructive bg-destructive/5 border-b border-border`,children:te})]}),me.map(e=>{let t=he(e);return(0,X.jsxs)(`button`,{type:`button`,onClick:()=>ce(e),onDoubleClick:()=>le(e),className:V(`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:[fm(e),(0,X.jsx)(`span`,{className:V(`flex-1 truncate`,e.type===`directory`&&`font-medium`),children:e.name}),(0,X.jsx)(`span`,{className:`text-text-subtle text-[10px] shrink-0 w-14 text-right`,children:_i(e.size)}),(0,X.jsx)(`span`,{className:`text-text-subtle text-[10px] shrink-0 w-14 text-right`,children:ui(e.modified)})]},e.path)})]})})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 border-t border-border shrink-0`,children:[(0,X.jsx)(G,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:()=>{A(``),M(null),setTimeout(()=>N.current?.focus(),50)},title:`New Folder`,children:(0,X.jsx)(Qe,{className:`size-3.5`})}),(0,X.jsx)(G,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 text-destructive/70 hover:text-destructive disabled:opacity-30`,onClick:fe,disabled:!pe,title:`Delete selected folder`,children:(0,X.jsx)(Nn,{className:`size-3.5`})}),(0,X.jsx)(G,{variant:`ghost`,size:`icon`,className:V(`size-7 shrink-0`,T&&`text-primary`),onClick:se,title:T?`Hide hidden files`:`Show hidden files`,children:T?(0,X.jsx)(an,{className:`size-3.5`}):(0,X.jsx)(On,{className:`size-3.5`})}),n?.length?(0,X.jsx)(`span`,{className:`text-[10px] text-text-subtle bg-surface-hover px-1.5 py-0.5 rounded`,children:n.join(`, `)}):null,(0,X.jsx)(`div`,{className:`flex-1 max-w-48`,children:(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.jsx)(Yt,{className:`absolute left-2 top-1/2 -translate-y-1/2 size-3 text-text-subtle`}),(0,X.jsx)(Ii,{value:x,onChange:e=>S(e.target.value),placeholder:`Filter...`,className:`h-6 text-[11px] pl-6`})]})}),(0,X.jsx)(`div`,{className:`flex-1`}),(0,X.jsx)(G,{variant:`outline`,size:`sm`,onClick:o,className:`h-7 text-xs`,children:`Cancel`}),(0,X.jsx)(G,{size:`sm`,onClick:ue,disabled:!h,className:`h-7 text-xs`,children:`Select`})]})]});return(0,X.jsx)(Ei,{open:e,onOpenChange:e=>{e||o()},children:(0,X.jsxs)(K,{className:V(`p-0 gap-0 overflow-hidden flex flex-col`,re?`max-w-[95vw] h-[85vh]`:`max-w-2xl h-[70vh]`),children:[(0,X.jsx)(Ci,{className:`px-3 py-2 border-b border-border`,children:(0,X.jsx)(q,{className:`text-sm`,children:i??ie})}),ge]})})}function hm({mode:e,accept:t,root:n,title:r,onSelect:i,className:a}){let[o,s]=(0,Y.useState)(!1);return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(G,{type:`button`,variant:`ghost`,size:`icon`,className:V(`size-8 shrink-0`,a),onClick:()=>s(!0),title:r??`Browse...`,children:(0,X.jsx)(we,{className:`size-4`})}),(0,X.jsx)(mm,{open:o,mode:e,accept:t,root:n,title:r,onSelect:e=>{i(e),s(!1)},onCancel:()=>s(!1)})]})}var gm=[`#ef4444`,`#f97316`,`#eab308`,`#22c55e`,`#06b6d4`,`#3b82f6`,`#8b5cf6`,`#ec4899`,`#6b7280`,`#000000`];function _m({value:e,onChange:t}){return(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,X.jsx)(`button`,{type:`button`,onClick:()=>t(null),className:V(`size-6 rounded-full border-2 transition-all`,e?`border-border hover:scale-105`:`border-primary scale-110`,`bg-transparent relative`),title:`No color`,children:(0,X.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center text-[8px] text-text-subtle`,children:`×`})}),gm.map(n=>(0,X.jsx)(`button`,{type:`button`,onClick:()=>t(n),className:V(`size-6 rounded-full border-2 transition-all hover:scale-105`,e===n?`border-primary scale-110`:`border-transparent`),style:{backgroundColor:n},title:n},n))]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`div`,{className:`size-6 rounded-full border border-border shrink-0`,style:{backgroundColor:e??`transparent`}}),(0,X.jsx)(`input`,{type:`text`,value:e??``,onChange:e=>{let n=e.target.value.trim();if(n===``){t(null);return}/^#[0-9a-fA-F]{6}$/.test(n),t(n)},placeholder:`#3b82f6`,className:`flex-1 h-7 text-xs px-2 rounded-md border border-border bg-background focus:outline-none focus:border-primary font-mono`})]})]})}function vm({open:e,onClose:t,connection:n,onSave:r,onUpdate:i,onTest:a,onTestRaw:o}){let s=!!n,[c,l]=(0,Y.useState)({name:``,type:`postgres`,path:``,connectionString:``,groupName:``,color:null,readonly:!0}),[u,d]=(0,Y.useState)(!1),[f,p]=(0,Y.useState)(null),[m,h]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{if(!e){p(null),_(null);return}l(n?{name:n.name,type:n.type,path:``,connectionString:``,groupName:n.group_name??``,color:n.color,readonly:n.readonly===1}:{name:``,type:`postgres`,path:``,connectionString:``,groupName:``,color:null,readonly:!0})},[e,n]);let v=(e,t)=>{l(n=>({...n,[e]:t})),p(null)};return(0,X.jsx)(Ei,{open:e,onOpenChange:e=>{e||t()},children:(0,X.jsxs)(K,{className:`max-w-md`,children:[(0,X.jsx)(Ci,{children:(0,X.jsx)(q,{children:s?`Edit Connection`:`Add Connection`})}),(0,X.jsxs)(`div`,{className:`space-y-3 py-1`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`Name *`}),(0,X.jsx)(`input`,{value:c.name,onChange:e=>v(`name`,e.target.value),placeholder:`my-database`,className:`w-full h-8 text-sm px-2.5 rounded-md border border-border bg-background focus:outline-none focus:border-primary`})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`Type`}),(0,X.jsxs)(`select`,{value:c.type,onChange:e=>v(`type`,e.target.value),className:`w-full h-8 text-sm px-2 rounded-md border border-border bg-background focus:outline-none focus:border-primary`,children:[(0,X.jsx)(`option`,{value:`postgres`,children:`PostgreSQL`}),(0,X.jsx)(`option`,{value:`sqlite`,children:`SQLite`})]})]}),c.type===`postgres`?(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`Connection String *`}),(0,X.jsx)(`input`,{type:`password`,value:c.connectionString,onChange:e=>v(`connectionString`,e.target.value),placeholder:`postgresql://user:pass@host:5432/db`,className:`w-full h-8 text-sm px-2.5 rounded-md border border-border bg-background focus:outline-none focus:border-primary font-mono`})]}):(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`File Path *`}),(0,X.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,X.jsx)(`input`,{value:c.path,onChange:e=>v(`path`,e.target.value),placeholder:`/path/to/database.db`,className:`flex-1 h-8 text-sm px-2.5 rounded-md border border-border bg-background focus:outline-none focus:border-primary font-mono`}),(0,X.jsx)(hm,{mode:`file`,accept:[`.db`,`.sqlite`,`.sqlite3`],title:`Browse for SQLite database`,onSelect:e=>v(`path`,e)})]})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`Group`}),(0,X.jsx)(`input`,{value:c.groupName,onChange:e=>v(`groupName`,e.target.value),placeholder:`Production`,className:`w-full h-8 text-sm px-2.5 rounded-md border border-border bg-background focus:outline-none focus:border-primary`})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`Tab Color`}),(0,X.jsx)(_m,{value:c.color,onChange:e=>v(`color`,e)})]}),s&&(0,X.jsxs)(`div`,{className:`flex items-center justify-between py-1`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`p`,{className:`text-xs font-medium`,children:`Readonly`}),(0,X.jsx)(`p`,{className:`text-[10px] text-text-subtle`,children:`Block non-SELECT queries (AI protection)`})]}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>v(`readonly`,!c.readonly),className:`relative w-9 h-5 rounded-full transition-colors ${c.readonly?`bg-primary`:`bg-border`}`,children:(0,X.jsx)(`span`,{className:`absolute top-0.5 left-0.5 size-4 rounded-full bg-white transition-transform ${c.readonly?`translate-x-4`:``}`})})]}),f&&(0,X.jsx)(`p`,{className:`text-xs ${f.ok?`text-success`:`text-error`}`,children:f.ok?`✓ Connection successful`:`✗ ${f.error}`}),g&&(0,X.jsx)(`p`,{className:`text-xs text-error`,children:g})]}),(0,X.jsxs)(wi,{children:[(0,X.jsx)(G,{variant:`outline`,size:`sm`,onClick:async()=>{d(!0),p(null);try{let e;if(s)e=await a(n.id);else if(o){let t=c.type===`postgres`?{type:`postgres`,connectionString:c.connectionString}:{type:`sqlite`,path:c.path};e=await o(c.type,t)}else e={ok:!1,error:`Save connection first`};p(e)}finally{d(!1)}},disabled:u,className:`mr-auto`,children:u?`Testing…`:`Test Connection`}),(0,X.jsx)(G,{variant:`outline`,size:`sm`,onClick:t,children:`Cancel`}),(0,X.jsx)(G,{size:`sm`,onClick:async()=>{if(_(null),!c.name.trim()){_(`Name is required`);return}h(!0);try{if(s&&i){let e=(c.type===`postgres`?c.connectionString.trim():c.path.trim())?c.type===`postgres`?{type:`postgres`,connectionString:c.connectionString}:{type:`sqlite`,path:c.path}:void 0;await i(n.id,{name:c.name.trim(),...e!==void 0&&{connectionConfig:e},groupName:c.groupName.trim()||null,color:c.color,readonly:c.readonly?1:0})}else if(r){let e=c.type===`postgres`?{type:`postgres`,connectionString:c.connectionString}:{type:`sqlite`,path:c.path};await r({type:c.type,name:c.name.trim(),connectionConfig:e,groupName:c.groupName.trim()||void 0,color:c.color??void 0})}t()}catch(e){_(e.message)}finally{h(!1)}},disabled:m,children:m?`Saving…`:s?`Save`:`Add`})]})]})})}function ym({onExport:e,onImport:t}){let[n,r]=(0,Y.useState)(!1),i=(0,Y.useRef)(null),a=()=>r(!1),o=async()=>{a();try{let t=await e(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`ppm-connections-${new Date().toISOString().slice(0,10)}.json`,i.click(),URL.revokeObjectURL(r)}catch(e){alert(`Export failed: ${e.message}`)}},s=async()=>{a();try{let t=await e(),n=await vl(JSON.stringify(t,null,2));alert(n?`Copied ${t.connections.length} connection(s) to clipboard`:`Copy failed — clipboard unavailable`)}catch(e){alert(`Export failed: ${e.message}`)}},c=async e=>{try{let n=JSON.parse(e),r=n.connections??n;if(!Array.isArray(r)){alert(`Invalid format: expected connections array`);return}let i=await t({connections:r}),a=`Imported ${i.imported} connection(s)`;i.skipped>0&&(a+=`, ${i.skipped} skipped`),i.errors?.length>0&&(a+=`\n\nErrors:\n${i.errors.join(`
|
|
20
|
+
`)}`),alert(a)}catch(e){alert(`Import failed: ${e.message}`)}};return(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.jsx)(`button`,{onClick:()=>r(e=>!e),className:`flex items-center justify-center size-5 rounded hover:bg-surface-elevated transition-colors text-text-subtle hover:text-foreground`,title:`Import / Export`,children:(0,X.jsx)(en,{className:`size-3.5`})}),n&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:a}),(0,X.jsxs)(`div`,{className:`absolute right-0 top-full mt-1 z-50 w-44 bg-background border border-border rounded-md shadow-lg py-1 text-xs`,children:[(0,X.jsxs)(`button`,{onClick:o,className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,X.jsx)(Tn,{className:`size-3`}),` Export to file`]}),(0,X.jsxs)(`button`,{onClick:s,className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,X.jsx)(gt,{className:`size-3`}),` Export to clipboard`]}),(0,X.jsx)(`div`,{className:`border-t border-border my-1`}),(0,X.jsxs)(`button`,{onClick:()=>{a(),i.current?.click()},className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,X.jsx)(tn,{className:`size-3`}),` Import from file`]}),(0,X.jsxs)(`button`,{onClick:async()=>{a();try{let e=await navigator.clipboard.readText();if(!e.trim()){alert(`Clipboard is empty`);return}await c(e)}catch(e){alert(`Clipboard read failed: ${e.message}`)}},className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,X.jsx)(_n,{className:`size-3`}),` Import from clipboard`]})]})]}),(0,X.jsx)(`input`,{ref:i,type:`file`,accept:`.json`,className:`hidden`,onChange:e=>{let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>c(n.result),n.readAsText(t),e.target.value=``}})]})}function bm(){let[e,t]=(0,Y.useState)([]),[n,r]=(0,Y.useState)(!0),[i,a]=(0,Y.useState)(new Map),[o,s]=(0,Y.useState)(new Map),c=(0,Y.useCallback)(async()=>{try{t(await L.get(`/api/db/connections`))}catch{}finally{r(!1)}},[]);(0,Y.useEffect)(()=>{c()},[c]);let l=(0,Y.useCallback)(async e=>{let n=await L.post(`/api/db/connections`,e);return t(e=>[...e,n]),n},[]),u=(0,Y.useCallback)(async(e,n)=>{let r=await L.put(`/api/db/connections/${e}`,n);t(t=>t.map(t=>t.id===e?r:t))},[]),d=(0,Y.useCallback)(async e=>{await L.del(`/api/db/connections/${e}`),t(t=>t.filter(t=>t.id!==e)),a(t=>{let n=new Map(t);return n.delete(e),n})},[]),f=(0,Y.useCallback)(async e=>L.post(`/api/db/connections/${e}/test`),[]),p=(0,Y.useCallback)(async(e,t)=>L.post(`/api/db/test`,{type:e,connectionConfig:t}),[]),m=(0,Y.useCallback)(async e=>{s(t=>{let n=new Map(t);return n.delete(e),n});try{let t=(await L.get(`/api/db/connections/${e}/tables`)).map(t=>({connectionId:e,tableName:t.name,schemaName:t.schema,rowCount:t.rowCount,cachedAt:new Date().toISOString()}));a(n=>new Map(n).set(e,t))}catch(t){let n=t.message||`Connection failed`;throw s(t=>new Map(t).set(e,n)),t}},[]),[h,g]=(0,Y.useState)(new Map),_=(0,Y.useRef)(h);return _.current=h,{connections:e,loading:n,cachedTables:i,refreshErrors:o,columnCache:h,createConnection:l,updateConnection:u,deleteConnection:d,testConnection:f,testRawConnection:p,refreshTables:m,fetchColumns:(0,Y.useCallback)(async(e,t,n)=>{let r=`${e}:${n??`main`}.${t}`,i=_.current.get(r);if(i)return i;let a=await L.get(`/api/db/connections/${e}/schema?table=${encodeURIComponent(t)}${n?`&schema=${encodeURIComponent(n)}`:``}`);return g(e=>new Map(e).set(r,a)),a},[]),exportConnections:(0,Y.useCallback)(async()=>L.get(`/api/db/connections/export`),[]),importConnections:(0,Y.useCallback)(async e=>{let t=await L.post(`/api/db/connections/import`,e);await c();let n=t.connections??[];return n.length>0&&Promise.all(n.map(e=>m(e.id).catch(()=>{}))),t},[c,m])}}function xm(){let{connections:e,loading:t,cachedTables:n,refreshErrors:r,columnCache:i,createConnection:a,updateConnection:o,deleteConnection:s,testConnection:c,testRawConnection:l,refreshTables:u,fetchColumns:d,exportConnections:f,importConnections:p}=bm(),m=W(e=>e.openTab),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(null);return(0,X.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,X.jsxs)(nd,{icon:Ot,title:`Database`,children:[(0,X.jsx)(ym,{onExport:f,onImport:p}),(0,X.jsx)(`button`,{onClick:()=>g(!0),className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`,title:`Add connection`,children:(0,X.jsx)(vn,{className:`size-3.5`})})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:t?(0,X.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-subtle text-center`,children:`Loading…`}):(0,X.jsx)(om,{connections:e,cachedTables:n,refreshErrors:r,onOpenTable:(e,t,n)=>{m({type:`database`,title:`${e.name} · ${t}`,projectId:null,closable:!0,metadata:{connectionId:e.id,connectionName:e.name,dbType:e.type,tableName:t,schemaName:n,connectionColor:e.color}})},onRefreshTables:u,onEdit:v,onDelete:async e=>{if(confirm(`Delete this connection?`))try{await s(e)}catch{}},onFetchColumns:d,columnCache:i})}),(0,X.jsx)(vm,{open:h,onClose:()=>g(!1),onSave:async e=>{let t=await a(e);t&&u(t.id).catch(()=>{})},onTest:()=>Promise.resolve({ok:!1,error:`Save connection first`}),onTestRaw:l}),_&&(0,X.jsx)(vm,{open:!!_,onClose:()=>v(null),connection:_,onUpdate:async(e,t)=>{await o(e,t)},onTest:e=>c(e)})]})}function Sm(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 Cm({text:e,re:t}){if(!t)return(0,X.jsx)(`span`,{children:e});try{t.lastIndex=0;let n=e.split(t);return t.lastIndex=0,(0,X.jsx)(`span`,{children:n.map((e,n)=>(t.lastIndex=0,t.test(e)?(0,X.jsx)(`mark`,{className:`bg-warning/40 text-foreground rounded-sm`,children:e},n):e))})}catch{return(0,X.jsx)(`span`,{children:e})}}function wm({active:e,onClick:t,title:n,children:r}){return(0,X.jsx)(`button`,{onClick:t,title:n,className:V(`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 Tm(){let{activeProject:e}=U(ju(e=>({activeProject:e.activeProject}))),t=W(e=>e.openTab),[n,r]=(0,Y.useState)(``),[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)(!1),[u,d]=(0,Y.useState)(!1),[f,p]=(0,Y.useState)(``),[m,h]=(0,Y.useState)(``),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(null),[b,x]=(0,Y.useState)([]),[S,C]=(0,Y.useState)(0),[w,T]=(0,Y.useState)(!1),[E,D]=(0,Y.useState)(new Set),O=(0,Y.useRef)(null),k=(0,Y.useRef)(null),A=(0,Y.useCallback)(async(t,n,r,i,a)=>{if(d(!1),!e||!i&&t.length<2||i&&t.length<1){x([]),C(0);return}if(i)try{new RegExp(t)}catch{d(!0),x([]);return}T(!0);try{let o=new URLSearchParams({q:t,caseSensitive:String(n),wholeWord:String(r),regex:String(i)});a&&o.set(`include`,a);let s=await L.get(`${I(e.name)}/files/search?${o}`);x(s.results),C(s.total)}catch{x([])}finally{T(!1)}},[e]);(0,Y.useEffect)(()=>(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>A(n,i,o,c,f),300),()=>{k.current&&clearTimeout(k.current)}),[n,i,o,c,f,A]),(0,Y.useEffect)(()=>{O.current?.focus()},[]);let j=Sm(n,i,o,c);function ee(n,r){e&&t({type:`editor`,title:n.split(`/`).pop()??n,metadata:{filePath:n,projectName:e.name,lineNumber:r},projectId:e.name,closable:!0})}function te(e){D(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}async function M(){if(!e||!n||b.length===0||g)return;_(!0),y(null);let t=0;try{for(let r of b){let a=await L.get(`${I(e.name)}/files/read?path=${encodeURIComponent(r.file)}`),s=Sm(n,i,o,c);if(!s)continue;s.lastIndex=0;let l=a.content.match(s)??[];if(!l.length)continue;t+=l.length,s.lastIndex=0;let u=a.content.replace(s,m);await L.put(`${I(e.name)}/files/write`,{path:r.file,content:u})}y(t),A(n,i,o,c,f)}catch{}finally{_(!1)}}return(0,X.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,X.jsxs)(`div`,{className:`p-2 border-b border-border space-y-1.5`,children:[(0,X.jsx)(`div`,{className:`relative flex items-center gap-1`,children:(0,X.jsxs)(`div`,{className:`relative flex-1`,children:[(0,X.jsx)(Yt,{className:`absolute left-2 top-1/2 -translate-y-1/2 size-3.5 text-text-subtle pointer-events-none`}),(0,X.jsx)(`input`,{ref:O,value:n,onChange:e=>{r(e.target.value),y(null)},placeholder:e?`Search files…`:`Select a project first`,disabled:!e,className:V(`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`,u?`border-destructive`:`border-border`)}),n&&(0,X.jsx)(`button`,{onClick:()=>{r(``),x([]),C(0),d(!1),y(null)},className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,X.jsx)(_e,{className:`size-3`})})]})}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(wm,{active:i,onClick:()=>a(e=>!e),title:`Match Case (Alt+C)`,children:(0,X.jsx)(Ki,{className:`size-3.5`})}),(0,X.jsx)(wm,{active:o,onClick:()=>{s(e=>!e),c&&l(!1)},title:`Match Whole Word (Alt+W)`,children:(0,X.jsx)(na,{className:`size-3.5`})}),(0,X.jsx)(wm,{active:c,onClick:()=>{l(e=>!e),o&&s(!1)},title:`Use Regular Expression (Alt+R)`,children:(0,X.jsx)(Qi,{className:`size-3.5`})}),u&&(0,X.jsx)(`span`,{className:`text-[10px] text-destructive ml-1`,children:`Invalid regex`})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.jsxs)(`div`,{className:`relative flex-1`,children:[(0,X.jsx)(`input`,{value:m,onChange:e=>h(e.target.value),placeholder:`Replace…`,disabled:!e,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`}),m&&(0,X.jsx)(`button`,{onClick:()=>h(``),className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,X.jsx)(_e,{className:`size-3`})})]}),(0,X.jsx)(`button`,{onClick:M,disabled:!n||b.length===0||g,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:g?(0,X.jsx)(F,{className:`size-3.5 animate-spin`}):(0,X.jsx)($i,{className:`size-3.5`})})]}),(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.jsx)(`input`,{value:f,onChange:e=>p(e.target.value),placeholder:`Files to include (e.g. *.ts, src/**)`,disabled:!e,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`}),f&&(0,X.jsx)(`button`,{onClick:()=>p(``),className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,X.jsx)(_e,{className:`size-3`})})]}),(0,X.jsxs)(`div`,{className:`text-[10px] text-text-subtle h-3`,children:[(w||g)&&(0,X.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(F,{className:`size-2.5 animate-spin`}),g?`Replacing…`:`Searching…`]}),!w&&!g&&v!==null&&(0,X.jsxs)(`span`,{className:`text-success`,children:[v,` replacement`,v===1?``:`s`,` made`]}),!w&&!g&&v===null&&!u&&n.length>=2&&b.length===0&&(0,X.jsx)(`span`,{children:`No results`}),!w&&!g&&v===null&&S>0&&(0,X.jsxs)(`span`,{children:[S,` result`,S===1?``:`s`,` in `,b.length,` file`,b.length===1?``:`s`]})]})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:b.map(e=>{let t=E.has(e.file),n=e.file.split(`/`).pop()??e.file,r=e.file.includes(`/`)?e.file.slice(0,e.file.lastIndexOf(`/`)):``;return(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`button`,{onClick:()=>te(e.file),className:`w-full flex items-center gap-1 px-2 py-1 hover:bg-muted/50 text-left`,children:[t?(0,X.jsx)(Zt,{className:`size-3 shrink-0 text-text-subtle`}):(0,X.jsx)(Ye,{className:`size-3 shrink-0 text-text-subtle`}),(0,X.jsx)(Oi,{name:n,className:`size-3.5`}),(0,X.jsx)(`span`,{className:`text-xs font-medium text-foreground truncate`,children:n}),(0,X.jsx)(`span`,{className:`text-[10px] text-text-subtle truncate flex-1 min-w-0 ml-1`,children:r}),(0,X.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,X.jsxs)(`button`,{onClick:()=>ee(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,X.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0 w-7 text-right pt-px`,children:t.lineNum}),(0,X.jsx)(`span`,{className:`text-xs text-text-secondary truncate font-mono leading-4`,children:(0,X.jsx)(Cm,{text:t.content.trimStart(),re:j})})]},`${e.file}-${t.lineNum}`))]},e.file)})})]})}function Em(e,t){window.dispatchEvent(new CustomEvent(`ext:tree:expand`,{detail:{viewId:e,itemId:t}}))}function Dm(e,t){window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:t}}))}function Om({viewId:e,className:t}){let n=Sc(t=>t.treeViews[e])??[],r=Sc(e=>e.contributions),i=(0,Y.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,X.jsxs)(`div`,{className:V(`flex flex-col h-full`,t),children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border shrink-0`,children:[(0,X.jsx)(`span`,{className:`text-[10px] font-semibold text-text-subtle uppercase tracking-wider`,children:i.name}),(0,X.jsx)(`div`,{className:`flex items-center gap-0.5`,children:i.headerActions.map(e=>{let t=Tl(e.icon??km(e.command))??rt;return(0,X.jsx)(`button`,{onClick:()=>Dm(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,X.jsx)(t,{className:`size-3.5`})},e.command)})})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0 py-1`,role:`tree`,"aria-label":e,children:n.length===0?(0,X.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-subtle text-center`,children:`No items`}):n.map(t=>(0,X.jsx)(Am,{item:t,depth:0,viewId:e},t.id))})]})}function km(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 Am({item:e,depth:t,viewId:n}){let[r,i]=(0,Y.useState)(!1),a=e.collapsibleState!==`none`,o=(0,Y.useRef)(!1);e.children&&e.children.length>0&&!o.current&&(o.current=!0,r||i(!0));let s=(0,Y.useCallback)(()=>{if(!a)return;let t=!r;i(t),t&&(!e.children||e.children.length===0)&&Em(n,e.id)},[a,r,e.id,e.children,n]),c=(0,Y.useCallback)(()=>{s(),e.command&&Dm(e.command,e.commandArgs)},[s,e.command,e.commandArgs]),l=8+t*16;return(0,X.jsxs)(`div`,{role:`treeitem`,"aria-expanded":a?r:void 0,children:[(0,X.jsxs)(`div`,{className:V(`group/node flex items-center gap-1 py-1 hover:bg-surface-elevated transition-colors`),style:{paddingLeft:l,paddingRight:8},children:[(0,X.jsx)(`button`,{onClick:s,className:`shrink-0 text-text-subtle hover:text-foreground transition-colors`,children:a?r?(0,X.jsx)(Ye,{className:`size-3`}):(0,X.jsx)(Zt,{className:`size-3`}):(0,X.jsx)(`span`,{className:`size-3`})}),e.color&&(0,X.jsx)(`span`,{className:`shrink-0 size-2 rounded-full border border-border`,style:{backgroundColor:e.color}}),(0,X.jsx)(`button`,{className:`flex-1 text-left text-xs truncate hover:text-primary transition-colors`,onClick:c,children:e.label}),e.description&&(0,X.jsx)(`span`,{className:`shrink-0 ml-1 text-text-subtle text-[10px]`,children:e.description}),e.badge&&(0,X.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,X.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,X.jsx)(jm,{action:e},e.command))})]}),a&&r&&e.children&&(0,X.jsx)(`div`,{role:`group`,children:e.children.map(e=>(0,X.jsx)(Am,{item:e,depth:t+1,viewId:n},e.id))})]})}function jm({action:e}){let[t,n]=(0,Y.useState)(!1),r=Tl(e.icon)??rt,i=e.icon===`trash`;return(0,X.jsx)(`button`,{onClick:(0,Y.useCallback)(t=>{t.stopPropagation(),e.icon===`refresh`&&(n(!0),setTimeout(()=>n(!1),1e3)),Dm(e.command,e.commandArgs)},[e]),className:V(`p-0.5 text-text-subtle transition-colors`,i?`hover:text-error`:`hover:text-foreground`),title:e.tooltip,children:(0,X.jsx)(r,{className:V(`size-3`,t&&`animate-spin`)})})}var Mm=Kn((e,t)=>({projectsWithIds:[],configs:[],selectedProjectId:null,watchers:[],results:[],unreadCount:0,setSelectedProjectId:t=>e({selectedProjectId:t}),loadProjectsWithIds:async()=>{let t=await L.get(`/api/jira/config/projects`);e({projectsWithIds:Array.isArray(t)?t:[]})},loadConfigs:async()=>{e({configs:await L.get(`/api/jira/config`)})},saveConfig:async(e,n)=>{await L.put(`/api/jira/config/${e}`,n),await t().loadConfigs()},deleteConfig:async t=>{await L.del(`/api/jira/config/${t}`),e(e=>({configs:e.configs.filter(e=>e.projectId!==t),watchers:[]}))},testConnection:async e=>(await L.post(`/api/jira/config/${e}/test`)).connected,loadWatchers:async t=>{e({watchers:await L.get(`/api/jira/watchers?configId=${t}`)})},createWatcher:async e=>{await L.post(`/api/jira/watchers`,e),e.configId&&await t().loadWatchers(e.configId)},updateWatcher:async(e,n)=>{await L.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 L.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 L.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 L.post(`/api/jira/watchers/${e}/pull`);return await t().loadResults(),n},testJql:async(e,t)=>await L.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 L.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 L.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 L.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 L.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 L.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 L.patch(`/api/jira/results/${t}/read`)}catch{}},loadUnreadCount:async()=>{try{e({unreadCount:(await L.get(`/api/jira/results/unread-count`)).count})}catch{}}})),Nm={pending:`bg-warning`,queued:`bg-warning/80`,running:`bg-primary animate-pulse`,done:`bg-success`,failed:`bg-error`};function Pm(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 Fm({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,X.jsxs)(`div`,{className:V(`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,X.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,X.jsx)(`span`,{className:`text-xs font-mono font-semibold text-foreground shrink-0`,children:s.issueKey}),c&&(0,X.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground truncate flex-1 min-w-0`,children:s.issueSummary||`No summary`}),(0,X.jsx)(`span`,{className:`text-[10px] text-muted-foreground/60 tabular-nums shrink-0`,children:Pm(s.createdAt)})]}),(0,X.jsxs)(`div`,{className:`flex items-center justify-between min-w-0`,children:[(0,X.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] text-muted-foreground`,children:[(0,X.jsx)(`span`,{className:V(`size-1.5 rounded-full shrink-0`,Nm[p])}),p]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-0.5 shrink-0`,onClick:e=>e.stopPropagation(),children:[u&&(0,X.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,X.jsx)(pe,{className:`size-3`}),(0,X.jsx)(`span`,{children:`Resume`})]}),d&&(0,X.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,X.jsx)(ke,{className:`size-3`})}),f&&(0,X.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,X.jsx)(sn,{className:`size-3`})}),s.status===`running`&&(0,X.jsx)(F,{className:`size-3 animate-spin text-primary`}),l&&(0,X.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,X.jsx)(Mt,{className:`size-3`}),(0,X.jsx)(`span`,{children:`Open`})]}),(0,X.jsxs)($l,{children:[(0,X.jsx)(tu,{asChild:!0,children:(0,X.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,X.jsx)(Xe,{className:`size-3`})})}),(0,X.jsx)(nu,{align:`end`,children:(0,X.jsxs)(ru,{className:`text-destructive`,onClick:()=>a(s.id),children:[(0,X.jsx)(Nn,{className:`size-3.5 mr-2`}),` Delete`]})})]})]})]})]})}var Im=Y.forwardRef(({className:e,...t},n)=>(0,X.jsx)(j,{className:V(`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,X.jsx)(ee,{className:V(`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`)})}));Im.displayName=j.displayName;function Lm({...e}){return(0,X.jsx)(A,{"data-slot":`select`,...e})}function Rm({...e}){return(0,X.jsx)(le,{"data-slot":`select-value`,...e})}function zm({className:e,size:t=`default`,children:n,...r}){return(0,X.jsxs)(p,{"data-slot":`select-trigger`,"data-size":t,className:V(`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,X.jsx)(M,{asChild:!0,children:(0,X.jsx)($t,{className:`size-4 opacity-50`})})]})}function Bm({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){let a=Yn();return(0,X.jsx)(de,{container:a,children:(0,X.jsxs)(re,{"data-slot":`select-content`,className:V(`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,X.jsx)(Hm,{}),(0,X.jsx)(w,{className:V(`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,X.jsx)(Um,{})]})})}function Vm({className:e,children:t,...n}){return(0,X.jsxs)(te,{"data-slot":`select-item`,className:V(`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,X.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,X.jsx)(O,{children:(0,X.jsx)(xe,{className:`size-4`})})}),(0,X.jsx)(ce,{children:t})]})}function Hm({className:e,...t}){return(0,X.jsx)(C,{"data-slot":`select-scroll-up-button`,className:V(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,X.jsx)($e,{className:`size-4`})})}function Um({className:e,...t}){return(0,X.jsx)(ue,{"data-slot":`select-scroll-down-button`,className:V(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,X.jsx)($t,{className:`size-4`})})}function Wm(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 Gm={project:[],issueType:[],priority:[],status:[],assignee:[]};function Km({value:e,onChange:t,configId:n}){let[r,i]=(0,Y.useState)(e?`raw`:`builder`),[a,o]=(0,Y.useState)(Gm),[s,c]=(0,Y.useState)(e),[l,u]=(0,Y.useState)([]),[d,f]=(0,Y.useState)([]),[p,m]=(0,Y.useState)([]),[h,g]=(0,Y.useState)([]),[_,v]=(0,Y.useState)([]),[y,b]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{n&&(b(!0),Promise.all([L.get(`/api/jira/metadata/${n}/projects`).catch(()=>[]),L.get(`/api/jira/metadata/${n}/issuetype`).catch(()=>[]),L.get(`/api/jira/metadata/${n}/priority`).catch(()=>[]),L.get(`/api/jira/metadata/${n}/status`).catch(()=>[]),L.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,Y.useEffect)(()=>{r===`builder`&&t(Wm(a))},[a,r]);let x=(0,Y.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,X.jsxs)(`div`,{className:`space-y-2 min-w-0`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(G,{type:`button`,size:`sm`,variant:r===`builder`?`default`:`outline`,onClick:()=>i(`builder`),className:`min-h-[44px] text-xs`,children:`Builder`}),(0,X.jsx)(G,{type:`button`,size:`sm`,variant:r===`raw`?`default`:`outline`,onClick:()=>i(`raw`),className:`min-h-[44px] text-xs`,children:`Raw JQL`}),y&&(0,X.jsx)(F,{className:`size-3.5 animate-spin text-muted-foreground`})]}),r===`raw`?(0,X.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,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(qm,{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,X.jsx)(qm,{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,X.jsx)(qm,{label:`Priority`,field:`priority`,filters:a,onAdd:S,onRemove:C,options:p.map(e=>({value:e.name,label:e.name})),placeholder:`Select priority...`}),(0,X.jsx)(qm,{label:`Status`,field:`status`,filters:a,onAdd:S,onRemove:C,options:h.map(e=>({value:e.name,label:e.name})),placeholder:`Select status...`}),(0,X.jsx)(qm,{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,X.jsx)(`div`,{className:`text-xs text-muted-foreground bg-muted/50 rounded px-2 py-1 font-mono break-all`,children:r===`builder`?Wm(a):s||`(empty)`})]})}function qm({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,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:e}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1 flex-wrap`,children:[n[t].map(e=>(0,X.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,X.jsx)(`button`,{type:`button`,onClick:()=>i(t,e),className:`hover:text-destructive`,children:(0,X.jsx)(_e,{className:`size-3`})})]},e)),s.length>0?(0,X.jsxs)(Lm,{onValueChange:e=>r(t,e),children:[(0,X.jsx)(zm,{className:`h-7 w-auto min-w-[120px] text-xs`,children:(0,X.jsx)(Rm,{placeholder:o})}),(0,X.jsx)(Bm,{children:s.map(e=>(0,X.jsx)(Vm,{value:e.value,children:e.label},e.value))})]}):a.length>0?(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`All selected`}):(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`Loading...`})]})]})}var Jm=[{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 Ym({configId:e,existing:t,onDone:n}){let{createWatcher:r,updateWatcher:i,testJql:a}=Mm(),[o,s]=(0,Y.useState)(t?.name??``),[c,l]=(0,Y.useState)(t?.jql??``),[u,d]=(0,Y.useState)(t?.intervalMs??12e4),[f,p]=(0,Y.useState)(t?.mode??`debug`),[m,h]=(0,Y.useState)(t?.promptTemplate??``),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(!1),[b,x]=(0,Y.useState)(null),[S,C]=(0,Y.useState)(0),[w,T]=(0,Y.useState)(null),E=!!t;return(0,X.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,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Name`}),(0,X.jsx)(Ii,{value:o,onChange:e=>s(e.target.value),placeholder:`Bug watcher`,className:`h-9`})]}),(0,X.jsx)(Km,{value:c,onChange:l,configId:e}),(0,X.jsxs)(G,{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,X.jsx)(F,{className:`size-4 animate-spin mr-1.5`}):(0,X.jsx)(Yt,{className:`size-4 mr-1.5`}),`Test Filter`]}),w&&(0,X.jsx)(`p`,{className:`text-xs text-destructive bg-destructive/10 rounded-md px-3 py-2`,children:w}),b&&(0,X.jsxs)(`div`,{className:`border rounded-md max-h-48 overflow-hidden`,children:[(0,X.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,X.jsx)(`div`,{className:`overflow-y-auto max-h-[calc(12rem-30px)]`,children:b.length===0?(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`No tickets match this filter.`}):b.map(e=>(0,X.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,X.jsx)(`span`,{className:`font-mono font-medium shrink-0`,children:e.key}),(0,X.jsx)(`span`,{className:`truncate text-muted-foreground flex-1 min-w-0`,children:e.fields.summary}),(0,X.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,X.jsxs)(`div`,{className:`flex gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex-1`,children:[(0,X.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Interval`}),(0,X.jsxs)(Lm,{value:String(u),onValueChange:e=>d(Number(e)),children:[(0,X.jsx)(zm,{className:`h-9`,children:(0,X.jsx)(Rm,{})}),(0,X.jsx)(Bm,{children:Jm.map(e=>(0,X.jsx)(Vm,{value:String(e.value),children:e.label},e.value))})]})]}),(0,X.jsxs)(`div`,{className:`flex-1`,children:[(0,X.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Mode`}),(0,X.jsxs)(Lm,{value:f,onValueChange:e=>p(e),children:[(0,X.jsx)(zm,{className:`h-9`,children:(0,X.jsx)(Rm,{})}),(0,X.jsxs)(Bm,{children:[(0,X.jsx)(Vm,{value:`debug`,children:`Debug + Notify`}),(0,X.jsx)(Vm,{value:`notify`,children:`Notify only`})]})]})]})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Prompt template (optional)`}),(0,X.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,X.jsx)(G,{type:`submit`,size:`sm`,disabled:g||!o||!c,className:`min-h-[44px] w-full`,children:g?(0,X.jsx)(F,{className:`size-4 animate-spin`}):E?`Save Changes`:`Create Watcher`})]})}function Xm({configId:e}){let{watchers:t,deleteWatcher:n,toggleWatcher:r,pullWatcher:i}=Mm(),[a,o]=(0,Y.useState)(!1),[s,c]=(0,Y.useState)(null),[l,u]=(0,Y.useState)(null),d=async e=>{u(e);try{let t=await i(e);R.success(`Pulled ${t.newIssues} new issue${t.newIssues===1?``:`s`}`)}catch(e){R.error(e.message??`Pull failed`)}u(null)};return(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(`h4`,{className:`text-sm font-medium`,children:`Watchers`}),(0,X.jsxs)(Ei,{open:a,onOpenChange:o,children:[(0,X.jsx)(Ti,{asChild:!0,children:(0,X.jsxs)(G,{size:`sm`,variant:`outline`,className:`min-h-[44px]`,children:[(0,X.jsx)(vn,{className:`size-4 mr-1`}),` Add`]})}),(0,X.jsxs)(K,{className:`max-w-md overflow-hidden`,children:[(0,X.jsx)(Ci,{children:(0,X.jsx)(q,{children:`New Watcher`})}),(0,X.jsx)(Ym,{configId:e,onDone:()=>o(!1)})]})]})]}),t.length===0&&(0,X.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`No watchers yet.`}),t.map(e=>(0,X.jsxs)(`div`,{className:`flex items-center gap-2 p-2 rounded-md border text-sm`,children:[(0,X.jsx)(Im,{checked:e.enabled,onCheckedChange:t=>r(e.id,t),className:`shrink-0`}),(0,X.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,X.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),(0,X.jsx)(`div`,{className:`text-xs text-muted-foreground truncate font-mono`,children:e.jql})]}),(0,X.jsxs)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:[e.mode===`notify`?`notify`:`debug`,` · `,Zm(e.intervalMs)]}),(0,X.jsx)(G,{size:`icon`,variant:`ghost`,className:`size-8`,onClick:()=>c(e),children:(0,X.jsx)(ge,{className:`size-3.5`})}),(0,X.jsx)(G,{size:`icon`,variant:`ghost`,className:`size-8`,onClick:()=>d(e.id),disabled:l===e.id,children:l===e.id?(0,X.jsx)(F,{className:`size-3.5 animate-spin`}):(0,X.jsx)(ke,{className:`size-3.5`})}),(0,X.jsx)(G,{size:`icon`,variant:`ghost`,className:`size-8 text-destructive`,onClick:()=>n(e.id),children:(0,X.jsx)(Nn,{className:`size-3.5`})})]},e.id)),(0,X.jsx)(Ei,{open:!!s,onOpenChange:e=>{e||c(null)},children:(0,X.jsxs)(K,{className:`max-w-md overflow-hidden`,children:[(0,X.jsx)(Ci,{children:(0,X.jsx)(q,{children:`Edit Watcher`})}),s&&(0,X.jsx)(Ym,{configId:e,existing:s,onDone:()=>c(null)})]})})]})}function Zm(e){return e>=36e5?`${e/36e5}h`:e>=6e4?`${e/6e4}m`:`${e/1e3}s`}function Qm({projectId:e,existing:t}){let{saveConfig:n,deleteConfig:r,testConnection:i}=Mm(),[a,o]=(0,Y.useState)(t?.baseUrl??``),[s,c]=(0,Y.useState)(t?.email??``),[l,u]=(0,Y.useState)(``);(0,Y.useEffect)(()=>{t&&(o(t.baseUrl),c(t.email))},[t?.baseUrl,t?.email]);let[d,f]=(0,Y.useState)(!1),[p,m]=(0,Y.useState)(!1),[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)(null);return(0,X.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,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Base URL`}),(0,X.jsx)(Ii,{value:a,onChange:e=>o(e.target.value),placeholder:`https://mysite.atlassian.net`,className:`h-9`})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Email`}),(0,X.jsx)(Ii,{value:s,onChange:e=>c(e.target.value),placeholder:`you@company.com`,className:`h-9`})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`label`,{className:`text-xs text-muted-foreground`,children:[`API Token `,t?.hasToken&&(0,X.jsx)(`span`,{className:`text-success`,children:`(saved)`})]}),(0,X.jsx)(Ii,{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,X.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,X.jsx)(G,{type:`submit`,size:`sm`,disabled:d,className:`min-w-[44px] min-h-[44px]`,children:d?(0,X.jsx)(F,{className:`size-4 animate-spin`}):`Save`}),t&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(G,{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,X.jsx)(F,{className:`size-4 animate-spin`}):`Test Connection`}),(0,X.jsx)(G,{type:`button`,size:`sm`,variant:`destructive`,onClick:()=>r(e),className:`min-h-[44px]`,children:(0,X.jsx)(Nn,{className:`size-4`})})]}),h===`ok`&&(0,X.jsx)(ut,{className:`size-4 text-success`}),h===`fail`&&(0,X.jsx)(ln,{className:`size-4 text-error`})]}),_&&(0,X.jsx)(`p`,{className:`text-xs text-error break-all`,children:_})]})}function $m({result:e,onClose:t}){let{watchers:n,startDebug:r}=Mm(),[i,a]=(0,Y.useState)(``);return(0,Y.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,X.jsx)(Ei,{open:!!e,onOpenChange:e=>{e||t()},children:(0,X.jsxs)(K,{className:`max-w-md`,children:[(0,X.jsx)(Ci,{children:(0,X.jsxs)(q,{children:[`Start Debug: `,e?.issueKey]})}),(0,X.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e?.issueSummary}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Debug Prompt`}),(0,X.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,X.jsx)(G,{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 eh(){let e=U(e=>e.activeProject),t=W(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}=Mm(),[g,_]=(0,Y.useState)(`tickets`),[v,y]=(0,Y.useState)(!1),[b,x]=(0,Y.useState)(null),S=l.find(t=>t.name===e?.name),C=n.find(e=>e.projectId===S?.id);(0,Y.useEffect)(()=>{a(),c()},[]),(0,Y.useEffect)(()=>{C&&o(C.id)},[C?.id]);let w=(0,Y.useCallback)(async()=>{y(!0);try{await s()}catch{}y(!1)},[s]);(0,Y.useEffect)(()=>{w(),h()},[C?.id]),(0,Y.useEffect)(()=>{let n=n=>{let r=n.detail;r&&(w(),r.status===`done`?(h(),R.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`&&R.error(`Debug failed: ${r.issueKey}`))};return window.addEventListener(`jira:status_change`,n),()=>window.removeEventListener(`jira:status_change`,n)},[w,h]);let T=(0,Y.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,X.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,X.jsxs)(nd,{icon:Fn,title:`Jira`,children:[m>0&&(0,X.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,X.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,X.jsx)(F,{className:`size-3.5 animate-spin`}):(0,X.jsx)(rt,{className:`size-3.5`})}),(0,X.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,X.jsx)(pn,{className:`size-3.5`})}),(0,X.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,X.jsx)(wn,{className:`size-3.5`})})]}),(0,X.jsx)(Li,{className:`flex-1 min-h-0`,children:(0,X.jsx)(`div`,{className:`p-1.5 space-y-1.5`,children:C?i.length===0&&r.length===0?(0,X.jsx)(th,{message:`No watchers yet`,action:`Add Watcher`,onAction:()=>_(`watchers`)}):i.length===0?(0,X.jsx)(th,{message:`No tickets yet. Watchers will pick up new issues.`}):i.map(e=>(0,X.jsx)(Fm,{result:e,onDebug:x,onResume:e=>d(e.id),onCancel:e=>f(e.id),onOpenSession:T,onDelete:u,onClick:E},e.id)):(0,X.jsx)(th,{message:`No Jira credentials configured`,action:`Set up Jira`,onAction:()=>_(`credentials`)})})}),(0,X.jsx)($m,{result:b,onClose:()=>x(null)})]}):(0,X.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,X.jsxs)(`div`,{className:`shrink-0 px-2 py-2 flex items-center gap-1.5 border-b border-border/50`,children:[(0,X.jsx)(G,{size:`icon`,variant:`ghost`,className:`size-7`,onClick:()=>_(`tickets`),children:(0,X.jsx)(nn,{className:`size-4`})}),(0,X.jsx)(`h2`,{className:`text-sm font-semibold truncate`,children:g===`watchers`?`Watchers`:`Jira Credentials`})]}),(0,X.jsx)(Li,{className:`flex-1 min-h-0`,children:(0,X.jsx)(`div`,{className:`p-3`,children:g===`watchers`?C?(0,X.jsx)(Xm,{configId:C.id}):(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`Configure Jira credentials first.`}):S?(0,X.jsx)(Qm,{projectId:S.id,existing:C?{baseUrl:C.baseUrl,email:C.email,hasToken:C.hasToken}:null}):(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`Project not found in database.`})})})]}):(0,X.jsx)(`div`,{className:`flex items-center justify-center h-32 p-4`,children:(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground text-center`,children:`Select a project to use Jira`})})}function th({message:e,action:t,onAction:n}){return(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-12 gap-3`,children:[(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground text-center`,children:e}),t&&n&&(0,X.jsxs)(G,{size:`sm`,variant:`outline`,className:`min-h-[44px]`,onClick:n,children:[(0,X.jsx)(vn,{className:`size-4 mr-1.5`}),` `,t]})]})}var nh=`/api/ai-resources`;function rh(e){return L.get(`${nh}?project=${encodeURIComponent(e)}`)}function ih(e,t){return L.get(`${nh}/content?project=${encodeURIComponent(t)}&path=${encodeURIComponent(e)}`)}function ah(e,t,n){return L.put(`${nh}/content`,{path:e,content:t,project:n})}function oh(e,t,n,r){return L.post(nh,{type:e,scope:t,name:n,project:r})}function sh(e,t,n,r,i){return L.post(`${nh}/duplicate`,{path:e,type:t,scope:n,name:r,project:i})}function ch(e,t,n){return L.del(nh,{path:e,type:t,project:n})}var lh=Kn((e,t)=>({project:null,loading:!1,error:null,result:null,load:async n=>{e({project:n,loading:!0,error:null});try{let r=await rh(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 uh(){return L.get(`/api/settings/mcp`)}function dh(e,t){return L.post(`/api/settings/mcp`,{name:e,config:t})}function fh(e,t){return L.put(`/api/settings/mcp/${encodeURIComponent(e)}`,t)}function ph(e){return L.del(`/api/settings/mcp/${encodeURIComponent(e)}`)}function mh(){return L.post(`/api/settings/mcp/import`,{})}function hh(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 gh(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 _h=[`stdio`,`http`,`sse`];function vh({open:e,onClose:t,editServer:n}){let r=!!n,[i,a]=(0,Y.useState)(``),[o,s]=(0,Y.useState)(`stdio`),[c,l]=(0,Y.useState)(``),[u,d]=(0,Y.useState)(``),[f,p]=(0,Y.useState)(``),[m,h]=(0,Y.useState)([]),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(null);(0,Y.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(yh(e.env))):`url`in e&&(p(e.url||``),h(yh(e.headers)))}else a(``),s(`stdio`),l(``),d(``),p(``),h([])},[e,n]);let b=()=>{let e=bh(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=hh(i);if(e){y(e);return}}let e=b(),n=gh(e);if(n.length){y(n.join(`; `));return}_(!0);try{r?await fh(i,e):await dh(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,X.jsx)(Ei,{open:e,onOpenChange:e=>{e||t()},children:(0,X.jsxs)(K,{className:`max-h-[85vh] overflow-y-auto sm:max-w-md`,children:[(0,X.jsxs)(Ci,{children:[(0,X.jsx)(q,{className:`text-sm`,children:r?`Edit MCP Server`:`Add MCP Server`}),(0,X.jsx)(J,{className:`text-[11px]`,children:`Configure a Model Context Protocol server connection.`})]}),(0,X.jsxs)(`div`,{className:`space-y-3`,children:[(0,X.jsxs)(`div`,{className:`space-y-1`,children:[(0,X.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Name`}),(0,X.jsx)(Ii,{value:i,onChange:e=>a(e.target.value),placeholder:`my-mcp-server`,className:`h-8 text-xs`,disabled:r})]}),(0,X.jsxs)(`div`,{className:`space-y-1`,children:[(0,X.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Transport`}),(0,X.jsx)(`div`,{className:`flex gap-1`,children:_h.map(e=>(0,X.jsx)(G,{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,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`space-y-1`,children:[(0,X.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Command *`}),(0,X.jsx)(Ii,{value:c,onChange:e=>l(e.target.value),placeholder:`npx`,className:`h-8 text-xs`})]}),(0,X.jsxs)(`div`,{className:`space-y-1`,children:[(0,X.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Arguments (space-separated)`}),(0,X.jsx)(Ii,{value:u,onChange:e=>d(e.target.value),placeholder:`@playwright/mcp@latest`,className:`h-8 text-xs`})]})]}):(0,X.jsxs)(`div`,{className:`space-y-1`,children:[(0,X.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`URL *`}),(0,X.jsx)(Ii,{value:f,onChange:e=>p(e.target.value),placeholder:`https://mcp.example.com`,className:`h-8 text-xs`})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:E}),m.map((e,t)=>(0,X.jsxs)(`div`,{className:`flex gap-1 items-center`,children:[(0,X.jsx)(Ii,{value:e.key,onChange:e=>w(t,`key`,e.target.value),placeholder:`KEY`,className:`h-7 text-xs flex-1`}),(0,X.jsx)(Ii,{value:e.value,onChange:e=>w(t,`value`,e.target.value),placeholder:`value`,className:`h-7 text-xs flex-1`}),(0,X.jsx)(G,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 cursor-pointer`,onClick:()=>C(t),children:(0,X.jsx)(_e,{className:`size-3`})})]},t)),(0,X.jsxs)(G,{variant:`outline`,size:`sm`,className:`h-7 text-xs gap-1 cursor-pointer`,onClick:S,children:[(0,X.jsx)(vn,{className:`size-3`}),` Add `,T?`Variable`:`Header`]})]}),v&&(0,X.jsx)(`p`,{className:`text-[11px] text-destructive`,children:v})]}),(0,X.jsxs)(wi,{children:[(0,X.jsx)(G,{variant:`outline`,size:`sm`,className:`h-8 text-xs cursor-pointer`,onClick:()=>t(),children:`Cancel`}),(0,X.jsx)(G,{size:`sm`,className:`h-8 text-xs cursor-pointer`,onClick:x,disabled:g,children:g?`Saving...`:`Save`})]})]})})}function yh(e){return e?Object.entries(e).map(([e,t])=>({key:e,value:t})):[]}function bh(e){let t={};for(let{key:n,value:r}of e)n.trim()&&(t[n.trim()]=r);return t}var xh={skill:Zi,agent:kn,command:Ut},Sh={skill:`Skills`,agent:`Agents`,command:`Commands`},Ch={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`},wh={project:`Project`,user:`User`,bundled:`Bundled`};function Th({scope:e,className:t}){return(0,X.jsx)(`span`,{className:V(`shrink-0 rounded border px-1 py-px text-[9px] font-medium uppercase leading-none tracking-wide`,Ch[e],t),children:wh[e]})}var Eh=(0,Y.memo)(function({item:e,active:t,onOpen:n,onDuplicate:r,onDelete:i}){let a=xh[e.type];return(0,X.jsxs)(od,{children:[(0,X.jsx)(sd,{asChild:!0,children:(0,X.jsxs)(`button`,{onClick:()=>n(e),className:V(`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,X.jsx)(a,{className:`size-4 shrink-0 text-text-subtle`,strokeWidth:t?2.3:2}),(0,X.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,X.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,X.jsx)(`span`,{className:V(`truncate text-[13px] font-medium`,e.shadowed&&`line-through`),children:e.name}),e.overrides?(0,X.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,X.jsx)(`span`,{className:`shrink-0 text-[9px] text-text-subtle`,children:`shadowed`}):null]}),e.description?(0,X.jsx)(`span`,{className:`block truncate text-[11px] text-text-subtle`,children:e.description}):null]}),(0,X.jsx)(Th,{scope:e.scope})]})}),(0,X.jsxs)(cd,{className:`w-48`,children:[(0,X.jsx)($,{onClick:()=>n(e),children:e.readOnly?`Open (read-only)`:`Open / Edit`}),(0,X.jsx)($,{onClick:()=>r(e),children:`Duplicate…`}),!e.readOnly&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(ld,{}),(0,X.jsx)($,{variant:`destructive`,onClick:()=>i(e),children:`Delete`})]})]})]})});function Dh({open:e,onOpenChange:t,mode:n,source:r,initialType:i,project:a,hasProject:o,onSuccess:s}){let[c,l]=(0,Y.useState)(`skill`),[u,d]=(0,Y.useState)(o?`project`:`user`),[f,p]=(0,Y.useState)(``),[m,h]=(0,Y.useState)(!1);(0,Y.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 sh(r.filePath,c,u,f,a):await oh(c,u,f,a);R.success(n===`duplicate`?`Resource duplicated`:`Resource created`),t(!1),s(e.filePath)}catch(e){R.error(e.message),h(!1)}}}return(0,X.jsx)(Ei,{open:e,onOpenChange:t,children:(0,X.jsxs)(K,{className:`sm:max-w-md`,children:[(0,X.jsxs)(Ci,{children:[(0,X.jsx)(q,{children:n===`duplicate`?`Duplicate resource`:`New resource`}),(0,X.jsx)(J,{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,X.jsxs)(`div`,{className:`space-y-3 py-1`,children:[(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(Sp,{children:`Type`}),(0,X.jsxs)(Lm,{value:c,onValueChange:e=>l(e),disabled:n===`duplicate`,children:[(0,X.jsx)(zm,{children:(0,X.jsx)(Rm,{})}),(0,X.jsxs)(Bm,{children:[(0,X.jsx)(Vm,{value:`skill`,children:`Skill`}),(0,X.jsx)(Vm,{value:`agent`,children:`Agent`}),(0,X.jsx)(Vm,{value:`command`,children:`Command`})]})]})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(Sp,{children:`Scope`}),(0,X.jsxs)(Lm,{value:u,onValueChange:e=>d(e),children:[(0,X.jsx)(zm,{children:(0,X.jsx)(Rm,{})}),(0,X.jsxs)(Bm,{children:[(0,X.jsxs)(Vm,{value:`project`,disabled:!o,children:[`Project`,o?``:` (no project selected)`]}),(0,X.jsx)(Vm,{value:`user`,children:`User (~/.claude)`})]})]})]}),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(Sp,{children:`Name`}),(0,X.jsx)(Ii,{value:f,autoFocus:!0,placeholder:`my-resource`,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_()}}),f&&!g&&(0,X.jsx)(`p`,{className:`text-[11px] text-destructive`,children:`Use letters, numbers, dots, dashes, underscores (no spaces or slashes).`})]})]}),(0,X.jsxs)(wi,{children:[(0,X.jsx)(G,{variant:`ghost`,onClick:()=>t(!1),disabled:m,children:`Cancel`}),(0,X.jsx)(G,{onClick:_,disabled:!g||m,children:m?`Working…`:n===`duplicate`?`Duplicate`:`Create`})]})]})})}function Oh({open:e,kind:t,name:n,folderWarning:r,onCancel:i,onConfirm:a}){return(0,X.jsx)(Ei,{open:e,onOpenChange:e=>{e||i()},children:(0,X.jsxs)(K,{className:`sm:max-w-md`,children:[(0,X.jsxs)(Ci,{children:[(0,X.jsxs)(q,{children:[`Delete `,t,`?`]}),(0,X.jsxs)(J,{children:[`This permanently deletes `,(0,X.jsx)(`span`,{className:`font-medium text-foreground`,children:n}),r?` and its entire skill folder`:``,`. This cannot be undone.`]})]}),(0,X.jsxs)(wi,{children:[(0,X.jsx)(G,{variant:`ghost`,onClick:i,children:`Cancel`}),(0,X.jsx)(G,{variant:`destructive`,onClick:a,children:`Delete`})]})]})})}function kh(e,t){let n=W.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 Ah(){let[e,t]=(0,Y.useState)([]),[n,r]=(0,Y.useState)(!0),i=(0,Y.useCallback)(async()=>{try{t(await uh())}catch{}finally{r(!1)}},[]);return(0,Y.useEffect)(()=>{i()},[i]),{servers:e,loading:n,reload:i,remove:(0,Y.useCallback)(async e=>{await ph(e),await i()},[i])}}function jh({servers:e,showActions:t,importing:n,onAdd:r,onImport:i,onEdit:a,onDelete:o}){return e.length===0&&!t?null:(0,X.jsxs)(`div`,{className:`pb-1`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-text-subtle`,children:[(0,X.jsx)(`span`,{children:`MCP Servers`}),(0,X.jsx)(`span`,{className:`text-text-subtle/60`,children:e.length})]}),e.map(e=>(0,X.jsxs)(od,{children:[(0,X.jsx)(sd,{asChild:!0,children:(0,X.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,X.jsx)(Re,{className:`size-4 shrink-0 text-text-subtle`}),(0,X.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,X.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),(0,X.jsx)(`span`,{className:`block truncate text-[11px] text-text-subtle`,children:Mh(e)})]}),(0,X.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,X.jsxs)(cd,{className:`w-40`,children:[(0,X.jsx)($,{onClick:()=>a(e),children:`Edit…`}),(0,X.jsx)(ld,{}),(0,X.jsx)($,{variant:`destructive`,onClick:()=>o(e),children:`Delete`})]})]},e.name)),e.length===0&&t&&(0,X.jsx)(`p`,{className:`px-2 py-2 text-[11px] text-text-subtle`,children:`No MCP servers configured.`}),t&&(0,X.jsxs)(`div`,{className:`flex flex-col gap-1 px-2 pt-1.5`,children:[(0,X.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,X.jsx)(vn,{className:`size-3.5`}),` Add MCP server`]}),(0,X.jsxs)(`button`,{onClick:i,disabled:n,className:V(`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,X.jsx)(Tn,{className:`size-3.5`}),` `,n?`Importing…`:`Import from Claude Code`]})]})]})}function Mh(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 Nh({onCreate:e,onAddMcp:t,onImportMcp:n}){return(0,X.jsxs)($l,{children:[(0,X.jsx)(tu,{asChild:!0,children:(0,X.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,X.jsx)(vn,{className:`size-3`}),` New`]})}),(0,X.jsxs)(nu,{align:`end`,className:`w-44`,children:[(0,X.jsxs)(ru,{onClick:()=>e(`skill`),children:[(0,X.jsx)(Zi,{className:`size-3.5`}),` New Skill`]}),(0,X.jsxs)(ru,{onClick:()=>e(`agent`),children:[(0,X.jsx)(kn,{className:`size-3.5`}),` New Agent`]}),(0,X.jsxs)(ru,{onClick:()=>e(`command`),children:[(0,X.jsx)(Ut,{className:`size-3.5`}),` New Command`]}),(0,X.jsx)(cu,{}),(0,X.jsxs)(ru,{onClick:t,children:[(0,X.jsx)(Re,{className:`size-3.5`}),` New MCP Server`]}),(0,X.jsxs)(ru,{onClick:n,children:[(0,X.jsx)(Tn,{className:`size-3.5`}),` Import MCP…`]})]})]})}var Ph=[{id:`all`,label:`All`},{id:`skill`,label:`Skills`},{id:`agent`,label:`Agents`},{id:`command`,label:`Commands`},{id:`mcp`,label:`MCP`}];function Fh(){let e=U(ju(e=>e.activeProject)),t=e?.path??``,{result:n,loading:r,error:i,load:a,reload:o}=lh(ju(e=>({result:e.result,loading:e.loading,error:e.error,load:e.load,reload:e.reload}))),{tabs:s,activeTabId:c}=W(ju(e=>({tabs:e.tabs,activeTabId:e.activeTabId}))),{servers:l,reload:u,remove:d}=Ah(),[f,p]=(0,Y.useState)(``),[m,h]=(0,Y.useState)(`all`),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(`skill`),[b,x]=(0,Y.useState)(null),[S,C]=(0,Y.useState)(null),[w,T]=(0,Y.useState)(!1),[E,D]=(0,Y.useState)(null),[O,k]=(0,Y.useState)(null),[A,j]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{a(t)},[t,a]);let ee=(0,Y.useMemo)(()=>s.find(e=>e.id===c&&e.type===`ai-resource`)?.metadata?.filePath??null,[s,c]),te=m!==`mcp`,M=m===`all`||m===`mcp`,N=(0,Y.useMemo)(()=>{if(!n||!te)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,te]),ne=(0,Y.useMemo)(()=>{if(!M)return[];let e=f.trim().toLowerCase();return e?l.filter(t=>t.name.toLowerCase().includes(e)||Mh(t).toLowerCase().includes(e)):l},[l,f,M]),re=e=>kh(e,t),ie=async e=>{await o();let n=lh.getState().result?.groups.flatMap(e=>e.items).find(t=>t.filePath===e);n&&kh(n,t)},ae=async()=>{if(S)try{await ch(S.filePath,S.type,t),R.success(`Deleted ${S.name}`),C(null),await o()}catch(e){R.error(e.message)}},oe=e=>{x(null),y(e),_(!0)},se=()=>{D(null),T(!0)},P=e=>{T(!1),D(null),e&&u()},ce=async()=>{if(O)try{await d(O.name),R.success(`Deleted ${O.name}`),k(null)}catch(e){R.error(e.message)}},le=async()=>{j(!0);try{let e=await mh();R.success(`Imported ${e.imported}, skipped ${e.skipped}`),await u()}catch(e){R.error(e.message)}finally{j(!1)}},ue=n?.stats,de=N.length===0&&(!M||ne.length===0)&&m!==`mcp`;return(0,X.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,X.jsxs)(nd,{icon:gn,title:`AI Resources`,children:[(0,X.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,X.jsx)(rt,{className:V(`size-3.5`,r&&`animate-spin`)})}),(0,X.jsx)(Nh,{onCreate:oe,onAddMcp:se,onImportMcp:le})]}),(0,X.jsx)(`div`,{className:`px-2 pt-2 shrink-0`,children:(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.jsx)(Yt,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-text-subtle`}),(0,X.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,X.jsx)(`div`,{className:`flex gap-1 px-2 py-2 shrink-0`,children:Ph.map(e=>(0,X.jsx)(`button`,{onClick:()=>h(e.id),className:V(`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,X.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:i?(0,X.jsx)(`div`,{className:`p-4 text-center text-xs text-destructive`,children:i}):r&&!n?(0,X.jsx)(`div`,{className:`space-y-1 p-2`,children:Array.from({length:6}).map((e,t)=>(0,X.jsx)(`div`,{className:`h-9 animate-pulse rounded bg-surface-elevated`},t))}):de?(0,X.jsx)(Ih,{hasProject:!!e,search:f}):(0,X.jsxs)(X.Fragment,{children:[N.map(e=>(0,X.jsxs)(`div`,{className:`pb-1`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-text-subtle`,children:[(0,X.jsx)(`span`,{children:Sh[e.type]}),(0,X.jsx)(`span`,{className:`text-text-subtle/60`,children:e.items.length})]}),e.items.map(e=>(0,X.jsx)(Eh,{item:e,active:ee===e.filePath,onOpen:re,onDuplicate:e=>x(e),onDelete:e=>C(e)},`${e.source}:${e.filePath}`))]},e.type)),M&&(0,X.jsx)(jh,{servers:ne,showActions:m===`mcp`,importing:A,onAdd:se,onImport:le,onEdit:e=>{D(e),T(!0)},onDelete:e=>k(e)})]})}),ue&&(0,X.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,X.jsxs)(`span`,{children:[ue.active,` active`]}),(0,X.jsx)(`span`,{children:`·`}),(0,X.jsxs)(`span`,{children:[ue.project,` project`]}),(0,X.jsx)(`span`,{children:`·`}),(0,X.jsxs)(`span`,{children:[ue.shadowed,` shadowed`]})]}),(0,X.jsx)(Dh,{open:g||!!b,onOpenChange:e=>{e||(_(!1),x(null))},mode:b?`duplicate`:`create`,source:b,initialType:v,project:t,hasProject:!!e,onSuccess:ie}),(0,X.jsx)(Oh,{open:!!S,kind:S?.type??``,name:S?.name??``,folderWarning:S?.type===`skill`,onCancel:()=>C(null),onConfirm:ae}),(0,X.jsx)(vh,{open:w,onClose:P,editServer:E}),(0,X.jsx)(Oh,{open:!!O,kind:`MCP server`,name:O?.name??``,onCancel:()=>k(null),onConfirm:ce})]})}function Ih({hasProject:e,search:t}){return t?(0,X.jsxs)(`div`,{className:`p-6 text-center text-xs text-text-subtle`,children:[`No resources match “`,t,`”.`]}):(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-2 p-6 text-center`,children:[(0,X.jsx)(we,{className:`size-6 text-text-subtle`}),(0,X.jsx)(`p`,{className:`text-xs font-medium`,children:e?`No resources yet`:`No project selected`}),(0,X.jsx)(`p`,{className:`text-[11px] text-text-subtle`,children:e?`Create one with the New button above.`:`Project resources appear here once a project is open. User & bundled resources are still shown.`})]})}var Lh={list:(e=!1)=>L.get(`/api/tunnels${e?`?force=1`:``}`),start:e=>L.post(`/api/tunnels`,{port:e}),stop:e=>L.del(`/api/tunnels/${e}`)},Rh={status:()=>L.get(`/api/tunnel/named/status`),dismiss:()=>L.post(`/api/tunnel/named/dismiss`),zone:()=>L.get(`/api/tunnel/named/zone`),login:(e=!1)=>L.post(`/api/tunnel/named/login${e?`?relogin=1`:``}`),cancelLogin:()=>L.post(`/api/tunnel/named/login/cancel`),setup:e=>L.post(`/api/tunnel/named/setup`,{hostname:e}),disable:()=>L.post(`/api/tunnel/named/disable`)},zh={askDomain:{title:`Do you have a domain on Cloudflare?`,body:`With your own domain, PPM can keep one fixed address that survives restarts. Without one, everything still works through a temporary link.`,yes:`Yes`,no:`Not yet`},noDomain:{title:`No problem`,body:`PPM will keep using a temporary link (quick tunnel). You can turn this on later from Tunnel Manager.`,close:`Close`},login:{title:`Sign in to Cloudflare`,hint:`Open the link below to sign in — a phone works just as well.`,finishOnPhone:`You can finish this step on your phone if that is easier.`,copy:`Copy`,copied:`Copied`,open:`Open link`,waiting:`Waiting for sign-in…`,slowTitle:`Still signing in?`,slowBody:`Cloudflare sometimes takes a few minutes. The process is still running — keep waiting or cancel.`,keepWaiting:`Keep waiting`,cancel:`Cancel`},timeout:{title:`Sign-in link expired`,body:`The link expires after 5 minutes unused. Press Retry to get a fresh one.`,retry:`Retry`},cancelled:{title:`Sign-in cancelled`,body:`You cancelled the Cloudflare sign-in.`,retry:`Retry`},confirmZone:{title:`Confirm your zone`,body:e=>`This machine will get a fixed address under ${e}. Continue?`,confirm:`Continue`,startOver:`Start over`},needsRelogin:{title:`Cloudflare sign-in needed`,certInvalid:`Your Cloudflare sign-in is no longer valid.`,certMismatch:`This certificate belongs to a different Cloudflare account — sign in again.`,action:`Sign in again`},hostname:{title:`Choose the address`,prefixLabel:`Prefix`,suffixHint:`The suffix is fixed by the account you just signed in with.`,submit:`Confirm`},applying:{title:`Setting up…`},done:{title:`All set`,body:e=>`Fixed address: https://${e}`,close:`Close`},pending:{title:`Saved — waiting to apply`,restartHint:"Run `ppm restart` to apply it now.",close:`Close`},error:{title:`Something went wrong`,retry:`Retry`,relogin:`Sign in again`,close:`Close`},section:{title:`Named Tunnel`,modeQuick:`quick`,modeNamed:`named`,hostnameLabel:`Address`,tokenLabel:`Token`,setup:`Set up named tunnel`,retry:`Retry`,relogin:`Sign in again`,disable:`Switch back to quick tunnel`,disableConfirm:`Press again to confirm`,disableSelfCut:`You are viewing PPM through this very domain — turning it off cuts this page immediately and you would never see the temporary link. Open PPM on your local network first, then turn it off.`,certInvalid:`Cloudflare sign-in needed`,certMismatch:`Certificate belongs to a different Cloudflare account — sign in again`,authDisabled:`Enable PPM authentication to use your own domain`,configuredAs:e=>`configured: ${e}`}},Bh=/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/,Vh=253;function Hh(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>Vh)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(!Bh.test(e))return{ok:!1,reason:`invalid DNS label: "${e}"`};return{ok:!0}}function Wh(e){return e.authEnabled??!0?e.certState===`invalid`||e.certState===`mismatch`?{k:`needs-relogin`,message:e.certState===`mismatch`?zh.needsRelogin.certMismatch:zh.needsRelogin.certInvalid}:e.mode!==`quick`||e.dismissed?{k:`hidden`}:qh(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`]),Kh=new Set([`login-wait`,`needs-relogin`]);function qh(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??zh.error.title};case`success`:return{k:`login-wait`,url:t,slow:!1};default:return{k:`ask-domain`}}}function Jh(e,t){switch(t.type){case`status`:return Gh.has(e.k)?Wh(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 qh(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 Kh.has(e.k)?{k:`confirm-zone`,zone:t.zone}:e;case`zone-error`:return Kh.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:zh.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 Yh=null;function Xh(){return Yh}var Zh=[`tunnel:login_url`,`tunnel:login_state`,`tunnel:setup_step`,`tunnel:setup_done`,`tunnel:setup_pending`,`tunnel:setup_error`];function Qh(e){return e instanceof Error?e.message:zh.error.title}function $h(){let[e,t]=(0,Y.useState)({k:`hidden`}),[n,r]=(0,Y.useState)(null),i=(0,Y.useRef)(!1),a=(0,Y.useRef)(e);a.current=e;let o=(0,Y.useCallback)(e=>{t(t=>Jh(t,e))},[]),s=(0,Y.useCallback)(()=>{i.current||(i.current=!0,Rh.zone().then(e=>o({type:`zone-loaded`,zone:e.zone})).catch(e=>o({type:`zone-error`,message:Qh(e)})).finally(()=>{i.current=!1}))},[o]),c=(0,Y.useCallback)(()=>{Kh.has(a.current.k)&&s()},[s]),l=(0,Y.useCallback)(async()=>{try{let e=await Rh.status();r(e),e.mode===`named`&&e.hostname&&(Yh=e.hostname),o({type:`status`,status:e}),e.mode===`quick`&&e.login.state===`success`&&c()}catch{}},[o,c]);(0,Y.useEffect)(()=>{l()},[l]),(0,Y.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`:Yh=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 Zh.forEach(t=>window.addEventListener(t,e)),()=>Zh.forEach(t=>window.removeEventListener(t,e))},[o,c,l]);let u=(0,Y.useCallback)(e=>{o({type:`answer-yes`}),Rh.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:Qh(e)}))},[o,c,l]),d=(0,Y.useCallback)(()=>u(!1),[u]),f=(0,Y.useCallback)(()=>u(!1),[u]),p=(0,Y.useCallback)(()=>u(!0),[u]),m=(0,Y.useCallback)(()=>{o({type:`answer-no`}),Rh.dismiss().catch(()=>{})},[o]),h=(0,Y.useCallback)(()=>{o({type:`cancel`}),Rh.cancelLogin().catch(()=>{})},[o]),g=(0,Y.useCallback)(()=>o({type:`confirm-zone`}),[o]),_=(0,Y.useCallback)(()=>o({type:`start-over`}),[o]),v=(0,Y.useCallback)(()=>o({type:`close`}),[o]);return{step:e,status:n,answerYes:d,answerNo:m,cancelLogin:h,retryLogin:f,confirmZone:g,startOver:_,setHostnamePrefix:(0,Y.useCallback)(e=>{let t=a.current;if(t.k!==`choose-hostname`)return;let n=Uh(Hh(e,t.zone),t.zone);o({type:`hostname-prefix`,prefix:e,error:n.ok?void 0:n.reason})},[o]),submitHostname:(0,Y.useCallback)(()=>{let e=a.current;if(e.k!==`choose-hostname`)return;let t=Hh(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`}),Rh.setup(t).then(e=>{Yh=e.hostname,e.pending?o({type:`setup-pending`,hostname:e.hostname,message:e.message??zh.pending.title}):o({type:`setup-done`,hostname:e.hostname}),l()}).catch(e=>o({type:`setup-error`,message:Qh(e)}))},[o,l]),requestRelogin:p,close:v,refreshStatus:l}}function eg({url:e,slow:t,onCancel:n}){let[r,i]=(0,Y.useState)(!1),[a,o]=(0,Y.useState)(!1),s=zh.login,c=t&&!a;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:s.title}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:s.hint})]}),e?(0,X.jsxs)(`div`,{className:`flex items-stretch gap-2`,children:[(0,X.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,X.jsx)(`button`,{type:`button`,onClick:async()=>{await vl(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,X.jsx)(jn,{className:`size-4 text-success`}):(0,X.jsx)(dn,{className:`size-4`})}),(0,X.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,X.jsx)(Mt,{className:`size-4`})})]}):(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-text-secondary`,children:[(0,X.jsx)(F,{className:`size-4 animate-spin`}),s.waiting]}),(0,X.jsx)(`p`,{className:`text-xs text-text-subtle`,children:s.finishOnPhone}),c&&(0,X.jsxs)(`div`,{className:`rounded-lg border border-warning/30 bg-warning/10 p-3 space-y-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,X.jsx)(bn,{className:`size-4 text-warning shrink-0 mt-0.5`}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:s.slowTitle}),(0,X.jsx)(`p`,{className:`text-xs text-text-secondary leading-relaxed mt-0.5`,children:s.slowBody})]})]}),(0,X.jsxs)(`div`,{className:`flex gap-2 pt-1`,children:[(0,X.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,X.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,X.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 tg({zone:e,prefix:t,error:n,onChange:r}){let i=(0,Y.useRef)(null);return(0,Y.useEffect)(()=>{i.current?.focus()},[]),(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(`label`,{htmlFor:`named-tunnel-prefix`,className:`block text-sm font-medium text-foreground`,children:zh.hostname.prefixLabel}),(0,X.jsxs)(`div`,{className:`flex items-stretch rounded-lg border border-border bg-background focus-within:border-primary/50 transition-colors overflow-hidden`,children:[(0,X.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,X.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,X.jsx)(`p`,{className:`text-xs text-text-subtle`,children:zh.hostname.suffixHint}),n&&(0,X.jsx)(`p`,{className:`text-xs text-destructive`,children:n})]})}var ng=`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`,rg=`w-full min-h-11 py-3 rounded-lg border border-border text-sm text-text-secondary hover:bg-surface-elevated transition-colors`;function ig({step:e,t}){switch(e.k){case`hidden`:return null;case`ask-domain`:{let e=zh.askDomain;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,X.jsxs)(`div`,{className:`flex gap-2`,children:[(0,X.jsx)(`button`,{type:`button`,onClick:t.answerNo,className:rg,children:e.no}),(0,X.jsx)(`button`,{type:`button`,onClick:t.answerYes,className:ng,children:e.yes})]})]})}case`no-domain`:{let e=zh.noDomain;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,X.jsx)(`button`,{type:`button`,onClick:t.close,className:ng,children:e.close})]})}case`login-wait`:return(0,X.jsx)(eg,{url:e.url,slow:e.slow,onCancel:t.cancelLogin});case`login-timeout`:{let e=zh.timeout;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,X.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:ng,children:e.retry})]})}case`login-cancelled`:{let e=zh.cancelled;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:e.title}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.body})]}),(0,X.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:ng,children:e.retry})]})}case`confirm-zone`:{let n=zh.confirmZone;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:n.body(e.zone)})]}),(0,X.jsxs)(`div`,{className:`flex gap-2`,children:[(0,X.jsx)(`button`,{type:`button`,onClick:t.startOver,className:rg,children:n.startOver}),(0,X.jsx)(`button`,{type:`button`,onClick:t.confirmZone,className:ng,children:n.confirm})]})]})}case`needs-relogin`:{let n=zh.needsRelogin;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message})]}),(0,X.jsx)(`button`,{type:`button`,onClick:t.requestRelogin,className:ng,children:n.action})]})}case`choose-hostname`:{let n=zh.hostname;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,X.jsx)(tg,{zone:e.zone,prefix:e.prefix,error:e.error,onChange:t.setHostnamePrefix}),(0,X.jsx)(`button`,{type:`button`,onClick:t.submitHostname,disabled:!e.prefix||!!e.error,className:ng,children:n.submit})]})}case`applying`:return(0,X.jsx)(`div`,{className:`space-y-4 py-4`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-foreground`,children:[(0,X.jsx)(F,{className:`size-4 animate-spin text-primary`}),e.message]})});case`done`:{let n=zh.done;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary break-all`,children:n.body(e.hostname)})]}),(0,X.jsx)(`button`,{type:`button`,onClick:t.close,className:ng,children:n.close})]})}case`pending`:{let n=zh.pending;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message}),(0,X.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,X.jsx)(`button`,{type:`button`,onClick:t.close,className:ng,children:n.close})]})}case`error`:{let n=zh.error;return(0,X.jsxs)(`div`,{className:`space-y-4`,children:[(0,X.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,X.jsx)(ln,{className:`size-4 text-destructive shrink-0 mt-0.5`}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h2`,{className:`text-base font-semibold text-foreground`,children:n.title}),(0,X.jsx)(`p`,{className:`mt-1 text-sm text-text-secondary leading-relaxed`,children:e.message})]})]}),(0,X.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,X.jsx)(`button`,{type:`button`,onClick:t.close,className:rg,children:n.close}),(0,X.jsx)(`button`,{type:`button`,onClick:t.retryLogin,className:rg,children:n.retry}),(0,X.jsx)(`button`,{type:`button`,onClick:t.requestRelogin,className:ng,children:n.relogin})]})]})}default:return null}}function ag(){let e=$h(),[t,n]=(0,Y.useState)(!1),[r,i]=(0,Y.useState)(!1),[a,o]=(0,Y.useState)(!1),s=zh.section,c=e.status;if(!c)return null;let l=!!c.hostname&&typeof window<`u`&&window.location.hostname===c.hostname,u=e.step.k!==`hidden`&&e.step.k!==`ask-domain`,d=c.authEnabled??!0,f=c.liveMode??c.mode,p=c.certState===`invalid`||c.certState===`mismatch`;async function m(){if(!t){n(!0),setTimeout(()=>n(!1),4e3);return}n(!1),i(!0);try{await Rh.disable(),R.success(`Switched back to a quick tunnel`),await e.refreshStatus()}catch(e){R.error(e instanceof Error?e.message:`Could not switch back to a quick tunnel`)}finally{i(!1)}}async function h(e){if(!await vl(`https://${e}`)){R.error(`Failed to copy URL`);return}o(!0),setTimeout(()=>o(!1),2e3)}return(0,X.jsxs)(`div`,{className:`p-3 border-b border-border bg-surface space-y-3`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`text-sm font-medium text-text-primary`,children:s.title}),(0,X.jsx)(`span`,{className:`px-1.5 py-0.5 rounded text-[10px] font-medium uppercase tracking-wide ${f===`named`?`bg-success/10 text-success`:`bg-surface-elevated text-text-secondary`}`,children:f===`named`?s.modeNamed:s.modeQuick}),c.mode!==f&&(0,X.jsxs)(`span`,{className:`text-[10px] text-text-subtle`,children:[`(`,s.configuredAs(c.mode),`)`]})]}),c.mode===`named`&&c.hostname&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1 text-xs`,children:[(0,X.jsx)(`a`,{href:`https://${c.hostname}`,target:`_blank`,rel:`noopener noreferrer`,className:`flex-1 min-w-0 truncate text-primary hover:underline`,children:c.hostname}),(0,X.jsx)(`button`,{onClick:()=>h(c.hostname),"aria-label":`Copy URL`,className:`shrink-0 size-11 flex items-center justify-center rounded-md hover:bg-surface-elevated transition-colors`,children:a?(0,X.jsx)(jn,{className:`size-3.5 text-success`}):(0,X.jsx)(dn,{className:`size-3.5 text-text-secondary`})}),(0,X.jsx)(`a`,{href:`https://${c.hostname}`,target:`_blank`,rel:`noopener noreferrer`,className:`shrink-0 size-11 flex items-center justify-center rounded-md hover:bg-surface-elevated transition-colors`,children:(0,X.jsx)(Mt,{className:`size-3.5 text-text-secondary`})})]}),c.tokenMasked&&(0,X.jsxs)(`p`,{className:`text-[10px] font-mono text-text-subtle`,children:[s.tokenLabel,`: `,c.tokenMasked]}),c.tunnelWarning&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-warning/30 bg-warning/10 px-2.5 py-2 text-xs text-foreground`,children:[(0,X.jsx)(bn,{className:`size-3.5 text-warning shrink-0`}),c.tunnelWarning]}),p&&!u&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-warning/30 bg-warning/10 px-2.5 py-2 text-xs text-foreground`,children:[(0,X.jsx)(rn,{className:`size-3.5 text-warning shrink-0`}),c.certState===`mismatch`?s.certMismatch:s.certInvalid]}),u?(0,X.jsx)(ig,{step:e.step,t:e}):d?(0,X.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[c.mode===`quick`&&(0,X.jsx)(`button`,{onClick:e.answerYes,className:`min-h-11 px-3 py-2 rounded-md bg-primary text-primary-foreground text-xs font-medium hover:bg-primary/90 transition-colors`,children:s.setup}),c.mode===`named`&&(0,X.jsx)(`button`,{onClick:m,disabled:r||l,title:l?s.disableSelfCut:void 0,className:`min-h-11 px-3 py-2 rounded-md text-xs transition-colors disabled:opacity-50 ${t?`bg-destructive/15 text-destructive`:`border border-border text-text-secondary hover:bg-surface-elevated`}`,children:t?s.disableConfirm:s.disable})]}):(0,X.jsx)(`p`,{className:`text-xs text-text-secondary`,children:s.authDisabled}),c.mode===`named`&&l&&(0,X.jsx)(`p`,{className:`text-[11px] text-text-secondary leading-relaxed`,children:s.disableSelfCut})]})}var og={app:{label:`app`,cls:`bg-primary/10 text-primary`},ppm:{label:`ppm`,cls:`bg-success/10 text-success`},external:{label:`external`,cls:`bg-surface-elevated text-text-secondary`}};function sg(){let[e,t]=(0,Y.useState)([]),[n,r]=(0,Y.useState)(``),[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(null),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(!1),g=(0,Y.useCallback)(async(e=!1)=>{e&&h(!0);try{t(await Lh.list(e))}catch(e){console.warn(`[tunnels] failed to fetch`,e)}finally{p(!0),e&&h(!1)}},[]);(0,Y.useEffect)(()=>{g();let e=setInterval(()=>g(),1e4);return()=>clearInterval(e)},[g]);let _=async e=>{a(!0),s(null);try{let t=await Lh.start(e);window.open(t.url,`_blank`),r(``),await g()}catch(t){s(t.message||`Failed to start tunnel for port ${e}`)}finally{a(!1)}},v=async e=>{if(e.source===`external`&&u!==e.pid){d(e.pid),setTimeout(()=>d(t=>t===e.pid?null:t),4e3);return}d(null);try{await Lh.stop(e.pid),await g()}catch(t){R.error(t.message||`Failed to stop tunnel (pid ${e.pid})`)}},y=(e,t)=>{vl(t).then(t=>{if(!t){R.error(`Failed to copy URL`);return}l(e),R.success(`URL copied`),setTimeout(()=>l(null),2e3)})};return(0,X.jsxs)(`div`,{className:`flex flex-col h-full w-full bg-background`,children:[(0,X.jsx)(ag,{}),(0,X.jsxs)(`div`,{className:`p-3 border-b border-border bg-surface`,children:[(0,X.jsxs)(`form`,{onSubmit:e=>{e.preventDefault();let t=parseInt(n,10);t>=1&&t<=65535?_(t):s(`Port must be 1-65535`)},className:`flex items-center gap-2`,children:[(0,X.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1.5 px-2.5 py-2 rounded-lg bg-background border border-border focus-within:border-primary/50 transition-colors`,children:[(0,X.jsx)(`span`,{className:`text-xs text-text-subtle shrink-0`,children:`localhost:`}),(0,X.jsx)(`input`,{type:`number`,value:n,onChange:e=>{r(e.target.value),s(null)},placeholder:`3000`,min:1,max:65535,className:`flex-1 min-w-0 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`})]}),(0,X.jsx)(`button`,{type:`submit`,disabled:i||!n,className:`px-3 py-2 rounded-lg bg-primary text-primary-foreground text-sm font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors shrink-0 flex items-center justify-center`,children:i?(0,X.jsx)(F,{className:`size-4 animate-spin`}):`Forward`}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>g(!0),disabled:m,title:`Refresh`,"aria-label":`Refresh tunnels`,className:`shrink-0 p-2 rounded-lg hover:bg-surface-elevated transition-colors disabled:opacity-50`,children:(0,X.jsx)(rt,{className:`size-4 text-text-secondary ${m?`animate-spin`:``}`})})]}),o&&(0,X.jsx)(`p`,{className:`text-xs text-error mt-2`,children:o})]}),(0,X.jsx)(`div`,{className:`flex-1 overflow-y-auto p-3`,children:f?e.length===0?(0,X.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center px-2`,children:[(0,X.jsx)(tt,{className:`size-8 text-text-subtle`}),(0,X.jsx)(`p`,{className:`text-xs text-text-secondary`,children:`No cloudflared tunnels running. Forward a port, or start one elsewhere and it will appear here.`})]}):(0,X.jsx)(`div`,{className:`space-y-2`,children:e.map(e=>(0,X.jsxs)(`div`,{className:`p-2.5 rounded-lg bg-surface border border-border`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsx)(`span`,{className:`shrink-0 font-mono text-sm font-medium text-text-primary`,children:e.port==null?`—`:`:${e.port}`}),(0,X.jsx)(`span`,{className:`shrink-0 px-1.5 py-0.5 rounded text-[10px] font-medium uppercase tracking-wide ${og[e.source].cls}`,children:og[e.source].label}),(0,X.jsx)(`div`,{className:`flex-1`}),e.protected?(0,X.jsx)(`div`,{className:`shrink-0 p-1.5`,title:`App tunnel — managed by PPM, not stoppable here`,children:(0,X.jsx)(Pt,{className:`size-4 text-text-subtle`})}):(0,X.jsx)(`button`,{onClick:()=>v(e),className:`shrink-0 h-8 min-w-8 px-1.5 flex items-center justify-center rounded-md transition-colors ${u===e.pid?`bg-error/15`:`hover:bg-error/10`}`,title:u===e.pid?`Click again to confirm stop`:`Stop tunnel`,children:u===e.pid?(0,X.jsx)(`span`,{className:`text-[10px] font-medium text-error`,children:`Sure?`}):(0,X.jsx)(sn,{className:`size-4 text-error`})})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1 mt-1`,children:[(0,X.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-xs ${e.url?`text-text-secondary`:`text-text-subtle italic`}`,children:e.url??`unknown`}),e.url&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`button`,{onClick:()=>window.open(e.url,`_blank`),className:`shrink-0 p-1.5 rounded-md hover:bg-surface-elevated transition-colors`,title:`Open in browser`,children:(0,X.jsx)(Mt,{className:`size-3.5 text-text-secondary`})}),(0,X.jsx)(`button`,{onClick:()=>y(e.pid,e.url),className:`shrink-0 p-1.5 rounded-md hover:bg-surface-elevated transition-colors`,title:`Copy URL`,children:c===e.pid?(0,X.jsx)(jn,{className:`size-3.5 text-success`}):(0,X.jsx)(dn,{className:`size-3.5 text-text-secondary`})})]})]}),(0,X.jsxs)(`div`,{className:`mt-1 text-[10px] font-mono text-text-subtle`,children:[`pid `,e.pid]})]},e.pid))}):(0,X.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,X.jsx)(F,{className:`size-6 animate-spin text-primary`})})})]})}function cg({projectName:e,onTagsChanged:t}){let[n,r]=(0,Y.useState)([]),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(!0),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(``),[f,p]=(0,Y.useState)(``),[m,h]=(0,Y.useState)(``),[g,_]=(0,Y.useState)(`#22c55e`),[v,y]=(0,Y.useState)(!1),b=`${I(e)}/tags`,x=(0,Y.useCallback)(async()=>{try{let e=await L.get(b);r(e.tags),a(e.defaultTagId)}catch{}s(!1)},[b]);(0,Y.useEffect)(()=>{x()},[x]);let S=async()=>{if(m.trim())try{await L.post(b,{name:m.trim(),color:g}),h(``),y(!1),x(),t?.()}catch{}},C=async e=>{try{await L.patch(`${b}/${e}`,{name:u.trim()||void 0,color:f||void 0}),l(null),x(),t?.()}catch{}},w=async(e,n)=>{if(window.confirm(`Delete tag "${n}"? Sessions with this tag will become untagged.`))try{await L.del(`${b}/${e}`),x(),t?.()}catch{}},T=async e=>{let t=e===i?null:e;try{await L.patch(`${b}/default-tag`,{tagId:t}),a(t)}catch{}};return o?(0,X.jsx)(`p`,{className:`text-[11px] text-muted-foreground animate-pulse`,children:`Loading tags...`}):(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Session Tags`}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(`button`,{onClick:async()=>{try{await L.post(`${b}/reset`,{}),x(),t?.()}catch{}},className:`p-1 rounded text-text-subtle hover:text-text-secondary`,title:`Reset to defaults`,children:(0,X.jsx)(pe,{className:`size-3`})}),(0,X.jsx)(`button`,{onClick:()=>y(!v),className:`p-1 rounded text-primary hover:bg-primary/10`,title:`Add tag`,children:(0,X.jsx)(vn,{className:`size-3.5`})})]})]}),v&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 px-1`,children:[(0,X.jsx)(`input`,{type:`color`,value:g,onChange:e=>_(e.target.value),className:`size-6 rounded cursor-pointer border-0 p-0`}),(0,X.jsx)(`input`,{value:m,onChange:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&S(),e.key===`Escape`&&y(!1)},placeholder:`Tag name`,className:`flex-1 min-w-0 bg-surface-elevated text-[11px] text-text-primary px-2 py-1 rounded border border-border outline-none focus:border-primary`,autoFocus:!0}),(0,X.jsx)(`button`,{onClick:S,className:`p-1 text-success hover:text-success/80`,children:(0,X.jsx)(jn,{className:`size-3.5`})}),(0,X.jsx)(`button`,{onClick:()=>y(!1),className:`p-1 text-text-subtle hover:text-text-secondary`,children:(0,X.jsx)(_e,{className:`size-3.5`})})]}),(0,X.jsxs)(`div`,{className:`space-y-0.5`,children:[n.map(e=>(0,X.jsx)(`div`,{className:`flex items-center gap-1.5 px-1 py-1 rounded hover:bg-surface-elevated group`,children:c===e.id?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`input`,{type:`color`,value:f,onChange:e=>p(e.target.value),className:`size-5 rounded cursor-pointer border-0 p-0`}),(0,X.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),onKeyDown:t=>{t.key===`Enter`&&C(e.id),t.key===`Escape`&&l(null)},className:`flex-1 min-w-0 bg-surface-elevated text-[11px] px-1.5 py-0.5 rounded border border-border outline-none focus:border-primary`,autoFocus:!0}),(0,X.jsx)(`button`,{onClick:()=>C(e.id),className:`p-0.5 text-success`,children:(0,X.jsx)(jn,{className:`size-3`})}),(0,X.jsx)(`button`,{onClick:()=>l(null),className:`p-0.5 text-text-subtle`,children:(0,X.jsx)(_e,{className:`size-3`})})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`size-3 rounded-full shrink-0`,style:{backgroundColor:e.color}}),(0,X.jsx)(`span`,{className:`flex-1 text-[11px] text-text-primary truncate`,children:e.name}),(0,X.jsx)(`button`,{onClick:()=>T(e.id),className:`px-1.5 py-0.5 rounded text-[9px] font-medium transition-colors ${e.id===i?`bg-primary/15 text-primary border border-primary/30`:`text-text-subtle border border-transparent can-hover:opacity-0 can-hover:group-hover:opacity-100 hover:bg-surface-elevated hover:border-border`}`,title:e.id===i?`Default tag (click to unset)`:`Set as default for new sessions`,children:e.id===i?`Default`:`Set default`}),(0,X.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,X.jsx)(ge,{className:`size-3`})}),(0,X.jsx)(`button`,{onClick:()=>w(e.id,e.name),className:`p-0.5 rounded text-text-subtle hover:text-error can-hover:opacity-0 can-hover:group-hover:opacity-100`,children:(0,X.jsx)(Nn,{className:`size-3`})})]})},e.id)),n.length===0&&(0,X.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-2 text-center`,children:`No tags. Click + to create one.`})]})]})}function lg(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 ug({snippet:e,className:t}){return(0,X.jsx)(`span`,{className:t,children:lg(e).map((e,t)=>e.mark?(0,X.jsx)(`mark`,{className:`bg-warning/30 text-foreground rounded-sm px-0.5`,children:e.text},t):(0,X.jsx)(`span`,{children:e.text},t))})}var dg=50;function fg({projectName:e,sessionId:t,onSelectSession:n,enableKeyboardShortcuts:r=!1}){let[i,a]=(0,Y.useState)([]),[o,s]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)(``),u=as(c,300),[d,f]=(0,Y.useState)(null),[p,m]=(0,Y.useState)(``),[h,g]=(0,Y.useState)(!1),[_,v]=(0,Y.useState)(!1),[y,b]=(0,Y.useState)([]),[x,S]=(0,Y.useState)(null),[C,w]=(0,Y.useState)({}),[T,E]=(0,Y.useState)(!1),D=(0,Y.useRef)(null),O=W(e=>e.openTab),k=(0,Y.useCallback)(async t=>{if(e){s(!0);try{let n=new URLSearchParams({limit:String(dg),offset:`0`});t&&n.set(`q`,t);let r=await L.get(`${I(e)}/chat/sessions?${n}`);a(r.sessions),g(r.hasMore)}catch{}finally{s(!1)}}},[e]),A=(0,Y.useCallback)(async()=>{if(!(!e||_||!h)){v(!0);try{let t=i.filter(e=>!e.pinned).length,n=new URLSearchParams({limit:String(dg),offset:String(t)});u&&n.set(`q`,u);let r=await L.get(`${I(e)}/chat/sessions?${n}`);a(e=>{let t=new Set(e.map(e=>e.id)),n=r.sessions.filter(e=>!t.has(e.id));return[...e,...n]}),g(r.hasMore)}catch{}finally{v(!1)}}},[e,_,h,i,u]),j=(0,Y.useCallback)(async()=>{if(e)try{let t=await L.get(`${I(e)}/tags`);b(t.tags),w(t.counts)}catch{}},[e]);(0,Y.useEffect)(()=>{k()},[k]),(0,Y.useEffect)(()=>{e&&j()},[e,j]),(0,Y.useEffect)(()=>{k(u||void 0)},[u]);function ee(t){n?n(t):O({type:`chat`,title:t.title||`Chat`,projectId:e??null,metadata:{projectName:e,sessionId:t.id,providerId:t.providerId},closable:!0})}let te=(0,Y.useCallback)((e,t)=>{t.stopPropagation(),f(e.id),m(e.title||``),setTimeout(()=>D.current?.select(),0)},[]),M=(0,Y.useCallback)(async()=>{if(!d||!p.trim()||!e){f(null);return}try{await L.patch(`${I(e)}/chat/sessions/${d}`,{title:p.trim()}),a(e=>e.map(e=>e.id===d?{...e,title:p.trim()}:e))}catch{}f(null)},[d,p,e]),N=(0,Y.useCallback)(()=>f(null),[]),ne=(0,Y.useCallback)(async(t,n)=>{if(t.stopPropagation(),!e)return;let r=`${I(e)}/chat/sessions/${n.id}/pin`;try{n.pinned?await L.del(r):await L.put(r),a(e=>e.map(e=>e.id===n.id?{...e,pinned:!e.pinned}:e).sort((e,t)=>e.pinned&&!t.pinned?-1:!e.pinned&&t.pinned?1:new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()))}catch{}},[e]),re=(0,Y.useCallback)(async(t,n)=>{if(t.stopPropagation(),e&&window.confirm(`Delete this session? This cannot be undone.`))try{await L.del(`${I(e)}/chat/sessions/${n.id}?providerId=${n.providerId}`),a(e=>e.filter(e=>e.id!==n.id))}catch{}},[e]),ie=(0,Y.useCallback)((e,t)=>{a(n=>n.map(n=>n.id===e?{...n,tag:t}:n)),j()},[j]),ae=(0,Y.useCallback)(async()=>{if(!e)return;let t=window.prompt(`Delete sessions older than how many days? (pinned sessions are kept)`,`30`);if(!t)return;let n=parseInt(t,10);if(!(!n||n<1)&&window.confirm(`Delete all unpinned sessions older than ${n} days? This cannot be undone.`)){s(!0);try{await L.del(`${I(e)}/chat/sessions?olderThanDays=${n}`),k(u||void 0)}catch{}}},[e,k,u]);return(0,Y.useEffect)(()=>{if(!r)return;let n=n=>{if(n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement)return;let r=parseInt(n.key);if(r>=1&&r<=y.length&&t){let n=y[r-1];n&&(L.patch(`${I(e)}/chat/sessions/${t}/tag`,{tagId:n.id}).catch(()=>{}),ie(t,{id:n.id,name:n.name,color:n.color}))}};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[r,y,t,e,ie]),{sessions:i,filteredSessions:x===null?i:i.filter(e=>e.tag?.id===x),loading:o,hasMore:h,loadingMore:_,searchQuery:c,setSearchQuery:l,editingId:d,editingTitle:p,setEditingTitle:m,editInputRef:D,projectTags:y,selectedTagId:x,setSelectedTagId:S,tagCounts:C,showTagSettings:T,setShowTagSettings:E,load:k,loadMore:A,loadTags:j,openSession:ee,startEditing:te,saveTitle:M,cancelEditing:N,togglePin:ne,deleteSession:re,handleTagChanged:ie,bulkDelete:ae}}var pg={results:[],indexing:{total:0,indexed:0,running:!1}};function mg(e,t){let n=as(t,300),[r,i]=(0,Y.useState)(pg),[a,o]=(0,Y.useState)(!1);return(0,Y.useEffect)(()=>{let t=n.trim();if(!t||!e){i(pg),o(!1);return}let r=!1;return o(!0),L.get(`${I(e)}/chat/search?q=${encodeURIComponent(t)}`).then(e=>{r||i(e)}).catch(()=>{r||i(pg)}).finally(()=>{r||o(!1)}),()=>{r=!0}},[e,n]),{results:r.results,indexing:r.indexing,loading:a,query:n}}function hg({search:e,onOpen:t}){return(0,X.jsxs)(`div`,{children:[e.indexing.running&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1 px-3 py-1 text-[10px] text-text-subtle`,children:[(0,X.jsx)(F,{className:`size-2.5 animate-spin`}),` Indexing `,e.indexing.indexed,`/`,e.indexing.total,`…`]}),e.loading&&e.results.length===0?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,X.jsx)(F,{className:`size-3.5 animate-spin text-text-subtle`})}):e.results.length===0?(0,X.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,X.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,X.jsx)(Es,{providerId:e.providerId}),(0,X.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,X.jsx)(`span`,{className:`flex items-center gap-1.5`,children:(0,X.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e.title||`Untitled`})}),e.matchedIn===`content`&&e.snippet&&(0,X.jsx)(ug,{snippet:e.snippet,className:`block text-[11px] text-text-subtle line-clamp-2`})]})]},e.sessionId))]})}function gg({projectName:e,variant:t,sessionId:n,onSelectSession:r,onNavigate:i,className:a}){let o=fg({projectName:e,sessionId:n,onSelectSession:r,enableKeyboardShortcuts:t===`bar`}),s=ps(e=>e.notifications),c=W(e=>e.openTab),l=t===`sidebar`,u=mg(e,l?o.searchQuery:``),d=l&&o.searchQuery.trim().length>0;function f(t){c({type:`chat`,title:t.title||`Chat`,projectId:e,metadata:{projectName:e,sessionId:t.sessionId,providerId:t.providerId},closable:!0}),i?.()}function p(e){o.openSession(e),i?.()}return(0,X.jsxs)(`div`,{className:V(l?`flex flex-col h-full min-h-0`:`border-t border-border/30 bg-surface`,a),children:[l&&(0,X.jsx)(nd,{icon:Ln,title:`Chat History`}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-2 shrink-0`,children:[(0,X.jsxs)(`div`,{className:`relative flex-1`,children:[(0,X.jsx)(Yt,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-text-subtle`}),(0,X.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,X.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,X.jsx)(ye,{className:`size-3.5`})}),(0,X.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,X.jsx)(rt,{className:V(`size-3.5`,o.loading&&`animate-spin`)})})]}),o.projectTags.length>0&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-2 overflow-x-auto scrollbar-none shrink-0`,children:[(0,X.jsxs)(`button`,{onClick:()=>o.setSelectedTagId(null),className:V(`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,X.jsxs)(`button`,{onClick:()=>o.setSelectedTagId(o.selectedTagId===e.id?null:e.id),className:V(`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,X.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,` (`,o.tagCounts[e.id]??0,`)`]},e.id)),(0,X.jsx)(`button`,{onClick:()=>o.setShowTagSettings(!o.showTagSettings),className:V(`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,X.jsx)(kt,{className:`size-3`})})]}),o.showTagSettings&&(0,X.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,X.jsx)(cg,{projectName:e,onTagsChanged:o.loadTags})}),(0,X.jsx)(`div`,{className:l?`flex-1 overflow-y-auto min-h-0`:`max-h-[200px] overflow-y-auto`,children:d?(0,X.jsx)(hg,{search:u,onOpen:f}):o.loading&&o.sessions.length===0?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,X.jsx)(F,{className:`size-3.5 animate-spin text-text-subtle`})}):o.filteredSessions.length===0?(0,X.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,X.jsxs)(X.Fragment,{children:[o.filteredSessions.map(t=>{let r=s.get(t.id),i=!!r;return(0,X.jsx)(_s,{session:t,projectName:e,projectTags:o.projectTags,onTogglePin:o.togglePin,onStartEditing:o.startEditing,onDeleteSession:o.deleteSession,onTagChanged:o.handleTagChanged,children:(0,X.jsxs)(`div`,{className:V(`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&&fs(r.type),!i&&n!==t.id&&`text-text-secondary`),children:[(0,X.jsx)(Es,{providerId:t.providerId}),t.tag&&(0,X.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:t.tag.color},title:t.tag.name}),o.editingId===t.id?(0,X.jsxs)(`form`,{className:`flex items-center gap-1 flex-1 min-w-0`,onSubmit:e=>{e.preventDefault(),o.saveTitle()},children:[(0,X.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,X.jsx)(`button`,{type:`submit`,className:`p-0.5 text-success hover:text-success/80`,onClick:e=>e.stopPropagation(),children:(0,X.jsx)(jn,{className:`size-3`})}),(0,X.jsx)(`button`,{type:`button`,className:`p-0.5 text-text-subtle hover:text-text-secondary`,onClick:e=>{e.stopPropagation(),o.cancelEditing()},children:(0,X.jsx)(_e,{className:`size-3`})})]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`min-w-0 flex-1`,children:(0,X.jsxs)(`button`,{onClick:()=>p(t),className:`w-full min-w-0 text-left`,children:[(0,X.jsxs)(`span`,{className:`flex items-center gap-1`,children:[t.title?.startsWith(`[PPM]`)&&(0,X.jsx)(kn,{className:`size-3.5 text-muted-foreground shrink-0`}),(0,X.jsx)(`span`,{className:V(`truncate text-[13px]`,i?`font-semibold`:`font-medium`),children:t.title?.startsWith(`[PPM]`)?t.title.slice(7):t.title||`Untitled`})]}),t.updatedAt&&(0,X.jsx)(`span`,{className:`block text-[11px] text-text-subtle`,children:is(t.updatedAt)})]})}),(0,X.jsx)(`button`,{onClick:e=>o.togglePin(e,t),className:V(`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,X.jsx)(_t,{className:`size-3`}):(0,X.jsx)(pt,{className:`size-3`})}),(0,X.jsxs)(`span`,{className:`flex items-center shrink-0 can-hover:hidden can-hover:group-hover:flex`,children:[(0,X.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,X.jsx)(ge,{className:`size-3`})}),(0,X.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,X.jsx)(Nn,{className:`size-3`})})]})]})]})},t.id)}),o.hasMore&&(0,X.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,X.jsx)(F,{className:`size-3 animate-spin`}):null,o.loadingMore?`Loading...`:`Load more`]})]})})]})}var _g={teams:`beta`,"os-explorer":`new`,"remote-desktop":`beta`};function vg(e){return e?_g[e]:void 0}function yg({id:e,variant:t=`inline`,className:n}){let r=vg(e);if(!r)return null;let i=r===`new`?`bg-success/15 text-success`:`bg-accent-wash text-primary`;return(0,X.jsx)(`span`,{"aria-label":r,className:V(`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 bg=`/api/group-chat`;function xg(e){return L.get(`${bg}?projectPath=${encodeURIComponent(e)}`)}function Sg(e){return L.get(`${bg}/${encodeURIComponent(e)}`)}function Cg(e){return L.post(bg,e)}function wg(e,t){return L.patch(`${bg}/${encodeURIComponent(e)}`,t)}function Tg(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 L.get(`${bg}/${encodeURIComponent(e)}/feed${r?`?${r}`:``}`)}function Eg(e,t){return L.post(`${bg}/${encodeURIComponent(e)}/message`,{content:t})}function Dg(e){return L.post(`${bg}/${encodeURIComponent(e)}/stop`)}function Og(e){return L.post(`${bg}/${encodeURIComponent(e)}/resume`)}function kg(e){return L.del(`${bg}/${encodeURIComponent(e)}`)}function Ag(e,t){return L.post(`${bg}/${encodeURIComponent(e)}/members`,t)}function jg(e,t,n){return L.patch(`${bg}/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`,n)}function Mg(e,t){return L.del(`${bg}/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`)}function Ng(e,t){return L.get(`${bg}/${encodeURIComponent(e)}/transcript?sessionRef=${encodeURIComponent(t)}`)}function Pg(e){return e.replace(/^Claude\s+/i,``)}function Fg({value:e,onChange:t,projectName:n,providerId:r,disabled:i}){let[a,o]=(0,Y.useState)([]),[s,c]=(0,Y.useState)(!1),l=(0,Y.useRef)(null),u=(0,Y.useRef)(0);(0,Y.useEffect)(()=>{!n||!r||L.get(`${I(n)}/chat/providers/${r}/models`).then(o).catch(()=>{})},[n,r]),(0,Y.useEffect)(()=>{i&&c(!1)},[i]),(0,Y.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,Y.useEffect)(()=>{s&&(u.current=Math.max(0,a.findIndex(t=>t.value===e)))},[s,e,a]);let d=(0,Y.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?Pg(f.label):e??`Model`;return(0,X.jsxs)(`div`,{className:`relative`,children:[(0,X.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,X.jsx)(gn,{className:`h-3.5 w-3.5 shrink-0`}),(0,X.jsx)(`span`,{className:`max-w-[90px] truncate`,children:p})]}),s&&!i&&(0,X.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,X.jsx)(`div`,{className:`px-3 py-2 border-b border-border`,children:(0,X.jsx)(`span`,{className:`text-xs font-medium text-text-secondary`,children:`Model`})}),(0,X.jsx)(`div`,{className:`py-1`,children:a.map((n,r)=>{let i=n.value===e;return(0,X.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,X.jsx)(`span`,{className:`flex-1 text-sm font-medium text-text-primary`,children:n.label}),i&&(0,X.jsx)(jn,{className:`size-4 shrink-0 text-primary`})]},n.value)})})]})]})}var Ig=[`#6366f1`,`#ec4899`,`#14b8a6`,`#f59e0b`,`#8b5cf6`,`#ef4444`];function Lg(){return{key:qn(),name:``,persona:``,model:null}}function Rg({open:e,onClose:t,projectName:n,projectPath:r,providerId:i=`claude`,onCreated:a}){let o=Lr(),[s,c]=(0,Y.useState)(``),[l,u]=(0,Y.useState)(10),[d,f]=(0,Y.useState)(`Leader`),[p,m]=(0,Y.useState)(``),[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)([Lg()]),[y,b]=(0,Y.useState)(!1),[x,S]=(0,Y.useState)(null),C=(0,Y.useCallback)(()=>{c(``),u(10),f(`Leader`),m(``),g(null),v([Lg()]),S(null),b(!1)},[]),w=(0,Y.useCallback)(()=>{C(),t()},[C,t]),T=(e,t)=>v(n=>n.map(n=>n.key===e?{...n,...t}:n)),E=(0,Y.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:Ig[0]},...t.map((e,t)=>({role:`member`,name:e.name.trim(),persona:e.persona.trim()||null,model:e.model,color:Ig[(t+1)%Ig.length]}))];b(!0),S(null);try{a(await Cg({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,X.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-1 py-1`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-text-secondary`,children:`Group name`}),(0,X.jsx)(`input`,{className:D,value:s,onChange:e=>c(e.target.value),placeholder:`e.g. Design Review`,autoFocus:!0})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-text-secondary`,children:`Reply cap (max AI turns per message, 1–50)`}),(0,X.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,X.jsxs)(`div`,{className:`rounded-lg border border-border p-3`,children:[(0,X.jsx)(`p`,{className:`mb-2 text-xs font-semibold uppercase tracking-wide text-primary`,children:`Leader`}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(`input`,{className:D,value:d,onChange:e=>f(e.target.value),placeholder:`Leader name`}),(0,X.jsx)(`input`,{className:D,value:p,onChange:e=>m(e.target.value),placeholder:`Persona (optional)`}),(0,X.jsx)(Fg,{value:h,onChange:g,projectName:n,providerId:i})]})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,X.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-wide text-text-secondary`,children:`Members`}),(0,X.jsxs)(`button`,{type:`button`,onClick:()=>v(e=>[...e,Lg()]),className:`inline-flex min-h-[32px] items-center gap-1 text-xs font-medium text-primary hover:underline`,children:[(0,X.jsx)(vn,{className:`size-3.5`}),` Add`]})]}),(0,X.jsx)(`div`,{className:`flex flex-col gap-3`,children:_.map((e,t)=>(0,X.jsxs)(`div`,{className:`rounded-lg border border-border p-3`,children:[(0,X.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,X.jsxs)(`span`,{className:`text-[11px] text-text-subtle`,children:[`Member `,t+1]}),_.length>1&&(0,X.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,X.jsx)(Nn,{className:`size-4`})})]}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,X.jsx)(`input`,{className:D,value:e.name,onChange:t=>T(e.key,{name:t.target.value}),placeholder:`Member name`}),(0,X.jsx)(`input`,{className:D,value:e.persona,onChange:t=>T(e.key,{persona:t.target.value}),placeholder:`Persona (optional)`}),(0,X.jsx)(Fg,{value:e.model,onChange:t=>T(e.key,{model:t}),projectName:n,providerId:i})]})]},e.key))})]}),x&&(0,X.jsx)(`p`,{className:`text-xs text-destructive`,children:x}),(0,X.jsxs)(`div`,{className:`flex justify-end gap-2 pt-1`,children:[(0,X.jsx)(G,{variant:`outline`,onClick:w,disabled:y,children:`Cancel`}),(0,X.jsxs)(G,{onClick:E,disabled:y,children:[y&&(0,X.jsx)(F,{className:`mr-1.5 size-4 animate-spin`}),`Create group`]})]})]});return e?o?(0,X.jsx)(Pi,{open:!0,onClose:w,className:`flex max-h-[90vh] flex-col`,children:(0,X.jsxs)(`div`,{className:`flex min-h-0 flex-col px-4 pb-2`,children:[(0,X.jsx)(`h2`,{className:`mb-2 text-base font-semibold text-foreground`,children:`New group`}),O]})}):(0,X.jsx)(Ei,{open:!0,onOpenChange:e=>{e||w()},children:(0,X.jsxs)(K,{className:`flex max-h-[85vh] flex-col sm:max-w-lg`,children:[(0,X.jsx)(Ci,{children:(0,X.jsx)(q,{children:`New group`})}),O]})}):null}function zg(){let{activeProject:e}=U(ju(e=>({activeProject:e.activeProject}))),t=H(e=>e.openTab),[n,r]=(0,Y.useState)([]),[i,a]=(0,Y.useState)(!1),[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(!1),u=e?.path??null,d=e?.name??``,f=(0,Y.useCallback)(()=>{if(!u){r([]);return}a(!0),xg(u).then(r).catch(e=>s(e instanceof Error?e.message:`Failed to load groups`)).finally(()=>a(!1))},[u]);(0,Y.useEffect)(()=>{f()},[f]);let p=(0,Y.useCallback)(e=>{t({type:`group`,title:e.name,projectId:d,closable:!0,metadata:{groupId:e.id,projectName:d}})},[t,d]),m=(0,Y.useCallback)(async e=>{try{await kg(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,X.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,X.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center justify-between border-b border-border px-2`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,X.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-text-secondary`,children:`Teams`}),(0,X.jsx)(yg,{id:`teams`})]}),(0,X.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,X.jsx)(vn,{className:`size-4`})})]}),(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-1`,children:i?(0,X.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,X.jsx)(F,{className:`size-4 animate-spin text-primary`})}):o?(0,X.jsx)(`p`,{className:`px-2 py-3 text-xs text-destructive`,children:o}):n.length===0?(0,X.jsx)(`p`,{className:`px-2 py-3 text-xs text-text-subtle`,children:`No groups yet. Create one to start.`}):n.map(e=>(0,X.jsxs)(od,{children:[(0,X.jsx)(sd,{asChild:!0,children:(0,X.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,X.jsx)(qe,{className:`size-4 shrink-0 text-text-subtle`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.name})]})}),(0,X.jsx)(cd,{children:(0,X.jsxs)($,{variant:`destructive`,onClick:()=>m(e),children:[(0,X.jsx)(Nn,{className:`size-4`}),` Delete group`]})})]},e.id))}),(0,X.jsx)(Rg,{open:c,onClose:()=>l(!1),projectName:d,projectPath:u??``,onCreated:e=>{r(t=>[e,...t]),p(e)}})]}):(0,X.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,X.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to view groups`})})}var Bg=[{mode:`recent`,label:`Recent`,Icon:Ie},{mode:`priority`,label:`Priority`,Icon:At},{mode:`name`,label:`Name`,Icon:fn}];function Vg(e,t,n){return n===`recent`?gr(e):n===`name`?[...e].sort((e,t)=>e.name.localeCompare(t.name)):hr(e,t)}var Hg=[`terminal`,`chat`,`editor`,`database`,`sqlite`,`postgres`,`git-diff`,`settings`,`extension`,`group`];function Ug(e){try{return decodeURIComponent(e)}catch{return e}}function Wg(){let e=window.location.pathname,t=new URLSearchParams(window.location.search).get(`openChat`),n=e.match(/^\/project\/([^/]+)(?:\/([^/]+)(\/.*)?)?/);if(!n)return{projectName:null,tabType:null,tabIdentifier:null,openChat:t};let r=Ug(n[1]),i=n[2]??null,a=n[3]?n[3].slice(1):null;return i===`tab`?{projectName:r,tabType:null,tabIdentifier:null,openChat:t}:{projectName:r,tabType:Hg.includes(i)?i:null,tabIdentifier:a,openChat:t}}function Gg(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 Kg(e,t){return t?`${e}:${t}`:e}function qg(e,t,n){switch(e){case`editor`:return t?{filePath:t,projectName:n}:null;case`chat`:{if(!t)return null;let e=t.indexOf(`/`),r=e===-1?t:t.slice(e+1),i=e===-1?void 0:t.slice(0,e),a=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r)?r:void 0;return{...a&&{sessionId:a},...i&&{providerId:i},projectName:n}}case`terminal`:return{terminalIndex:parseInt(t??`1`,10),projectName:n};case`git-diff`:return t?{filePath:t,projectName:n}:null;case`settings`:return{};case`database`:{let[e,n]=(t??``).split(`:`);return e?{connectionId:e,tableName:n??``}:null}case`sqlite`:return t?{filePath:t,projectName:n}:null;case`postgres`:{let[e,n]=(t??``).split(`:`);return e?{connectionId:e,tableName:n??``}:null}case`extension`:return t?{viewType:t,projectName:n}:null;case`group`:return t?{groupId:t,projectName:n}:null;default:return null}}function Jg(e,t){switch(e){case`editor`:return t?.split(`/`).pop()??`File`;case`chat`:return`Chat`;case`terminal`:return`Terminal ${t??`1`}`;case`git-diff`:return t?.split(`/`).pop()??`Diff`;case`settings`:return`Settings`;case`database`:return t??`Database`;case`sqlite`:return t?.split(`/`).pop()??`SQLite`;case`postgres`:return t??`PostgreSQL`;case`extension`:return t?t.split(`-`).map(e=>(e[0]?.toUpperCase()??``)+e.slice(1)).join(` `):`Extension`;case`group`:return`Group`;default:return e}}function Yg(){if(Rr()||mr.getState().restored){wc();return}let e=mr.subscribe(t=>{t.restored&&(e(),wc())})}function Xg(e,t,n){if(e===`settings`){Yg();return}let{tabs:r,setActiveTab:i,openTab:a}=W.getState(),o=Kg(e,t),s=r.find(e=>e.id===o);if(s){i(s.id);return}let c=qg(e,t,n);c&&a({type:e,title:Jg(e,t),projectId:n,closable:!0,metadata:c})}function Zg(){let e=W(e=>e.activeTabId),t=W(e=>e.currentProject),n=(0,Y.useRef)(!1);(0,Y.useEffect)(()=>{if(n.current){n.current=!1;return}let r=Gg(t,e);window.location.pathname!==r&&window.history.pushState(null,``,r)},[e,t]),(0,Y.useEffect)(()=>{function e(){let{tabType:e,tabIdentifier:t}=Wg();if(!e)return;n.current=!0;let{tabs:r,setActiveTab:i}=W.getState(),a=Kg(e,t),o=r.find(e=>e.id===a);if(o)i(o.id);else{let n=W.getState().currentProject;n&&Xg(e,t,n)}}return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[])}var Qg=[`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 $g(e,t){return e??Qg[t%Qg.length]}function e_(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 t_=(0,Y.memo)(function({name:e,color:t,image:n,size:r,allNames:i,shape:a=`circle`}){let[o,s]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{s(!1)},[n]);let c=a===`square`?`rounded-[7px]`:`rounded-full`;if(n&&!o){let t=Gn(),i=new URLSearchParams({v:n});return t&&i.set(`token`,t),(0,X.jsx)(`img`,{src:`/api/projects/${encodeURIComponent(e)}/image?${i.toString()}`,alt:e,onError:()=>s(!0),className:V(`object-cover shrink-0 select-none`,c),style:{width:r,height:r}})}return(0,X.jsx)(`div`,{className:V(`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:e_(e,i)})});function n_({onSuccess:e,onCancel:t,footerClassName:n}){let{addProject:r}=U(ju(e=>({addProject:e.addProject}))),[i,a]=(0,Y.useState)(`local`),[o,s]=(0,Y.useState)(``),[c,l]=(0,Y.useState)(``),[u,d]=(0,Y.useState)([]),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(!1),[v,y]=(0,Y.useState)(``),[b,x]=(0,Y.useState)(`~/Projects`),[S,C]=(0,Y.useState)(``),[w,T]=(0,Y.useState)(!1),[E,D]=(0,Y.useState)(``),O=(0,Y.useRef)(null),k=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{L.get(`/api/projects/last-clone-dir`).then(e=>{e?.dir&&x(e.dir)}).catch(()=>{})},[]),(0,Y.useEffect)(()=>{if(!v.trim()){C(``);return}let e=v.match(/[/:]([^/:]+?)(?:\.git)?\s*$/);e?.[1]&&C(e[1])},[v]),(0,Y.useEffect)(()=>{if(O.current&&clearTimeout(O.current),!o.trim()){d([]),p(!1);return}O.current=setTimeout(async()=>{h(!0);try{d(await L.get(`/api/projects/suggest-dirs?q=${encodeURIComponent(o)}`)??[]),p(!0)}catch{d([])}finally{h(!1)}},250)},[o]),(0,Y.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 ee(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 L.post(`/api/projects/git/clone`,{url:v.trim(),targetDir:b.trim(),name:S.trim()||void 0}),{fetchProjects:n,setActiveProject:r}=U.getState();await n();let i=U.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,X.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,X.jsx)(`div`,{className:`flex gap-1 border-b border-border`,children:[`local`,`clone`].map(e=>(0,X.jsx)(`button`,{type:`button`,onClick:()=>{a(e),D(``)},className:V(`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,X.jsxs)(`form`,{onSubmit:j,className:`flex flex-col gap-3`,children:[(0,X.jsxs)(`div`,{ref:k,className:`relative`,children:[(0,X.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Project path`}),(0,X.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,X.jsxs)(`div`,{className:`relative flex items-center flex-1`,children:[(0,X.jsx)(we,{className:`absolute left-2.5 size-3.5 text-text-subtle pointer-events-none`}),(0,X.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,X.jsx)(F,{className:`absolute right-2.5 size-3.5 text-text-subtle animate-spin`})]}),(0,X.jsx)(hm,{mode:`folder`,onSelect:e=>{s(e),c||l(e.split(`/`).pop()??``),D(``)}})]}),f&&u.length>0&&(0,X.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,X.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,X.jsx)(`span`,{className:`text-sm font-medium truncate w-full`,children:e.name}),(0,X.jsx)(`span`,{className:`text-xs text-text-subtle truncate w-full`,children:e.path})]},e.path))})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:[`Display name `,(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:`(optional)`})]}),(0,X.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,X.jsx)(`p`,{className:`text-xs text-destructive`,children:E}),(0,X.jsxs)(`div`,{className:V(`flex justify-end gap-2 pt-1`,n),children:[(0,X.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,X.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,X.jsxs)(`form`,{onSubmit:ee,className:`flex flex-col gap-3`,children:[(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Git URL`}),(0,X.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,X.jsxs)(`div`,{children:[(0,X.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Clone to`}),(0,X.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,X.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,X.jsx)(hm,{mode:`folder`,onSelect:e=>{x(e),D(``)}})]})]}),(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:[`Name `,(0,X.jsx)(`span`,{className:`text-muted-foreground`,children:`(auto-parsed from URL)`})]}),(0,X.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,X.jsx)(`p`,{className:`text-xs text-destructive`,children:E}),(0,X.jsxs)(`div`,{className:V(`flex justify-end gap-2 pt-1`,n),children:[(0,X.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,X.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,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(F,{className:`inline size-3.5 animate-spin mr-1.5`}),`Cloning…`]}):`Clone & Add`})]})]})]})}var r_=(0,Y.memo)(function({name:e,color:t,image:n,size:r,allNames:i,shape:a}){let o=ps((0,Y.useMemo)(()=>gs(e),[e]));return(0,X.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,X.jsx)(t_,{name:e,color:t,image:n,size:r,allNames:i,shape:a}),o&&(0,X.jsx)(`div`,{className:V(`absolute -top-0.5 -right-0.5 size-2 rounded-full border-2 border-background`,us(o))})]})});function i_({current:e,onChange:t}){return(0,X.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:Qg.map(n=>(0,X.jsx)(`button`,{type:`button`,onClick:()=>t(n),className:V(`size-8 rounded-full border-2 transition-all`,e===n?`border-primary scale-110`:`border-transparent hover:scale-105`),style:{background:n}},n))})}var a_=(0,Y.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}=U(ju(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=hr(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?$g(m.color,h<0?0:h):`transparent`,[_,v]=(0,Y.useState)(!1),[y,b]=(0,Y.useState)(``),x=(0,Y.useRef)(null),[S,C]=(0,Y.useState)(null),w=(0,Y.useCallback)(()=>{if(!_&&x.current){let e=x.current.getBoundingClientRect();C({left:e.left,top:e.bottom+4})}v(e=>!e)},[_]),T=(0,Y.useCallback)(()=>{v(!1),b(``)},[]),[E,D]=(0,Y.useState)(0),O=(0,Y.useRef)(null),k=(0,Y.useMemo)(()=>Vg(e,l,u),[e,l,u,_]),A=(0,Y.useMemo)(()=>_r(),[_]),j=y.trim().toLowerCase(),ee=j?k.filter(e=>e.name.toLowerCase().includes(j)||e.path.toLowerCase().includes(j)):k,te=u===`priority`&&!j,M=(0,Y.useCallback)(e=>{n(e),T()},[n,T]),N=(0,Y.useCallback)(e=>{window.open(Gg(e.name,null),`_blank`,`noopener`)},[]);(0,Y.useEffect)(()=>{D(0)},[y,u,_]),(0,Y.useEffect)(()=>{O.current?.querySelector(`[data-row-index="${E}"]`)?.scrollIntoView({block:`nearest`})},[E]);let ne=(0,Y.useCallback)(e=>{if(e.key===`ArrowDown`)e.preventDefault(),D(e=>Math.min(e+1,ee.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=ee[E]??ee[0];if(!t)return;e.ctrlKey||e.metaKey?N(t):M(t)}else e.key===`Escape`&&(e.preventDefault(),T())},[ee,E,N,M,T]),[re,ie]=(0,Y.useState)(null),[ae,oe]=(0,Y.useState)(null),[se,P]=(0,Y.useState)(!1),[ce,le]=(0,Y.useState)(!1),[ue,de]=(0,Y.useState)(``),[fe,pe]=(0,Y.useState)(``),[me,he]=(0,Y.useState)(!1),[_e,ve]=(0,Y.useState)(``),[ye,be]=(0,Y.useState)(!1),[xe,Se]=(0,Y.useState)(``),[Ce,we]=(0,Y.useState)(``),[Te,Ee]=(0,Y.useState)(!1),De=(0,Y.useRef)(null),[Oe,ke]=(0,Y.useState)(null),Ae=(0,Y.useCallback)(async e=>{let t=e.target.files?.[0];if(e.target.value=``,!(!t||!Oe))try{await i(Oe,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}},[Oe,i]),je=(0,Y.useCallback)(e=>{de(e),pe(e),le(!0)},[]),Me=(0,Y.useCallback)(e=>{ve(e),he(!0)},[]),Ne=(0,Y.useCallback)((e,t)=>{Se(e),we(t),be(!0)},[]);async function Pe(){if(!fe.trim()||fe===ue){le(!1);return}try{await s(ue,fe.trim())}catch{}le(!1)}async function Fe(){try{await c(_e)}catch{}he(!1)}async function Ie(){Ee(!0);try{await r(xe,Ce),be(!1)}catch(e){console.error(`Failed to save color:`,e)}finally{Ee(!1)}}return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`input`,{ref:De,type:`file`,accept:`image/*`,className:`hidden`,onChange:Ae}),(0,X.jsxs)(`button`,{ref:x,onClick:w,title:`Switch project`,className:V(`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,X.jsx)(r_,{name:m.name,color:g,image:m.image,size:24,allNames:p,shape:`square`}):(0,X.jsx)(`div`,{className:`size-6 rounded-full bg-surface-elevated shrink-0`}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1 flex flex-col text-left leading-tight`,children:[(0,X.jsx)(`span`,{className:`text-[13px] font-semibold text-foreground truncate`,children:m?.name??`Select project`}),m?.path&&(0,X.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle truncate`,children:m.path})]}),(0,X.jsx)(at,{className:`size-3.5 text-text-subtle shrink-0`})]}),_&&S&&(0,Bl.createPortal)((0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:T}),(0,X.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,X.jsxs)(`div`,{className:`flex items-center gap-2 px-2.5 py-2 border-b border-border`,children:[(0,X.jsx)(Yt,{className:`size-3.5 text-text-subtle shrink-0`}),(0,X.jsx)(`input`,{value:y,onChange:e=>b(e.target.value),onKeyDown:ne,placeholder:`Search projects…`,autoFocus:!0,className:`flex-1 bg-transparent text-xs text-foreground placeholder:text-text-subtle focus:outline-none`})]}),(0,X.jsx)(`div`,{className:`flex items-center gap-1 px-1.5 py-1.5 border-b border-border`,children:Bg.map(({mode:e,label:t,Icon:n})=>(0,X.jsxs)(`button`,{onClick:()=>d(e),title:`Sort by ${t.toLowerCase()}`,className:V(`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,X.jsx)(n,{className:`size-3`}),` `,t]},e))}),(0,X.jsxs)(`div`,{ref:O,className:`overflow-y-auto p-1.5`,children:[ee.map((e,t)=>{let n=f.findIndex(t=>t.name===e.name),r=$g(e.color,n),i=m?.name===e.name,s=t===E,c=re===n,l=ae===n&&re!==n,u=A[e.name];return(0,X.jsxs)(od,{children:[(0,X.jsx)(sd,{asChild:!0,children:(0,X.jsxs)(`div`,{"data-row-index":t,draggable:te,onDragStart:()=>te&&ie(n),onDragOver:e=>{te&&(e.preventDefault(),oe(n))},onDragLeave:()=>oe(null),onDragEnd:()=>{ie(null),oe(null)},onDrop:()=>{if(te&&re!=null&&re!==n){let e=f.map(e=>e.name),[t]=e.splice(re,1);e.splice(n,0,t),o(e)}ie(null),oe(null)},onMouseEnter:()=>D(t),className:V(`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,X.jsxs)(`button`,{onClick:()=>M(e),className:`flex items-center gap-2.5 min-w-0 flex-1 px-2 py-1.5 text-left`,children:[(0,X.jsx)(r_,{name:e.name,color:r,image:e.image,size:26,allNames:p}),(0,X.jsxs)(`div`,{className:`min-w-0`,children:[(0,X.jsx)(`div`,{className:V(`text-[13px] whitespace-nowrap overflow-hidden text-ellipsis`,i?`font-semibold text-primary`:`text-foreground`),children:e.name}),(0,X.jsx)(`div`,{className:`text-[10px] font-mono text-text-subtle whitespace-nowrap overflow-hidden text-ellipsis`,children:e.path})]})]}),u&&(0,X.jsx)(`span`,{title:`Last opened ${new Date(u).toLocaleString()}`,className:`shrink-0 mr-2 text-[10px] text-text-subtle whitespace-nowrap`,children:is(new Date(u).toISOString())}),(0,X.jsx)(`button`,{onClick:t=>{t.stopPropagation(),N(e)},title:`Open in new browser tab`,className:V(`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,X.jsx)(Mt,{className:`size-3.5`})})]})}),(0,X.jsxs)(cd,{children:[(0,X.jsxs)($,{onClick:()=>N(e),children:[(0,X.jsx)(Mt,{className:`size-3.5 mr-2`}),` Open in New Tab`]}),(0,X.jsx)(ld,{}),(0,X.jsxs)($,{onClick:()=>je(e.name),children:[(0,X.jsx)(ge,{className:`size-3.5 mr-2`}),` Rename`]}),(0,X.jsxs)($,{onClick:()=>Ne(e.name,r),children:[(0,X.jsx)(Ke,{className:`size-3.5 mr-2`}),` Change Color`]}),(0,X.jsxs)($,{onClick:()=>{ke(e.name),De.current?.click()},children:[(0,X.jsx)(yt,{className:`size-3.5 mr-2`}),` Change Image`]}),e.image&&(0,X.jsxs)($,{onClick:()=>{a(e.name).catch(()=>{})},children:[(0,X.jsx)(Nn,{className:`size-3.5 mr-2`}),` Remove Image`]}),(0,X.jsxs)($,{onClick:()=>void vl(e.path),children:[(0,X.jsx)(dn,{className:`size-3.5 mr-2`}),` Copy Path`]}),(0,X.jsx)(ld,{}),(0,X.jsxs)($,{className:`text-destructive focus:text-destructive`,onClick:()=>Me(e.name),children:[(0,X.jsx)(Nn,{className:`size-3.5 mr-2`}),` Delete`]})]})]},e.name)}),ee.length===0&&(0,X.jsx)(`div`,{className:`px-2 py-4 text-center text-xs text-text-subtle`,children:`No projects found`})]}),(0,X.jsxs)(`button`,{onClick:()=>{P(!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,X.jsx)(vn,{className:`size-[15px]`}),` Add Project`]})]})]}),document.body),(0,X.jsx)(Ei,{open:se,onOpenChange:P,children:(0,X.jsxs)(K,{className:`sm:max-w-sm`,children:[(0,X.jsx)(Ci,{children:(0,X.jsx)(q,{children:`Add Project`})}),(0,X.jsx)(n_,{onSuccess:()=>P(!1),onCancel:()=>P(!1)})]})}),(0,X.jsx)(Ei,{open:ce,onOpenChange:le,children:(0,X.jsxs)(K,{className:`sm:max-w-sm`,children:[(0,X.jsx)(Ci,{children:(0,X.jsx)(q,{children:`Rename Project`})}),(0,X.jsx)(`input`,{type:`text`,value:fe,onChange:e=>pe(e.target.value),onKeyDown:e=>{e.key===`Enter`&&Pe()},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,X.jsxs)(wi,{children:[(0,X.jsx)(`button`,{onClick:()=>le(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,X.jsx)(`button`,{onClick:Pe,className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors`,children:`Rename`})]})]})}),(0,X.jsx)(Ei,{open:me,onOpenChange:he,children:(0,X.jsxs)(K,{className:`sm:max-w-sm`,children:[(0,X.jsx)(Ci,{children:(0,X.jsx)(q,{children:`Delete Project`})}),(0,X.jsxs)(`p`,{className:`text-sm text-text-secondary`,children:[`Remove `,(0,X.jsx)(`strong`,{className:`text-foreground`,children:_e}),` from PPM? The files on disk won't be deleted.`]}),(0,X.jsxs)(wi,{children:[(0,X.jsx)(`button`,{onClick:()=>he(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,X.jsx)(`button`,{onClick:Fe,className:`px-3 py-1.5 text-sm bg-destructive text-white rounded-md hover:bg-destructive/90 transition-colors`,children:`Delete`})]})]})}),(0,X.jsx)(Ei,{open:ye,onOpenChange:be,children:(0,X.jsxs)(K,{className:`sm:max-w-sm`,children:[(0,X.jsx)(Ci,{children:(0,X.jsx)(q,{children:`Change Color`})}),(0,X.jsx)(i_,{current:Ce,onChange:we}),(0,X.jsxs)(wi,{children:[(0,X.jsx)(`button`,{onClick:()=>be(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,X.jsx)(`button`,{onClick:Ie,disabled:Te,className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors disabled:opacity-50`,children:Te?`Saving…`:`Save`})]})]})})]})}),o_=Kn(e=>({isOpen:!1,open:()=>e({isOpen:!0}),close:()=>e({isOpen:!1})}));function s_(){let e=mr(e=>e.open),t=mr(e=>e.focus),n=o_(e=>e.open);return(0,Y.useCallback)(()=>{if(Rr()){n();return}let r=Object.values(mr.getState().windows).find(e=>e.kind===`remote-desktop`);r?t(r.id):e(`remote-desktop`)},[e,t,n])}function c_(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 l_=2e3;function u_(e){let[t,n]=(0,Y.useState)(null),[r,i]=(0,Y.useState)(!1),[a,o]=(0,Y.useState)(0),s=(0,Y.useCallback)(()=>o(e=>e+1),[]);return(0,Y.useEffect)(()=>{let e=!1;return L.get(`/api/remote-desktop/capabilities`).then(t=>{e||(n(c_(t)),i(!1))}).catch(()=>{e||i(!0)}),()=>{e=!0}},[a]),(0,Y.useEffect)(()=>{if(!e)return;let t=setInterval(s,l_);return()=>clearInterval(t)},[e,s]),{caps:t,failed:r,refresh:s,runHostAction:(0,Y.useCallback)(async(e,t)=>{try{await L.post(`/api/remote-desktop/requirements/${encodeURIComponent(e)}/${t}`)}catch{}s()},[s])}}function d_(){let{caps:e}=u_(!1);return{available:!!e?.platformSupported,authRequired:!!e?.authRequired}}var f_=[{id:`history`,label:`Chat History`,shortLabel:`History`,icon:Ln},{id:`teams`,label:`Teams`,icon:qe,badge:`teams`},{id:`explorer`,label:`Explorer`,icon:we},{id:`search`,label:`Search`,icon:Yt},{id:`git`,label:`Git`,icon:Je},{id:`database`,label:`Database`,icon:Ot},{id:`tunnels`,label:`Cloudflare Tunnels`,shortLabel:`Tunnels`,icon:tt},{id:`ai-resources`,label:`AI Resources`,shortLabel:`AI`,icon:gn}];function p_(e){let t=[...f_];e.jiraEnabled&&t.push({id:`jira`,label:`Jira`,icon:Fn});let n=e.contributions?.views;if(n){let e=n.sidebar??n.explorer??[];for(let n of e)t.push({id:`ext:${n.id}`,label:n.name,icon:St})}return t}function m_(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 h_({expanded:e}){let t=ps(e=>e.notifications),n=ps(e=>e.clearAll),r=ps(ms),{projects:i,setActiveProject:a,customOrder:o}=U(ju(e=>({projects:e.projects,setActiveProject:e.setActiveProject,customOrder:e.customOrder}))),s=hr(i,o),c=W(e=>e.openTab),[l,u]=(0,Y.useState)(!1),d=(0,Y.useRef)(null),[f,p]=(0,Y.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 $g(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,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`button`,{ref:d,onClick:m,className:V(`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,X.jsx)(Wt,{className:`size-4 shrink-0`}),e&&(0,X.jsx)(`span`,{className:`text-xs whitespace-nowrap`,children:`Notifications`}),r>0&&(0,X.jsx)(`span`,{className:V(`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,Bl.createPortal)((0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>u(!1)}),(0,X.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,X.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border`,children:[(0,X.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:r>0?`${r} unread session${r>1?`s`:``}`:`No unread`}),r>0&&(0,X.jsxs)(`button`,{onClick:()=>{n(),u(!1)},className:`text-[10px] text-text-subtle hover:text-foreground transition-colors flex items-center gap-1`,children:[(0,X.jsx)(Vt,{className:`size-3`}),`Clear all`]})]}),r===0?(0,X.jsx)(`div`,{className:`px-3 py-4 text-center text-xs text-text-subtle`,children:`All caught up`}):(0,X.jsx)(`div`,{className:`py-1`,children:[..._.entries()].map(([e,t])=>(0,X.jsxs)(`div`,{children:[(0,X.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,X.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{background:g(e)||`currentColor`}}),e]}),t.map(({sessionId:t,type:n,sessionTitle:r})=>(0,X.jsx)(`button`,{onClick:()=>h(t,e),className:V(`w-full px-3 py-1.5 text-left text-[11px] text-foreground truncate hover:bg-surface-elevated transition-colors`,fs(n)),children:r||`${t.slice(0,12)}...`},t))]},e))})]})]}),document.body)]})}var g_=Object.defineProperty,__=Object.getOwnPropertySymbols,v_=Object.prototype.hasOwnProperty,y_=Object.prototype.propertyIsEnumerable,b_=(e,t,n)=>t in e?g_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,x_=(e,t)=>{for(var n in t||={})v_.call(t,n)&&b_(e,n,t[n]);if(__)for(var n of __(t))y_.call(t,n)&&b_(e,n,t[n]);return e},S_=(e,t)=>{var n={};for(var r in e)v_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&__)for(var r of __(e))t.indexOf(r)<0&&y_.call(e,r)&&(n[r]=e[r]);return n},C_;(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})(C_||={}),(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||={})})(C_||={}),(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||={})})(C_||={});var w_=C_,T_={L:w_.QrCode.Ecc.LOW,M:w_.QrCode.Ecc.MEDIUM,Q:w_.QrCode.Ecc.QUARTILE,H:w_.QrCode.Ecc.HIGH},E_=128,D_=`L`,O_=`#FFFFFF`,k_=`#000000`,A_=!1,j_=1,M_=4,N_=0,P_=.1;function F_(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 I_(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 L_(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*P_),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 R_(e,t){return t==null?e?M_:N_:Math.max(Math.floor(t),0)}function z_({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=Y.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...w_.QrSegment.makeSegments(t)),e),[]);return w_.QrCode.encodeSegments(r,T_[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=Y.useMemo(()=>{let e=c.getModules(),t=R_(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:L_(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var B_=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),V_=Y.forwardRef(function(e,t){let n=e,{value:r,size:i=E_,level:a=D_,bgColor:o=O_,fgColor:s=k_,includeMargin:c=A_,minVersion:l=j_,boostLevel:u,marginSize:d,imageSettings:f}=n,p=S_(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=S_(p,[`style`]),g=f?.src,_=Y.useRef(null),v=Y.useRef(null),y=Y.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=Y.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=z_({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});Y.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=I_(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,B_?t.fill(new Path2D(F_(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)}}),Y.useEffect(()=>{x(!1)},[g]);let E=x_({height:i,width:i},m),D=null;return g!=null&&(D=Y.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),Y.createElement(Y.Fragment,null,Y.createElement(`canvas`,x_({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});V_.displayName=`QRCodeCanvas`;var H_=Y.forwardRef(function(e,t){let n=e,{value:r,size:i=E_,level:a=D_,bgColor:o=O_,fgColor:s=k_,includeMargin:c=A_,minVersion:l=j_,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=S_(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=z_({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=I_(g,v.excavation)),b=Y.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=F_(y,h);return Y.createElement(`svg`,x_({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&Y.createElement(`title`,null,d),Y.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),Y.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});H_.displayName=`QRCodeSVG`;var U_=/^[a-z0-9][a-z0-9-]{1,31}$/,W_=`2–32 characters: lowercase letters, numbers, hyphens.`;function G_(e){return e.replace(/^https?:\/\//,``).replace(/\/$/,``)}function K_(e){if(!e)return``;let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,32);return U_.test(t)?t:``}function q_({cloudUrl:e,deviceName:t}){let[n,r]=(0,Y.useState)(null),[i,a]=(0,Y.useState)(!0),[o,s]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)(!1),[u,d]=(0,Y.useState)(``),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(null);(0,Y.useEffect)(()=>{(async()=>{try{r((await L.get(`/api/cloud/alias`)).slug)}catch{s(!0)}a(!1)})()},[]);let g=(0,Y.useCallback)(()=>{d(n??K_(t)),h(null),l(!0)},[n,t]),_=(0,Y.useCallback)(async()=>{let e=u.trim().toLowerCase();if(!U_.test(e)){h(W_);return}p(!0),h(null);try{r((await L.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,X.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,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Permanent link`}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.jsxs)(`span`,{className:`text-xs font-mono text-muted-foreground shrink-0`,children:[G_(e),`/`]}),(0,X.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,X.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,X.jsx)(F,{className:`size-3.5 animate-spin`}):(0,X.jsx)(jn,{className:`size-3.5`})}),(0,X.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,X.jsx)(_e,{className:`size-3.5`})})]}),(0,X.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:m??W_})]}):n?(0,X.jsxs)(`div`,{className:`space-y-1`,children:[(0,X.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Permanent link`}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.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,X.jsxs)(`span`,{className:`truncate`,children:[G_(e),`/`,n]}),(0,X.jsx)(Mt,{className:`size-3 shrink-0`})]}),(0,X.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,X.jsx)(ge,{className:`size-3.5`})})]})]}):(0,X.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,X.jsx)(ge,{className:`size-3.5`}),`Set a permanent link`]})}function J_({onStatus:e,publicPort:t,onTempUrl:n}){let[r,i]=(0,Y.useState)(null),[a,o]=(0,Y.useState)(null),[s,c]=(0,Y.useState)(null),[l,u]=(0,Y.useState)(null),d=(0,Y.useCallback)((e,n)=>e.find(e=>e.source===`ppm`&&!e.protected&&e.port===t&&e.url&&e.url!==n)??null,[t]),f=(0,Y.useCallback)(async()=>{try{let t=await Rh.status();i(t),e(t);let r=d(await L.get(`/api/tunnels`).catch(()=>[]),t.hostname?`https://${t.hostname}`:null);o(r),n(r?.url??null)}catch{}},[e,n,d]);(0,Y.useEffect)(()=>{f()},[f]);let p=(0,Y.useCallback)(async()=>{if(t){c(`add`),u(null);try{let e=await L.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,Y.useCallback)(async()=>{if(a?.pid){c(`stop`),u(null);try{await L.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,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between gap-2 text-xs`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,X.jsx)(tt,{className:`size-3 text-primary shrink-0`}),(0,X.jsxs)(`span`,{className:`text-foreground truncate`,children:[`Your domain · `,r.hostname]})]}),(0,X.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,X.jsx)(F,{className:`size-3.5 animate-spin`}):a?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(sn,{className:`size-3`}),` Stop temp link`]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(vn,{className:`size-3`}),` Temp link`]})})]}),r.tunnelWarning&&(0,X.jsx)(`p`,{className:`text-[11px] text-amber-500 leading-relaxed`,children:r.tunnelWarning}),l&&(0,X.jsx)(`p`,{className:`text-[11px] text-destructive`,children:l})]})}var Y_=`ppm-last-local-url`;function X_(e){try{e&&localStorage.setItem(Y_,e)}catch{}}function Z_(){try{let e=localStorage.getItem(Y_);return e&&/^https?:\/\//.test(e)?e:null}catch{return null}}function Q_({onClose:e,variant:t=`popover`}){let[n,r]=(0,Y.useState)(null),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(!0),[c,l]=(0,Y.useState)(!1),[u,d]=(0,Y.useState)(!1),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(null),[g,_]=(0,Y.useState)(null),[v,y]=(0,Y.useState)(null),[b,x]=(0,Y.useState)(!1),[S,C]=(0,Y.useState)(!1),[w,T]=(0,Y.useState)(null),E=(0,Y.useCallback)(async()=>{try{let[e,t]=await Promise.all([L.get(`/api/cloud/status`),L.get(`/api/tunnel`)]);r(e),a(t),X_(t.localUrl)}catch{}},[]);(0,Y.useEffect)(()=>{E().finally(()=>s(!1))},[E]);let D=(0,Y.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,Y.useCallback)(e=>{vl(e),_(e),setTimeout(()=>_(null),2e3)},[]),A=(0,Y.useCallback)(async()=>{l(!0),h(null);try{a({active:!0,url:(await L.post(`/api/tunnel/start`,{})).url,localUrl:i?.localUrl??null}),r(await L.get(`/api/cloud/status`))}catch(e){h(e instanceof Error?e.message:`Failed to start tunnel`)}finally{l(!1)}},[i]),j=(0,Y.useCallback)(async()=>{h(null);try{let{cloud_url:e}=await L.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 L.post(`/api/cloud/login`,{access_token:i.access_token,email:i.email,cloud_url:e}),r(await L.get(`/api/cloud/status`)))}catch{}},i)}catch(e){h(e instanceof Error?e.message:`Failed to start login`),x(!1),y(null)}},[]),ee=(0,Y.useCallback)(async()=>{d(!0),h(null);try{i?.active||a({active:!0,url:(await L.post(`/api/tunnel/start`,{})).url,localUrl:i?.localUrl??null}),await L.post(`/api/cloud/link`,{}),r(await L.get(`/api/cloud/status`))}catch(e){h(e instanceof Error?e.message:`Failed to link device`)}finally{d(!1)}},[i]),te=(0,Y.useCallback)(async()=>{if(confirm(`Unlink this device from PPM Cloud? It will no longer appear on your cloud dashboard.`)){p(!0);try{await L.post(`/api/cloud/unlink`,{}),r(await L.get(`/api/cloud/status`))}catch{}p(!1)}},[]),M=(0,Y.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 L.post(`/api/cloud/unlink`,{})}catch{}await L.post(`/api/cloud/logout`,{}),r(e=>e?{...e,logged_in:!1,email:null,linked:!1,device_name:null,device_id:null}:null)}},[n?.linked]),N=i?.url||n?.tunnel_url;return(0,X.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,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,X.jsx)(xt,{className:`size-4 text-primary`}),(0,X.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`PPM Cloud`})]}),(0,X.jsx)(`button`,{onClick:e,className:`text-text-subtle hover:text-foreground`,children:(0,X.jsx)(_e,{className:`size-3.5`})})]}),o&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground text-xs py-2`,children:[(0,X.jsx)(F,{className:`size-4 animate-spin`}),(0,X.jsx)(`span`,{children:`Loading...`})]}),!o&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`space-y-1.5`,children:n?.logged_in?(0,X.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,X.jsx)(`div`,{className:`size-2 rounded-full bg-success shrink-0`}),(0,X.jsx)(`span`,{className:`text-xs text-foreground truncate`,children:n.email})]}),(0,X.jsx)(`button`,{onClick:M,className:`text-text-subtle hover:text-foreground p-1 rounded hover:bg-muted transition-colors shrink-0`,title:`Sign out`,children:(0,X.jsx)(hn,{className:`size-3`})})]}):v?(0,X.jsxs)(`div`,{className:`space-y-2 text-center`,children:[(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Open the link below and enter the code:`}),(0,X.jsx)(`div`,{className:`font-mono text-2xl font-bold tracking-[0.3em] text-primary`,children:v.userCode}),(0,X.jsx)(`a`,{href:v.verifyUrl,target:`_blank`,rel:`noopener noreferrer`,className:`text-xs text-primary hover:underline`,children:v.verifyUrl}),b&&(0,X.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 text-xs text-muted-foreground`,children:[(0,X.jsx)(F,{className:`size-3 animate-spin`}),(0,X.jsx)(`span`,{children:`Waiting for verification...`})]})]}):(0,X.jsxs)(X.Fragment,{children:[N&&(0,X.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,X.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,X.jsx)(xt,{className:`size-3.5`}),N&&!S?`Get a permanent link`:`Sign in to PPM Cloud`]})]})}),n?.logged_in&&(0,X.jsx)(`div`,{className:`space-y-1.5`,children:n.linked?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,X.jsx)(En,{className:`size-3 text-primary shrink-0`}),(0,X.jsx)(`span`,{className:`text-foreground truncate`,children:n.device_name})]}),(0,X.jsx)(`button`,{onClick:te,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,X.jsx)(F,{className:`size-3 animate-spin`}):(0,X.jsx)(Ze,{className:`size-3`})})]}),(0,X.jsx)(q_,{cloudUrl:n.cloud_url,deviceName:n.device_name})]}):(0,X.jsx)(`button`,{onClick:ee,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,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(F,{className:`size-3.5 animate-spin`}),` Linking...`]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(En,{className:`size-3.5`}),` Link this machine`]})})}),(0,X.jsx)(`div`,{className:`border-t border-border`}),(0,X.jsx)(J_,{onStatus:D,publicPort:O,onTempUrl:T}),i?.localUrl&&(0,X.jsxs)(`div`,{className:`space-y-1`,children:[(0,X.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Local Network`}),(0,X.jsx)($_,{url:i.localUrl,copied:g,onCopy:k})]}),!N&&!c&&(0,X.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,X.jsx)(jt,{className:`size-3.5`}),`Start Sharing`]}),c&&(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-2`,children:[(0,X.jsx)(F,{className:`size-5 animate-spin text-primary`}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Starting tunnel...`})]}),N&&(0,X.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,X.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Public URL`}),(0,X.jsx)(`div`,{className:`flex justify-center`,children:(0,X.jsx)(`div`,{className:`p-3 rounded-lg`,style:{backgroundColor:`#ffffff`,colorScheme:`light`},children:(0,X.jsx)(H_,{value:N,size:180,bgColor:`#ffffff`,fgColor:`#000000`,level:`L`,style:{display:`block`}})})}),(0,X.jsx)($_,{url:N,copied:g,onCopy:k})]}),w&&w!==N&&(0,X.jsxs)(`div`,{className:`space-y-1`,children:[(0,X.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Temporary link`}),(0,X.jsx)($_,{url:w,copied:g,onCopy:k}),(0,X.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,X.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,X.jsx)(Mt,{className:`size-3`}),`Open Cloud Dashboard`]}),m&&(0,X.jsx)(`p`,{className:`text-xs text-destructive`,children:m})]})]})}function $_({url:e,copied:t,onCopy:n}){return(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.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,X.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,X.jsx)(jn,{className:`size-3.5 text-primary`}):(0,X.jsx)(dn,{className:`size-3.5`})})]})}var ev=`hienlh/ppm`;async function tv(e,t){let n=`(could not fetch)`;try{let e=Gn(),t=await(await fetch(`/api/logs/recent`,e?{headers:{Authorization:`Bearer ${e}`}}:{})).json();t.ok&&(n=t.data.logs||`(empty)`)}catch{}let r=``;if(t?.sessionId&&t?.projectName)try{let e=await L.get(`${I(t.projectName)}/chat/sessions/${t.sessionId}/logs?tail=100`);e.logs&&(r=e.logs)}catch{}return[`## Environment`,`- PPM: v${e??`unknown`}`,`- Browser: ${navigator.userAgent}`,``,`## Description`,`<!-- Describe the bug -->`,``,`## Steps to Reproduce`,`1. `,``,`## Expected Behavior`,``,...r?[`## Chat Session Logs (${t?.sessionId?.slice(0,8)})`,"```",r,"```",``]:[],`## Server Logs (last 30 lines)`,"```",n,"```"].join(`
|
|
21
|
+
`)}function nv(e){let t=`https://github.com/${ev}/issues/new?title=bug%3A%20&body=${encodeURIComponent(e)}`;window.open(t,`_blank`)}function rv(e,t){tv(e,t).then(e=>{window.dispatchEvent(new CustomEvent(`open-bug-report`,{detail:e}))})}var iv=`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 av({count:e}){return(0,X.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 ov({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,X.jsxs)(`button`,{draggable:!0,onDragStart:c,onDragOver:l,onDrop:u,onDragEnd:d,onClick:a,className:V(`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,X.jsx)(e,{className:`size-[18px]`,strokeWidth:n?2.4:2}),r!=null&&r>0&&(0,X.jsx)(av,{count:r}),(0,X.jsx)(yg,{id:i,variant:`corner`}),(0,X.jsx)(`span`,{className:iv,children:t})]})}function sv({icon:e,label:t,onClick:n,active:r,featureBadge:i}){return(0,X.jsxs)(`button`,{type:`button`,"aria-label":t,title:t,onClick:n,className:V(`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,X.jsx)(e,{className:`size-4`}),(0,X.jsx)(yg,{id:i,variant:`corner`}),(0,X.jsx)(`span`,{className:iv,children:t})]})}var cv=(0,Y.memo)(function({className:e}){let{activeProject:t}=U(ju(e=>({activeProject:e.activeProject}))),n=z(e=>e.sidebarActiveTab),r=z(e=>e.setSidebarActiveTab),i=z(e=>e.sidebarTabOrder),a=z(e=>e.setSidebarTabOrder),o=z(e=>e.sidebarCollapsed),s=z(e=>e.toggleSidebar),c=z(e=>e.jiraEnabled),l=z(e=>e.version),u=Sc(e=>e.contributions),d=bd(e=>t?.name?e.counts.get(t.name)??0:0),f=Mm(e=>e.unreadCount),p=ps(hs(t?.name)),m=(0,Y.useMemo)(()=>m_(p_({jiraEnabled:c,contributions:u}),i),[u,c,i]),[h,g]=(0,Y.useState)(null),[_,v]=(0,Y.useState)(null),y=e=>{if(h&&h!==e){let t=m.map(e=>e.id),n=t.indexOf(h);if(n>=0){t.splice(n,1);let r=t.indexOf(e);t.splice(r<0?t.length:r,0,h),a(t)}}g(null),v(null)},[b,x]=(0,Y.useState)(!1),S=(0,Y.useRef)(null),[C,w]=(0,Y.useState)(null);(0,Y.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,Y.useEffect)(()=>{let e=()=>{Rr()||x(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[]);let T=s_(),{available:E}=d_(),D=()=>rv(l),O=e=>{o?(r(e),s()):n===e?s():r(e)};return(0,X.jsxs)(`div`,{className:V(`w-[52px] shrink-0 border-r border-border flex flex-col`,e),children:[(0,X.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,X.jsx)(ov,{icon:e.icon,label:e.label,active:n===e.id,badge:e.id===`git`?d:e.id===`jira`?f:e.id===`history`?p:void 0,featureBadge:e.badge,onClick:()=>O(e.id),dragging:h===e.id,dropBefore:_===e.id&&h!==e.id,onDragStart:t=>{g(e.id),t.dataTransfer.effectAllowed=`move`},onDragOver:t=>{t.preventDefault(),v(e.id)},onDrop:t=>{t.preventDefault(),y(e.id)},onDragEnd:()=>{g(null),v(null)}},e.id))}),(0,X.jsxs)(`div`,{className:`shrink-0 flex flex-col items-center gap-0.5 px-[3px] py-2 border-t border-border`,children:[(0,X.jsx)(h_,{expanded:!1}),(0,X.jsxs)(`button`,{ref:S,onClick:()=>x(!b),className:V(`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,X.jsx)(xt,{className:`size-4`}),(0,X.jsx)(`span`,{className:iv,children:`Cloud & Share`})]}),b&&C&&(0,Bl.createPortal)((0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>x(!1)}),(0,X.jsx)(`div`,{className:`fixed z-50`,style:{left:C.left,bottom:C.bottom},children:(0,X.jsx)(Q_,{onClose:()=>x(!1)})})]}),document.body),(0,X.jsx)(sv,{icon:Qt,label:`File Explorer`,featureBadge:`os-explorer`,onClick:()=>void Lf()}),E&&(0,X.jsx)(sv,{icon:dt,label:`Remote Desktop`,featureBadge:`remote-desktop`,onClick:T}),(0,X.jsx)(sv,{icon:Fn,label:`Report Bug`,onClick:D}),(0,X.jsx)(sv,{icon:mn,label:`Settings`,onClick:()=>wc()})]})]})});function lv({onResize:e}){let t=(0,Y.useRef)(!1);return(0,X.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,Y.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,Y.useCallback)(n=>{t.current&&e(n.clientX)},[e]),onPointerUp:(0,Y.useCallback)(e=>{t.current=!1,e.currentTarget.releasePointerCapture(e.pointerId),document.body.style.cursor=``,document.body.style.userSelect=``},[])})}function uv({onToggle:e}){return(0,X.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,X.jsx)(`span`,{className:`text-sm font-extrabold text-primary leading-none tracking-tight`,children:`PPM`})})}var dv=(0,Y.memo)(function(){let{activeProject:e}=U(ju(e=>({activeProject:e.activeProject}))),t=z(e=>e.sidebarCollapsed),n=z(e=>e.sidebarWidth),r=z(e=>e.toggleSidebar),i=z(e=>e.setSidebarWidth),a=z(e=>e.sidebarActiveTab);return xd(e?.name,a===`git`),t?(0,X.jsxs)(`aside`,{className:`hidden md:flex flex-col w-[52px] min-w-[52px] bg-rail border-r border-border`,children:[(0,X.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,X.jsx)(Pe,{className:`size-4 text-text-secondary`})}),(0,X.jsx)(cv,{className:`flex-1 min-h-0`})]}):(0,X.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,X.jsxs)(`div`,{className:`flex h-[41px] border-b border-border shrink-0`,children:[(0,X.jsx)(uv,{onToggle:r}),(0,X.jsx)(`div`,{className:`flex-1 min-w-0 flex items-center px-1.5`,children:(0,X.jsx)(a_,{})})]}),(0,X.jsxs)(`div`,{className:`flex-1 min-h-0 flex`,children:[(0,X.jsx)(cv,{}),(0,X.jsx)(`div`,{className:`flex-1 min-w-0 flex flex-col`,children:(0,X.jsxs)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:[a===`explorer`&&(e?(0,X.jsx)(xp,{}):(0,X.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,X.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to browse files`})})),a===`git`&&(0,X.jsx)(Yp,{metadata:{projectName:e?.name}}),a===`search`&&(0,X.jsx)(Tm,{}),a===`history`&&(e?(0,X.jsx)(gg,{variant:`sidebar`,projectName:e.name}):(0,X.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,X.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to view chat history`})})),a===`teams`&&(0,X.jsx)(zg,{}),a===`database`&&(0,X.jsx)(xm,{}),a===`tunnels`&&(0,X.jsx)(sg,{}),a===`jira`&&(0,X.jsx)(eh,{}),a===`ai-resources`&&(0,X.jsx)(Fh,{}),typeof a==`string`&&a.startsWith(`ext:`)&&(0,X.jsx)(Om,{viewId:a.slice(4),className:`h-full`})]})})]}),(0,X.jsx)(lv,{onResize:i})]})}),fv=1e4;function pv(){let e=Gn();return e?{Authorization:`Bearer ${e}`}:{}}async function mv(e){await fetch(`/api/system/resources/stream/${encodeURIComponent(e)}/ping`,{method:`POST`,headers:pv()}).catch(()=>{})}async function hv(e){await fetch(`/api/system/resources/stream/${encodeURIComponent(e)}`,{method:`DELETE`,headers:pv()}).catch(()=>{})}function gv(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 _v=null,vv=0,yv=0,bv=!1,xv=null,Sv=[],Cv=!1,wv=null,Tv=0,Ev=null,Dv=new Set;function Ov(){for(let e of Dv)e()}function kv(){Ev&&=(clearInterval(Ev),null);let e=wv;wv=null,e&&hv(e)}function Av(e){wv=e,Ev&&clearInterval(Ev),Ev=setInterval(()=>{let e=wv;e&&mv(e)},fv)}function jv(e){let t=Gn(),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 Mv(e){if(_v)return;Tv=0;let t=new EventSource(jv(e));bv=e,t.addEventListener(`session`,e=>{try{let t=JSON.parse(e.data);t.sid&&Av(t.sid)}catch{}}),t.addEventListener(`snapshot`,e=>{try{let t=JSON.parse(e.data);xv=t;let n={ts:t.ts,system:t.system,groups:Object.fromEntries(t.groups.map(e=>[e.key,{cpu:e.cpu,ramMB:e.ramMB}]))};Sv=[...Sv,n],Sv.length>900&&(Sv=Sv.slice(-900)),Sv=gv(Sv,60),Tv++,Cv=!0,Ov()}catch{}}),t.onerror=()=>{if(Cv=!1,kv(),_v&&=(_v.close(),null),Ov(),vv>0){let e=yv>0;setTimeout(()=>{!_v&&vv>0&&Mv(e)},5e3)}},t.onopen=()=>{Cv=!0,Ov()},_v=t}function Nv(){kv(),_v&&(_v.close(),_v=null,Cv=!1,Ov())}function Pv(){let e=yv>0;if(vv===0){Nv();return}if(!_v){Mv(e);return}bv!==e&&(Nv(),Mv(e))}function Fv(e={}){let[,t]=(0,Y.useState)(0),n=(0,Y.useRef)(!0),r=!!e.processes,i=(0,Y.useCallback)(()=>{n.current&&t(e=>e+1)},[]);return(0,Y.useEffect)(()=>(n.current=!0,Dv.add(i),vv++,r&&yv++,Pv(),()=>{n.current=!1,Dv.delete(i),vv--,r&&yv--,Pv()}),[i,r]),{latest:xv,history:Sv,isConnected:Cv,tickCount:Tv}}function Iv(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 Lv(){let e=Lr(),t=mr(e=>e.open),n=mr(e=>e.focus),r=W(e=>e.openTab);return(0,Y.useCallback)(()=>{let i=Iv(e,Object.values(mr.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 Rv(e){return e>80?`text-error`:e>50?`text-warning`:`text-success`}var zv=(0,Y.memo)(function({compact:e=!1}){let{latest:t,isConnected:n}=Fv(),r=Lv(),i=Lr();if(!n||!t)return e?null:(0,X.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,X.jsx)(xn,{className:`size-3 opacity-50`}),(0,X.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,X.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,X.jsxs)(`span`,{className:Rv(a),children:[`CPU `,a.toFixed(0),`%`]}),(0,X.jsxs)(`span`,{className:`text-text-secondary`,children:[`MEM `,c]})]}):(0,X.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,X.jsx)(xn,{className:V(`size-3`,Rv(a))}),(0,X.jsx)(`span`,{className:Rv(a),children:i?`${a.toFixed(0)}%`:`CPU ${a.toFixed(1)}%`}),(0,X.jsx)(`span`,{className:`text-text-subtle`,children:`|`}),(0,X.jsx)(`span`,{className:`text-text-secondary`,children:o<1024?`${o.toFixed(0)}MB`:`${(o/1024).toFixed(1)}GB`}),!i&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`span`,{className:`text-text-subtle`,children:`|`}),(0,X.jsxs)(`span`,{className:`text-text-subtle`,children:[s,` proc`]})]})]})}),Bv=(e,t)=>`${e}\u0000${t}`,Vv=Kn(e=>({files:{},publish:(t,n,r)=>e(e=>{let i=Bv(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=Bv(t,n);if(!e.files[r])return e;let{[r]:i,...a}=e.files;return{files:a}})}));function Hv(e,t){return t?Object.fromEntries(Object.entries(e).filter(([,e])=>e.projectName===t)):e}function Uv(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 Wv(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 Gv(){let e=H(e=>e.openInDock);return(0,Y.useCallback)(()=>{e({type:`problems`,title:`Problems`,projectId:null,closable:!0})},[e])}var Kv=(0,Y.memo)(function(){let e=Vv(ju(e=>e.files)),t=U(e=>e.activeProject?.name??null),n=Gv(),{errors:r,warnings:i}=Uv(Hv(e,t));return(0,X.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,X.jsxs)(`span`,{className:V(`flex items-center gap-1`,r>0&&`text-error`),children:[(0,X.jsx)(ft,{className:`size-[11px]`}),r]}),(0,X.jsxs)(`span`,{className:V(`flex items-center gap-1`,i>0&&`text-warning`),children:[(0,X.jsx)(bn,{className:`size-[11px]`}),i]})]})});function qv({swatch:e,className:t}){return(0,X.jsx)(`span`,{className:V(`inline-flex overflow-hidden rounded-md border border-border shrink-0`,t),"aria-hidden":!0,children:e.map((e,t)=>(0,X.jsx)(`span`,{className:`w-3 h-6`,style:{background:e}},t))})}var Jv=(0,Y.memo)(function(){let e=z(e=>e.themeStyle),t=z(e=>e.themeMode),n=z(e=>e.customThemeId),r=z(e=>e.customThemes),i=z(e=>e.setThemeStyle),a=z(e=>e.setThemeMode),o=z(e=>e.setCustomTheme),s=Bi(e,t,r,n),c=e=>{let t=zi[e];t&&(i(t.style),a(t.mode))};return(0,X.jsxs)($l,{children:[(0,X.jsx)(tu,{asChild:!0,children:(0,X.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,X.jsx)(Ke,{className:`size-[11px]`}),(0,X.jsx)(`span`,{className:`truncate max-w-[90px] @max-3xl:hidden`,children:s.name})]})}),(0,X.jsxs)(nu,{side:`top`,align:`end`,className:`w-56`,children:[(0,X.jsx)(su,{children:`Theme`}),Ri.map(e=>{let t=zi[e];if(!t)return null;let n=s.id===e;return(0,X.jsxs)(ru,{onClick:()=>c(e),className:`gap-2`,children:[(0,X.jsx)(qv,{swatch:t.swatch}),(0,X.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),(0,X.jsx)(jn,{className:V(`size-4 shrink-0`,n?`opacity-100`:`opacity-0`)})]},e)}),r.length>0&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(su,{children:`Imported`}),r.map(t=>{let r=e===`custom`&&n===t.id;return(0,X.jsxs)(ru,{onClick:()=>o(t.id),className:`gap-2`,children:[(0,X.jsx)(qv,{swatch:t.swatch}),(0,X.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),(0,X.jsx)(jn,{className:V(`size-4 shrink-0`,r?`opacity-100`:`opacity-0`)})]},t.id)})]})]})]})}),Yv=`https://raw.githubusercontent.com/hienlh/ppm/main/CHANGELOG.md`;function Xv(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 Zv=/^##\s*\[(\d+\.\d+\.\d+)\]\s*(?:-\s*(.+))?\s*$/;function Qv(e){let t=e.split(/\r?\n/),n=[],r=null,i=[],a=()=>{r&&(r.body=i.join(`
|
|
22
|
+
`).trim(),n.push(r)),i.length=0};for(let e of t){let t=e.match(Zv);t?(a(),r={version:t[1],date:(t[2]??``).trim(),body:``}):r&&i.push(e)}return a(),n}function $v(e){return e.reduce((e,t)=>e&&Xv(t.version,e)<=0?e:t.version,null)}async function ey(){let e=await fetch(`${Yv}?t=${Date.now()}`,{cache:`no-store`});if(!e.ok)throw Error(`CHANGELOG fetch failed (${e.status})`);return e.text()}async function ty(e=10){return Qv(await ey()).slice(0,e)}var ny=6e4,ry=`ppm-upgrade-dismissed-`,iy=`https://github.com/hienlh/ppm/releases`,ay=`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(ay):sessionStorage.setItem(ay,t||`1`)})();function oy(){if(typeof window>`u`)return null;let e=sessionStorage.getItem(ay);return e===null?null:e===`1`?``:e}function sy(e){let[t=0,n=0]=e.split(`.`).map(e=>parseInt(e,10)||0);return`${t}.${n+1}.0`}async function cy(){if(`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload()}async function ly(){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 cy()}function uy(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 dy({align:e=`right`}){let t=z(e=>e.version),[n,r]=(0,Y.useState)(null),[i,a]=(0,Y.useState)(null),[o,s]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)(!1),[u,d]=(0,Y.useState)(!1),[f,p]=(0,Y.useState)(!1),[m,h]=(0,Y.useState)(!1),[g,_]=(0,Y.useState)(null),[v,y]=(0,Y.useState)(!1),b=(0,Y.useCallback)(async(e=!1)=>{try{let t=await L.get(e?`/api/upgrade?refresh=1`:`/api/upgrade`);r(t.currentVersion),t.availableVersion?(a(t.availableVersion),h(!!sessionStorage.getItem(ry+t.availableVersion))):a(null)}catch{}},[]);(0,Y.useEffect)(()=>{b();let e=setInterval(()=>b(),ny);return()=>clearInterval(e)},[b]),(0,Y.useEffect)(()=>{o&&b(!0)},[o,b]);let x=n??t,S=oy(),C=S!==null,w=S||(x?sy(x):`9.9.9`),T=i&&x&&Xv(i,x)>0?i:null;(0,Y.useEffect)(()=>{!o||!x||(y(!0),ty().then(_).catch(()=>_([])).finally(()=>y(!1)))},[o,x]);let E=(0,Y.useMemo)(()=>{if(!g||!x)return null;let e=$v(g);return e&&Xv(e,x)>0?e:null},[g,x]),D=T??E??(C?w:null),O=!!D&&!m,k=(0,Y.useMemo)(()=>{if(!g||!O||C||!x)return g;let e=g.filter(e=>Xv(e.version,x)>0);return e.length>0?e:g},[g,O,C,x]),A=(0,Y.useCallback)(()=>{l(!1),d(!0),p(!0),ly()},[]),j=(0,Y.useCallback)(async()=>{l(!0),s(!1);try{let e=await L.post(`/api/upgrade/apply`);e.restart?A():(R.info(e.message||`Upgrade installed. Restart PPM manually.`),l(!1),D&&sessionStorage.setItem(ry+D,`1`),h(!0))}catch(e){uy(e)?A():/already on latest/i.test(e.message)?(R.info(`v${D} is announced but not published yet — try again shortly.`),l(!1)):(R.error(`Upgrade failed: ${e.message}`),l(!1))}},[D,A]),ee=(0,Y.useCallback)(()=>{D&&sessionStorage.setItem(ry+D,`1`),h(!0),s(!1)},[D]);return!x&&!O?null:u?(0,X.jsx)(`button`,{onClick:()=>{p(!0),ly()},disabled:f,className:`flex items-center gap-1 px-1 rounded-sm text-success hover:brightness-110 transition-[filter] disabled:opacity-70`,title:f?`Applying update — reconnecting to the server…`:`Reload to apply the update`,children:f?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(F,{className:`size-3 animate-spin`}),` Updating, reconnecting…`]}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(rt,{className:`size-3`}),` Reload`]})}):c?(0,X.jsxs)(`span`,{className:`flex items-center gap-1 px-1 text-success`,children:[(0,X.jsx)(F,{className:`size-3 animate-spin`}),` Updating…`]}):(0,X.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,X.jsxs)(`button`,{onClick:()=>x&&s(e=>!e),title:O?`Update available: v${D}`:`PPM v${x} — release notes`,className:V(`flex items-center gap-1 px-1 rounded-sm transition-colors`,O?`text-success hover:brightness-110`:`hover:text-text`),children:[O&&(0,X.jsx)(Rt,{className:`size-3`}),(0,X.jsxs)(`span`,{children:[O&&(0,X.jsx)(`span`,{className:`@max-3xl:hidden`,children:`New version · `}),`v`,O?D:x]})]}),o&&x&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>s(!1)}),(0,X.jsxs)(`div`,{className:V(`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,X.jsxs)(`div`,{className:`flex items-center gap-2.5 px-3 py-3 border-b border-border-soft`,children:[(0,X.jsx)(`span`,{className:V(`flex items-center justify-center size-[26px] shrink-0 rounded-lg`,O?`bg-success/20`:`bg-accent/15`),children:O?(0,X.jsx)(Rt,{className:`size-[15px] text-success`}):(0,X.jsx)(Me,{className:`size-[15px] text-accent`})}),(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsx)(`div`,{className:`text-[13px] font-semibold text-text leading-tight`,children:O?`Update available`:`Release notes`}),(0,X.jsx)(`div`,{className:`text-[11px] text-text-3 font-mono mt-0.5`,children:O?`v${x} → v${D}`:`PPM v${x}`})]})]}),(0,X.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,X.jsxs)(`span`,{className:`flex items-center gap-2 text-text-3`,children:[(0,X.jsx)(F,{className:`size-3.5 animate-spin`}),` Loading release notes…`]}):k&&k.length>0?(0,X.jsx)(`div`,{className:`space-y-2.5`,children:k.map(e=>(0,X.jsx)(py,{version:e.version,body:e.body},e.version))}):(0,X.jsx)(`span`,{className:`text-text-3`,children:O?`A new version of PPM is available. Open the release notes for details.`:`No release notes available right now.`})}),(0,X.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-3 pb-3`,children:[O&&(0,X.jsxs)(`button`,{onClick:C&&!T?()=>{R.info(`Test mode — no real update to install`),s(!1)}:j,className:`flex items-center justify-center gap-1.5 w-full py-2 rounded-lg bg-success text-[12.5px] font-bold text-[#04130c] hover:brightness-105 transition-[filter]`,children:[(0,X.jsx)(Tn,{className:`size-3.5`}),` Update now`]}),(0,X.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,X.jsxs)(`a`,{href:iy,target:`_blank`,rel:`noopener noreferrer`,className:`flex-1 flex items-center justify-center gap-1.5 py-2 rounded-lg border border-border bg-panel text-xs font-medium text-text-2 hover:text-text transition-colors`,children:[(0,X.jsx)(Mt,{className:`size-3`}),` Release notes`]}),O&&(0,X.jsx)(`button`,{onClick:ee,className:`px-3 py-2 rounded-lg border border-border text-xs text-text-3 hover:text-text-2 transition-colors`,children:`Later`})]})]})]})]})]})}function fy(e){return e.replace(/\*\*(.+?)\*\*/g,`$1`).replace(/`([^`]+)`/g,`$1`)}function py({version:e,body:t}){let n=t.split(`
|
|
23
|
+
`);return(0,X.jsxs)(`div`,{children:[(0,X.jsxs)(`div`,{className:`text-[11px] font-mono font-semibold text-text mb-1`,children:[`v`,e]}),(0,X.jsx)(`div`,{className:`space-y-1`,children:n.map((e,t)=>{let n=e.trim();return n?n.startsWith(`### `)?(0,X.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wide text-text-3 pt-1`,children:n.slice(4)},t):n.startsWith(`- `)?(0,X.jsxs)(`div`,{className:`flex gap-1.5 text-text-2`,children:[(0,X.jsx)(`span`,{className:`text-text-3 shrink-0`,children:`•`}),(0,X.jsx)(`span`,{className:`min-w-0 break-words`,children:fy(n.slice(2))})]},t):(0,X.jsx)(`div`,{className:`text-text-2 break-words`,children:fy(n)},t):null})})]})}var my=Kn(e=>({active:!1,setActive:t=>e(e=>e.active===t?e:{active:t})})),hy=`Screen awake`,gy=`Screen is being kept on while this turn runs`,_y=(0,Y.memo)(function(){return my(e=>e.active)?(0,X.jsxs)(`span`,{className:`flex items-center gap-1 text-warning shrink-0`,title:gy,children:[(0,X.jsx)(Tt,{className:`size-3 shrink-0`}),(0,X.jsx)(`span`,{children:`awake`})]}):null}),vy=(0,Y.memo)(function(){return my(e=>e.active)?(0,X.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:gy,children:[(0,X.jsx)(Tt,{className:`size-3 shrink-0`}),(0,X.jsx)(`span`,{children:hy})]}):null});function yy(e,t){return e?e.tabs.filter(e=>!e.projectId||!t||e.projectId===t).length:0}var by=(0,Y.memo)(function(){let e=Sc(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,X.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,X.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0 overflow-hidden`,children:[(0,X.jsx)(xy,{}),(0,X.jsx)(Kv,{}),t.map(e=>(0,X.jsx)(Cy,{item:e},e.id)),(0,X.jsx)(Sy,{})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-3 shrink-0`,children:[(0,X.jsx)(_y,{}),(0,X.jsx)(zv,{compact:!0}),n.map(e=>(0,X.jsx)(Cy,{item:e},e.id)),(0,X.jsx)(Jv,{}),(0,X.jsx)(dy,{})]})]})}),xy=(0,Y.memo)(function(){let e=U(e=>e.activeProject?.name??null),t=bd(t=>e?t.meta.get(e):void 0);if(!t?.branch)return null;let{branch:n,ahead:r,behind:i,tracking:a}=t,o=!!a&&r===0&&i===0;return(0,X.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0`,children:[(0,X.jsxs)(`span`,{className:`flex items-center gap-1 text-primary min-w-0`,title:a?`Tracking ${a}`:`No upstream`,children:[(0,X.jsx)(Je,{className:`size-3 shrink-0`}),(0,X.jsx)(`span`,{className:`truncate max-w-[140px]`,children:n})]}),(r>0||i>0)&&(0,X.jsxs)(`span`,{className:`flex items-center gap-1.5 shrink-0 @max-xl:hidden`,children:[r>0&&(0,X.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,X.jsx)(Nt,{className:`size-3`}),r]}),i>0&&(0,X.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,X.jsx)(Dt,{className:`size-3`}),i]})]}),o&&(0,X.jsxs)(`span`,{className:`flex items-center gap-1 text-success shrink-0 @max-xl:hidden`,children:[(0,X.jsx)(jn,{className:`size-3`}),`synced`]})]})}),Sy=(0,Y.memo)(function(){let e=H(e=>e.dock.visible),t=yy(H(e=>e.panels[or]),U(e=>e.activeProject?.name??null));return(0,X.jsxs)(`button`,{onClick:()=>H.getState().toggleDock(),title:e?`Hide panel`:`Show panel`,"aria-label":e?`Hide panel`:`Show panel`,className:V(`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,X.jsx)(et,{className:`size-[11px]`}),t>0&&(0,X.jsx)(`span`,{children:t})]})}),Cy=(0,Y.memo)(function({item:e}){let t=(0,X.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,X.jsxs)(sa,{children:[(0,X.jsx)(ca,{asChild:!0,children:t}),(0,X.jsx)(la,{side:`top`,className:`text-xs`,children:e.tooltip})]}):t}),wy=`relative flex-1 min-h-0 overflow-hidden rounded-b-[8px] bg-panel`;function Ty(e,t,n){let r=si(e),[i]=(0,Y.useState)(()=>{let e=document.createElement(`div`);return e.className=wy,e});return(0,Y.useLayoutEffect)(()=>{let n=t.current;if(n)return n.append(i),ni(e,i),()=>{let t=ri(e);t&&fl()===t&&t.detach(),ni(e,null),i.remove()}},[i,t,e]),(0,Y.useLayoutEffect)(()=>{i.classList.toggle(`hidden`,n&&!r)},[i,n,r]),{body:i,pip:r}}function Ey({pip:e,minimized:t}){return(0,X.jsxs)(`div`,{className:V(`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,X.jsx)(`span`,{className:`text-xs text-text-2`,children:`Playing in picture-in-picture`}),(0,X.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 Dy(e){let t=`mac-folder-${(0,Y.useId)()}`;return(0,X.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,X.jsx)(`defs`,{children:(0,X.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,X.jsx)(`stop`,{offset:`0`,stopColor:`#7FC1FF`}),(0,X.jsx)(`stop`,{offset:`1`,stopColor:`#3E92E5`})]})}),(0,X.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,X.jsx)(`path`,{d:`M2.5 10.5h19V9.8H4.7A2 2 0 0 0 2.5 10.5Z`,fill:`#FFFFFF`,fillOpacity:`.3`})]})}function Oy(e){let t=`mac-folder-open-${(0,Y.useId)()}`;return(0,X.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,X.jsx)(`defs`,{children:(0,X.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,X.jsx)(`stop`,{offset:`0`,stopColor:`#8FCBFF`}),(0,X.jsx)(`stop`,{offset:`1`,stopColor:`#2F82D9`})]})}),(0,X.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,X.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 ky=`grid place-items-center size-6 rounded text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`;function Ay({id:e,className:t}){let n=si(e);if(!Gc())return null;let r=()=>{let t=ri(e);if(t){t.detach();return}let n=li(e);if(!n){R.error(`This window has nothing to pop out yet`);return}let r=mr.getState().windows[e]?.rect;ml(n,{width:r?.w??0,height:r?r.h-36:0,onDetach:()=>ei(e,null)}).then(t=>{if(!(!t||fl()!==t)){if(li(e)!==n){t.detach();return}ei(e,t),Wc(t.pipWindow.document)}}).catch(()=>{R.error(`Could not open the picture-in-picture window`)})},i=n?`Bring back from picture-in-picture`:`Open in picture-in-picture`;return(0,X.jsx)(`button`,{type:`button`,title:i,"aria-label":i,"aria-pressed":!!n,className:V(t??ky,n&&`text-primary`),onClick:r,children:(0,X.jsx)(je,{className:`size-3.5`})})}var jy=[{color:`#FF5F57`,label:`Close window`,Icon:_e},{color:`#FEBC2E`,label:`Minimize window`,Icon:be},{color:`#28C840`,label:`Maximize window`,Icon:vn}];function My({id:e,title:t,focused:n,titlebarProps:r,onMinimize:i,onToggleMaximize:a,onClose:o}){let{className:s,style:c,...l}=r,u=[o,i,a];return(0,X.jsxs)(`div`,{...l,"data-skin":`macos`,style:{height:36,fontFamily:`var(--x-font)`,...c},className:V(`group/titlebar relative flex items-center shrink-0 rounded-t-[var(--x-radius)] overflow-hidden`,`bg-[var(--x-titlebar-bg)] border-b border-border`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,s),children:[(0,X.jsx)(`div`,{className:`flex items-center gap-2 pl-3`,children:jy.map(({color:e,label:t,Icon:r},i)=>(0,X.jsx)(`button`,{type:`button`,"aria-label":t,onClick:u[i],className:`grid size-3 place-items-center rounded-full`,style:{backgroundColor:n?e:`#8E8E93`},children:(0,X.jsx)(r,{className:`size-2 text-black/60 can-hover:opacity-0 can-hover:group-hover/titlebar:opacity-100`,strokeWidth:3})},t))}),(0,X.jsx)(`span`,{className:V(`pointer-events-none flex-1 min-w-0 truncate text-center text-[13px] px-2`,n?`text-text`:`text-text-2`),children:t}),(0,X.jsx)(`div`,{className:`flex items-center pr-2`,children:(0,X.jsx)(Ay,{id:e})})]})}var Ny={id:`macos`,vocab:{home:`Home`,pinned:`Favorites`,known:`Locations`,drives:`Devices`},FolderIcon:Dy,FolderOpenIcon:Oy,chrome:My};function Py(e){return(0,X.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,X.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,X.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,X.jsx)(`path`,{d:`M4 9.2h16`,stroke:`#FFFFFF`,strokeOpacity:`.35`,strokeWidth:`1`})]})}function Fy(e){return(0,X.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,X.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,X.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 Iy=`grid place-items-center w-[46px] self-stretch text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`,Ly=V(Iy,`can-hover:hover:!bg-[#c42b1c] can-hover:hover:!text-white`);function Ry({id:e,kind:t,title:n,state:r,focused:i,titlebarProps:a,onMinimize:o,onToggleMaximize:s,onClose:c}){let{className:l,style:u,...d}=a;return(0,X.jsxs)(`div`,{...d,"data-skin":`windows`,style:{height:36,fontFamily:`var(--x-font)`,...u},className:V(`flex items-stretch shrink-0 rounded-t-[var(--x-radius)] overflow-hidden`,`bg-[var(--x-titlebar-bg)] border-b border-border`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,l),children:[(0,X.jsxs)(`div`,{className:`flex flex-1 min-w-0 items-center gap-2 px-2.5 cursor-default`,children:[t===`explorer`&&(0,X.jsx)(Py,{className:`size-4 shrink-0`}),(0,X.jsx)(`span`,{className:V(`truncate text-[12px]`,i?`text-text`:`text-text-2`),children:n})]}),(0,X.jsx)(Ay,{id:e,className:Iy}),(0,X.jsx)(`button`,{type:`button`,"aria-label":`Minimize window`,className:Iy,onClick:o,children:(0,X.jsx)(be,{className:`size-3.5`})}),(0,X.jsx)(`button`,{type:`button`,"aria-label":r===`maximized`?`Restore window`:`Maximize window`,className:Iy,onClick:s,children:r===`maximized`?(0,X.jsx)(dn,{className:`size-3`}):(0,X.jsx)(sn,{className:`size-3`})}),(0,X.jsx)(`button`,{type:`button`,"aria-label":`Close window`,className:Ly,onClick:c,children:(0,X.jsx)(_e,{className:`size-3.5`})})]})}var zy={id:`windows`,vocab:{home:`Home`,pinned:`Quick access`,known:`Folders`,drives:`Drives`},FolderIcon:Py,FolderOpenIcon:Fy,chrome:Ry};function By(){let e=z(e=>e.explorerSkin),{host:t}=jf();return e===`windows`?zy:e===`macos`?Ny:t?.platform===`win32`?zy:Ny}function Vy(e){let t=By().chrome;return(0,X.jsx)(t,{...e})}function Hy(e,t,n){return Math.max(t,Math.min(e,n))}var Uy={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 Wy(e,t,n){return t===0||Math.abs(t)===1/0?e**(n*5):e*t*n/(t+n*e)}function Gy(e,t,n,r=.15){return r===0?Hy(e,t,n):e<t?-Wy(t-e,n-t,r)+t:e>n?+Wy(e-n,n-t,r)+n:e}function Ky(e,[t,n],[r,i]){let[[a,o],[s,c]]=e;return[Gy(t,a,o,r),Gy(n,s,c,i)]}function qy(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 Jy(e){var t=qy(e,`string`);return typeof t==`symbol`?t:String(t)}function Yy(e,t,n){return t=Jy(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xy(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 Zy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Xy(Object(n),!0).forEach(function(t){Yy(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Xy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Qy={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 $y(e){return e?e[0].toUpperCase()+e.slice(1):``}var eb=[`enter`,`leave`];function tb(e=!1,t){return e&&!eb.includes(t)}function nb(e,t=``,n=!1){let r=Qy[e],i=r&&r[t]||t;return`on`+$y(e)+$y(i)+(tb(n,i)?`Capture`:``)}var rb=[`gotpointercapture`,`lostpointercapture`];function ib(e){let t=e.substring(2).toLowerCase(),n=!!~t.indexOf(`passive`);n&&(t=t.replace(`passive`,``));let r=rb.includes(t)?`capturecapture`:`capture`,i=!!~t.indexOf(r);return i&&(t=t.replace(`capture`,``)),{device:t,capture:i,passive:n}}function ab(e,t=``){let n=Qy[e];return e+(n&&n[t]||t)}function ob(e){return`touches`in e}function sb(e){return ob(e)?`touch`:`pointerType`in e?e.pointerType:`mouse`}function cb(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 lb(e){return e.type===`touchend`||e.type===`touchcancel`?e.changedTouches:e.targetTouches}function ub(e){return ob(e)?lb(e)[0]:e}function db(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 fb(e){return cb(e).map(e=>e.identifier)}function pb(e,t){let[n,r]=Array.from(e.touches).filter(e=>t.includes(e.identifier));return db(n,r)}function mb(e){let t=ub(e);return ob(e)?t.identifier:t.pointerId}function hb(e){let t=ub(e);return[t.clientX,t.clientY]}var gb=40,_b=800;function vb(e){let{deltaX:t,deltaY:n,deltaMode:r}=e;return r===1?(t*=gb,n*=gb):r===2&&(t*=_b,n*=_b),[t,n]}function yb(e){let{scrollX:t,scrollY:n,scrollLeft:r,scrollTop:i}=e.currentTarget;return[t??r??0,n??i??0]}function bb(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 xb(e,...t){return typeof e==`function`?e(...t):e}function Sb(){}function Cb(...e){return e.length===0?Sb:e.length===1?e[0]:function(){let t;for(let n of e)t=n.apply(this,arguments)||t;return t}}function wb(e,t){return Object.assign({},t,e||{})}var Tb=32,Eb=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?xb(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,bb(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);Uy.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=xb(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=Ky(t._bounds,t.offset,b),t.delta=Uy.sub(t.offset,f),this.computeMovement(),p&&(!t.last||i>Tb)){t.delta=Uy.sub(t.offset,f);let e=t.delta.map(Math.abs);Uy.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(Zy(Zy(Zy({},t),e),{},{[this.aliasKey]:e.values}));r!==void 0&&(e.memo=r)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}};function Db([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 Ob=class extends Eb{constructor(...e){super(...e),Yy(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=Uy.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=Uy.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[sb(e)]:n.axisThreshold;t.axis=Db(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}}},kb=e=>e,Ab=.15,jb={enabled(e=!0){return e},eventOptions(e,t,n){return Zy(Zy({},n.shared.eventOptions),e)},preventDefault(e=!1){return e},triggerAllEvents(e=!1){return e},rubberband(e=0){switch(e){case!0:return[Ab,Ab];case!1:return[0,0];default:return Uy.toVector(e)}},from(e){if(typeof e==`function`)return e;if(e!=null)return Uy.toVector(e)},transform(e,t,n){let r=e||n.shared.transform;return this.hasCustomTransform=!!r,r||kb},threshold(e){return Uy.toVector(e,0)}},Mb=0,Nb=Zy(Zy({},jb),{},{axis(e,t,{axis:n}){if(this.lockDirection=n===`lock`,!this.lockDirection)return n},axisThreshold(e=Mb){return e},bounds(e={}){if(typeof e==`function`)return t=>Nb.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]]}}),Pb={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]},Fb=class extends Ob{constructor(...e){super(...e),Yy(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=Nb.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=mb(e),n._pointerActive=!0,this.computeValues(hb(e)),this.computeInitial(),t.preventScrollAxis&&sb(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=mb(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;let i=hb(e);if(document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=Uy.sub(i,t._values),this.computeValues(i)),Uy.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=mb(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,Ib(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=Pb[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,Uy.addTo(n._movement,n._delta),this.compute(e),this.emit()}}keyUp(e){e.key in Pb&&(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 Ib(e){`persist`in e&&typeof e.persist==`function`&&e.persist()}var Lb=typeof window<`u`&&window.document&&window.document.createElement;function Rb(){return Lb&&`ontouchstart`in window}function zb(){return Rb()||Lb&&window.navigator.maxTouchPoints>1}function Bb(){return Lb&&`onpointerdown`in window}function Vb(){return Lb&&`exitPointerLock`in window.document}function Hb(){try{return`constructor`in GestureEvent}catch{return!1}}var Ub={isBrowser:Lb,gesture:Hb(),touch:Rb(),touchscreen:zb(),pointer:Bb(),pointerLock:Vb()},Wb=250,Gb=180,Kb=.5,qb=50,Jb=250,Yb=10,Xb={mouse:0,touch:0,pen:8},Zb=Zy(Zy({},Nb),{},{device(e,t,{pointer:{touch:n=!1,lock:r=!1,mouse:i=!1}={}}){return this.pointerLock=r&&Ub.pointerLock,Ub.touch&&n?`touch`:this.pointerLock?`mouse`:Ub.pointer&&!i?`pointer`:Ub.touch?`touch`:`mouse`},preventScrollAxis(e,t,{preventScroll:n}){if(this.preventScrollDelay=typeof n==`number`?n:n||n===void 0&&e?Wb:void 0,!(!Ub.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=Uy.toVector(e,n?r:i?1:0);return this.filterTaps=n,this.tapsThreshold=r,a},swipe({velocity:e=Kb,distance:t=qb,duration:n=Jb}={}){return{velocity:this.transform(Uy.toVector(e)),distance:this.transform(Uy.toVector(t)),duration:n}},delay(e=0){switch(e){case!0:return Gb;case!1:return 0;default:return e}},axisThreshold(e){return e?Zy(Zy({},Xb),e):Xb},keyboardDisplacement(e=Yb){return e}});function Qb(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 $b=30,ex=100,tx=class extends Eb{constructor(...e){super(...e),Yy(this,`ingKey`,`pinching`),Yy(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=Uy.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)*$b-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=pb(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=db(...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=pb(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=db(...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=Uy.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=[-vb(e)[1]/ex*t.offset[0],0],Uy.addTo(t._movement,t._delta),Qb(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})}},nx=Zy(Zy({},jb),{},{device(e,t,{shared:n,pointer:{touch:r=!1}={}}){if(n.target&&!Ub.touch&&Ub.gesture)return`gesture`;if(Ub.touch&&r)return`touch`;if(Ub.touchscreen){if(Ub.pointer)return`pointer`;if(Ub.touch)return`touch`}},bounds(e,t,{scaleBounds:n={},angleBounds:r={}}){let i=e=>{let t=wb(xb(n,e),{min:-1/0,max:1/0});return[t.min,t.max]},a=e=>{let t=wb(xb(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`,Uy.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey(e){return e===void 0?`ctrlKey`:e},pinchOnWheel(e=!0){return e}}),rx=class extends Ob{constructor(...e){super(...e),Yy(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(hb(e)),this.compute(e),this.computeInitial(),this.emit()}moveChange(e){if(!this.state._active)return;let t=hb(e),n=this.state;n._delta=Uy.sub(t,n._values),Uy.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))}},ix=Zy(Zy({},Nb),{},{mouseOnly:(e=!0)=>e}),ax=class extends Ob{constructor(...e){super(...e),Yy(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=yb(e);t._delta=Uy.sub(n,t._values),Uy.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))}},ox=Nb,sx=class extends Ob{constructor(...e){super(...e),Yy(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=vb(e),Uy.addTo(t._movement,t._delta),Qb(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))}},cx=Nb,lx=class extends Ob{constructor(...e){super(...e),Yy(this,`ingKey`,`hovering`)}enter(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.start(e),this.computeValues(hb(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=hb(e);t._movement=t._delta=Uy.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))}},ux=Zy(Zy({},Nb),{},{mouseOnly:(e=!0)=>e}),dx=new Map,fx=new Map;function px(e){dx.set(e.key,e.engine),fx.set(e.key,e.resolver)}var mx={key:`drag`,engine:Fb,resolver:Zb},hx={key:`hover`,engine:lx,resolver:ux},gx={key:`move`,engine:rx,resolver:ix},_x={key:`pinch`,engine:tx,resolver:nx},vx={key:`scroll`,engine:ax,resolver:ox},yx={key:`wheel`,engine:sx,resolver:cx};function bx(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 xx(e,t){if(e==null)return{};var n=bx(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 Sx={target(e){if(e)return()=>`current`in e?e.current:e},enabled(e=!0){return e},window(e=Ub.isBrowser?window:void 0){return e},eventOptions({passive:e=!0,capture:t=!1}={}){return{passive:e,capture:t}},transform(e){return e}},Cx=[`target`,`eventOptions`,`window`,`enabled`,`transform`];function wx(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]=wx(e[r],i);break;case`boolean`:i&&(n[r]=e[r]);break}return n}function Tx(e,t,n={}){let r=e,{target:i,eventOptions:a,window:o,enabled:s,transform:c}=r,l=xx(r,Cx);if(n.shared=wx({target:i,eventOptions:a,window:o,enabled:s,transform:c},Sx),t){let e=fx.get(t);n[t]=wx(Zy({shared:n.shared},l),e)}else for(let e in l){let t=fx.get(e);t&&(n[e]=wx(Zy({shared:n.shared},l[e]),t))}return n}var Ex=class{constructor(e,t){Yy(this,`_listeners`,new Set),this._ctrl=e,this._gestureKey=t}add(e,t,n,r,i){let a=this._listeners,o=ab(t,n),s=Zy(Zy({},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()}},Dx=class{constructor(){Yy(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()}},Ox=class{constructor(e){Yy(this,`gestures`,new Set),Yy(this,`_targetEventStore`,new Ex(this)),Yy(this,`gestureEventStores`,{}),Yy(this,`gestureTimeoutStores`,{}),Yy(this,`handlers`,{}),Yy(this,`config`,{}),Yy(this,`pointerIds`,new Set),Yy(this,`touchIds`,new Set),Yy(this,`state`,{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),Ax(this,e)}setEventIds(e){if(ob(e))return this.touchIds=new Set(fb(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=Tx(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=jx(n,i.eventOptions,!!r);i.enabled&&new(dx.get(t))(this,e,t).bind(a)}let i=jx(n,t.eventOptions,!!r);for(let t in this.nativeHandlers)i(t,``,n=>this.nativeHandlers[t](Zy(Zy({},this.state.shared),{},{event:n,args:e})),void 0,!0)}for(let e in n)n[e]=Cb(...n[e]);if(!r)return n;for(let e in n){let{device:t,capture:i,passive:a}=ib(e);this._targetEventStore.add(r,t,``,n[e],{capture:i,passive:a})}}}};function kx(e,t){e.gestures.add(t),e.gestureEventStores[t]=new Ex(e,t),e.gestureTimeoutStores[t]=new Dx}function Ax(e,t){t.drag&&kx(e,`drag`),t.wheel&&kx(e,`wheel`),t.scroll&&kx(e,`scroll`),t.move&&kx(e,`move`),t.pinch&&kx(e,`pinch`),t.hover&&kx(e,`hover`)}var jx=(e,t,n)=>(r,i,a,o={},s=!1)=>{let c=o.capture??t.capture,l=o.passive??t.passive,u=s?r:nb(r,i,c);n&&l&&(u+=`Passive`),e[u]=e[u]||[],e[u].push(a)},Mx=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function Nx(e){let t={},n={},r=new Set;for(let i in e)Mx.test(i)?(r.add(RegExp.lastMatch),n[i]=e[i]):t[i]=e[i];return[n,t,r]}function Px(e,t,n,r,i,a){if(!e.has(n)||!dx.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 Fx(e,t){let[n,r,i]=Nx(e),a={};return Px(i,n,`onDrag`,`drag`,a,t),Px(i,n,`onWheel`,`wheel`,a,t),Px(i,n,`onScroll`,`scroll`,a,t),Px(i,n,`onPinch`,`pinch`,a,t),Px(i,n,`onMove`,`move`,a,t),Px(i,n,`onHover`,`hover`,a,t),{handlers:a,config:t,nativeHandlers:r}}function Ix(e,t={},n,r){let i=Y.useMemo(()=>new Ox(e),[]);if(i.applyHandlers(e,r),i.applyConfig(t,n),Y.useEffect(i.effect.bind(i)),Y.useEffect(()=>i.clean.bind(i),[]),t.target===void 0)return i.bind.bind(i)}function Lx(e,t){return px(mx),Ix({drag:e},t||{},`drag`)}function Rx(e){return e.forEach(px),function(e,t){let{handlers:n,nativeHandlers:r,config:i}=Fx(e,t||{});return Ix(n,i,void 0,r)}}function zx(e,t){return Rx([mx,_x,vx,yx,gx,hx])(e,t||{})}var Bx={filterTaps:!0,pointer:{capture:!0}};function Vx(e,t){return!e&&t===void 0}function Hx(e,t,n){let r=n>0?n:1;return{dx:(e[0]-t[0])/r,dy:(e[1]-t[1])/r}}function Ux(e){return Lx(({xy:t,initial:n,first:r,last:i,memo:a})=>{if(Vx(r,a)){i&&e.onGestureActive(!1);return}let o=r?{...e.getRect()}:a;r&&e.onGestureActive(!0);let{dx:s,dy:c}=Hx(t,n,e.getScale()),l=cr({...o,x:o.x+s,y:o.y+c},e.getBounds());return e.onChange(l,i),i&&e.onGestureActive(!1),o},{...Bx,enabled:!e.disabled})}var Wx=10,Gx=1,Kx={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};function qx(e){return(0,Y.useCallback)(t=>{if(t.key===`Escape`){t.stopPropagation(),e.onClose();return}if(t.altKey&&t.key===`Enter`){t.preventDefault(),e.onToggleMaximize();return}let n=Kx[t.key];if(!n||!e.movable)return;t.preventDefault();let r=t.shiftKey?Gx:Wx;e.onMove(dr(e.getRect(),n[0]*r,n[1]*r,e.getBounds()))},[e])}function Jx(e){return Lx(({args:t,xy:n,initial:r,first:i,last:a,memo:o})=>{if(Vx(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}=Hx(n,r,e.getScale()),d=cr(lr(c,s,l,u),e.getBounds());return e.onChange(d,a),a&&e.onGestureActive(!1),c},{...Bx,enabled:!e.disabled})}var Yx={edge:6,corner:12},Xx={edge:12,corner:20},Zx={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 Qx(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 $x({bind:e}){let t=rs(`(pointer: coarse)`)?Xx:Yx;return(0,X.jsx)(X.Fragment,{children:fr.map(n=>(0,X.jsx)(`div`,{...e(n),"data-resize-handle":n,"aria-hidden":!0,className:Zx[n],style:Qx(n,t)},n))})}function eS(e,t,n){e&&(e.style.transform=`translate3d(${Math.round(t.x)}px, ${Math.round(t.y)}px, 0)`,e.style.width=`${Math.round(t.w)}px`,e.style.height=n?`36px`:`${Math.round(t.h)}px`)}function tS({win:e,bounds:t,title:n,focused:r,getScale:i,onGestureActive:a,children:o}){let s=(0,Y.useRef)(null),[c,l]=(0,Y.useState)(!1),u=e.state===`maximized`,d=e.state===`minimized`,f=u?{x:0,y:0,w:t.w,h:t.h}:e.rect,{body:p,pip:m}=Ty(e.id,s,d),h=(0,Y.useRef)(f);h.current=f;let g=(0,Y.useRef)(t);g.current=t,(0,Y.useLayoutEffect)(()=>{eS(s.current,h.current,d)},[f.x,f.y,f.w,f.h,d]);let _=(0,Y.useCallback)(e=>{l(e),a(e)},[a]),v=(0,Y.useCallback)((t,n)=>{eS(s.current,t,mr.getState().windows[e.id]?.state===`minimized`),n&&mr.getState().move(e.id,{x:t.x,y:t.y})},[e.id]),y=(0,Y.useCallback)((t,n)=>{eS(s.current,t,!1),n&&mr.getState().resize(e.id,t)},[e.id]),b={getRect:()=>h.current,getBounds:()=>g.current,getScale:i,onGestureActive:_},x=Ux({...b,onChange:v,disabled:u}),S=Jx({...b,onChange:y,disabled:u||d}),C=(0,Y.useCallback)(()=>mr.getState().close(e.id),[e.id]),w=(0,Y.useCallback)(()=>{mr.getState().setState(e.id,u?`normal`:`maximized`)},[e.id,u]),T=(0,Y.useCallback)(()=>{mr.getState().setState(e.id,d?`normal`:`minimized`)},[e.id,d]),E=qx({getRect:()=>h.current,getBounds:()=>g.current,onMove:t=>mr.getState().move(e.id,{x:t.x,y:t.y}),onToggleMaximize:w,onClose:C,movable:!u}),D=!!m&&ii(e.id);return(0,X.jsxs)(`div`,{ref:s,role:`group`,"aria-roledescription":`window`,"aria-label":n,onPointerDownCapture:()=>mr.getState().focus(e.id),style:{zIndex:pr(e.rank)},className:V(`absolute left-0 top-0 flex flex-col pointer-events-auto`,`rounded-[8px] border border-border bg-panel overflow-visible`,r?`shadow-2xl shadow-black/40`:`shadow-lg shadow-black/20`,c?`transition-none`:`transition-[transform,width,height] duration-150 motion-reduce:transition-none`,D&&`hidden`),children:[(0,X.jsx)(Vy,{id:e.id,kind:e.kind,title:n,state:e.state,focused:r,titlebarProps:{...x(),onKeyDown:E,tabIndex:0,role:`toolbar`,"aria-label":`${n} title bar`,style:{touchAction:`none`,userSelect:`none`}},onMinimize:T,onToggleMaximize:w,onClose:C}),m&&!D&&(0,X.jsx)(Ey,{pip:m,minimized:d}),!u&&!d&&(0,X.jsx)($x,{bind:e=>S(e)}),(0,Bl.createPortal)((0,X.jsx)(Xn,{container:m?.pipWindow.document.body,children:o}),p)]})}var nS={explorer:(0,Y.lazy)(()=>B(()=>import(`./explorer-window-content-BIsbl7Th.js`),__vite__mapDeps([79,1,2,3,4,80,7,26,8,10,36,11,53,54,12,13,14,35,56,43,16,31,18,24,9,81,39,40]))),"team-member":(0,Y.lazy)(()=>B(()=>import(`./team-member-window-content-Bctg2gmg.js`),__vite__mapDeps([82,1,2,3,4,7,8,27,28,29,16,30,31,10,18,11]))),"system-monitor":(0,Y.lazy)(()=>B(()=>import(`./system-monitor-window-content-ClPo4-El.js`),__vite__mapDeps([83,2,1,3,4,8,11,10,73,7,16]))),"tab-host":(0,Y.lazy)(()=>B(()=>import(`./tab-host-window-content-d2TAD4PU.js`),__vite__mapDeps([84,1,2,3,4,11,10,81,18,7,13,35,16]))),"remote-desktop":(0,Y.lazy)(()=>B(()=>import(`./remote-desktop-window-content-CguhZMmx.js`),__vite__mapDeps([85,1,2,3,4,24,7,8,9,10,11,86,16,17,18,20,87,40,13]))),settings:(0,Y.lazy)(()=>B(()=>import(`./settings-window-content-3_39TeX-.js`),__vite__mapDeps([88,2,1,3,4,24,7,11,10,68,55,69,16])))};function rS(e,t){let n=t?.title;if(typeof n==`string`&&n.trim())return n;if(e===`team-member`){let e=t?.memberName;return typeof e==`string`&&e?`Session — ${e}`:`Team member`}if(e===`system-monitor`)return`System Monitor`;if(e===`remote-desktop`)return`Remote Desktop`;if(e===`settings`)return`Settings`;if(e===`tab-host`)return`Tab`;let r=t?.path;if(e===`explorer`&&typeof r==`string`&&r){let e=r.split(/[\\/]/).filter(Boolean);return e[e.length-1]??r}return`Explorer`}function iS(){return Lr()?null:(0,X.jsx)(aS,{})}function aS(){let e=(0,Y.useRef)(null),t=mr(e=>e.windows),n=mr(e=>e.bounds),[r,i]=(0,Y.useState)(!1);(0,Y.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=()=>{let e=t.getBoundingClientRect(),n=t.offsetWidth>0?e.width/t.offsetWidth:1;return{w:Math.round(e.width/n),h:Math.round(e.height/n)}},r=mr.getState();r.setBounds(n()),r.restoreAll(n());let i=new ResizeObserver(()=>mr.getState().setBounds(n()));return i.observe(t),()=>i.disconnect()},[]);let a=(0,Y.useCallback)(()=>{let t=e.current;return!t||t.offsetWidth===0?1:t.getBoundingClientRect().width/t.offsetWidth},[]),o=ur(t),s=o[o.length-1]?.id;return(0,X.jsxs)(`div`,{ref:e,className:`absolute inset-0 overflow-hidden pointer-events-none`,children:[o.map(e=>{let t=nS[e.kind];return(0,X.jsx)(tS,{win:e,bounds:n,title:rS(e.kind,e.payload),focused:e.id===s,getScale:a,onGestureActive:i,children:(0,X.jsx)(Y.Suspense,{fallback:(0,X.jsx)(`div`,{className:`p-3 text-xs text-text-2`,children:`Loading…`}),children:(0,X.jsx)(t,{id:e.id,payload:e.payload})})},e.id)}),r&&(0,X.jsx)(`div`,{className:`absolute inset-0 pointer-events-auto`,style:{zIndex:38}})]})}function oS(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 sS=`ppm:tab-sort-mode`;function cS(){try{return localStorage.getItem(sS)===`recent`?`recent`:`default`}catch{return`default`}}function lS({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,Y.useState)(``),p=ps(e=>e.notifications),m=Yr(e=>e.sessions),[h,g]=(0,Y.useState)(cS),_=(0,Y.useCallback)(e=>{g(e);try{localStorage.setItem(sS,e)}catch{}},[]),{groups:v,total:y}=oS(r,i,a,d,{sortMode:h,recency:l}),b=(0,Y.useRef)(null),x=(0,Y.useCallback)(e=>{c&&(b.current=setTimeout(()=>c(e),400))},[c]),S=(0,Y.useCallback)(()=>{b.current&&=(clearTimeout(b.current),null)},[]);function C(e){if(H.getState().setActiveTab(e.id,i[e.id]),e.type===`chat`){let t=e.metadata?.sessionId;t&&ps.getState().clearForSession(t)}t()}function w(e,t){t.stopPropagation(),H.getState().closeTab(e.id,i[e.id])}function T(){t(),n()}return(0,X.jsxs)(Pi,{open:e,onClose:t,className:`max-h-[72vh] flex flex-col`,children:[(0,X.jsxs)(`div`,{className:`shrink-0 flex items-center gap-2 pl-4 pr-3 pt-1 pb-2.5`,children:[(0,X.jsx)(`span`,{className:`text-[13px] font-semibold text-text-primary`,children:`Open Tabs`}),(0,X.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,X.jsx)(`div`,{className:`flex-1`}),(0,X.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,X.jsx)(`button`,{onClick:()=>_(e),"aria-pressed":h===e,className:V(`h-7 px-2.5 rounded-md text-[11px] font-medium transition-colors select-none`,h===e?`bg-primary/10 text-primary`:`text-text-secondary active:bg-surface-elevated`),children:t},e))}),(0,X.jsx)(`button`,{onClick:T,title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-8 rounded-full border border-dashed border-border text-text-subtle active:bg-surface-elevated`,children:(0,X.jsx)(vn,{className:`size-4`})})]}),(0,X.jsx)(`div`,{className:`shrink-0 px-3 pb-2`,children:(0,X.jsxs)(`div`,{className:`flex items-center gap-2 h-10 px-3 rounded-xl bg-background border border-border`,children:[(0,X.jsx)(Yt,{className:`size-4 text-text-subtle shrink-0`}),(0,X.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,X.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto overscroll-contain px-2 pb-2`,children:y===0?(0,X.jsx)(`p`,{className:`text-center text-[13px] text-text-subtle py-6`,children:`No tabs match`}):v.map(e=>(0,X.jsxs)(`div`,{className:`mb-1`,children:[e.label&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2 pt-2 pb-1`,children:[(0,X.jsx)(Lt,{className:`size-3 text-text-subtle`}),(0,X.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.05em] text-text-subtle`,children:e.label}),(0,X.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle`,children:e.tabs.length})]}),e.tabs.map(e=>{let t=Al(e),n=e.id===o,r=e.type===`chat`?e.metadata?.sessionId:void 0,i=r?u[r]?.color:void 0,a=r?p.get(r):void 0,c=a&&a.count>0?a.type:null,l=!!a?.manual,d=r?m.has(r):!1,f=i??(e.projectId&&s?s:void 0);return(0,X.jsxs)(`button`,{onClick:()=>C(e),onTouchStart:()=>x(e.id),onTouchEnd:S,onTouchMove:S,onTouchCancel:S,onContextMenu:e=>e.preventDefault(),className:V(`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,X.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-[3px] rounded-r-sm`,style:{backgroundColor:f??`transparent`}}),(0,X.jsxs)(`span`,{className:V(`relative shrink-0`,d&&`text-warning`),children:[d?(0,X.jsx)(wt,{className:`size-4`}):(0,X.jsx)(t,{className:V(`size-4`,n?`text-primary`:`text-text-secondary`)}),d?(0,X.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,X.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,X.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,X.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):c&&(!n||l)?(0,X.jsx)(`span`,{className:V(`absolute -top-1 -right-1 size-2 rounded-full`,us(c))}):null]}),(0,X.jsx)(`span`,{className:V(`flex-1 text-left text-sm font-medium truncate`,n?`text-primary`:`text-text-primary`),children:e.title}),n&&(0,X.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),e.closable&&(0,X.jsx)(`span`,{role:`button`,tabIndex:0,onClick:t=>w(e,t),className:`flex items-center justify-center size-8 rounded-lg text-text-subtle active:bg-surface-elevated shrink-0`,children:(0,X.jsx)(_e,{className:`size-4`})})]},e.id)})]},e.panelId))})]})}function uS({onMenuPress:e,onProjectsPress:t}){let n=H(e=>e.focusedPanelId),r=H(e=>e.panels),i=H(e=>e.grid),a=H(e=>e.dock),o=H(e=>e.dockExpanded),s=Fi(!0)?.keyboardOpen??!1,c=Lr(),l=H(e=>e.currentProject),{tabs:u,tabPanelMap:d}=(0,Y.useMemo)(()=>{let e=i.flat(),t=[],n={};for(let i of e){let e=r[i];if(e)for(let r of e.tabs)r.projectId&&l&&r.projectId!==l||(t.push(r),n[r.id]=i)}return{tabs:t,tabPanelMap:n}},[r,i,l]),f=(0,Y.useMemo)(()=>{let e=e=>typeof e.metadata?.lastActiveAt==`number`?e.metadata.lastActiveAt:-1,t=new Map;return[...u].filter(t=>e(t)>=0).sort((t,n)=>e(n)-e(t)).forEach((e,n)=>t.set(e.id,n)),t},[u]),p=i.flat(),m=p.includes(n)?n:p[0],h=(m?r[m]?.activeTabId:null)??null,g=ps(e=>e.notifications),_=Fs(e=>e.selection),[v,y]=(0,Y.useState)({}),[b,x]=(0,Y.useState)(null),[S,C]=(0,Y.useState)(!1),[w,T]=(0,Y.useState)(null),[E,D]=(0,Y.useState)(``),O=u.find(e=>e.id===h)??null,k=r[or],A=yy(k,l),j=b?u.find(e=>e.id===b):null,ee=r[b?d[b]??n:n]?.tabs??[],te=b?ee.findIndex(e=>e.id===b):-1,M=j?.type===`chat`?j.metadata?.sessionId:void 0,N=M?(g.get(M)?.count??0)>0:!1,ne=j?.metadata?.filePath,re=j?.metadata?.projectName,ie=_!=null&&!!re&&_.projectName===re&&_.filePath!==ne;function ae(e){x(null),T(e.id),D(e.title)}async function oe(){let e=u.find(e=>e.id===w),t=e?.metadata?.sessionId,n=E.trim();if(!e||!t||!n||!l){T(null);return}try{await L.patch(`${I(l)}/chat/sessions/${t}`,{title:n}),H.getState().updateTab(e.id,{title:n})}catch{}T(null)}function se(e){let t=d[e]??n,r=H.getState().panels[t]?.tabs??[];for(let n of r)n.id!==e&&n.closable&&H.getState().closeTab(n.id,t);x(null)}function P(e){let t=d[e]??n,r=H.getState().panels[t]?.tabs??[],i=r.findIndex(t=>t.id===e);for(let e=i+1;e<r.length;e++)r[e].closable&&H.getState().closeTab(r[e].id,t);x(null)}function ce(e){let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return;let r=e.metadata?.unsavedContent;Fs.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:Jn(t)}),x(null)}async function le(e){let t=e.metadata?.filePath,n=e.metadata?.projectName,r=Fs.getState().selection;if(!r||!t||!n)return;let i=e.metadata?.unsavedContent;try{await Ls({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),Fs.getState().clearSelection()}catch(e){R.error(e instanceof Error?e.message:`Compare failed`)}x(null)}function ue(e){let t=e.metadata?.sessionId,n=e.metadata?.projectName;t&&n&&ps.getState().markUnread(t,n,e.title),x(null)}let[de,fe]=(0,Y.useState)(null);function pe(e,t){let n=e.metadata?.filePath,r=e.metadata?.projectName;switch(t){case`copy-path`:n&&vl(n);break;case`copy-full-path`:if(n){let e=r?U.getState().projects.find(e=>e.name===r):null;vl(e?`${e.path}/${n}`:n)}break;case`download`:n&&r&&fi(r,n);break;case`rename`:case`delete`:n&&fe({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}x(null)}let{activeProject:me}=U.getState(),{activeProject:he,projects:ve,customOrder:ye}=U(ju(e=>({activeProject:e.activeProject,projects:e.projects,customOrder:e.customOrder}))),{projectTags:be,loadTags:xe}=os(he?.name),Se=(0,Y.useCallback)(async(e,t)=>{if(he?.name){try{if(t!==null){await L.patch(`${I(he.name)}/chat/sessions/${e}/tag`,{tagId:t});let n=be.find(e=>e.id===t);n&&y(t=>({...t,[e]:{id:n.id,name:n.name,color:n.color}}))}else await L.del(`${I(he.name)}/chat/sessions/${e}/tag`),y(t=>{let n={...t};return delete n[e],n});xe()}catch{}x(null)}},[he?.name,be,xe]),Ce=u.filter(e=>e.type===`chat`&&e.metadata?.sessionId).map(e=>e.metadata.sessionId);(0,Y.useEffect)(()=>{!he?.name||Ce.length===0||L.get(`${I(he.name)}/chat/sessions?limit=50`).then(e=>{let t={};for(let n of e.sessions)n.tag&&(t[n.id]=n.tag);y(t)}).catch(()=>{})},[he?.name,Ce.join(`,`)]);let we=hr(ve,ye??null),Te=we.map(e=>e.name),Ee=we.findIndex(e=>e.name===he?.name),De=he?$g(he.color,Ee>=0?Ee:0):`#4f86c6`,Oe=O?Al(O):null;return(0,X.jsxs)(`nav`,{className:`fixed bottom-0 left-0 right-0 md:hidden bg-background border-t border-border z-40 select-none`,children:[(0,X.jsxs)(`div`,{className:`flex items-center h-12`,children:[(0,X.jsxs)(`div`,{className:`flex items-center shrink-0 border-r border-border`,children:[(0,X.jsx)(`button`,{onClick:e,"aria-label":`Open menu`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,X.jsx)(Ht,{className:`size-5`})}),(0,X.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,X.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,title:`Switch project`,children:he?(0,X.jsx)(t_,{name:he.name,color:De,image:he.image,size:28,allNames:Te}):(0,X.jsx)(it,{className:`size-5`})}),(0,X.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,X.jsxs)(`button`,{onClick:()=>H.getState().toggleDock(),title:a.visible?`Hide panel`:`Show panel`,"aria-label":a.visible?`Hide panel`:`Show panel`,className:V(`relative flex items-center justify-center size-12 shrink-0 transition-colors`,a.visible?`text-primary bg-primary/10`:`text-text-secondary`),children:[(0,X.jsx)(In,{className:`size-5`}),A>0&&(0,X.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,X.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,X.jsx)(`button`,{onClick:()=>Ec(),title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,X.jsx)(vn,{className:`size-5`})})]}),O&&Oe?(0,X.jsxs)(`button`,{onClick:()=>C(!0),className:`flex-1 min-w-0 flex items-center gap-2 h-12 px-3 border-t-2 border-primary bg-surface`,children:[(0,X.jsx)(Oe,{className:`size-4 text-primary shrink-0`}),(0,X.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-left text-xs font-medium text-primary`,children:O.title}),(0,X.jsx)(`span`,{className:`px-1.5 h-[18px] inline-flex items-center rounded-md border border-border bg-surface-elevated text-[10px] font-mono text-text-secondary shrink-0`,children:u.length}),(0,X.jsx)(Ge,{className:`size-3.5 text-text-subtle shrink-0`})]}):(0,X.jsxs)(`button`,{onClick:()=>Ec(),className:`flex-1 flex items-center gap-1.5 h-12 px-3 text-text-secondary text-xs`,children:[(0,X.jsx)(vn,{className:`size-4`}),` New Tab`]})]}),(0,X.jsx)(lS,{open:S,onClose:()=>C(!1),onOpenPalette:()=>Ec(),tabs:u,tabPanelMap:d,panelOrder:i.flat(),activeTabId:h,projectColor:he?De:null,onTabLongPress:e=>x(e),recency:f,sessionTagMap:v}),(0,X.jsxs)(Pi,{open:!!j,onClose:()=>x(null),className:`select-none`,children:[(0,X.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-secondary border-b border-border truncate`,children:j?.title}),M&&(0,X.jsxs)(`button`,{onClick:()=>ae(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(ge,{className:`size-4`}),` Rename`]}),j?.type===`editor`&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`button`,{onClick:()=>pe(j,`copy-path`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(dn,{className:`size-4`}),` Copy Path`]}),(0,X.jsxs)(`button`,{onClick:()=>pe(j,`copy-full-path`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(dn,{className:`size-4`}),` Copy Full Path`]}),(0,X.jsxs)(`button`,{onClick:()=>pe(j,`download`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(Tn,{className:`size-4`}),` Download`]}),(0,X.jsxs)(`button`,{onClick:()=>pe(j,`rename`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(ge,{className:`size-4`}),` Rename`]}),(0,X.jsxs)(`button`,{onClick:()=>pe(j,`delete`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-error active:bg-surface-elevated`,children:[(0,X.jsx)(Nn,{className:`size-4`}),` Delete`]}),(0,X.jsx)(`div`,{className:`h-px bg-border mx-2`}),(0,X.jsxs)(`button`,{onClick:()=>ce(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(Lt,{className:`size-4`}),` Select for Compare`]}),ie&&(0,X.jsxs)(`button`,{onClick:()=>le(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(Lt,{className:`size-4`}),` Compare with Selected (`,_.label,`)`]}),(0,X.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),M&&!N&&(0,X.jsxs)(`button`,{onClick:()=>ue(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(Bn,{className:`size-4 fill-primary text-primary`}),` Mark as unread`]}),M&&be.length>0&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`px-3 pt-2 pb-1 text-xs text-text-secondary flex items-center gap-2`,children:[(0,X.jsx)(zn,{className:`size-3.5`}),` Set Tag`]}),be.map(e=>(0,X.jsxs)(`button`,{onClick:()=>Se(M,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,X.jsx)(`span`,{className:`size-2.5 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,v[M]?.id===e.id&&(0,X.jsx)(jn,{className:`size-3.5 ml-auto`})]},e.id)),v[M]&&(0,X.jsx)(`button`,{onClick:()=>Se(M,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,X.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),j?.closable&&(0,X.jsxs)(`button`,{onClick:()=>{H.getState().closeTab(b),x(null)},className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(_e,{className:`size-4`}),` Close`]}),ee.some(e=>e.id!==b&&e.closable)&&(0,X.jsxs)(`button`,{onClick:()=>se(b),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(mt,{className:`size-4`}),` Close Others`]}),te>=0&&te<ee.length-1&&(0,X.jsxs)(`button`,{onClick:()=>P(b),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,X.jsx)(Be,{className:`size-4`}),` Close to the Right`]})]}),(0,X.jsx)(Pi,{open:!!w,onClose:()=>T(null),children:(0,X.jsxs)(`div`,{className:`px-4 pt-1 pb-3`,children:[(0,X.jsx)(`div`,{className:`text-[13px] font-semibold text-text-primary mb-2`,children:`Rename chat`}),(0,X.jsx)(`input`,{autoFocus:!0,value:E,onChange:e=>D(e.target.value),onKeyDown:e=>{e.key===`Enter`&&oe()},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,X.jsxs)(`div`,{className:`flex gap-2 mt-3`,children:[(0,X.jsx)(`button`,{onClick:()=>T(null),className:`flex-1 h-11 rounded-xl border border-border text-sm text-text-secondary active:bg-surface-elevated`,children:`Cancel`}),(0,X.jsx)(`button`,{onClick:oe,className:`flex-1 h-11 rounded-xl bg-primary text-primary-foreground text-sm font-medium active:opacity-90`,children:`Save`})]})]})}),de&&(0,X.jsx)(Cl,{node:de.node,projectName:me?.name??``,onClose:()=>fe(null),onRefresh:()=>{me&&Nr.getState().fetchTree(me.name),de.action===`delete`&&H.getState().closeTab(de.tabId)}}),c&&(0,X.jsx)(Pi,{open:a.visible,onClose:()=>H.getState().setDockVisible(!1),zIndex:60,className:V(`flex flex-col`,s?`h-[calc(var(--sheet-vh,100dvh)+var(--sheet-kb,0px))]`:o?`h-[calc(var(--sheet-vh,100dvh)*0.92)]`:`h-[calc(var(--sheet-vh,100dvh)*0.6)]`),children:(0,X.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 overflow-hidden`,children:(0,X.jsx)(_u,{variant:`mobile`})})})]})}var dS=64,fS=350,pS=10;function mS(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 hS({tabs:e,activeId:t,onSelect:n,onReorder:r}){let i=(0,Y.useRef)(null),[a,o]=(0,Y.useState)(0),[s,c]=(0,Y.useState)(null),[l,u]=(0,Y.useState)(null),d=(0,Y.useRef)(null),f=(0,Y.useRef)(null),[p,m]=(0,Y.useState)(!1),h=(0,Y.useRef)(null),g=(0,Y.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,Y.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,Y.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/dS)):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(mS(e.map(e=>e.id),d.current,t)),y()},k=(e,t)=>V(`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,X.jsxs)(`div`,{ref:i,className:`flex items-center overflow-hidden`,children:[w.map(e=>{let r=e.icon;return(0,X.jsxs)(`button`,{"data-tabid":e.id,style:{width:dS},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),fS)},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>pS||n>pS)&&b()}},onTouchEnd:()=>{b(),d.current&&f.current?O(f.current):y(),g.current=null},onTouchCancel:()=>{b(),y(),g.current=null},children:[(0,X.jsx)(r,{className:`size-4`}),(0,X.jsx)(`span`,{children:e.shortLabel??e.label}),(0,X.jsx)(yg,{id:e.badge,variant:`corner`,className:`top-1 right-2 shadow-none`})]},e.id)}),S&&(0,X.jsxs)(`button`,{style:{width:dS},onClick:()=>m(!0),className:V(`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,X.jsx)(Xe,{className:`size-4`}),(0,X.jsx)(`span`,{children:`More`})]}),(0,X.jsx)(Pi,{open:p,onClose:()=>m(!1),children:(0,X.jsxs)(`div`,{className:`px-2 pb-3 pt-1`,children:[(0,X.jsx)(`div`,{className:`px-2 py-1 text-xs text-text-secondary`,children:`More tabs`}),D.map(e=>{let r=e.icon;return(0,X.jsxs)(`button`,{onClick:()=>{n(e.id),m(!1)},className:V(`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,X.jsx)(r,{className:`size-4 shrink-0`}),(0,X.jsx)(`span`,{children:e.label}),(0,X.jsx)(yg,{id:e.badge})]},e.id)})]})})]})}var gS=new Set([`history`,`teams`,`explorer`,`git`,`database`,`tunnels`,`ai-resources`,`jira`]),_S=e=>gS.has(e)||e.startsWith(`ext:`);function vS({icon:e,label:t,badge:n,onClick:r}){return(0,X.jsxs)(`button`,{onClick:r,className:`group relative flex flex-col items-center justify-center gap-1 rounded-lg py-2.5 text-text-subtle hover:bg-surface-elevated hover:text-text-secondary transition-colors`,children:[(0,X.jsx)(e,{className:`size-4`}),(0,X.jsx)(`span`,{className:`text-[10px] leading-none`,children:t}),(0,X.jsx)(yg,{id:n,variant:`corner`})]})}function yS({isOpen:e,onClose:t,initialTab:n}){let{activeProject:r}=U(ju(e=>({activeProject:e.activeProject}))),i=z(e=>e.version),a=z(e=>e.jiraEnabled),o=z(e=>e.sidebarTabOrder),s=z(e=>e.setSidebarTabOrder),c=Sc(e=>e.contributions),{available:l}=d_(),u=s_(),[d,f]=(0,Y.useState)(n??`explorer`),[p,m]=(0,Y.useState)(!1),h=(0,Y.useMemo)(()=>m_(p_({jiraEnabled:a,contributions:c}),o).filter(e=>_S(e.id)),[a,c,o]);(0,Y.useEffect)(()=>{n&&f(n)},[n]),(0,Y.useEffect)(()=>{h.length>0&&!h.some(e=>e.id===d)&&f(h[0].id)},[h,d]),(0,Y.useEffect)(()=>{let e=()=>{Rr()&&m(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[]);let g=(0,Y.useCallback)(()=>rv(i),[i]),_=(0,X.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,X.jsxs)(`div`,{className:V(`fixed inset-0 z-50 md:hidden transition-opacity duration-200`,e?`opacity-100`:`opacity-0 pointer-events-none`),children:[(0,X.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t,"aria-label":`Close drawer`}),(0,X.jsxs)(`div`,{className:V(`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,X.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b border-border shrink-0`,children:[(0,X.jsx)(`span`,{className:`text-sm font-bold text-primary tracking-tight`,children:r?.name??`PPM`}),(0,X.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-8 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,X.jsx)(_e,{className:`size-4`})})]}),(0,X.jsxs)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:[d===`history`&&(r?(0,X.jsx)(gg,{variant:`sidebar`,projectName:r.name,onNavigate:t}):_),d===`teams`&&(r?(0,X.jsx)(zg,{}):_),d===`explorer`&&(r?(0,X.jsx)(xp,{onFileOpen:t}):_),d===`git`&&(0,X.jsx)(Yp,{metadata:{projectName:r?.name},onNavigate:t}),d===`database`&&(0,X.jsx)(xm,{}),d===`tunnels`&&(0,X.jsx)(sg,{}),d===`jira`&&(0,X.jsx)(eh,{}),d===`ai-resources`&&(0,X.jsx)(Fh,{}),d.startsWith(`ext:`)&&(0,X.jsx)(Om,{viewId:d.slice(4),className:`h-full`})]}),(0,X.jsxs)(`div`,{className:`shrink-0 border-t border-border`,children:[(0,X.jsx)(hS,{tabs:h,activeId:d,onSelect:f,onReorder:s}),(0,X.jsxs)(`div`,{className:`border-t border-border px-3 py-2`,children:[(0,X.jsxs)(`div`,{className:`grid grid-cols-4 gap-1`,children:[(0,X.jsx)(vS,{icon:Qt,label:`Files`,badge:`os-explorer`,onClick:()=>{t(),Lf()}}),l&&(0,X.jsx)(vS,{icon:dt,label:`Remote`,badge:`remote-desktop`,onClick:()=>{t(),u()}}),(0,X.jsx)(vS,{icon:xt,label:`Cloud`,onClick:()=>m(!0)}),(0,X.jsx)(vS,{icon:mn,label:`Settings`,onClick:()=>{t(),wc()}}),(0,X.jsx)(vS,{icon:Fn,label:`Bug`,onClick:g})]}),(0,X.jsx)(`div`,{className:`mt-2 pt-2 border-t border-border px-1 text-[11px]`,children:(0,X.jsx)(dy,{align:`left`})})]})]})]}),(0,X.jsx)(Pi,{open:p,onClose:()=>m(!1),zIndex:60,children:(0,X.jsx)(Q_,{variant:`sheet`,onClose:()=>m(!1)})})]})}function bS({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}=U(ju(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=z(e=>e.version),h=hr(n,d),g=h.map(e=>e.name),[_,v]=(0,Y.useState)(`list`),[y,b]=(0,Y.useState)(``),x=(0,Y.useMemo)(()=>_r(),[e]),S=(0,Y.useMemo)(()=>Vg(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,Y.useCallback)(e=>{window.open(Gg(e,null),`_blank`,`noopener`)},[]),[D,O]=(0,Y.useState)(null),[k,A]=(0,Y.useState)(``),[j,ee]=(0,Y.useState)(!1),te=(0,Y.useRef)(null),[M,N]=(0,Y.useState)(null),[ne,re]=(0,Y.useState)(``),ie=(0,Y.useRef)(null),[ae,oe]=(0,Y.useState)(null);async function se(e){let t=e.target.files?.[0];if(e.target.value=``,!(!t||!ae)){O(null);try{await o(ae,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}}}let P=(0,Y.useCallback)(e=>{te.current=setTimeout(()=>O(e),400)},[]),ce=(0,Y.useCallback)(()=>{te.current&&=(clearTimeout(te.current),null)},[]);function le(){v(`list`),t()}function ue(e){let t=n.find(t=>t.name===e);t&&(i(t),le())}function de(){v(`add`)}function fe(){le(),wc()}async function pe(){if(!M||!ne.trim()||ne===M){N(null);return}try{await l(M,ne.trim())}catch{}N(null)}async function me(e){O(null);try{await u(e)}catch{}}async function he(e,t){try{await a(e,t),ee(!1),O(null)}catch(e){console.error(`Failed to save color:`,e)}}let ve=D?h.find(e=>e.name===D):null,ye=D?h.findIndex(e=>e.name===D):-1,be=D?[{label:`Open in New Tab`,icon:Mt,onClick:()=>{E(D),O(null)}},{label:`Rename`,icon:ge,onClick:()=>{re(D),N(D),O(null)}},{label:`Change Color`,icon:Ke,onClick:()=>{let e=h.findIndex(e=>e.name===D),t=h[e];A($g(t?.color,e)),ee(!0)}},{label:`Change Image`,icon:yt,onClick:()=>{oe(D),ie.current?.click()}},...ve?.image?[{label:`Remove Image`,icon:Nn,onClick:()=>{s(D).catch(()=>{}),O(null)}}]:[],{label:`Copy Path`,icon:dn,onClick:()=>{ve&&vl(ve.path),O(null)}},...T&&ye>0?[{label:`Move Up`,icon:Ge,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(ye,1);e.splice(ye-1,0,t),c(e),O(null)}}]:[],...T&&ye<h.length-1?[{label:`Move Down`,icon:Ye,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(ye,1);e.splice(ye+1,0,t),c(e),O(null)}}]:[],{label:`Delete`,icon:Nn,destructive:!0,onClick:()=>me(D)}]:[];return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`input`,{ref:ie,type:`file`,accept:`image/*`,className:`hidden`,onChange:se}),(0,X.jsxs)(Pi,{open:e,onClose:le,className:`bg-background`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_===`add`&&(0,X.jsx)(`button`,{onClick:()=>v(`list`),className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,X.jsx)(nn,{className:`size-4`})}),(0,X.jsx)(`span`,{className:`text-sm font-semibold`,children:_===`add`?`Add Project`:`Projects`})]}),(0,X.jsx)(`button`,{onClick:le,className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,X.jsx)(_e,{className:`size-4`})})]}),_===`add`&&(0,X.jsx)(`div`,{className:`px-4 py-4`,children:(0,X.jsx)(n_,{onSuccess:()=>{v(`list`),t()},onCancel:()=>v(`list`),footerClassName:`pt-2`})}),_!==`add`&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 border-b border-border`,children:[(0,X.jsx)(Yt,{className:`size-4 text-text-subtle shrink-0`}),(0,X.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,X.jsx)(`div`,{className:`flex items-center gap-1 px-2 py-2 border-b border-border`,children:Bg.map(({mode:e,label:t,Icon:n})=>(0,X.jsxs)(`button`,{onClick:()=>p(e),className:V(`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,X.jsx)(n,{className:`size-3.5`}),` `,t]},e))})]}),(0,X.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=$g(e.color,t),i=r?.name===e.name,a=M===e.name,o=x[e.name];return(0,X.jsxs)(`div`,{className:V(`flex items-center gap-3 px-4 py-3 transition-colors active:bg-surface-elevated`,i&&`bg-accent/10`),onClick:()=>!a&&ue(e.name),onTouchStart:()=>P(e.name),onTouchEnd:ce,onTouchMove:ce,onTouchCancel:ce,children:[(0,X.jsx)(t_,{name:e.name,color:n,image:e.image,size:40,allNames:g}),(0,X.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[a?(0,X.jsx)(`input`,{type:`text`,value:ne,onChange:e=>re(e.target.value),onKeyDown:e=>{e.key===`Enter`&&pe(),e.key===`Escape`&&N(null)},onBlur:pe,onClick:e=>e.stopPropagation(),className:`w-full bg-transparent border-b border-primary text-sm outline-none`,autoFocus:!0}):(0,X.jsx)(`p`,{className:`text-sm font-medium truncate`,children:e.name}),(0,X.jsx)(`p`,{className:`text-xs text-text-subtle truncate`,children:e.path})]}),o&&!i&&(0,X.jsx)(`span`,{className:`shrink-0 text-[10px] text-text-subtle whitespace-nowrap`,children:is(new Date(o).toISOString())}),i&&(0,X.jsx)(jn,{className:`size-4 text-primary shrink-0`})]},e.name)}),w.length===0&&(0,X.jsx)(`div`,{className:`px-4 py-6 text-center text-sm text-text-subtle`,children:`No projects found`})]}),(0,X.jsx)(`div`,{className:`border-t border-border`,children:(0,X.jsxs)(`button`,{onClick:de,className:`w-full flex items-center gap-3 px-4 py-3 text-text-secondary hover:bg-surface-elevated transition-colors`,children:[(0,X.jsx)(vn,{className:`size-4 shrink-0`}),(0,X.jsx)(`span`,{className:`text-sm`,children:`Add Project`})]})}),(0,X.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-t border-border`,children:[(0,X.jsxs)(`button`,{onClick:fe,className:`flex items-center gap-2 text-text-secondary hover:text-foreground transition-colors`,children:[(0,X.jsx)(mn,{className:`size-4`}),(0,X.jsx)(`span`,{className:`text-sm`,children:`Settings`})]}),m&&(0,X.jsxs)(`span`,{className:`text-xs text-text-subtle`,children:[`v`,m]})]})]}),(0,X.jsxs)(Pi,{open:!!D&&!j,onClose:()=>O(null),zIndex:60,children:[(0,X.jsx)(`div`,{className:`px-4 py-2 border-b border-border`,children:(0,X.jsx)(`p`,{className:`text-xs font-medium text-text-secondary`,children:D})}),be.map(e=>{let t=e.icon;return(0,X.jsxs)(`button`,{onClick:e.onClick,className:V(`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,X.jsx)(t,{className:`size-4 shrink-0`}),e.label]},e.label)})]}),(0,X.jsxs)(Pi,{open:j&&!!D,onClose:()=>{ee(!1),O(null)},zIndex:60,className:`p-4 space-y-4`,children:[(0,X.jsx)(`p`,{className:`text-sm font-medium`,children:`Change Color`}),(0,X.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:Qg.map(e=>(0,X.jsx)(`button`,{type:`button`,onClick:()=>A(e),className:V(`size-9 rounded-full border-2 transition-all`,k===e?`border-primary scale-110`:`border-transparent`),style:{background:e}},e))}),(0,X.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,X.jsx)(`button`,{onClick:()=>{ee(!1),O(null)},className:`flex-1 py-2 text-sm text-text-secondary border border-border rounded-md`,children:`Cancel`}),(0,X.jsx)(`button`,{onClick:()=>he(D,k),className:`flex-1 py-2 text-sm bg-primary text-white rounded-md`,children:`Save`})]})]})]})}var xS=`https://wise.com/pay/me/lehongh`,SS=`/donate-qr.png`,CS=`LE HONG HIEN`,wS=`Techcombank`;function TS({children:e}){return(0,X.jsx)(`span`,{className:`font-mono text-[11px] font-medium uppercase tracking-wide text-text-subtle`,children:e})}function ES(){let[e,t]=(0,Y.useState)(!1);return(0,X.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,X.jsx)(`div`,{className:`flex size-11 items-center justify-center rounded-xl bg-surface-elevated`,children:(0,X.jsx)(ve,{className:`size-5 text-primary`})}),(0,X.jsx)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Support PPM`}),(0,X.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Thanks for keeping this project alive.`})]}),(0,X.jsxs)(`div`,{className:`grid gap-5 md:grid-cols-2 md:gap-6`,children:[(0,X.jsxs)(`section`,{className:`flex flex-col items-center gap-3`,children:[(0,X.jsx)(TS,{children:`Vietnam`}),e?(0,X.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,X.jsx)(bt,{className:`size-8`}),(0,X.jsx)(`span`,{className:`text-xs`,children:`QR code coming soon`})]}):(0,X.jsx)(`img`,{src:SS,alt:`Bank transfer QR code`,onError:()=>t(!0),className:`size-40 rounded-xl border border-border bg-white object-contain p-2`}),(0,X.jsxs)(`div`,{className:`text-center`,children:[(0,X.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:CS}),(0,X.jsx)(`p`,{className:`text-xs text-text-subtle`,children:wS})]}),(0,X.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,X.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,X.jsx)(TS,{children:`International`}),(0,X.jsx)(`p`,{className:`text-center text-sm text-text-secondary`,children:`Send an international transfer via Wise — multi-currency, low fees.`}),(0,X.jsx)(G,{asChild:!0,className:`w-full`,children:(0,X.jsxs)(`a`,{href:xS,target:`_blank`,rel:`noopener noreferrer`,children:[(0,X.jsx)(tt,{className:`size-4`}),`Support via Wise`]})})]})]})]})}function DS({open:e,onOpenChange:t}){return Lr()?(0,X.jsx)(Pi,{open:e,onClose:()=>t(!1),className:`popover-solid`,children:(0,X.jsx)(`div`,{className:`px-4 pb-4 pt-1`,children:(0,X.jsx)(ES,{})})}):(0,X.jsx)(Ei,{open:e,onOpenChange:t,children:(0,X.jsxs)(K,{className:`sm:max-w-xl`,children:[(0,X.jsx)(q,{className:`sr-only`,children:`Support PPM`}),(0,X.jsx)(ES,{})]})})}function OS(){let[e,t]=(0,Y.useState)(null),[n,r]=(0,Y.useState)(!1);(0,Y.useEffect)(()=>{function e(e){let n=e.detail;n&&(t(n),r(!1))}return window.addEventListener(`open-bug-report`,e),()=>window.removeEventListener(`open-bug-report`,e)},[]);let i=(0,Y.useCallback)(()=>t(null),[]);return e?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/50`,onClick:i}),(0,X.jsxs)(`div`,{className:`fixed inset-4 md:inset-auto md:top-[15%] md:left-1/2 md:-translate-x-1/2 md:w-full md:max-w-lg md:max-h-[70vh] z-50 flex flex-col bg-background border border-border rounded-lg shadow-2xl overflow-hidden`,children:[(0,X.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,X.jsx)(`span`,{className:`text-sm font-medium`,children:`Bug Report`}),(0,X.jsx)(`button`,{onClick:i,className:`p-1 rounded hover:bg-surface-elevated`,children:(0,X.jsx)(_e,{className:`size-4`})})]}),(0,X.jsx)(`pre`,{className:`flex-1 overflow-auto px-4 py-2 text-xs font-mono whitespace-pre-wrap break-all`,children:e}),(0,X.jsxs)(`div`,{className:`flex gap-2 p-3 border-t border-border`,children:[(0,X.jsxs)(`button`,{onClick:async()=>{await vl(e)&&r(!0)},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md bg-surface-elevated text-xs text-foreground hover:bg-surface transition-colors`,children:[n?(0,X.jsx)(jn,{className:`size-3`}):(0,X.jsx)(dn,{className:`size-3`}),n?`Copied`:`Copy`]}),(0,X.jsxs)(`button`,{onClick:()=>{nv(e),i()},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md bg-primary text-primary-foreground text-xs hover:bg-primary/90 transition-colors`,children:[(0,X.jsx)(Mt,{className:`size-3`}),`Open GitHub Issue`]})]})]})]}):null}var kS=[{value:`light`,label:`Light`,icon:Tt},{value:`dark`,label:`Dark`,icon:Se},{value:`system`,label:`System`,icon:Mn}],AS=(0,Y.memo)(function({className:e}){let t=z(e=>e.themeMode),n=z(e=>e.setThemeMode),r=kS.find(e=>e.value===t)??kS[2],i=r.icon;return(0,X.jsxs)($l,{children:[(0,X.jsx)(tu,{asChild:!0,children:(0,X.jsx)(`button`,{type:`button`,title:`Appearance: ${r.label}`,"aria-label":`Appearance: ${r.label}`,className:V(`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,X.jsx)(i,{className:`size-[18px]`})})}),(0,X.jsxs)(nu,{align:`end`,className:`w-44`,children:[(0,X.jsx)(su,{children:`Appearance`}),kS.map(e=>{let r=e.icon;return(0,X.jsxs)(ru,{onClick:()=>n(e.value),className:`gap-2`,children:[(0,X.jsx)(r,{className:`size-4 shrink-0`}),(0,X.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),(0,X.jsx)(jn,{className:V(`size-4 shrink-0`,t===e.value?`opacity-100`:`opacity-0`)})]},e.value)})]})]})}),jS=`https://github.com/hienlh/ppm`,MS={background:`radial-gradient(80% 60% at 50% -10%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 60%)`},NS={backgroundImage:`radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--text) 5%, transparent) 1px, transparent 0)`,backgroundSize:`26px 26px`};function PS({onSuccess:e}){let[t,n]=(0,Y.useState)(``),[r,i]=(0,Y.useState)(!1),a=z(e=>e.deviceName),o=z(e=>e.version),s=z(e=>e.tunnelActive),[c,l]=(0,Y.useState)(null),[u,d]=(0,Y.useState)(!1),[f,p]=(0,Y.useState)(!1),m=Lr(),h=z(e=>e.themeMode),g=z(e=>e.syncThemeToServer),_=h!==(0,Y.useRef)(h).current;async function v(n){if(n.preventDefault(),!t.trim()){l(`Enter your password to continue`);return}d(!0),l(null);try{Un(t.trim());let n=await(await fetch(`/api/auth/check`,{headers:{Authorization:`Bearer ${t.trim()}`}})).json();if(!n.ok)throw Error(n.error??`Invalid password`);_&&await g(),e()}catch(e){l(e instanceof Error?e.message:`Authentication failed`),localStorage.removeItem(`ppm-auth-token`)}finally{d(!1)}}return(0,X.jsxs)(`div`,{className:`app-backdrop relative min-h-dvh overflow-hidden flex items-center justify-center p-6`,children:[(0,X.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:MS}),(0,X.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:NS}),(0,X.jsx)(AS,{className:`absolute right-[max(1rem,env(safe-area-inset-right))] top-[max(1rem,env(safe-area-inset-top))]`}),(0,X.jsxs)(`div`,{className:`relative flex w-full max-w-[392px] flex-col items-center gap-[22px] text-center`,children:[(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,X.jsx)(`div`,{className:`flex size-16 items-center justify-center rounded-2xl border border-border bg-background shadow-float`,children:(0,X.jsx)(`div`,{className:`flex size-[52px] items-center justify-center rounded-xl bg-surface-elevated`,children:(0,X.jsx)(`span`,{className:`text-[15px] font-bold tracking-wide text-primary`,children:`PPM`})})}),(0,X.jsxs)(`div`,{children:[(0,X.jsx)(`h1`,{className:`mb-1.5 text-2xl font-semibold tracking-tight text-foreground`,children:`Unlock your workspace`}),(0,X.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Enter your access password to unlock`})]}),(0,X.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:[a&&(0,X.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,X.jsx)(m?zt:Mn,{className:`size-3 text-text-subtle`}),a]}),m?(s||o)&&(0,X.jsxs)(`span`,{className:V(`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,X.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),s?`tunnel · `:``,o?`v${o}`:``]}):(0,X.jsxs)(X.Fragment,{children:[o&&(0,X.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,X.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,X.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),`tunnel active`]})]})]})]}),(0,X.jsxs)(`form`,{onSubmit:v,className:`flex w-full flex-col gap-3`,children:[(0,X.jsxs)(`div`,{className:`relative w-full`,children:[(0,X.jsx)(Ii,{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,X.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,X.jsx)(On,{className:`size-[18px]`}):(0,X.jsx)(an,{className:`size-[18px]`})})]}),c&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-error`,children:[(0,X.jsx)(ln,{className:`size-[15px] shrink-0`}),(0,X.jsx)(`span`,{children:c})]}),(0,X.jsx)(G,{type:`submit`,disabled:u,className:`h-[50px] w-full text-[15px]`,children:u?`Checking…`:`Unlock`})]}),(0,X.jsx)(`div`,{className:`hidden h-px w-full bg-border md:block`}),(0,X.jsxs)(`div`,{className:`flex items-center justify-center gap-5`,children:[(0,X.jsxs)(`button`,{type:`button`,onClick:()=>rv(o),className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,X.jsx)(Fn,{className:`size-[18px] md:size-3.5`}),(0,X.jsx)(`span`,{className:`max-md:sr-only`,children:`Report Bug`})]}),(0,X.jsxs)(`a`,{href:jS,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,X.jsx)(Xi,{className:`size-[18px] md:size-3.5`}),(0,X.jsx)(`span`,{className:`max-md:sr-only`,children:`Repo`})]}),(0,X.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,X.jsx)(nt,{className:`size-[18px] md:size-3.5`}),(0,X.jsx)(`span`,{className:`max-md:sr-only`,children:`Buy me a coffee`})]})]})]}),(0,X.jsx)(DS,{open:f,onOpenChange:p}),(0,X.jsx)(OS,{})]})}function FS(){let e=z(e=>e.themeStyle),t=z(e=>e.themeMode),n=z(e=>e.customThemeId),r=z(e=>e.customThemes),[i,a]=(0,Y.useState)(0),o=(0,Y.useMemo)(()=>Bi(e,t,r,n),[e,t,r,n,i]);return(0,Y.useEffect)(()=>{Zr(o)},[o,i]),(0,Y.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 IS=Object.defineProperty,LS=Object.getOwnPropertyDescriptor,RS=Object.getOwnPropertyNames,zS=Object.prototype.hasOwnProperty,BS=(e,t)=>{let n={};for(var r in e)IS(n,r,{get:e[r],enumerable:!0});return t||IS(n,Symbol.toStringTag,{value:`Module`}),n},VS=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=RS(t),a=0,o=i.length,s;a<o;a++)s=i[a],!zS.call(e,s)&&s!==n&&IS(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=LS(t,s))||r.enumerable});return e},HS=(e,t,n)=>(VS(e,t,`default`),n&&VS(n,t,`default`)),US=[{id:`abap`,name:`ABAP`,import:(()=>B(()=>import(`./abap-IN2yINdN.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>B(()=>import(`./actionscript-3-C_t772eR.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>B(()=>import(`./ada-DPme3emm.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>B(()=>import(`./angular-html-G66FNlyn.js`).then(e=>e.n),__vite__mapDeps([89,1,90,91,92])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>B(()=>import(`./angular-ts-B-PnUMyt.js`),__vite__mapDeps([93,89,1,90,91,92,94])))},{id:`apache`,name:`Apache Conf`,import:(()=>B(()=>import(`./apache-CWr8s8I8.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>B(()=>import(`./apex-Z20JnDF5.js`),[]))},{id:`apl`,name:`APL`,import:(()=>B(()=>import(`./apl-BmDqqwE8.js`),__vite__mapDeps([95,91,1,90,92,96,97,98])))},{id:`applescript`,name:`AppleScript`,import:(()=>B(()=>import(`./applescript-BKNPu3ga.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>B(()=>import(`./ara-hWdY3O96.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>B(()=>import(`./asciidoc-eynhq496.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>B(()=>import(`./asm-Bu02Kq4P.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>B(()=>import(`./astro-BfwMNfxr.js`),__vite__mapDeps([99,91,1,92,96,100,101,102])))},{id:`awk`,name:`AWK`,import:(()=>B(()=>import(`./awk-B4ojezyv.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>B(()=>import(`./ballerina-B6Og3IKT.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>B(()=>import(`./bat-D8YFILfx.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>B(()=>import(`./beancount-BjlbBBuX.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>B(()=>import(`./berry-Cz1ygeoj.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>B(()=>import(`./bibtex-CVkJceJh.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>B(()=>import(`./bicep-DrhYI5GX.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>B(()=>import(`./bird2-BV-KJtmc.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>B(()=>import(`./blade-BsFV4pnN.js`),__vite__mapDeps([103,91,1,104,90,92,96,105,97,98])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>B(()=>import(`./bsl-Cw9Outng.js`),__vite__mapDeps([106,107])))},{id:`c`,name:`C`,import:(()=>B(()=>import(`./c-CuLlvxbG.js`).then(e=>e.n),__vite__mapDeps([108,1])))},{id:`c3`,name:`C3`,import:(()=>B(()=>import(`./c3-CI7-1CJ0.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>B(()=>import(`./cadence-DjxhNP3Q.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>B(()=>import(`./cairo-DOK5Wqnd.js`),__vite__mapDeps([109,110])))},{id:`clarity`,name:`Clarity`,import:(()=>B(()=>import(`./clarity-BWrJ7UmT.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>B(()=>import(`./clojure-C94fh2hb.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>B(()=>import(`./cmake-CtvCkMsG.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>B(()=>import(`./cobol-DRaRy4FK.js`),__vite__mapDeps([111,90,1,91,92,98])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>B(()=>import(`./codeowners-CJnubqzH.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>B(()=>import(`./codeql-BOoP5HY2.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>B(()=>import(`./coffee-DvXuBmEJ.js`),__vite__mapDeps([112,92,1])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>B(()=>import(`./common-lisp-B9nlMFJd.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>B(()=>import(`./coq-CgzIQiSH.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>B(()=>import(`./cpp-zCmm8rKA.js`).then(e=>e.n),__vite__mapDeps([113,1,114,108,115,105])))},{id:`crystal`,name:`Crystal`,import:(()=>B(()=>import(`./crystal-CdQx6lB6.js`),__vite__mapDeps([116,108,1,91,90,92,117,105])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>B(()=>import(`./csharp-4xAIx3jw.js`),[]))},{id:`css`,name:`CSS`,import:(()=>B(()=>import(`./css-D4YoLYGn.js`).then(e=>e.n),__vite__mapDeps([91,1])))},{id:`csv`,name:`CSV`,import:(()=>B(()=>import(`./csv-C2v-ZakW.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>B(()=>import(`./cue-Bbznh_an.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>B(()=>import(`./cypher-BKhVEARF.js`),[]))},{id:`d`,name:`D`,import:(()=>B(()=>import(`./d-D6IhWopl.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>B(()=>import(`./dart-Bj6S9O1j.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>B(()=>import(`./dax-CF2zvaqq.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>B(()=>import(`./desktop-CnmyxMKE.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>B(()=>import(`./diff-Qi8WuJsI.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>B(()=>import(`./docker-vLbbNP5d.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>B(()=>import(`./dotenv-DJMvvNzn.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>B(()=>import(`./dream-maker-D5YQyK49.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>B(()=>import(`./edge-E8QLt7oi.js`),__vite__mapDeps([118,104,90,1,91,92,102])))},{id:`elixir`,name:`Elixir`,import:(()=>B(()=>import(`./elixir-DPb_-72P.js`),__vite__mapDeps([119,90,1,91,92])))},{id:`elm`,name:`Elm`,import:(()=>B(()=>import(`./elm-BMzJY5b0.js`),__vite__mapDeps([120,114,1,108])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>B(()=>import(`./emacs-lisp-CGTjbiqF.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>B(()=>import(`./erb-AABQNtMK.js`),__vite__mapDeps([121,90,1,91,92,122,108,113,114,115,105,123,124,101,102,125,126,117,97,98,127])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>B(()=>import(`./erlang-CEIKOkfP.js`),__vite__mapDeps([128,129])))},{id:`fennel`,name:`Fennel`,import:(()=>B(()=>import(`./fennel-BCyHNUwf.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>B(()=>import(`./fish-DDDlLV2G.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>B(()=>import(`./fluent-By54R9tl.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>B(()=>import(`./fortran-fixed-form-CrXvLHyi.js`),__vite__mapDeps([130,131])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>B(()=>import(`./fortran-free-form-tP8mRym_.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>B(()=>import(`./fsharp-DCI4qAz_.js`),__vite__mapDeps([132,129])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>B(()=>import(`./gdresource-Vb2kO1MG.js`),__vite__mapDeps([133,134,135])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>B(()=>import(`./gdscript-nHC2z6Te.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>B(()=>import(`./gdshader-K-cSmPlW.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>B(()=>import(`./genie-BAcRhvEe.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>B(()=>import(`./gherkin-CcifxMLb.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>B(()=>import(`./git-commit-BMI_OWn-.js`),__vite__mapDeps([136,137])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>B(()=>import(`./git-rebase-D-d_2iqZ.js`),__vite__mapDeps([138,117,1])))},{id:`gleam`,name:`Gleam`,import:(()=>B(()=>import(`./gleam-D4LCl2ri.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>B(()=>import(`./glimmer-js-BmNNiR0Z.js`),__vite__mapDeps([139,91,1,90,92,102])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>B(()=>import(`./glimmer-ts-DQE2Ufha.js`),__vite__mapDeps([140,91,1,90,92,102])))},{id:`glsl`,name:`GLSL`,import:(()=>B(()=>import(`./glsl-BcIDsxRJ.js`).then(e=>e.n),__vite__mapDeps([114,1,108])))},{id:`gn`,name:`GN`,import:(()=>B(()=>import(`./gn-COY8zZmC.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>B(()=>import(`./gnuplot-ROk1VitR.js`),[]))},{id:`go`,name:`Go`,import:(()=>B(()=>import(`./go-H30c3p0C.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>B(()=>import(`./graphql-DGKSLmGH.js`).then(e=>e.n),__vite__mapDeps([123,1,92,124,101,102])))},{id:`groovy`,name:`Groovy`,import:(()=>B(()=>import(`./groovy-DBLCaelV.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>B(()=>import(`./hack-YiC8bEIb.js`),__vite__mapDeps([141,90,1,91,92,105])))},{id:`haml`,name:`Ruby Haml`,import:(()=>B(()=>import(`./haml-DjblxAsz.js`).then(e=>e.n),__vite__mapDeps([125,1,91,92])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>B(()=>import(`./handlebars-BQepOXaU.js`),__vite__mapDeps([142,91,1,90,92,127])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>B(()=>import(`./haskell-DA1JV-MC.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>B(()=>import(`./haxe-V9RTRc5E.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>B(()=>import(`./hcl-hr1lyZ10.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>B(()=>import(`./hjson-D3vW3i7X.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>B(()=>import(`./hlsl-BB85gfJT.js`),[]))},{id:`html`,name:`HTML`,import:(()=>B(()=>import(`./html-Cayj_2GP.js`).then(e=>e.n),__vite__mapDeps([90,1,91,92])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>B(()=>import(`./html-derivative-Weq79bL6.js`),__vite__mapDeps([104,90,1,91,92])))},{id:`http`,name:`HTTP`,import:(()=>B(()=>import(`./http-BeLfdGdz.js`),__vite__mapDeps([143,123,1,92,124,101,102,96,117,97,98])))},{id:`hurl`,name:`Hurl`,import:(()=>B(()=>import(`./hurl-D9rypCLK.js`),__vite__mapDeps([144,145,123,1,92,124,101,102,97,98])))},{id:`hxml`,name:`HXML`,import:(()=>B(()=>import(`./hxml-clG8mmSH.js`),__vite__mapDeps([146,147])))},{id:`hy`,name:`Hy`,import:(()=>B(()=>import(`./hy-C6Zv0LMe.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>B(()=>import(`./imba-Didnp6Y-.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>B(()=>import(`./ini-m0T7q4gQ.js`),[]))},{id:`java`,name:`Java`,import:(()=>B(()=>import(`./java-Buy07jGn.js`).then(e=>e.n),__vite__mapDeps([98,1])))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>B(()=>import(`./javascript-Cjq3CbRL.js`).then(e=>e.n),__vite__mapDeps([92,1])))},{id:`jinja`,name:`Jinja`,import:(()=>B(()=>import(`./jinja-BShBWfs5.js`),__vite__mapDeps([148,90,1,91,92])))},{id:`jison`,name:`Jison`,import:(()=>B(()=>import(`./jison-dN2Nf_Dr.js`),__vite__mapDeps([149,92,1])))},{id:`json`,name:`JSON`,import:(()=>B(()=>import(`./json-BSVu8IqD.js`).then(e=>e.n),__vite__mapDeps([96,1])))},{id:`json5`,name:`JSON5`,import:(()=>B(()=>import(`./json5-NN_Vb7e6.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>B(()=>import(`./jsonc-BdyZhBUw.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>B(()=>import(`./jsonl-BsDSNvwi.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>B(()=>import(`./jsonnet-Gm963F-U.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>B(()=>import(`./jssm-Ds3bKWgJ.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>B(()=>import(`./jsx-BT5mW58X.js`).then(e=>e.n),__vite__mapDeps([124,1])))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>B(()=>import(`./julia-5U0vR-uJ.js`),__vite__mapDeps([150,113,1,114,108,115,105,92,110,151])))},{id:`just`,name:`Just`,import:(()=>B(()=>import(`./just-BMppVRy6.js`),__vite__mapDeps([152,92,1,153,91,90,105,97,98,110,122,108,113,114,115,123,124,101,102,125,126,117,127])))},{id:`kdl`,name:`KDL`,import:(()=>B(()=>import(`./kdl-Bx4kZef-.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>B(()=>import(`./kotlin-qvaVvCcm.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>B(()=>import(`./kusto-BPLyNCN6.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>B(()=>import(`./latex-DSSOKjis.js`),__vite__mapDeps([154,155,151,1])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>B(()=>import(`./lean-DGe6uqgk.js`),[]))},{id:`less`,name:`Less`,import:(()=>B(()=>import(`./less-CqM85x-9.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>B(()=>import(`./liquid-C24dKoyI.js`),__vite__mapDeps([156,91,1,90,92,96])))},{id:`llvm`,name:`LLVM IR`,import:(()=>B(()=>import(`./llvm-Dpbq3gky.js`),[]))},{id:`log`,name:`Log file`,import:(()=>B(()=>import(`./log-qKMcPm9S.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>B(()=>import(`./logo-DFo7i5KH.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>B(()=>import(`./lua-DNOsnyhn.js`).then(e=>e.n),__vite__mapDeps([126,1,108])))},{id:`luau`,name:`Luau`,import:(()=>B(()=>import(`./luau-DGlqWFyL.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>B(()=>import(`./make-CixdvUQe.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>B(()=>import(`./markdown-CmRnbngE.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>B(()=>import(`./marko-26MHO_Q9.js`),__vite__mapDeps([157,91,1,158,94,102])))},{id:`matlab`,name:`MATLAB`,import:(()=>B(()=>import(`./matlab-B38sOJee.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>B(()=>import(`./mdc-Dhw9mGrC.js`),__vite__mapDeps([159,104,90,1,91,92,129,127])))},{id:`mdx`,name:`MDX`,import:(()=>B(()=>import(`./mdx-C8QrE_IW.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>B(()=>import(`./mermaid-BQ-eeU8A.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>B(()=>import(`./mipsasm-bLOhJkdm.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>B(()=>import(`./mojo-B0BCOMQW.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>B(()=>import(`./moonbit-BFdGaeuk.js`),[]))},{id:`move`,name:`Move`,import:(()=>B(()=>import(`./move-CyXQFGPM.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>B(()=>import(`./narrat-9DvTD3_3.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>B(()=>import(`./nextflow-xH4oJTex.js`),__vite__mapDeps([160,161])))},{id:`nextflow-groovy`,name:`Nextflow Groovy`,import:(()=>B(()=>import(`./nextflow-groovy-C4VY3kNY.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>B(()=>import(`./nginx-CMz4w0M8.js`),__vite__mapDeps([162,126,1,108])))},{id:`nim`,name:`Nim`,import:(()=>B(()=>import(`./nim-D8FnIYsx.js`),__vite__mapDeps([163,108,1,91,114,90,92,129,97,98])))},{id:`nix`,name:`Nix`,import:(()=>B(()=>import(`./nix-C1kPA9Sw.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>B(()=>import(`./nushell-DSQ_9Uqj.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>B(()=>import(`./objective-c-Dhcn5ZK8.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>B(()=>import(`./objective-cpp-CGVYCSrp.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>B(()=>import(`./ocaml-rxXW21An.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>B(()=>import(`./odin-ClSJX2DE.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>B(()=>import(`./openscad-eHXeafBl.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>B(()=>import(`./pascal-kKha3Txs.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>B(()=>import(`./perl-D9iNWYwb.js`),__vite__mapDeps([153,91,1,90,92,105,97,98])))},{id:`php`,name:`PHP`,import:(()=>B(()=>import(`./php-Bw3Qo0Zv.js`),__vite__mapDeps([164,91,1,90,92,96,105,97,98])))},{id:`pkl`,name:`Pkl`,import:(()=>B(()=>import(`./pkl-CTiPytg-.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>B(()=>import(`./plsql-D_gbgZIr.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>B(()=>import(`./po-BkhbDUnq.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>B(()=>import(`./polar-B3B23wca.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>B(()=>import(`./postcss-Dv_YBvWd.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>B(()=>import(`./powerquery-fKJWI-Sh.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>B(()=>import(`./powershell-B4Y7KIgx.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>B(()=>import(`./prisma-J--XdTXX.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>B(()=>import(`./prolog-BBTg4Vb3.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>B(()=>import(`./proto-DWlum3T8.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>B(()=>import(`./pug-fT5JC6Vm.js`),__vite__mapDeps([165,91,1,90,92])))},{id:`puppet`,name:`Puppet`,import:(()=>B(()=>import(`./puppet-ZiUfc9JV.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>B(()=>import(`./purescript-CmT8SCHB.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>B(()=>import(`./python-BURpj-fq.js`),[]))},{id:`qml`,name:`QML`,import:(()=>B(()=>import(`./qml-P_wEDB1w.js`),__vite__mapDeps([166,92,1])))},{id:`qmldir`,name:`QML Directory`,import:(()=>B(()=>import(`./qmldir-CpaiJywQ.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>B(()=>import(`./qss-C-zdz0i5.js`),[]))},{id:`r`,name:`R`,import:(()=>B(()=>import(`./r-K56BeS-s.js`).then(e=>e.n),__vite__mapDeps([151,1])))},{id:`racket`,name:`Racket`,import:(()=>B(()=>import(`./racket-gkn6Z_Jw.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>B(()=>import(`./raku-C0ZBuKlx.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>B(()=>import(`./razor-Drrt2_Ph.js`),__vite__mapDeps([167,168,90,1,91,92])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>B(()=>import(`./reg-Dt_EsyGR.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>B(()=>import(`./regexp-CT6BLG2C.js`).then(e=>e.n),__vite__mapDeps([115,1])))},{id:`rel`,name:`Rel`,import:(()=>B(()=>import(`./rel-MJ2LcyzJ.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>B(()=>import(`./riscv-BZYWzMAA.js`),[]))},{id:`ron`,name:`RON`,import:(()=>B(()=>import(`./ron-CLbwHWMn.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>B(()=>import(`./rosmsg-yt4151pJ.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>B(()=>import(`./rst-Dr2mW4-h.js`),__vite__mapDeps([169,170,113,1,114,108,115,105,104,90,91,92,110,122,123,124,101,102,125,126,117,97,98,127])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>B(()=>import(`./ruby-C6EpUsTY.js`),__vite__mapDeps([122,108,1,113,114,115,105,91,123,92,124,101,102,125,90,126,117,97,98,127])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>B(()=>import(`./rust-1dAcengL.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>B(()=>import(`./sas-D8ZEeP6v.js`),__vite__mapDeps([171,105,1])))},{id:`sass`,name:`Sass`,import:(()=>B(()=>import(`./sass-DUgtQJsg.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>B(()=>import(`./scala-CxoGYpS0.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>B(()=>import(`./scheme-B2K3u9e3.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>B(()=>import(`./scss-ITL7jQ1f.js`).then(e=>e.n),__vite__mapDeps([94,1,91])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>B(()=>import(`./sdbl-C0Ygk0n6.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>B(()=>import(`./shaderlab-mW-IIlhk.js`),__vite__mapDeps([172,173])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>B(()=>import(`./shellscript-C2CvhqMk.js`).then(e=>e.n),__vite__mapDeps([117,1])))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>B(()=>import(`./shellsession-DhNl5STt.js`),__vite__mapDeps([174,117,1])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>B(()=>import(`./smalltalk-Dp7g_zb9.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>B(()=>import(`./solidity-D33gHHdn.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>B(()=>import(`./soy-SdY0Qjtr.js`),__vite__mapDeps([175,90,1,91,92])))},{id:`sparql`,name:`SPARQL`,import:(()=>B(()=>import(`./sparql-ftqZo2i-.js`),__vite__mapDeps([176,177])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>B(()=>import(`./splunk-BFbOroYw.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>B(()=>import(`./sql-ChpxvmdY.js`).then(e=>e.n),__vite__mapDeps([105,1])))},{id:`ssh-config`,name:`SSH Config`,import:(()=>B(()=>import(`./ssh-config-CUuSQ6JG.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>B(()=>import(`./stata-Bj7Yjb4b.js`),__vite__mapDeps([178,105,1])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>B(()=>import(`./stylus-DDihP0_W.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>B(()=>import(`./surrealql-CLhYGAfB.js`),__vite__mapDeps([179,92,1])))},{id:`svelte`,name:`Svelte`,import:(()=>B(()=>import(`./svelte-DTAlRHhK.js`),__vite__mapDeps([180,91,1,92,100,102])))},{id:`swift`,name:`Swift`,import:(()=>B(()=>import(`./swift-XoalUn4x.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>B(()=>import(`./system-verilog-f_pLKMYd.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>B(()=>import(`./systemd-DjDcLfxp.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>B(()=>import(`./talonscript-BpUzYcDl.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>B(()=>import(`./tasl-DP-cUbg8.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>B(()=>import(`./tcl-BHoy-dfE.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>B(()=>import(`./templ-BMfhACxb.js`),__vite__mapDeps([181,91,1,182,92])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>B(()=>import(`./terraform-vCVxN25B.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>B(()=>import(`./tex-BcssM-QA.js`),__vite__mapDeps([155,151,1])))},{id:`toml`,name:`TOML`,import:(()=>B(()=>import(`./toml-BS8D0__A.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>B(()=>import(`./ts-tags-CrR5IYI8.js`),__vite__mapDeps([183,91,1,114,108,90,92,105,102,97,98])))},{id:`tsv`,name:`TSV`,import:(()=>B(()=>import(`./tsv-DCb-NQh3.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>B(()=>import(`./tsx-DF8YeRgG.js`).then(e=>e.n),__vite__mapDeps([101,1])))},{id:`turtle`,name:`Turtle`,import:(()=>B(()=>import(`./turtle-Bhx1GlIy.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>B(()=>import(`./twig-DchfUmyI.js`),__vite__mapDeps([184,91,1,92,164,90,96,105,97,98,110,122,108,113,114,115,123,124,101,102,125,126,117,127,94])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>B(()=>import(`./typescript-CAVD2Wb6.js`).then(e=>e.n),__vite__mapDeps([102,1])))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>B(()=>import(`./typespec-D7mchdY_.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>B(()=>import(`./typst-CeXzq6Yw.js`),[]))},{id:`v`,name:`V`,import:(()=>B(()=>import(`./v-DhzO54je.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>B(()=>import(`./vala-Dw_RAk3E.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>B(()=>import(`./vb-CiXdNh2Y.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>B(()=>import(`./verilog-fITdxqwV.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>B(()=>import(`./vhdl-ebHjqKp9.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>B(()=>import(`./viml-Dgmnoxoo.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>B(()=>import(`./vue-1EL6Pw1h.js`),__vite__mapDeps([185,91,1,104,90,92,96,102])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>B(()=>import(`./vue-html-BPQNwPC6.js`),__vite__mapDeps([186,92,1])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>B(()=>import(`./vue-vine-Bb_dsWLt.js`),__vite__mapDeps([187,91,1,92,158,100,94,188])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>B(()=>import(`./vyper-6FxDnVNg.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>B(()=>import(`./wasm-DKhAtzfe.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>B(()=>import(`./wenyan-C0k0DYG_.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>B(()=>import(`./wgsl-Y2zagbdn.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>B(()=>import(`./wikitext-C4QGWzkY.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>B(()=>import(`./wit-CQESzjHy.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>B(()=>import(`./wolfram-B-ia69Ia.js`),[]))},{id:`xml`,name:`XML`,import:(()=>B(()=>import(`./xml-dxkLNA0K.js`).then(e=>e.n),__vite__mapDeps([97,1,98])))},{id:`xsl`,name:`XSL`,import:(()=>B(()=>import(`./xsl-Bw2adwrl.js`),__vite__mapDeps([189,97,1,98])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>B(()=>import(`./yaml-CEYYTQPm.js`).then(e=>e.n),__vite__mapDeps([127,1])))},{id:`zenscript`,name:`ZenScript`,import:(()=>B(()=>import(`./zenscript-BggWXIeJ.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>B(()=>import(`./zig-CbaUfBQe.js`),[]))}],WS=Object.fromEntries(US.map(e=>[e.id,e.import])),GS=Object.fromEntries(US.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),KS={...WS,...GS},qS=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>B(()=>import(`./andromeeda-DSV4i4mZ.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>B(()=>import(`./aurora-x-BHBGXbIZ.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>B(()=>import(`./ayu-dark-D0GQzFi9.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>B(()=>import(`./ayu-light-BVYb5Yn8.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>B(()=>import(`./ayu-mirage-BGFW6oNb.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>B(()=>import(`./catppuccin-frappe-CEozpJRh.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>B(()=>import(`./catppuccin-latte-C4sXQFMc.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>B(()=>import(`./catppuccin-macchiato-Ci-fDhXy.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>B(()=>import(`./catppuccin-mocha-CH7YXw8d.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>B(()=>import(`./dark-plus-xAWu790O.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>B(()=>import(`./dracula-CtAh2rhB.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>B(()=>import(`./dracula-soft-CXtuAAf6.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>B(()=>import(`./everforest-dark-D59p7vAQ.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>B(()=>import(`./everforest-light-B3Qtud3V.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>B(()=>import(`./github-dark-67KKlMdB.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>B(()=>import(`./github-dark-default-tja8pidR.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>B(()=>import(`./github-dark-dimmed-CtjhYQtx.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>B(()=>import(`./github-dark-high-contrast-Bf-LPFgn.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>B(()=>import(`./github-light-CbJxE7n3.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>B(()=>import(`./github-light-default-DRQmdHxt.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>B(()=>import(`./github-light-high-contrast-CJkDgTeM.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>B(()=>import(`./gruvbox-dark-hard-DJy4irps.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>B(()=>import(`./gruvbox-dark-medium-Dhfw1QTO.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>B(()=>import(`./gruvbox-dark-soft-BncJU-8w.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>B(()=>import(`./gruvbox-light-hard-Cq12_YvM.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>B(()=>import(`./gruvbox-light-medium-DqVja5_v.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>B(()=>import(`./gruvbox-light-soft-IvwhveGF.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>B(()=>import(`./horizon-DU8OOnj8.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`light`,import:(()=>B(()=>import(`./horizon-bright-DNMUclW6.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>B(()=>import(`./houston-DAiZKf6T.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>B(()=>import(`./kanagawa-dragon-BvNvf7xd.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>B(()=>import(`./kanagawa-lotus-CuSiliSn.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>B(()=>import(`./kanagawa-wave-C6g-d6jT.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>B(()=>import(`./laserwave-Sf8ZEhWP.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>B(()=>import(`./light-plus-DBtKwhFA.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>B(()=>import(`./material-theme-WDUbafB-.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>B(()=>import(`./material-theme-darker-u8y2xpOk.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>B(()=>import(`./material-theme-lighter-cyQZK3Tg.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>B(()=>import(`./material-theme-ocean-LBAVvw7k.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>B(()=>import(`./material-theme-palenight-BJqhBxL0.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>B(()=>import(`./min-dark-D4gNa5tv.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>B(()=>import(`./min-light-Dfbhn_PL.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>B(()=>import(`./monokai-Bdw_07OM.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>B(()=>import(`./night-owl-feYm66V0.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>B(()=>import(`./night-owl-light-DALqFjvx.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>B(()=>import(`./nord-1dvrj1Al.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>B(()=>import(`./one-dark-pro-3gbWDfFW.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>B(()=>import(`./one-light-C2q5ZZAw.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>B(()=>import(`./plastic-D1Ygezi4.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>B(()=>import(`./poimandres-Do6NywrA.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>B(()=>import(`./red-BWZ6x-3p.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>B(()=>import(`./rose-pine-BPiI_daR.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>B(()=>import(`./rose-pine-dawn-BjkJc7dW.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>B(()=>import(`./rose-pine-moon-BQSxkt7g.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>B(()=>import(`./slack-dark-DYdgzRGj.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>B(()=>import(`./slack-ochin-X-WD0WCg.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>B(()=>import(`./snazzy-light-DWHWr-a6.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>B(()=>import(`./solarized-dark-CxdLsjvb.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>B(()=>import(`./solarized-light-Cz9rAvG5.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>B(()=>import(`./synthwave-84-DjkG0Bff.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>B(()=>import(`./tokyo-night-D0u4xZba.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>B(()=>import(`./vesper-B1wm_At7.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>B(()=>import(`./vitesse-black-BZ5gMb7l.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>B(()=>import(`./vitesse-dark-Lij7kkOt.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>B(()=>import(`./vitesse-light-DW6Wq7VC.js`),[]))}].map(e=>[e.id,e.import])),JS=t({createOnigurumaEngine:()=>SC,getDefaultWasmLoader:()=>xC,loadWasm:()=>hC,setDefaultWasmLoader:()=>bC}),YS=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function XS(){return 2147483648}function ZS(){return typeof performance<`u`?performance.now():Date.now()}var QS=(e,t)=>e+(t-e%t)%t;async function $S(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=XS();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,QS(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:ZS,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 eC=Object.defineProperty,tC=(e,t,n)=>t in e?eC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,nC=(e,t,n)=>tC(e,typeof t==`symbol`?t:t+``,n),rC=null;function iC(e){throw new YS(e.UTF8ToString(e.getLastOnigError()))}var aC=class e{constructor(t){nC(this,`utf16Length`),nC(this,`utf8Length`),nC(this,`utf16Value`),nC(this,`utf8Value`),nC(this,`utf16OffsetToUtf8`),nC(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}},oC=class e{constructor(t){if(nC(this,`id`,++e.LAST_ID),nC(this,`_onigBinding`),nC(this,`content`),nC(this,`utf16Length`),nC(this,`utf8Length`),nC(this,`utf16OffsetToUtf8`),nC(this,`utf8OffsetToUtf16`),nC(this,`ptr`),!rC)throw new YS(`Must invoke loadWasm first.`);this._onigBinding=rC,this.content=t;let n=new aC(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=rC.omalloc(1e4),e._sharedPtrInUse=!0,rC.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(rC)}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)}};nC(oC,`LAST_ID`,0),nC(oC,`_sharedPtr`,0),nC(oC,`_sharedPtrInUse`,!1);var sC=oC,cC=class{constructor(e){if(nC(this,`_onigBinding`),nC(this,`_ptr`),!rC)throw new YS(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new aC(e[r]);t[r]=i.createString(rC),n[r]=i.utf8Length}let r=rC.omalloc(4*e.length);rC.HEAPU32.set(t,r/4);let i=rC.omalloc(4*e.length);rC.HEAPU32.set(n,i/4);let a=rC.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)rC.ofree(t[n]);rC.ofree(i),rC.ofree(r),a===0&&iC(rC),this._onigBinding=rC,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 sC(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 lC(e){return typeof e.instantiator==`function`}function uC(e){return typeof e.default==`function`}function dC(e){return e.data!==void 0}function fC(e){return typeof Response<`u`&&e instanceof Response}function pC(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 mC;function hC(e){if(mC)return mC;async function t(){rC=await $S(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),lC(n)?n=await n.instantiator(t):uC(n)?n=await n.default(t):(dC(n)&&(n=n.data),fC(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await _C(n)(t):await vC(n)(t):pC(n)||n instanceof WebAssembly.Module?n=await gC(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await gC(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return mC=t(),mC}function gC(e){return t=>WebAssembly.instantiate(e,t)}function _C(e){return t=>WebAssembly.instantiateStreaming(e,t)}function vC(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}var yC;function bC(e){yC=e}function xC(){return yC}async function SC(e){return e&&await hC(e),{createScanner(e){return new cC(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new sC(e)}}}var CC=BS({});HS(CC,JS);var wC=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function TC(e){return EC(e)}function EC(e){return Array.isArray(e)?DC(e):e instanceof RegExp?e:typeof e==`object`?OC(e):e}function DC(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=EC(e[n]);return t}function OC(e){let t={};for(let n in e)t[n]=EC(e[n]);return t}function kC(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function AC(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?AC(e.substring(0,e.length-1)):e.substr(~t+1)}var jC=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,MC=class{static hasCaptures(e){return e===null?!1:(jC.lastIndex=0,jC.test(e))}static replaceCaptures(e,t,n){return e.replace(jC,(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 NC(e,t){return e<t?-1:e>t?1:0}function PC(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=NC(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function FC(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 IC(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var LC=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}},RC=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(UC(e),t)}static createFromParsedTheme(e,t){return KC(e,t)}_cachedMatchRoot=new LC(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=>BC(e.parent,t.parentScopes));return n?new HC(n.fontStyle,n.foreground,n.background):null}},zC=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 BC(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&&!VC(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function VC(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var HC=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function UC(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`&&FC(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&FC(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 WC(l,u,e,o,s,c)}}return n}var WC=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}},GC=(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))(GC||{});function KC(e,t){e.sort((e,t)=>{let n=NC(e.scope,t.scope);return n!==0||(n=PC(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 qC(t),o=new HC(n,a.getId(r),a.getId(i)),s=new XC(new YC(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 RC(a,o,s)}var qC=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)}},JC=Object.freeze([]),YC=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||JC,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)}},XC=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(),YC.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(PC(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 YC(e,t,n,r,i))}},ZC=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=$C(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 QC(e){return e}function $C(e){return e}function ew(e,t){let n=[],r=nw(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(tw(i)){let e=[];do e.push(i),i=r.next();while(tw(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 tw(e){return!!e&&!!e.match(/[\w\.:]+/)}function nw(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 rw(e){typeof e.dispose==`function`&&e.dispose()}var iw=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},aw=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},ow=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))}},sw=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new iw(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new ow;for(let n of e)cw(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof iw){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 cw(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 iw?uw({baseGrammar:a,selfGrammar:i},r):lw(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 iw(e))}function lw(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];dw([r],t,n)}}function uw(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&dw(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&dw(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function dw(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?kC({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&dw(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=_w(i);switch(a.kind){case 0:uw({...t,selfGrammar:t.baseGrammar},n);break;case 1:uw(t,n);break;case 2:lw(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?lw(a.ruleName,i,n):uw(i,n)}else a.kind===4?n.add(new aw(a.scopeName,a.ruleName)):n.add(new iw(a.scopeName));break}}}var fw=class{kind=0},pw=class{kind=1},mw=class{constructor(e){this.ruleName=e}kind=2},hw=class{constructor(e){this.scopeName=e}kind=3},gw=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function _w(e){if(e===`$base`)return new fw;if(e===`$self`)return new pw;let t=e.indexOf(`#`);return t===-1?new hw(e):t===0?new mw(e.substring(1)):new gw(e.substring(0,t),e.substring(t+1))}var vw=/\\(\d+)/,yw=/\\(\d+)/g,bw=-1,xw=-2;function Sw(e){return e}function Cw(e){return e}var ww=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=MC.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=MC.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${AC(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:MC.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:MC.replaceCaptures(this._contentName,e,t)}},Tw=class extends ww{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!`)}},Ew=class extends ww{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new jw(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 Mw,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Dw=class extends ww{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 Mw,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Ow=class extends ww{_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 jw(i,this.id),this.beginCaptures=a,this._end=new jw(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 Mw;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}},kw=class extends ww{_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 jw(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new jw(o,xw),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 Mw;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 Mw,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||``),this._cachedCompiledWhilePatterns}},Aw=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new Tw(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new Ew(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=kC({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new Dw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new kw(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 Ow(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=_w(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 Dw||e instanceof Ow||e instanceof kw)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},jw=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=vw.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 yw.lastIndex=0,this.source.replace(yw,(e,t)=>IC(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}},Mw=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 Nw(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 Nw(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},Nw=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(` - `+this.rules[t]+`: `+this.regExps[t]);return e.join(`
|
|
24
|
+
`)}findNextMatchSync(e,t,n){let r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Pw=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Fw=class e{_defaultAttributes;_embeddedLanguagesMatcher;constructor(e,t){this._defaultAttributes=new Pw(e,8),this._embeddedLanguagesMatcher=new Iw(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 Pw(0,0);_getBasicScopeAttributes=new LC(e=>new Pw(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/},Iw=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])=>IC(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 Lw=!1,Rw=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function zw(e,t,n,r,i,a,o,s){let c=t.content.length,l=!1,u=-1;if(o){let o=Bw(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 Rw(i,!0);f()}return new Rw(i,!1);function f(){let o=Vw(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===bw){let o=i.getRule(e);a.produce(i,s[0].start),i=i.withContentNameScopesList(i.nameScopesList),qw(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 Ow){let r=o;qw(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 kw){let r=o;qw(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(qw(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 Bw(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 kw&&s.push({rule:n,stack:t})}for(let c=s.pop();c;c=s.pop()){let{ruleScanner:s,findOptions:l}=Gw(c.rule,e,c.stack.endRule,n,r===o),u=s.findNextMatchSync(t,r,l);if(u){if(u.ruleId!==xw){i=c.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(a.produce(c.stack,u.captureIndices[0].start),qw(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 Vw(e,t,n,r,i,a){let o=Hw(e,t,n,r,i,a),s=e.getInjections();if(s.length===0)return o;let c=Uw(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 Hw(e,t,n,r,i,a){let{ruleScanner:o,findOptions:s}=Ww(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 Uw(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}=Ww(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 Ww(e,t,n,r,i){return Lw?{ruleScanner:e.compile(t,n),findOptions:Kw(r,i)}:{ruleScanner:e.compileAG(t,n,r,i),findOptions:0}}function Gw(e,t,n,r,i){return Lw?{ruleScanner:e.compileWhile(t,n),findOptions:Kw(r,i)}:{ruleScanner:e.compileWhileAG(t,n,r,i),findOptions:0}}function Kw(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function qw(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));zw(e,p,n&&d.start===0,d.start,f,i,!1,0),rw(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 Jw(t,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var Jw=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function Yw(e,t,n,r,i,a,o,s){return new $w(e,t,n,r,i,a,o,s)}function Xw(e,t,n,r,i){let a=ew(t,Zw),o=Aw.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 Zw(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(Qw(t[r],e))return n=r+1,!0;return!1})}function Qw(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 $w=class{constructor(e,t,n,r,i,a,o,s){if(this._rootScopeName=e,this.balancedBracketSelectors=a,this._onigLib=s,this._basicScopeAttributesProvider=new Fw(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=o,this._grammar=eT(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let e of Object.keys(i)){let t=ew(e,Zw);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)Xw(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&&Xw(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(Sw(t));return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[Cw(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]=eT(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=Aw.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===nT.NULL){i=!0;let e=this._basicScopeAttributesProvider.getDefaultAttributes(),n=this.themeProvider.getDefaults(),r=ZC.set(0,e.languageId,e.tokenType,null,n.fontStyle,n.foregroundId,n.backgroundId),a=this.getRule(this._rootId).getName(null,null),o;o=a?tT.createRootAndLookUpScopeName(a,r,this):tT.createRoot(`unknown`,r),t=new nT(null,this._rootId,-1,-1,!1,null,o,o)}else i=!1,t.reset();e+=`
|
|
25
|
+
`;let a=this.createOnigString(e),o=a.content.length,s=new iT(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=zw(this,a,i,0,t,s,!0,r);return rw(a),{lineLength:o,lineTokens:s,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function eT(e,t){return e=TC(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 tT=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=zC.push(i,t.scopeNames),r=new e(r,i,t.encodedTokenAttributes);return r}static createRoot(t,n){return new e(null,new zC(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let i=r.getMetadataForScope(t),a=new zC(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),ZC.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}},nT=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)?tT.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:Cw(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=tT.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new e(t,Sw(n.ruleId),n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,tT.fromExtension(r,n.contentNameScopesList))}},rT=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>e===`*`?(this.allowAny=!0,[]):ew(e,Zw).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>ew(e,Zw).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}},iT=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=ZC.set(n,0,QC(e.type),null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(t))}if(r&&(n=ZC.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}},aT=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,Yw(e,a,t,n,r,i,this,this._onigLib))}return this._grammars.get(e)}},oT=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new aT(RC.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(RC.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 rT(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,i){let a=new sw(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)}},sT=nT.NULL;function cT(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 lT(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function uT(e){return Array.isArray(e)?e:[e]}async function dT(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function fT(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function pT(e){return e===`ansi`||fT(e)}function mT(e){return e===`none`}function hT(e){return mT(e)}var gT=/(\r?\n)/g;function _T(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(gT),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 vT={light:`#333333`,dark:`#bbbbbb`},yT={light:`#fffffe`,dark:`#1e1e1e`},bT=`__shiki_resolved`;function xT(e){if(e?.[bT])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`?vT.light:vT.dark,n||=t.type===`light`?yT.light:yT.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,bT,{enumerable:!1,writable:!1,value:!0}),t}async function ST(e){return[...new Set((await Promise.all(e.filter(e=>!pT(e)).map(async e=>await dT(e).then(e=>Array.isArray(e)?e:[e])))).flat())]}async function CT(e){return(await Promise.all(e.map(async e=>hT(e)?null:xT(await dT(e))))).filter(e=>!!e)}function wT(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 wC(`Circular alias \`${[...n].join(` -> `)} -> ${e}\``);n.add(e)}}return e}var TT=class extends oT{_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=xT(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=RC.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=wT(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 wC(`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))}},ET=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}},DT=0;function OT(e){DT+=1,e.warnings!==!1&&DT>=10&&DT%10==0&&console.warn(`[Shiki] ${DT} 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 wC("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(xT),i=new TT(new ET(e.engine,n),r,n,e.langAlias),a;function o(t){return wT(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new wC(`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 wC(`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 ST(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await CT(e))}function g(){if(t)throw new wC(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--DT)}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 kT(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([CT(e.themes||[]),ST(e.langs||[]),e.engine]);return OT({...e,themes:t,langs:n,engine:r})}var AT=new WeakMap;function jT(e,t){AT.set(e,t)}function MT(e){return AT.get(e)}var NT=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(uT(n).map(e=>[e,sT])),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 PT(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function PT(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 FT(e,t){if(!(e instanceof NT))throw new wC(`Invalid grammar state`);return e.getInternalStack(t)}var IT=/,/,LT=/ /;function RT(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n;if(fT(e.resolveLangAlias(n.lang||`text`))||mT(r))return _T(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 wC(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);if(!n.grammarState.themes.includes(i.name))throw new wC(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`)}return BT(t,o,i,a,n)}function zT(...e){if(e.length===2)return MT(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(fT(i)||mT(a))throw new wC(`Plain language does not have grammar state`);if(i===`ansi`)throw new wC(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new NT(VT(n,c,o,s,r).stateStack,c.name,o.name)}function BT(e,t,n,r,i){let a=VT(e,t,n,r,i),o=new NT(a.stateStack,t.name,n.name);return jT(a.tokens,o),a.tokens}function VT(e,t,n,r,i){let a=cT(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500,includeExplanation:c=!1}=i,l=_T(e),u=i.grammarState?FT(i.grammarState,n.name)??sT:i.grammarContextCode==null?sT:VT(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=lT(r[ZC.getForeground(s)],a),u=ZC.getFontStyle(s),f={content:i.substring(t,o),offset:p+t,color:l,fontStyle:u};if(c===`tokenType`)f.type=ZC.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(IT).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(LT))})}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`?HT(t.scopes):UT(e,t.scopes)}),g+=1}}d.push(f)}f.push(d),d=[],u=_.ruleStack}return{tokens:f,stateStack:u}}function HT(e){return e.map(e=>({scopeName:e}))}function UT(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:KT(e,i,t.slice(0,r))}}return n}function WT(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function GT(e,t,n){if(!WT(e.at(-1),t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)WT(e[r],n[i])&&--r,--i;return r===-1}function KT(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(GT(e,t,n)){r.push(a);break}return r}function qT(e,t,n,r=RT){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:MT(a),theme:typeof i.theme==`string`?i.theme:i.theme.name}}),o=JT(...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 NT(Object.fromEntries(a.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),a[0].state.lang):void 0;return c&&jT(s,c),s}function JT(...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 YT=[`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`command`,`embed`,`frame`,`hr`,`image`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],XT={}.hasOwnProperty;function ZT(e,t){let n=t||{};function r(t,...n){let i=r.invalid,a=r.handlers;if(t&&XT.call(t,e)){let n=String(t[e]);i=XT.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 QT=/["&'<>`]/g,$T=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,eE=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,tE=/[|\\{}()[\]^$+*?.]/g,nE=new WeakMap;function rE(e,t){if(e=e.replace(t.subset?iE(t.subset):QT,r),t.subset||t.escapeOnly)return e;return e.replace($T,n).replace(eE,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 iE(e){let t=nE.get(e);return t||(t=aE(e),nE.set(e,t)),t}function aE(e){let t=[],n=-1;for(;++n<e.length;)t.push(e[n].replace(tE,`\\$&`));return RegExp(`(?:`+t.join(`|`)+`)`,`g`)}var oE=/[\dA-Fa-f]/;function sE(e,t,n){let r=`&#x`+e.toString(16).toUpperCase();return n&&t&&!oE.test(String.fromCharCode(t))?r:r+`;`}var cE=/\d/;function lE(e,t,n){let r=`&#`+String(e);return n&&t&&!cE.test(String.fromCharCode(t))?r:r+`;`}var uE=`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(`.`),dE={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:`€`},fE=[`cent`,`copy`,`divide`,`gt`,`lt`,`not`,`para`,`times`],pE={}.hasOwnProperty,mE={},hE;for(hE in dE)pE.call(dE,hE)&&(mE[dE[hE]]=hE);var gE=/[^\dA-Za-z]/;function _E(e,t,n,r){let i=String.fromCharCode(e);if(pE.call(mE,i)){let e=mE[i],a=`&`+e;return n&&uE.includes(e)&&!fE.includes(e)&&(!r||t&&t!==61&&gE.test(String.fromCharCode(t)))?a:a+`;`}return``}function vE(e,t,n){let r=sE(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=_E(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let i=lE(e,t,n.omitOptionalSemicolons);i.length<r.length&&(r=i)}return i&&(!n.useShortestReferences||i.length<r.length)?i:r}function yE(e,t){return rE(e,Object.assign({format:vE},t))}var bE=/^>|^->|<!--|-->|--!>|<!-$/g,xE=[`>`],SE=[`<`,`>`];function CE(e,t,n,r){return r.settings.bogusComments?`<?`+yE(e.value,Object.assign({},r.settings.characterReferences,{subset:xE}))+`>`:`<!--`+e.value.replace(bE,i)+`-->`;function i(e){return yE(e,Object.assign({},r.settings.characterReferences,{subset:SE}))}}function wE(e,t,n,r){return`<!`+(r.settings.upperDoctype?`DOCTYPE`:`doctype`)+(r.settings.tightDoctype?``:` `)+`html>`}var TE=OE(1),EE=OE(-1),DE=[];function OE(e){return t;function t(t,n,r){let i=t?t.children:DE,a=(n||0)+e,o=i[a];if(!r)for(;o&&c(o);)a+=e,o=i[a];return o}}var kE={}.hasOwnProperty;function AE(e){return t;function t(t,n,r){return kE.call(e,t.tagName)&&e[t.tagName](t,n,r)}}var jE=AE({body:PE,caption:ME,colgroup:ME,dd:RE,dt:LE,head:ME,html:NE,li:IE,optgroup:BE,option:VE,p:FE,rp:zE,rt:zE,tbody:UE,td:KE,tfoot:WE,th:KE,thead:HE,tr:GE});function ME(e,t,n){let r=TE(n,t,!0);return!r||r.type!==`comment`&&!(r.type===`text`&&c(r.value.charAt(0)))}function NE(e,t,n){let r=TE(n,t);return!r||r.type!==`comment`}function PE(e,t,n){let r=TE(n,t);return!r||r.type!==`comment`}function FE(e,t,n){let r=TE(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 IE(e,t,n){let r=TE(n,t);return!r||r.type===`element`&&r.tagName===`li`}function LE(e,t,n){let r=TE(n,t);return!!(r&&r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`))}function RE(e,t,n){let r=TE(n,t);return!r||r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`)}function zE(e,t,n){let r=TE(n,t);return!r||r.type===`element`&&(r.tagName===`rp`||r.tagName===`rt`)}function BE(e,t,n){let r=TE(n,t);return!r||r.type===`element`&&r.tagName===`optgroup`}function VE(e,t,n){let r=TE(n,t);return!r||r.type===`element`&&(r.tagName===`option`||r.tagName===`optgroup`)}function HE(e,t,n){let r=TE(n,t);return!!(r&&r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`))}function UE(e,t,n){let r=TE(n,t);return!r||r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`)}function WE(e,t,n){return!TE(n,t)}function GE(e,t,n){let r=TE(n,t);return!r||r.type===`element`&&r.tagName===`tr`}function KE(e,t,n){let r=TE(n,t);return!r||r.type===`element`&&(r.tagName===`td`||r.tagName===`th`)}var qE=AE({body:XE,colgroup:ZE,head:YE,html:JE,tbody:QE});function JE(e){let t=TE(e,-1);return!t||t.type!==`comment`}function YE(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 XE(e){let t=TE(e,-1,!0);return!t||t.type!==`comment`&&!(t.type===`text`&&c(t.value.charAt(0)))&&!(t.type===`element`&&(t.tagName===`meta`||t.tagName===`link`||t.tagName===`script`||t.tagName===`style`||t.tagName===`template`))}function ZE(e,t,n){let r=EE(n,t),i=TE(e,-1,!0);return n&&r&&r.type===`element`&&r.tagName===`colgroup`&&jE(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`col`)}function QE(e,t,n){let r=EE(n,t),i=TE(e,-1);return n&&r&&r.type===`element`&&(r.tagName===`thead`||r.tagName===`tbody`)&&jE(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`tr`)}var $E={name:[[`
|
|
26
|
+
\f\r &/=>`.split(``),`
|
|
27
|
+
\f\r "&'/=>\``.split(``)],[`\0
|
|
28
|
+
\f\r "&'/<=>`.split(``),`\0
|
|
29
|
+
\f\r "&'/<=>\``.split(``)]],unquoted:[[`
|
|
30
|
+
\f\r &>`.split(``),`\0
|
|
31
|
+
\f\r "&'<=>\``.split(``)],[`\0
|
|
32
|
+
\f\r "&'<=>\``.split(``),`\0
|
|
33
|
+
\f\r "&'<=>\``.split(``)]],single:[[`&'`.split(``),`"&'\``.split(``)],[`\0&'`.split(``),`\0"&'\``.split(``)]],double:[[`"&`.split(``),`"&'\``.split(``)],[`\0"&`.split(``),`\0"&'\``.split(``)]]};function eD(e,t,n,r){let i=r.schema,a=i.space===`svg`?!1:r.settings.omitOptionalTags,s=i.space===`svg`?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase()),c=[],l;i.space===`html`&&e.tagName===`svg`&&(r.schema=o);let u=tD(r,e.properties),d=r.all(i.space===`html`&&e.tagName===`template`?e.content:e);return r.schema=i,d&&(s=!1),(u||!a||!qE(e,t,n))&&(c.push(`<`,e.tagName,u?` `+u:``),s&&(i.space===`svg`||r.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!r.settings.tightSelfClosing||l===`/`||l&&l!==`"`&&l!==`'`)&&c.push(` `),c.push(`/`)),c.push(`>`)),c.push(d),!s&&(!a||!jE(e,t,n))&&c.push(`</`+e.tagName+`>`),c.join(``)}function tD(e,t){let n=[],r=-1,i;if(t){for(i in t)if(t[i]!==null&&t[i]!==void 0){let r=nD(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 nD(e,t,n){let r=u(e.schema,t),i=e.settings.allowParseErrors&&e.schema.space===`html`?0:1,o=e.settings.allowDangerousCharacters?0:1,c=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=yE(r.attribute,Object.assign({},e.settings.characterReferences,{subset:$E.name[i][o]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?a:s)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?f:(e.settings.preferUnquoted&&(d=yE(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:$E.unquoted[i][o]}))),d!==n&&(e.settings.quoteSmart&&l(n,c)>l(n,e.alternative)&&(c=e.alternative),d=c+yE(n,Object.assign({},e.settings.characterReferences,{subset:(c===`'`?$E.single:$E.double)[i][o],attribute:!0}))+c),f+(d&&`=`+d))}var rD=[`<`,`&`];function iD(e,t,n,r){return n&&n.type===`element`&&(n.tagName===`script`||n.tagName===`style`)?e.value:yE(e.value,Object.assign({},r.settings.characterReferences,{subset:rD}))}function aD(e,t,n,r){return r.settings.allowDangerousHtml?e.value:iD(e,t,n,r)}function oD(e,t,n,r){return r.all(e)}var sD=ZT(`type`,{invalid:cD,unknown:lD,handlers:{comment:CE,doctype:wE,element:eD,raw:aD,root:oD,text:iD}});function cD(e){throw Error("Expected node, not `"+e+"`")}function lD(e){let t=e;throw Error("Cannot compile unknown node `"+t.type+"`")}var uD={},dD={},fD=[];function pD(e,t){let n=t||uD,r=n.quote||`"`,i=r===`"`?`'`:`"`;if(r!==`"`&&r!==`'`)throw Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:mD,all:hD,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||YT,characterReferences:n.characterReferences||dD,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space===`svg`?o:d,quote:r,alternative:i}.one(Array.isArray(e)?{type:`root`,children:e}:e,void 0,void 0)}function mD(e,t,n){return sD(e,t,n,this)}function hD(e){let t=[],n=e&&e.children||fD,r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join(``)}var gD=/\s+/g;function _D(e,t){if(!t)return e;e.properties||={},e.properties.class||=[],typeof e.properties.class==`string`&&(e.properties.class=e.properties.class.split(gD)),Array.isArray(e.properties.class)||(e.properties.class=[]);let n=Array.isArray(t)?t:t.split(gD);for(let t of n)t&&!e.properties.class.includes(t)&&e.properties.class.push(t);return e}var vD=/:?lang=["']([^"']+)["']/g,yD=/(?:```|~~~)([\w-]+)/g,bD=/\\begin\{([\w-]+)\}/g,xD=/<script\s+(?:type|lang)=["']([^"']+)["']/gi;function SD(e){let t=_T(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 CD(e,t,n){let r=new Set;for(let t of e.matchAll(vD)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(yD)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(bD)){let e=t[1].toLowerCase().trim();e&&r.add(e)}for(let t of e.matchAll(xD)){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 wD=[`color`,`background-color`];function TD(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 ED(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?TD(e,t):e})):e}function DD(e,t,n,r,i=`css-vars`){let a={content:e.content,explanation:e.explanation,offset:e.offset},o=t.map(t=>OD(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&&wD.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 wC('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 OD(e){let t={};if(e.color&&(t.color=e.color),e.bgColor&&(t[`background-color`]=e.bgColor),e.fontStyle){e.fontStyle&GC.Italic&&(t[`font-style`]=`italic`),e.fontStyle&GC.Bold&&(t[`font-weight`]=`bold`);let n=[];e.fontStyle&GC.Underline&&n.push(`underline`),e.fontStyle&GC.Strikethrough&&n.push(`line-through`),n.length&&(t[`text-decoration`]=n.join(` `))}return t}function kD(e){return typeof e==`string`?e:Object.entries(e).map(([e,t])=>`${e}:${t}`).join(`;`)}function AD(){let e=new WeakMap;function t(t){if(!e.has(t.meta)){let n=SD(t.source);function r(e){if(typeof e==`number`){if(e<0||e>t.source.length)throw new wC(`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 wC(`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 wC(`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)}));jD(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 ED(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 wC(`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+=MD(a.children[e]),c===-1&&s.length===t&&(c=e+1),l===-1&&s.length===n&&(l=e+1);if(c===-1)throw new wC(`Failed to find start index for decoration ${JSON.stringify(i.start)}`);if(l===-1)throw new wC(`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&&_D(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 jD(e){for(let t=0;t<e.length;t++){let n=e[t];if(n.start.offset>n.end.offset)throw new wC(`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 wC(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(t.start)} intersect.`)}}}}function MD(e){return e.type===`text`?e.value:e.type===`element`?e.children.map(MD).join(``):``}var ND=[AD()];function PD(e){let t=FD(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...ND]}function FD(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 ID=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],LD={1:`bold`,2:`dim`,3:`italic`,4:`underline`,7:`reverse`,8:`hidden`,9:`strikethrough`};function RD(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 zD(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 BD(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)LD[r]&&t.push({type:`setDecoration`,value:LD[r]});else if(r<=29){let e=LD[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:ID[r-30]}});else if(r===38){let n=zD(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:ID[r-40]}});else if(r===48){let n=zD(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:ID[r-90+8]}}):r>=100&&r<=107&&t.push({type:`setBackgroundColor`,value:{type:`named`,name:ID[r-100+8]}})}return t}function VD(){let e=null,t=null,n=new Set;return{parse(r){let i=[],a=0;do{let o=RD(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=BD(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 HD={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 UD(e=HD){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<ID.length;e++)r.push(t(ID[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 WD=/#([0-9a-f]{3,8})/i,GD=/var\((--[\w-]+-ansi-[\w-]+)\)/,KD={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 qD(e,t,n){let r=cT(e,n),i=_T(t),a=UD(Object.fromEntries(ID.map(t=>{let n=`terminal.ansi${t[0].toUpperCase()}${t.substring(1)}`;return[t,e.colors?.[n]||KD[t]]}))),o=VD();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=lT(i,r),o=lT(o,r),n.decorations.has(`dim`)&&(i=JD(i));let s=GC.None;return n.decorations.has(`bold`)&&(s|=GC.Bold),n.decorations.has(`italic`)&&(s|=GC.Italic),n.decorations.has(`underline`)&&(s|=GC.Underline),n.decorations.has(`strikethrough`)&&(s|=GC.Strikethrough),{content:n.value,offset:t[1],color:i,bgColor:o,fontStyle:s}}))}function JD(e){let t=e.match(WD);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(GD);return n?`var(${n[1]}-dim)`:e}function YD(e,t,n={}){let r=e.resolveLangAlias(n.lang||`text`),{theme:i=e.getLoadedThemes()[0]}=n;if(!fT(r)&&!mT(i)&&r===`ansi`){let{theme:r}=e.setTheme(i);return qD(r,t,n)}return RT(e,t,n)}function XD(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 wC("`themes` option must not be empty");let p=qT(e,t,n,YD);if(c=MT(p),l&&l!==`light-dark()`&&!f.some(e=>e.color===l))throw new wC(`\`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=>DD(e,h,u,l,d))),c&&jT(a,c);let g=f.map(e=>cT(e.theme,n));i=ZD(f,m,g,u,l,`fg`,d),r=ZD(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=cT(n.theme,n);a=YD(e,t,n);let l=e.getTheme(n.theme);r=lT(l.bg,s),i=lT(l.fg,s),o=l.name,c=MT(a)}else throw new wC("Invalid options, either `theme` or `themes` must be provided");return{tokens:a,fg:i,bg:r,themeName:o,rootStyle:s,grammarState:c}}function ZD(e,t,n,r,i,a,o){return e.map((s,c)=>{let l=lT(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 wC('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${lT(t[r][a],n[r])||`inherit`}, ${lT(t[i][a],n[i])||`inherit`});${u}`}return l}return o===`css-vars`?u:null}).filter(e=>!!e).join(`;`)}var QD=/^\s+$/,$D=/^(\s*)(.*?)(\s*)$/;function eO(e,t,n,r={meta:{},options:n,codeToHast:(t,n)=>eO(e,t,n),codeToTokens:(t,n)=>XD(e,t,n)}){let i=t;for(let e of PD(n))i=e.preprocess?.call(r,i,n)||i;let{tokens:a,fg:o,bg:s,themeName:c,rootStyle:l,grammarState:u}=XD(e,i,n),{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?a=nO(a):d===`never`&&(a=rO(a)),f&&(a=iO(a));let p={...r,get source(){return i}};for(let e of PD(n))a=e.tokens?.call(p,a)||a;return tO(a,{...n,fg:o,bg:s,themeName:c,rootStyle:n.rootStyle===!1?!1:n.rootStyle??l},p,u)}function tO(e,t,n,r=MT(e)){let i=PD(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:_D,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:`
|
|
34
|
+
`}));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=kD(a.htmlStyle||OD(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&&jT(m,r),m}function nO(e){return e.map(e=>{let t=[],n=``,r;return e.forEach((i,a)=>{let o=!(i.fontStyle&&(i.fontStyle&GC.Underline||i.fontStyle&GC.Strikethrough));o&&QD.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 rO(e){return e.map(e=>e.flatMap(e=>{if(QD.test(e.content))return e;let t=e.content.match($D);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 iO(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=kD(e.htmlStyle||OD(e)),i=kD(n.htmlStyle||OD(n)),a=e.fontStyle&&(e.fontStyle&GC.Underline||e.fontStyle&GC.Strikethrough),o=n.fontStyle&&(n.fontStyle&GC.Underline||n.fontStyle&GC.Strikethrough);!a&&!o&&r===i?e.content+=n.content:t.push({...n})}return t})}var aO=pD;function oO(e,t,n){let r={meta:{},options:n,codeToHast:(t,n)=>eO(e,t,n),codeToTokens:(t,n)=>XD(e,t,n)},i=aO(eO(e,t,n,r));for(let e of PD(n))i=e.postprocess?.call(r,i,n)||i;return i}async function sO(e){let t=await kT(e);return{getLastGrammarState:(...e)=>zT(t,...e),codeToTokensBase:(e,n)=>YD(t,e,n),codeToTokensWithThemes:(e,n)=>qT(t,e,n),codeToTokens:(e,n)=>XD(t,e,n),codeToHast:(e,n)=>eO(t,e,n),codeToHtml:(e,n)=>oO(t,e,n),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function cO(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,pT(n))return[];let r=t[n];if(!r)throw new wC(`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(hT(e))return`none`;if(typeof e==`string`){let t=n[e];if(!t)throw new wC(`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 sO({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 lO(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 uO(e,t){let n=lO(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 dO=cO({langs:KS,themes:qS,engine:()=>(0,CC.createOnigurumaEngine)(B(()=>import(`./wasm-BDxaNPCj.js`),[]))}),{codeToHtml:fO,codeToHast:pO,codeToTokens:mO,codeToTokensBase:hO,codeToTokensWithThemes:gO,getSingletonHighlighter:_O,getLastGrammarState:vO}=uO(dO,{guessEmbeddedLanguages:CD}),yO=[`github-dark-dimmed`,`github-light`,`one-dark-pro`],bO=[`javascript`,`typescript`,`tsx`,`jsx`,`json`,`shellscript`,`bash`,`python`,`go`,`rust`,`sql`,`yaml`,`markdown`,`html`,`css`,`docker`],xO={js:`javascript`,ts:`typescript`,sh:`bash`,shell:`bash`,zsh:`bash`,py:`python`,rs:`rust`,yml:`yaml`,md:`markdown`,dockerfile:`docker`,golang:`go`},SO=null,CO=null,wO=`github-dark-dimmed`,TO=new Set(bO),EO=new Set(yO),DO=new Map,OO=600;function kO(e,t){return`${wO}::${t}::${e}`}function AO(e,t){if(DO.size>=OO){let e=DO.keys().next().value;e!==void 0&&DO.delete(e)}DO.set(e,t)}function jO(){return SO||=dO({themes:yO,langs:bO}).then(e=>(CO=e,e)),SO}function MO(e,t){let n=PO(t)||`text`,r=kO(e,n),i=DO.get(r);if(i!==void 0)return i;if(!CO||n!==`text`&&!TO.has(n))return null;try{let t=CO.codeToHtml(e,{lang:n,theme:wO});return AO(r,t),t}catch{return null}}function NO(){jO()}function PO(e){let t=(e||``).toLowerCase().trim();return xO[t]??t}async function FO(e,t){let n=await jO(),r=PO(t);if(r&&!TO.has(r))try{await n.loadLanguage(r),TO.add(r)}catch{r=`text`}r||=`text`;let i=n.codeToHtml(e,{lang:r,theme:wO});return AO(kO(e,r),i),i}function IO(){return wO}async function LO(e){let t=await jO();if(typeof e==`string`){if(!EO.has(e))try{await t.loadTheme(e),EO.add(e)}catch{return}wO=e}else{let n=e.name;if(!n)return;if(!EO.has(n))try{await t.loadTheme(e),EO.add(n)}catch{return}wO=n}}function RO(e){return e.syntax?.shikiTheme?e.syntax.shikiTheme:e.mode===`light`?`github-light`:`github-dark-dimmed`}var zO=!1;function BO(){if(zO||typeof window>`u`)return;zO=!0,window.addEventListener($r,e=>{let t=e.detail;t&&LO(RO(t)).then(()=>{window.dispatchEvent(new CustomEvent(`ppm:shiki-theme-change`))})});let e=Qr();e&&LO(RO(e)).then(()=>{window.dispatchEvent(new CustomEvent(`ppm:shiki-theme-change`))})}function VO(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 HO(e){if(Array.isArray(e))return e}function UO(e,t,n){return(t=QO(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function WO(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 GO(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
35
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function KO(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 qO(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?KO(Object(n),!0).forEach(function(t){UO(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):KO(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function JO(e,t){if(e==null)return{};var n,r,i=YO(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 YO(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 XO(e,t){return HO(e)||WO(e,t)||$O(e,t)||GO()}function ZO(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 QO(e){var t=ZO(e,`string`);return typeof t==`symbol`?t:t+``}function $O(e,t){if(e){if(typeof e==`string`)return VO(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)?VO(e,t):void 0}}function ek(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tk(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 nk(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?tk(Object(n),!0).forEach(function(t){ek(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):tk(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function rk(){var e=[...arguments];return function(t){return e.reduceRight(function(e,t){return t(e)},t)}}function ik(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 ak(e){return{}.toString.call(e).includes(`Object`)}function ok(e){return!Object.keys(e).length}function sk(e){return typeof e==`function`}function ck(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function lk(e,t){return ak(t)||mk(`changeType`),Object.keys(t).some(function(t){return!ck(e,t)})&&mk(`changeField`),t}function uk(e){sk(e)||mk(`selectorType`)}function dk(e){sk(e)||ak(e)||mk(`handlerType`),ak(e)&&Object.values(e).some(function(e){return!sk(e)})&&mk(`handlersType`)}function fk(e){e||mk(`initialIsRequired`),ak(e)||mk(`initialType`),ok(e)&&mk(`initialContent`)}function pk(e,t){throw Error(e[t]||e.default)}var mk=ik(pk)({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"}),hk={changes:lk,selector:uk,handler:dk,initial:fk};function gk(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};hk.initial(e),hk.handler(t);var n={current:e},r=ik(yk)(n,t),i=ik(vk)(n),a=ik(hk.changes)(e),o=ik(_k)(n);function s(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(e){return e};return hk.selector(e),e(n.current)}function c(e){rk(r,i,a,o)(e)}return[s,c]}function _k(e,t){return sk(t)?t(e.current):t}function vk(e,t){return e.current=nk(nk({},e.current),t),t}function yk(e,t,n){return sk(t)?t(e.current):Object.keys(n).forEach(function(n){return t[n]?.call(t,e.current[n])}),n}var bk={create:gk},xk={paths:{vs:`https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs`}};function Sk(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 Ck(e){return{}.toString.call(e).includes(`Object`)}function wk(e){return e||Ok(`configIsRequired`),Ck(e)||Ok(`configType`),e.urls?(Tk(),{paths:{vs:e.urls.monacoBase}}):e}function Tk(){console.warn(Dk.deprecation)}function Ek(e,t){throw Error(e[t]||e.default)}var Dk={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!
|
|
36
|
+
You are using deprecated way of configuration.
|
|
37
|
+
|
|
38
|
+
Instead of using
|
|
39
|
+
monaco.config({ urls: { monacoBase: '...' } })
|
|
40
|
+
use
|
|
41
|
+
monaco.config({ paths: { vs: '...' } })
|
|
42
|
+
|
|
43
|
+
For more please check the link https://github.com/suren-atoyan/monaco-loader#config
|
|
44
|
+
`},Ok=Sk(Ek)(Dk),kk={config:wk},Ak=function(){var e=[...arguments];return function(t){return e.reduceRight(function(e,t){return t(e)},t)}};function jk(e,t){return Object.keys(t).forEach(function(n){t[n]instanceof Object&&e[n]&&Object.assign(t[n],jk(e[n],t[n]))}),qO(qO({},e),t)}var Mk={type:`cancelation`,msg:`operation is manually canceled`};function Nk(e){var t=!1,n=new Promise(function(n,r){e.then(function(e){return t?r(Mk):n(e)}),e.catch(r)});return n.cancel=function(){return t=!0},n}var Pk=[`monaco`],Fk=XO(bk.create({config:xk,isInitialized:!1,resolve:null,reject:null,monaco:null}),2),Ik=Fk[0],Lk=Fk[1];function Rk(e){var t=kk.config(e),n=t.monaco,r=JO(t,Pk);Lk(function(e){return{config:jk(e.config,r),monaco:n}})}function zk(){var e=Ik(function(e){return{monaco:e.monaco,isInitialized:e.isInitialized,resolve:e.resolve}});if(!e.isInitialized){if(Lk({isInitialized:!0}),e.monaco)return e.resolve(e.monaco),Nk(Kk);if(window.monaco&&window.monaco.editor)return Wk(window.monaco),e.resolve(window.monaco),Nk(Kk);Ak(Bk,Hk)(Uk)}return Nk(Kk)}function Bk(e){return document.body.appendChild(e)}function Vk(e){var t=document.createElement(`script`);return e&&(t.src=e),t}function Hk(e){var t=Ik(function(e){return{config:e.config,reject:e.reject}}),n=Vk(`${t.config.paths.vs}/loader.js`);return n.onload=function(){return e()},n.onerror=t.reject,n}function Uk(){var e=Ik(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;Wk(n),e.resolve(n)},function(t){e.reject(t)})}function Wk(e){Ik().monaco||Lk({monaco:e})}function Gk(){return Ik(function(e){return e.monaco})}var Kk=new Promise(function(e,t){return Lk({resolve:e,reject:t})}),qk={config:Rk,init:zk,__getMonacoInstance:Gk},Jk={wrapper:{display:`flex`,position:`relative`,textAlign:`initial`},fullWidth:{width:`100%`},hide:{display:`none`}},Yk={container:{display:`flex`,height:`100%`,width:`100%`,justifyContent:`center`,alignItems:`center`}};function Xk({children:e}){return Y.createElement(`div`,{style:Yk.container},e)}var Zk=Xk;function Qk({width:e,height:t,isEditorReady:n,loading:r,_ref:i,className:a,wrapperProps:o}){return Y.createElement(`section`,{style:{...Jk.wrapper,width:e,height:t},...o},!n&&Y.createElement(Zk,null,r),Y.createElement(`div`,{ref:i,style:{...Jk.fullWidth,...!n&&Jk.hide},className:a}))}var $k=(0,Y.memo)(Qk);function eA(e){(0,Y.useEffect)(e,[])}var tA=eA;function nA(e,t,n=!0){let r=(0,Y.useRef)(!0);(0,Y.useEffect)(r.current||!n?()=>{r.current=!1}:e,t)}var rA=nA;function iA(){}function aA(e,t,n,r){return oA(e,r)||sA(e,t,n,r)}function oA(e,t){return e.editor.getModel(cA(e,t))}function sA(e,t,n,r){return e.editor.createModel(t,n,r?cA(e,r):void 0)}function cA(e,t){return e.Uri.parse(t)}function lA({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=iA,onMount:_=iA}){let[v,y]=(0,Y.useState)(!1),[b,x]=(0,Y.useState)(!0),S=(0,Y.useRef)(null),C=(0,Y.useRef)(null),w=(0,Y.useRef)(null),T=(0,Y.useRef)(_),E=(0,Y.useRef)(g),D=(0,Y.useRef)(!1);tA(()=>{let e=qk.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()}),rA(()=>{if(S.current&&C.current){let t=S.current.getOriginalEditor(),i=aA(C.current,e||``,r||n||`text`,a||``);i!==t.getModel()&&t.setModel(i)}},[a],v),rA(()=>{if(S.current&&C.current){let e=S.current.getModifiedEditor(),r=aA(C.current,t||``,i||n||`text`,o||``);r!==e.getModel()&&e.setModel(r)}},[o],v),rA(()=>{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),rA(()=>{S.current?.getModel()?.original.setValue(e||``)},[e],v),rA(()=>{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),rA(()=>{C.current?.editor.setTheme(l)},[l],v),rA(()=>{S.current?.updateOptions(d)},[d],v);let O=(0,Y.useCallback)(()=>{if(!C.current)return;E.current(C.current);let s=aA(C.current,e||``,r||n||`text`,a||``),c=aA(C.current,t||``,i||n||`text`,o||``);S.current?.setModel({original:s,modified:c})},[n,t,i,e,r,a,o]),k=(0,Y.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,Y.useEffect)(()=>{v&&T.current(S.current,C.current)},[v]),(0,Y.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 Y.createElement($k,{width:p,height:f,isEditorReady:v,loading:u,_ref:w,className:m,wrapperProps:h})}var uA=(0,Y.memo)(lA);function dA(e){let t=(0,Y.useRef)();return(0,Y.useEffect)(()=>{t.current=e},[e]),t.current}var fA=dA,pA=new Map;function mA({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:_=iA,onMount:v=iA,onChange:y,onValidate:b=iA}){let[x,S]=(0,Y.useState)(!1),[C,w]=(0,Y.useState)(!0),T=(0,Y.useRef)(null),E=(0,Y.useRef)(null),D=(0,Y.useRef)(null),O=(0,Y.useRef)(v),k=(0,Y.useRef)(_),A=(0,Y.useRef)(),j=(0,Y.useRef)(r),ee=fA(a),te=(0,Y.useRef)(!1),M=(0,Y.useRef)(!1);tA(()=>{let e=qk.init();return e.then(e=>(T.current=e)&&w(!1)).catch(e=>e?.type!==`cancelation`&&console.error(`Monaco initialization: error:`,e)),()=>E.current?ne():e.cancel()}),rA(()=>{let o=aA(T.current,e||r||``,t||i||``,a||n||``);o!==E.current?.getModel()&&(d&&pA.set(ee,E.current?.saveViewState()),E.current?.setModel(o),d&&E.current?.restoreViewState(pA.get(a)))},[a],x),rA(()=>{E.current?.updateOptions(l)},[l],x),rA(()=>{!E.current||r===void 0||(E.current.getOption(T.current.editor.EditorOption.readOnly)?E.current.setValue(r):r!==E.current.getValue()&&(M.current=!0,E.current.executeEdits(``,[{range:E.current.getModel().getFullModelRange(),text:r,forceMoveMarkers:!0}]),E.current.pushUndoStop(),M.current=!1))},[r],x),rA(()=>{let e=E.current?.getModel();e&&i&&T.current?.editor.setModelLanguage(e,i)},[i],x),rA(()=>{s!==void 0&&E.current?.revealLine(s)},[s],x),rA(()=>{T.current?.editor.setTheme(o)},[o],x);let N=(0,Y.useCallback)(()=>{if(!(!D.current||!T.current)&&!te.current){k.current(T.current);let c=a||n,f=aA(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(pA.get(c)),T.current.editor.setTheme(o),s!==void 0&&E.current.revealLine(s),S(!0),te.current=!0}},[e,t,n,r,i,a,l,u,d,o,s]);(0,Y.useEffect)(()=>{x&&O.current(E.current,T.current)},[x]),(0,Y.useEffect)(()=>{!C&&!x&&N()},[C,x,N]),j.current=r,(0,Y.useEffect)(()=>{x&&y&&(A.current?.dispose(),A.current=E.current?.onDidChangeModelContent(e=>{M.current||y(E.current.getValue(),e)}))},[x,y]),(0,Y.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 ne(){A.current?.dispose(),f?d&&pA.set(a,E.current.saveViewState()):E.current.getModel()?.dispose(),E.current.dispose()}return Y.createElement($k,{width:p,height:m,isEditorReady:x,loading:c,_ref:D,className:h,wrapperProps:g})}var hA=(0,Y.memo)(mA),gA={type:`4EC9B0`,function:`DCDCAA`,variable:`9CDCFE`,constant:`4FC1FF`,keyword:`569CD6`},_A={type:`267F99`,function:`795E26`,variable:`001080`,constant:`0070C1`,keyword:`0000FF`};function vA(e){let t=e===`dark`?gA:_A;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 yA={inserted:`6A9955`,deleted:`CE9178`,header:`569CD6`},bA={inserted:`098658`,deleted:`A31515`,header:`0000FF`};function xA(e){let t=e===`dark`?yA:bA;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 SA(e){return`ppm-${e.id}`}function CA(e,t){return/^#[0-9a-fA-F]{6}$/.test(e)?e+t:e}function wA(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":CA(t.accent,`33`),"editor.lineHighlightBackground":CA(t.accent,`12`),"editorWidget.background":t.bgSolid,"editorGutter.background":t.bgSolid,"editorIndentGuide.background1":CA(t.text3,`40`),"editorWhitespace.foreground":CA(t.text3,`40`),...e.editor?.colors}}qk.config({paths:{vs:`/assets/monaco/vs`}});var TA=null;async function EA(e){let t=SA(e);return(TA??=await qk.init()).editor.defineTheme(t,{base:e.mode===`dark`?`vs-dark`:`vs`,inherit:!0,rules:[...vA(e.mode),...xA(e.mode),...e.editor?.rules??[]],colors:wA(e)}),t}function DA(){let e=z.getState();return Qr()??Bi(e.themeStyle,e.themeMode,e.customThemes,e.customThemeId)}var OA=!1;function kA(){if(OA||typeof window>`u`)return;OA=!0;let e=async()=>{let e=await EA(DA());(TA??=await qk.init()).editor.setTheme(e)};window.addEventListener($r,()=>void e()),e()}var AA=`#3b82f6`,jA=`#f59e0b`,MA=`#ef4444`;function NA(e){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
45
|
+
<rect width="32" height="32" rx="6" fill="${AA}"/>
|
|
46
|
+
<text x="16" y="22" text-anchor="middle" font-family="system-ui,sans-serif" font-weight="700" font-size="11" fill="white">PPM</text>
|
|
47
|
+
${e?`<circle cx="26" cy="6" r="5" fill="${MA}"/>`:``}
|
|
48
|
+
</svg>`}function PA(e,t){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
|
|
49
|
+
<rect width="32" height="32" rx="6" fill="${jA}"/>
|
|
50
|
+
${[10,16,22].map((t,n)=>`<circle cx="${t}" cy="${n===e?13:17}" r="3" fill="white"/>`).join(``)}
|
|
51
|
+
${t?`<circle cx="26" cy="6" r="5" fill="${MA}"/>`:``}
|
|
52
|
+
</svg>`}var FA=e=>`data:image/svg+xml,${encodeURIComponent(e)}`,IA=[FA(NA(!1)),FA(NA(!0))],LA=[0,1,2,-1].map(e=>[FA(PA(e,!1)),FA(PA(e,!0))]),RA=LA.length;function zA(e,t=null){let n=document.getElementById(`ppm-favicon`);if(!n)return;let r=e?1:0;t===null?n.href=IA[r]:n.href=LA[(t%RA+RA)%RA][r]}function BA(e,t,n){let r=[t,n||null,`PPM`].filter(Boolean).join(` - `);return e>0?`(${e}) ${r}`:r}function VA(){let e=U(e=>e.activeProject),t=z(e=>e.deviceName),n=e?.name,r=Yr(Xr(n)),i=(0,Y.useRef)(null);(0,Y.useEffect)(()=>{let e=()=>hs(n)(ps.getState()),a=()=>e()>0,o=()=>{document.title=BA(e(),n,t??void 0)};if(o(),r){let e=0;zA(a(),e),i.current=setInterval(()=>{e=(e+1)%RA,zA(a(),e)},300)}else zA(a());let s=ps.subscribe(()=>{o(),r||zA(a())});return()=>{s(),i.current&&=(clearInterval(i.current),null)}},[n,t,r])}function HA(){return typeof navigator<`u`&&`wakeLock`in navigator?`ok`:typeof window<`u`&&window.isSecureContext===!1?`insecure`:`unsupported`}function UA(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 WA(){let e=Yr(e=>e.sessions.size>0),t=z(e=>e.keepScreenAwake);(0,Y.useEffect)(()=>{if(!t||!e||HA()!==`ok`)return;let n=navigator.wakeLock;return UA({request:()=>n.request(`screen`),isVisible:()=>document.visibilityState===`visible`,onVisibilityChange:e=>(document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)),onActive:e=>my.getState().setActive(e)})},[t,e])}var GA=`chat`;function KA(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)===GA&&(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 qA=3,JA=2500,YA=1200;function XA(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 ZA(){let e=Lr();(0,Y.useEffect)(()=>{if(e)return;let t=!1,n=qA,r=null,i=()=>{r?.cancel(),r=null},a=()=>{if(r=null,t||n<=0)return;let{panels:e}=H.getState(),{mounted:i,mount:a}=Nl.getState(),[s]=KA(e,i,1);s&&(a(s),n--,o(YA))},o=e=>{t||n<=0||(i(),r=XA(a,e))},s=H.subscribe((e,t)=>{if(e.panels!==t.panels){for(let n of Object.keys(e.panels))if(n in t.panels&&e.panels[n]?.activeTabId!==t.panels[n]?.activeTabId){o(JA);return}}});return o(JA),()=>{t=!0,i(),s()}},[e,H(e=>e.currentProject)])}var QA=3e4,$A=1e3,ej=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:Vi(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($A*2**this.reconnectAttempts,QA);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 tj(){try{let e=await L.get(`/api/chat/sessions/running`);Yr.getState().replaceAllStreaming(e)}catch{}}function nj(e,t){let n=(0,Y.useRef)(null),r=(0,Y.useRef)(t);r.current=t,(0,Y.useEffect)(()=>{if(!e)return;let t=Gn(),i=new ej(`/ws/global${t?`?token=${encodeURIComponent(t)}`:``}`);n.current=i;let a=i.onMessage(e=>{let t;try{t=JSON.parse(e.data)}catch{return}let n=t.type;if(typeof n==`string`){if(n===`global_ready`){r.current&&i.send(JSON.stringify({type:`watch`,projectName:r.current})),tj();return}if(n===`file:changed`){window.dispatchEvent(new CustomEvent(`file:changed`,{detail:t}));return}if(n===`session:unread_changed`){let e=t;ps.getState().handleUnreadChanged(e.sessionId,e.unreadCount,e.unreadType,e.projectName,e.sessionTitle,e.manual);return}if(n===`session:phase_changed`){let e=t;Yr.getState().setStreaming(e.sessionId,e.phase!==`idle`,e.projectName);return}if(n===`session:migrated`){let e=t;Yr.getState().dropSession(e.oldSessionId);return}(n.startsWith(`jira:`)||n.startsWith(`tunnel:`))&&window.dispatchEvent(new CustomEvent(n,{detail:t}))}});return i.connect(),()=>{a(),i.disconnect(),n.current=null}},[e]),(0,Y.useEffect)(()=>{!e||!t||(n.current?.send(JSON.stringify({type:`watch`,projectName:t})),tj())},[e,t])}var rj=15e3,ij=Kn((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>=rj})},markUp:()=>{e({isDown:!1,downSince:null,showOverlay:!1})}})),aj=1e4,oj=2e3;function sj(){(0,Y.useEffect)(()=>{let e=!1,t,{markDown:n,markUp:r}=ij.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?oj:aj)}return t=setTimeout(i,aj),()=>clearTimeout(t)},[])}var cj=`(pointer: coarse) and (hover: none)`;function lj(){return typeof window<`u`&&window.matchMedia?window.matchMedia(cj):null}function uj(e){let t=lj();return t?.addEventListener?.(`change`,e),()=>t?.removeEventListener?.(`change`,e)}function dj(){return lj()?.matches??!1}function fj(){return!1}function pj(){return(0,Y.useSyncExternalStore)(uj,dj,fj)}function mj(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>=0?e.slice(t+1):e}function hj(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 gj(e,t,n,r,i){if(e.includes(` `)){let a=e.split(/\s+/).filter(Boolean);if(a.length===0)return null;if(a.length===1)return gj(a[0],t,n,r,i);let o=0,s=0;for(let e of a){let a=gj(e,t,n,r,i);if(!a)return null;o=Math.max(o,a.tier),s+=a.offset}return{tier:o,offset:s,nameLen:r,depth:i}}if(t===e)return{tier:0,offset:0,nameLen:r,depth:i};if(t.startsWith(e))return{tier:1,offset:0,nameLen:r,depth:i};let a=t.indexOf(e);if(a>=0)return{tier:2,offset:a,nameLen:r,depth:i};let o=n.indexOf(e);if(o>=0)return{tier:3,offset:o,nameLen:r,depth:i};let s=hj(e,t);if(s>=0)return{tier:4,offset:s,nameLen:r,depth:i};let c=hj(e,n);return c>=0?{tier:5,offset:c,nameLen:r,depth:i}:null}function _j(e,t,n){let r=n.toLowerCase();return gj(e.toLowerCase(),mj(r),r,t.length,n.split(`/`).length)}function vj(e,t){return e.tier-t.tier||e.offset-t.offset||e.nameLen-t.nameLen||e.depth-t.depth}var yj={action:{label:`Actions`,icon:vt},file:{label:`Files`,icon:Bt},db:{label:`Database`,icon:Ot},fs:{label:`Filesystem`,icon:we}};function bj({availableGroups:e,groupCounts:t,activeFilters:n,onToggle:r}){return e.length<=1?null:(0,X.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=yj[e];if(!i)return null;let a=t[e]??0,o=n.has(e),s=i.icon;return(0,X.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,X.jsx)(s,{className:`size-3`}),(0,X.jsx)(`span`,{children:i.label}),(0,X.jsxs)(`span`,{className:`text-[10px] opacity-70`,children:[`(`,a,`)`]})]},e)})})}var xj=100,Sj=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent);function Cj(e){return e?e.replace(/Mod\+/g,Sj?`⌘`:`Ctrl+`).replace(/Alt\+/g,Sj?`⌥`:`Alt+`).replace(/Shift\+/g,Sj?`⇧`:`Shift+`).replace(/Meta\+/g,`⌘`).replace(/Ctrl\+/g,Sj?`⌃`:`Ctrl+`):``}function wj(e){let t=[];for(let n of e)n.type===`file`&&t.push({name:n.name,path:n.path}),n.children&&t.push(...wj(n.children));return t}function Tj(e){return e?e.startsWith(`/`)||e.startsWith(`~/`)||e.startsWith(`~\\`)||/^[A-Za-z]:[/\\]/.test(e):!1}function Ej(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 Dj=new Map;function Oj({open:e,onClose:t,initialQuery:n=``}){let[r,i]=(0,Y.useState)(``),a=(0,Y.useDeferredValue)(r),[o,s]=(0,Y.useState)(0),[c,l]=(0,Y.useState)([]),[u,d]=(0,Y.useState)(!1),[f,p]=(0,Y.useState)([]),[m,h]=(0,Y.useState)(new Set),g=(0,Y.useRef)(null),_=(0,Y.useRef)(null),v=W(e=>e.openTab),y=U(e=>e.activeProject),b=Nr(e=>e.fileIndex),x=Nr(e=>e.indexStatus),S=Nr(e=>e.loadIndex),C=Nr(e=>e.tree),w=z(e=>e.setSidebarActiveTab),T=z(e=>e.sidebarCollapsed),E=z(e=>e.toggleSidebar),D=xc(e=>e.getBinding),O=Sc(e=>e.contributions),k=Lr(),A=pj(),j=z(e=>e.lspEnabled),ee=(0,Y.useCallback)(async e=>{if(Dj.has(e)){l(Dj.get(e));return}d(!0);try{let t=await L.get(`/api/fs/list?dir=${encodeURIComponent(e)}`);Dj.set(e,t),l(t)}catch{l([])}finally{d(!1)}},[]);(0,Y.useEffect)(()=>{if(!Tj(r)){l([]);return}ee(Ej(r))},[r,ee]),(0,Y.useEffect)(()=>{if(Tj(r)||r.trim().length<2){p([]);return}let e=setTimeout(async()=>{try{p(await L.get(`/api/db/search?q=${encodeURIComponent(r.trim())}`)??[])}catch{p([])}},300);return()=>clearTimeout(e)},[r]);let te=(0,Y.useMemo)(()=>{let e=y?.name??null,n=y?{projectName:y.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:An,action:r(`chat`,`AI Chat`),keywords:`ai assistant claude`,group:`action`,shortcut:Cj(D(`open-chat`))},{id:`new-file`,label:`New File`,icon:cn,action:()=>{W.getState().openNewFile(),t()},keywords:`create untitled blank empty`,group:`action`,shortcut:Cj(D(`new-file`))},{id:`new-db-query`,label:`New DB Query`,icon:Ot,action:()=>{W.getState().openNewFile({language:`sql`,title:`SQL Query`}),t()},keywords:`sql database query scratchpad new`,group:`action`},{id:`terminal`,label:`New Terminal`,icon:In,action:r(`terminal`,`Terminal`),keywords:`bash shell console`,group:`action`,shortcut:Cj(D(`open-terminal`))},{id:`tunnels`,label:`Cloudflare Tunnels`,icon:tt,action:()=>{T&&E(),w(`tunnels`),t()},keywords:`web preview localhost port forward tunnel cloudflare url`,group:`action`},{id:`cloud-share`,label:`PPM Cloud & Share`,icon:xt,action:()=>{window.dispatchEvent(new CustomEvent(`open-cloud-share`)),t()},keywords:`cloud permanent link alias share phone remote device qr sign in login`,group:`action`},{id:`postgres`,label:`PostgreSQL`,icon:Ot,action:r(`postgres`,`PostgreSQL`),keywords:`database pg sql query`,group:`action`},{id:`voice-input`,label:`Voice Input`,icon:Rn,action:()=>{window.dispatchEvent(new CustomEvent(`toggle-voice-input`)),t()},keywords:`speech microphone dictate voice`,group:`action`,shortcut:Cj(D(`voice-input`))},{id:`git-status`,label:`Git Status`,icon:Yi,action:()=>{w(`git`),t()},keywords:`changes diff staged`,group:`action`,shortcut:Cj(D(`open-git-status`))},{id:`problems`,label:`Problems`,icon:ft,action:()=>{H.getState().openInDock({type:`problems`,title:`Problems`,projectId:null,closable:!0}),t()},keywords:`errors warnings diagnostics lint typescript`,group:`action`,shortcut:Cj(D(`open-problems`))},{id:`word-wrap`,label:`Toggle Word Wrap`,icon:Vn,group:`action`,keywords:`wrap unwrap word lines editor soft`,action:()=>{let e=z.getState();k?e.toggleMobileWordWrap():e.toggleWordWrap(),t()},shortcut:k?void 0:`Alt+Z`},{id:`compare-files`,label:`Compare Files...`,icon:Lt,group:`action`,keywords:`diff compare two files select`,shortcut:Cj(D(`compare-files`)),action:()=>{let{activeTabId:e,tabs:n}=W.getState(),r=n.find(t=>t.id===e),i=r?.metadata;r?.type===`editor`&&i?.filePath&&i?.projectName&&Fs.getState().setSelection({filePath:i.filePath,projectName:i.projectName,dirtyContent:i.unsavedContent,label:Jn(i.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`)),t()}},...A?[]:[{id:`language-server`,label:j?`Turn Off Language Server`:`Turn On Language Server`,icon:vt,group:`action`,keywords:`lsp language server completions intellisense hover definition typescript pyright gopls`,hint:`This device`,action:()=>{let e=z.getState();e.setLspEnabled(!e.lspEnabled),t()}}],{id:`settings`,label:`Settings`,icon:mn,action:()=>{wc(),t()},keywords:`config preferences theme`,group:`action`,shortcut:Cj(D(`open-settings`))},{id:`open-file-explorer`,label:`Open File Explorer`,icon:qt,group:`action`,keywords:`open file explorer finder browse files folders disk drive window`,action:()=>{Lf(),t()}}],a=O?.keybindings??[],o=(O?.commands??[]).map(e=>{let n=a.find(t=>t.command===e.command),r=(n?D(`ext:${n.command}`):``)||(n?Sj&&n.mac?n.mac:n.key:``);return{id:`ext:${e.command}`,label:e.title,hint:e.category,icon:Tl(e.icon)??St,group:`action`,keywords:`extension ${e.command} ${e.category??``}`,shortcut:r?Cj(r):void 0,action:()=>{Tc(e.command),t()}}});return[...i,...o]},[y,v,t,w,T,E,D,O,k,A,j]),M=(0,Y.useMemo)(()=>{let e=y?.name??null,n=y?{projectName:y.name}:void 0;return(x===`ready`?b.filter(e=>e.type===`file`):wj(C)).map(r=>({id:`file:${r.path}`,label:r.name,hint:r.path,icon:Di(r.name),group:`file`,keywords:r.path,isIgnored:`isIgnored`in r?r.isIgnored:void 0,action:()=>{v({type:`editor`,title:r.name,projectId:e,metadata:{...n,filePath:r.path},closable:!0}),t()}}))},[x,b,C,y,v,t]),N=(0,Y.useMemo)(()=>{let e=y?.name??null,n=y?{projectName:y.name}:void 0;return c.map(r=>{let i=Jn(r);return{id:`fs:${r}`,label:i,hint:r,icon:we,group:`fs`,keywords:r,action:()=>{v({type:`editor`,title:i,projectId:e,metadata:{...n,filePath:r},closable:!0}),t()}}})},[c,y,v,t]),ne=(0,Y.useMemo)(()=>f.map(e=>({id:`db:${e.connectionId}:${e.schemaName}.${e.tableName}`,label:e.tableName,hint:`${e.connectionName} (${e.connectionType===`postgres`?`PG`:`SQLite`})`,icon:Ot,group:`db`,connectionColor:e.connectionColor,action:()=>{v({type:`database`,title:`${e.connectionName} · ${e.tableName}`,projectId:null,closable:!0,metadata:{connectionId:e.connectionId,connectionName:e.connectionName,dbType:e.connectionType,tableName:e.tableName,schemaName:e.schemaName,connectionColor:e.connectionColor}}),t()}})),[f,v,t]),re=(0,Y.useMemo)(()=>[...te,...M],[te,M]),ie=(0,Y.useMemo)(()=>re.map(e=>{let t=e.keywords??e.label,n=t.toLowerCase();return{cmd:e,filenameLower:mj(n),pathLower:n,labelLen:e.label.length,depth:t.split(`/`).length}}),[re]),ae=(0,Y.useMemo)(()=>{if(Tj(a)){let e=a.lastIndexOf(`/`),t=e>=0?a.slice(e+1).toLowerCase():``;return t?N.filter(e=>{let n=e.label.toLowerCase(),r=(e.keywords??``).toLowerCase();return n.includes(t)||r.includes(t)}).slice(0,50):N.slice(0,50)}if(!a.trim())return te;let e=a.toLowerCase().replace(/^\.\.?\//,``),t=[];for(let n of ie){let r=gj(e,n.filenameLower,n.pathLower,n.labelLen,n.depth);r&&t.push({cmd:n.cmd,score:r})}t.sort((e,t)=>vj(e.score,t.score));let n=t.slice(0,xj).map(e=>e.cmd);return a.trim().length>=2?[...ne,...n]:n},[ie,te,N,ne,a]),oe=(0,Y.useMemo)(()=>{let e=new Set;for(let t of re)e.add(t.group);return f.length>0&&e.add(`db`),c.length>0&&e.add(`fs`),Array.from(e)},[re,f.length,c.length]),se=(0,Y.useMemo)(()=>{let e={};for(let t of ae)e[t.group]=(e[t.group]??0)+1;return e},[ae]),P=(0,Y.useMemo)(()=>m.size===0?ae:ae.filter(e=>m.has(e.group)),[ae,m]),ce=(0,Y.useCallback)(e=>{h(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),s(0)},[]);(0,Y.useEffect)(()=>{e&&x===`idle`&&y&&S(y.name)},[e,x,y,S]),(0,Y.useEffect)(()=>{e&&(i(n||``),s(0),l([]),p([]),h(new Set),requestAnimationFrame(()=>g.current?.focus()))},[e]),(0,Y.useEffect)(()=>{s(e=>Math.min(e,Math.max(P.length-1,0)))},[P.length]),(0,Y.useEffect)(()=>{let e=_.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]);let le=(0,Y.useCallback)(()=>{r.trim()&&(v({type:`chat`,title:`AI Chat`,projectId:y?.name??null,metadata:{projectName:y?.name,pendingMessage:r.trim()},closable:!0}),t())},[r,y,v,t]);function ue(e){let n=P.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?P[o]?.action():r.trim()&&le();break;case`Escape`:e.preventDefault(),t();break}}if(!e)return null;let de=Tj(r);return(0,X.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:t,children:[(0,X.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,X.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:ue,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,X.jsx)(Yt,{className:`size-4 text-text-subtle shrink-0`}),(0,X.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,X.jsx)(F,{className:`size-3.5 animate-spin text-text-subtle shrink-0`}),(0,X.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`})]}),de&&!u&&c.length===0&&r.length<4&&(0,X.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/)`}),!de&&(x===`loading`||x===`idle`)&&(0,X.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-1.5 border-b border-border/50`,children:[(0,X.jsx)(F,{className:`size-3 animate-spin text-text-subtle shrink-0`}),(0,X.jsx)(`span`,{className:`text-[11px] text-text-subtle italic`,children:`Indexing project…`})]}),!de&&x===`error`&&(0,X.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border/50`,children:[(0,X.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`Failed to build file index —`}),(0,X.jsx)(`button`,{onClick:()=>y&&S(y.name),className:`text-[11px] text-primary hover:underline`,children:`retry`})]}),!de&&(0,X.jsx)(bj,{availableGroups:oe,groupCounts:se,activeFilters:m,onToggle:ce}),(0,X.jsx)(`div`,{ref:_,className:`max-h-72 overflow-y-auto py-1`,children:P.length===0?u?(0,X.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`Searching...`}):m.size>0&&ae.length>0?(0,X.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results in selected filters`}):r.trim()?(0,X.jsxs)(`button`,{onClick:le,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,X.jsx)(An,{className:`size-4 shrink-0 text-primary`}),(0,X.jsxs)(`span`,{children:[`Ask AI: `,(0,X.jsx)(`span`,{className:`text-text-primary font-medium`,children:r.trim().slice(0,60)})]})]}):(0,X.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results`}):P.map((e,t)=>{let n=e.icon;return(0,X.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,X.jsx)(n,{className:`size-4 shrink-0`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.label}),e.hint&&(0,X.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-xs text-text-subtle truncate max-w-[200px]`,children:[e.connectionColor&&(0,X.jsx)(`span`,{className:`shrink-0 size-2 rounded-full`,style:{backgroundColor:e.connectionColor}}),e.hint]}),e.shortcut&&(0,X.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,X.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 border-t border-border px-3 py-1.5`,children:[(0,X.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`Press`}),(0,X.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,X.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,X.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`to open this palette`})]})]})]})}var kj=50;function Aj({open:e,onOpenChange:t,initialA:n}={}){let r=e!==void 0,[i,a]=(0,Y.useState)(!1),o=r?e:i,s=e=>{r?t?.(e):a(e)},[c,l]=(0,Y.useState)(n??null);(0,Y.useEffect)(()=>{if(r)return;function e(){l(Fs.getState().selection),a(!0)}return window.addEventListener(`open-compare-picker`,e),()=>window.removeEventListener(`open-compare-picker`,e)},[r]);let[u,d]=(0,Y.useState)(``),[f,p]=(0,Y.useState)(0),[m,h]=(0,Y.useState)(null),g=(0,Y.useRef)(null),_=W(e=>e.tabs),v=Nr(e=>e.fileIndex),y=U(e=>e.activeProject);(0,Y.useEffect)(()=>{o&&(r&&l(n??null),d(``),p(0),h(null),setTimeout(()=>g.current?.focus(),50))},[o,n,r]);let b=(0,Y.useMemo)(()=>{let e=_.filter(e=>e.type===`editor`&&e.metadata?.filePath).map(e=>({id:`tab:${e.id}`,path:e.metadata.filePath,label:Jn(e.metadata.filePath),source:`tab`,dirtyContent:e.metadata.unsavedContent})),t=new Set(e.map(e=>e.path)),n=v.filter(e=>e.type===`file`&&!t.has(e.path)).map(e=>({id:`file:${e.path}`,path:e.path,label:e.name,source:`file`}));return[...e,...n]},[_,v]),x=(0,Y.useMemo)(()=>u.trim()?b.map(e=>{let t=_j(u,e.label,e.path);return t?{c:e,score:t}:null}).filter(e=>e!==null).sort((e,t)=>vj(e.score,t.score)).slice(0,kj).map(e=>e.c):b.slice(0,kj),[b,u]);(0,Y.useEffect)(()=>{f>=x.length&&p(Math.max(0,x.length-1))},[x,f]);let S=(0,Y.useRef)(!1);async function C(e){if(y){if(!c){l({filePath:e.path,projectName:y.name,dirtyContent:e.dirtyContent,label:e.label}),d(``),p(0),g.current?.focus();return}if(!S.current){S.current=!0;try{await Ls({path:c.filePath,dirtyContent:c.dirtyContent},{path:e.path,dirtyContent:e.dirtyContent},y.name),Fs.getState().clearSelection(),s(!1)}catch(e){h(e instanceof Error?e.message:`Compare failed`)}finally{S.current=!1}}}}function w(e){if(e.key===`ArrowDown`)e.preventDefault(),p(e=>Math.min(x.length-1,e+1));else if(e.key===`ArrowUp`)e.preventDefault(),p(e=>Math.max(0,e-1));else if(e.key===`Enter`){e.preventDefault();let t=x[f];t&&C(t)}}return(0,X.jsx)(Ei,{open:o,onOpenChange:s,children:(0,X.jsxs)(K,{className:`max-w-lg p-0 gap-0 overflow-hidden`,children:[(0,X.jsx)(Ci,{className:`px-4 pt-4 pb-2`,children:(0,X.jsxs)(q,{className:`flex items-center gap-2 text-sm`,children:[(0,X.jsx)(Lt,{className:`size-4`}),`Compare Files`]})}),(0,X.jsx)(`div`,{className:`px-4 pb-2`,children:c?(0,X.jsxs)(`div`,{className:`flex items-center gap-2 text-xs bg-muted rounded px-2 py-1 w-fit max-w-full`,children:[(0,X.jsx)(Bt,{className:`size-3.5 shrink-0`}),(0,X.jsx)(`span`,{className:`truncate`,title:c.filePath,children:c.label}),(0,X.jsx)(`button`,{type:`button`,onClick:()=>l(null),className:`hover:bg-surface-elevated rounded p-0.5`,"aria-label":`Clear first file`,children:(0,X.jsx)(_e,{className:`size-3`})})]}):(0,X.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pick first file, then second.`})}),(0,X.jsx)(`input`,{ref:g,type:`text`,value:u,onChange:e=>{d(e.target.value),p(0)},onKeyDown:w,placeholder:c?`Search for file B...`:`Search for file A...`,className:`w-full px-4 py-2 bg-transparent border-y border-border text-sm outline-none`}),m&&(0,X.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive border-b border-border`,children:m}),(0,X.jsx)(`div`,{className:`max-h-[50vh] md:max-h-80 overflow-y-auto`,children:x.length===0?(0,X.jsx)(`div`,{className:`px-4 py-6 text-center text-xs text-muted-foreground`,children:b.length===0?`No files available`:`No matches`}):x.map((e,t)=>(0,X.jsxs)(`button`,{type:`button`,onClick:()=>C(e),onMouseEnter:()=>p(t),className:V(`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,X.jsx)(Bt,{className:`size-3.5 shrink-0 text-text-secondary`}),(0,X.jsx)(`span`,{className:`truncate`,children:e.label}),(0,X.jsx)(`span`,{className:`text-xs text-muted-foreground truncate ml-auto`,title:e.path,children:e.source===`tab`?`open`:e.path})]},e.id))})]})})}function jj(){let e=$h(),t=Lr(),[n,r]=(0,Y.useState)(!1),i=e.step.k!==`hidden`&&!n;if(!i)return null;let a=()=>r(!0);return t?(0,X.jsx)(Pi,{open:i,onClose:a,zIndex:45,children:(0,X.jsx)(`div`,{className:`px-4 pb-4`,children:(0,X.jsx)(ig,{step:e.step,t:e})})}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`div`,{className:`fixed inset-0 z-[45] bg-black/40`,onClick:a}),(0,X.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,X.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,X.jsx)(_e,{className:`size-4`})}),(0,X.jsx)(`div`,{className:`pr-8`,children:(0,X.jsx)(ig,{step:e.step,t:e})})]})]})}var Mj=Kn((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})}})),Nj={scale:1,x:0,y:0,rotation:0,flipX:!1,flipY:!1},Pj=.1,Fj=20,Ij=2.5,Lj=(e,t,n)=>Math.min(n,Math.max(t,e));function Rj(e){return e.deltaMode===0?e.deltaX===0?Number.isInteger(e.deltaY)&&Math.abs(e.deltaY)>=40:!1:!0}function zj(){let e=(0,Y.useRef)(null),t=(0,Y.useRef)(null),n=(0,Y.useRef)({...Nj}),r=(0,Y.useRef)(null),[i,a]=(0,Y.useState)(100),[o,s]=(0,Y.useState)(0),c=(0,Y.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,Y.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,Y.useCallback)(()=>{a(Math.round(n.current.scale*100)),s(n.current.rotation)},[]),d=(0,Y.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,Y.useCallback)((e=!1)=>{let{maxX:t,maxY:r}=l();n.current.x=Lj(n.current.x,-t,t),n.current.y=Lj(n.current.y,-r,r),d(e)},[d,l]),p=(0,Y.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=Lj(t,Pj,Fj),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,Y.useCallback)(()=>{n.current={...Nj},d(!0)},[d]),h=(0,Y.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,Y.useCallback)(()=>{let{dw:e,natural:t}=c();e>0&&t>0&&p(t/e,void 0,void 0,!0)},[c,p]),_=(0,Y.useCallback)(e=>{n.current.rotation=((n.current.rotation+e)%360+360)%360,h()},[h]),v=(0,Y.useCallback)(e=>{e===`x`?n.current.flipX=!n.current.flipX:n.current.flipY=!n.current.flipY,d(!0)},[d]),y=(0,Y.useCallback)(e=>p(n.current.scale*e,void 0,void 0,!0),[p]);return zx({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||Rj(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(Ij,e.clientX,e.clientY,!0)}},{target:e,drag:{from:()=>[n.current.x,n.current.y],filterTaps:!0,pointer:{touch:!0}},pinch:{scaleBounds:{min:Pj,max:Fj},rubberband:!0},eventOptions:{passive:!1}}),(0,Y.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 Bj(){let e=Mj(e=>e.src);return e?(0,X.jsx)(Vj,{},e):null}function Vj(){let{src:e,alt:t,images:n,index:r,close:i,go:a}=Mj(),{containerRef:o,imageRef:s,zoomPercent:c,rotation:l,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h}=zj(),[g,_]=(0,Y.useState)(!1),v=yl();(0,Y.useEffect)(()=>{d()},[d]);let y=(0,Y.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,Y.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 bl(e)&&(_(!0),setTimeout(()=>_(!1),1500))};return(0,X.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,X.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,X.jsx)(_e,{className:`size-5`})}),x&&(0,X.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,X.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,X.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,X.jsxs)(Hj,{children:[x&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(Wj,{onClick:()=>a(-1),disabled:r===0,label:`Previous image (←)`,children:(0,X.jsx)(me,{className:`size-5`})}),(0,X.jsx)(Wj,{onClick:()=>a(1),disabled:r===n.length-1,label:`Next image (→)`,children:(0,X.jsx)(Zt,{className:`size-5`})}),(0,X.jsx)(Uj,{})]}),(0,X.jsx)(Wj,{onClick:()=>u(.8),label:`Zoom out (-)`,children:(0,X.jsx)(be,{className:`size-5`})}),(0,X.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,X.jsx)(Wj,{onClick:()=>u(1.25),label:`Zoom in (+)`,children:(0,X.jsx)(vn,{className:`size-5`})}),(0,X.jsx)(Wj,{onClick:f,label:`Fit to screen (0)`,children:(0,X.jsx)(Gt,{className:`size-5`})}),(0,X.jsx)(Wj,{onClick:p,label:`Actual size (1)`,children:(0,X.jsx)(ea,{className:`size-5`})}),(0,X.jsx)(Uj,{}),(0,X.jsx)(Wj,{onClick:()=>m(-90),label:`Rotate left (Shift+R)`,active:l!==0,children:(0,X.jsx)(pe,{className:`size-5`})}),(0,X.jsx)(Wj,{onClick:()=>m(90),label:`Rotate right (R)`,active:l!==0,children:(0,X.jsx)(It,{className:`size-5`})}),(0,X.jsx)(Wj,{onClick:()=>h(`x`),label:`Flip horizontally (H)`,children:(0,X.jsx)(lt,{className:`size-5`})}),(0,X.jsx)(Wj,{onClick:()=>h(`y`),label:`Flip vertically (V)`,children:(0,X.jsx)(Pn,{className:`size-5`})}),(0,X.jsx)(Uj,{}),(0,X.jsx)(Wj,{onClick:()=>vi(e,b),label:`Download`,children:(0,X.jsx)(Tn,{className:`size-5`})}),(0,X.jsx)(Wj,{onClick:S,disabled:!v,label:v?`Copy image`:`Copying images needs an HTTPS or localhost address`,children:g?(0,X.jsx)(jn,{className:`size-5 text-green-400`}):(0,X.jsx)(dn,{className:`size-5`})})]})]})}function Hj({children:e}){return(0,X.jsx)(`div`,{className:`flex shrink-0 justify-center px-2 pb-[max(0.75rem,env(safe-area-inset-bottom))] pt-2`,children:(0,X.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 Uj(){return(0,X.jsx)(`span`,{className:`mx-1 h-6 w-px bg-white/20`,"aria-hidden":!0})}function Wj({onClick:e,label:t,children:n,disabled:r,active:i}){return(0,X.jsx)(`button`,{type:`button`,onClick:e,disabled:r,title:t,"aria-label":t,className:V(`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 Gj=Kn(e=>({svg:null,open:t=>e({svg:t}),close:()=>e({svg:null})})),Kj=.25,qj=4,Jj=.25;function Yj(){let{svg:e,close:t}=Gj(),n=(0,Y.useRef)(null),[r,i]=(0,Y.useState)(1),[a,o]=(0,Y.useState)({x:0,y:0}),s=(0,Y.useRef)(!1),c=(0,Y.useRef)({x:0,y:0});(0,Y.useEffect)(()=>{e&&(i(1),o({x:0,y:0}))},[e]);let l=(0,Y.useCallback)(e=>{e.key===`Escape`&&t(),(e.key===`=`||e.key===`+`)&&i(e=>Math.min(qj,e+Jj)),e.key===`-`&&i(e=>Math.max(Kj,e-Jj)),e.key===`0`&&(i(1),o({x:0,y:0}))},[t]);(0,Y.useEffect)(()=>{if(e)return document.addEventListener(`keydown`,l),()=>document.removeEventListener(`keydown`,l)},[e,l]);let u=(0,Y.useCallback)(e=>{e.preventDefault();let t=e.deltaY>0?-Jj:Jj;i(e=>Math.min(qj,Math.max(Kj,e+t)))},[]),d=(0,Y.useCallback)(e=>{e.button===0&&(s.current=!0,c.current={x:e.clientX,y:e.clientY},e.target.setPointerCapture(e.pointerId))},[]),f=(0,Y.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,Y.useCallback)(()=>{s.current=!1},[]);return e?(0,X.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,X.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 bg-black/40`,onClick:e=>e.stopPropagation(),children:[(0,X.jsxs)(`span`,{className:`text-sm text-white/70`,children:[Math.round(r*100),`% — Scroll to zoom, drag to pan, 0 to reset`]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,X.jsx)(`button`,{onClick:()=>i(e=>Math.max(Kj,e-Jj)),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,X.jsx)(yn,{className:`size-4`})}),(0,X.jsx)(`button`,{onClick:()=>i(e=>Math.min(qj,e+Jj)),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,X.jsx)(ze,{className:`size-4`})}),(0,X.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,X.jsx)(pe,{className:`size-4`})}),(0,X.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,X.jsx)(_e,{className:`size-5`})})]})]}),(0,X.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,X.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,X.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 Xj=new Map,Zj=Kn((e,t)=>({shellsBySession:{},panelShellId:null,setSessionShells:(t,n)=>e(e=>({shellsBySession:{...e.shellsBySession,[t]:n}})),retainSession:e=>{Xj.set(e,(Xj.get(e)??0)+1)},releaseSession:t=>{let n=(Xj.get(t)??1)-1;if(n>0){Xj.set(t,n);return}Xj.delete(t),e(e=>{let n={...e.shellsBySession};return delete n[t],{shellsBySession:n}})},findByOutput:e=>{if(!e)return;let n=Jn(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})})),Qj=1500,$j=5e5;function eM(){let e=Zj(e=>e.panelShellId),t=Zj(e=>e.getShell),n=Zj(e=>e.closePanel),r=e?t(e):void 0,[i,a]=(0,Y.useState)(``),[o,s]=(0,Y.useState)(null),[c,l]=(0,Y.useState)(!1),u=(0,Y.useRef)(null),d=r?.outputPath,f=r?.status,p=(0,Y.useCallback)(async()=>{if(d)try{let e=(await L.get(`/api/fs/read?path=${encodeURIComponent(d)}`)).content??``;a(e.length>$j?e.slice(-$j):e),s(null)}catch(e){s(e.message)}finally{l(!1)}},[d]);return(0,Y.useEffect)(()=>{if(!d||(l(!0),a(``),p(),f!==`running`))return;let e=setInterval(p,Qj);return()=>clearInterval(e)},[d,f,p]),(0,Y.useEffect)(()=>{u.current&&(u.current.scrollTop=u.current.scrollHeight)},[i]),(0,Y.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,n]),e?(0,X.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,X.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,X.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,X.jsx)(ct,{className:`size-4 shrink-0 text-text-secondary`}),(0,X.jsx)(`span`,{className:`flex-1 truncate text-sm font-mono text-text-primary`,title:r?.command,children:r?.command||`Background command`}),f===`running`&&(0,X.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-emerald-500`,children:[(0,X.jsx)(F,{className:`size-3 animate-spin`}),` live`]}),f===`stopping`&&(0,X.jsx)(`span`,{className:`text-[11px] text-warning`,children:`stopping…`}),f===`stopped`&&(0,X.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`stopped`}),(0,X.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,X.jsx)(_e,{className:`size-5`})})]}),(0,X.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 tM=`https://cloud.ppm.sh`;function nM(){let e=window.location.hostname;return e.endsWith(`.trycloudflare.com`)||e===Xh()}function rM(){let e=Xh();return!!e&&window.location.hostname===e}function iM(){let e=ij(e=>e.showOverlay),[t,n]=(0,Y.useState)(!1);if(!e)return null;let r=nM(),i=rM(),a=Z_();async function o(){n(!0);try{if((await fetch(`/api/health`,{cache:`no-store`})).ok){if(ij.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,X.jsx)(`div`,{className:`fixed inset-0 z-[200] bg-background/95 backdrop-blur-sm flex items-center justify-center p-4`,children:(0,X.jsxs)(`div`,{className:`max-w-sm w-full text-center space-y-6`,children:[(0,X.jsx)(`div`,{className:`flex justify-center`,children:(0,X.jsx)(`div`,{className:`rounded-full bg-destructive/10 p-4`,children:(0,X.jsx)(r?ot:ta,{className:`h-10 w-10 text-destructive`})})}),(0,X.jsxs)(`div`,{className:`space-y-2`,children:[(0,X.jsx)(`h2`,{className:`text-xl font-semibold text-foreground`,children:i?`Domain Not Responding`:r?`Connection Lost`:`Server Unreachable`}),(0,X.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,X.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[r&&a&&(0,X.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,X.jsx)(ht,{className:`h-4 w-4`}),`Open on local network`]}),r&&(0,X.jsx)(`a`,{href:tM,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,X.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,X.jsx)(rt,{className:`h-4 w-4 ${t?`animate-spin`:``}`}),t?`Retrying…`:`Retry Connection`]})]}),!r&&(0,X.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`If the server was stopped, run `,(0,X.jsx)(`code`,{className:`bg-muted px-1 py-0.5 rounded text-[11px]`,children:`ppm start`}),` to restart it.`]})]})})}function aM(){let e=Sc(e=>e.quickPick),t=Sc(e=>e.resolveQuickPick);return e?(0,X.jsx)(oM,{items:e.items,options:e.options,onSelect:e=>t(e),onCancel:()=>t(void 0)}):null}function oM({items:e,options:t,onSelect:n,onCancel:r}){let[i,a]=(0,Y.useState)(``),[o,s]=(0,Y.useState)(0),[c,l]=(0,Y.useState)(()=>{let t=new Set;return e.forEach((e,n)=>{e.picked&&t.add(n)}),t}),u=(0,Y.useRef)(null),d=(0,Y.useRef)(null),f=t.canPickMany??!1;(0,Y.useEffect)(()=>{requestAnimationFrame(()=>u.current?.focus())},[]);let p=(0,Y.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,Y.useEffect)(()=>{s(e=>Math.min(e,Math.max(p.length-1,0)))},[p.length]),(0,Y.useEffect)(()=>{(d.current?.children[o])?.scrollIntoView({block:`nearest`})},[o]);let m=(0,Y.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,X.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:r,children:[(0,X.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,X.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,X.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,X.jsx)(Yt,{className:`size-4 text-text-subtle shrink-0`}),(0,X.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,X.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,X.jsx)(`div`,{ref:d,className:`max-h-72 overflow-y-auto py-1`,children:p.length===0?(0,X.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,X.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:V(`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,X.jsx)(`span`,{className:V(`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,X.jsx)(jn,{className:`size-3`})}),(0,X.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,X.jsx)(`div`,{className:`truncate`,children:e.label}),e.description&&(0,X.jsx)(`span`,{className:`text-xs text-text-subtle ml-2`,children:e.description}),e.detail&&(0,X.jsx)(`div`,{className:`text-xs text-text-subtle truncate mt-0.5`,children:e.detail})]})]},t))}),f&&(0,X.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border px-3 py-1.5`,children:[(0,X.jsxs)(`span`,{className:`text-[10px] text-text-subtle`,children:[c.size,` selected`]}),(0,X.jsx)(`button`,{onClick:m,className:`text-xs text-primary hover:text-primary/80 font-medium`,children:`Confirm`})]})]})]})}function sM(){let e=Sc(e=>e.inputBox),t=Sc(e=>e.resolveInputBox);return e?(0,X.jsx)(cM,{options:e.options,onConfirm:e=>t(e),onCancel:()=>t(void 0)}):null}function cM({options:e,onConfirm:t,onCancel:n}){let[r,i]=(0,Y.useState)(e.value??``),a=(0,Y.useRef)(null);(0,Y.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,X.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:n,children:[(0,X.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,X.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,X.jsx)(`div`,{className:`px-3 pt-3 pb-1 text-sm text-text-primary`,children:e.prompt}),(0,X.jsx)(`div`,{className:`flex items-center gap-2 px-3 py-2.5`,children:(0,X.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,X.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border px-3 py-2`,children:[(0,X.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,X.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 lM=new Set;function uM(e,t){return`${e}:${t??``}`}var dM=new Map,fM=15e3;function pM(e,t){let n=Date.now();for(let[e,t]of dM)n-t>fM&&dM.delete(e);if(dM.delete(`${e}:${t??``}`)||t&&dM.delete(`${e}:`))return!0;if(!t){for(let t of dM.keys())if(t.startsWith(`${e}:`))return dM.delete(t),!0}return!1}var mM=new Set;function hM(e=!0){let t=(0,Y.useRef)(null),n=(0,Y.useCallback)(e=>{t.current?.send(JSON.stringify(e))},[]);return(0,Y.useEffect)(()=>{if(!e)return;let r=Gn(),i=new ej(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=Sc.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]||R.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`?R.error:t.level===`warn`?R.warning:R.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=pM(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=H.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)W.getState().updateTab(c.id,{title:t.title,metadata:{...c.metadata,viewType:e,panelId:t.panelId,extensionId:t.extensionId,...t.projectName&&{projectName:t.projectName}}}),n&&!mM.has(e)&&W.getState().setActiveTab(c.id),mM.delete(e);else if(n&&!lM.has(uM(e,t.projectName))){let n=W.getState().currentProject,r=t.projectName??n??void 0;W.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`:W.getState().openTab({type:t.tabType,title:t.title,projectId:t.projectId??null,closable:t.closable??!0,metadata:t.metadata});break;case`project:switch`:W.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 lM)e.startsWith(`${a}:`)&&lM.delete(e);let o=Array.isArray(n)&&typeof n[0]==`string`?n[0]:``;dM.set(`${a}:${o}`,Date.now()),r?mM.add(a):mM.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=uM(n.replace(/\.view$/,``),r);lM.add(e),setTimeout(()=>lM.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 gM(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 _M(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 vM({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,X.jsxs)(`div`,{className:`flex flex-col gap-1 px-3 py-2`,"data-testid":`upload-row`,"data-state":e.state,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.jsx)(`p`,{className:`truncate text-sm text-text`,children:e.name}),i&&(0,X.jsx)(`p`,{className:`truncate text-xs text-text-2`,children:e.relativePath})]}),(0,X.jsx)(`span`,{className:`shrink-0 text-xs text-text-2`,children:_M(e.size)}),r?(0,X.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,X.jsx)(_e,{className:`size-4 text-text-2`})}):(0,X.jsxs)(`span`,{className:`flex size-11 shrink-0 items-center justify-center`,"aria-label":e.state,children:[e.state===`done`&&(0,X.jsx)(jn,{className:`size-4 text-success`}),e.state===`skipped`&&(0,X.jsx)(`span`,{className:`text-xs text-text-2`,children:`Skipped`}),(e.state===`failed`||e.state===`cancelled`)&&(0,X.jsx)(bn,{className:`size-4 text-destructive`})]})]}),r&&(0,X.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-surface-elevated`,children:(0,X.jsx)(`div`,{className:V(`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,X.jsx)(`p`,{className:`text-xs text-destructive`,children:e.state===`cancelled`?`Cancelled`:e.errorMessage??`Upload failed`})]})}function yM(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function bM({batch:e}){let t=Kf(e=>e.cancelItem),n=Kf(e=>e.cancelBatch),r=Kf(e=>e.dismissBatch),i=gM(e.items),a=e.settled,o=i.bytesTotal>0?Math.round(i.bytesLoaded/i.bytesTotal*100):0;return(0,X.jsxs)(`div`,{className:`w-full overflow-hidden rounded-lg border border-border bg-panel shadow-lg`,"data-testid":`upload-batch-card`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2`,children:[(0,X.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,X.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,X.jsxs)(`p`,{className:`truncate text-xs text-text-2`,children:[yM(i.bytesLoaded),` / `,yM(i.bytesTotal)]})]}),a?(0,X.jsx)(G,{variant:`ghost`,size:`sm`,className:`h-11 shrink-0`,onClick:()=>r(e.id),children:`Close`}):(0,X.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,X.jsx)(_e,{className:`size-4 text-text-2`})})]}),(0,X.jsx)(`div`,{className:`max-h-64 divide-y divide-border overflow-y-auto`,children:e.items.map(n=>(0,X.jsx)(vM,{item:n,onCancel:()=>t(e.id,n.id)},n.id))})]})}function xM(){return Kf(ju(e=>e.order.map(t=>e.batches[t]).filter(e=>e!=null)))}function SM(){let e=Lr(),t=xM(),[n,r]=(0,Y.useState)(!1);if(t.length===0)return null;if(!e)return(0,X.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,X.jsx)(bM,{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,X.jsxs)(X.Fragment,{children:[(0,X.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,X.jsx)(Pi,{open:n,onClose:()=>r(!1),className:`max-h-[70vh] overflow-y-auto p-2`,children:(0,X.jsx)(`div`,{className:`flex flex-col gap-2 px-2 pb-2`,children:t.map(e=>(0,X.jsx)(bM,{batch:e},e.id))})})]})}var CM=`ppm:chunk-reload`,wM=!1;function TM(){return wM}var EM=/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 DM(e){if(!e)return!1;let t=e instanceof Error?`${e.name}: ${e.message}`:String(e);return EM.test(t)}async function OM(){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 kM(){try{sessionStorage.removeItem(CM)}catch{}wM=!0,await OM(),window.location.reload()}function AM(){let e;try{e=sessionStorage.getItem(CM)===`1`,sessionStorage.setItem(CM,`1`)}catch{return!1}return e?!1:(wM=!0,OM().then(()=>window.location.reload()),!0)}function jM(){window.addEventListener(`vite:preloadError`,()=>{AM()})}var MM=(0,Y.lazy)(()=>B(()=>import(`./mobile-explorer-sheet-CUG_owdf.js`).then(e=>({default:e.MobileExplorerSheet})),__vite__mapDeps([190,1,2,3,4,80,7,26,8,10,36,11,53,54,12,13,14,35,56,43,16,31,18,24,9,81,39,40]))),NM=(0,Y.lazy)(()=>B(()=>import(`./team-member-sheet-7d2Qp-ie.js`).then(e=>({default:e.TeamMemberSheet})),__vite__mapDeps([191,1,2,3,4,34,10,11,35,12,7,13,14,16]))),PM=(0,Y.lazy)(()=>B(()=>import(`./remote-desktop-mobile-sheet-Doh-fci-.js`).then(e=>({default:e.RemoteDesktopMobileSheet})),__vite__mapDeps([192,1,2,3,4,8,9,10,11,87,16,17,18,7,13])));function FM(){let[e,t]=(0,Y.useState)(`checking`),n=Lr(),[r,i]=(0,Y.useState)(!1),[a,o]=(0,Y.useState)(),[s,c]=(0,Y.useState)(!1),[l,u]=(0,Y.useState)(()=>new Set([`__global__`]));FS(),(0,Y.useEffect)(()=>{BO(),NO(),kA()},[]);let d=z(e=>e.deviceName),f=U(e=>e.fetchProjects),p=z(e=>e.fetchServerInfo),m=U(e=>e.activeProject),h=(0,Y.useRef)(Wg());(0,Y.useEffect)(()=>{p()},[p,e===`authenticated`]),(0,Y.useEffect)(()=>{async function e(){let e=Gn();try{let n={};e&&(n.Authorization=`Bearer ${e}`),(await(await fetch(`/api/auth/check`,{headers:n})).json()).ok?t(`authenticated`):t(`unauthenticated`)}catch{t(`unauthenticated`)}}e()},[]),Zg();let{paletteOpen:g,paletteInitialQuery:_,closePalette:v}=Dc();VA(),WA(),sj(),hM(e===`authenticated`),nj(e===`authenticated`,m?.name),ZA(),(0,Y.useEffect)(()=>{if(e!==`authenticated`)return;let t=e=>{TM()||e.preventDefault()};return window.addEventListener(`beforeunload`,t),()=>window.removeEventListener(`beforeunload`,t)},[e]),(0,Y.useEffect)(()=>{e===`authenticated`&&(B(async()=>{let{useKeybindingsStore:e}=await import(`./keybindings-store-C_3ChOEf.js`);return{useKeybindingsStore:e}},__vite__mapDeps([193,3,1,4,8])).then(({useKeybindingsStore:e})=>{e.getState().loadFromServer()}),U.getState().hydrateUiPrefs())},[e]),(0,Y.useEffect)(()=>{e===`authenticated`&&f().then(async()=>{let e=h.current,{projects:t,customOrder:n}=U.getState();if(t.length===0)return;let r=e.projectName?t.find(t=>t.name===e.projectName):void 0;if(r||=hr(t,n)[0],r&&(await Qn(r.name),U.getState().setActiveProject(r),W.getState().switchProject(r.name),e.tabType&&Xg(e.tabType,e.tabIdentifier,r.name),e.openChat)){Xg(`chat`,e.openChat,r.name);let t=new URL(window.location.href);t.searchParams.delete(`openChat`),window.history.replaceState(null,``,t.pathname)}})},[e,f]),(0,Y.useEffect)(()=>{let e=m?.name??`__global__`,t=!1;return(async()=>{e!==`__global__`&&!localStorage.getItem(`ppm-panels-${e}`)&&(await Qn(e),t)||W.getState().switchProject(e)})(),()=>{t=!0}},[m?.name]),(0,Y.useEffect)(()=>{e!==`authenticated`||!m?.name||B(async()=>{let{useNotificationStore:e}=await import(`./notification-store-6vib1ISy.js`);return{useNotificationStore:e}},__vite__mapDeps([194,3,1,4,8])).then(({useNotificationStore:e})=>{e.getState().loadFromServer(m.name)})},[e,m?.name]),(0,Y.useEffect)(()=>{let e=m?.name??`__global__`;u(t=>t.has(e)?t:new Set([...t,e]))},[m?.name]),(0,Y.useEffect)(()=>{e===`authenticated`&&!m&&W.getState().switchProject(`__global__`)},[e,m]);let y=(0,Y.useCallback)(()=>{t(`authenticated`)},[]);if(e===`checking`)return(0,X.jsx)(`div`,{className:`app-backdrop min-h-dvh flex items-center justify-center`,children:(0,X.jsx)(`div`,{className:`animate-pulse text-text-secondary text-sm`,children:`Loading...`})});if(e===`unauthenticated`)return(0,X.jsx)(PS,{onSuccess:y});let b=m?.name??`__global__`;return(0,X.jsx)(oa,{children:(0,X.jsxs)(`div`,{className:`app-backdrop h-dvh flex flex-col text-foreground overflow-hidden relative`,children:[(0,X.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,X.jsx)(`div`,{className:`absolute flex items-center justify-center max-md:rotate-45 max-md:right-[-18px] max-md:top-[4px] md:-rotate-45 md:left-[-18px] md:top-[4px] w-[60px] bg-warning text-white text-[6px] font-bold leading-none py-[2.5px] shadow-sm`,children:`BETA`})}),d&&(0,X.jsx)(`div`,{className:`md:hidden fixed left-0 top-0 z-50 px-2 py-0.5 bg-primary/80 text-primary-foreground text-[10px] font-medium rounded-br`,children:d}),(0,X.jsx)(vy,{}),(0,X.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,X.jsx)(dv,{}),(0,X.jsxs)(`div`,{className:`relative flex-1 flex flex-col overflow-hidden`,children:[[...l].map(e=>(0,X.jsx)(`div`,{className:V(`flex-1 overflow-hidden pb-12 md:pb-0`,b!==e&&`hidden`),children:(0,X.jsx)(Su,{projectName:e})},e)),(0,X.jsx)(Jl,{}),(0,X.jsx)(by,{}),(0,X.jsx)(iS,{})]})]}),(0,X.jsx)(uS,{onMenuPress:()=>i(!0),onProjectsPress:()=>c(!0)}),(0,X.jsx)(yS,{isOpen:r,onClose:()=>{i(!1),o(void 0)},initialTab:a}),(0,X.jsx)(bS,{isOpen:s,onClose:()=>c(!1)}),(0,X.jsx)(Oj,{open:g,onClose:v,initialQuery:_}),(0,X.jsx)(Aj,{}),(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(MM,{})}),(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(NM,{})}),(0,X.jsx)(Y.Suspense,{fallback:null,children:(0,X.jsx)(PM,{})}),(0,X.jsx)(OS,{}),(0,X.jsx)(jj,{}),(0,X.jsx)(Bj,{}),(0,X.jsx)(Yj,{}),(0,X.jsx)(eM,{}),(0,X.jsx)(aM,{}),(0,X.jsx)(sM,{}),(0,X.jsx)(iM,{}),(0,X.jsx)(SM,{}),(0,X.jsx)(ia,{position:n?`top-center`:`bottom-left`,closeButton:!0,toastOptions:{className:`bg-surface border-border text-foreground`}})]})})}var IM={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`},LM={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`},RM={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`},zM={marginTop:`16px`,maxHeight:`8lh`,overflow:`auto`,color:`var(--text-2, #9aa6c2)`,fontFamily:`ui-monospace, monospace`,fontSize:`13px`,whiteSpace:`pre-wrap`,wordBreak:`break-word`},BM=class extends Y.Component{state={error:null,stale:!1};static getDerivedStateFromError(e){return{error:e,stale:DM(e)}}componentDidCatch(e,t){console.error(`[ppm] unhandled render error`,e,t.componentStack)}render(){let{error:e,stale:t}=this.state;return e?(0,X.jsx)(`div`,{style:IM,children:(0,X.jsxs)(`div`,{style:LM,role:`alert`,children:[(0,X.jsx)(`h1`,{style:{margin:0,fontSize:`18px`,fontWeight:600},children:t?`PPM has been updated`:`Something went wrong`}),(0,X.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,X.jsx)(`div`,{style:zM,children:e.message}),(0,X.jsx)(`button`,{type:`button`,style:RM,onClick:()=>void kM(),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,jM(),(0,ra.createRoot)(document.getElementById(`root`)).render((0,X.jsx)(Y.StrictMode,{children:(0,X.jsx)(BM,{children:(0,X.jsx)(FM,{})})}));export{Up as $,vl as $t,Sg as A,ud as At,xh as B,iu as Bt,Fv as C,sa as Cn,jd as Ct,Fg as D,od as Dt,o_ as E,Yi as En,gd as Et,Dg as F,pd as Ft,Bm as G,ou as Gt,ih as H,ru as Ht,jg as I,sd as It,Rm as J,du as Jt,Vm as K,cu as Kt,wg as L,td as Lt,Mg as M,ld as Mt,Og as N,fd as Nt,Ag as O,cd as Ot,Eg as P,md as Pt,Hp as Q,Tl as Qt,cg as R,ju as Rt,Vv as S,is as Sn,Ad as St,u_ as T,ca as Tn,Sd as Tt,ah as U,su as Ut,lh as V,nu as Vt,Lm as W,au as Wt,bm as X,tu as Xt,Im as Y,uu as Yt,mm as Z,zl as Zt,qv as _,hs as _n,ff as _t,ej as a,pc as an,cp as at,Bv as b,ps as bn,tf as bt,hA as c,_c as cn,tp as ct,MO as d,ks as dn,Rf as dt,ul as en,Vp as et,FO as f,Es as fn,Pf as ft,By as g,fs as gn,mf as gt,kS as h,us as hn,jf as ht,pj as i,Sc as in,gp as it,Ng as j,dd as jt,Tg as k,$ as kt,uA as l,hc as ln,Qf as lt,YT as m,_s as mn,Nf as mt,Gj as n,Ec as nn,Bp as nt,HA as o,vc as on,sp as ot,ZT as p,Ts as pn,Ff as pt,zm as q,lu as qt,Mj as r,wc as rn,Sp as rt,SA as s,gc as sn,np as st,Zj as t,Lc as tn,zp as tt,IO as u,xc as un,Hf as ut,Hv as v,gs as vn,df as vt,rv as w,la as wn,Od as wt,Wv as x,as as xn,$d as xt,Uv as y,ms as yn,nf as yt,Th as z,$l as zt};
|