toyon 0.23.0 → 0.25.0
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/README.md +26 -21
- package/dist/CHANGELOG.md +68 -0
- package/dist/cli.js +1 -1
- package/dist/daemon.js +2389 -1563
- package/dist/shell/assets/{Editor-C2e_GpDQ.js → Editor-v7DPr3mY.js} +168 -168
- package/dist/shell/assets/Editor-v7DPr3mY.js.br +0 -0
- package/dist/shell/assets/Editor-v7DPr3mY.js.gz +0 -0
- package/dist/shell/assets/{XTerm-B84G0H5I.js → XTerm-CxU9R8q7.js} +2 -2
- package/dist/shell/assets/XTerm-CxU9R8q7.js.br +0 -0
- package/dist/shell/assets/XTerm-CxU9R8q7.js.gz +0 -0
- package/dist/shell/assets/{cssMode-DhDLwjyN.js → cssMode-DD5SBqGU.js} +1 -1
- package/dist/shell/assets/cssMode-DD5SBqGU.js.br +0 -0
- package/dist/shell/assets/cssMode-DD5SBqGU.js.gz +0 -0
- package/dist/shell/assets/{freemarker2-rc8sP22g.js → freemarker2-CZ3XZhjv.js} +1 -1
- package/dist/shell/assets/freemarker2-CZ3XZhjv.js.br +0 -0
- package/dist/shell/assets/freemarker2-CZ3XZhjv.js.gz +0 -0
- package/dist/shell/assets/{grammar-Cty-NAQC.js → grammar-DqAbMw7d.js} +1 -1
- package/dist/shell/assets/grammar-DqAbMw7d.js.br +0 -0
- package/dist/shell/assets/grammar-DqAbMw7d.js.gz +0 -0
- package/dist/shell/assets/{handlebars-BOQxV3p5.js → handlebars-CzZa_iMI.js} +1 -1
- package/dist/shell/assets/handlebars-CzZa_iMI.js.br +0 -0
- package/dist/shell/assets/handlebars-CzZa_iMI.js.gz +0 -0
- package/dist/shell/assets/{html-CxndUpse.js → html-uU_fKUCO.js} +1 -1
- package/dist/shell/assets/html-uU_fKUCO.js.br +0 -0
- package/dist/shell/assets/html-uU_fKUCO.js.gz +0 -0
- package/dist/shell/assets/{htmlMode-CG7eVDLo.js → htmlMode-DmuqvqLQ.js} +1 -1
- package/dist/shell/assets/htmlMode-DmuqvqLQ.js.br +0 -0
- package/dist/shell/assets/htmlMode-DmuqvqLQ.js.gz +0 -0
- package/dist/shell/assets/index-DMZqXgxq.js +295 -0
- package/dist/shell/assets/index-DMZqXgxq.js.br +0 -0
- package/dist/shell/assets/index-DMZqXgxq.js.gz +0 -0
- package/dist/shell/assets/index-LFCDUSQF.css +1 -0
- package/dist/shell/assets/index-LFCDUSQF.css.br +0 -0
- package/dist/shell/assets/index-LFCDUSQF.css.gz +0 -0
- package/dist/shell/assets/{javascript-CafoevnZ.js → javascript-CvDukmsa.js} +1 -1
- package/dist/shell/assets/{jsonMode-Cg_4sMB_.js → jsonMode-C8ZGvKb7.js} +1 -1
- package/dist/shell/assets/jsonMode-C8ZGvKb7.js.br +0 -0
- package/dist/shell/assets/jsonMode-C8ZGvKb7.js.gz +0 -0
- package/dist/shell/assets/{liquid-DxW_HNid.js → liquid-CSFER4cS.js} +1 -1
- package/dist/shell/assets/liquid-CSFER4cS.js.br +0 -0
- package/dist/shell/assets/liquid-CSFER4cS.js.gz +0 -0
- package/dist/shell/assets/{lspLanguageFeatures-Dhat9l4L.js → lspLanguageFeatures-Bnq8PCF_.js} +2 -2
- package/dist/shell/assets/lspLanguageFeatures-Bnq8PCF_.js.br +0 -0
- package/dist/shell/assets/lspLanguageFeatures-Bnq8PCF_.js.gz +0 -0
- package/dist/shell/assets/{mdx-ZdMhgPNL.js → mdx-DN7UGs67.js} +1 -1
- package/dist/shell/assets/mdx-DN7UGs67.js.br +0 -0
- package/dist/shell/assets/mdx-DN7UGs67.js.gz +0 -0
- package/dist/shell/assets/{python-Bae_7wMM.js → python-Cdtmy77f.js} +1 -1
- package/dist/shell/assets/python-Cdtmy77f.js.br +0 -0
- package/dist/shell/assets/python-Cdtmy77f.js.gz +0 -0
- package/dist/shell/assets/{razor-CtwiCIJH.js → razor-BzMJ8H5n.js} +1 -1
- package/dist/shell/assets/razor-BzMJ8H5n.js.br +0 -0
- package/dist/shell/assets/razor-BzMJ8H5n.js.gz +0 -0
- package/dist/shell/assets/toyon-mono-bold-1tbrivW1.woff2 +0 -0
- package/dist/shell/assets/toyon-mono-regular-BUtE4EFW.woff2 +0 -0
- package/dist/shell/assets/{tsMode-DH9rMbRS.js → tsMode-B_VeTgWt.js} +1 -1
- package/dist/shell/assets/tsMode-B_VeTgWt.js.br +0 -0
- package/dist/shell/assets/tsMode-B_VeTgWt.js.gz +0 -0
- package/dist/shell/assets/{xml-rA-vNTCn.js → xml-Cdv7rs1C.js} +1 -1
- package/dist/shell/assets/xml-Cdv7rs1C.js.br +0 -0
- package/dist/shell/assets/xml-Cdv7rs1C.js.gz +0 -0
- package/dist/shell/assets/{yaml-pOtRRozm.js → yaml-Co_E2Q5j.js} +1 -1
- package/dist/shell/assets/yaml-Co_E2Q5j.js.br +0 -0
- package/dist/shell/assets/yaml-Co_E2Q5j.js.gz +0 -0
- package/dist/shell/index.html +2 -2
- package/package.json +1 -1
- package/dist/shell/assets/Editor-C2e_GpDQ.js.br +0 -0
- package/dist/shell/assets/Editor-C2e_GpDQ.js.gz +0 -0
- package/dist/shell/assets/XTerm-B84G0H5I.js.br +0 -0
- package/dist/shell/assets/XTerm-B84G0H5I.js.gz +0 -0
- package/dist/shell/assets/cssMode-DhDLwjyN.js.br +0 -0
- package/dist/shell/assets/cssMode-DhDLwjyN.js.gz +0 -0
- package/dist/shell/assets/freemarker2-rc8sP22g.js.br +0 -0
- package/dist/shell/assets/freemarker2-rc8sP22g.js.gz +0 -0
- package/dist/shell/assets/grammar-Cty-NAQC.js.br +0 -0
- package/dist/shell/assets/grammar-Cty-NAQC.js.gz +0 -0
- package/dist/shell/assets/handlebars-BOQxV3p5.js.br +0 -0
- package/dist/shell/assets/handlebars-BOQxV3p5.js.gz +0 -0
- package/dist/shell/assets/html-CxndUpse.js.br +0 -0
- package/dist/shell/assets/html-CxndUpse.js.gz +0 -0
- package/dist/shell/assets/htmlMode-CG7eVDLo.js.br +0 -0
- package/dist/shell/assets/htmlMode-CG7eVDLo.js.gz +0 -0
- package/dist/shell/assets/index-DpSfPmkM.css +0 -1
- package/dist/shell/assets/index-DpSfPmkM.css.br +0 -0
- package/dist/shell/assets/index-DpSfPmkM.css.gz +0 -0
- package/dist/shell/assets/index-DzfHDra7.js +0 -294
- package/dist/shell/assets/index-DzfHDra7.js.br +0 -0
- package/dist/shell/assets/index-DzfHDra7.js.gz +0 -0
- package/dist/shell/assets/jsonMode-Cg_4sMB_.js.br +0 -0
- package/dist/shell/assets/jsonMode-Cg_4sMB_.js.gz +0 -0
- package/dist/shell/assets/liquid-DxW_HNid.js.br +0 -0
- package/dist/shell/assets/liquid-DxW_HNid.js.gz +0 -0
- package/dist/shell/assets/lspLanguageFeatures-Dhat9l4L.js.br +0 -0
- package/dist/shell/assets/lspLanguageFeatures-Dhat9l4L.js.gz +0 -0
- package/dist/shell/assets/mdx-ZdMhgPNL.js.br +0 -0
- package/dist/shell/assets/mdx-ZdMhgPNL.js.gz +0 -0
- package/dist/shell/assets/python-Bae_7wMM.js.br +0 -0
- package/dist/shell/assets/python-Bae_7wMM.js.gz +0 -0
- package/dist/shell/assets/razor-CtwiCIJH.js.br +0 -0
- package/dist/shell/assets/razor-CtwiCIJH.js.gz +0 -0
- package/dist/shell/assets/toyon-mono-bold-9c1iJO0D.woff2 +0 -0
- package/dist/shell/assets/toyon-mono-regular-BXyxgSUK.woff2 +0 -0
- package/dist/shell/assets/tsMode-DH9rMbRS.js.br +0 -0
- package/dist/shell/assets/tsMode-DH9rMbRS.js.gz +0 -0
- package/dist/shell/assets/xml-rA-vNTCn.js.br +0 -0
- package/dist/shell/assets/xml-rA-vNTCn.js.gz +0 -0
- package/dist/shell/assets/yaml-pOtRRozm.js.br +0 -0
- package/dist/shell/assets/yaml-pOtRRozm.js.gz +0 -0
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Editor-v7DPr3mY.js","assets/grammar-DqAbMw7d.js","assets/Editor-CB2SckMT.css","assets/XTerm-CxU9R8q7.js","assets/XTerm-6GBZ9nXN.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
var VI=Object.defineProperty;var YI=(e,t,n)=>t in e?VI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Rt=(e,t,n)=>YI(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(o){if(o.ep)return;o.ep=!0;const s=n(o);fetch(o.href,s)}})();function DS(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var fg={exports:{}},eu={},hg={exports:{}},tn={};/**
|
|
3
|
+
* @license React
|
|
4
|
+
* react.production.min.js
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the MIT license found in the
|
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
|
10
|
+
*/var xb;function XI(){if(xb)return tn;xb=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),a=Symbol.for("react.context"),l=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;function g(O){return O===null||typeof O!="object"?null:(O=p&&O[p]||O["@@iterator"],typeof O=="function"?O:null)}var y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,w={};function x(O,W,ie){this.props=O,this.context=W,this.refs=w,this.updater=ie||y}x.prototype.isReactComponent={},x.prototype.setState=function(O,W){if(typeof O!="object"&&typeof O!="function"&&O!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,O,W,"setState")},x.prototype.forceUpdate=function(O){this.updater.enqueueForceUpdate(this,O,"forceUpdate")};function N(){}N.prototype=x.prototype;function E(O,W,ie){this.props=O,this.context=W,this.refs=w,this.updater=ie||y}var T=E.prototype=new N;T.constructor=E,v(T,x.prototype),T.isPureReactComponent=!0;var j=Array.isArray,A=Object.prototype.hasOwnProperty,I={current:null},$={key:!0,ref:!0,__self:!0,__source:!0};function C(O,W,ie){var he,ye={},$e=null,Be=null;if(W!=null)for(he in W.ref!==void 0&&(Be=W.ref),W.key!==void 0&&($e=""+W.key),W)A.call(W,he)&&!$.hasOwnProperty(he)&&(ye[he]=W[he]);var Ne=arguments.length-2;if(Ne===1)ye.children=ie;else if(1<Ne){for(var H=Array(Ne),ae=0;ae<Ne;ae++)H[ae]=arguments[ae+2];ye.children=H}if(O&&O.defaultProps)for(he in Ne=O.defaultProps,Ne)ye[he]===void 0&&(ye[he]=Ne[he]);return{$$typeof:e,type:O,key:$e,ref:Be,props:ye,_owner:I.current}}function L(O,W){return{$$typeof:e,type:O.type,key:W,ref:O.ref,props:O.props,_owner:O._owner}}function P(O){return typeof O=="object"&&O!==null&&O.$$typeof===e}function B(O){var W={"=":"=0",":":"=2"};return"$"+O.replace(/[=:]/g,function(ie){return W[ie]})}var q=/\/+/g;function ne(O,W){return typeof O=="object"&&O!==null&&O.key!=null?B(""+O.key):W.toString(36)}function Q(O,W,ie,he,ye){var $e=typeof O;($e==="undefined"||$e==="boolean")&&(O=null);var Be=!1;if(O===null)Be=!0;else switch($e){case"string":case"number":Be=!0;break;case"object":switch(O.$$typeof){case e:case t:Be=!0}}if(Be)return Be=O,ye=ye(Be),O=he===""?"."+ne(Be,0):he,j(ye)?(ie="",O!=null&&(ie=O.replace(q,"$&/")+"/"),Q(ye,W,ie,"",function(ae){return ae})):ye!=null&&(P(ye)&&(ye=L(ye,ie+(!ye.key||Be&&Be.key===ye.key?"":(""+ye.key).replace(q,"$&/")+"/")+O)),W.push(ye)),1;if(Be=0,he=he===""?".":he+":",j(O))for(var Ne=0;Ne<O.length;Ne++){$e=O[Ne];var H=he+ne($e,Ne);Be+=Q($e,W,ie,H,ye)}else if(H=g(O),typeof H=="function")for(O=H.call(O),Ne=0;!($e=O.next()).done;)$e=$e.value,H=he+ne($e,Ne++),Be+=Q($e,W,ie,H,ye);else if($e==="object")throw W=String(O),Error("Objects are not valid as a React child (found: "+(W==="[object Object]"?"object with keys {"+Object.keys(O).join(", ")+"}":W)+"). If you meant to render a collection of children, use an array instead.");return Be}function le(O,W,ie){if(O==null)return O;var he=[],ye=0;return Q(O,he,"","",function($e){return W.call(ie,$e,ye++)}),he}function te(O){if(O._status===-1){var W=O._result;W=W(),W.then(function(ie){(O._status===0||O._status===-1)&&(O._status=1,O._result=ie)},function(ie){(O._status===0||O._status===-1)&&(O._status=2,O._result=ie)}),O._status===-1&&(O._status=0,O._result=W)}if(O._status===1)return O._result.default;throw O._result}var Z={current:null},R={transition:null},J={ReactCurrentDispatcher:Z,ReactCurrentBatchConfig:R,ReactCurrentOwner:I};function F(){throw Error("act(...) is not supported in production builds of React.")}return tn.Children={map:le,forEach:function(O,W,ie){le(O,function(){W.apply(this,arguments)},ie)},count:function(O){var W=0;return le(O,function(){W++}),W},toArray:function(O){return le(O,function(W){return W})||[]},only:function(O){if(!P(O))throw Error("React.Children.only expected to receive a single React element child.");return O}},tn.Component=x,tn.Fragment=n,tn.Profiler=o,tn.PureComponent=E,tn.StrictMode=r,tn.Suspense=u,tn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=J,tn.act=F,tn.cloneElement=function(O,W,ie){if(O==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+O+".");var he=v({},O.props),ye=O.key,$e=O.ref,Be=O._owner;if(W!=null){if(W.ref!==void 0&&($e=W.ref,Be=I.current),W.key!==void 0&&(ye=""+W.key),O.type&&O.type.defaultProps)var Ne=O.type.defaultProps;for(H in W)A.call(W,H)&&!$.hasOwnProperty(H)&&(he[H]=W[H]===void 0&&Ne!==void 0?Ne[H]:W[H])}var H=arguments.length-2;if(H===1)he.children=ie;else if(1<H){Ne=Array(H);for(var ae=0;ae<H;ae++)Ne[ae]=arguments[ae+2];he.children=Ne}return{$$typeof:e,type:O.type,key:ye,ref:$e,props:he,_owner:Be}},tn.createContext=function(O){return O={$$typeof:a,_currentValue:O,_currentValue2:O,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},O.Provider={$$typeof:s,_context:O},O.Consumer=O},tn.createElement=C,tn.createFactory=function(O){var W=C.bind(null,O);return W.type=O,W},tn.createRef=function(){return{current:null}},tn.forwardRef=function(O){return{$$typeof:l,render:O}},tn.isValidElement=P,tn.lazy=function(O){return{$$typeof:f,_payload:{_status:-1,_result:O},_init:te}},tn.memo=function(O,W){return{$$typeof:h,type:O,compare:W===void 0?null:W}},tn.startTransition=function(O){var W=R.transition;R.transition={};try{O()}finally{R.transition=W}},tn.unstable_act=F,tn.useCallback=function(O,W){return Z.current.useCallback(O,W)},tn.useContext=function(O){return Z.current.useContext(O)},tn.useDebugValue=function(){},tn.useDeferredValue=function(O){return Z.current.useDeferredValue(O)},tn.useEffect=function(O,W){return Z.current.useEffect(O,W)},tn.useId=function(){return Z.current.useId()},tn.useImperativeHandle=function(O,W,ie){return Z.current.useImperativeHandle(O,W,ie)},tn.useInsertionEffect=function(O,W){return Z.current.useInsertionEffect(O,W)},tn.useLayoutEffect=function(O,W){return Z.current.useLayoutEffect(O,W)},tn.useMemo=function(O,W){return Z.current.useMemo(O,W)},tn.useReducer=function(O,W,ie){return Z.current.useReducer(O,W,ie)},tn.useRef=function(O){return Z.current.useRef(O)},tn.useState=function(O){return Z.current.useState(O)},tn.useSyncExternalStore=function(O,W,ie){return Z.current.useSyncExternalStore(O,W,ie)},tn.useTransition=function(){return Z.current.useTransition()},tn.version="18.3.1",tn}var Eb;function $w(){return Eb||(Eb=1,hg.exports=XI()),hg.exports}/**
|
|
11
|
+
* @license React
|
|
12
|
+
* react-jsx-runtime.production.min.js
|
|
13
|
+
*
|
|
14
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the MIT license found in the
|
|
17
|
+
* LICENSE file in the root directory of this source tree.
|
|
18
|
+
*/var Sb;function QI(){if(Sb)return eu;Sb=1;var e=$w(),t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(l,u,h){var f,p={},g=null,y=null;h!==void 0&&(g=""+h),u.key!==void 0&&(g=""+u.key),u.ref!==void 0&&(y=u.ref);for(f in u)r.call(u,f)&&!s.hasOwnProperty(f)&&(p[f]=u[f]);if(l&&l.defaultProps)for(f in u=l.defaultProps,u)p[f]===void 0&&(p[f]=u[f]);return{$$typeof:t,type:l,key:g,ref:y,props:p,_owner:o.current}}return eu.Fragment=n,eu.jsx=a,eu.jsxs=a,eu}var _b;function JI(){return _b||(_b=1,fg.exports=QI()),fg.exports}var d=JI(),S=$w();const eR=DS(S);var pg={exports:{}},po={},mg={exports:{}},gg={};/**
|
|
19
|
+
* @license React
|
|
20
|
+
* scheduler.production.min.js
|
|
21
|
+
*
|
|
22
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the MIT license found in the
|
|
25
|
+
* LICENSE file in the root directory of this source tree.
|
|
26
|
+
*/var Nb;function tR(){return Nb||(Nb=1,(function(e){function t(R,J){var F=R.length;R.push(J);e:for(;0<F;){var O=F-1>>>1,W=R[O];if(0<o(W,J))R[O]=J,R[F]=W,F=O;else break e}}function n(R){return R.length===0?null:R[0]}function r(R){if(R.length===0)return null;var J=R[0],F=R.pop();if(F!==J){R[0]=F;e:for(var O=0,W=R.length,ie=W>>>1;O<ie;){var he=2*(O+1)-1,ye=R[he],$e=he+1,Be=R[$e];if(0>o(ye,F))$e<W&&0>o(Be,ye)?(R[O]=Be,R[$e]=F,O=$e):(R[O]=ye,R[he]=F,O=he);else if($e<W&&0>o(Be,F))R[O]=Be,R[$e]=F,O=$e;else break e}}return J}function o(R,J){var F=R.sortIndex-J.sortIndex;return F!==0?F:R.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var a=Date,l=a.now();e.unstable_now=function(){return a.now()-l}}var u=[],h=[],f=1,p=null,g=3,y=!1,v=!1,w=!1,x=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,E=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(R){for(var J=n(h);J!==null;){if(J.callback===null)r(h);else if(J.startTime<=R)r(h),J.sortIndex=J.expirationTime,t(u,J);else break;J=n(h)}}function j(R){if(w=!1,T(R),!v)if(n(u)!==null)v=!0,te(A);else{var J=n(h);J!==null&&Z(j,J.startTime-R)}}function A(R,J){v=!1,w&&(w=!1,N(C),C=-1),y=!0;var F=g;try{for(T(J),p=n(u);p!==null&&(!(p.expirationTime>J)||R&&!B());){var O=p.callback;if(typeof O=="function"){p.callback=null,g=p.priorityLevel;var W=O(p.expirationTime<=J);J=e.unstable_now(),typeof W=="function"?p.callback=W:p===n(u)&&r(u),T(J)}else r(u);p=n(u)}if(p!==null)var ie=!0;else{var he=n(h);he!==null&&Z(j,he.startTime-J),ie=!1}return ie}finally{p=null,g=F,y=!1}}var I=!1,$=null,C=-1,L=5,P=-1;function B(){return!(e.unstable_now()-P<L)}function q(){if($!==null){var R=e.unstable_now();P=R;var J=!0;try{J=$(!0,R)}finally{J?ne():(I=!1,$=null)}}else I=!1}var ne;if(typeof E=="function")ne=function(){E(q)};else if(typeof MessageChannel<"u"){var Q=new MessageChannel,le=Q.port2;Q.port1.onmessage=q,ne=function(){le.postMessage(null)}}else ne=function(){x(q,0)};function te(R){$=R,I||(I=!0,ne())}function Z(R,J){C=x(function(){R(e.unstable_now())},J)}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(R){R.callback=null},e.unstable_continueExecution=function(){v||y||(v=!0,te(A))},e.unstable_forceFrameRate=function(R){0>R||125<R?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):L=0<R?Math.floor(1e3/R):5},e.unstable_getCurrentPriorityLevel=function(){return g},e.unstable_getFirstCallbackNode=function(){return n(u)},e.unstable_next=function(R){switch(g){case 1:case 2:case 3:var J=3;break;default:J=g}var F=g;g=J;try{return R()}finally{g=F}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(R,J){switch(R){case 1:case 2:case 3:case 4:case 5:break;default:R=3}var F=g;g=R;try{return J()}finally{g=F}},e.unstable_scheduleCallback=function(R,J,F){var O=e.unstable_now();switch(typeof F=="object"&&F!==null?(F=F.delay,F=typeof F=="number"&&0<F?O+F:O):F=O,R){case 1:var W=-1;break;case 2:W=250;break;case 5:W=1073741823;break;case 4:W=1e4;break;default:W=5e3}return W=F+W,R={id:f++,callback:J,priorityLevel:R,startTime:F,expirationTime:W,sortIndex:-1},F>O?(R.sortIndex=F,t(h,R),n(u)===null&&R===n(h)&&(w?(N(C),C=-1):w=!0,Z(j,F-O))):(R.sortIndex=W,t(u,R),v||y||(v=!0,te(A))),R},e.unstable_shouldYield=B,e.unstable_wrapCallback=function(R){var J=g;return function(){var F=g;g=J;try{return R.apply(this,arguments)}finally{g=F}}}})(gg)),gg}var Tb;function nR(){return Tb||(Tb=1,mg.exports=tR()),mg.exports}/**
|
|
27
|
+
* @license React
|
|
28
|
+
* react-dom.production.min.js
|
|
29
|
+
*
|
|
30
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
31
|
+
*
|
|
32
|
+
* This source code is licensed under the MIT license found in the
|
|
33
|
+
* LICENSE file in the root directory of this source tree.
|
|
34
|
+
*/var jb;function rR(){if(jb)return po;jb=1;var e=$w(),t=nR();function n(i){for(var c="https://reactjs.org/docs/error-decoder.html?invariant="+i,m=1;m<arguments.length;m++)c+="&args[]="+encodeURIComponent(arguments[m]);return"Minified React error #"+i+"; visit "+c+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var r=new Set,o={};function s(i,c){a(i,c),a(i+"Capture",c)}function a(i,c){for(o[i]=c,i=0;i<c.length;i++)r.add(c[i])}var l=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),u=Object.prototype.hasOwnProperty,h=/^[: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]*$/,f={},p={};function g(i){return u.call(p,i)?!0:u.call(f,i)?!1:h.test(i)?p[i]=!0:(f[i]=!0,!1)}function y(i,c,m,k){if(m!==null&&m.type===0)return!1;switch(typeof c){case"function":case"symbol":return!0;case"boolean":return k?!1:m!==null?!m.acceptsBooleans:(i=i.toLowerCase().slice(0,5),i!=="data-"&&i!=="aria-");default:return!1}}function v(i,c,m,k){if(c===null||typeof c>"u"||y(i,c,m,k))return!0;if(k)return!1;if(m!==null)switch(m.type){case 3:return!c;case 4:return c===!1;case 5:return isNaN(c);case 6:return isNaN(c)||1>c}return!1}function w(i,c,m,k,b,_,M){this.acceptsBooleans=c===2||c===3||c===4,this.attributeName=k,this.attributeNamespace=b,this.mustUseProperty=m,this.propertyName=i,this.type=c,this.sanitizeURL=_,this.removeEmptyString=M}var x={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(i){x[i]=new w(i,0,!1,i,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(i){var c=i[0];x[c]=new w(c,1,!1,i[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(i){x[i]=new w(i,2,!1,i.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(i){x[i]=new w(i,2,!1,i,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(i){x[i]=new w(i,3,!1,i.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(i){x[i]=new w(i,3,!0,i,null,!1,!1)}),["capture","download"].forEach(function(i){x[i]=new w(i,4,!1,i,null,!1,!1)}),["cols","rows","size","span"].forEach(function(i){x[i]=new w(i,6,!1,i,null,!1,!1)}),["rowSpan","start"].forEach(function(i){x[i]=new w(i,5,!1,i.toLowerCase(),null,!1,!1)});var N=/[\-:]([a-z])/g;function E(i){return i[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(i){var c=i.replace(N,E);x[c]=new w(c,1,!1,i,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(i){var c=i.replace(N,E);x[c]=new w(c,1,!1,i,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(i){var c=i.replace(N,E);x[c]=new w(c,1,!1,i,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(i){x[i]=new w(i,1,!1,i.toLowerCase(),null,!1,!1)}),x.xlinkHref=new w("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(i){x[i]=new w(i,1,!1,i.toLowerCase(),null,!0,!0)});function T(i,c,m,k){var b=x.hasOwnProperty(c)?x[c]:null;(b!==null?b.type!==0:k||!(2<c.length)||c[0]!=="o"&&c[0]!=="O"||c[1]!=="n"&&c[1]!=="N")&&(v(c,m,b,k)&&(m=null),k||b===null?g(c)&&(m===null?i.removeAttribute(c):i.setAttribute(c,""+m)):b.mustUseProperty?i[b.propertyName]=m===null?b.type===3?!1:"":m:(c=b.attributeName,k=b.attributeNamespace,m===null?i.removeAttribute(c):(b=b.type,m=b===3||b===4&&m===!0?"":""+m,k?i.setAttributeNS(k,c,m):i.setAttribute(c,m))))}var j=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,A=Symbol.for("react.element"),I=Symbol.for("react.portal"),$=Symbol.for("react.fragment"),C=Symbol.for("react.strict_mode"),L=Symbol.for("react.profiler"),P=Symbol.for("react.provider"),B=Symbol.for("react.context"),q=Symbol.for("react.forward_ref"),ne=Symbol.for("react.suspense"),Q=Symbol.for("react.suspense_list"),le=Symbol.for("react.memo"),te=Symbol.for("react.lazy"),Z=Symbol.for("react.offscreen"),R=Symbol.iterator;function J(i){return i===null||typeof i!="object"?null:(i=R&&i[R]||i["@@iterator"],typeof i=="function"?i:null)}var F=Object.assign,O;function W(i){if(O===void 0)try{throw Error()}catch(m){var c=m.stack.trim().match(/\n( *(at )?)/);O=c&&c[1]||""}return`
|
|
35
|
+
`+O+i}var ie=!1;function he(i,c){if(!i||ie)return"";ie=!0;var m=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(c)if(c=function(){throw Error()},Object.defineProperty(c.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(c,[])}catch(ke){var k=ke}Reflect.construct(i,[],c)}else{try{c.call()}catch(ke){k=ke}i.call(c.prototype)}else{try{throw Error()}catch(ke){k=ke}i()}}catch(ke){if(ke&&k&&typeof ke.stack=="string"){for(var b=ke.stack.split(`
|
|
36
|
+
`),_=k.stack.split(`
|
|
37
|
+
`),M=b.length-1,Y=_.length-1;1<=M&&0<=Y&&b[M]!==_[Y];)Y--;for(;1<=M&&0<=Y;M--,Y--)if(b[M]!==_[Y]){if(M!==1||Y!==1)do if(M--,Y--,0>Y||b[M]!==_[Y]){var se=`
|
|
38
|
+
`+b[M].replace(" at new "," at ");return i.displayName&&se.includes("<anonymous>")&&(se=se.replace("<anonymous>",i.displayName)),se}while(1<=M&&0<=Y);break}}}finally{ie=!1,Error.prepareStackTrace=m}return(i=i?i.displayName||i.name:"")?W(i):""}function ye(i){switch(i.tag){case 5:return W(i.type);case 16:return W("Lazy");case 13:return W("Suspense");case 19:return W("SuspenseList");case 0:case 2:case 15:return i=he(i.type,!1),i;case 11:return i=he(i.type.render,!1),i;case 1:return i=he(i.type,!0),i;default:return""}}function $e(i){if(i==null)return null;if(typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case $:return"Fragment";case I:return"Portal";case L:return"Profiler";case C:return"StrictMode";case ne:return"Suspense";case Q:return"SuspenseList"}if(typeof i=="object")switch(i.$$typeof){case B:return(i.displayName||"Context")+".Consumer";case P:return(i._context.displayName||"Context")+".Provider";case q:var c=i.render;return i=i.displayName,i||(i=c.displayName||c.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case le:return c=i.displayName||null,c!==null?c:$e(i.type)||"Memo";case te:c=i._payload,i=i._init;try{return $e(i(c))}catch{}}return null}function Be(i){var c=i.type;switch(i.tag){case 24:return"Cache";case 9:return(c.displayName||"Context")+".Consumer";case 10:return(c._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return i=c.render,i=i.displayName||i.name||"",c.displayName||(i!==""?"ForwardRef("+i+")":"ForwardRef");case 7:return"Fragment";case 5:return c;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return $e(c);case 8:return c===C?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof c=="function")return c.displayName||c.name||null;if(typeof c=="string")return c}return null}function Ne(i){switch(typeof i){case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function H(i){var c=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(c==="checkbox"||c==="radio")}function ae(i){var c=H(i)?"checked":"value",m=Object.getOwnPropertyDescriptor(i.constructor.prototype,c),k=""+i[c];if(!i.hasOwnProperty(c)&&typeof m<"u"&&typeof m.get=="function"&&typeof m.set=="function"){var b=m.get,_=m.set;return Object.defineProperty(i,c,{configurable:!0,get:function(){return b.call(this)},set:function(M){k=""+M,_.call(this,M)}}),Object.defineProperty(i,c,{enumerable:m.enumerable}),{getValue:function(){return k},setValue:function(M){k=""+M},stopTracking:function(){i._valueTracker=null,delete i[c]}}}}function X(i){i._valueTracker||(i._valueTracker=ae(i))}function oe(i){if(!i)return!1;var c=i._valueTracker;if(!c)return!0;var m=c.getValue(),k="";return i&&(k=H(i)?i.checked?"true":"false":i.value),i=k,i!==m?(c.setValue(i),!0):!1}function we(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}function Pe(i,c){var m=c.checked;return F({},c,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:m??i._wrapperState.initialChecked})}function Re(i,c){var m=c.defaultValue==null?"":c.defaultValue,k=c.checked!=null?c.checked:c.defaultChecked;m=Ne(c.value!=null?c.value:m),i._wrapperState={initialChecked:k,initialValue:m,controlled:c.type==="checkbox"||c.type==="radio"?c.checked!=null:c.value!=null}}function Ke(i,c){c=c.checked,c!=null&&T(i,"checked",c,!1)}function tt(i,c){Ke(i,c);var m=Ne(c.value),k=c.type;if(m!=null)k==="number"?(m===0&&i.value===""||i.value!=m)&&(i.value=""+m):i.value!==""+m&&(i.value=""+m);else if(k==="submit"||k==="reset"){i.removeAttribute("value");return}c.hasOwnProperty("value")?Mt(i,c.type,m):c.hasOwnProperty("defaultValue")&&Mt(i,c.type,Ne(c.defaultValue)),c.checked==null&&c.defaultChecked!=null&&(i.defaultChecked=!!c.defaultChecked)}function at(i,c,m){if(c.hasOwnProperty("value")||c.hasOwnProperty("defaultValue")){var k=c.type;if(!(k!=="submit"&&k!=="reset"||c.value!==void 0&&c.value!==null))return;c=""+i._wrapperState.initialValue,m||c===i.value||(i.value=c),i.defaultValue=c}m=i.name,m!==""&&(i.name=""),i.defaultChecked=!!i._wrapperState.initialChecked,m!==""&&(i.name=m)}function Mt(i,c,m){(c!=="number"||we(i.ownerDocument)!==i)&&(m==null?i.defaultValue=""+i._wrapperState.initialValue:i.defaultValue!==""+m&&(i.defaultValue=""+m))}var en=Array.isArray;function ft(i,c,m,k){if(i=i.options,c){c={};for(var b=0;b<m.length;b++)c["$"+m[b]]=!0;for(m=0;m<i.length;m++)b=c.hasOwnProperty("$"+i[m].value),i[m].selected!==b&&(i[m].selected=b),b&&k&&(i[m].defaultSelected=!0)}else{for(m=""+Ne(m),c=null,b=0;b<i.length;b++){if(i[b].value===m){i[b].selected=!0,k&&(i[b].defaultSelected=!0);return}c!==null||i[b].disabled||(c=i[b])}c!==null&&(c.selected=!0)}}function Ze(i,c){if(c.dangerouslySetInnerHTML!=null)throw Error(n(91));return F({},c,{value:void 0,defaultValue:void 0,children:""+i._wrapperState.initialValue})}function sn(i,c){var m=c.value;if(m==null){if(m=c.children,c=c.defaultValue,m!=null){if(c!=null)throw Error(n(92));if(en(m)){if(1<m.length)throw Error(n(93));m=m[0]}c=m}c==null&&(c=""),m=c}i._wrapperState={initialValue:Ne(m)}}function Ut(i,c){var m=Ne(c.value),k=Ne(c.defaultValue);m!=null&&(m=""+m,m!==i.value&&(i.value=m),c.defaultValue==null&&i.defaultValue!==m&&(i.defaultValue=m)),k!=null&&(i.defaultValue=""+k)}function zt(i){var c=i.textContent;c===i._wrapperState.initialValue&&c!==""&&c!==null&&(i.value=c)}function Zt(i){switch(i){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function st(i,c){return i==null||i==="http://www.w3.org/1999/xhtml"?Zt(c):i==="http://www.w3.org/2000/svg"&&c==="foreignObject"?"http://www.w3.org/1999/xhtml":i}var ht,vn=(function(i){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(c,m,k,b){MSApp.execUnsafeLocalFunction(function(){return i(c,m,k,b)})}:i})(function(i,c){if(i.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in i)i.innerHTML=c;else{for(ht=ht||document.createElement("div"),ht.innerHTML="<svg>"+c.valueOf().toString()+"</svg>",c=ht.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;c.firstChild;)i.appendChild(c.firstChild)}});function xt(i,c){if(c){var m=i.firstChild;if(m&&m===i.lastChild&&m.nodeType===3){m.nodeValue=c;return}}i.textContent=c}var ct={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Tn=["Webkit","ms","Moz","O"];Object.keys(ct).forEach(function(i){Tn.forEach(function(c){c=c+i.charAt(0).toUpperCase()+i.substring(1),ct[c]=ct[i]})});function pn(i,c,m){return c==null||typeof c=="boolean"||c===""?"":m||typeof c!="number"||c===0||ct.hasOwnProperty(i)&&ct[i]?(""+c).trim():c+"px"}function In(i,c){i=i.style;for(var m in c)if(c.hasOwnProperty(m)){var k=m.indexOf("--")===0,b=pn(m,c[m],k);m==="float"&&(m="cssFloat"),k?i.setProperty(m,b):i[m]=b}}var Oe=F({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function pt(i,c){if(c){if(Oe[i]&&(c.children!=null||c.dangerouslySetInnerHTML!=null))throw Error(n(137,i));if(c.dangerouslySetInnerHTML!=null){if(c.children!=null)throw Error(n(60));if(typeof c.dangerouslySetInnerHTML!="object"||!("__html"in c.dangerouslySetInnerHTML))throw Error(n(61))}if(c.style!=null&&typeof c.style!="object")throw Error(n(62))}}function Ht(i,c){if(i.indexOf("-")===-1)return typeof c.is=="string";switch(i){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 an=null;function Gn(i){return i=i.target||i.srcElement||window,i.correspondingUseElement&&(i=i.correspondingUseElement),i.nodeType===3?i.parentNode:i}var ee=null,ge=null,He=null;function lt(i){if(i=zl(i)){if(typeof ee!="function")throw Error(n(280));var c=i.stateNode;c&&(c=Ld(c),ee(i.stateNode,i.type,c))}}function z(i){ge?He?He.push(i):He=[i]:ge=i}function re(){if(ge){var i=ge,c=He;if(He=ge=null,lt(i),c)for(i=0;i<c.length;i++)lt(c[i])}}function Ee(i,c){return i(c)}function Ge(){}var _t=!1;function kt(i,c,m){if(_t)return i(c,m);_t=!0;try{return Ee(i,c,m)}finally{_t=!1,(ge!==null||He!==null)&&(Ge(),re())}}function De(i,c){var m=i.stateNode;if(m===null)return null;var k=Ld(m);if(k===null)return null;m=k[c];e:switch(c){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(k=!k.disabled)||(i=i.type,k=!(i==="button"||i==="input"||i==="select"||i==="textarea")),i=!k;break e;default:i=!1}if(i)return null;if(m&&typeof m!="function")throw Error(n(231,c,typeof m));return m}var ze=!1;if(l)try{var qe={};Object.defineProperty(qe,"passive",{get:function(){ze=!0}}),window.addEventListener("test",qe,qe),window.removeEventListener("test",qe,qe)}catch{ze=!1}function Yt(i,c,m,k,b,_,M,Y,se){var ke=Array.prototype.slice.call(arguments,3);try{c.apply(m,ke)}catch(Ae){this.onError(Ae)}}var Wt=!1,Rn=null,un=!1,Vn=null,rn={onError:function(i){Wt=!0,Rn=i}};function Jt(i,c,m,k,b,_,M,Y,se){Wt=!1,Rn=null,Yt.apply(rn,arguments)}function rr(i,c,m,k,b,_,M,Y,se){if(Jt.apply(this,arguments),Wt){if(Wt){var ke=Rn;Wt=!1,Rn=null}else throw Error(n(198));un||(un=!0,Vn=ke)}}function bn(i){var c=i,m=i;if(i.alternate)for(;c.return;)c=c.return;else{i=c;do c=i,(c.flags&4098)!==0&&(m=c.return),i=c.return;while(i)}return c.tag===3?m:null}function Kt(i){if(i.tag===13){var c=i.memoizedState;if(c===null&&(i=i.alternate,i!==null&&(c=i.memoizedState)),c!==null)return c.dehydrated}return null}function Ct(i){if(bn(i)!==i)throw Error(n(188))}function kn(i){var c=i.alternate;if(!c){if(c=bn(i),c===null)throw Error(n(188));return c!==i?null:i}for(var m=i,k=c;;){var b=m.return;if(b===null)break;var _=b.alternate;if(_===null){if(k=b.return,k!==null){m=k;continue}break}if(b.child===_.child){for(_=b.child;_;){if(_===m)return Ct(b),i;if(_===k)return Ct(b),c;_=_.sibling}throw Error(n(188))}if(m.return!==k.return)m=b,k=_;else{for(var M=!1,Y=b.child;Y;){if(Y===m){M=!0,m=b,k=_;break}if(Y===k){M=!0,k=b,m=_;break}Y=Y.sibling}if(!M){for(Y=_.child;Y;){if(Y===m){M=!0,m=_,k=b;break}if(Y===k){M=!0,k=_,m=b;break}Y=Y.sibling}if(!M)throw Error(n(189))}}if(m.alternate!==k)throw Error(n(190))}if(m.tag!==3)throw Error(n(188));return m.stateNode.current===m?i:c}function de(i){return i=kn(i),i!==null?Fe(i):null}function Fe(i){if(i.tag===5||i.tag===6)return i;for(i=i.child;i!==null;){var c=Fe(i);if(c!==null)return c;i=i.sibling}return null}var wt=t.unstable_scheduleCallback,Ye=t.unstable_cancelCallback,Lt=t.unstable_shouldYield,On=t.unstable_requestPaint,Qt=t.unstable_now,hr=t.unstable_getCurrentPriorityLevel,ur=t.unstable_ImmediatePriority,jn=t.unstable_UserBlockingPriority,vt=t.unstable_NormalPriority,je=t.unstable_LowPriority,xe=t.unstable_IdlePriority,bt=null,jt=null;function mn(i){if(jt&&typeof jt.onCommitFiberRoot=="function")try{jt.onCommitFiberRoot(bt,i,void 0,(i.current.flags&128)===128)}catch{}}var Gt=Math.clz32?Math.clz32:ln,Yn=Math.log,Dn=Math.LN2;function ln(i){return i>>>=0,i===0?32:31-(Yn(i)/Dn|0)|0}var Vt=64,zn=4194304;function dr(i){switch(i&-i){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: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 i&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return i&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return i}}function Sr(i,c){var m=i.pendingLanes;if(m===0)return 0;var k=0,b=i.suspendedLanes,_=i.pingedLanes,M=m&268435455;if(M!==0){var Y=M&~b;Y!==0?k=dr(Y):(_&=M,_!==0&&(k=dr(_)))}else M=m&~b,M!==0?k=dr(M):_!==0&&(k=dr(_));if(k===0)return 0;if(c!==0&&c!==k&&(c&b)===0&&(b=k&-k,_=c&-c,b>=_||b===16&&(_&4194240)!==0))return c;if((k&4)!==0&&(k|=m&16),c=i.entangledLanes,c!==0)for(i=i.entanglements,c&=k;0<c;)m=31-Gt(c),b=1<<m,k|=i[m],c&=~b;return k}function yr(i,c){switch(i){case 1:case 2:case 4:return c+250;case 8:case 16:case 32:case 64: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 c+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Vr(i,c){for(var m=i.suspendedLanes,k=i.pingedLanes,b=i.expirationTimes,_=i.pendingLanes;0<_;){var M=31-Gt(_),Y=1<<M,se=b[M];se===-1?((Y&m)===0||(Y&k)!==0)&&(b[M]=yr(Y,c)):se<=c&&(i.expiredLanes|=Y),_&=~Y}}function so(i){return i=i.pendingLanes&-1073741825,i!==0?i:i&1073741824?1073741824:0}function qo(){var i=Vt;return Vt<<=1,(Vt&4194240)===0&&(Vt=64),i}function Pr(i){for(var c=[],m=0;31>m;m++)c.push(i);return c}function Hn(i,c,m){i.pendingLanes|=c,c!==536870912&&(i.suspendedLanes=0,i.pingedLanes=0),i=i.eventTimes,c=31-Gt(c),i[c]=m}function xn(i,c){var m=i.pendingLanes&~c;i.pendingLanes=c,i.suspendedLanes=0,i.pingedLanes=0,i.expiredLanes&=c,i.mutableReadLanes&=c,i.entangledLanes&=c,c=i.entanglements;var k=i.eventTimes;for(i=i.expirationTimes;0<m;){var b=31-Gt(m),_=1<<b;c[b]=0,k[b]=-1,i[b]=-1,m&=~_}}function G(i,c){var m=i.entangledLanes|=c;for(i=i.entanglements;m;){var k=31-Gt(m),b=1<<k;b&c|i[k]&c&&(i[k]|=c),m&=~b}}var fe=0;function Se(i){return i&=-i,1<i?4<i?(i&268435455)!==0?16:536870912:4:1}var Et,nt,Nt,Fn,or,_e=!1,K=[],V=null,ue=null,ve=null,Ce=new Map,Ve=new Map,Pt=[],ut="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 submit".split(" ");function Xn(i,c){switch(i){case"focusin":case"focusout":V=null;break;case"dragenter":case"dragleave":ue=null;break;case"mouseover":case"mouseout":ve=null;break;case"pointerover":case"pointerout":Ce.delete(c.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ve.delete(c.pointerId)}}function yn(i,c,m,k,b,_){return i===null||i.nativeEvent!==_?(i={blockedOn:c,domEventName:m,eventSystemFlags:k,nativeEvent:_,targetContainers:[b]},c!==null&&(c=zl(c),c!==null&&nt(c)),i):(i.eventSystemFlags|=k,c=i.targetContainers,b!==null&&c.indexOf(b)===-1&&c.push(b),i)}function ti(i,c,m,k,b){switch(c){case"focusin":return V=yn(V,i,c,m,k,b),!0;case"dragenter":return ue=yn(ue,i,c,m,k,b),!0;case"mouseover":return ve=yn(ve,i,c,m,k,b),!0;case"pointerover":var _=b.pointerId;return Ce.set(_,yn(Ce.get(_)||null,i,c,m,k,b)),!0;case"gotpointercapture":return _=b.pointerId,Ve.set(_,yn(Ve.get(_)||null,i,c,m,k,b)),!0}return!1}function Wn(i){var c=ca(i.target);if(c!==null){var m=bn(c);if(m!==null){if(c=m.tag,c===13){if(c=Kt(m),c!==null){i.blockedOn=c,or(i.priority,function(){Nt(m)});return}}else if(c===3&&m.stateNode.current.memoizedState.isDehydrated){i.blockedOn=m.tag===3?m.stateNode.containerInfo:null;return}}}i.blockedOn=null}function Gi(i){if(i.blockedOn!==null)return!1;for(var c=i.targetContainers;0<c.length;){var m=oi(i.domEventName,i.eventSystemFlags,c[0],i.nativeEvent);if(m===null){m=i.nativeEvent;var k=new m.constructor(m.type,m);an=k,m.target.dispatchEvent(k),an=null}else return c=zl(m),c!==null&&nt(c),i.blockedOn=m,!1;c.shift()}return!0}function io(i,c,m){Gi(i)&&m.delete(c)}function fd(){_e=!1,V!==null&&Gi(V)&&(V=null),ue!==null&&Gi(ue)&&(ue=null),ve!==null&&Gi(ve)&&(ve=null),Ce.forEach(io),Ve.forEach(io)}function _s(i,c){i.blockedOn===c&&(i.blockedOn=null,_e||(_e=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,fd)))}function ni(i){function c(b){return _s(b,i)}if(0<K.length){_s(K[0],i);for(var m=1;m<K.length;m++){var k=K[m];k.blockedOn===i&&(k.blockedOn=null)}}for(V!==null&&_s(V,i),ue!==null&&_s(ue,i),ve!==null&&_s(ve,i),Ce.forEach(c),Ve.forEach(c),m=0;m<Pt.length;m++)k=Pt[m],k.blockedOn===i&&(k.blockedOn=null);for(;0<Pt.length&&(m=Pt[0],m.blockedOn===null);)Wn(m),m.blockedOn===null&&Pt.shift()}var Ns=j.ReactCurrentBatchConfig,ec=!0;function Zp(i,c,m,k){var b=fe,_=Ns.transition;Ns.transition=null;try{fe=1,ri(i,c,m,k)}finally{fe=b,Ns.transition=_}}function Gp(i,c,m,k){var b=fe,_=Ns.transition;Ns.transition=null;try{fe=4,ri(i,c,m,k)}finally{fe=b,Ns.transition=_}}function ri(i,c,m,k){if(ec){var b=oi(i,c,m,k);if(b===null)nm(i,c,k,vo,m),Xn(i,k);else if(ti(b,i,c,m,k))k.stopPropagation();else if(Xn(i,k),c&4&&-1<ut.indexOf(i)){for(;b!==null;){var _=zl(b);if(_!==null&&Et(_),_=oi(i,c,m,k),_===null&&nm(i,c,k,vo,m),_===b)break;b=_}b!==null&&k.stopPropagation()}else nm(i,c,k,null,m)}}var vo=null;function oi(i,c,m,k){if(vo=null,i=Gn(k),i=ca(i),i!==null)if(c=bn(i),c===null)i=null;else if(m=c.tag,m===13){if(i=Kt(c),i!==null)return i;i=null}else if(m===3){if(c.stateNode.current.memoizedState.isDehydrated)return c.tag===3?c.stateNode.containerInfo:null;i=null}else c!==i&&(i=null);return vo=i,null}function gl(i){switch(i){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"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 1;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"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(hr()){case ur:return 1;case jn:return 4;case vt:case je:return 16;case xe:return 536870912;default:return 16}default:return 16}}var bo=null,si=null,Vi=null;function Yi(){if(Vi)return Vi;var i,c=si,m=c.length,k,b="value"in bo?bo.value:bo.textContent,_=b.length;for(i=0;i<m&&c[i]===b[i];i++);var M=m-i;for(k=1;k<=M&&c[m-k]===b[_-k];k++);return Vi=b.slice(i,1<k?1-k:void 0)}function Xi(i){var c=i.keyCode;return"charCode"in i?(i=i.charCode,i===0&&c===13&&(i=13)):i=c,i===10&&(i=13),32<=i||i===13?i:0}function ii(){return!0}function Cr(){return!1}function Yr(i){function c(m,k,b,_,M){this._reactName=m,this._targetInst=b,this.type=k,this.nativeEvent=_,this.target=M,this.currentTarget=null;for(var Y in i)i.hasOwnProperty(Y)&&(m=i[Y],this[Y]=m?m(_):_[Y]);return this.isDefaultPrevented=(_.defaultPrevented!=null?_.defaultPrevented:_.returnValue===!1)?ii:Cr,this.isPropagationStopped=Cr,this}return F(c.prototype,{preventDefault:function(){this.defaultPrevented=!0;var m=this.nativeEvent;m&&(m.preventDefault?m.preventDefault():typeof m.returnValue!="unknown"&&(m.returnValue=!1),this.isDefaultPrevented=ii)},stopPropagation:function(){var m=this.nativeEvent;m&&(m.stopPropagation?m.stopPropagation():typeof m.cancelBubble!="unknown"&&(m.cancelBubble=!0),this.isPropagationStopped=ii)},persist:function(){},isPersistent:ii}),c}var ai={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(i){return i.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},kl=Yr(ai),Ts=F({},ai,{view:0,detail:0}),wl=Yr(Ts),cs,Qi,ci,tc=F({},Ts,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:$n,button:0,buttons:0,relatedTarget:function(i){return i.relatedTarget===void 0?i.fromElement===i.srcElement?i.toElement:i.fromElement:i.relatedTarget},movementX:function(i){return"movementX"in i?i.movementX:(i!==ci&&(ci&&i.type==="mousemove"?(cs=i.screenX-ci.screenX,Qi=i.screenY-ci.screenY):Qi=cs=0,ci=i),cs)},movementY:function(i){return"movementY"in i?i.movementY:Qi}}),hd=Yr(tc),Vp=F({},tc,{dataTransfer:0}),pd=Yr(Vp),Yp=F({},Ts,{relatedTarget:0}),nc=Yr(Yp),Xp=F({},ai,{animationName:0,elapsedTime:0,pseudoElement:0}),md=Yr(Xp),Dr=F({},ai,{clipboardData:function(i){return"clipboardData"in i?i.clipboardData:window.clipboardData}}),gd=Yr(Dr),kd=F({},ai,{data:0}),Ji=Yr(kd),Qp={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},yl={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"},vl={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function rc(i){var c=this.nativeEvent;return c.getModifierState?c.getModifierState(i):(i=vl[i])?!!c[i]:!1}function $n(){return rc}var wd=F({},Ts,{key:function(i){if(i.key){var c=Qp[i.key]||i.key;if(c!=="Unidentified")return c}return i.type==="keypress"?(i=Xi(i),i===13?"Enter":String.fromCharCode(i)):i.type==="keydown"||i.type==="keyup"?yl[i.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:$n,charCode:function(i){return i.type==="keypress"?Xi(i):0},keyCode:function(i){return i.type==="keydown"||i.type==="keyup"?i.keyCode:0},which:function(i){return i.type==="keypress"?Xi(i):i.type==="keydown"||i.type==="keyup"?i.keyCode:0}}),oc=Yr(wd),bl=F({},tc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),ea=Yr(bl),sc=F({},Ts,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:$n}),li=Yr(sc),yd=F({},ai,{propertyName:0,elapsedTime:0,pseudoElement:0}),xl=Yr(yd),El=F({},tc,{deltaX:function(i){return"deltaX"in i?i.deltaX:"wheelDeltaX"in i?-i.wheelDeltaX:0},deltaY:function(i){return"deltaY"in i?i.deltaY:"wheelDeltaY"in i?-i.wheelDeltaY:"wheelDelta"in i?-i.wheelDelta:0},deltaZ:0,deltaMode:0}),vd=Yr(El),Lv=[9,13,27,32],ic=l&&"CompositionEvent"in window,ls=null;l&&"documentMode"in document&&(ls=document.documentMode);var bd=l&&"TextEvent"in window&&!ls,Sl=l&&(!ic||ls&&8<ls&&11>=ls),_l=" ",pr=!1;function ta(i,c){switch(i){case"keyup":return Lv.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xd(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var Zo=!1;function Ed(i,c){switch(i){case"compositionend":return xd(c);case"keypress":return c.which!==32?null:(pr=!0,_l);case"textInput":return i=c.data,i===_l&&pr?null:i;default:return null}}function na(i,c){if(Zo)return i==="compositionend"||!ic&&ta(i,c)?(i=Yi(),Vi=si=bo=null,Zo=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1<c.char.length)return c.char;if(c.which)return String.fromCharCode(c.which)}return null;case"compositionend":return Sl&&c.locale!=="ko"?null:c.data;default:return null}}var ra={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 ac(i){var c=i&&i.nodeName&&i.nodeName.toLowerCase();return c==="input"?!!ra[i.type]:c==="textarea"}function Sd(i,c,m,k){z(k),c=Rd(c,"onChange"),0<c.length&&(m=new kl("onChange","change",null,m,k),i.push({event:m,listeners:c}))}var js=null,oa=null;function _d(i){Dv(i,0)}function sa(i){var c=mc(i);if(oe(c))return i}function Nd(i,c){if(i==="change")return c}var Nl=!1;if(l){var ao;if(l){var Tl="oninput"in document;if(!Tl){var us=document.createElement("div");us.setAttribute("oninput","return;"),Tl=typeof us.oninput=="function"}ao=Tl}else ao=!1;Nl=ao&&(!document.documentMode||9<document.documentMode)}function ia(){js&&(js.detachEvent("onpropertychange",Td),oa=js=null)}function Td(i){if(i.propertyName==="value"&&sa(oa)){var c=[];Sd(c,oa,i,Gn(i)),kt(_d,c)}}function cc(i,c,m){i==="focusin"?(ia(),js=c,oa=m,js.attachEvent("onpropertychange",Td)):i==="focusout"&&ia()}function jl(i){if(i==="selectionchange"||i==="keyup"||i==="keydown")return sa(oa)}function $l(i,c){if(i==="click")return sa(c)}function jd(i,c){if(i==="input"||i==="change")return sa(c)}function Jp(i,c){return i===c&&(i!==0||1/i===1/c)||i!==i&&c!==c}var Xr=typeof Object.is=="function"?Object.is:Jp;function ui(i,c){if(Xr(i,c))return!0;if(typeof i!="object"||i===null||typeof c!="object"||c===null)return!1;var m=Object.keys(i),k=Object.keys(c);if(m.length!==k.length)return!1;for(k=0;k<m.length;k++){var b=m[k];if(!u.call(c,b)||!Xr(i[b],c[b]))return!1}return!0}function Al(i){for(;i&&i.firstChild;)i=i.firstChild;return i}function Cl(i,c){var m=Al(i);i=0;for(var k;m;){if(m.nodeType===3){if(k=i+m.textContent.length,i<=c&&k>=c)return{node:m,offset:c-i};i=k}e:{for(;m;){if(m.nextSibling){m=m.nextSibling;break e}m=m.parentNode}m=void 0}m=Al(m)}}function $d(i,c){return i&&c?i===c?!0:i&&i.nodeType===3?!1:c&&c.nodeType===3?$d(i,c.parentNode):"contains"in i?i.contains(c):i.compareDocumentPosition?!!(i.compareDocumentPosition(c)&16):!1:!1}function Il(){for(var i=window,c=we();c instanceof i.HTMLIFrameElement;){try{var m=typeof c.contentWindow.location.href=="string"}catch{m=!1}if(m)i=c.contentWindow;else break;c=we(i.document)}return c}function lc(i){var c=i&&i.nodeName&&i.nodeName.toLowerCase();return c&&(c==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||c==="textarea"||i.contentEditable==="true")}function Ad(i){var c=Il(),m=i.focusedElem,k=i.selectionRange;if(c!==m&&m&&m.ownerDocument&&$d(m.ownerDocument.documentElement,m)){if(k!==null&&lc(m)){if(c=k.start,i=k.end,i===void 0&&(i=c),"selectionStart"in m)m.selectionStart=c,m.selectionEnd=Math.min(i,m.value.length);else if(i=(c=m.ownerDocument||document)&&c.defaultView||window,i.getSelection){i=i.getSelection();var b=m.textContent.length,_=Math.min(k.start,b);k=k.end===void 0?_:Math.min(k.end,b),!i.extend&&_>k&&(b=k,k=_,_=b),b=Cl(m,_);var M=Cl(m,k);b&&M&&(i.rangeCount!==1||i.anchorNode!==b.node||i.anchorOffset!==b.offset||i.focusNode!==M.node||i.focusOffset!==M.offset)&&(c=c.createRange(),c.setStart(b.node,b.offset),i.removeAllRanges(),_>k?(i.addRange(c),i.extend(M.node,M.offset)):(c.setEnd(M.node,M.offset),i.addRange(c)))}}for(c=[],i=m;i=i.parentNode;)i.nodeType===1&&c.push({element:i,left:i.scrollLeft,top:i.scrollTop});for(typeof m.focus=="function"&&m.focus(),m=0;m<c.length;m++)i=c[m],i.element.scrollLeft=i.left,i.element.scrollTop=i.top}}var Cd=l&&"documentMode"in document&&11>=document.documentMode,$s=null,uc=null,di=null,dc=!1;function Rl(i,c,m){var k=m.window===m?m.document:m.nodeType===9?m:m.ownerDocument;dc||$s==null||$s!==we(k)||(k=$s,"selectionStart"in k&&lc(k)?k={start:k.selectionStart,end:k.selectionEnd}:(k=(k.ownerDocument&&k.ownerDocument.defaultView||window).getSelection(),k={anchorNode:k.anchorNode,anchorOffset:k.anchorOffset,focusNode:k.focusNode,focusOffset:k.focusOffset}),di&&ui(di,k)||(di=k,k=Rd(uc,"onSelect"),0<k.length&&(c=new kl("onSelect","select",null,c,m),i.push({event:c,listeners:k}),c.target=$s)))}function aa(i,c){var m={};return m[i.toLowerCase()]=c.toLowerCase(),m["Webkit"+i]="webkit"+c,m["Moz"+i]="moz"+c,m}var As={animationend:aa("Animation","AnimationEnd"),animationiteration:aa("Animation","AnimationIteration"),animationstart:aa("Animation","AnimationStart"),transitionend:aa("Transition","TransitionEnd")},U={},Ie={};l&&(Ie=document.createElement("div").style,"AnimationEvent"in window||(delete As.animationend.animation,delete As.animationiteration.animation,delete As.animationstart.animation),"TransitionEvent"in window||delete As.transitionend.transition);function mt(i){if(U[i])return U[i];if(!As[i])return i;var c=As[i],m;for(m in c)if(c.hasOwnProperty(m)&&m in Ie)return U[i]=c[m];return i}var It=mt("animationend"),sr=mt("animationiteration"),ir=mt("animationstart"),fi=mt("transitionend"),Ol=new Map,xo="abort auxClick 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(" ");function ds(i,c){Ol.set(i,c),s(c,[i])}for(var fc=0;fc<xo.length;fc++){var em=xo[fc],oI=em.toLowerCase(),sI=em[0].toUpperCase()+em.slice(1);ds(oI,"on"+sI)}ds(It,"onAnimationEnd"),ds(sr,"onAnimationIteration"),ds(ir,"onAnimationStart"),ds("dblclick","onDoubleClick"),ds("focusin","onFocus"),ds("focusout","onBlur"),ds(fi,"onTransitionEnd"),a("onMouseEnter",["mouseout","mouseover"]),a("onMouseLeave",["mouseout","mouseover"]),a("onPointerEnter",["pointerout","pointerover"]),a("onPointerLeave",["pointerout","pointerover"]),s("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),s("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),s("onBeforeInput",["compositionend","keypress","textInput","paste"]),s("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),s("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Ml="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(" "),iI=new Set("cancel close invalid load scroll toggle".split(" ").concat(Ml));function Pv(i,c,m){var k=i.type||"unknown-event";i.currentTarget=m,rr(k,c,void 0,i),i.currentTarget=null}function Dv(i,c){c=(c&4)!==0;for(var m=0;m<i.length;m++){var k=i[m],b=k.event;k=k.listeners;e:{var _=void 0;if(c)for(var M=k.length-1;0<=M;M--){var Y=k[M],se=Y.instance,ke=Y.currentTarget;if(Y=Y.listener,se!==_&&b.isPropagationStopped())break e;Pv(b,Y,ke),_=se}else for(M=0;M<k.length;M++){if(Y=k[M],se=Y.instance,ke=Y.currentTarget,Y=Y.listener,se!==_&&b.isPropagationStopped())break e;Pv(b,Y,ke),_=se}}}if(un)throw i=Vn,un=!1,Vn=null,i}function Bn(i,c){var m=c[cm];m===void 0&&(m=c[cm]=new Set);var k=i+"__bubble";m.has(k)||(zv(c,i,2,!1),m.add(k))}function tm(i,c,m){var k=0;c&&(k|=4),zv(m,i,k,c)}var Id="_reactListening"+Math.random().toString(36).slice(2);function Ll(i){if(!i[Id]){i[Id]=!0,r.forEach(function(m){m!=="selectionchange"&&(iI.has(m)||tm(m,!1,i),tm(m,!0,i))});var c=i.nodeType===9?i:i.ownerDocument;c===null||c[Id]||(c[Id]=!0,tm("selectionchange",!1,c))}}function zv(i,c,m,k){switch(gl(c)){case 1:var b=Zp;break;case 4:b=Gp;break;default:b=ri}m=b.bind(null,c,m,i),b=void 0,!ze||c!=="touchstart"&&c!=="touchmove"&&c!=="wheel"||(b=!0),k?b!==void 0?i.addEventListener(c,m,{capture:!0,passive:b}):i.addEventListener(c,m,!0):b!==void 0?i.addEventListener(c,m,{passive:b}):i.addEventListener(c,m,!1)}function nm(i,c,m,k,b){var _=k;if((c&1)===0&&(c&2)===0&&k!==null)e:for(;;){if(k===null)return;var M=k.tag;if(M===3||M===4){var Y=k.stateNode.containerInfo;if(Y===b||Y.nodeType===8&&Y.parentNode===b)break;if(M===4)for(M=k.return;M!==null;){var se=M.tag;if((se===3||se===4)&&(se=M.stateNode.containerInfo,se===b||se.nodeType===8&&se.parentNode===b))return;M=M.return}for(;Y!==null;){if(M=ca(Y),M===null)return;if(se=M.tag,se===5||se===6){k=_=M;continue e}Y=Y.parentNode}}k=k.return}kt(function(){var ke=_,Ae=Gn(m),Me=[];e:{var Te=Ol.get(i);if(Te!==void 0){var Xe=kl,rt=i;switch(i){case"keypress":if(Xi(m)===0)break e;case"keydown":case"keyup":Xe=oc;break;case"focusin":rt="focus",Xe=nc;break;case"focusout":rt="blur",Xe=nc;break;case"beforeblur":case"afterblur":Xe=nc;break;case"click":if(m.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":Xe=hd;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":Xe=pd;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":Xe=li;break;case It:case sr:case ir:Xe=md;break;case fi:Xe=xl;break;case"scroll":Xe=wl;break;case"wheel":Xe=vd;break;case"copy":case"cut":case"paste":Xe=gd;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":Xe=ea}var it=(c&4)!==0,fr=!it&&i==="scroll",pe=it?Te!==null?Te+"Capture":null:Te;it=[];for(var ce=ke,me;ce!==null;){me=ce;var Ue=me.stateNode;if(me.tag===5&&Ue!==null&&(me=Ue,pe!==null&&(Ue=De(ce,pe),Ue!=null&&it.push(Pl(ce,Ue,me)))),fr)break;ce=ce.return}0<it.length&&(Te=new Xe(Te,rt,null,m,Ae),Me.push({event:Te,listeners:it}))}}if((c&7)===0){e:{if(Te=i==="mouseover"||i==="pointerover",Xe=i==="mouseout"||i==="pointerout",Te&&m!==an&&(rt=m.relatedTarget||m.fromElement)&&(ca(rt)||rt[Cs]))break e;if((Xe||Te)&&(Te=Ae.window===Ae?Ae:(Te=Ae.ownerDocument)?Te.defaultView||Te.parentWindow:window,Xe?(rt=m.relatedTarget||m.toElement,Xe=ke,rt=rt?ca(rt):null,rt!==null&&(fr=bn(rt),rt!==fr||rt.tag!==5&&rt.tag!==6)&&(rt=null)):(Xe=null,rt=ke),Xe!==rt)){if(it=hd,Ue="onMouseLeave",pe="onMouseEnter",ce="mouse",(i==="pointerout"||i==="pointerover")&&(it=ea,Ue="onPointerLeave",pe="onPointerEnter",ce="pointer"),fr=Xe==null?Te:mc(Xe),me=rt==null?Te:mc(rt),Te=new it(Ue,ce+"leave",Xe,m,Ae),Te.target=fr,Te.relatedTarget=me,Ue=null,ca(Ae)===ke&&(it=new it(pe,ce+"enter",rt,m,Ae),it.target=me,it.relatedTarget=fr,Ue=it),fr=Ue,Xe&&rt)t:{for(it=Xe,pe=rt,ce=0,me=it;me;me=hc(me))ce++;for(me=0,Ue=pe;Ue;Ue=hc(Ue))me++;for(;0<ce-me;)it=hc(it),ce--;for(;0<me-ce;)pe=hc(pe),me--;for(;ce--;){if(it===pe||pe!==null&&it===pe.alternate)break t;it=hc(it),pe=hc(pe)}it=null}else it=null;Xe!==null&&Fv(Me,Te,Xe,it,!1),rt!==null&&fr!==null&&Fv(Me,fr,rt,it,!0)}}e:{if(Te=ke?mc(ke):window,Xe=Te.nodeName&&Te.nodeName.toLowerCase(),Xe==="select"||Xe==="input"&&Te.type==="file")var gt=Nd;else if(ac(Te))if(Nl)gt=jd;else{gt=jl;var $t=cc}else(Xe=Te.nodeName)&&Xe.toLowerCase()==="input"&&(Te.type==="checkbox"||Te.type==="radio")&&(gt=$l);if(gt&&(gt=gt(i,ke))){Sd(Me,gt,m,Ae);break e}$t&&$t(i,Te,ke),i==="focusout"&&($t=Te._wrapperState)&&$t.controlled&&Te.type==="number"&&Mt(Te,"number",Te.value)}switch($t=ke?mc(ke):window,i){case"focusin":(ac($t)||$t.contentEditable==="true")&&($s=$t,uc=ke,di=null);break;case"focusout":di=uc=$s=null;break;case"mousedown":dc=!0;break;case"contextmenu":case"mouseup":case"dragend":dc=!1,Rl(Me,m,Ae);break;case"selectionchange":if(Cd)break;case"keydown":case"keyup":Rl(Me,m,Ae)}var At;if(ic)e:{switch(i){case"compositionstart":var Bt="onCompositionStart";break e;case"compositionend":Bt="onCompositionEnd";break e;case"compositionupdate":Bt="onCompositionUpdate";break e}Bt=void 0}else Zo?ta(i,m)&&(Bt="onCompositionEnd"):i==="keydown"&&m.keyCode===229&&(Bt="onCompositionStart");Bt&&(Sl&&m.locale!=="ko"&&(Zo||Bt!=="onCompositionStart"?Bt==="onCompositionEnd"&&Zo&&(At=Yi()):(bo=Ae,si="value"in bo?bo.value:bo.textContent,Zo=!0)),$t=Rd(ke,Bt),0<$t.length&&(Bt=new Ji(Bt,i,null,m,Ae),Me.push({event:Bt,listeners:$t}),At?Bt.data=At:(At=xd(m),At!==null&&(Bt.data=At)))),(At=bd?Ed(i,m):na(i,m))&&(ke=Rd(ke,"onBeforeInput"),0<ke.length&&(Ae=new Ji("onBeforeInput","beforeinput",null,m,Ae),Me.push({event:Ae,listeners:ke}),Ae.data=At))}Dv(Me,c)})}function Pl(i,c,m){return{instance:i,listener:c,currentTarget:m}}function Rd(i,c){for(var m=c+"Capture",k=[];i!==null;){var b=i,_=b.stateNode;b.tag===5&&_!==null&&(b=_,_=De(i,m),_!=null&&k.unshift(Pl(i,_,b)),_=De(i,c),_!=null&&k.push(Pl(i,_,b))),i=i.return}return k}function hc(i){if(i===null)return null;do i=i.return;while(i&&i.tag!==5);return i||null}function Fv(i,c,m,k,b){for(var _=c._reactName,M=[];m!==null&&m!==k;){var Y=m,se=Y.alternate,ke=Y.stateNode;if(se!==null&&se===k)break;Y.tag===5&&ke!==null&&(Y=ke,b?(se=De(m,_),se!=null&&M.unshift(Pl(m,se,Y))):b||(se=De(m,_),se!=null&&M.push(Pl(m,se,Y)))),m=m.return}M.length!==0&&i.push({event:c,listeners:M})}var aI=/\r\n?/g,cI=/\u0000|\uFFFD/g;function Bv(i){return(typeof i=="string"?i:""+i).replace(aI,`
|
|
39
|
+
`).replace(cI,"")}function Od(i,c,m){if(c=Bv(c),Bv(i)!==c&&m)throw Error(n(425))}function Md(){}var rm=null,om=null;function sm(i,c){return i==="textarea"||i==="noscript"||typeof c.children=="string"||typeof c.children=="number"||typeof c.dangerouslySetInnerHTML=="object"&&c.dangerouslySetInnerHTML!==null&&c.dangerouslySetInnerHTML.__html!=null}var im=typeof setTimeout=="function"?setTimeout:void 0,lI=typeof clearTimeout=="function"?clearTimeout:void 0,Uv=typeof Promise=="function"?Promise:void 0,uI=typeof queueMicrotask=="function"?queueMicrotask:typeof Uv<"u"?function(i){return Uv.resolve(null).then(i).catch(dI)}:im;function dI(i){setTimeout(function(){throw i})}function am(i,c){var m=c,k=0;do{var b=m.nextSibling;if(i.removeChild(m),b&&b.nodeType===8)if(m=b.data,m==="/$"){if(k===0){i.removeChild(b),ni(c);return}k--}else m!=="$"&&m!=="$?"&&m!=="$!"||k++;m=b}while(m);ni(c)}function hi(i){for(;i!=null;i=i.nextSibling){var c=i.nodeType;if(c===1||c===3)break;if(c===8){if(c=i.data,c==="$"||c==="$!"||c==="$?")break;if(c==="/$")return null}}return i}function Hv(i){i=i.previousSibling;for(var c=0;i;){if(i.nodeType===8){var m=i.data;if(m==="$"||m==="$!"||m==="$?"){if(c===0)return i;c--}else m==="/$"&&c++}i=i.previousSibling}return null}var pc=Math.random().toString(36).slice(2),fs="__reactFiber$"+pc,Dl="__reactProps$"+pc,Cs="__reactContainer$"+pc,cm="__reactEvents$"+pc,fI="__reactListeners$"+pc,hI="__reactHandles$"+pc;function ca(i){var c=i[fs];if(c)return c;for(var m=i.parentNode;m;){if(c=m[Cs]||m[fs]){if(m=c.alternate,c.child!==null||m!==null&&m.child!==null)for(i=Hv(i);i!==null;){if(m=i[fs])return m;i=Hv(i)}return c}i=m,m=i.parentNode}return null}function zl(i){return i=i[fs]||i[Cs],!i||i.tag!==5&&i.tag!==6&&i.tag!==13&&i.tag!==3?null:i}function mc(i){if(i.tag===5||i.tag===6)return i.stateNode;throw Error(n(33))}function Ld(i){return i[Dl]||null}var lm=[],gc=-1;function pi(i){return{current:i}}function Un(i){0>gc||(i.current=lm[gc],lm[gc]=null,gc--)}function Mn(i,c){gc++,lm[gc]=i.current,i.current=c}var mi={},zr=pi(mi),co=pi(!1),la=mi;function kc(i,c){var m=i.type.contextTypes;if(!m)return mi;var k=i.stateNode;if(k&&k.__reactInternalMemoizedUnmaskedChildContext===c)return k.__reactInternalMemoizedMaskedChildContext;var b={},_;for(_ in m)b[_]=c[_];return k&&(i=i.stateNode,i.__reactInternalMemoizedUnmaskedChildContext=c,i.__reactInternalMemoizedMaskedChildContext=b),b}function lo(i){return i=i.childContextTypes,i!=null}function Pd(){Un(co),Un(zr)}function Wv(i,c,m){if(zr.current!==mi)throw Error(n(168));Mn(zr,c),Mn(co,m)}function Kv(i,c,m){var k=i.stateNode;if(c=c.childContextTypes,typeof k.getChildContext!="function")return m;k=k.getChildContext();for(var b in k)if(!(b in c))throw Error(n(108,Be(i)||"Unknown",b));return F({},m,k)}function Dd(i){return i=(i=i.stateNode)&&i.__reactInternalMemoizedMergedChildContext||mi,la=zr.current,Mn(zr,i),Mn(co,co.current),!0}function qv(i,c,m){var k=i.stateNode;if(!k)throw Error(n(169));m?(i=Kv(i,c,la),k.__reactInternalMemoizedMergedChildContext=i,Un(co),Un(zr),Mn(zr,i)):Un(co),Mn(co,m)}var Is=null,zd=!1,um=!1;function Zv(i){Is===null?Is=[i]:Is.push(i)}function pI(i){zd=!0,Zv(i)}function gi(){if(!um&&Is!==null){um=!0;var i=0,c=fe;try{var m=Is;for(fe=1;i<m.length;i++){var k=m[i];do k=k(!0);while(k!==null)}Is=null,zd=!1}catch(b){throw Is!==null&&(Is=Is.slice(i+1)),wt(ur,gi),b}finally{fe=c,um=!1}}return null}var wc=[],yc=0,Fd=null,Bd=0,Ro=[],Oo=0,ua=null,Rs=1,Os="";function da(i,c){wc[yc++]=Bd,wc[yc++]=Fd,Fd=i,Bd=c}function Gv(i,c,m){Ro[Oo++]=Rs,Ro[Oo++]=Os,Ro[Oo++]=ua,ua=i;var k=Rs;i=Os;var b=32-Gt(k)-1;k&=~(1<<b),m+=1;var _=32-Gt(c)+b;if(30<_){var M=b-b%5;_=(k&(1<<M)-1).toString(32),k>>=M,b-=M,Rs=1<<32-Gt(c)+b|m<<b|k,Os=_+i}else Rs=1<<_|m<<b|k,Os=i}function dm(i){i.return!==null&&(da(i,1),Gv(i,1,0))}function fm(i){for(;i===Fd;)Fd=wc[--yc],wc[yc]=null,Bd=wc[--yc],wc[yc]=null;for(;i===ua;)ua=Ro[--Oo],Ro[Oo]=null,Os=Ro[--Oo],Ro[Oo]=null,Rs=Ro[--Oo],Ro[Oo]=null}var Eo=null,So=null,Kn=!1,Go=null;function Vv(i,c){var m=Do(5,null,null,0);m.elementType="DELETED",m.stateNode=c,m.return=i,c=i.deletions,c===null?(i.deletions=[m],i.flags|=16):c.push(m)}function Yv(i,c){switch(i.tag){case 5:var m=i.type;return c=c.nodeType!==1||m.toLowerCase()!==c.nodeName.toLowerCase()?null:c,c!==null?(i.stateNode=c,Eo=i,So=hi(c.firstChild),!0):!1;case 6:return c=i.pendingProps===""||c.nodeType!==3?null:c,c!==null?(i.stateNode=c,Eo=i,So=null,!0):!1;case 13:return c=c.nodeType!==8?null:c,c!==null?(m=ua!==null?{id:Rs,overflow:Os}:null,i.memoizedState={dehydrated:c,treeContext:m,retryLane:1073741824},m=Do(18,null,null,0),m.stateNode=c,m.return=i,i.child=m,Eo=i,So=null,!0):!1;default:return!1}}function hm(i){return(i.mode&1)!==0&&(i.flags&128)===0}function pm(i){if(Kn){var c=So;if(c){var m=c;if(!Yv(i,c)){if(hm(i))throw Error(n(418));c=hi(m.nextSibling);var k=Eo;c&&Yv(i,c)?Vv(k,m):(i.flags=i.flags&-4097|2,Kn=!1,Eo=i)}}else{if(hm(i))throw Error(n(418));i.flags=i.flags&-4097|2,Kn=!1,Eo=i}}}function Xv(i){for(i=i.return;i!==null&&i.tag!==5&&i.tag!==3&&i.tag!==13;)i=i.return;Eo=i}function Ud(i){if(i!==Eo)return!1;if(!Kn)return Xv(i),Kn=!0,!1;var c;if((c=i.tag!==3)&&!(c=i.tag!==5)&&(c=i.type,c=c!=="head"&&c!=="body"&&!sm(i.type,i.memoizedProps)),c&&(c=So)){if(hm(i))throw Qv(),Error(n(418));for(;c;)Vv(i,c),c=hi(c.nextSibling)}if(Xv(i),i.tag===13){if(i=i.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(n(317));e:{for(i=i.nextSibling,c=0;i;){if(i.nodeType===8){var m=i.data;if(m==="/$"){if(c===0){So=hi(i.nextSibling);break e}c--}else m!=="$"&&m!=="$!"&&m!=="$?"||c++}i=i.nextSibling}So=null}}else So=Eo?hi(i.stateNode.nextSibling):null;return!0}function Qv(){for(var i=So;i;)i=hi(i.nextSibling)}function vc(){So=Eo=null,Kn=!1}function mm(i){Go===null?Go=[i]:Go.push(i)}var mI=j.ReactCurrentBatchConfig;function Fl(i,c,m){if(i=m.ref,i!==null&&typeof i!="function"&&typeof i!="object"){if(m._owner){if(m=m._owner,m){if(m.tag!==1)throw Error(n(309));var k=m.stateNode}if(!k)throw Error(n(147,i));var b=k,_=""+i;return c!==null&&c.ref!==null&&typeof c.ref=="function"&&c.ref._stringRef===_?c.ref:(c=function(M){var Y=b.refs;M===null?delete Y[_]:Y[_]=M},c._stringRef=_,c)}if(typeof i!="string")throw Error(n(284));if(!m._owner)throw Error(n(290,i))}return i}function Hd(i,c){throw i=Object.prototype.toString.call(c),Error(n(31,i==="[object Object]"?"object with keys {"+Object.keys(c).join(", ")+"}":i))}function Jv(i){var c=i._init;return c(i._payload)}function e0(i){function c(pe,ce){if(i){var me=pe.deletions;me===null?(pe.deletions=[ce],pe.flags|=16):me.push(ce)}}function m(pe,ce){if(!i)return null;for(;ce!==null;)c(pe,ce),ce=ce.sibling;return null}function k(pe,ce){for(pe=new Map;ce!==null;)ce.key!==null?pe.set(ce.key,ce):pe.set(ce.index,ce),ce=ce.sibling;return pe}function b(pe,ce){return pe=Si(pe,ce),pe.index=0,pe.sibling=null,pe}function _(pe,ce,me){return pe.index=me,i?(me=pe.alternate,me!==null?(me=me.index,me<ce?(pe.flags|=2,ce):me):(pe.flags|=2,ce)):(pe.flags|=1048576,ce)}function M(pe){return i&&pe.alternate===null&&(pe.flags|=2),pe}function Y(pe,ce,me,Ue){return ce===null||ce.tag!==6?(ce=ig(me,pe.mode,Ue),ce.return=pe,ce):(ce=b(ce,me),ce.return=pe,ce)}function se(pe,ce,me,Ue){var gt=me.type;return gt===$?Ae(pe,ce,me.props.children,Ue,me.key):ce!==null&&(ce.elementType===gt||typeof gt=="object"&>!==null&>.$$typeof===te&&Jv(gt)===ce.type)?(Ue=b(ce,me.props),Ue.ref=Fl(pe,ce,me),Ue.return=pe,Ue):(Ue=pf(me.type,me.key,me.props,null,pe.mode,Ue),Ue.ref=Fl(pe,ce,me),Ue.return=pe,Ue)}function ke(pe,ce,me,Ue){return ce===null||ce.tag!==4||ce.stateNode.containerInfo!==me.containerInfo||ce.stateNode.implementation!==me.implementation?(ce=ag(me,pe.mode,Ue),ce.return=pe,ce):(ce=b(ce,me.children||[]),ce.return=pe,ce)}function Ae(pe,ce,me,Ue,gt){return ce===null||ce.tag!==7?(ce=ya(me,pe.mode,Ue,gt),ce.return=pe,ce):(ce=b(ce,me),ce.return=pe,ce)}function Me(pe,ce,me){if(typeof ce=="string"&&ce!==""||typeof ce=="number")return ce=ig(""+ce,pe.mode,me),ce.return=pe,ce;if(typeof ce=="object"&&ce!==null){switch(ce.$$typeof){case A:return me=pf(ce.type,ce.key,ce.props,null,pe.mode,me),me.ref=Fl(pe,null,ce),me.return=pe,me;case I:return ce=ag(ce,pe.mode,me),ce.return=pe,ce;case te:var Ue=ce._init;return Me(pe,Ue(ce._payload),me)}if(en(ce)||J(ce))return ce=ya(ce,pe.mode,me,null),ce.return=pe,ce;Hd(pe,ce)}return null}function Te(pe,ce,me,Ue){var gt=ce!==null?ce.key:null;if(typeof me=="string"&&me!==""||typeof me=="number")return gt!==null?null:Y(pe,ce,""+me,Ue);if(typeof me=="object"&&me!==null){switch(me.$$typeof){case A:return me.key===gt?se(pe,ce,me,Ue):null;case I:return me.key===gt?ke(pe,ce,me,Ue):null;case te:return gt=me._init,Te(pe,ce,gt(me._payload),Ue)}if(en(me)||J(me))return gt!==null?null:Ae(pe,ce,me,Ue,null);Hd(pe,me)}return null}function Xe(pe,ce,me,Ue,gt){if(typeof Ue=="string"&&Ue!==""||typeof Ue=="number")return pe=pe.get(me)||null,Y(ce,pe,""+Ue,gt);if(typeof Ue=="object"&&Ue!==null){switch(Ue.$$typeof){case A:return pe=pe.get(Ue.key===null?me:Ue.key)||null,se(ce,pe,Ue,gt);case I:return pe=pe.get(Ue.key===null?me:Ue.key)||null,ke(ce,pe,Ue,gt);case te:var $t=Ue._init;return Xe(pe,ce,me,$t(Ue._payload),gt)}if(en(Ue)||J(Ue))return pe=pe.get(me)||null,Ae(ce,pe,Ue,gt,null);Hd(ce,Ue)}return null}function rt(pe,ce,me,Ue){for(var gt=null,$t=null,At=ce,Bt=ce=0,Tr=null;At!==null&&Bt<me.length;Bt++){At.index>Bt?(Tr=At,At=null):Tr=At.sibling;var gn=Te(pe,At,me[Bt],Ue);if(gn===null){At===null&&(At=Tr);break}i&&At&&gn.alternate===null&&c(pe,At),ce=_(gn,ce,Bt),$t===null?gt=gn:$t.sibling=gn,$t=gn,At=Tr}if(Bt===me.length)return m(pe,At),Kn&&da(pe,Bt),gt;if(At===null){for(;Bt<me.length;Bt++)At=Me(pe,me[Bt],Ue),At!==null&&(ce=_(At,ce,Bt),$t===null?gt=At:$t.sibling=At,$t=At);return Kn&&da(pe,Bt),gt}for(At=k(pe,At);Bt<me.length;Bt++)Tr=Xe(At,pe,Bt,me[Bt],Ue),Tr!==null&&(i&&Tr.alternate!==null&&At.delete(Tr.key===null?Bt:Tr.key),ce=_(Tr,ce,Bt),$t===null?gt=Tr:$t.sibling=Tr,$t=Tr);return i&&At.forEach(function(_i){return c(pe,_i)}),Kn&&da(pe,Bt),gt}function it(pe,ce,me,Ue){var gt=J(me);if(typeof gt!="function")throw Error(n(150));if(me=gt.call(me),me==null)throw Error(n(151));for(var $t=gt=null,At=ce,Bt=ce=0,Tr=null,gn=me.next();At!==null&&!gn.done;Bt++,gn=me.next()){At.index>Bt?(Tr=At,At=null):Tr=At.sibling;var _i=Te(pe,At,gn.value,Ue);if(_i===null){At===null&&(At=Tr);break}i&&At&&_i.alternate===null&&c(pe,At),ce=_(_i,ce,Bt),$t===null?gt=_i:$t.sibling=_i,$t=_i,At=Tr}if(gn.done)return m(pe,At),Kn&&da(pe,Bt),gt;if(At===null){for(;!gn.done;Bt++,gn=me.next())gn=Me(pe,gn.value,Ue),gn!==null&&(ce=_(gn,ce,Bt),$t===null?gt=gn:$t.sibling=gn,$t=gn);return Kn&&da(pe,Bt),gt}for(At=k(pe,At);!gn.done;Bt++,gn=me.next())gn=Xe(At,pe,Bt,gn.value,Ue),gn!==null&&(i&&gn.alternate!==null&&At.delete(gn.key===null?Bt:gn.key),ce=_(gn,ce,Bt),$t===null?gt=gn:$t.sibling=gn,$t=gn);return i&&At.forEach(function(GI){return c(pe,GI)}),Kn&&da(pe,Bt),gt}function fr(pe,ce,me,Ue){if(typeof me=="object"&&me!==null&&me.type===$&&me.key===null&&(me=me.props.children),typeof me=="object"&&me!==null){switch(me.$$typeof){case A:e:{for(var gt=me.key,$t=ce;$t!==null;){if($t.key===gt){if(gt=me.type,gt===$){if($t.tag===7){m(pe,$t.sibling),ce=b($t,me.props.children),ce.return=pe,pe=ce;break e}}else if($t.elementType===gt||typeof gt=="object"&>!==null&>.$$typeof===te&&Jv(gt)===$t.type){m(pe,$t.sibling),ce=b($t,me.props),ce.ref=Fl(pe,$t,me),ce.return=pe,pe=ce;break e}m(pe,$t);break}else c(pe,$t);$t=$t.sibling}me.type===$?(ce=ya(me.props.children,pe.mode,Ue,me.key),ce.return=pe,pe=ce):(Ue=pf(me.type,me.key,me.props,null,pe.mode,Ue),Ue.ref=Fl(pe,ce,me),Ue.return=pe,pe=Ue)}return M(pe);case I:e:{for($t=me.key;ce!==null;){if(ce.key===$t)if(ce.tag===4&&ce.stateNode.containerInfo===me.containerInfo&&ce.stateNode.implementation===me.implementation){m(pe,ce.sibling),ce=b(ce,me.children||[]),ce.return=pe,pe=ce;break e}else{m(pe,ce);break}else c(pe,ce);ce=ce.sibling}ce=ag(me,pe.mode,Ue),ce.return=pe,pe=ce}return M(pe);case te:return $t=me._init,fr(pe,ce,$t(me._payload),Ue)}if(en(me))return rt(pe,ce,me,Ue);if(J(me))return it(pe,ce,me,Ue);Hd(pe,me)}return typeof me=="string"&&me!==""||typeof me=="number"?(me=""+me,ce!==null&&ce.tag===6?(m(pe,ce.sibling),ce=b(ce,me),ce.return=pe,pe=ce):(m(pe,ce),ce=ig(me,pe.mode,Ue),ce.return=pe,pe=ce),M(pe)):m(pe,ce)}return fr}var bc=e0(!0),t0=e0(!1),Wd=pi(null),Kd=null,xc=null,gm=null;function km(){gm=xc=Kd=null}function wm(i){var c=Wd.current;Un(Wd),i._currentValue=c}function ym(i,c,m){for(;i!==null;){var k=i.alternate;if((i.childLanes&c)!==c?(i.childLanes|=c,k!==null&&(k.childLanes|=c)):k!==null&&(k.childLanes&c)!==c&&(k.childLanes|=c),i===m)break;i=i.return}}function Ec(i,c){Kd=i,gm=xc=null,i=i.dependencies,i!==null&&i.firstContext!==null&&((i.lanes&c)!==0&&(uo=!0),i.firstContext=null)}function Mo(i){var c=i._currentValue;if(gm!==i)if(i={context:i,memoizedValue:c,next:null},xc===null){if(Kd===null)throw Error(n(308));xc=i,Kd.dependencies={lanes:0,firstContext:i}}else xc=xc.next=i;return c}var fa=null;function vm(i){fa===null?fa=[i]:fa.push(i)}function n0(i,c,m,k){var b=c.interleaved;return b===null?(m.next=m,vm(c)):(m.next=b.next,b.next=m),c.interleaved=m,Ms(i,k)}function Ms(i,c){i.lanes|=c;var m=i.alternate;for(m!==null&&(m.lanes|=c),m=i,i=i.return;i!==null;)i.childLanes|=c,m=i.alternate,m!==null&&(m.childLanes|=c),m=i,i=i.return;return m.tag===3?m.stateNode:null}var ki=!1;function bm(i){i.updateQueue={baseState:i.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function r0(i,c){i=i.updateQueue,c.updateQueue===i&&(c.updateQueue={baseState:i.baseState,firstBaseUpdate:i.firstBaseUpdate,lastBaseUpdate:i.lastBaseUpdate,shared:i.shared,effects:i.effects})}function Ls(i,c){return{eventTime:i,lane:c,tag:0,payload:null,callback:null,next:null}}function wi(i,c,m){var k=i.updateQueue;if(k===null)return null;if(k=k.shared,(dn&2)!==0){var b=k.pending;return b===null?c.next=c:(c.next=b.next,b.next=c),k.pending=c,Ms(i,m)}return b=k.interleaved,b===null?(c.next=c,vm(k)):(c.next=b.next,b.next=c),k.interleaved=c,Ms(i,m)}function qd(i,c,m){if(c=c.updateQueue,c!==null&&(c=c.shared,(m&4194240)!==0)){var k=c.lanes;k&=i.pendingLanes,m|=k,c.lanes=m,G(i,m)}}function o0(i,c){var m=i.updateQueue,k=i.alternate;if(k!==null&&(k=k.updateQueue,m===k)){var b=null,_=null;if(m=m.firstBaseUpdate,m!==null){do{var M={eventTime:m.eventTime,lane:m.lane,tag:m.tag,payload:m.payload,callback:m.callback,next:null};_===null?b=_=M:_=_.next=M,m=m.next}while(m!==null);_===null?b=_=c:_=_.next=c}else b=_=c;m={baseState:k.baseState,firstBaseUpdate:b,lastBaseUpdate:_,shared:k.shared,effects:k.effects},i.updateQueue=m;return}i=m.lastBaseUpdate,i===null?m.firstBaseUpdate=c:i.next=c,m.lastBaseUpdate=c}function Zd(i,c,m,k){var b=i.updateQueue;ki=!1;var _=b.firstBaseUpdate,M=b.lastBaseUpdate,Y=b.shared.pending;if(Y!==null){b.shared.pending=null;var se=Y,ke=se.next;se.next=null,M===null?_=ke:M.next=ke,M=se;var Ae=i.alternate;Ae!==null&&(Ae=Ae.updateQueue,Y=Ae.lastBaseUpdate,Y!==M&&(Y===null?Ae.firstBaseUpdate=ke:Y.next=ke,Ae.lastBaseUpdate=se))}if(_!==null){var Me=b.baseState;M=0,Ae=ke=se=null,Y=_;do{var Te=Y.lane,Xe=Y.eventTime;if((k&Te)===Te){Ae!==null&&(Ae=Ae.next={eventTime:Xe,lane:0,tag:Y.tag,payload:Y.payload,callback:Y.callback,next:null});e:{var rt=i,it=Y;switch(Te=c,Xe=m,it.tag){case 1:if(rt=it.payload,typeof rt=="function"){Me=rt.call(Xe,Me,Te);break e}Me=rt;break e;case 3:rt.flags=rt.flags&-65537|128;case 0:if(rt=it.payload,Te=typeof rt=="function"?rt.call(Xe,Me,Te):rt,Te==null)break e;Me=F({},Me,Te);break e;case 2:ki=!0}}Y.callback!==null&&Y.lane!==0&&(i.flags|=64,Te=b.effects,Te===null?b.effects=[Y]:Te.push(Y))}else Xe={eventTime:Xe,lane:Te,tag:Y.tag,payload:Y.payload,callback:Y.callback,next:null},Ae===null?(ke=Ae=Xe,se=Me):Ae=Ae.next=Xe,M|=Te;if(Y=Y.next,Y===null){if(Y=b.shared.pending,Y===null)break;Te=Y,Y=Te.next,Te.next=null,b.lastBaseUpdate=Te,b.shared.pending=null}}while(!0);if(Ae===null&&(se=Me),b.baseState=se,b.firstBaseUpdate=ke,b.lastBaseUpdate=Ae,c=b.shared.interleaved,c!==null){b=c;do M|=b.lane,b=b.next;while(b!==c)}else _===null&&(b.shared.lanes=0);ma|=M,i.lanes=M,i.memoizedState=Me}}function s0(i,c,m){if(i=c.effects,c.effects=null,i!==null)for(c=0;c<i.length;c++){var k=i[c],b=k.callback;if(b!==null){if(k.callback=null,k=m,typeof b!="function")throw Error(n(191,b));b.call(k)}}}var Bl={},hs=pi(Bl),Ul=pi(Bl),Hl=pi(Bl);function ha(i){if(i===Bl)throw Error(n(174));return i}function xm(i,c){switch(Mn(Hl,c),Mn(Ul,i),Mn(hs,Bl),i=c.nodeType,i){case 9:case 11:c=(c=c.documentElement)?c.namespaceURI:st(null,"");break;default:i=i===8?c.parentNode:c,c=i.namespaceURI||null,i=i.tagName,c=st(c,i)}Un(hs),Mn(hs,c)}function Sc(){Un(hs),Un(Ul),Un(Hl)}function i0(i){ha(Hl.current);var c=ha(hs.current),m=st(c,i.type);c!==m&&(Mn(Ul,i),Mn(hs,m))}function Em(i){Ul.current===i&&(Un(hs),Un(Ul))}var Qn=pi(0);function Gd(i){for(var c=i;c!==null;){if(c.tag===13){var m=c.memoizedState;if(m!==null&&(m=m.dehydrated,m===null||m.data==="$?"||m.data==="$!"))return c}else if(c.tag===19&&c.memoizedProps.revealOrder!==void 0){if((c.flags&128)!==0)return c}else if(c.child!==null){c.child.return=c,c=c.child;continue}if(c===i)break;for(;c.sibling===null;){if(c.return===null||c.return===i)return null;c=c.return}c.sibling.return=c.return,c=c.sibling}return null}var Sm=[];function _m(){for(var i=0;i<Sm.length;i++)Sm[i]._workInProgressVersionPrimary=null;Sm.length=0}var Vd=j.ReactCurrentDispatcher,Nm=j.ReactCurrentBatchConfig,pa=0,Jn=null,vr=null,_r=null,Yd=!1,Wl=!1,Kl=0,gI=0;function Fr(){throw Error(n(321))}function Tm(i,c){if(c===null)return!1;for(var m=0;m<c.length&&m<i.length;m++)if(!Xr(i[m],c[m]))return!1;return!0}function jm(i,c,m,k,b,_){if(pa=_,Jn=c,c.memoizedState=null,c.updateQueue=null,c.lanes=0,Vd.current=i===null||i.memoizedState===null?vI:bI,i=m(k,b),Wl){_=0;do{if(Wl=!1,Kl=0,25<=_)throw Error(n(301));_+=1,_r=vr=null,c.updateQueue=null,Vd.current=xI,i=m(k,b)}while(Wl)}if(Vd.current=Jd,c=vr!==null&&vr.next!==null,pa=0,_r=vr=Jn=null,Yd=!1,c)throw Error(n(300));return i}function $m(){var i=Kl!==0;return Kl=0,i}function ps(){var i={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return _r===null?Jn.memoizedState=_r=i:_r=_r.next=i,_r}function Lo(){if(vr===null){var i=Jn.alternate;i=i!==null?i.memoizedState:null}else i=vr.next;var c=_r===null?Jn.memoizedState:_r.next;if(c!==null)_r=c,vr=i;else{if(i===null)throw Error(n(310));vr=i,i={memoizedState:vr.memoizedState,baseState:vr.baseState,baseQueue:vr.baseQueue,queue:vr.queue,next:null},_r===null?Jn.memoizedState=_r=i:_r=_r.next=i}return _r}function ql(i,c){return typeof c=="function"?c(i):c}function Am(i){var c=Lo(),m=c.queue;if(m===null)throw Error(n(311));m.lastRenderedReducer=i;var k=vr,b=k.baseQueue,_=m.pending;if(_!==null){if(b!==null){var M=b.next;b.next=_.next,_.next=M}k.baseQueue=b=_,m.pending=null}if(b!==null){_=b.next,k=k.baseState;var Y=M=null,se=null,ke=_;do{var Ae=ke.lane;if((pa&Ae)===Ae)se!==null&&(se=se.next={lane:0,action:ke.action,hasEagerState:ke.hasEagerState,eagerState:ke.eagerState,next:null}),k=ke.hasEagerState?ke.eagerState:i(k,ke.action);else{var Me={lane:Ae,action:ke.action,hasEagerState:ke.hasEagerState,eagerState:ke.eagerState,next:null};se===null?(Y=se=Me,M=k):se=se.next=Me,Jn.lanes|=Ae,ma|=Ae}ke=ke.next}while(ke!==null&&ke!==_);se===null?M=k:se.next=Y,Xr(k,c.memoizedState)||(uo=!0),c.memoizedState=k,c.baseState=M,c.baseQueue=se,m.lastRenderedState=k}if(i=m.interleaved,i!==null){b=i;do _=b.lane,Jn.lanes|=_,ma|=_,b=b.next;while(b!==i)}else b===null&&(m.lanes=0);return[c.memoizedState,m.dispatch]}function Cm(i){var c=Lo(),m=c.queue;if(m===null)throw Error(n(311));m.lastRenderedReducer=i;var k=m.dispatch,b=m.pending,_=c.memoizedState;if(b!==null){m.pending=null;var M=b=b.next;do _=i(_,M.action),M=M.next;while(M!==b);Xr(_,c.memoizedState)||(uo=!0),c.memoizedState=_,c.baseQueue===null&&(c.baseState=_),m.lastRenderedState=_}return[_,k]}function a0(){}function c0(i,c){var m=Jn,k=Lo(),b=c(),_=!Xr(k.memoizedState,b);if(_&&(k.memoizedState=b,uo=!0),k=k.queue,Im(d0.bind(null,m,k,i),[i]),k.getSnapshot!==c||_||_r!==null&&_r.memoizedState.tag&1){if(m.flags|=2048,Zl(9,u0.bind(null,m,k,b,c),void 0,null),Nr===null)throw Error(n(349));(pa&30)!==0||l0(m,c,b)}return b}function l0(i,c,m){i.flags|=16384,i={getSnapshot:c,value:m},c=Jn.updateQueue,c===null?(c={lastEffect:null,stores:null},Jn.updateQueue=c,c.stores=[i]):(m=c.stores,m===null?c.stores=[i]:m.push(i))}function u0(i,c,m,k){c.value=m,c.getSnapshot=k,f0(c)&&h0(i)}function d0(i,c,m){return m(function(){f0(c)&&h0(i)})}function f0(i){var c=i.getSnapshot;i=i.value;try{var m=c();return!Xr(i,m)}catch{return!0}}function h0(i){var c=Ms(i,1);c!==null&&Qo(c,i,1,-1)}function p0(i){var c=ps();return typeof i=="function"&&(i=i()),c.memoizedState=c.baseState=i,i={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ql,lastRenderedState:i},c.queue=i,i=i.dispatch=yI.bind(null,Jn,i),[c.memoizedState,i]}function Zl(i,c,m,k){return i={tag:i,create:c,destroy:m,deps:k,next:null},c=Jn.updateQueue,c===null?(c={lastEffect:null,stores:null},Jn.updateQueue=c,c.lastEffect=i.next=i):(m=c.lastEffect,m===null?c.lastEffect=i.next=i:(k=m.next,m.next=i,i.next=k,c.lastEffect=i)),i}function m0(){return Lo().memoizedState}function Xd(i,c,m,k){var b=ps();Jn.flags|=i,b.memoizedState=Zl(1|c,m,void 0,k===void 0?null:k)}function Qd(i,c,m,k){var b=Lo();k=k===void 0?null:k;var _=void 0;if(vr!==null){var M=vr.memoizedState;if(_=M.destroy,k!==null&&Tm(k,M.deps)){b.memoizedState=Zl(c,m,_,k);return}}Jn.flags|=i,b.memoizedState=Zl(1|c,m,_,k)}function g0(i,c){return Xd(8390656,8,i,c)}function Im(i,c){return Qd(2048,8,i,c)}function k0(i,c){return Qd(4,2,i,c)}function w0(i,c){return Qd(4,4,i,c)}function y0(i,c){if(typeof c=="function")return i=i(),c(i),function(){c(null)};if(c!=null)return i=i(),c.current=i,function(){c.current=null}}function v0(i,c,m){return m=m!=null?m.concat([i]):null,Qd(4,4,y0.bind(null,c,i),m)}function Rm(){}function b0(i,c){var m=Lo();c=c===void 0?null:c;var k=m.memoizedState;return k!==null&&c!==null&&Tm(c,k[1])?k[0]:(m.memoizedState=[i,c],i)}function x0(i,c){var m=Lo();c=c===void 0?null:c;var k=m.memoizedState;return k!==null&&c!==null&&Tm(c,k[1])?k[0]:(i=i(),m.memoizedState=[i,c],i)}function E0(i,c,m){return(pa&21)===0?(i.baseState&&(i.baseState=!1,uo=!0),i.memoizedState=m):(Xr(m,c)||(m=qo(),Jn.lanes|=m,ma|=m,i.baseState=!0),c)}function kI(i,c){var m=fe;fe=m!==0&&4>m?m:4,i(!0);var k=Nm.transition;Nm.transition={};try{i(!1),c()}finally{fe=m,Nm.transition=k}}function S0(){return Lo().memoizedState}function wI(i,c,m){var k=xi(i);if(m={lane:k,action:m,hasEagerState:!1,eagerState:null,next:null},_0(i))N0(c,m);else if(m=n0(i,c,m,k),m!==null){var b=Jr();Qo(m,i,k,b),T0(m,c,k)}}function yI(i,c,m){var k=xi(i),b={lane:k,action:m,hasEagerState:!1,eagerState:null,next:null};if(_0(i))N0(c,b);else{var _=i.alternate;if(i.lanes===0&&(_===null||_.lanes===0)&&(_=c.lastRenderedReducer,_!==null))try{var M=c.lastRenderedState,Y=_(M,m);if(b.hasEagerState=!0,b.eagerState=Y,Xr(Y,M)){var se=c.interleaved;se===null?(b.next=b,vm(c)):(b.next=se.next,se.next=b),c.interleaved=b;return}}catch{}finally{}m=n0(i,c,b,k),m!==null&&(b=Jr(),Qo(m,i,k,b),T0(m,c,k))}}function _0(i){var c=i.alternate;return i===Jn||c!==null&&c===Jn}function N0(i,c){Wl=Yd=!0;var m=i.pending;m===null?c.next=c:(c.next=m.next,m.next=c),i.pending=c}function T0(i,c,m){if((m&4194240)!==0){var k=c.lanes;k&=i.pendingLanes,m|=k,c.lanes=m,G(i,m)}}var Jd={readContext:Mo,useCallback:Fr,useContext:Fr,useEffect:Fr,useImperativeHandle:Fr,useInsertionEffect:Fr,useLayoutEffect:Fr,useMemo:Fr,useReducer:Fr,useRef:Fr,useState:Fr,useDebugValue:Fr,useDeferredValue:Fr,useTransition:Fr,useMutableSource:Fr,useSyncExternalStore:Fr,useId:Fr,unstable_isNewReconciler:!1},vI={readContext:Mo,useCallback:function(i,c){return ps().memoizedState=[i,c===void 0?null:c],i},useContext:Mo,useEffect:g0,useImperativeHandle:function(i,c,m){return m=m!=null?m.concat([i]):null,Xd(4194308,4,y0.bind(null,c,i),m)},useLayoutEffect:function(i,c){return Xd(4194308,4,i,c)},useInsertionEffect:function(i,c){return Xd(4,2,i,c)},useMemo:function(i,c){var m=ps();return c=c===void 0?null:c,i=i(),m.memoizedState=[i,c],i},useReducer:function(i,c,m){var k=ps();return c=m!==void 0?m(c):c,k.memoizedState=k.baseState=c,i={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:c},k.queue=i,i=i.dispatch=wI.bind(null,Jn,i),[k.memoizedState,i]},useRef:function(i){var c=ps();return i={current:i},c.memoizedState=i},useState:p0,useDebugValue:Rm,useDeferredValue:function(i){return ps().memoizedState=i},useTransition:function(){var i=p0(!1),c=i[0];return i=kI.bind(null,i[1]),ps().memoizedState=i,[c,i]},useMutableSource:function(){},useSyncExternalStore:function(i,c,m){var k=Jn,b=ps();if(Kn){if(m===void 0)throw Error(n(407));m=m()}else{if(m=c(),Nr===null)throw Error(n(349));(pa&30)!==0||l0(k,c,m)}b.memoizedState=m;var _={value:m,getSnapshot:c};return b.queue=_,g0(d0.bind(null,k,_,i),[i]),k.flags|=2048,Zl(9,u0.bind(null,k,_,m,c),void 0,null),m},useId:function(){var i=ps(),c=Nr.identifierPrefix;if(Kn){var m=Os,k=Rs;m=(k&~(1<<32-Gt(k)-1)).toString(32)+m,c=":"+c+"R"+m,m=Kl++,0<m&&(c+="H"+m.toString(32)),c+=":"}else m=gI++,c=":"+c+"r"+m.toString(32)+":";return i.memoizedState=c},unstable_isNewReconciler:!1},bI={readContext:Mo,useCallback:b0,useContext:Mo,useEffect:Im,useImperativeHandle:v0,useInsertionEffect:k0,useLayoutEffect:w0,useMemo:x0,useReducer:Am,useRef:m0,useState:function(){return Am(ql)},useDebugValue:Rm,useDeferredValue:function(i){var c=Lo();return E0(c,vr.memoizedState,i)},useTransition:function(){var i=Am(ql)[0],c=Lo().memoizedState;return[i,c]},useMutableSource:a0,useSyncExternalStore:c0,useId:S0,unstable_isNewReconciler:!1},xI={readContext:Mo,useCallback:b0,useContext:Mo,useEffect:Im,useImperativeHandle:v0,useInsertionEffect:k0,useLayoutEffect:w0,useMemo:x0,useReducer:Cm,useRef:m0,useState:function(){return Cm(ql)},useDebugValue:Rm,useDeferredValue:function(i){var c=Lo();return vr===null?c.memoizedState=i:E0(c,vr.memoizedState,i)},useTransition:function(){var i=Cm(ql)[0],c=Lo().memoizedState;return[i,c]},useMutableSource:a0,useSyncExternalStore:c0,useId:S0,unstable_isNewReconciler:!1};function Vo(i,c){if(i&&i.defaultProps){c=F({},c),i=i.defaultProps;for(var m in i)c[m]===void 0&&(c[m]=i[m]);return c}return c}function Om(i,c,m,k){c=i.memoizedState,m=m(k,c),m=m==null?c:F({},c,m),i.memoizedState=m,i.lanes===0&&(i.updateQueue.baseState=m)}var ef={isMounted:function(i){return(i=i._reactInternals)?bn(i)===i:!1},enqueueSetState:function(i,c,m){i=i._reactInternals;var k=Jr(),b=xi(i),_=Ls(k,b);_.payload=c,m!=null&&(_.callback=m),c=wi(i,_,b),c!==null&&(Qo(c,i,b,k),qd(c,i,b))},enqueueReplaceState:function(i,c,m){i=i._reactInternals;var k=Jr(),b=xi(i),_=Ls(k,b);_.tag=1,_.payload=c,m!=null&&(_.callback=m),c=wi(i,_,b),c!==null&&(Qo(c,i,b,k),qd(c,i,b))},enqueueForceUpdate:function(i,c){i=i._reactInternals;var m=Jr(),k=xi(i),b=Ls(m,k);b.tag=2,c!=null&&(b.callback=c),c=wi(i,b,k),c!==null&&(Qo(c,i,k,m),qd(c,i,k))}};function j0(i,c,m,k,b,_,M){return i=i.stateNode,typeof i.shouldComponentUpdate=="function"?i.shouldComponentUpdate(k,_,M):c.prototype&&c.prototype.isPureReactComponent?!ui(m,k)||!ui(b,_):!0}function $0(i,c,m){var k=!1,b=mi,_=c.contextType;return typeof _=="object"&&_!==null?_=Mo(_):(b=lo(c)?la:zr.current,k=c.contextTypes,_=(k=k!=null)?kc(i,b):mi),c=new c(m,_),i.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,c.updater=ef,i.stateNode=c,c._reactInternals=i,k&&(i=i.stateNode,i.__reactInternalMemoizedUnmaskedChildContext=b,i.__reactInternalMemoizedMaskedChildContext=_),c}function A0(i,c,m,k){i=c.state,typeof c.componentWillReceiveProps=="function"&&c.componentWillReceiveProps(m,k),typeof c.UNSAFE_componentWillReceiveProps=="function"&&c.UNSAFE_componentWillReceiveProps(m,k),c.state!==i&&ef.enqueueReplaceState(c,c.state,null)}function Mm(i,c,m,k){var b=i.stateNode;b.props=m,b.state=i.memoizedState,b.refs={},bm(i);var _=c.contextType;typeof _=="object"&&_!==null?b.context=Mo(_):(_=lo(c)?la:zr.current,b.context=kc(i,_)),b.state=i.memoizedState,_=c.getDerivedStateFromProps,typeof _=="function"&&(Om(i,c,_,m),b.state=i.memoizedState),typeof c.getDerivedStateFromProps=="function"||typeof b.getSnapshotBeforeUpdate=="function"||typeof b.UNSAFE_componentWillMount!="function"&&typeof b.componentWillMount!="function"||(c=b.state,typeof b.componentWillMount=="function"&&b.componentWillMount(),typeof b.UNSAFE_componentWillMount=="function"&&b.UNSAFE_componentWillMount(),c!==b.state&&ef.enqueueReplaceState(b,b.state,null),Zd(i,m,b,k),b.state=i.memoizedState),typeof b.componentDidMount=="function"&&(i.flags|=4194308)}function _c(i,c){try{var m="",k=c;do m+=ye(k),k=k.return;while(k);var b=m}catch(_){b=`
|
|
40
|
+
Error generating stack: `+_.message+`
|
|
41
|
+
`+_.stack}return{value:i,source:c,stack:b,digest:null}}function Lm(i,c,m){return{value:i,source:null,stack:m??null,digest:c??null}}function Pm(i,c){try{console.error(c.value)}catch(m){setTimeout(function(){throw m})}}var EI=typeof WeakMap=="function"?WeakMap:Map;function C0(i,c,m){m=Ls(-1,m),m.tag=3,m.payload={element:null};var k=c.value;return m.callback=function(){cf||(cf=!0,Qm=k),Pm(i,c)},m}function I0(i,c,m){m=Ls(-1,m),m.tag=3;var k=i.type.getDerivedStateFromError;if(typeof k=="function"){var b=c.value;m.payload=function(){return k(b)},m.callback=function(){Pm(i,c)}}var _=i.stateNode;return _!==null&&typeof _.componentDidCatch=="function"&&(m.callback=function(){Pm(i,c),typeof k!="function"&&(vi===null?vi=new Set([this]):vi.add(this));var M=c.stack;this.componentDidCatch(c.value,{componentStack:M!==null?M:""})}),m}function R0(i,c,m){var k=i.pingCache;if(k===null){k=i.pingCache=new EI;var b=new Set;k.set(c,b)}else b=k.get(c),b===void 0&&(b=new Set,k.set(c,b));b.has(m)||(b.add(m),i=PI.bind(null,i,c,m),c.then(i,i))}function O0(i){do{var c;if((c=i.tag===13)&&(c=i.memoizedState,c=c!==null?c.dehydrated!==null:!0),c)return i;i=i.return}while(i!==null);return null}function M0(i,c,m,k,b){return(i.mode&1)===0?(i===c?i.flags|=65536:(i.flags|=128,m.flags|=131072,m.flags&=-52805,m.tag===1&&(m.alternate===null?m.tag=17:(c=Ls(-1,1),c.tag=2,wi(m,c,1))),m.lanes|=1),i):(i.flags|=65536,i.lanes=b,i)}var SI=j.ReactCurrentOwner,uo=!1;function Qr(i,c,m,k){c.child=i===null?t0(c,null,m,k):bc(c,i.child,m,k)}function L0(i,c,m,k,b){m=m.render;var _=c.ref;return Ec(c,b),k=jm(i,c,m,k,_,b),m=$m(),i!==null&&!uo?(c.updateQueue=i.updateQueue,c.flags&=-2053,i.lanes&=~b,Ps(i,c,b)):(Kn&&m&&dm(c),c.flags|=1,Qr(i,c,k,b),c.child)}function P0(i,c,m,k,b){if(i===null){var _=m.type;return typeof _=="function"&&!sg(_)&&_.defaultProps===void 0&&m.compare===null&&m.defaultProps===void 0?(c.tag=15,c.type=_,D0(i,c,_,k,b)):(i=pf(m.type,null,k,c,c.mode,b),i.ref=c.ref,i.return=c,c.child=i)}if(_=i.child,(i.lanes&b)===0){var M=_.memoizedProps;if(m=m.compare,m=m!==null?m:ui,m(M,k)&&i.ref===c.ref)return Ps(i,c,b)}return c.flags|=1,i=Si(_,k),i.ref=c.ref,i.return=c,c.child=i}function D0(i,c,m,k,b){if(i!==null){var _=i.memoizedProps;if(ui(_,k)&&i.ref===c.ref)if(uo=!1,c.pendingProps=k=_,(i.lanes&b)!==0)(i.flags&131072)!==0&&(uo=!0);else return c.lanes=i.lanes,Ps(i,c,b)}return Dm(i,c,m,k,b)}function z0(i,c,m){var k=c.pendingProps,b=k.children,_=i!==null?i.memoizedState:null;if(k.mode==="hidden")if((c.mode&1)===0)c.memoizedState={baseLanes:0,cachePool:null,transitions:null},Mn(Tc,_o),_o|=m;else{if((m&1073741824)===0)return i=_!==null?_.baseLanes|m:m,c.lanes=c.childLanes=1073741824,c.memoizedState={baseLanes:i,cachePool:null,transitions:null},c.updateQueue=null,Mn(Tc,_o),_o|=i,null;c.memoizedState={baseLanes:0,cachePool:null,transitions:null},k=_!==null?_.baseLanes:m,Mn(Tc,_o),_o|=k}else _!==null?(k=_.baseLanes|m,c.memoizedState=null):k=m,Mn(Tc,_o),_o|=k;return Qr(i,c,b,m),c.child}function F0(i,c){var m=c.ref;(i===null&&m!==null||i!==null&&i.ref!==m)&&(c.flags|=512,c.flags|=2097152)}function Dm(i,c,m,k,b){var _=lo(m)?la:zr.current;return _=kc(c,_),Ec(c,b),m=jm(i,c,m,k,_,b),k=$m(),i!==null&&!uo?(c.updateQueue=i.updateQueue,c.flags&=-2053,i.lanes&=~b,Ps(i,c,b)):(Kn&&k&&dm(c),c.flags|=1,Qr(i,c,m,b),c.child)}function B0(i,c,m,k,b){if(lo(m)){var _=!0;Dd(c)}else _=!1;if(Ec(c,b),c.stateNode===null)nf(i,c),$0(c,m,k),Mm(c,m,k,b),k=!0;else if(i===null){var M=c.stateNode,Y=c.memoizedProps;M.props=Y;var se=M.context,ke=m.contextType;typeof ke=="object"&&ke!==null?ke=Mo(ke):(ke=lo(m)?la:zr.current,ke=kc(c,ke));var Ae=m.getDerivedStateFromProps,Me=typeof Ae=="function"||typeof M.getSnapshotBeforeUpdate=="function";Me||typeof M.UNSAFE_componentWillReceiveProps!="function"&&typeof M.componentWillReceiveProps!="function"||(Y!==k||se!==ke)&&A0(c,M,k,ke),ki=!1;var Te=c.memoizedState;M.state=Te,Zd(c,k,M,b),se=c.memoizedState,Y!==k||Te!==se||co.current||ki?(typeof Ae=="function"&&(Om(c,m,Ae,k),se=c.memoizedState),(Y=ki||j0(c,m,Y,k,Te,se,ke))?(Me||typeof M.UNSAFE_componentWillMount!="function"&&typeof M.componentWillMount!="function"||(typeof M.componentWillMount=="function"&&M.componentWillMount(),typeof M.UNSAFE_componentWillMount=="function"&&M.UNSAFE_componentWillMount()),typeof M.componentDidMount=="function"&&(c.flags|=4194308)):(typeof M.componentDidMount=="function"&&(c.flags|=4194308),c.memoizedProps=k,c.memoizedState=se),M.props=k,M.state=se,M.context=ke,k=Y):(typeof M.componentDidMount=="function"&&(c.flags|=4194308),k=!1)}else{M=c.stateNode,r0(i,c),Y=c.memoizedProps,ke=c.type===c.elementType?Y:Vo(c.type,Y),M.props=ke,Me=c.pendingProps,Te=M.context,se=m.contextType,typeof se=="object"&&se!==null?se=Mo(se):(se=lo(m)?la:zr.current,se=kc(c,se));var Xe=m.getDerivedStateFromProps;(Ae=typeof Xe=="function"||typeof M.getSnapshotBeforeUpdate=="function")||typeof M.UNSAFE_componentWillReceiveProps!="function"&&typeof M.componentWillReceiveProps!="function"||(Y!==Me||Te!==se)&&A0(c,M,k,se),ki=!1,Te=c.memoizedState,M.state=Te,Zd(c,k,M,b);var rt=c.memoizedState;Y!==Me||Te!==rt||co.current||ki?(typeof Xe=="function"&&(Om(c,m,Xe,k),rt=c.memoizedState),(ke=ki||j0(c,m,ke,k,Te,rt,se)||!1)?(Ae||typeof M.UNSAFE_componentWillUpdate!="function"&&typeof M.componentWillUpdate!="function"||(typeof M.componentWillUpdate=="function"&&M.componentWillUpdate(k,rt,se),typeof M.UNSAFE_componentWillUpdate=="function"&&M.UNSAFE_componentWillUpdate(k,rt,se)),typeof M.componentDidUpdate=="function"&&(c.flags|=4),typeof M.getSnapshotBeforeUpdate=="function"&&(c.flags|=1024)):(typeof M.componentDidUpdate!="function"||Y===i.memoizedProps&&Te===i.memoizedState||(c.flags|=4),typeof M.getSnapshotBeforeUpdate!="function"||Y===i.memoizedProps&&Te===i.memoizedState||(c.flags|=1024),c.memoizedProps=k,c.memoizedState=rt),M.props=k,M.state=rt,M.context=se,k=ke):(typeof M.componentDidUpdate!="function"||Y===i.memoizedProps&&Te===i.memoizedState||(c.flags|=4),typeof M.getSnapshotBeforeUpdate!="function"||Y===i.memoizedProps&&Te===i.memoizedState||(c.flags|=1024),k=!1)}return zm(i,c,m,k,_,b)}function zm(i,c,m,k,b,_){F0(i,c);var M=(c.flags&128)!==0;if(!k&&!M)return b&&qv(c,m,!1),Ps(i,c,_);k=c.stateNode,SI.current=c;var Y=M&&typeof m.getDerivedStateFromError!="function"?null:k.render();return c.flags|=1,i!==null&&M?(c.child=bc(c,i.child,null,_),c.child=bc(c,null,Y,_)):Qr(i,c,Y,_),c.memoizedState=k.state,b&&qv(c,m,!0),c.child}function U0(i){var c=i.stateNode;c.pendingContext?Wv(i,c.pendingContext,c.pendingContext!==c.context):c.context&&Wv(i,c.context,!1),xm(i,c.containerInfo)}function H0(i,c,m,k,b){return vc(),mm(b),c.flags|=256,Qr(i,c,m,k),c.child}var Fm={dehydrated:null,treeContext:null,retryLane:0};function Bm(i){return{baseLanes:i,cachePool:null,transitions:null}}function W0(i,c,m){var k=c.pendingProps,b=Qn.current,_=!1,M=(c.flags&128)!==0,Y;if((Y=M)||(Y=i!==null&&i.memoizedState===null?!1:(b&2)!==0),Y?(_=!0,c.flags&=-129):(i===null||i.memoizedState!==null)&&(b|=1),Mn(Qn,b&1),i===null)return pm(c),i=c.memoizedState,i!==null&&(i=i.dehydrated,i!==null)?((c.mode&1)===0?c.lanes=1:i.data==="$!"?c.lanes=8:c.lanes=1073741824,null):(M=k.children,i=k.fallback,_?(k=c.mode,_=c.child,M={mode:"hidden",children:M},(k&1)===0&&_!==null?(_.childLanes=0,_.pendingProps=M):_=mf(M,k,0,null),i=ya(i,k,m,null),_.return=c,i.return=c,_.sibling=i,c.child=_,c.child.memoizedState=Bm(m),c.memoizedState=Fm,i):Um(c,M));if(b=i.memoizedState,b!==null&&(Y=b.dehydrated,Y!==null))return _I(i,c,M,k,Y,b,m);if(_){_=k.fallback,M=c.mode,b=i.child,Y=b.sibling;var se={mode:"hidden",children:k.children};return(M&1)===0&&c.child!==b?(k=c.child,k.childLanes=0,k.pendingProps=se,c.deletions=null):(k=Si(b,se),k.subtreeFlags=b.subtreeFlags&14680064),Y!==null?_=Si(Y,_):(_=ya(_,M,m,null),_.flags|=2),_.return=c,k.return=c,k.sibling=_,c.child=k,k=_,_=c.child,M=i.child.memoizedState,M=M===null?Bm(m):{baseLanes:M.baseLanes|m,cachePool:null,transitions:M.transitions},_.memoizedState=M,_.childLanes=i.childLanes&~m,c.memoizedState=Fm,k}return _=i.child,i=_.sibling,k=Si(_,{mode:"visible",children:k.children}),(c.mode&1)===0&&(k.lanes=m),k.return=c,k.sibling=null,i!==null&&(m=c.deletions,m===null?(c.deletions=[i],c.flags|=16):m.push(i)),c.child=k,c.memoizedState=null,k}function Um(i,c){return c=mf({mode:"visible",children:c},i.mode,0,null),c.return=i,i.child=c}function tf(i,c,m,k){return k!==null&&mm(k),bc(c,i.child,null,m),i=Um(c,c.pendingProps.children),i.flags|=2,c.memoizedState=null,i}function _I(i,c,m,k,b,_,M){if(m)return c.flags&256?(c.flags&=-257,k=Lm(Error(n(422))),tf(i,c,M,k)):c.memoizedState!==null?(c.child=i.child,c.flags|=128,null):(_=k.fallback,b=c.mode,k=mf({mode:"visible",children:k.children},b,0,null),_=ya(_,b,M,null),_.flags|=2,k.return=c,_.return=c,k.sibling=_,c.child=k,(c.mode&1)!==0&&bc(c,i.child,null,M),c.child.memoizedState=Bm(M),c.memoizedState=Fm,_);if((c.mode&1)===0)return tf(i,c,M,null);if(b.data==="$!"){if(k=b.nextSibling&&b.nextSibling.dataset,k)var Y=k.dgst;return k=Y,_=Error(n(419)),k=Lm(_,k,void 0),tf(i,c,M,k)}if(Y=(M&i.childLanes)!==0,uo||Y){if(k=Nr,k!==null){switch(M&-M){case 4:b=2;break;case 16:b=8;break;case 64: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:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:b=32;break;case 536870912:b=268435456;break;default:b=0}b=(b&(k.suspendedLanes|M))!==0?0:b,b!==0&&b!==_.retryLane&&(_.retryLane=b,Ms(i,b),Qo(k,i,b,-1))}return og(),k=Lm(Error(n(421))),tf(i,c,M,k)}return b.data==="$?"?(c.flags|=128,c.child=i.child,c=DI.bind(null,i),b._reactRetry=c,null):(i=_.treeContext,So=hi(b.nextSibling),Eo=c,Kn=!0,Go=null,i!==null&&(Ro[Oo++]=Rs,Ro[Oo++]=Os,Ro[Oo++]=ua,Rs=i.id,Os=i.overflow,ua=c),c=Um(c,k.children),c.flags|=4096,c)}function K0(i,c,m){i.lanes|=c;var k=i.alternate;k!==null&&(k.lanes|=c),ym(i.return,c,m)}function Hm(i,c,m,k,b){var _=i.memoizedState;_===null?i.memoizedState={isBackwards:c,rendering:null,renderingStartTime:0,last:k,tail:m,tailMode:b}:(_.isBackwards=c,_.rendering=null,_.renderingStartTime=0,_.last=k,_.tail=m,_.tailMode=b)}function q0(i,c,m){var k=c.pendingProps,b=k.revealOrder,_=k.tail;if(Qr(i,c,k.children,m),k=Qn.current,(k&2)!==0)k=k&1|2,c.flags|=128;else{if(i!==null&&(i.flags&128)!==0)e:for(i=c.child;i!==null;){if(i.tag===13)i.memoizedState!==null&&K0(i,m,c);else if(i.tag===19)K0(i,m,c);else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===c)break e;for(;i.sibling===null;){if(i.return===null||i.return===c)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}k&=1}if(Mn(Qn,k),(c.mode&1)===0)c.memoizedState=null;else switch(b){case"forwards":for(m=c.child,b=null;m!==null;)i=m.alternate,i!==null&&Gd(i)===null&&(b=m),m=m.sibling;m=b,m===null?(b=c.child,c.child=null):(b=m.sibling,m.sibling=null),Hm(c,!1,b,m,_);break;case"backwards":for(m=null,b=c.child,c.child=null;b!==null;){if(i=b.alternate,i!==null&&Gd(i)===null){c.child=b;break}i=b.sibling,b.sibling=m,m=b,b=i}Hm(c,!0,m,null,_);break;case"together":Hm(c,!1,null,null,void 0);break;default:c.memoizedState=null}return c.child}function nf(i,c){(c.mode&1)===0&&i!==null&&(i.alternate=null,c.alternate=null,c.flags|=2)}function Ps(i,c,m){if(i!==null&&(c.dependencies=i.dependencies),ma|=c.lanes,(m&c.childLanes)===0)return null;if(i!==null&&c.child!==i.child)throw Error(n(153));if(c.child!==null){for(i=c.child,m=Si(i,i.pendingProps),c.child=m,m.return=c;i.sibling!==null;)i=i.sibling,m=m.sibling=Si(i,i.pendingProps),m.return=c;m.sibling=null}return c.child}function NI(i,c,m){switch(c.tag){case 3:U0(c),vc();break;case 5:i0(c);break;case 1:lo(c.type)&&Dd(c);break;case 4:xm(c,c.stateNode.containerInfo);break;case 10:var k=c.type._context,b=c.memoizedProps.value;Mn(Wd,k._currentValue),k._currentValue=b;break;case 13:if(k=c.memoizedState,k!==null)return k.dehydrated!==null?(Mn(Qn,Qn.current&1),c.flags|=128,null):(m&c.child.childLanes)!==0?W0(i,c,m):(Mn(Qn,Qn.current&1),i=Ps(i,c,m),i!==null?i.sibling:null);Mn(Qn,Qn.current&1);break;case 19:if(k=(m&c.childLanes)!==0,(i.flags&128)!==0){if(k)return q0(i,c,m);c.flags|=128}if(b=c.memoizedState,b!==null&&(b.rendering=null,b.tail=null,b.lastEffect=null),Mn(Qn,Qn.current),k)break;return null;case 22:case 23:return c.lanes=0,z0(i,c,m)}return Ps(i,c,m)}var Z0,Wm,G0,V0;Z0=function(i,c){for(var m=c.child;m!==null;){if(m.tag===5||m.tag===6)i.appendChild(m.stateNode);else if(m.tag!==4&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===c)break;for(;m.sibling===null;){if(m.return===null||m.return===c)return;m=m.return}m.sibling.return=m.return,m=m.sibling}},Wm=function(){},G0=function(i,c,m,k){var b=i.memoizedProps;if(b!==k){i=c.stateNode,ha(hs.current);var _=null;switch(m){case"input":b=Pe(i,b),k=Pe(i,k),_=[];break;case"select":b=F({},b,{value:void 0}),k=F({},k,{value:void 0}),_=[];break;case"textarea":b=Ze(i,b),k=Ze(i,k),_=[];break;default:typeof b.onClick!="function"&&typeof k.onClick=="function"&&(i.onclick=Md)}pt(m,k);var M;m=null;for(ke in b)if(!k.hasOwnProperty(ke)&&b.hasOwnProperty(ke)&&b[ke]!=null)if(ke==="style"){var Y=b[ke];for(M in Y)Y.hasOwnProperty(M)&&(m||(m={}),m[M]="")}else ke!=="dangerouslySetInnerHTML"&&ke!=="children"&&ke!=="suppressContentEditableWarning"&&ke!=="suppressHydrationWarning"&&ke!=="autoFocus"&&(o.hasOwnProperty(ke)?_||(_=[]):(_=_||[]).push(ke,null));for(ke in k){var se=k[ke];if(Y=b!=null?b[ke]:void 0,k.hasOwnProperty(ke)&&se!==Y&&(se!=null||Y!=null))if(ke==="style")if(Y){for(M in Y)!Y.hasOwnProperty(M)||se&&se.hasOwnProperty(M)||(m||(m={}),m[M]="");for(M in se)se.hasOwnProperty(M)&&Y[M]!==se[M]&&(m||(m={}),m[M]=se[M])}else m||(_||(_=[]),_.push(ke,m)),m=se;else ke==="dangerouslySetInnerHTML"?(se=se?se.__html:void 0,Y=Y?Y.__html:void 0,se!=null&&Y!==se&&(_=_||[]).push(ke,se)):ke==="children"?typeof se!="string"&&typeof se!="number"||(_=_||[]).push(ke,""+se):ke!=="suppressContentEditableWarning"&&ke!=="suppressHydrationWarning"&&(o.hasOwnProperty(ke)?(se!=null&&ke==="onScroll"&&Bn("scroll",i),_||Y===se||(_=[])):(_=_||[]).push(ke,se))}m&&(_=_||[]).push("style",m);var ke=_;(c.updateQueue=ke)&&(c.flags|=4)}},V0=function(i,c,m,k){m!==k&&(c.flags|=4)};function Gl(i,c){if(!Kn)switch(i.tailMode){case"hidden":c=i.tail;for(var m=null;c!==null;)c.alternate!==null&&(m=c),c=c.sibling;m===null?i.tail=null:m.sibling=null;break;case"collapsed":m=i.tail;for(var k=null;m!==null;)m.alternate!==null&&(k=m),m=m.sibling;k===null?c||i.tail===null?i.tail=null:i.tail.sibling=null:k.sibling=null}}function Br(i){var c=i.alternate!==null&&i.alternate.child===i.child,m=0,k=0;if(c)for(var b=i.child;b!==null;)m|=b.lanes|b.childLanes,k|=b.subtreeFlags&14680064,k|=b.flags&14680064,b.return=i,b=b.sibling;else for(b=i.child;b!==null;)m|=b.lanes|b.childLanes,k|=b.subtreeFlags,k|=b.flags,b.return=i,b=b.sibling;return i.subtreeFlags|=k,i.childLanes=m,c}function TI(i,c,m){var k=c.pendingProps;switch(fm(c),c.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Br(c),null;case 1:return lo(c.type)&&Pd(),Br(c),null;case 3:return k=c.stateNode,Sc(),Un(co),Un(zr),_m(),k.pendingContext&&(k.context=k.pendingContext,k.pendingContext=null),(i===null||i.child===null)&&(Ud(c)?c.flags|=4:i===null||i.memoizedState.isDehydrated&&(c.flags&256)===0||(c.flags|=1024,Go!==null&&(tg(Go),Go=null))),Wm(i,c),Br(c),null;case 5:Em(c);var b=ha(Hl.current);if(m=c.type,i!==null&&c.stateNode!=null)G0(i,c,m,k,b),i.ref!==c.ref&&(c.flags|=512,c.flags|=2097152);else{if(!k){if(c.stateNode===null)throw Error(n(166));return Br(c),null}if(i=ha(hs.current),Ud(c)){k=c.stateNode,m=c.type;var _=c.memoizedProps;switch(k[fs]=c,k[Dl]=_,i=(c.mode&1)!==0,m){case"dialog":Bn("cancel",k),Bn("close",k);break;case"iframe":case"object":case"embed":Bn("load",k);break;case"video":case"audio":for(b=0;b<Ml.length;b++)Bn(Ml[b],k);break;case"source":Bn("error",k);break;case"img":case"image":case"link":Bn("error",k),Bn("load",k);break;case"details":Bn("toggle",k);break;case"input":Re(k,_),Bn("invalid",k);break;case"select":k._wrapperState={wasMultiple:!!_.multiple},Bn("invalid",k);break;case"textarea":sn(k,_),Bn("invalid",k)}pt(m,_),b=null;for(var M in _)if(_.hasOwnProperty(M)){var Y=_[M];M==="children"?typeof Y=="string"?k.textContent!==Y&&(_.suppressHydrationWarning!==!0&&Od(k.textContent,Y,i),b=["children",Y]):typeof Y=="number"&&k.textContent!==""+Y&&(_.suppressHydrationWarning!==!0&&Od(k.textContent,Y,i),b=["children",""+Y]):o.hasOwnProperty(M)&&Y!=null&&M==="onScroll"&&Bn("scroll",k)}switch(m){case"input":X(k),at(k,_,!0);break;case"textarea":X(k),zt(k);break;case"select":case"option":break;default:typeof _.onClick=="function"&&(k.onclick=Md)}k=b,c.updateQueue=k,k!==null&&(c.flags|=4)}else{M=b.nodeType===9?b:b.ownerDocument,i==="http://www.w3.org/1999/xhtml"&&(i=Zt(m)),i==="http://www.w3.org/1999/xhtml"?m==="script"?(i=M.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild)):typeof k.is=="string"?i=M.createElement(m,{is:k.is}):(i=M.createElement(m),m==="select"&&(M=i,k.multiple?M.multiple=!0:k.size&&(M.size=k.size))):i=M.createElementNS(i,m),i[fs]=c,i[Dl]=k,Z0(i,c,!1,!1),c.stateNode=i;e:{switch(M=Ht(m,k),m){case"dialog":Bn("cancel",i),Bn("close",i),b=k;break;case"iframe":case"object":case"embed":Bn("load",i),b=k;break;case"video":case"audio":for(b=0;b<Ml.length;b++)Bn(Ml[b],i);b=k;break;case"source":Bn("error",i),b=k;break;case"img":case"image":case"link":Bn("error",i),Bn("load",i),b=k;break;case"details":Bn("toggle",i),b=k;break;case"input":Re(i,k),b=Pe(i,k),Bn("invalid",i);break;case"option":b=k;break;case"select":i._wrapperState={wasMultiple:!!k.multiple},b=F({},k,{value:void 0}),Bn("invalid",i);break;case"textarea":sn(i,k),b=Ze(i,k),Bn("invalid",i);break;default:b=k}pt(m,b),Y=b;for(_ in Y)if(Y.hasOwnProperty(_)){var se=Y[_];_==="style"?In(i,se):_==="dangerouslySetInnerHTML"?(se=se?se.__html:void 0,se!=null&&vn(i,se)):_==="children"?typeof se=="string"?(m!=="textarea"||se!=="")&&xt(i,se):typeof se=="number"&&xt(i,""+se):_!=="suppressContentEditableWarning"&&_!=="suppressHydrationWarning"&&_!=="autoFocus"&&(o.hasOwnProperty(_)?se!=null&&_==="onScroll"&&Bn("scroll",i):se!=null&&T(i,_,se,M))}switch(m){case"input":X(i),at(i,k,!1);break;case"textarea":X(i),zt(i);break;case"option":k.value!=null&&i.setAttribute("value",""+Ne(k.value));break;case"select":i.multiple=!!k.multiple,_=k.value,_!=null?ft(i,!!k.multiple,_,!1):k.defaultValue!=null&&ft(i,!!k.multiple,k.defaultValue,!0);break;default:typeof b.onClick=="function"&&(i.onclick=Md)}switch(m){case"button":case"input":case"select":case"textarea":k=!!k.autoFocus;break e;case"img":k=!0;break e;default:k=!1}}k&&(c.flags|=4)}c.ref!==null&&(c.flags|=512,c.flags|=2097152)}return Br(c),null;case 6:if(i&&c.stateNode!=null)V0(i,c,i.memoizedProps,k);else{if(typeof k!="string"&&c.stateNode===null)throw Error(n(166));if(m=ha(Hl.current),ha(hs.current),Ud(c)){if(k=c.stateNode,m=c.memoizedProps,k[fs]=c,(_=k.nodeValue!==m)&&(i=Eo,i!==null))switch(i.tag){case 3:Od(k.nodeValue,m,(i.mode&1)!==0);break;case 5:i.memoizedProps.suppressHydrationWarning!==!0&&Od(k.nodeValue,m,(i.mode&1)!==0)}_&&(c.flags|=4)}else k=(m.nodeType===9?m:m.ownerDocument).createTextNode(k),k[fs]=c,c.stateNode=k}return Br(c),null;case 13:if(Un(Qn),k=c.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(Kn&&So!==null&&(c.mode&1)!==0&&(c.flags&128)===0)Qv(),vc(),c.flags|=98560,_=!1;else if(_=Ud(c),k!==null&&k.dehydrated!==null){if(i===null){if(!_)throw Error(n(318));if(_=c.memoizedState,_=_!==null?_.dehydrated:null,!_)throw Error(n(317));_[fs]=c}else vc(),(c.flags&128)===0&&(c.memoizedState=null),c.flags|=4;Br(c),_=!1}else Go!==null&&(tg(Go),Go=null),_=!0;if(!_)return c.flags&65536?c:null}return(c.flags&128)!==0?(c.lanes=m,c):(k=k!==null,k!==(i!==null&&i.memoizedState!==null)&&k&&(c.child.flags|=8192,(c.mode&1)!==0&&(i===null||(Qn.current&1)!==0?br===0&&(br=3):og())),c.updateQueue!==null&&(c.flags|=4),Br(c),null);case 4:return Sc(),Wm(i,c),i===null&&Ll(c.stateNode.containerInfo),Br(c),null;case 10:return wm(c.type._context),Br(c),null;case 17:return lo(c.type)&&Pd(),Br(c),null;case 19:if(Un(Qn),_=c.memoizedState,_===null)return Br(c),null;if(k=(c.flags&128)!==0,M=_.rendering,M===null)if(k)Gl(_,!1);else{if(br!==0||i!==null&&(i.flags&128)!==0)for(i=c.child;i!==null;){if(M=Gd(i),M!==null){for(c.flags|=128,Gl(_,!1),k=M.updateQueue,k!==null&&(c.updateQueue=k,c.flags|=4),c.subtreeFlags=0,k=m,m=c.child;m!==null;)_=m,i=k,_.flags&=14680066,M=_.alternate,M===null?(_.childLanes=0,_.lanes=i,_.child=null,_.subtreeFlags=0,_.memoizedProps=null,_.memoizedState=null,_.updateQueue=null,_.dependencies=null,_.stateNode=null):(_.childLanes=M.childLanes,_.lanes=M.lanes,_.child=M.child,_.subtreeFlags=0,_.deletions=null,_.memoizedProps=M.memoizedProps,_.memoizedState=M.memoizedState,_.updateQueue=M.updateQueue,_.type=M.type,i=M.dependencies,_.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext}),m=m.sibling;return Mn(Qn,Qn.current&1|2),c.child}i=i.sibling}_.tail!==null&&Qt()>jc&&(c.flags|=128,k=!0,Gl(_,!1),c.lanes=4194304)}else{if(!k)if(i=Gd(M),i!==null){if(c.flags|=128,k=!0,m=i.updateQueue,m!==null&&(c.updateQueue=m,c.flags|=4),Gl(_,!0),_.tail===null&&_.tailMode==="hidden"&&!M.alternate&&!Kn)return Br(c),null}else 2*Qt()-_.renderingStartTime>jc&&m!==1073741824&&(c.flags|=128,k=!0,Gl(_,!1),c.lanes=4194304);_.isBackwards?(M.sibling=c.child,c.child=M):(m=_.last,m!==null?m.sibling=M:c.child=M,_.last=M)}return _.tail!==null?(c=_.tail,_.rendering=c,_.tail=c.sibling,_.renderingStartTime=Qt(),c.sibling=null,m=Qn.current,Mn(Qn,k?m&1|2:m&1),c):(Br(c),null);case 22:case 23:return rg(),k=c.memoizedState!==null,i!==null&&i.memoizedState!==null!==k&&(c.flags|=8192),k&&(c.mode&1)!==0?(_o&1073741824)!==0&&(Br(c),c.subtreeFlags&6&&(c.flags|=8192)):Br(c),null;case 24:return null;case 25:return null}throw Error(n(156,c.tag))}function jI(i,c){switch(fm(c),c.tag){case 1:return lo(c.type)&&Pd(),i=c.flags,i&65536?(c.flags=i&-65537|128,c):null;case 3:return Sc(),Un(co),Un(zr),_m(),i=c.flags,(i&65536)!==0&&(i&128)===0?(c.flags=i&-65537|128,c):null;case 5:return Em(c),null;case 13:if(Un(Qn),i=c.memoizedState,i!==null&&i.dehydrated!==null){if(c.alternate===null)throw Error(n(340));vc()}return i=c.flags,i&65536?(c.flags=i&-65537|128,c):null;case 19:return Un(Qn),null;case 4:return Sc(),null;case 10:return wm(c.type._context),null;case 22:case 23:return rg(),null;case 24:return null;default:return null}}var rf=!1,Ur=!1,$I=typeof WeakSet=="function"?WeakSet:Set,Je=null;function Nc(i,c){var m=i.ref;if(m!==null)if(typeof m=="function")try{m(null)}catch(k){ar(i,c,k)}else m.current=null}function Km(i,c,m){try{m()}catch(k){ar(i,c,k)}}var Y0=!1;function AI(i,c){if(rm=ec,i=Il(),lc(i)){if("selectionStart"in i)var m={start:i.selectionStart,end:i.selectionEnd};else e:{m=(m=i.ownerDocument)&&m.defaultView||window;var k=m.getSelection&&m.getSelection();if(k&&k.rangeCount!==0){m=k.anchorNode;var b=k.anchorOffset,_=k.focusNode;k=k.focusOffset;try{m.nodeType,_.nodeType}catch{m=null;break e}var M=0,Y=-1,se=-1,ke=0,Ae=0,Me=i,Te=null;t:for(;;){for(var Xe;Me!==m||b!==0&&Me.nodeType!==3||(Y=M+b),Me!==_||k!==0&&Me.nodeType!==3||(se=M+k),Me.nodeType===3&&(M+=Me.nodeValue.length),(Xe=Me.firstChild)!==null;)Te=Me,Me=Xe;for(;;){if(Me===i)break t;if(Te===m&&++ke===b&&(Y=M),Te===_&&++Ae===k&&(se=M),(Xe=Me.nextSibling)!==null)break;Me=Te,Te=Me.parentNode}Me=Xe}m=Y===-1||se===-1?null:{start:Y,end:se}}else m=null}m=m||{start:0,end:0}}else m=null;for(om={focusedElem:i,selectionRange:m},ec=!1,Je=c;Je!==null;)if(c=Je,i=c.child,(c.subtreeFlags&1028)!==0&&i!==null)i.return=c,Je=i;else for(;Je!==null;){c=Je;try{var rt=c.alternate;if((c.flags&1024)!==0)switch(c.tag){case 0:case 11:case 15:break;case 1:if(rt!==null){var it=rt.memoizedProps,fr=rt.memoizedState,pe=c.stateNode,ce=pe.getSnapshotBeforeUpdate(c.elementType===c.type?it:Vo(c.type,it),fr);pe.__reactInternalSnapshotBeforeUpdate=ce}break;case 3:var me=c.stateNode.containerInfo;me.nodeType===1?me.textContent="":me.nodeType===9&&me.documentElement&&me.removeChild(me.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(n(163))}}catch(Ue){ar(c,c.return,Ue)}if(i=c.sibling,i!==null){i.return=c.return,Je=i;break}Je=c.return}return rt=Y0,Y0=!1,rt}function Vl(i,c,m){var k=c.updateQueue;if(k=k!==null?k.lastEffect:null,k!==null){var b=k=k.next;do{if((b.tag&i)===i){var _=b.destroy;b.destroy=void 0,_!==void 0&&Km(c,m,_)}b=b.next}while(b!==k)}}function of(i,c){if(c=c.updateQueue,c=c!==null?c.lastEffect:null,c!==null){var m=c=c.next;do{if((m.tag&i)===i){var k=m.create;m.destroy=k()}m=m.next}while(m!==c)}}function qm(i){var c=i.ref;if(c!==null){var m=i.stateNode;switch(i.tag){case 5:i=m;break;default:i=m}typeof c=="function"?c(i):c.current=i}}function X0(i){var c=i.alternate;c!==null&&(i.alternate=null,X0(c)),i.child=null,i.deletions=null,i.sibling=null,i.tag===5&&(c=i.stateNode,c!==null&&(delete c[fs],delete c[Dl],delete c[cm],delete c[fI],delete c[hI])),i.stateNode=null,i.return=null,i.dependencies=null,i.memoizedProps=null,i.memoizedState=null,i.pendingProps=null,i.stateNode=null,i.updateQueue=null}function Q0(i){return i.tag===5||i.tag===3||i.tag===4}function J0(i){e:for(;;){for(;i.sibling===null;){if(i.return===null||Q0(i.return))return null;i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.flags&2||i.child===null||i.tag===4)continue e;i.child.return=i,i=i.child}if(!(i.flags&2))return i.stateNode}}function Zm(i,c,m){var k=i.tag;if(k===5||k===6)i=i.stateNode,c?m.nodeType===8?m.parentNode.insertBefore(i,c):m.insertBefore(i,c):(m.nodeType===8?(c=m.parentNode,c.insertBefore(i,m)):(c=m,c.appendChild(i)),m=m._reactRootContainer,m!=null||c.onclick!==null||(c.onclick=Md));else if(k!==4&&(i=i.child,i!==null))for(Zm(i,c,m),i=i.sibling;i!==null;)Zm(i,c,m),i=i.sibling}function Gm(i,c,m){var k=i.tag;if(k===5||k===6)i=i.stateNode,c?m.insertBefore(i,c):m.appendChild(i);else if(k!==4&&(i=i.child,i!==null))for(Gm(i,c,m),i=i.sibling;i!==null;)Gm(i,c,m),i=i.sibling}var Ir=null,Yo=!1;function yi(i,c,m){for(m=m.child;m!==null;)eb(i,c,m),m=m.sibling}function eb(i,c,m){if(jt&&typeof jt.onCommitFiberUnmount=="function")try{jt.onCommitFiberUnmount(bt,m)}catch{}switch(m.tag){case 5:Ur||Nc(m,c);case 6:var k=Ir,b=Yo;Ir=null,yi(i,c,m),Ir=k,Yo=b,Ir!==null&&(Yo?(i=Ir,m=m.stateNode,i.nodeType===8?i.parentNode.removeChild(m):i.removeChild(m)):Ir.removeChild(m.stateNode));break;case 18:Ir!==null&&(Yo?(i=Ir,m=m.stateNode,i.nodeType===8?am(i.parentNode,m):i.nodeType===1&&am(i,m),ni(i)):am(Ir,m.stateNode));break;case 4:k=Ir,b=Yo,Ir=m.stateNode.containerInfo,Yo=!0,yi(i,c,m),Ir=k,Yo=b;break;case 0:case 11:case 14:case 15:if(!Ur&&(k=m.updateQueue,k!==null&&(k=k.lastEffect,k!==null))){b=k=k.next;do{var _=b,M=_.destroy;_=_.tag,M!==void 0&&((_&2)!==0||(_&4)!==0)&&Km(m,c,M),b=b.next}while(b!==k)}yi(i,c,m);break;case 1:if(!Ur&&(Nc(m,c),k=m.stateNode,typeof k.componentWillUnmount=="function"))try{k.props=m.memoizedProps,k.state=m.memoizedState,k.componentWillUnmount()}catch(Y){ar(m,c,Y)}yi(i,c,m);break;case 21:yi(i,c,m);break;case 22:m.mode&1?(Ur=(k=Ur)||m.memoizedState!==null,yi(i,c,m),Ur=k):yi(i,c,m);break;default:yi(i,c,m)}}function tb(i){var c=i.updateQueue;if(c!==null){i.updateQueue=null;var m=i.stateNode;m===null&&(m=i.stateNode=new $I),c.forEach(function(k){var b=zI.bind(null,i,k);m.has(k)||(m.add(k),k.then(b,b))})}}function Xo(i,c){var m=c.deletions;if(m!==null)for(var k=0;k<m.length;k++){var b=m[k];try{var _=i,M=c,Y=M;e:for(;Y!==null;){switch(Y.tag){case 5:Ir=Y.stateNode,Yo=!1;break e;case 3:Ir=Y.stateNode.containerInfo,Yo=!0;break e;case 4:Ir=Y.stateNode.containerInfo,Yo=!0;break e}Y=Y.return}if(Ir===null)throw Error(n(160));eb(_,M,b),Ir=null,Yo=!1;var se=b.alternate;se!==null&&(se.return=null),b.return=null}catch(ke){ar(b,c,ke)}}if(c.subtreeFlags&12854)for(c=c.child;c!==null;)nb(c,i),c=c.sibling}function nb(i,c){var m=i.alternate,k=i.flags;switch(i.tag){case 0:case 11:case 14:case 15:if(Xo(c,i),ms(i),k&4){try{Vl(3,i,i.return),of(3,i)}catch(it){ar(i,i.return,it)}try{Vl(5,i,i.return)}catch(it){ar(i,i.return,it)}}break;case 1:Xo(c,i),ms(i),k&512&&m!==null&&Nc(m,m.return);break;case 5:if(Xo(c,i),ms(i),k&512&&m!==null&&Nc(m,m.return),i.flags&32){var b=i.stateNode;try{xt(b,"")}catch(it){ar(i,i.return,it)}}if(k&4&&(b=i.stateNode,b!=null)){var _=i.memoizedProps,M=m!==null?m.memoizedProps:_,Y=i.type,se=i.updateQueue;if(i.updateQueue=null,se!==null)try{Y==="input"&&_.type==="radio"&&_.name!=null&&Ke(b,_),Ht(Y,M);var ke=Ht(Y,_);for(M=0;M<se.length;M+=2){var Ae=se[M],Me=se[M+1];Ae==="style"?In(b,Me):Ae==="dangerouslySetInnerHTML"?vn(b,Me):Ae==="children"?xt(b,Me):T(b,Ae,Me,ke)}switch(Y){case"input":tt(b,_);break;case"textarea":Ut(b,_);break;case"select":var Te=b._wrapperState.wasMultiple;b._wrapperState.wasMultiple=!!_.multiple;var Xe=_.value;Xe!=null?ft(b,!!_.multiple,Xe,!1):Te!==!!_.multiple&&(_.defaultValue!=null?ft(b,!!_.multiple,_.defaultValue,!0):ft(b,!!_.multiple,_.multiple?[]:"",!1))}b[Dl]=_}catch(it){ar(i,i.return,it)}}break;case 6:if(Xo(c,i),ms(i),k&4){if(i.stateNode===null)throw Error(n(162));b=i.stateNode,_=i.memoizedProps;try{b.nodeValue=_}catch(it){ar(i,i.return,it)}}break;case 3:if(Xo(c,i),ms(i),k&4&&m!==null&&m.memoizedState.isDehydrated)try{ni(c.containerInfo)}catch(it){ar(i,i.return,it)}break;case 4:Xo(c,i),ms(i);break;case 13:Xo(c,i),ms(i),b=i.child,b.flags&8192&&(_=b.memoizedState!==null,b.stateNode.isHidden=_,!_||b.alternate!==null&&b.alternate.memoizedState!==null||(Xm=Qt())),k&4&&tb(i);break;case 22:if(Ae=m!==null&&m.memoizedState!==null,i.mode&1?(Ur=(ke=Ur)||Ae,Xo(c,i),Ur=ke):Xo(c,i),ms(i),k&8192){if(ke=i.memoizedState!==null,(i.stateNode.isHidden=ke)&&!Ae&&(i.mode&1)!==0)for(Je=i,Ae=i.child;Ae!==null;){for(Me=Je=Ae;Je!==null;){switch(Te=Je,Xe=Te.child,Te.tag){case 0:case 11:case 14:case 15:Vl(4,Te,Te.return);break;case 1:Nc(Te,Te.return);var rt=Te.stateNode;if(typeof rt.componentWillUnmount=="function"){k=Te,m=Te.return;try{c=k,rt.props=c.memoizedProps,rt.state=c.memoizedState,rt.componentWillUnmount()}catch(it){ar(k,m,it)}}break;case 5:Nc(Te,Te.return);break;case 22:if(Te.memoizedState!==null){sb(Me);continue}}Xe!==null?(Xe.return=Te,Je=Xe):sb(Me)}Ae=Ae.sibling}e:for(Ae=null,Me=i;;){if(Me.tag===5){if(Ae===null){Ae=Me;try{b=Me.stateNode,ke?(_=b.style,typeof _.setProperty=="function"?_.setProperty("display","none","important"):_.display="none"):(Y=Me.stateNode,se=Me.memoizedProps.style,M=se!=null&&se.hasOwnProperty("display")?se.display:null,Y.style.display=pn("display",M))}catch(it){ar(i,i.return,it)}}}else if(Me.tag===6){if(Ae===null)try{Me.stateNode.nodeValue=ke?"":Me.memoizedProps}catch(it){ar(i,i.return,it)}}else if((Me.tag!==22&&Me.tag!==23||Me.memoizedState===null||Me===i)&&Me.child!==null){Me.child.return=Me,Me=Me.child;continue}if(Me===i)break e;for(;Me.sibling===null;){if(Me.return===null||Me.return===i)break e;Ae===Me&&(Ae=null),Me=Me.return}Ae===Me&&(Ae=null),Me.sibling.return=Me.return,Me=Me.sibling}}break;case 19:Xo(c,i),ms(i),k&4&&tb(i);break;case 21:break;default:Xo(c,i),ms(i)}}function ms(i){var c=i.flags;if(c&2){try{e:{for(var m=i.return;m!==null;){if(Q0(m)){var k=m;break e}m=m.return}throw Error(n(160))}switch(k.tag){case 5:var b=k.stateNode;k.flags&32&&(xt(b,""),k.flags&=-33);var _=J0(i);Gm(i,_,b);break;case 3:case 4:var M=k.stateNode.containerInfo,Y=J0(i);Zm(i,Y,M);break;default:throw Error(n(161))}}catch(se){ar(i,i.return,se)}i.flags&=-3}c&4096&&(i.flags&=-4097)}function CI(i,c,m){Je=i,rb(i)}function rb(i,c,m){for(var k=(i.mode&1)!==0;Je!==null;){var b=Je,_=b.child;if(b.tag===22&&k){var M=b.memoizedState!==null||rf;if(!M){var Y=b.alternate,se=Y!==null&&Y.memoizedState!==null||Ur;Y=rf;var ke=Ur;if(rf=M,(Ur=se)&&!ke)for(Je=b;Je!==null;)M=Je,se=M.child,M.tag===22&&M.memoizedState!==null?ib(b):se!==null?(se.return=M,Je=se):ib(b);for(;_!==null;)Je=_,rb(_),_=_.sibling;Je=b,rf=Y,Ur=ke}ob(i)}else(b.subtreeFlags&8772)!==0&&_!==null?(_.return=b,Je=_):ob(i)}}function ob(i){for(;Je!==null;){var c=Je;if((c.flags&8772)!==0){var m=c.alternate;try{if((c.flags&8772)!==0)switch(c.tag){case 0:case 11:case 15:Ur||of(5,c);break;case 1:var k=c.stateNode;if(c.flags&4&&!Ur)if(m===null)k.componentDidMount();else{var b=c.elementType===c.type?m.memoizedProps:Vo(c.type,m.memoizedProps);k.componentDidUpdate(b,m.memoizedState,k.__reactInternalSnapshotBeforeUpdate)}var _=c.updateQueue;_!==null&&s0(c,_,k);break;case 3:var M=c.updateQueue;if(M!==null){if(m=null,c.child!==null)switch(c.child.tag){case 5:m=c.child.stateNode;break;case 1:m=c.child.stateNode}s0(c,M,m)}break;case 5:var Y=c.stateNode;if(m===null&&c.flags&4){m=Y;var se=c.memoizedProps;switch(c.type){case"button":case"input":case"select":case"textarea":se.autoFocus&&m.focus();break;case"img":se.src&&(m.src=se.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(c.memoizedState===null){var ke=c.alternate;if(ke!==null){var Ae=ke.memoizedState;if(Ae!==null){var Me=Ae.dehydrated;Me!==null&&ni(Me)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(n(163))}Ur||c.flags&512&&qm(c)}catch(Te){ar(c,c.return,Te)}}if(c===i){Je=null;break}if(m=c.sibling,m!==null){m.return=c.return,Je=m;break}Je=c.return}}function sb(i){for(;Je!==null;){var c=Je;if(c===i){Je=null;break}var m=c.sibling;if(m!==null){m.return=c.return,Je=m;break}Je=c.return}}function ib(i){for(;Je!==null;){var c=Je;try{switch(c.tag){case 0:case 11:case 15:var m=c.return;try{of(4,c)}catch(se){ar(c,m,se)}break;case 1:var k=c.stateNode;if(typeof k.componentDidMount=="function"){var b=c.return;try{k.componentDidMount()}catch(se){ar(c,b,se)}}var _=c.return;try{qm(c)}catch(se){ar(c,_,se)}break;case 5:var M=c.return;try{qm(c)}catch(se){ar(c,M,se)}}}catch(se){ar(c,c.return,se)}if(c===i){Je=null;break}var Y=c.sibling;if(Y!==null){Y.return=c.return,Je=Y;break}Je=c.return}}var II=Math.ceil,sf=j.ReactCurrentDispatcher,Vm=j.ReactCurrentOwner,Po=j.ReactCurrentBatchConfig,dn=0,Nr=null,mr=null,Rr=0,_o=0,Tc=pi(0),br=0,Yl=null,ma=0,af=0,Ym=0,Xl=null,fo=null,Xm=0,jc=1/0,Ds=null,cf=!1,Qm=null,vi=null,lf=!1,bi=null,uf=0,Ql=0,Jm=null,df=-1,ff=0;function Jr(){return(dn&6)!==0?Qt():df!==-1?df:df=Qt()}function xi(i){return(i.mode&1)===0?1:(dn&2)!==0&&Rr!==0?Rr&-Rr:mI.transition!==null?(ff===0&&(ff=qo()),ff):(i=fe,i!==0||(i=window.event,i=i===void 0?16:gl(i.type)),i)}function Qo(i,c,m,k){if(50<Ql)throw Ql=0,Jm=null,Error(n(185));Hn(i,m,k),((dn&2)===0||i!==Nr)&&(i===Nr&&((dn&2)===0&&(af|=m),br===4&&Ei(i,Rr)),ho(i,k),m===1&&dn===0&&(c.mode&1)===0&&(jc=Qt()+500,zd&&gi()))}function ho(i,c){var m=i.callbackNode;Vr(i,c);var k=Sr(i,i===Nr?Rr:0);if(k===0)m!==null&&Ye(m),i.callbackNode=null,i.callbackPriority=0;else if(c=k&-k,i.callbackPriority!==c){if(m!=null&&Ye(m),c===1)i.tag===0?pI(cb.bind(null,i)):Zv(cb.bind(null,i)),uI(function(){(dn&6)===0&&gi()}),m=null;else{switch(Se(k)){case 1:m=ur;break;case 4:m=jn;break;case 16:m=vt;break;case 536870912:m=xe;break;default:m=vt}m=gb(m,ab.bind(null,i))}i.callbackPriority=c,i.callbackNode=m}}function ab(i,c){if(df=-1,ff=0,(dn&6)!==0)throw Error(n(327));var m=i.callbackNode;if($c()&&i.callbackNode!==m)return null;var k=Sr(i,i===Nr?Rr:0);if(k===0)return null;if((k&30)!==0||(k&i.expiredLanes)!==0||c)c=hf(i,k);else{c=k;var b=dn;dn|=2;var _=ub();(Nr!==i||Rr!==c)&&(Ds=null,jc=Qt()+500,ka(i,c));do try{MI();break}catch(Y){lb(i,Y)}while(!0);km(),sf.current=_,dn=b,mr!==null?c=0:(Nr=null,Rr=0,c=br)}if(c!==0){if(c===2&&(b=so(i),b!==0&&(k=b,c=eg(i,b))),c===1)throw m=Yl,ka(i,0),Ei(i,k),ho(i,Qt()),m;if(c===6)Ei(i,k);else{if(b=i.current.alternate,(k&30)===0&&!RI(b)&&(c=hf(i,k),c===2&&(_=so(i),_!==0&&(k=_,c=eg(i,_))),c===1))throw m=Yl,ka(i,0),Ei(i,k),ho(i,Qt()),m;switch(i.finishedWork=b,i.finishedLanes=k,c){case 0:case 1:throw Error(n(345));case 2:wa(i,fo,Ds);break;case 3:if(Ei(i,k),(k&130023424)===k&&(c=Xm+500-Qt(),10<c)){if(Sr(i,0)!==0)break;if(b=i.suspendedLanes,(b&k)!==k){Jr(),i.pingedLanes|=i.suspendedLanes&b;break}i.timeoutHandle=im(wa.bind(null,i,fo,Ds),c);break}wa(i,fo,Ds);break;case 4:if(Ei(i,k),(k&4194240)===k)break;for(c=i.eventTimes,b=-1;0<k;){var M=31-Gt(k);_=1<<M,M=c[M],M>b&&(b=M),k&=~_}if(k=b,k=Qt()-k,k=(120>k?120:480>k?480:1080>k?1080:1920>k?1920:3e3>k?3e3:4320>k?4320:1960*II(k/1960))-k,10<k){i.timeoutHandle=im(wa.bind(null,i,fo,Ds),k);break}wa(i,fo,Ds);break;case 5:wa(i,fo,Ds);break;default:throw Error(n(329))}}}return ho(i,Qt()),i.callbackNode===m?ab.bind(null,i):null}function eg(i,c){var m=Xl;return i.current.memoizedState.isDehydrated&&(ka(i,c).flags|=256),i=hf(i,c),i!==2&&(c=fo,fo=m,c!==null&&tg(c)),i}function tg(i){fo===null?fo=i:fo.push.apply(fo,i)}function RI(i){for(var c=i;;){if(c.flags&16384){var m=c.updateQueue;if(m!==null&&(m=m.stores,m!==null))for(var k=0;k<m.length;k++){var b=m[k],_=b.getSnapshot;b=b.value;try{if(!Xr(_(),b))return!1}catch{return!1}}}if(m=c.child,c.subtreeFlags&16384&&m!==null)m.return=c,c=m;else{if(c===i)break;for(;c.sibling===null;){if(c.return===null||c.return===i)return!0;c=c.return}c.sibling.return=c.return,c=c.sibling}}return!0}function Ei(i,c){for(c&=~Ym,c&=~af,i.suspendedLanes|=c,i.pingedLanes&=~c,i=i.expirationTimes;0<c;){var m=31-Gt(c),k=1<<m;i[m]=-1,c&=~k}}function cb(i){if((dn&6)!==0)throw Error(n(327));$c();var c=Sr(i,0);if((c&1)===0)return ho(i,Qt()),null;var m=hf(i,c);if(i.tag!==0&&m===2){var k=so(i);k!==0&&(c=k,m=eg(i,k))}if(m===1)throw m=Yl,ka(i,0),Ei(i,c),ho(i,Qt()),m;if(m===6)throw Error(n(345));return i.finishedWork=i.current.alternate,i.finishedLanes=c,wa(i,fo,Ds),ho(i,Qt()),null}function ng(i,c){var m=dn;dn|=1;try{return i(c)}finally{dn=m,dn===0&&(jc=Qt()+500,zd&&gi())}}function ga(i){bi!==null&&bi.tag===0&&(dn&6)===0&&$c();var c=dn;dn|=1;var m=Po.transition,k=fe;try{if(Po.transition=null,fe=1,i)return i()}finally{fe=k,Po.transition=m,dn=c,(dn&6)===0&&gi()}}function rg(){_o=Tc.current,Un(Tc)}function ka(i,c){i.finishedWork=null,i.finishedLanes=0;var m=i.timeoutHandle;if(m!==-1&&(i.timeoutHandle=-1,lI(m)),mr!==null)for(m=mr.return;m!==null;){var k=m;switch(fm(k),k.tag){case 1:k=k.type.childContextTypes,k!=null&&Pd();break;case 3:Sc(),Un(co),Un(zr),_m();break;case 5:Em(k);break;case 4:Sc();break;case 13:Un(Qn);break;case 19:Un(Qn);break;case 10:wm(k.type._context);break;case 22:case 23:rg()}m=m.return}if(Nr=i,mr=i=Si(i.current,null),Rr=_o=c,br=0,Yl=null,Ym=af=ma=0,fo=Xl=null,fa!==null){for(c=0;c<fa.length;c++)if(m=fa[c],k=m.interleaved,k!==null){m.interleaved=null;var b=k.next,_=m.pending;if(_!==null){var M=_.next;_.next=b,k.next=M}m.pending=k}fa=null}return i}function lb(i,c){do{var m=mr;try{if(km(),Vd.current=Jd,Yd){for(var k=Jn.memoizedState;k!==null;){var b=k.queue;b!==null&&(b.pending=null),k=k.next}Yd=!1}if(pa=0,_r=vr=Jn=null,Wl=!1,Kl=0,Vm.current=null,m===null||m.return===null){br=1,Yl=c,mr=null;break}e:{var _=i,M=m.return,Y=m,se=c;if(c=Rr,Y.flags|=32768,se!==null&&typeof se=="object"&&typeof se.then=="function"){var ke=se,Ae=Y,Me=Ae.tag;if((Ae.mode&1)===0&&(Me===0||Me===11||Me===15)){var Te=Ae.alternate;Te?(Ae.updateQueue=Te.updateQueue,Ae.memoizedState=Te.memoizedState,Ae.lanes=Te.lanes):(Ae.updateQueue=null,Ae.memoizedState=null)}var Xe=O0(M);if(Xe!==null){Xe.flags&=-257,M0(Xe,M,Y,_,c),Xe.mode&1&&R0(_,ke,c),c=Xe,se=ke;var rt=c.updateQueue;if(rt===null){var it=new Set;it.add(se),c.updateQueue=it}else rt.add(se);break e}else{if((c&1)===0){R0(_,ke,c),og();break e}se=Error(n(426))}}else if(Kn&&Y.mode&1){var fr=O0(M);if(fr!==null){(fr.flags&65536)===0&&(fr.flags|=256),M0(fr,M,Y,_,c),mm(_c(se,Y));break e}}_=se=_c(se,Y),br!==4&&(br=2),Xl===null?Xl=[_]:Xl.push(_),_=M;do{switch(_.tag){case 3:_.flags|=65536,c&=-c,_.lanes|=c;var pe=C0(_,se,c);o0(_,pe);break e;case 1:Y=se;var ce=_.type,me=_.stateNode;if((_.flags&128)===0&&(typeof ce.getDerivedStateFromError=="function"||me!==null&&typeof me.componentDidCatch=="function"&&(vi===null||!vi.has(me)))){_.flags|=65536,c&=-c,_.lanes|=c;var Ue=I0(_,Y,c);o0(_,Ue);break e}}_=_.return}while(_!==null)}fb(m)}catch(gt){c=gt,mr===m&&m!==null&&(mr=m=m.return);continue}break}while(!0)}function ub(){var i=sf.current;return sf.current=Jd,i===null?Jd:i}function og(){(br===0||br===3||br===2)&&(br=4),Nr===null||(ma&268435455)===0&&(af&268435455)===0||Ei(Nr,Rr)}function hf(i,c){var m=dn;dn|=2;var k=ub();(Nr!==i||Rr!==c)&&(Ds=null,ka(i,c));do try{OI();break}catch(b){lb(i,b)}while(!0);if(km(),dn=m,sf.current=k,mr!==null)throw Error(n(261));return Nr=null,Rr=0,br}function OI(){for(;mr!==null;)db(mr)}function MI(){for(;mr!==null&&!Lt();)db(mr)}function db(i){var c=mb(i.alternate,i,_o);i.memoizedProps=i.pendingProps,c===null?fb(i):mr=c,Vm.current=null}function fb(i){var c=i;do{var m=c.alternate;if(i=c.return,(c.flags&32768)===0){if(m=TI(m,c,_o),m!==null){mr=m;return}}else{if(m=jI(m,c),m!==null){m.flags&=32767,mr=m;return}if(i!==null)i.flags|=32768,i.subtreeFlags=0,i.deletions=null;else{br=6,mr=null;return}}if(c=c.sibling,c!==null){mr=c;return}mr=c=i}while(c!==null);br===0&&(br=5)}function wa(i,c,m){var k=fe,b=Po.transition;try{Po.transition=null,fe=1,LI(i,c,m,k)}finally{Po.transition=b,fe=k}return null}function LI(i,c,m,k){do $c();while(bi!==null);if((dn&6)!==0)throw Error(n(327));m=i.finishedWork;var b=i.finishedLanes;if(m===null)return null;if(i.finishedWork=null,i.finishedLanes=0,m===i.current)throw Error(n(177));i.callbackNode=null,i.callbackPriority=0;var _=m.lanes|m.childLanes;if(xn(i,_),i===Nr&&(mr=Nr=null,Rr=0),(m.subtreeFlags&2064)===0&&(m.flags&2064)===0||lf||(lf=!0,gb(vt,function(){return $c(),null})),_=(m.flags&15990)!==0,(m.subtreeFlags&15990)!==0||_){_=Po.transition,Po.transition=null;var M=fe;fe=1;var Y=dn;dn|=4,Vm.current=null,AI(i,m),nb(m,i),Ad(om),ec=!!rm,om=rm=null,i.current=m,CI(m),On(),dn=Y,fe=M,Po.transition=_}else i.current=m;if(lf&&(lf=!1,bi=i,uf=b),_=i.pendingLanes,_===0&&(vi=null),mn(m.stateNode),ho(i,Qt()),c!==null)for(k=i.onRecoverableError,m=0;m<c.length;m++)b=c[m],k(b.value,{componentStack:b.stack,digest:b.digest});if(cf)throw cf=!1,i=Qm,Qm=null,i;return(uf&1)!==0&&i.tag!==0&&$c(),_=i.pendingLanes,(_&1)!==0?i===Jm?Ql++:(Ql=0,Jm=i):Ql=0,gi(),null}function $c(){if(bi!==null){var i=Se(uf),c=Po.transition,m=fe;try{if(Po.transition=null,fe=16>i?16:i,bi===null)var k=!1;else{if(i=bi,bi=null,uf=0,(dn&6)!==0)throw Error(n(331));var b=dn;for(dn|=4,Je=i.current;Je!==null;){var _=Je,M=_.child;if((Je.flags&16)!==0){var Y=_.deletions;if(Y!==null){for(var se=0;se<Y.length;se++){var ke=Y[se];for(Je=ke;Je!==null;){var Ae=Je;switch(Ae.tag){case 0:case 11:case 15:Vl(8,Ae,_)}var Me=Ae.child;if(Me!==null)Me.return=Ae,Je=Me;else for(;Je!==null;){Ae=Je;var Te=Ae.sibling,Xe=Ae.return;if(X0(Ae),Ae===ke){Je=null;break}if(Te!==null){Te.return=Xe,Je=Te;break}Je=Xe}}}var rt=_.alternate;if(rt!==null){var it=rt.child;if(it!==null){rt.child=null;do{var fr=it.sibling;it.sibling=null,it=fr}while(it!==null)}}Je=_}}if((_.subtreeFlags&2064)!==0&&M!==null)M.return=_,Je=M;else e:for(;Je!==null;){if(_=Je,(_.flags&2048)!==0)switch(_.tag){case 0:case 11:case 15:Vl(9,_,_.return)}var pe=_.sibling;if(pe!==null){pe.return=_.return,Je=pe;break e}Je=_.return}}var ce=i.current;for(Je=ce;Je!==null;){M=Je;var me=M.child;if((M.subtreeFlags&2064)!==0&&me!==null)me.return=M,Je=me;else e:for(M=ce;Je!==null;){if(Y=Je,(Y.flags&2048)!==0)try{switch(Y.tag){case 0:case 11:case 15:of(9,Y)}}catch(gt){ar(Y,Y.return,gt)}if(Y===M){Je=null;break e}var Ue=Y.sibling;if(Ue!==null){Ue.return=Y.return,Je=Ue;break e}Je=Y.return}}if(dn=b,gi(),jt&&typeof jt.onPostCommitFiberRoot=="function")try{jt.onPostCommitFiberRoot(bt,i)}catch{}k=!0}return k}finally{fe=m,Po.transition=c}}return!1}function hb(i,c,m){c=_c(m,c),c=C0(i,c,1),i=wi(i,c,1),c=Jr(),i!==null&&(Hn(i,1,c),ho(i,c))}function ar(i,c,m){if(i.tag===3)hb(i,i,m);else for(;c!==null;){if(c.tag===3){hb(c,i,m);break}else if(c.tag===1){var k=c.stateNode;if(typeof c.type.getDerivedStateFromError=="function"||typeof k.componentDidCatch=="function"&&(vi===null||!vi.has(k))){i=_c(m,i),i=I0(c,i,1),c=wi(c,i,1),i=Jr(),c!==null&&(Hn(c,1,i),ho(c,i));break}}c=c.return}}function PI(i,c,m){var k=i.pingCache;k!==null&&k.delete(c),c=Jr(),i.pingedLanes|=i.suspendedLanes&m,Nr===i&&(Rr&m)===m&&(br===4||br===3&&(Rr&130023424)===Rr&&500>Qt()-Xm?ka(i,0):Ym|=m),ho(i,c)}function pb(i,c){c===0&&((i.mode&1)===0?c=1:(c=zn,zn<<=1,(zn&130023424)===0&&(zn=4194304)));var m=Jr();i=Ms(i,c),i!==null&&(Hn(i,c,m),ho(i,m))}function DI(i){var c=i.memoizedState,m=0;c!==null&&(m=c.retryLane),pb(i,m)}function zI(i,c){var m=0;switch(i.tag){case 13:var k=i.stateNode,b=i.memoizedState;b!==null&&(m=b.retryLane);break;case 19:k=i.stateNode;break;default:throw Error(n(314))}k!==null&&k.delete(c),pb(i,m)}var mb;mb=function(i,c,m){if(i!==null)if(i.memoizedProps!==c.pendingProps||co.current)uo=!0;else{if((i.lanes&m)===0&&(c.flags&128)===0)return uo=!1,NI(i,c,m);uo=(i.flags&131072)!==0}else uo=!1,Kn&&(c.flags&1048576)!==0&&Gv(c,Bd,c.index);switch(c.lanes=0,c.tag){case 2:var k=c.type;nf(i,c),i=c.pendingProps;var b=kc(c,zr.current);Ec(c,m),b=jm(null,c,k,i,b,m);var _=$m();return c.flags|=1,typeof b=="object"&&b!==null&&typeof b.render=="function"&&b.$$typeof===void 0?(c.tag=1,c.memoizedState=null,c.updateQueue=null,lo(k)?(_=!0,Dd(c)):_=!1,c.memoizedState=b.state!==null&&b.state!==void 0?b.state:null,bm(c),b.updater=ef,c.stateNode=b,b._reactInternals=c,Mm(c,k,i,m),c=zm(null,c,k,!0,_,m)):(c.tag=0,Kn&&_&&dm(c),Qr(null,c,b,m),c=c.child),c;case 16:k=c.elementType;e:{switch(nf(i,c),i=c.pendingProps,b=k._init,k=b(k._payload),c.type=k,b=c.tag=BI(k),i=Vo(k,i),b){case 0:c=Dm(null,c,k,i,m);break e;case 1:c=B0(null,c,k,i,m);break e;case 11:c=L0(null,c,k,i,m);break e;case 14:c=P0(null,c,k,Vo(k.type,i),m);break e}throw Error(n(306,k,""))}return c;case 0:return k=c.type,b=c.pendingProps,b=c.elementType===k?b:Vo(k,b),Dm(i,c,k,b,m);case 1:return k=c.type,b=c.pendingProps,b=c.elementType===k?b:Vo(k,b),B0(i,c,k,b,m);case 3:e:{if(U0(c),i===null)throw Error(n(387));k=c.pendingProps,_=c.memoizedState,b=_.element,r0(i,c),Zd(c,k,null,m);var M=c.memoizedState;if(k=M.element,_.isDehydrated)if(_={element:k,isDehydrated:!1,cache:M.cache,pendingSuspenseBoundaries:M.pendingSuspenseBoundaries,transitions:M.transitions},c.updateQueue.baseState=_,c.memoizedState=_,c.flags&256){b=_c(Error(n(423)),c),c=H0(i,c,k,m,b);break e}else if(k!==b){b=_c(Error(n(424)),c),c=H0(i,c,k,m,b);break e}else for(So=hi(c.stateNode.containerInfo.firstChild),Eo=c,Kn=!0,Go=null,m=t0(c,null,k,m),c.child=m;m;)m.flags=m.flags&-3|4096,m=m.sibling;else{if(vc(),k===b){c=Ps(i,c,m);break e}Qr(i,c,k,m)}c=c.child}return c;case 5:return i0(c),i===null&&pm(c),k=c.type,b=c.pendingProps,_=i!==null?i.memoizedProps:null,M=b.children,sm(k,b)?M=null:_!==null&&sm(k,_)&&(c.flags|=32),F0(i,c),Qr(i,c,M,m),c.child;case 6:return i===null&&pm(c),null;case 13:return W0(i,c,m);case 4:return xm(c,c.stateNode.containerInfo),k=c.pendingProps,i===null?c.child=bc(c,null,k,m):Qr(i,c,k,m),c.child;case 11:return k=c.type,b=c.pendingProps,b=c.elementType===k?b:Vo(k,b),L0(i,c,k,b,m);case 7:return Qr(i,c,c.pendingProps,m),c.child;case 8:return Qr(i,c,c.pendingProps.children,m),c.child;case 12:return Qr(i,c,c.pendingProps.children,m),c.child;case 10:e:{if(k=c.type._context,b=c.pendingProps,_=c.memoizedProps,M=b.value,Mn(Wd,k._currentValue),k._currentValue=M,_!==null)if(Xr(_.value,M)){if(_.children===b.children&&!co.current){c=Ps(i,c,m);break e}}else for(_=c.child,_!==null&&(_.return=c);_!==null;){var Y=_.dependencies;if(Y!==null){M=_.child;for(var se=Y.firstContext;se!==null;){if(se.context===k){if(_.tag===1){se=Ls(-1,m&-m),se.tag=2;var ke=_.updateQueue;if(ke!==null){ke=ke.shared;var Ae=ke.pending;Ae===null?se.next=se:(se.next=Ae.next,Ae.next=se),ke.pending=se}}_.lanes|=m,se=_.alternate,se!==null&&(se.lanes|=m),ym(_.return,m,c),Y.lanes|=m;break}se=se.next}}else if(_.tag===10)M=_.type===c.type?null:_.child;else if(_.tag===18){if(M=_.return,M===null)throw Error(n(341));M.lanes|=m,Y=M.alternate,Y!==null&&(Y.lanes|=m),ym(M,m,c),M=_.sibling}else M=_.child;if(M!==null)M.return=_;else for(M=_;M!==null;){if(M===c){M=null;break}if(_=M.sibling,_!==null){_.return=M.return,M=_;break}M=M.return}_=M}Qr(i,c,b.children,m),c=c.child}return c;case 9:return b=c.type,k=c.pendingProps.children,Ec(c,m),b=Mo(b),k=k(b),c.flags|=1,Qr(i,c,k,m),c.child;case 14:return k=c.type,b=Vo(k,c.pendingProps),b=Vo(k.type,b),P0(i,c,k,b,m);case 15:return D0(i,c,c.type,c.pendingProps,m);case 17:return k=c.type,b=c.pendingProps,b=c.elementType===k?b:Vo(k,b),nf(i,c),c.tag=1,lo(k)?(i=!0,Dd(c)):i=!1,Ec(c,m),$0(c,k,b),Mm(c,k,b,m),zm(null,c,k,!0,i,m);case 19:return q0(i,c,m);case 22:return z0(i,c,m)}throw Error(n(156,c.tag))};function gb(i,c){return wt(i,c)}function FI(i,c,m,k){this.tag=i,this.key=m,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=c,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=k,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Do(i,c,m,k){return new FI(i,c,m,k)}function sg(i){return i=i.prototype,!(!i||!i.isReactComponent)}function BI(i){if(typeof i=="function")return sg(i)?1:0;if(i!=null){if(i=i.$$typeof,i===q)return 11;if(i===le)return 14}return 2}function Si(i,c){var m=i.alternate;return m===null?(m=Do(i.tag,c,i.key,i.mode),m.elementType=i.elementType,m.type=i.type,m.stateNode=i.stateNode,m.alternate=i,i.alternate=m):(m.pendingProps=c,m.type=i.type,m.flags=0,m.subtreeFlags=0,m.deletions=null),m.flags=i.flags&14680064,m.childLanes=i.childLanes,m.lanes=i.lanes,m.child=i.child,m.memoizedProps=i.memoizedProps,m.memoizedState=i.memoizedState,m.updateQueue=i.updateQueue,c=i.dependencies,m.dependencies=c===null?null:{lanes:c.lanes,firstContext:c.firstContext},m.sibling=i.sibling,m.index=i.index,m.ref=i.ref,m}function pf(i,c,m,k,b,_){var M=2;if(k=i,typeof i=="function")sg(i)&&(M=1);else if(typeof i=="string")M=5;else e:switch(i){case $:return ya(m.children,b,_,c);case C:M=8,b|=8;break;case L:return i=Do(12,m,c,b|2),i.elementType=L,i.lanes=_,i;case ne:return i=Do(13,m,c,b),i.elementType=ne,i.lanes=_,i;case Q:return i=Do(19,m,c,b),i.elementType=Q,i.lanes=_,i;case Z:return mf(m,b,_,c);default:if(typeof i=="object"&&i!==null)switch(i.$$typeof){case P:M=10;break e;case B:M=9;break e;case q:M=11;break e;case le:M=14;break e;case te:M=16,k=null;break e}throw Error(n(130,i==null?i:typeof i,""))}return c=Do(M,m,c,b),c.elementType=i,c.type=k,c.lanes=_,c}function ya(i,c,m,k){return i=Do(7,i,k,c),i.lanes=m,i}function mf(i,c,m,k){return i=Do(22,i,k,c),i.elementType=Z,i.lanes=m,i.stateNode={isHidden:!1},i}function ig(i,c,m){return i=Do(6,i,null,c),i.lanes=m,i}function ag(i,c,m){return c=Do(4,i.children!==null?i.children:[],i.key,c),c.lanes=m,c.stateNode={containerInfo:i.containerInfo,pendingChildren:null,implementation:i.implementation},c}function UI(i,c,m,k,b){this.tag=c,this.containerInfo=i,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Pr(0),this.expirationTimes=Pr(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pr(0),this.identifierPrefix=k,this.onRecoverableError=b,this.mutableSourceEagerHydrationData=null}function cg(i,c,m,k,b,_,M,Y,se){return i=new UI(i,c,m,Y,se),c===1?(c=1,_===!0&&(c|=8)):c=0,_=Do(3,null,null,c),i.current=_,_.stateNode=i,_.memoizedState={element:k,isDehydrated:m,cache:null,transitions:null,pendingSuspenseBoundaries:null},bm(_),i}function HI(i,c,m){var k=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:I,key:k==null?null:""+k,children:i,containerInfo:c,implementation:m}}function kb(i){if(!i)return mi;i=i._reactInternals;e:{if(bn(i)!==i||i.tag!==1)throw Error(n(170));var c=i;do{switch(c.tag){case 3:c=c.stateNode.context;break e;case 1:if(lo(c.type)){c=c.stateNode.__reactInternalMemoizedMergedChildContext;break e}}c=c.return}while(c!==null);throw Error(n(171))}if(i.tag===1){var m=i.type;if(lo(m))return Kv(i,m,c)}return c}function wb(i,c,m,k,b,_,M,Y,se){return i=cg(m,k,!0,i,b,_,M,Y,se),i.context=kb(null),m=i.current,k=Jr(),b=xi(m),_=Ls(k,b),_.callback=c??null,wi(m,_,b),i.current.lanes=b,Hn(i,b,k),ho(i,k),i}function gf(i,c,m,k){var b=c.current,_=Jr(),M=xi(b);return m=kb(m),c.context===null?c.context=m:c.pendingContext=m,c=Ls(_,M),c.payload={element:i},k=k===void 0?null:k,k!==null&&(c.callback=k),i=wi(b,c,M),i!==null&&(Qo(i,b,M,_),qd(i,b,M)),M}function kf(i){if(i=i.current,!i.child)return null;switch(i.child.tag){case 5:return i.child.stateNode;default:return i.child.stateNode}}function yb(i,c){if(i=i.memoizedState,i!==null&&i.dehydrated!==null){var m=i.retryLane;i.retryLane=m!==0&&m<c?m:c}}function lg(i,c){yb(i,c),(i=i.alternate)&&yb(i,c)}function WI(){return null}var vb=typeof reportError=="function"?reportError:function(i){console.error(i)};function ug(i){this._internalRoot=i}wf.prototype.render=ug.prototype.render=function(i){var c=this._internalRoot;if(c===null)throw Error(n(409));gf(i,c,null,null)},wf.prototype.unmount=ug.prototype.unmount=function(){var i=this._internalRoot;if(i!==null){this._internalRoot=null;var c=i.containerInfo;ga(function(){gf(null,i,null,null)}),c[Cs]=null}};function wf(i){this._internalRoot=i}wf.prototype.unstable_scheduleHydration=function(i){if(i){var c=Fn();i={blockedOn:null,target:i,priority:c};for(var m=0;m<Pt.length&&c!==0&&c<Pt[m].priority;m++);Pt.splice(m,0,i),m===0&&Wn(i)}};function dg(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)}function yf(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11&&(i.nodeType!==8||i.nodeValue!==" react-mount-point-unstable "))}function bb(){}function KI(i,c,m,k,b){if(b){if(typeof k=="function"){var _=k;k=function(){var ke=kf(M);_.call(ke)}}var M=wb(c,k,i,0,null,!1,!1,"",bb);return i._reactRootContainer=M,i[Cs]=M.current,Ll(i.nodeType===8?i.parentNode:i),ga(),M}for(;b=i.lastChild;)i.removeChild(b);if(typeof k=="function"){var Y=k;k=function(){var ke=kf(se);Y.call(ke)}}var se=cg(i,0,!1,null,null,!1,!1,"",bb);return i._reactRootContainer=se,i[Cs]=se.current,Ll(i.nodeType===8?i.parentNode:i),ga(function(){gf(c,se,m,k)}),se}function vf(i,c,m,k,b){var _=m._reactRootContainer;if(_){var M=_;if(typeof b=="function"){var Y=b;b=function(){var se=kf(M);Y.call(se)}}gf(c,M,i,b)}else M=KI(m,c,i,b,k);return kf(M)}Et=function(i){switch(i.tag){case 3:var c=i.stateNode;if(c.current.memoizedState.isDehydrated){var m=dr(c.pendingLanes);m!==0&&(G(c,m|1),ho(c,Qt()),(dn&6)===0&&(jc=Qt()+500,gi()))}break;case 13:ga(function(){var k=Ms(i,1);if(k!==null){var b=Jr();Qo(k,i,1,b)}}),lg(i,1)}},nt=function(i){if(i.tag===13){var c=Ms(i,134217728);if(c!==null){var m=Jr();Qo(c,i,134217728,m)}lg(i,134217728)}},Nt=function(i){if(i.tag===13){var c=xi(i),m=Ms(i,c);if(m!==null){var k=Jr();Qo(m,i,c,k)}lg(i,c)}},Fn=function(){return fe},or=function(i,c){var m=fe;try{return fe=i,c()}finally{fe=m}},ee=function(i,c,m){switch(c){case"input":if(tt(i,m),c=m.name,m.type==="radio"&&c!=null){for(m=i;m.parentNode;)m=m.parentNode;for(m=m.querySelectorAll("input[name="+JSON.stringify(""+c)+'][type="radio"]'),c=0;c<m.length;c++){var k=m[c];if(k!==i&&k.form===i.form){var b=Ld(k);if(!b)throw Error(n(90));oe(k),tt(k,b)}}}break;case"textarea":Ut(i,m);break;case"select":c=m.value,c!=null&&ft(i,!!m.multiple,c,!1)}},Ee=ng,Ge=ga;var qI={usingClientEntryPoint:!1,Events:[zl,mc,Ld,z,re,ng]},Jl={findFiberByHostInstance:ca,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},ZI={bundleType:Jl.bundleType,version:Jl.version,rendererPackageName:Jl.rendererPackageName,rendererConfig:Jl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:j.ReactCurrentDispatcher,findHostInstanceByFiber:function(i){return i=de(i),i===null?null:i.stateNode},findFiberByHostInstance:Jl.findFiberByHostInstance||WI,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var bf=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!bf.isDisabled&&bf.supportsFiber)try{bt=bf.inject(ZI),jt=bf}catch{}}return po.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=qI,po.createPortal=function(i,c){var m=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!dg(c))throw Error(n(200));return HI(i,c,null,m)},po.createRoot=function(i,c){if(!dg(i))throw Error(n(299));var m=!1,k="",b=vb;return c!=null&&(c.unstable_strictMode===!0&&(m=!0),c.identifierPrefix!==void 0&&(k=c.identifierPrefix),c.onRecoverableError!==void 0&&(b=c.onRecoverableError)),c=cg(i,1,!1,null,null,m,!1,k,b),i[Cs]=c.current,Ll(i.nodeType===8?i.parentNode:i),new ug(c)},po.findDOMNode=function(i){if(i==null)return null;if(i.nodeType===1)return i;var c=i._reactInternals;if(c===void 0)throw typeof i.render=="function"?Error(n(188)):(i=Object.keys(i).join(","),Error(n(268,i)));return i=de(c),i=i===null?null:i.stateNode,i},po.flushSync=function(i){return ga(i)},po.hydrate=function(i,c,m){if(!yf(c))throw Error(n(200));return vf(null,i,c,!0,m)},po.hydrateRoot=function(i,c,m){if(!dg(i))throw Error(n(405));var k=m!=null&&m.hydratedSources||null,b=!1,_="",M=vb;if(m!=null&&(m.unstable_strictMode===!0&&(b=!0),m.identifierPrefix!==void 0&&(_=m.identifierPrefix),m.onRecoverableError!==void 0&&(M=m.onRecoverableError)),c=wb(c,null,i,1,m??null,b,!1,_,M),i[Cs]=c.current,Ll(i),k)for(i=0;i<k.length;i++)m=k[i],b=m._getVersion,b=b(m._source),c.mutableSourceEagerHydrationData==null?c.mutableSourceEagerHydrationData=[m,b]:c.mutableSourceEagerHydrationData.push(m,b);return new wf(c)},po.render=function(i,c,m){if(!yf(c))throw Error(n(200));return vf(null,i,c,!1,m)},po.unmountComponentAtNode=function(i){if(!yf(i))throw Error(n(40));return i._reactRootContainer?(ga(function(){vf(null,null,i,!1,function(){i._reactRootContainer=null,i[Cs]=null})}),!0):!1},po.unstable_batchedUpdates=ng,po.unstable_renderSubtreeIntoContainer=function(i,c,m,k){if(!yf(m))throw Error(n(200));if(i==null||i._reactInternals===void 0)throw Error(n(38));return vf(i,c,m,!1,k)},po.version="18.3.1-next-f1338f8080-20240426",po}var $b;function zS(){if($b)return pg.exports;$b=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),pg.exports=rR(),pg.exports}var Aw=zS(),xf={},Ab;function oR(){if(Ab)return xf;Ab=1;var e=zS();return xf.createRoot=e.createRoot,xf.hydrateRoot=e.hydrateRoot,xf}var sR=oR();const zi="shell",FS="check",Da="ToolSearch",Cw="AskUserQuestion",Iw="handoff",BS="worktrees",US="own",HS="stop";function Ef(e){const t=[];for(const n of e){const r=t.at(-1),{event:o}=n;o.type==="text-delta"&&(r==null?void 0:r.event.type)==="text-delta"&&r.event.messageId===o.messageId?t[t.length-1]={seq:r.seq,event:{...r.event,text:r.event.text+o.text}}:o.type==="thinking-delta"&&(r==null?void 0:r.event.type)==="thinking-delta"?t[t.length-1]={seq:r.seq,event:{type:"thinking-delta",text:r.event.text+o.text}}:o.type==="tool-delta"&&(r==null?void 0:r.event.type)==="tool-delta"&&r.event.toolId===o.toolId?t[t.length-1]={seq:r.seq,event:{...o,text:r.event.text+o.text}}:t.push(n)}return t}const iR=new Set(["edit","delete","move","execute"]),aR=new Set(["Edit","Write","MultiEdit","NotebookEdit","Bash"]);function WS(e){return e.kind?iR.has(e.kind):aR.has(e.name)}const cR=["read","edit","delete","move","search","execute","fetch"];function Rw(e){return cR.includes(e??"")}function KS(e,t){return(Rw(e.kind)||e.name===Cw||e.name===Da)&&Kh(t)}const lR=/^(?:mcp__(.+?)__(.+)|([A-Za-z0-9_-]+)\/([A-Za-z0-9_-]+))$/;function uR(e){const t=lR.exec(e);if(!t)return null;const n=t[1]??t[3]??"",r=t[2]??t[4]??"";return{server:n,tool:r.replace(/[_-]+/g," ").trim()}}function Kh(e){if(!e||typeof e!="object")return!0;const t=e;return Object.keys(t).every(n=>n==="locations"&&Array.isArray(t[n])&&t[n].length===0)}const qh=[{id:"auto",name:"auto",description:"edits and sandboxed commands run; a plan still asks"},{id:"ask",name:"ask",description:"every edit and command is a card before it runs"},{id:"plan",name:"plan",description:"read and propose only; approving the plan starts the work"}],ck="auto";function dR(e){return e.branch.startsWith("toyon/")}function fR(e){return e.unread===!0||e.lastTurn!=null&&(e.seenAt==null||e.seenAt<e.lastTurn.at)}const Zh=e=>e==="running"||e==="starting"||e==="preparing"||e==="cold",Fo="shell",qs="login";function hR(e,t){return`${e}/${t}`}function pR(e,t,n,r=0){var s;let o=e;for(let a=r;a>0;a--){let l=o.length-1;for(;l>=0&&((s=o[l])==null?void 0:s.proc)!==t;)l--;if(l<0)break;o=o===e?[...o]:o,o.splice(l,1)}return n?[...o,{proc:t,line:n}]:o}const is=e=>e==="working"||e==="waiting",mR=["use","always","off"];function qS(e){return e.find(t=>t.id==="default")}function gR(e,t){const n=qS(e);if(n){if(t!==void 0&&t!==n.id){const r=e.find(o=>o.id===t);if(r)return r}if(n.description)return e.find(r=>r!==n&&r.name===n.description)}}function kR(e,t){if(t.some(o=>o.id===e))return e;const n=Cb(e);if(n===void 0)return;if(t.some(o=>o.id===n))return n;if(n!==Ow(e))return;let r;for(const o of t){if(Cb(o.id)!==n)continue;const s=wR(o.id);s!==void 0&&(r===void 0||s>r.version)&&(r={id:o.id,version:s})}return r==null?void 0:r.id}const ZS=/(?:^|[./])claude-(?:(\d{1,2})(?:-(\d{1,2})(?!\d))?-)?([a-z]+)(?:-(\d{1,2})(?!\d)(?:-(\d{1,2})(?!\d))?)?/;function Ow(e){return e.replace(/\[[^\]]*\]$/,"")}function Cb(e){var r;const t=Ow(e),n=(r=t.match(ZS))==null?void 0:r[3];return n||(/^[a-z]+$/.test(t)?t:void 0)}function wR(e){const t=Ow(e).match(ZS);if(!t)return;const n=t[1]??t[4];if(n===void 0)return;const r=t[1]!==void 0?t[2]:t[5];return Number(n)+Number(r??0)/100}function Sn(e){return e.worktree!==void 0}function Fi(e){return e.kind==="main"}function Gh(e){return e.kind==="spare"}function $r(e){return Gh(e)||Fi(e)}function Vh(e){return e.kind==="worktree"}function GS(e){return e.kind==="worktree"&&dR(e)}function Ta(e){var t;return e.kind==="worktree"&&((t=e.from)==null?void 0:t.kind)!=="pr"}function Zf(e){return e.kind==="worktree"}function Yh(e){return!!e.branch&&!e.locked&&!(e.worktree&&$r(e.worktree))}const za=e=>{var t;return e.promptedAt??((t=e.lastTurn)==null?void 0:t.at)??e.createdAt},Ib=e=>$r(e)?0:1;function yR(e){return[...e].sort((t,n)=>Ib(t.worktree)-Ib(n.worktree)||za(n.worktree)-za(t.worktree))}function Rb(e,t){const n=new Map;for(const r of e)n.set(r.id,r.promptedAt??0);for(const r of t){if(!Sn(r)||r.worktree.kind==="spare")continue;const o=r.worktree.repoId;n.set(o,Math.max(n.get(o)??0,za(r.worktree)))}return[...e].sort((r,o)=>(n.get(o.id)??0)-(n.get(r.id)??0))}function vR(e,t){var o,s;const n=t.counts(e.id);if(n.dirty===void 0||n.ahead===void 0)return"its changes are not counted yet";if(n.dirty>0)return"it has uncommitted changes";if(n.ahead>0)return"it has commits not on main";if(t.drafted(e.id))return"unsent text waits in its composer";if(t.pending(e.id))return"its agent is still busy";if(e.landed)return null;const r=(o=e.lastTurn)==null?void 0:o.end;return r?r==="stopped"?"its last turn was stopped":r==="failed"?"its last turn failed":r==="asking"?"its agent is waiting on an answer":fR(e)?"its last reply is unread":e.planned?"it showed a plan":((s=e.pr)==null?void 0:s.state)==="open"?"its pull request is still open":null:"its agent has not run yet"}const Ob="not opened in ";function bR(e){const t=e.lastIndexOf(Ob);return t<0?{what:e}:{what:e.slice(0,t).replace(/,\s*$/,""),idle:e.slice(t+Ob.length)}}const VS={image:6,paste:4,file:8,pick:8},xR={image:"image",paste:"paste",file:"file",pick:"element"},ER={image:"Image",paste:"Pasted text"},YS=(e,t)=>`${ER[e]} ${t}`,Mw=e=>`at most ${VS[e]} ${xR[e]}s per message`,SR=(e,t)=>e.filter(n=>n.kind===t).length,_R=(e,t)=>Math.max(0,VS[t]-SR(e,t));function lk(e){const t={image:1,paste:1,file:1,pick:1};for(const n of e)for(const r of n??[])t[r.kind]=Math.max(t[r.kind],r.n+1);return t}function Lw(e,t){const n={...t};return e.map(r=>[r,n[r.kind]++])}function wu(e,t){const n={...e};for(const r of t)n[r.kind]++;return n}function Pw(e){return e>=1024*1024?`${(e/1024/1024).toFixed(1)} MB`:`${Math.max(1,Math.round(e/1024))} KB`}const Hc=e=>`card:${e}`,Gf=[{id:"quick-open",key:"p"},{id:"commands",key:"p",shift:!0,bareAlias:"F1"},{id:"search",key:"f",shift:!0},{id:"chats",key:"g"},{id:"changes",key:"b",ctrlAlias:{key:"g",shift:!0}},{id:"files",key:"e",shift:!0},{id:"panel-tab-prev",key:"ArrowLeft",alt:!0,textKeeps:!0,emptyGives:!0},{id:"panel-tab-next",key:"ArrowRight",alt:!0,textKeeps:!0,emptyGives:!0},{id:"composer",key:"l"},{id:"rail",key:"k",shift:!0},{id:"keys",key:","},{id:"terminal",key:"j",ctrlAlias:{key:"`"}},{id:"design",key:"d"},{id:"term-tab",key:"`",ctrl:!0,shift:!0},{id:"pick",key:"e"},{id:"inspect",key:"i"},{id:"zen",key:"."},{id:"new",key:"k",aliases:["n"]},{id:"worktree",key:"1-9"},{id:"wt-prev",key:"ArrowUp",alt:!0,ctrlAlias:{key:"Tab",shift:!0},cmdShiftAlias:["[","{"]},{id:"wt-next",key:"ArrowDown",alt:!0,ctrlAlias:{key:"Tab"},cmdShiftAlias:["]","}"]},{id:"wt-unseen-prev",key:"ArrowUp",alt:!0,shift:!0},{id:"wt-unseen-next",key:"ArrowDown",alt:!0,shift:!0},{id:"wt-back",key:"ArrowLeft",textKeeps:!0,emptyGives:!0},{id:"wt-forward",key:"ArrowRight",textKeeps:!0,emptyGives:!0},{id:"wt-archive",key:"Backspace",alt:!0,textKeeps:!0,emptyGives:!0},{id:"mark-unread",key:"u",alt:!0,textKeeps:!0},{id:"project",key:"o",ctrlAlias:{key:"r",hostOnly:!0},cmdShiftAlias:["o"]},{id:"refs",key:"g",shift:!0},{id:"routes",key:"u"},{id:"reload",key:"r"},{id:"back",key:"["},{id:"forward",key:"]"},{id:"close",key:"w"}],NR=new Set(["zen","close","back","forward","wt-back","wt-forward"]),TR={"wt-back":"back","wt-forward":"forward"};function jR(e){if(!e||e.id==="worktree")return e;const t=TR[e.id];return t?{id:t}:e}function XS(e,{guest:t=!1}={}){var r,o;if(e.altKey){if(e.metaKey||e.ctrlKey)return null;const s=Gf.find(a=>a.alt&&!!a.shift===e.shiftKey&&(a.key===e.key||a.key.length===1&&e.code===`Key${a.key.toUpperCase()}`));return s&&s.id!=="worktree"?{id:s.id}:null}if(!e.metaKey&&!e.ctrlKey){if(e.shiftKey||t)return null;const s=Gf.find(a=>a.bareAlias===e.key);return s&&s.id!=="worktree"?{id:s.id}:null}if(!!e.ctrlKey===e.metaKey)return null;const n=e.key.length===1?e.key.toLowerCase():e.key;if(e.metaKey&&!e.shiftKey&&n>="1"&&n<="9")return{id:"worktree",digit:Number(n)};for(const s of Gf){if(s.id==="worktree")continue;const a=s.ctrlAlias;if(a&&e.ctrlKey&&a.key===n&&!!a.shift===e.shiftKey&&!(t&&a.hostOnly))return{id:s.id};if(e.metaKey&&e.shiftKey&&((r=s.cmdShiftAlias)!=null&&r.includes(n)))return{id:s.id};if(!s.alt&&!(e.ctrlKey&&!s.ctrl||!!s.shift!==e.shiftKey)&&(s.key===n||(o=s.aliases)!=null&&o.includes(n)))return{id:s.id}}return null}function $R(e){return e.altKey||e.key.toLowerCase()!=="s"?!1:!!e.ctrlKey!==e.metaKey}function QS(e){const t=Gf.find(n=>n.id===e);if(!t)throw new Error(`unknown chord ${e}`);return t}function AR(e,t){return e===t-1?"⌘9":e<8?`⌘${e+1}`:void 0}function CR(e,t){return t===0?null:e===9?t-1:e-1<t?e-1:null}function IR(e){const t=e;return t!=null&&t.tagName?t.isContentEditable||t.tagName==="TEXTAREA"?!0:t.tagName==="INPUT"&&!["button","checkbox","radio","range","submit","reset"].includes(t.type??""):!1}function RR(e){var n;const t=e;return(t==null?void 0:t.tagName)!=="TEXTAREA"&&(t==null?void 0:t.tagName)!=="INPUT"?!1:t.value===""&&!((n=t.closest)!=null&&n.call(t,".monaco-editor, .xterm"))}function OR(e,t){const n=QS(e);return!!n.textKeeps&&IR(t)&&!(n.emptyGives&&RR(t))}const MR=["Find","Preview","Panels","Worktrees"],yu={"quick-open":{label:"jump to file",section:"Find"},commands:{label:"command palette",section:"Find",advertise:{key:"F1",when:"firefox"}},search:{label:"search in files",section:"Find"},chats:{label:"search in chats",section:"Find"},pick:{label:"element to chat",section:"Preview"},inspect:{label:"element to code",section:"Preview"},zen:{label:"full-bleed preview",section:"Preview"},routes:{label:"go to page",section:"Preview"},reload:{label:"reload the preview",section:"Preview"},back:{label:"back in the preview",section:"Preview",hidden:!0},forward:{label:"forward in the preview",section:"Preview",hidden:!0},composer:{label:"chat panel, with the editor's selection",section:"Panels"},changes:{label:"changes panel",section:"Panels"},files:{label:"files panel",section:"Panels"},terminal:{label:"terminal",section:"Panels"},rail:{label:"worktree panel",section:"Panels"},"panel-tab-next":{label:"next panel tab",section:"Panels"},"panel-tab-prev":{label:"previous panel tab",section:"Panels",hidden:!0},"term-tab":{label:"next terminal tab",section:"Panels"},design:{label:"design system",section:"Panels"},keys:{label:"settings & shortcuts",section:"Panels"},close:{label:"close the pane",section:"Panels",hidden:!0},new:{label:"new worktree",section:"Worktrees",advertise:{key:"n",when:"pwa"}},worktree:{label:"switch worktree",section:"Worktrees"},"wt-prev":{label:"previous worktree",section:"Worktrees",advertise:{key:"Tab",when:"pwa"}},"wt-next":{label:"next worktree",section:"Worktrees",advertise:{key:"Tab",when:"pwa"}},"wt-back":{label:"back to the last worktree viewed",section:"Worktrees"},"wt-forward":{label:"forward through viewed worktrees",section:"Worktrees",hidden:!0},"wt-unseen-prev":{label:"previous worktree worth a look",section:"Worktrees",hidden:!0},"wt-unseen-next":{label:"next worktree worth a look",section:"Worktrees"},"wt-archive":{label:"archive worktree",section:"Worktrees"},"mark-unread":{label:"mark worktree unread",section:"Worktrees"},project:{label:"open project",section:"Worktrees"},refs:{label:"open a branch or PR",section:"Worktrees"}},LR={ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Backspace:"⌫",Tab:"Tab"};function PR(e,t={}){var l;const n=QS(e),r=yu[e],o=r.advertise&&t[r.advertise.when]?r.advertise.key:n.key;if(o===n.bareAlias)return o;const s=o==="1-9"?"1-9":LR[o]??o.toUpperCase(),a=o!==n.key&&o===((l=n.ctrlAlias)==null?void 0:l.key)?n.ctrlAlias:void 0;return a?`⌃${a.shift?"⇧":""}${s}`:`${n.alt?"⌥":n.ctrl?"⌃":"⌘"}${n.shift?"⇧":""}${s}`}function DR(e){return Object.keys(yu).filter(t=>yu[t].section===e&&!yu[t].hidden)}const Mb={m:6e4,h:60*6e4};function zR(e){const[t,n]=FR(e);return`${t}${n.charAt(0)}`}function FR(e){const t=e/Mb.h;if(t>=1&&Number.isInteger(t))return[t,"hour"];const n=e/Mb.m;return n>=1&&Number.isInteger(n)?[n,"minute"]:n>=60?[Math.round(n),"minute"]:[Math.max(1,Math.round(e/1e3)),"second"]}const Tu={folder:{shared:".toyon/settings.json",local:".toyon/settings.local.json"},root:{shared:"toyon.json",local:"toyon.local.json"}};function JS(e){return typeof e=="string"?e:e.cmd}function BR(e){return typeof e=="string"?[]:e.setup??[]}function UR(e){return typeof e=="string"?[]:e.teardown??[]}function e_(e){return typeof e=="string"?{}:e.remotes??{}}function t_(e){return e&&"remote"in e?e.remote:void 0}function Xh(e){return e&&"by"in e?e:void 0}function HR(e){return[...e.setup??[],...e.teardown??[],...Object.values(e.run).flatMap(n=>[JS(n),...BR(n),...UR(n)])].some(n=>n.includes("TOYON_WORKTREE"))}function WR(e){return e===Tu.folder.local||e===Tu.root.local}function KR(e){return WR(e)?"local":"shared"}function qR(e,t){return(Object.values(Tu).find(r=>r.shared===e||r.local===e)??Tu.folder)[t]}const ZR=e=>`https://${e}/`;function GR(e){let t=e.trim();if(t==="")return null;/^[a-z]+:\/\//i.test(t)||(t=`https://${t}`);let n;try{n=new URL(t)}catch{return null}return YR(n.origin)?n.origin:null}function VR(e){return e.toLowerCase().endsWith(".fly.dev")}function YR(e){let t;try{t=new URL(e)}catch{return!1}return t.origin!==e?!1:t.protocol==="https:"||t.protocol==="http:"&&Qh(t.hostname)}const XR="toyon_grant";function Qh(e){return e==="127.0.0.1"||e==="::1"||e==="[::1]"||e==="localhost"||e.endsWith(".localhost")}function QR(e,t,n){return e.replace("{id}",t).replace("{port}",String(n))}const JR=4401,eO=25e4;function tO(e,t){let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];)n++;let r=0;for(;r<e.length-n&&r<t.length-n&&e[e.length-1-r]===t[t.length-1-r];)r++;const o=e.slice(0,n).map(s=>({mark:" ",value:s}));return o.push(...nO(e.slice(n,e.length-r),t.slice(n,t.length-r))),o.push(...e.slice(e.length-r).map(s=>({mark:" ",value:s}))),o}function nO(e,t){if(e.length===0)return t.map(l=>({mark:"+",value:l}));if(t.length===0)return e.map(l=>({mark:"-",value:l}));if((e.length+1)*(t.length+1)>eO)return[...e.map(l=>({mark:"-",value:l})),...t.map(l=>({mark:"+",value:l}))];const n=t.length+1,r=new Uint32Array((e.length+1)*n);for(let l=e.length-1;l>=0;l--)for(let u=t.length-1;u>=0;u--)r[l*n+u]=e[l]===t[u]?(r[(l+1)*n+u+1]??0)+1:Math.max(r[(l+1)*n+u]??0,r[l*n+u+1]??0);const o=[];let s=0,a=0;for(;s<e.length&&a<t.length;)e[s]===t[a]?(o.push({mark:" ",value:e[s]}),s++,a++):(r[(s+1)*n+a]??0)>=(r[s*n+a+1]??0)?(o.push({mark:"-",value:e[s]}),s++):(o.push({mark:"+",value:t[a]}),a++);for(;s<e.length;)o.push({mark:"-",value:e[s++]});for(;a<t.length;)o.push({mark:"+",value:t[a++]});return o}const rO=/[\p{L}\p{N}_$]+|\s+|[^\s\p{L}\p{N}_$]/gu;function Lb(e){return e.match(rO)??[]}const oO=.4;function sO(e,t){if(e===t)return null;const n=tO(Lb(e),Lb(t));let r=0;for(const o of n)o.mark===" "&&(r+=o.value.length);return r<oO*Math.max(e.length,t.length)?null:{before:Pb(n,"-"),after:Pb(n,"+")}}function Pb(e,t){const n=[];for(const r of e){if(r.mark!==" "&&r.mark!==t)continue;const o=r.mark===t,s=n[n.length-1];s&&s.changed===o?s.text+=r.value:n.push({text:r.value,changed:o})}for(let r=1;r<n.length-1;r++){const o=n[r];o&&(o.changed?o.changed=o.text.trim()!=="":o.changed=o.text.length<=2)}return n_(n)}function Db(e){const t=[[]];for(const n of e){const r=n.text.split(`
|
|
42
|
+
`);for(const[o,s]of r.entries())o>0&&t.push([]),s&&t[t.length-1].push({text:s,changed:n.changed})}return t.map(n_)}function n_(e){const t=[];for(const n of e){const r=t[t.length-1];r&&r.changed===n.changed?r.text+=n.text:t.push({...n})}return t}const iO=[{id:"merge",name:"here",description:"onto main in this checkout; nothing is pushed"},{id:"push",name:"push",description:"onto main on origin, straight from the worktree; main here follows"},{id:"pr",name:"pull request",description:"the branch is pushed and a pull request opened on GitHub"}],aO=[{id:"merge",name:"merge commit",description:"the commits stay as they are, under one merge commit"},{id:"squash",name:"squash",description:"the work becomes one commit on main"},{id:"rebase",name:"rebase",description:"the commits go on main as they are, no merge commit"}],cO=[{id:"you",name:"you merge it",description:"the chat offers merge once GitHub would take the PR"},{id:"github",name:"GitHub merges it",description:"auto-merge: GitHub merges the PR itself once its rules allow (checks, reviewers, or nothing); where main has a merge queue, it queues the PR instead"}],uk="merge",dk="merge";function Mi(e){var n,r,o;const t=((n=e.land)==null?void 0:n.route)??uk;return{land:t,automerge:t==="pr"&&((r=e.land)==null?void 0:r.automerge)===!0,...(o=e.land)!=null&&o.method?{merge:e.land.method}:{}}}function Jh(e){return e.base??e.defaultBranch}function lO(e){return e.base!==void 0&&e.base!==e.defaultBranch}function uO(e){return!!e.pr&&(e.lands??[]).some(t=>{var n;return t.pr===((n=e.pr)==null?void 0:n.number)})}function dO(e){return{land:"a land",commit:"a commit","sync-main":"a sync","pull-main":"a pull"}[e]}function Dw(e,t){return e.landed&&(t??0)>0?{...e,landed:!1}:e}function ep(e){return uO(e)&&!e.landed?void 0:e.pr}function zw(e,t){const n=ep(t);return e.land==="pr"&&(!n||n.state==="closed")?"create pr":"land"}function ah(e,t="main"){const n={merge:"merge into",squash:"squash onto",rebase:"rebase onto"}[e.merge??dk];switch(e.land){case"merge":return`Commit and ${n} ${t} here`;case"push":return`Commit, ${n} ${t} on origin and push it`;case"pr":return e.automerge?"Commit, push the branch and create a PR that GitHub merges when its rules allow":"Commit, push the branch and create a PR"}}const r_=e=>e.includes("U")||e==="AA"||e==="DD";function o_(e){return r_(e)?null:e[1]!=="D"&&e!=="D "}function Fw(e,t){const n=[];for(const r of t)r.xy!=="??"&&(r_(r.xy)?n.push(`${r.xy}${r.path}`):"ADRC".includes(r.xy.charAt(0))&&n.push(`${r.xy.charAt(0)}${r.path}`));return[e??"",...n.sort()].join("\0")}function s_(e){const t=[];for(const n of e)n.xy==="??"?t.push(`+${n.path}`):o_(n.xy)===!1&&t.push(`-${n.path}`);return t.sort().join("\0")}const zb=new WeakMap;function i_(e,t){let n=zb.get(e);n||(n=new Set(e),zb.set(e,n));const r=new Set,o=new Set;for(const a of t){const l=o_(a.xy);l!==null&&(l?n.has(a.path)||r.add(a.path):n.has(a.path)&&o.add(a.path))}return{key:[...[...r].map(a=>`+${a}`),...[...o].map(a=>`-${a}`)].sort().join("\0"),added:[...r],gone:o}}function a_(e,t){return t.added.length===0&&t.gone.size===0?e:(t.gone.size>0?e.filter(r=>!t.gone.has(r)):e).concat(t.added)}function c_(e){const t=Object.values(e).filter(r=>typeof r=="number");return Object.entries(e).filter(([r,o])=>t.indexOf(+r)===-1).map(([r,o])=>o)}function Fb(e,t="|"){return e.map(n=>d_(n)).join(t)}function fk(e,t){return typeof t=="bigint"?t.toString():t}function tp(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function fO(e){return e==null}function Bw(e){const t=e.startsWith("^")?1:0,n=e.endsWith("$")?e.length-1:e.length;return e.slice(t,n)}function hO(e,t){const n=e/t,r=Math.round(n),o=4*Number.EPSILON*Math.max(Math.abs(n),1);return Math.abs(n-r)<o?0:n-r}function wo(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Ki(...e){const t={};for(const n of e){const r=Object.getOwnPropertyDescriptors(n);Object.assign(t,r)}return Object.defineProperties({},t)}function pO(e){return JSON.stringify(e)}function mO(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const l_="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ju(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}const gO=tp(()=>{var e;if(as.jitless||typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)!=null&&e.includes("Cloudflare")))return!1;try{const t=Function;return new t(""),!0}catch{return!1}});function $u(e){if(ju(e)===!1)return!1;const t=e.constructor;if(t===void 0||typeof t!="function")return!0;const n=t.prototype;return!(ju(n)===!1||Object.prototype.hasOwnProperty.call(n,"isPrototypeOf")===!1)}function u_(e){return $u(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const kO=new Set(["string","number","symbol"]);function Yc(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function qi(e,t,n){const r=new e._zod.constr(t??e._zod.def);return(!t||n!=null&&n.parent)&&(r._zod.parent=e),r}function yt(e){const t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if((t==null?void 0:t.message)!==void 0){if((t==null?void 0:t.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function d_(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function wO(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}const yO={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function vO(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const s=Ki(e._zod.def,{get shape(){const a={};for(const l of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(n.shape,l))throw new Error(`Unrecognized key: "${String(l)}"`);t[l]&&wo(a,l,n.shape[l])}return wo(this,"shape",a),a},checks:[]});return qi(e,s)}function bO(e,t){const n=e._zod.def,r=n.checks;if(r&&r.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const s=Ki(e._zod.def,{get shape(){const a={...e._zod.def.shape};for(const l of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(n.shape,l))throw new Error(`Unrecognized key: "${String(l)}"`);t[l]&&delete a[l]}return wo(this,"shape",a),a},checks:[]});return qi(e,s)}function xO(e,t){if(!$u(t))throw new Error("Invalid input to extend: expected a plain object");const n=e._zod.def.checks;if(n&&n.length>0){const s=e._zod.def.shape;for(const a of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(s,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}const o=Ki(e._zod.def,{get shape(){const s={...e._zod.def.shape,...t};return wo(this,"shape",s),s}});return qi(e,o)}function EO(e,t){if(!$u(t))throw new Error("Invalid input to safeExtend: expected a plain object");const n=Ki(e._zod.def,{get shape(){const r={...e._zod.def.shape,...t};return wo(this,"shape",r),r}});return qi(e,n)}function SO(e,t){var r,o;if(!((r=t==null?void 0:t._zod)!=null&&r.def))throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if((o=e._zod.def.checks)!=null&&o.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const n=Ki(e._zod.def,{get shape(){const s={...e._zod.def.shape,...t._zod.def.shape};return wo(this,"shape",s),s},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return qi(e,n)}function Bb(e,t,n,r="partial"){const s=t._zod.def.checks;if(s&&s.length>0)throw new Error(`.${r}() cannot be used on object schemas containing refinements`);const l=Ki(t._zod.def,{get shape(){const u=t._zod.def.shape,h={...u};if(n)for(const f of Reflect.ownKeys(n)){if(!Object.prototype.hasOwnProperty.call(u,f))throw new Error(`Unrecognized key: "${String(f)}"`);n[f]&&(h[f]=e?new e({type:"optional",innerType:u[f]}):u[f])}else for(const f of Reflect.ownKeys(u))h[f]=e?new e({type:"optional",innerType:u[f]}):u[f];return wo(this,"shape",h),h},checks:[]});return qi(t,l)}function _O(e,t,n){const r=Ki(t._zod.def,{get shape(){const o=t._zod.def.shape,s={...o};if(n)for(const a of Reflect.ownKeys(n)){if(!Object.prototype.hasOwnProperty.call(s,a))throw new Error(`Unrecognized key: "${String(a)}"`);n[a]&&(s[a]=new e({type:"nonoptional",innerType:o[a]}))}else for(const a of Reflect.ownKeys(o))s[a]=new e({type:"nonoptional",innerType:o[a]});return wo(this,"shape",s),s}});return qi(t,r)}function Lc(e,t=0){var n;if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(((n=e.issues[r])==null?void 0:n.continue)!==!0)return!0;return!1}function NO(e,t=0){var n;if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(((n=e.issues[r])==null?void 0:n.continue)===!1)return!0;return!1}function np(e,t){return t.map(n=>{var r;return(r=n).path??(r.path=[]),n.path.unshift(e),n})}function tu(e){return typeof e=="string"?e:e==null?void 0:e.message}function Ub(e,t,n){var r;for(let o=t;o<e.length;o++)(r=e[o]).schema??(r.schema=n)}function ul(e,t,n){var g,y,v,w,x,N,E,T,j,A;var r;const o=(y=(g=e.inst)==null?void 0:g._zod)==null?void 0:y.traits;o!=null&&o.has("$ZodType")&&(o.has("$ZodCheck")?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);const s=e.schema!==e.inst?(w=(v=e.schema)==null?void 0:v._zod.def)==null?void 0:w.error:void 0,a=e.message?e.message:tu((E=(N=(x=e.inst)==null?void 0:x._zod.def)==null?void 0:N.error)==null?void 0:E.call(N,e))??tu(s==null?void 0:s(e))??tu((T=t==null?void 0:t.error)==null?void 0:T.call(t,e))??tu((j=n.customError)==null?void 0:j.call(n,e))??tu((A=n.localeError)==null?void 0:A.call(n,e))??"Invalid input",{inst:l,schema:u,continue:h,input:f,...p}=e;return p.path??(p.path=[]),p.message=a,t!=null&&t.reportInput&&(p.input=f),p}const TO=/[\uD800-\uDBFF]/;function Uw(e){const t=e.length;if(!TO.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)===55296&&(e.charCodeAt(r+1)&64512)===56320&&(n--,r++);return n}function Hw(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function jO(e){const t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";const n=e;if(n&&Object.getPrototypeOf(n)!==Object.prototype&&"constructor"in n&&n.constructor)return n.constructor.name}}return t}function Au(...e){const[t,n,r]=e;return typeof t=="string"?{message:t,code:"custom",input:n,inst:r}:{...t}}function $O(e,t){for(const n in t){const r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):AO(e,n,r.value)}}function Xc(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function f_(e,t,n){return Xc(e,t,n,!1)}function AO(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:Xc(this,t,n.bind(this))},set(r){Xc(this,t,r)}})}function CO(e,t){const n=Object.getPrototypeOf(e);return t in n?void 0:n}let kg,Ci=!1;const IO={configurable:!0,get(){Ci=!0}};function _n(e,t,n){const r=Object.getPrototypeOf(e._zod);if(t in r&&kg!==e._zod){kg=void 0;return}kg=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,IO);const o=Ci;Ci=!1;try{const s=n(this);return Ci?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:s}),Ci=Ci||o,s}catch(s){throw delete this[t],Ci=Ci||o,s}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function RO(e,t,n,r){const o=CO(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){const s={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,s),s.value=n(this),Object.defineProperty(this,t,s),s.value},set(s){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:s})}})}const OO="~constantCatch";function MO(e){const t=()=>e;return t[OO]=!0,t}var Hb;const wg={value:void 0,enumerable:!1};let Wb="captureStackTrace"in Error?Error:null;function LO(e){const t=Wb;if(t){const n=t.stackTraceLimit;if(typeof n=="number"){try{t.stackTraceLimit=0}catch{return Wb=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function be(e,t,n,r){const o={};function s(g){this.def=g,this.constr=p,this.traits=new Set}s.prototype=o;const a=n,l=a&&new WeakSet;function u(g,y){if(!g._zod){wg.value=new s(y);try{Object.defineProperty(g,"_zod",wg)}finally{wg.value=void 0}}if(g._zod.traits.has(e))return;if(g._zod.traits.add(e),t(g,y),l){const w=Object.getPrototypeOf(g),x=g._zod.constr.prototype;let N=w;for(;N&&N!==x;)N=Object.getPrototypeOf(N);const E=N??w;l.has(E)||(l.add(E),$O(E,a))}const v=p.prototype;for(const w in v)Object.prototype.hasOwnProperty.call(v,w)&&(w in g||(g[w]=v[w].bind(g)))}const h=(r==null?void 0:r.Parent)??Object;class f extends h{}Object.defineProperty(f,"name",{value:e});function p(g){var x;const y=r!=null&&r.Parent?LO(f):this;u(y,g);const v=y._zod.deferred;if(v){for(const N of v)N();y._zod.deferred=void 0}const w=(x=globalThis.__zod_globalConfig)==null?void 0:x.postProcessor;return w&&w(y),y}return Object.defineProperty(p,"init",{value:u}),Object.defineProperty(p,Symbol.hasInstance,{value:g=>{var y,v;return r!=null&&r.Parent&&g instanceof r.Parent?!0:(v=(y=g==null?void 0:g._zod)==null?void 0:y.traits)==null?void 0:v.has(e)}}),Object.defineProperty(p,"name",{value:e}),p}class Wc extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class h_ extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}}(Hb=globalThis).__zod_globalConfig??(Hb.__zod_globalConfig={});const as=globalThis.__zod_globalConfig;function Zi(e){return e&&Object.assign(as,e),as}function PO(){const e=this._zod;return e.message??(e.message=JSON.stringify(e.def,fk,2)),e.message}function DO(e){this._zod.message=e}const zO={get:PO,set:DO,enumerable:!0,configurable:!0},yg={value:void 0,enumerable:!1},vg={value:void 0,enumerable:!1},Kb=new WeakSet([Object.prototype,Error.prototype]),p_=(e,t)=>{e.name="$ZodError",yg.value=e._zod,Object.defineProperty(e,"_zod",yg),vg.value=t,Object.defineProperty(e,"issues",vg),yg.value=void 0,vg.value=void 0,Object.defineProperty(e,"message",zO);const n=Object.getPrototypeOf(e);Kb.has(n)||(Kb.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){const r=()=>this.message;return Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,"toString",{value:r,configurable:!0,writable:!0})}}))},m_=be("$ZodError",p_),g_=be("$ZodError",p_,void 0,{Parent:Error});function FO(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function BO(e,t=n=>n.message){const n={},r=[];for(const o of e.issues)o.path.length>0?FO(n,o.path[0],()=>[]).push(t(o)):r.push(t(o));return{formErrors:r,fieldErrors:n}}function UO(e,t=n=>n.message){const n={_errors:[]},r=(o,s=[])=>{for(const a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map(l=>r({issues:l},[...s,...a.path]));else if(a.code==="invalid_key")r({issues:a.issues},[...s,...a.path]);else if(a.code==="invalid_element")r({issues:a.issues},[...s,...a.path]);else{const l=[...s,...a.path];if(l.length===0)n._errors.push(t(a));else{let u=n,h=0;for(;h<l.length;){const f=l[h],p=h===l.length-1;if(f==="_errors"){p&&u._errors.push(t(a)),h++;continue}Object.prototype.hasOwnProperty.call(u,f)||Object.defineProperty(u,f,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});const g=u[f];p&&g._errors.push(t(a)),u=g,h++}}}};return r(e),n}function rp(e,t){return{callee:(t==null?void 0:t.callee)??e,Err:t==null?void 0:t.Err}}const Ww=e=>{const t=(n,r,o,s)=>{const a=o?{...o,async:!1}:{async:!1},l=n._zod.run({value:r,issues:[]},a);if(l instanceof Promise)throw new Wc;if(l.issues.length){const u=new((s==null?void 0:s.Err)??e)(l.issues.map(h=>ul(h,a,Zi())));throw l_(u,(s==null?void 0:s.callee)??t),u}return l.value};return t},Kw=e=>{const t=async(n,r,o,s)=>{const a=o?{...o,async:!0}:{async:!0};let l=n._zod.run({value:r,issues:[]},a);if(l instanceof Promise&&(l=await l),l.issues.length){const u=new((s==null?void 0:s.Err)??e)(l.issues.map(h=>ul(h,a,Zi())));throw l_(u,(s==null?void 0:s.callee)??t),u}return l.value};return t},op=e=>(t,n,r)=>{const o=r?{...r,async:!1}:{async:!1},s=t._zod.run({value:n,issues:[]},o);if(s instanceof Promise)throw new Wc;return s.issues.length?{success:!1,error:new(e??m_)(s.issues.map(a=>ul(a,o,Zi())))}:{success:!0,data:s.value}},HO=op(g_),sp=e=>async(t,n,r)=>{const o=r?{...r,async:!0}:{async:!0};let s=t._zod.run({value:n,issues:[]},o);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(a=>ul(a,o,Zi())))}:{success:!0,data:s.value}},WO=sp(g_),KO=e=>{const t=Ww(e),n=(r,o,s,a)=>{const l=s?{...s,direction:"backward"}:{direction:"backward"};return t(r,o,l,rp(n,a))};return n},qO=e=>{const t=Ww(e),n=(r,o,s,a)=>t(r,o,s,rp(n,a));return n},ZO=e=>{const t=Kw(e),n=async(r,o,s,a)=>{const l=s?{...s,direction:"backward"}:{direction:"backward"};return await t(r,o,l,rp(n,a))};return n},GO=e=>{const t=Kw(e),n=async(r,o,s,a)=>await t(r,o,s,rp(n,a));return n},VO=e=>(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return op(e)(t,n,o)},YO=e=>(t,n,r)=>op(e)(t,n,r),XO=e=>async(t,n,r)=>{const o=r?{...r,direction:"backward"}:{direction:"backward"};return sp(e)(t,n,o)},QO=e=>async(t,n,r)=>sp(e)(t,n,r),JO=/^[cC][0-9a-z]{6,}$/,eM=/^[0-9a-z]+$/,tM=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,nM=/^[0-9a-vA-V]{20}$/,rM=/^[A-Za-z0-9]{27}$/,oM=/^[a-zA-Z0-9_-]{21}$/;function sM(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const iM=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,aM=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,qb=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,cM=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,lM="^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function uM(){return new RegExp(lM,"u")}const dM=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,fM=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,hM=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,pM=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mM=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,k_=/^[A-Za-z0-9_-]*$/,gM=/^https?$/,kM=/^\+[1-9]\d{6,14}$/,w_="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function wM(e){return new RegExp(`^${e}$`)}const yM=wM(w_);function hk(e){const t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function vM(e){return new RegExp(`^${hk(e)}$`)}function bM(e){const t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const n=`${hk({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,r=e.local?`${n}|${hk({precision:e.precision})}`:n;return new RegExp(`^${w_}T(?:${r})$`)}const xM=e=>{const t=e?`[\\s\\S]{${(e==null?void 0:e.minimum)??0},${(e==null?void 0:e.maximum)??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},EM=/^-?\d+$/,SM=/^-?\d+(?:\.\d+)?$/,_M=/^(?:true|false)$/i,NM=/^[^A-Z]*$/,TM=/^[^a-z]*$/,yo=be("$ZodCheck",(e,t)=>{var n;e._zod??(e._zod={}),e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),qw=e=>{const t=e.value;return!fO(t)&&t.length!==void 0},ch={number:"number",bigint:"bigint",object:"date"},y_=be("$ZodCheckLessThan",(e,t)=>{yo.init(e,t);const n=ch[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;t.value<s&&(t.inclusive?o.maximum=t.value:o.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:ch[typeof r.value]??n,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),v_=be("$ZodCheckGreaterThan",(e,t)=>{yo.init(e,t);const n=ch[typeof t.value];e._zod.onattach.push(r=>{const o=r._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?o.minimum=t.value:o.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:ch[typeof r.value]??n,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),jM=be("$ZodCheckMultipleOf",(e,t)=>{yo.init(e,t),e._zod.onattach.push(n=>{var r;(r=n._zod.bag).multipleOf??(r.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof n.value=="bigint"?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):hO(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:"not_multiple_of",divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),$M=be("$ZodCheckNumberFormat",(e,t)=>{var a;yo.init(e,t),t.format=t.format||"float64";const n=(a=t.format)==null?void 0:a.includes("int"),r=n?"int":"number",[o,s]=yO[t.format];e._zod.onattach.push(l=>{const u=l._zod.bag;u.format=t.format,u.minimum=o,u.maximum=s,n&&(u.pattern=EM)}),e._zod.check=l=>{const u=l.value;if(n){if(!Number.isInteger(u)){l.issues.push({expected:r,format:t.format,code:"invalid_type",continue:!1,input:u,inst:e});return}if(!Number.isSafeInteger(u)){u>0?l.issues.push({input:u,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort}):l.issues.push({input:u,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}u<o&&l.issues.push({origin:"number",input:u,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),u>s&&l.issues.push({origin:"number",input:u,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}}),AM=be("$ZodCheckMaxLength",(e,t)=>{var n;yo.init(e,t),(n=e._zod.def).when??(n.when=qw),e._zod.onattach.push(r=>{const o=r._zod.bag.maximum??Number.POSITIVE_INFINITY;t.maximum<o&&(r._zod.bag.maximum=t.maximum)}),e._zod.check=r=>{const o=r.value,s=o.length;if((typeof o=="string"&&s>t.maximum?Uw(o):s)<=t.maximum)return;const l=Hw(o);r.issues.push({origin:l,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),CM=be("$ZodCheckMinLength",(e,t)=>{var n;yo.init(e,t),(n=e._zod.def).when??(n.when=qw),e._zod.onattach.push(r=>{const o=r._zod.bag.minimum??Number.NEGATIVE_INFINITY;t.minimum>o&&(r._zod.bag.minimum=t.minimum)}),e._zod.check=r=>{const o=r.value,s=o.length;if((typeof o=="string"&&s>=t.minimum&&s<t.minimum*2?Uw(o):s)>=t.minimum)return;const l=Hw(o);r.issues.push({origin:l,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),IM=be("$ZodCheckLengthEquals",(e,t)=>{var n;yo.init(e,t),(n=e._zod.def).when??(n.when=qw),e._zod.onattach.push(r=>{const o=r._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=r=>{const o=r.value,s=o.length,a=typeof o=="string"&&s>=t.length&&s<=t.length*2?Uw(o):s;if(a===t.length)return;const l=Hw(o),u=a>t.length;r.issues.push({origin:l,...u?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:r.value,inst:e,continue:!t.abort})}}),ip=be("$ZodCheckStringFormat",(e,t)=>{var n,r;yo.init(e,t),e._zod.onattach.push(o=>{const s=o._zod.bag;s.format=t.format,t.pattern&&(s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),RM=be("$ZodCheckRegex",(e,t)=>{ip.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:"string",code:"invalid_format",format:"regex",input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),OM=be("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=NM),ip.init(e,t)}),MM=be("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=TM),ip.init(e,t)}),LM=be("$ZodCheckIncludes",(e,t)=>{yo.init(e,t);const n=Yc(t.includes),r=new RegExp(typeof t.position=="number"?`^.{${t.position},}${n}`:n);t.pattern=r,e._zod.onattach.push(o=>{const s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(r)}),e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),PM=be("$ZodCheckStartsWith",(e,t)=>{yo.init(e,t);const n=new RegExp(`^${Yc(t.prefix)}.*`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.startsWith(t.prefix)||r.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:r.value,inst:e,continue:!t.abort})}}),DM=be("$ZodCheckEndsWith",(e,t)=>{yo.init(e,t);const n=new RegExp(`.*${Yc(t.suffix)}$`);t.pattern??(t.pattern=n),e._zod.onattach.push(r=>{const o=r._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=r=>{r.value.endsWith(t.suffix)||r.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:r.value,inst:e,continue:!t.abort})}}),zM=be("$ZodCheckOverwrite",(e,t)=>{yo.init(e,t),e._zod.check=n=>{n.value=t.tx(n.value)}});class FM{constructor(t=[],n={}){this.content=[],this.indent=0,this.args=t,this.closed=n}indented(t){this.indent+=1,t(this),this.indent-=1}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}const r=t.split(`
|
|
43
|
+
`).filter(a=>a),o=Math.min(...r.map(a=>a.length-a.trimStart().length)),s=r.map(a=>a.slice(o)).map(a=>" ".repeat(this.indent*2)+a);for(const a of s)this.content.push(a)}compile(){const t=Function,n=(this==null?void 0:this.content)??[""];return new t(...Object.keys(this.closed),`return function (${this.args.join(", ")}) {
|
|
44
|
+
${n.join(`
|
|
45
|
+
`)}
|
|
46
|
+
};`)(...Object.values(this.closed))}}const BM={major:4,minor:5,patch:4},qn=be("$ZodType",(e,t)=>{var s;var n;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=BM;const r=e._zod.def.checks,o=e._zod.traits.has("$ZodCheck")?[e,...r??[]]:r!=null&&r.length?[...r]:[];for(const a of o)for(const l of a._zod.onattach)l(e);if(o.length===0)(n=e._zod).deferred??(n.deferred=[]),(s=e._zod.deferred)==null||s.push(()=>{e._zod.run=e._zod.parse});else{const a=(u,h,f)=>{if(u.memo)return u;let p=Lc(u),g;for(const y of h){if(y._zod.def.when){if(NO(u)||!y._zod.def.when(u))continue}else if(p)continue;const v=u.issues.length,w=y._zod.check(u);if(w instanceof Promise&&(f==null?void 0:f.async)===!1)throw new Wc;if(g||w instanceof Promise)g=(g??Promise.resolve()).then(async()=>{await w,u.issues.length!==v&&(Ub(u.issues,v,e),p||(p=Lc(u,v)))});else{if(u.issues.length===v)continue;Ub(u.issues,v,e),p||(p=Lc(u,v))}}return g?g.then(()=>u):u},l=(u,h,f)=>{if(Lc(u))return u.aborted=!0,u;const p=a(h,o,f);if(p instanceof Promise){if(f.async===!1)throw new Wc;return p.then(g=>e._zod.parse(g,f))}return e._zod.parse(p,f)};e._zod.run=(u,h)=>{if(h.skipChecks)return e._zod.parse(u,h);if(h.direction==="backward"){const p=e._zod.parse({value:u.value,issues:[]},{...h,skipChecks:!0});return p instanceof Promise?p.then(g=>l(g,u,h)):l(p,u,h)}const f=e._zod.parse(u,h);if(f instanceof Promise){if(h.async===!1)throw new Wc;return f.then(p=>a(p,o,h))}return a(f,o,h)}}},{get"~standard"(){return f_(this,"~standard",b_(this))},set"~standard"(e){Xc(this,"~standard",e)}}),Zb=e=>{var t;return e.success?{value:e.data}:{issues:(t=e.error)==null?void 0:t.issues}};function b_(e){return{validate:t=>{try{return Zb(HO(e,t))}catch{return WO(e,t).then(Zb)}},vendor:"zod",version:1}}const Zw=be("$ZodString",(e,t)=>{var n;qn.init(e,t),e._zod.pattern=[...((n=e==null?void 0:e._zod.bag)==null?void 0:n.patterns)??[]].pop()??xM(e._zod.bag),e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),Zn=be("$ZodStringFormat",(e,t)=>{ip.init(e,t),Zw.init(e,t)}),UM=be("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=aM),Zn.init(e,t)}),HM=be("$ZodUUID",(e,t)=>{if(t.version){const r={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(r===void 0)throw new Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=qb(r))}else t.pattern??(t.pattern=qb());Zn.init(e,t)}),WM=be("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=cM),Zn.init(e,t)}),x_=1,E_=2;function KM(e,t){var n;if(!t.normalize&&((n=t.protocol)==null?void 0:n.source)===gM.source&&!/^https?:\/\//i.test(e))return x_;try{return new URL(e)}catch{return E_}}const qM=/[\t\n\r]/g;function ZM(e){return e.replace(qM,"")}function GM(e,t){return t.lastIndex=0,t.test(e.hostname)}function VM(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(":")?e.protocol.slice(0,-1):e.protocol)}const YM=be("$ZodURL",(e,t)=>{Zn.init(e,t),e._zod.check=n=>{try{const r=n.value.trim(),o=KM(r,t);if(o===x_){n.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:n.value,inst:e,continue:!t.abort});return}if(o===E_){n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort});return}t.hostname&&!GM(o,t.hostname)&&n.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!VM(o,t.protocol)&&n.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?o.href:ZM(r);return}catch{n.issues.push({code:"invalid_format",format:"url",input:n.value,inst:e,continue:!t.abort})}}}),XM=be("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=uM()),Zn.init(e,t)}),QM=be("$ZodNanoID",(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw new Error(`Invalid nanoid length: ${t.length}`);t.pattern??(t.pattern=t.length===void 0?oM:sM(t.length)),Zn.init(e,t)}),JM=be("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=JO),Zn.init(e,t)}),e2=be("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=eM),Zn.init(e,t)}),t2=be("$ZodULID",(e,t)=>{t.pattern??(t.pattern=tM),Zn.init(e,t)}),n2=be("$ZodXID",(e,t)=>{t.pattern??(t.pattern=nM),Zn.init(e,t)}),r2=be("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=rM),Zn.init(e,t)}),o2=be("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=bM(t)),Zn.init(e,t),(t.local||t.precision===-1)&&(e._zod.bag.laxFormat=!0,e._zod.onattach.push(n=>{n._zod.bag.laxFormat=!0}))}),s2=be("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=yM),Zn.init(e,t)}),i2=be("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=vM(t)),Zn.init(e,t)}),a2=be("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=iM),Zn.init(e,t)}),c2=be("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=dM),Zn.init(e,t),e._zod.bag.format="ipv4"}),l2=/^[0-9a-fA-F:.]+$/;function S_(e){if(!l2.test(e))return!1;try{return new URL(`http://[${e}]`),!0}catch{return!1}}const u2=be("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=fM),Zn.init(e,t),e._zod.bag.format="ipv6",e._zod.check=n=>{S_(n.value)||n.issues.push({code:"invalid_format",format:"ipv6",input:n.value,inst:e,continue:!t.abort})}}),d2=be("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=hM),Zn.init(e,t)});function f2(e){const t=e.split("/");if(t.length!==2)return!1;const[n,r]=t;if(!r)return!1;const o=Number(r);return`${o}`!==r||o<0||o>128?!1:S_(n)}const h2=be("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=pM),Zn.init(e,t),e._zod.check=n=>{f2(n.value)||n.issues.push({code:"invalid_format",format:"cidrv6",input:n.value,inst:e,continue:!t.abort})}});function __(e){if(e==="")return!0;if(/\s/.test(e)||e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}const p2=be("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=mM),Zn.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=n=>{__(n.value)||n.issues.push({code:"invalid_format",format:"base64",input:n.value,inst:e,continue:!t.abort})}});function m2(e){if(!k_.test(e))return!1;const t=e.replace(/[-_]/g,r=>r==="-"?"+":"/"),n=t.padEnd(Math.ceil(t.length/4)*4,"=");return __(n)}const g2=be("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=k_),Zn.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=n=>{m2(n.value)||n.issues.push({code:"invalid_format",format:"base64url",input:n.value,inst:e,continue:!t.abort})}}),k2=be("$ZodE164",(e,t)=>{t.pattern??(t.pattern=kM),Zn.init(e,t)});function w2(e,t=null){try{const n=e.split(".");if(n.length!==3)return!1;const[r]=n;if(!r)return!1;const o=JSON.parse(atob(r));return!("typ"in o&&(o==null?void 0:o.typ)!=="JWT"||!o.alg||t&&(!("alg"in o)||o.alg!==t))}catch{return!1}}const y2=be("$ZodJWT",(e,t)=>{Zn.init(e,t),e._zod.check=n=>{w2(n.value,t.alg)||n.issues.push({code:"invalid_format",format:"jwt",input:n.value,inst:e,continue:!t.abort})}}),N_=be("$ZodNumber",(e,t)=>{qn.init(e,t),e._zod.pattern=e._zod.bag.pattern??SM,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}const o=n.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return n;const s=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:String(o):void 0;return n.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),n}}),v2=be("$ZodNumberFormat",(e,t)=>{$M.init(e,t),N_.init(e,t)}),b2=be("$ZodBoolean",(e,t)=>{qn.init(e,t),e._zod.pattern=_M,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}const o=n.value;return typeof o=="boolean"||n.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),n}}),x2=be("$ZodUnknown",(e,t)=>{qn.init(e,t),e._zod.parse=n=>n}),E2=be("$ZodNever",(e,t)=>{qn.init(e,t),e._zod.parse=(n,r)=>(n.issues.push({expected:"never",code:"invalid_type",input:n.value,inst:e}),n)});function Gb(e,t,n){e.issues.length&&t.issues.push(...np(n,e.issues)),t.value[n]=e.value}const S2=be("$ZodArray",(e,t)=>{qn.init(e,t);const n=as.memoizer;n==null||n.attach(e),e._zod.parse=(r,o)=>{const s=r.value;if(!Array.isArray(s))return r.issues.push({expected:"array",code:"invalid_type",input:s,inst:e}),r;r.value=n?n.alloc(e,r,Array(s.length),o):Array(s.length);const a=[];for(let l=0;l<s.length;l++){const u=s[l],h=t.element._zod.run({value:u,issues:[]},o);h instanceof Promise?a.push(h.then(f=>Gb(f,r,l))):Gb(h,r,l)}return a.length?Promise.all(a).then(()=>r):r}});function lh(e,t,n,r,o,s){const a=n in r,l=s==="optional";if(!(!a&&l&&o==="optional")){if(e.issues.length){if(o!==void 0&&l&&!a)return;t.issues.push(...np(n,e.issues))}if(!a&&o===void 0){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[n]});return}e.value===void 0?a&&(t.value[n]=void 0):t.value[n]=e.value}}const _2=[];function T_(e){var a,l,u,h;const t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:_2,o=r.length?[...t,...r]:t;for(const f of o)if(!((h=(u=(l=(a=e.shape)==null?void 0:a[f])==null?void 0:l._zod)==null?void 0:u.traits)!=null&&h.has("$ZodType")))throw new Error(`Invalid element at key "${String(f)}": expected a Zod schema`);const s=wO(e.shape);return{...e,allKeys:o,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(s)}}function j_(e,t,n,r,o,s){const a=[],l=o.keySet,u=o.catchall._zod,h=u.def.type,f=u.optin,p=u.optout;for(const g in t){if(l.has(g))continue;if(g==="__proto__"){h==="never"&&a.push(g);continue}if(h==="never"){a.push(g);continue}const y=u.run({value:t[g],issues:[]},r);y instanceof Promise?e.push(y.then(v=>lh(v,n,g,t,f,p))):lh(y,n,g,t,f,p)}return a.length&&n.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:s,continue:!0}),e.length?Promise.all(e).then(()=>n):n}const pk=new WeakMap,N2=be("$ZodObject",(e,t)=>{qn.init(e,t);const n=Object.getOwnPropertyDescriptor(t,"shape");if(!(n!=null&&n.get)){const u=t.shape;pk.set(t,u),Object.defineProperty(t,"shape",{get:()=>{const h={...u};return Object.defineProperty(t,"shape",{value:h}),pk.set(t,h),h}})}const r=tp(()=>T_(t));_n(e,"propValues",u=>{const h=u.def.shape,f={};for(const p in h){const g=h[p]._zod;if(g.values){Object.prototype.hasOwnProperty.call(f,p)||wo(f,p,new Set);for(const y of g.values)f[p].add(y);g.optin!==void 0&&f[p].add(void 0)}}return f});const o=ju,s=t.catchall;let a;const l=as.memoizer;l==null||l.attach(e),e._zod.parse=(u,h)=>{a??(a=r.value);const f=u.value;if(!o(f))return u.issues.push({expected:"object",code:"invalid_type",input:f,inst:e}),u;u.value=l?l.alloc(e,u,{},h):{};const p=[],g=a.shape;for(const y of a.allKeys){if(y==="__proto__")continue;const v=g[y],w=v._zod.optin,x=v._zod.optout,N=v._zod.run({value:f[y],issues:[]},h);N instanceof Promise?p.push(N.then(E=>lh(E,u,y,f,w,x))):lh(N,u,y,f,w,x)}return s?j_(p,f,u,h,r.value,e):p.length?Promise.all(p).then(()=>u):u}}),T2=be("$ZodObjectJIT",(e,t)=>{N2.init(e,t);const n=e._zod.parse,r=tp(()=>T_(t)),o=as.memoizer,s=y=>{var A,I;const v=r.value,w=v.symbolKeys,x=new FM(["payload","ctx"],{shape:y,inst:e,memo:o,syms:w}),N=$=>`shape[${$}]._zod.run({ value: input[${$}], issues: [] }, ctx)`,E=($,C)=>`
|
|
47
|
+
for (let i = 0; i < ${$}.issues.length; i++) {
|
|
48
|
+
const iss = ${$}.issues[i];
|
|
49
|
+
iss.path = iss.path ? [${C}, ...iss.path] : [${C}];
|
|
50
|
+
payload.issues.push(iss);
|
|
51
|
+
}`;x.write("const input = payload.value;");const T=Object.create(null);let j=0;for(const $ of v.allKeys)T[$]=`key_${j++}`;x.write(o?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(const $ of v.allKeys){if($==="__proto__")continue;const C=T[$],L=typeof $=="symbol"?`syms[${w.indexOf($)}]`:pO($),P=`${L} in input`,B=y[$],q=(A=B==null?void 0:B._zod)==null?void 0:A.optin,ne=q!==void 0,Q=((I=B==null?void 0:B._zod)==null?void 0:I.optout)==="optional";if(x.write(`const ${C} = ${N(L)};`),ne&&Q){const le=q==="optional"?`${C}_present`:`${C}.value !== undefined || ${C}_present`;x.write(`
|
|
52
|
+
const ${C}_present = ${P};
|
|
53
|
+
if (!${C}.issues.length || ${C}_present) {
|
|
54
|
+
if (${C}.issues.length) {${E(C,L)}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (${le}) {
|
|
58
|
+
newResult[${L}] = ${C}.value;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
`)}else ne?x.write(`
|
|
63
|
+
if (${C}.issues.length) {${E(C,L)}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (${C}.value === undefined) {
|
|
67
|
+
if (${P}) {
|
|
68
|
+
newResult[${L}] = undefined;
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
newResult[${L}] = ${C}.value;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
`):x.write(`
|
|
75
|
+
const ${C}_present = ${P};
|
|
76
|
+
if (${C}.issues.length) {${E(C,L)}
|
|
77
|
+
}
|
|
78
|
+
if (!${C}_present && !${C}.issues.length) {
|
|
79
|
+
payload.issues.push({
|
|
80
|
+
code: "invalid_type",
|
|
81
|
+
expected: "nonoptional",
|
|
82
|
+
input: undefined,
|
|
83
|
+
path: [${L}]
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (${C}_present) {
|
|
88
|
+
newResult[${L}] = ${C}.value;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
`)}return x.write("payload.value = newResult;"),x.write("return payload;"),x.compile()};let a;const l=ju,u=!as.jitless,f=u&&gO.value,p=t.catchall;let g;e._zod.parse=(y,v)=>{g??(g=r.value);const w=y.value;return l(w)?u&&f&&(v==null?void 0:v.async)===!1&&v.jitless!==!0?(a||(a=s(t.shape)),y=a(y,v),p?j_([],w,y,v,g,e):y):n(y,v):(y.issues.push({expected:"object",code:"invalid_type",input:w,inst:e}),y)}});function Vb(e,t,n,r){for(const s of e)if(s.issues.length===0)return t.value=s.value,t;const o=e.filter(s=>!Lc(s));return o.length===1?(t.value=o[0].value,o[0]):(t.issues.push({code:"invalid_union",input:t.value,inst:n,errors:e.map(s=>s.issues.map(a=>ul(a,r,Zi())))}),t)}const $_=be("$ZodUnion",(e,t)=>{qn.init(e,t),_n(e,"optin",r=>r.def.options.some(o=>o._zod.optin==="defaulted")?"defaulted":r.def.options.some(o=>o._zod.optin!==void 0)?"optional":void 0),_n(e,"optout",r=>r.def.options.some(o=>o._zod.optout==="optional")?"optional":void 0),_n(e,"values",r=>{if(r.def.options.every(o=>o._zod.values))return new Set(r.def.options.flatMap(o=>Array.from(o._zod.values)))}),_n(e,"pattern",r=>{if(r.def.options.every(o=>o._zod.pattern)){const o=r.def.options.map(s=>s._zod.pattern);return new RegExp(`^(${o.map(s=>Bw(s.source)).join("|")})$`)}});const n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,o)=>{if(n)return n(r,o);let s=!1;const a=[];for(const l of t.options){const u=l._zod.run({value:r.value,issues:[]},o);if(u instanceof Promise)a.push(u),s=!0;else{if(u.issues.length===0)return u;a.push(u)}}return s?Promise.all(a).then(l=>Vb(l,r,e,o)):Vb(a,r,e,o)}}),j2=be("$ZodDiscriminatedUnion",(e,t)=>{t.inclusive=!1,$_.init(e,t);const n=e._zod.parse;_n(e,"propValues",o=>{const s={};for(const a of o.def.options){const l=a._zod.propValues;if(!l||Object.keys(l).length===0)throw new Error(`Invalid discriminated union option at index "${o.def.options.indexOf(a)}"`);for(const[u,h]of Object.entries(l)){Object.prototype.hasOwnProperty.call(s,u)||wo(s,u,new Set);for(const f of h)s[u].add(f)}}return s}),t.options.forEach((o,s)=>{const a=pk.get(o._zod.def);if(a&&!Object.prototype.hasOwnProperty.call(a,t.discriminator))throw new Error(`Invalid discriminated union option at index "${s}"`)});const r=tp(()=>{var a;const o=t.options,s=new Map;for(const l of o){const u=(a=l._zod.propValues)==null?void 0:a[t.discriminator];if(!u||u.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(l)}"`);for(const h of u){if(s.has(h))throw new Error(`Duplicate discriminator value "${String(h)}"`);s.set(h,l)}}return s});e._zod.parse=(o,s)=>{const a=o.value;if(!ju(a))return o.issues.push({code:"invalid_type",expected:"object",input:a,inst:e}),o;const l=r.value.get(a==null?void 0:a[t.discriminator]);return l?l._zod.run(o,s):t.unionFallback||s.direction==="backward"?n(o,s):(o.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,options:Array.from(r.value.keys()),input:a,path:[t.discriminator],inst:e}),o)}}),$2=be("$ZodIntersection",(e,t)=>{qn.init(e,t),e._zod.parse=(n,r)=>{const o=n.value,s=t.left._zod.run({value:o,issues:[]},r),a=t.right._zod.run({value:o,issues:[]},r);return s instanceof Promise||a instanceof Promise?Promise.all([s,a]).then(([u,h])=>Yb(n,u,h)):Yb(n,s,a)}});function mk(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if($u(e)&&$u(t)){const n=Object.keys(t),r=Object.keys(e).filter(s=>n.indexOf(s)!==-1),o={...e,...t};Object.prototype.hasOwnProperty.call(o,"__proto__")&&delete o.__proto__;for(const s of r){if(s==="__proto__")continue;const a=mk(e[s],t[s]);if(!a.valid)return{valid:!1,mergeErrorPath:[s,...a.mergeErrorPath]};o[s]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};const n=[];for(let r=0;r<e.length;r++){const o=e[r],s=t[r],a=mk(o,s);if(!a.valid)return{valid:!1,mergeErrorPath:[r,...a.mergeErrorPath]};n.push(a.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Yb(e,t,n){const r=new Map;let o;const s=new Map,a=(h,f)=>{var g,y;let p;if(h.code==="unrecognized_keys"&&!((g=h.path)!=null&&g.length))o??(o=h),p=h.keys;else if(h.code==="invalid_key"&&h.origin==="record"&&((y=h.path)==null?void 0:y.length)===1){const v=String(h.path[0]);s.has(v)||s.set(v,h),p=[v]}else return!1;for(const v of p)r.has(v)||r.set(v,{}),r.get(v)[f]=!0;return!0};for(const h of t.issues)a(h,"l")||e.issues.push(h);for(const h of n.issues)a(h,"r")||e.issues.push(h);const l=[...r].filter(([,h])=>h.l&&h.r).map(([h])=>h);if(l.length){const h=o?l.filter(f=>o.keys.includes(f)):[];h.length&&e.issues.push({...o,keys:h});for(const f of l)!h.includes(f)&&s.has(f)&&e.issues.push(s.get(f))}const u=mk(t.value,n.value);if(!u.valid){if(Lc(e))return e;throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(u.mergeErrorPath)}`)}return e.value=u.data,e}const A2=be("$ZodTuple",(e,t)=>{qn.init(e,t);const n=t.items,r=as.memoizer;r==null||r.attach(e),e._zod.parse=(o,s)=>{const a=o.value;if(!Array.isArray(a))return o.issues.push({input:a,inst:e,expected:"tuple",code:"invalid_type"}),o;o.value=r?r.alloc(e,o,[],s):[];const l=[],u=Xb(n,"optin"),h=Xb(n,"optout");if(!t.rest){if(a.length<u)return o.issues.push({code:"too_small",minimum:u,inclusive:!0,input:a,inst:e,origin:"array"}),o;a.length>n.length&&o.issues.push({code:"too_big",maximum:n.length,inclusive:!0,input:a,inst:e,origin:"array"})}const f=new Array(n.length);for(let p=0;p<n.length;p++){const g=n[p]._zod.run({value:a[p],issues:[]},s);g instanceof Promise?l.push(g.then(y=>{f[p]=y})):f[p]=g}if(t.rest){let p=n.length-1;const g=a.slice(n.length);for(const y of g){p++;const v=t.rest._zod.run({value:y,issues:[]},s);v instanceof Promise?l.push(v.then(w=>Qb(w,o,p))):Qb(v,o,p)}}return l.length?Promise.all(l).then(()=>Jb(f,o,n,a,h)):Jb(f,o,n,a,h)}});function Xb(e,t){for(let n=e.length-1;n>=0;n--)if(!(t==="optin"?e[n]._zod.optin!==void 0:e[n]._zod.optout==="optional"))return n+1;return 0}function Qb(e,t,n){e.issues.length&&t.issues.push(...np(n,e.issues)),t.value[n]=e.value}function Jb(e,t,n,r,o){for(let s=0;s<n.length;s++){const a=e[s],l=s<r.length;if(!l&&s>=o&&n[s]._zod.optin==="optional"){t.value.length=s;break}if(a.issues.length){if(!l&&s>=o){t.value.length=s;break}t.issues.push(...np(s,a.issues))}t.value[s]=a.value}for(let s=t.value.length-1;s>=r.length&&(n[s]._zod.optout==="optional"&&t.value[s]===void 0);s--)t.value.length=s;return t}const C2=be("$ZodEnum",(e,t)=>{qn.init(e,t);const n=c_(t.entries),r=new Set(n);e._zod.values=r;const o=n.filter(s=>kO.has(typeof s));e._zod.pattern=new RegExp(o.length?`^(${o.map(s=>Yc(s.toString())).join("|")})$`:"^[^\\s\\S]$"),e._zod.parse=(s,a)=>{const l=s.value;return r.has(l)||s.issues.push({code:"invalid_value",values:n,input:l,inst:e}),s}}),I2=be("$ZodLiteral",(e,t)=>{qn.init(e,t);const n=new Set(t.values);e._zod.values=n,e._zod.pattern=new RegExp(t.values.length?`^(${t.values.map(r=>typeof r=="string"?Yc(r):r?Yc(r.toString()):String(r)).join("|")})$`:"^[^\\s\\S]$"),e._zod.parse=(r,o)=>{const s=r.value;return n.has(s)||r.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),r}}),R2=be("$ZodTransform",(e,t)=>{var n;qn.init(e,t),e._zod.optin="optional",(n=as.memoizer)==null||n.guard(e),e._zod.parse=(r,o)=>{if(o.direction==="backward")throw new h_(e.constructor.name);const s=t.transform(r.value,r);if(o.async)return(s instanceof Promise?s:Promise.resolve(s)).then(l=>(r.value=l,r));if(s instanceof Promise)throw new Wc;return r.value=s,r}});function ex(e,t){return e.value=t.issues.length?void 0:t.value,e}const A_=be("$ZodOptional",(e,t)=>{qn.init(e,t),_n(e,"optin",n=>n.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),e._zod.optout="optional",_n(e,"values",n=>{const r=n.def.innerType._zod.values;return r?new Set([...r,void 0]):void 0}),_n(e,"pattern",n=>{const r=n.def.innerType._zod.pattern;return r?new RegExp(`^(${Bw(r.source)})?$`):void 0}),e._zod.parse=(n,r)=>{if(n.value===void 0){if(t.innerType._zod.optin!=="defaulted")return n;const o=t.innerType._zod.run({value:n.value,issues:[]},r);return o instanceof Promise?o.then(s=>ex(n,s)):ex(n,o)}return t.innerType._zod.run(n,r)}}),O2=be("$ZodExactOptional",(e,t)=>{A_.init(e,t),_n(e,"values",n=>n.def.innerType._zod.values),_n(e,"pattern",n=>n.def.innerType._zod.pattern),e._zod.parse=(n,r)=>t.innerType._zod.run(n,r)}),M2=be("$ZodNullable",(e,t)=>{qn.init(e,t),_n(e,"optin",n=>n.def.innerType._zod.optin),_n(e,"optout",n=>n.def.innerType._zod.optout),_n(e,"pattern",n=>{const r=n.def.innerType._zod.pattern;return r?new RegExp(`^(${Bw(r.source)}|null)$`):void 0}),_n(e,"values",n=>n.def.innerType._zod.values?new Set([...n.def.innerType._zod.values,null]):void 0),e._zod.parse=(n,r)=>n.value===null?n:t.innerType._zod.run(n,r)}),L2=be("$ZodDefault",(e,t)=>{qn.init(e,t),e._zod.optin="defaulted",_n(e,"values",n=>n.def.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);if(n.value===void 0)return n.value=t.defaultValue,n;const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>tx(s,t)):tx(o,t)}});function tx(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const P2=be("$ZodPrefault",(e,t)=>{qn.init(e,t),e._zod.optin="defaulted",_n(e,"values",n=>n.def.innerType._zod.values),e._zod.parse=(n,r)=>(r.direction==="backward"||n.value===void 0&&(n.value=t.defaultValue),t.innerType._zod.run(n,r))}),D2=be("$ZodNonOptional",(e,t)=>{qn.init(e,t),_n(e,"values",n=>{const r=n.def.innerType._zod.values;return r?new Set([...r].filter(o=>o!==void 0)):void 0}),e._zod.parse=(n,r)=>{const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(s=>nx(s,e)):nx(o,e)}});function nx(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t}),e}function rx(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(o=>ul(o,r,Zi()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const z2=be("$ZodCatch",(e,t)=>{qn.init(e,t),_n(e,"optin",n=>n.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),_n(e,"optout",n=>n.def.innerType._zod.optout),_n(e,"values",n=>n.def.innerType._zod.values),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run({value:n.value,issues:[]},r);return o instanceof Promise?o.then(s=>rx(n,s,t,r)):rx(n,o,t,r)}}),F2=be("$ZodPipe",(e,t)=>{qn.init(e,t),_n(e,"values",n=>n.def.in._zod.values),_n(e,"optin",n=>n.def.in._zod.optin),_n(e,"optout",n=>n.def.out._zod.optout),_n(e,"propValues",n=>n.def.in._zod.propValues),e._zod.parse=(n,r)=>{if(r.direction==="backward"){const s=t.out._zod.run(n,r);return s instanceof Promise?s.then(a=>Sf(a,t.in,r)):Sf(s,t.in,r)}const o=t.in._zod.run(n,r);return o instanceof Promise?o.then(s=>Sf(s,t.out,r)):Sf(o,t.out,r)}});function Sf(e,t,n){return e.issues.some(r=>r.code!=="unrecognized_keys")?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const B2=be("$ZodReadonly",(e,t)=>{qn.init(e,t),_n(e,"propValues",n=>n.def.innerType._zod.propValues),_n(e,"values",n=>n.def.innerType._zod.values),_n(e,"optin",n=>{var r,o;return(o=(r=n.def.innerType)==null?void 0:r._zod)==null?void 0:o.optin}),_n(e,"optout",n=>{var r,o;return(o=(r=n.def.innerType)==null?void 0:r._zod)==null?void 0:o.optout}),e._zod.parse=(n,r)=>{if(r.direction==="backward")return t.innerType._zod.run(n,r);const o=t.innerType._zod.run(n,r);return o instanceof Promise?o.then(ox):ox(o)}});function ox(e){return e.memo||(e.value=Object.freeze(e.value)),e}const U2=be("$ZodCustom",(e,t)=>{yo.init(e,t),qn.init(e,t),e._zod.parse=(n,r)=>n,e._zod.check=n=>{const r=n.value,o=t.fn(r);if(o instanceof Promise)return o.then(s=>sx(s,n,r,e));sx(o,n,r,e)}});function sx(e,t,n,r){if(!e){const o={code:"custom",input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(o.params=r._zod.def.params),t.issues.push(Au(o))}}class H2 extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}}const gk="~memo",ix=[];function bg(e){return e.map(t=>t.path?{...t,path:t.path.slice()}:{...t})}const ax=new WeakMap;function C_(e,t){const n=ax.get(e);if(n!==void 0)return n;if(t.has(e))return!0;t.add(e);let r=!1;const o=l=>{!r&&(l!=null&&l._zod)&&C_(l,t)&&(r=!0)},s=e._zod.def;switch(s.type){case"object":{for(const l of Reflect.ownKeys(s.shape))o(s.shape[l]);o(s.catchall);break}case"array":o(s.element);break;case"tuple":for(const l of s.items)o(l);o(s.rest);break;case"record":case"map":o(s.keyType),o(s.valueType);break;case"set":o(s.valueType);break;case"union":for(const l of s.options)o(l);break;case"intersection":o(s.left),o(s.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":o(s.innerType);break;case"pipe":o(s.in),o(s.out);break;case"function":o(s.input),o(s.output);break;case"lazy":o(e._zod.innerType);break;case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(const l in s){const u=Object.getOwnPropertyDescriptor(s,l);if(!u||u.get)continue;const h=u.value;if(!(!h||typeof h!="object")){if(h._zod)o(h);else if(Array.isArray(h))for(const f of h)o(f)}}}return t.delete(e),ax.set(e,r),r}function W2(e,t){let n=e.buckets.get(t);return n||(n=new Map,e.buckets.set(t,n)),n}let _f;const Nf=[],K2={alloc(e,t,n){const r=_f;if(!r)return n;_f=void 0;const o={value:n,issues:null};return r.set(t.value,o),Nf.push(o),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{const n=e._zod.parse,r=(o,s)=>{if(s.direction!=="backward"&&Z2(s,o.value))throw new H2;return n(o,s)};e._zod.parse=r,e._zod.run===n&&(e._zod.run=r)})},attach(e){var t;let n,r,o;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{const s=e._zod.parse,a=(l,u)=>{if(n===void 0&&(n=C_(e,new Set),!n))return e._zod.parse=s,e._zod.run===a&&(e._zod.run=s),s(l,u);const h=l.value;if(h===null||typeof h!="object")return s(l,u);let f=u[gk];f||(f={buckets:new Map,backEdges:void 0},u[gk]=f);let p;r===u?p=o:(p=W2(f,e),r=u,o=p);const g=p.get(h);if(g)return l.value=g.value,g.issues?g.issues.length&&l.issues.push(...bg(g.issues)):(l.memo=!0,f.backEdges??(f.backEdges=new Set),f.backEdges.add(g.value)),l;_f=p;const y=Nf.length,v=s(l,u);_f=void 0;const w=Nf.length>y?Nf.pop():void 0;return v instanceof Promise?v.then(x=>(w&&(w.issues=x.issues.length?bg(x.issues):ix),x)):(w&&(w.issues=v.issues.length?bg(v.issues):ix),v)};e._zod.parse=a,e._zod.run===s&&(e._zod.run=a)})}};function q2(){return K2}function Z2(e,t){var r;const n=(r=e[gk])==null?void 0:r.backEdges;return n!==void 0&&t!==null&&typeof t=="object"&&n.has(t)}const G2=()=>{const e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(s){return e[s]??null}const n={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",credit_card:"credit card number",jwt:"JWT",template_literal:"input"},r={nan:"NaN"};function o(s,a){return s==="number"&&typeof a=="number"&&!Number.isFinite(a)?String(a):r[s]??s}return s=>{switch(s.code){case"invalid_type":{const a=o(s.expected),l=jO(s.input),u=o(l,s.input);return`Invalid input: expected ${a}, received ${u}`}case"invalid_value":return s.values.length===1?`Invalid input: expected ${d_(s.values[0])}`:`Invalid option: expected one of ${Fb(s.values,"|")}`;case"too_big":{const a=s.exact?"exactly ":s.inclusive?"<=":"<",l=t(s.origin);return l?`Too big: expected ${s.origin??"value"} to have ${a}${s.maximum.toString()} ${l.unit??"elements"}`:`Too big: expected ${s.origin??"value"} to be ${a}${s.maximum.toString()}`}case"too_small":{const a=s.exact?"exactly ":s.inclusive?">=":">",l=t(s.origin);return l?`Too small: expected ${s.origin} to have ${a}${s.minimum.toString()} ${l.unit}`:`Too small: expected ${s.origin} to be ${a}${s.minimum.toString()}`}case"invalid_format":{const a=s;return a.format==="starts_with"?`Invalid string: must start with "${a.prefix}"`:a.format==="ends_with"?`Invalid string: must end with "${a.suffix}"`:a.format==="includes"?`Invalid string: must include "${a.includes}"`:a.format==="regex"?`Invalid string: must match pattern ${a.pattern}`:`Invalid ${n[a.format]??s.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${s.divisor}`;case"unrecognized_keys":return`Unrecognized key${s.keys.length>1?"s":""}: ${Fb(s.keys,", ")}`;case"invalid_key":return`Invalid key in ${s.origin}`;case"invalid_union":return s.options&&Array.isArray(s.options)&&s.options.length>0?`Invalid discriminator value. Expected ${s.options.map(l=>`'${l}'`).join(" | ")}`:s.inclusive===!1?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${s.origin}`;default:return"Invalid input"}}};function V2(){return{localeError:G2()}}var cx;class Y2{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...n){const r=n[0];return this._map.set(t,r),r&&typeof r=="object"&&"id"in r&&this._idmap.set(r.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const n=this._map.get(t);return n&&typeof n=="object"&&"id"in n&&this._idmap.delete(n.id),this._map.delete(t),this}get(t){const n=t._zod.parent;if(n){const r={...this.get(n)??{}};delete r.id;const o={...r,...this._map.get(t)};return Object.keys(o).length?o:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function X2(){return new Y2}(cx=globalThis).__zod_globalRegistry??(cx.__zod_globalRegistry=X2());const uu=globalThis.__zod_globalRegistry;function Q2(e,t){return new e({type:"string",...yt(t)})}function J2(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...yt(t)})}function eL(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...yt(t)})}function tL(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...yt(t)})}function nL(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...yt(t)})}function rL(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...yt(t)})}function oL(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...yt(t)})}function sL(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...yt(t)})}function iL(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...yt(t)})}function aL(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...yt(t)})}function cL(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...yt(t)})}function lL(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...yt(t)})}function uL(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...yt(t)})}function dL(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...yt(t)})}function fL(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...yt(t)})}function hL(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...yt(t)})}function pL(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...yt(t)})}function mL(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...yt(t)})}function gL(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...yt(t)})}function kL(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...yt(t)})}function wL(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...yt(t)})}function yL(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...yt(t)})}function vL(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...yt(t)})}function bL(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...yt(t)})}function xL(e,t){return new e({type:"string",format:"date",check:"string_format",...yt(t)})}function EL(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...yt(t)})}function SL(e,t){return new e({type:"string",format:"duration",check:"string_format",...yt(t)})}function _L(e,t){return new e({type:"number",checks:[],...yt(t)})}function NL(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...yt(t)})}function TL(e,t){return new e({type:"boolean",...yt(t)})}function jL(e){return new e({type:"unknown"})}function $L(e,t){return new e({type:"never",...yt(t)})}function lx(e,t){return new y_({check:"less_than",...yt(t),value:e,inclusive:!1})}function xg(e,t){return new y_({check:"less_than",...yt(t),value:e,inclusive:!0})}function ux(e,t){return new v_({check:"greater_than",...yt(t),value:e,inclusive:!1})}function Eg(e,t){return new v_({check:"greater_than",...yt(t),value:e,inclusive:!0})}function dx(e,t){return new jM({check:"multiple_of",...yt(t),value:e})}function I_(e,t){return new AM({check:"max_length",...yt(t),maximum:e})}function uh(e,t){return new CM({check:"min_length",...yt(t),minimum:e})}function R_(e,t){return new IM({check:"length_equals",...yt(t),length:e})}function AL(e,t){return new RM({check:"string_format",format:"regex",...yt(t),pattern:e})}function CL(e){return new OM({check:"string_format",format:"lowercase",...yt(e)})}function IL(e){return new MM({check:"string_format",format:"uppercase",...yt(e)})}function RL(e,t){return new LM({check:"string_format",format:"includes",...yt(t),includes:e})}function OL(e,t){return new PM({check:"string_format",format:"starts_with",...yt(t),prefix:e})}function ML(e,t){return new DM({check:"string_format",format:"ends_with",...yt(t),suffix:e})}function dl(e){return new zM({check:"overwrite",tx:e})}function LL(e){return dl(t=>t.normalize(e))}function PL(){return dl(e=>e.trim())}function DL(){return dl(e=>e.toLowerCase())}function zL(){return dl(e=>e.toUpperCase())}function FL(){return dl(e=>mO(e))}function BL(e,t,n){return new e({type:"array",element:t,...yt(n)})}function UL(e,t,n){return new e({type:"custom",check:"custom",fn:t,...yt(n)})}function HL(e,t){const n=WL(r=>(r.addIssue=o=>{if(typeof o=="string")r.issues.push(Au(o,r.value,n._zod.def));else{const s=o;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),"input"in s||(s.input=r.value),s.inst??(s.inst=n),s.continue??(s.continue=!n._zod.def.abort),r.issues.push(Au(s))}},e(r.value,r)),t);return n}function WL(e,t){const n=new yo({check:"custom",...yt(t)});return n._zod.check=e,n}function vu(e,...t){for(const n of t)for(const r of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,r)&&wo(e,r,n[r]);return e}function O_(e){let t=(e==null?void 0:e.target)??"draft-2020-12";return t==="draft-4"&&(t="draft-04"),t==="draft-7"&&(t="draft-07"),{processors:e.processors??{},metadataRegistry:(e==null?void 0:e.metadata)??uu,target:t,unrepresentable:(e==null?void 0:e.unrepresentable)??"throw",override:(e==null?void 0:e.override)??(()=>{}),io:(e==null?void 0:e.io)??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:(e==null?void 0:e.cycles)??"ref",reused:(e==null?void 0:e.reused)??"inline",intersections:[],deferred:[],external:(e==null?void 0:e.external)??void 0}}function Bi(e,t,n,r,o){const s=typeof t.unrepresentable=="function"?t.unrepresentable({zodSchema:e,path:r.path,message:o}):t.unrepresentable;if(s==="any")return!1;if(s===void 0||s==="throw")throw new Error(o);return Object.assign(n,s),!0}function Er(e,t,n={path:[],schemaPath:[]}){var f,p;var r;const o=e._zod.def,s=t.seen.get(e);if(s)return s.count++,n.schemaPath.includes(e)&&(s.cycle=n.path),s.schema;const a={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,a),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;const l=(p=(f=e._zod).toJSONSchema)==null?void 0:p.call(f);if(l)a.schema=l;else{const g={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,g);else{const v=a.schema,w=t.processors[o.type];if(!w)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);w(e,t,v,g)}const y=e._zod.parent;y&&(a.ref||(a.ref=y),Er(y,t,g),t.seen.get(y).isParent=!0)}const u=t.metadataRegistry.get(e);return u&&vu(a.schema,u),t.io==="input"&&to(e)&&(delete a.schema.examples,delete a.schema.default),t.io==="input"&&"_prefault"in a.schema&&((r=a.schema).default??(r.default=a.schema._prefault)),delete a.schema._prefault,t.seen.get(e).schema}function fx(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function M_(e,t){var a,l,u,h;const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");if(e.external&&e.sharedDefsExtractedFor===e.external)return;const r=new Map;for(const f of e.seen.entries()){const p=(a=e.metadataRegistry.get(f[0]))==null?void 0:a.id;if(p){const g=r.get(p);if(g&&g!==f[0])throw new Error(`Duplicate schema id "${p}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(p,f[0])}}const o=f=>{var w;const p=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){const x=(w=e.external.registry.get(f[0]))==null?void 0:w.id,N=e.external.uri??(T=>T);if(x)return{ref:N(x)};const E=f[1].defId??f[1].schema.id??`schema${e.counter++}`;return f[1].defId=E,{defId:E,ref:`${N("__shared")}#/${p}/${fx(E)}`}}const g="#",y=`${g}/${p}/`;if(f[1]===n&&!f[1].schema.id)return{ref:g};const v=f[1].schema.id??`__schema${e.counter++}`;return{defId:v,ref:y+fx(v)}},s=f=>{if(f[1].schema.$ref)return;const p=f[1],{ref:g,defId:y}=o(f);p.def={...p.schema},y&&(p.defId=y);const v=p.schema;for(const w in v)delete v[w];v.$ref=g};if(e.cycles==="throw")for(const f of e.seen.entries()){const p=f[1];if(p.cycle)throw new Error(`Cycle detected: #/${(l=p.cycle)==null?void 0:l.join("/")}/<root>
|
|
92
|
+
|
|
93
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const f of e.seen.entries()){const p=f[1];if(t===f[0]){s(f);continue}if(e.external){const y=(u=e.external.registry.get(f[0]))==null?void 0:u.id;if(t!==f[0]&&y){s(f);continue}}if((h=e.metadataRegistry.get(f[0]))==null?void 0:h.id){s(f);continue}if(p.cycle){s(f);continue}if(p.count>1&&e.reused==="ref"){s(f);continue}}e.external&&(e.sharedDefsExtractedFor=e.external)}function L_(e){const t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;const n=[];for(const r of t){if(!r||typeof r!="object")return;L_(r);const o=Object.keys(r);if(o.length!==1||o[0]!=="type")return;const s=r.type;for(const a of Array.isArray(s)?s:[s]){if(typeof a!="string")return;n.includes(a)||n.push(a)}}delete e.anyOf,e.type=n.length===1?n[0]:n}const P_=new Set(["type","properties","required","additionalProperties"]),hx=["oneOf","anyOf"];function px(e){const t=e.additionalProperties;return t===void 0||t===!1||typeof t!="object"||t===null?null:Object.keys(t).length?t:null}function kk(e){var s;const t=[];for(const a of e){if(typeof a!="object"||a.type!=="object")return null;for(const l in a)if(!P_.has(l))return null;t.push(a)}const n={},r=new Set;for(const a of t){for(const l in a.properties){if(Object.prototype.hasOwnProperty.call(n,l))continue;const u=[];for(const f of t){const p=((s=f.properties)==null?void 0:s[l])??px(f);p!=null&&(u.some(g=>JSON.stringify(g)===JSON.stringify(p))||u.push(p))}const h=u.length===1?u[0]:kk(u)??{allOf:u};wo(n,l,h)}for(const l of a.required??[])r.add(l)}const o={type:"object",properties:n};if(r.size&&(o.required=[...r]),t.every(a=>a.additionalProperties===!1))o.additionalProperties=!1;else{const a=[];for(const l of t){const u=px(l);u&&!a.some(h=>JSON.stringify(h)===JSON.stringify(u))&&a.push(u)}a.length===1?o.additionalProperties=a[0]:a.length>1&&(o.additionalProperties={allOf:a})}return o}function KL(e){const t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(const o of P_)if(o in e)return;const n=t.filter(o=>hx.some(s=>Array.isArray(o[s])));let r=null;if(!n.length)r=kk(t);else{const o=n[0],s=hx.find(u=>Array.isArray(o[u]));if(Object.keys(o).length!==1)return;const a=t.filter(u=>u!==o),l=o[s].map(u=>kk([...a,u]));if(l.some(u=>!u))return;r={[s]:l}}r&&(delete e.allOf,vu(e,r))}function D_(e,t){var l,u,h,f;const n=e.seen.get(t);if(!n)throw new Error("Unprocessed schema. This is a bug in Zod.");const r=p=>{const g=e.seen.get(p);if(g.ref===null)return;const y=g.def??g.schema,v={...y},w=g.ref;if(g.ref=null,w){r(w);const N=e.seen.get(w),E=N.schema;if(E.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0")?(y.allOf=y.allOf??[],y.allOf.push(E)):vu(y,E),vu(y,v),p._zod.parent===w)for(const j in y)j==="$ref"||j==="allOf"||j in v||delete y[j];if(E.$ref&&N.def)for(const j in y)j==="$ref"||j==="allOf"||j in N.def&&JSON.stringify(y[j])===JSON.stringify(N.def[j])&&delete y[j]}const x=p._zod.parent;if(x&&x!==w){r(x);const N=e.seen.get(x);if(N!=null&&N.schema.$ref&&(y.$ref=N.schema.$ref,N.def))for(const E in y)E==="$ref"||E==="allOf"||E in N.def&&JSON.stringify(y[E])===JSON.stringify(N.def[E])&&delete y[E]}e.override({zodSchema:p,jsonSchema:y,path:g.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(const p of[...e.seen.entries()].reverse())r(p[0]);if(e.target!=="openapi-3.0")for(const p of e.seen.entries())L_(p[1].def??p[1].schema);for(const p of e.deferred)p();if(e.intersections.length){const p=new Map;for(const g of e.seen.values())for(const y of[g.schema,g.def]){const v=y==null?void 0:y.allOf;if(!Array.isArray(v))continue;const w=p.get(v);w?w.push(y):p.set(v,[y])}for(const g of e.intersections)for(const y of p.get(g)??[])KL(y)}}const o={};if(e.target==="draft-2020-12"?o.$schema="https://json-schema.org/draft/2020-12/schema":e.target==="draft-07"?o.$schema="http://json-schema.org/draft-07/schema#":e.target==="draft-04"?o.$schema="http://json-schema.org/draft-04/schema#":e.target,(l=e.external)!=null&&l.uri){const p=(u=e.external.registry.get(t))==null?void 0:u.id;if(!p)throw new Error("Schema is missing an `id` property");o.$id=e.external.uri(p)}vu(o,n.defId?n.schema:n.def??n.schema);const s=(h=e.metadataRegistry.get(t))==null?void 0:h.id;s!==void 0&&o.id===s&&delete o.id;const a=((f=e.external)==null?void 0:f.defs)??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(const p of e.seen.entries()){const g=p[1];g.def&&g.defId&&(g.def.id===g.defId&&delete g.def.id,wo(a,g.defId,g.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(a).length>0&&(e.target==="draft-2020-12"?o.$defs=a:o.definitions=a);try{const p=JSON.parse(JSON.stringify(o));return Object.defineProperty(p,"~standard",{value:{...t["~standard"],jsonSchema:{input:dh(t,"input",e.processors),output:dh(t,"output",e.processors)}},enumerable:!1,writable:!1}),p}catch{throw new Error("Error converting schema to JSON.")}}function to(e,t){const n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);const r=e._zod.def;if(r.type==="transform")return!0;if(r.type==="array")return to(r.element,n);if(r.type==="set")return to(r.valueType,n);if(r.type==="lazy")return to(r.getter(),n);if(r.type==="promise"||r.type==="optional"||r.type==="nonoptional"||r.type==="nullable"||r.type==="readonly"||r.type==="default"||r.type==="prefault"||r.type==="catch")return to(r.innerType,n);if(r.type==="intersection")return to(r.left,n)||to(r.right,n);if(r.type==="record"||r.type==="map")return to(r.keyType,n)||to(r.valueType,n);if(r.type==="pipe")return e._zod.traits.has("$ZodCodec")?!0:to(r.in,n)||to(r.out,n);if(r.type==="object"){for(const o in r.shape)if(to(r.shape[o],n))return!0;return!1}if(r.type==="union"){for(const o of r.options)if(to(o,n))return!0;return!1}if(r.type==="tuple"){for(const o of r.items)if(to(o,n))return!0;return!!(r.rest&&to(r.rest,n))}return!1}const qL=(e,t={})=>n=>{const r=O_({...n,processors:t});return Er(e,r),M_(r,e),D_(r,e)},dh=(e,t,n={})=>r=>{const{libraryOptions:o,target:s}=r??{},a=O_({...o??{},target:s,io:t,processors:n});return Er(e,a),M_(a,e),D_(a,e)},ZL={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},GL=(e,t,n,r)=>{const o=n;o.type="string";const{minimum:s,maximum:a,format:l,patterns:u,contentEncoding:h,laxFormat:f}=e._zod.bag;if(typeof s=="number"&&(o.minLength=s),typeof a=="number"&&(o.maxLength=a),l&&(o.format=ZL[l]??l,o.format===""&&delete o.format,(l==="time"||f)&&delete o.format),h&&(o.contentEncoding=h),u&&u.size>0){const p=[...u];p.length===1?o.pattern=p[0].source:p.length>1&&(o.allOf=[...p.map(g=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:g.source}))])}},VL=(e,t,n,r)=>{const o=n,{minimum:s,maximum:a,format:l,multipleOf:u,exclusiveMaximum:h,exclusiveMinimum:f}=e._zod.bag;typeof l=="string"&&l.includes("int")?o.type="integer":o.type="number";const p=typeof f=="number"&&f>=(s??Number.NEGATIVE_INFINITY),g=typeof h=="number"&&h<=(a??Number.POSITIVE_INFINITY),y=t.target==="draft-04"||t.target==="openapi-3.0";p?y?(o.minimum=f,o.exclusiveMinimum=!0):o.exclusiveMinimum=f:typeof s=="number"&&(o.minimum=s),g?y?(o.maximum=h,o.exclusiveMaximum=!0):o.exclusiveMaximum=h:typeof a=="number"&&(o.maximum=a),typeof u=="number"&&(Number.isFinite(u)&&u!==0?o.multipleOf=Math.abs(u):Bi(e,t,o,r,`A multipleOf divisor of ${u} cannot be represented in JSON Schema`))},YL=(e,t,n,r)=>{n.type="boolean"},XL=(e,t,n,r)=>{n.not={}},QL=(e,t,n,r)=>{},JL=(e,t,n,r)=>{const o=e._zod.def,s=c_(o.entries);if(s.length===0){n.not={};return}s.every(a=>typeof a=="number")&&(n.type="number"),s.every(a=>typeof a=="string")&&(n.type="string"),n.enum=s},eP=(e,t,n,r)=>{const o=e._zod.def;if(o.values.length===0){n.not={};return}const s=[];for(const a of o.values)if(a===void 0){if(Bi(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof a=="bigint"){if(Bi(e,t,n,r,"BigInt literals cannot be represented in JSON Schema"))return;s.push(Number(a))}else s.push(a);if(s.length!==0)if(s.length===1){const a=s[0];n.type=a===null?"null":typeof a,t.target==="draft-04"||t.target==="openapi-3.0"?n.enum=[a]:n.const=a}else s.every(a=>typeof a=="number")&&(n.type="number"),s.every(a=>typeof a=="string")&&(n.type="string"),s.every(a=>typeof a=="boolean")&&(n.type="boolean"),s.every(a=>a===null)&&(n.type="null"),n.enum=s},tP=(e,t,n,r)=>{Bi(e,t,n,r,"Custom types cannot be represented in JSON Schema")},nP=(e,t,n,r)=>{Bi(e,t,n,r,"Transforms cannot be represented in JSON Schema")},rP=(e,t,n,r)=>{const o=n,s=e._zod.def,{minimum:a,maximum:l}=e._zod.bag;typeof a=="number"&&(o.minItems=a),typeof l=="number"&&(o.maxItems=l),o.type="array",o.items=Er(s.element,t,{...r,path:[...r.path,"items"]})};function fh(e){const t=e._zod.def;return t.type==="pipe"&&t.in._zod.traits.has("$ZodTransform")?fh(t.out):t.type==="catch"?fh(t.innerType):e._zod.optin}const oP=(e,t,n,r)=>{var f;const o=n,s=e._zod.def,a=s.shape;if(Object.getOwnPropertySymbols(a).length&&Bi(e,t,o,r,"Symbol keys cannot be represented in JSON Schema"))return;o.type="object",o.properties={};for(const p in a)wo(o.properties,p,Er(a[p],t,{...r,path:[...r.path,"properties",p]}));const u=new Set(Object.keys(a)),h=new Set([...u].filter(p=>{const g=s.shape[p];return t.io==="input"?fh(g)===void 0:g._zod.optout===void 0}));h.size>0&&(o.required=Array.from(h)),((f=s.catchall)==null?void 0:f._zod.def.type)==="never"?o.additionalProperties=!1:s.catchall?s.catchall&&(o.additionalProperties=Er(s.catchall,t,{...r,path:[...r.path,"additionalProperties"]})):t.io==="output"&&(o.additionalProperties=!1)},sP=(e,t,n,r)=>{const o=e._zod.def,s=o.inclusive===!1,a=o.options.map((l,u)=>Er(l,t,{...r,path:[...r.path,s?"oneOf":"anyOf",u]}));s?n.oneOf=a:n.anyOf=a},iP=(e,t,n,r)=>{const o=e._zod.def,s=Er(o.left,t,{...r,path:[...r.path,"allOf",0]}),a=Er(o.right,t,{...r,path:[...r.path,"allOf",1]}),l=h=>"allOf"in h&&Object.keys(h).length===1,u=[...l(s)?s.allOf:[s],...l(a)?a.allOf:[a]];n.allOf=u,t.intersections.push(u)},aP=(e,t,n,r)=>{const o=n,s=e._zod.def;o.type="array";const a=t.target==="draft-2020-12"?"prefixItems":"items",l=t.target==="draft-2020-12"||t.target==="openapi-3.0"?"items":"additionalItems",u=s.items.map((w,x)=>Er(w,t,{...r,path:[...r.path,a,x]})),h=s.rest?Er(s.rest,t,{...r,path:[...r.path,l,...t.target==="openapi-3.0"?[s.items.length]:[]]}):null;let f=s.items.length;for(;f>0;){const w=s.items[f-1];if(!(t.io==="input"?fh(w)!==void 0:w._zod.optout==="optional"))break;f--}const p=s.items.length,g=!s.rest;t.target==="draft-2020-12"?(o.prefixItems=u,g?o.items=!1:h&&(o.items=h),f>0&&(o.minItems=f),g&&(o.maxItems=p)):t.target==="openapi-3.0"?(o.items={anyOf:u},h&&o.items.anyOf.push(h),f>0&&(o.minItems=f),g&&(o.maxItems=p)):(o.items=u,g?o.additionalItems=!1:h&&(o.additionalItems=h),f>0&&(o.minItems=f),g&&(o.maxItems=p));const{minimum:y,maximum:v}=e._zod.bag;typeof y=="number"&&(o.minItems=y),typeof v=="number"&&(o.maxItems=v)},cP=(e,t,n,r)=>{const o=e._zod.def,s=Er(o.innerType,t,r),a=t.seen.get(e);t.target==="openapi-3.0"?(a.ref=o.innerType,n.nullable=!0):n.anyOf=[s,{type:"null"}]},lP=(e,t,n,r)=>{const o=e._zod.def;Er(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType},Gw=Symbol();function z_(e,t,n,r,o){let s=!1;const a=JSON.stringify(e,(l,u)=>typeof u!="bigint"?u:(s=!0,null));return s?(Bi(t,n,r,o,"BigInt defaults cannot be represented in JSON Schema"),Gw):JSON.parse(a)}const uP=(e,t,n,r)=>{const o=e._zod.def;Er(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType;const a=z_(o.defaultValue,e,t,n,r);a!==Gw&&(n.default=a)},dP=(e,t,n,r)=>{const o=e._zod.def;Er(o.innerType,t,r);const s=t.seen.get(e);if(s.ref=o.innerType,t.io!=="input")return;const a=z_(o.defaultValue,e,t,n,r);a!==Gw&&(n._prefault=a)},fP=(e,t,n,r)=>{const o=e._zod.def;Er(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType;let a;try{a=o.catchValue(void 0)}catch{Bi(e,t,n,r,"Dynamic catch values are not supported in JSON Schema");return}n.default=a},hP=(e,t,n,r)=>{const o=e._zod.def,s=o.in._zod.traits.has("$ZodTransform"),a=t.io==="input"?s?o.out:o.in:o.out;Er(a,t,r);const l=t.seen.get(e);l.ref=a},pP=(e,t,n,r)=>{const o=e._zod.def;Er(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType,n.readOnly=!0},F_=(e,t,n,r)=>{const o=e._zod.def;Er(o.innerType,t,r);const s=t.seen.get(e);s.ref=o.innerType},mx=new WeakSet([Object.prototype,Error.prototype]);function Tf(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){const r=n(this);return Object.defineProperty(this,t,{value:r,configurable:!0,writable:!0}),r},set(r){Object.defineProperty(this,t,{value:r,configurable:!0,writable:!0})}})}const mP=(e,t)=>{m_.init(e,t),e.name="ZodError";const n=Object.getPrototypeOf(e);mx.has(n)||(mx.add(n),Tf(n,"format",r=>o=>UO(r,o)),Tf(n,"flatten",r=>o=>BO(r,o)),Tf(n,"addIssue",r=>o=>{r.issues.push(o),r.message=JSON.stringify(r.issues,fk,2)}),Tf(n,"addIssues",r=>o=>{r.issues.push(...o),r.message=JSON.stringify(r.issues,fk,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},Ko=be("ZodError",mP,void 0,{Parent:Error}),gP=Ww(Ko),kP=Kw(Ko),wP=op(Ko),yP=sp(Ko),vP=KO(Ko),bP=qO(Ko),xP=ZO(Ko),EP=GO(Ko),SP=VO(Ko),_P=YO(Ko),NP=XO(Ko),TP=QO(Ko);function jP(){as.localeError||Zi(V2())}function ap(){as.memoizer||Zi({memoizer:q2()})}const tr=be("ZodType",(e,t)=>(jP(),qn.init(e,t),e.def=t,e.type=t.type,e),{check(...e){const t=this.def;return this.clone(Ki(t,{checks:[...t.checks??[],...e.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return qi(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(ND(e,t))},superRefine(e,t){return this.check(TD(e,t))},overwrite(e){return this.check(dl(e))},optional(){return wx(this)},exactOptional(){return pD(this)},nullable(){return yx(this)},nullish(){return wx(yx(this))},nonoptional(e){return vD(this,e)},array(){return Ra(this)},or(e){return sD([this,e])},and(e){return lD(this,e)},transform(e){return vx(this,hD(e))},default(e){return kD(this,e)},prefault(e){return yD(this,e)},catch(e){return xD(this,e)},pipe(e){return vx(this,e)},readonly(){return _D(this)},describe(e){const t=this.clone();return uu.add(t,{description:e}),t},meta(...e){if(e.length===0)return uu.get(this);const t=this.clone();return uu.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return f_(this,"~standard",{...b_(this),jsonSchema:{input:dh(this,"input"),output:dh(this,"output")}})},set"~standard"(e){Xc(this,"~standard",e)},parse:function e(t,n){return gP(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await kP(this,t,n,{callee:e})},safeParse(e,t){return wP(this,e,t)},async safeParseAsync(e,t){return yP(this,e,t)},get spa(){return this==null?void 0:this.safeParseAsync},set spa(e){Xc(this,"spa",e)},encode:function e(t,n){return vP(this,t,n,{callee:e})},decode:function e(t,n){return bP(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await xP(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await EP(this,t,n,{callee:e})},safeEncode(e,t){return SP(this,e,t)},safeDecode(e,t){return _P(this,e,t)},async safeEncodeAsync(e,t){return NP(this,e,t)},async safeDecodeAsync(e,t){return TP(this,e,t)},toJSONSchema(e){return qL(this,{})(e)},get description(){var e;return(e=uu.get(this))==null?void 0:e.description},get _def(){return this._zod.def}}),B_=be("_ZodString",(e,t)=>{Zw.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(r,o,s)=>GL(e,r,o);const n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null},{regex(...e){return this.check(AL(...e))},includes(...e){return this.check(RL(...e))},startsWith(...e){return this.check(OL(...e))},endsWith(...e){return this.check(ML(...e))},min(...e){return this.check(uh(...e))},max(...e){return this.check(I_(...e))},length(...e){return this.check(R_(...e))},nonempty(...e){return this.check(uh(1,...e))},lowercase(e){return this.check(CL(e))},uppercase(e){return this.check(IL(e))},trim(){return this.check(PL())},normalize(...e){return this.check(LL(...e))},toLowerCase(){return this.check(DL())},toUpperCase(){return this.check(zL())},slugify(){return this.check(FL())}}),$P=be("ZodString",(e,t)=>{Zw.init(e,t),B_.init(e,t)},{email(e){return this.check(J2(OP,e))},url(e){return this.check(sL(LP,e))},jwt(e){return this.check(vL(XP,e))},emoji(e){return this.check(iL(PP,e))},guid(e){return this.check(eL(MP,e))},uuid(e){return this.check(tL(jf,e))},uuidv4(e){return this.check(nL(jf,e))},uuidv6(e){return this.check(rL(jf,e))},uuidv7(e){return this.check(oL(jf,e))},nanoid(e){return this.check(aL(DP,e))},cuid(e){return this.check(cL(zP,e))},cuid2(e){return this.check(lL(FP,e))},ulid(e){return this.check(uL(BP,e))},base64(e){return this.check(kL(GP,e))},base64url(e){return this.check(wL(VP,e))},xid(e){return this.check(dL(UP,e))},ksuid(e){return this.check(fL(HP,e))},ipv4(e){return this.check(hL(WP,e))},ipv6(e){return this.check(pL(KP,e))},cidrv4(e){return this.check(mL(qP,e))},cidrv6(e){return this.check(gL(ZP,e))},e164(e){return this.check(yL(YP,e))},datetime(e){return this.check(bL(AP,e))},date(e){return this.check(xL(CP,e))},time(e){return this.check(EL(IP,e))},duration(e){return this.check(SL(RP,e))}});function Nn(e){return Q2($P,e)}const nr=be("ZodStringFormat",(e,t)=>{Zn.init(e,t),B_.init(e,t)}),AP=be("ZodISODateTime",(e,t)=>{o2.init(e,t),nr.init(e,t)}),CP=be("ZodISODate",(e,t)=>{s2.init(e,t),nr.init(e,t)}),IP=be("ZodISOTime",(e,t)=>{i2.init(e,t),nr.init(e,t)}),RP=be("ZodISODuration",(e,t)=>{a2.init(e,t),nr.init(e,t)}),OP=be("ZodEmail",(e,t)=>{WM.init(e,t),nr.init(e,t)}),MP=be("ZodGUID",(e,t)=>{UM.init(e,t),nr.init(e,t)}),jf=be("ZodUUID",(e,t)=>{HM.init(e,t),nr.init(e,t)}),LP=be("ZodURL",(e,t)=>{YM.init(e,t),nr.init(e,t)}),PP=be("ZodEmoji",(e,t)=>{XM.init(e,t),nr.init(e,t)}),DP=be("ZodNanoID",(e,t)=>{QM.init(e,t),nr.init(e,t)}),zP=be("ZodCUID",(e,t)=>{JM.init(e,t),nr.init(e,t)}),FP=be("ZodCUID2",(e,t)=>{e2.init(e,t),nr.init(e,t)}),BP=be("ZodULID",(e,t)=>{t2.init(e,t),nr.init(e,t)}),UP=be("ZodXID",(e,t)=>{n2.init(e,t),nr.init(e,t)}),HP=be("ZodKSUID",(e,t)=>{r2.init(e,t),nr.init(e,t)}),WP=be("ZodIPv4",(e,t)=>{c2.init(e,t),nr.init(e,t)}),KP=be("ZodIPv6",(e,t)=>{u2.init(e,t),nr.init(e,t)}),qP=be("ZodCIDRv4",(e,t)=>{d2.init(e,t),nr.init(e,t)}),ZP=be("ZodCIDRv6",(e,t)=>{h2.init(e,t),nr.init(e,t)}),GP=be("ZodBase64",(e,t)=>{p2.init(e,t),nr.init(e,t)}),VP=be("ZodBase64URL",(e,t)=>{g2.init(e,t),nr.init(e,t)}),YP=be("ZodE164",(e,t)=>{k2.init(e,t),nr.init(e,t)}),XP=be("ZodJWT",(e,t)=>{y2.init(e,t),nr.init(e,t)}),U_=be("ZodNumber",(e,t)=>{N_.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(r,o,s)=>VL(e,r,o,s);const n=e._zod.bag;e.minValue=Math.max(n.minimum??Number.NEGATIVE_INFINITY,n.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(n.maximum??Number.POSITIVE_INFINITY,n.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(n.format??"").includes("int")||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null},{gt(e,t){return this.check(ux(e,t))},gte(e,t){return this.check(Eg(e,t))},min(e,t){return this.check(Eg(e,t))},lt(e,t){return this.check(lx(e,t))},lte(e,t){return this.check(xg(e,t))},max(e,t){return this.check(xg(e,t))},int(e){return this.check(gx(e))},safe(e){return this.check(gx(e))},positive(e){return this.check(ux(0,e))},nonnegative(e){return this.check(Eg(0,e))},negative(e){return this.check(lx(0,e))},nonpositive(e){return this.check(xg(0,e))},multipleOf(e,t){return this.check(dx(e,t))},step(e,t){return this.check(dx(e,t))},finite(){return this}});function Bs(e){return _L(U_,e)}const QP=be("ZodNumberFormat",(e,t)=>{v2.init(e,t),U_.init(e,t)});function gx(e){return NL(QP,e)}const JP=be("ZodBoolean",(e,t)=>{b2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>YL(e,n,r)});function zo(e){return TL(JP,e)}const eD=be("ZodUnknown",(e,t)=>{x2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>QL()});function kx(){return jL(eD)}const tD=be("ZodNever",(e,t)=>{E2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>XL(e,n,r)});function nD(e){return $L(tD,e)}const rD=be("ZodArray",(e,t)=>{ap(),S2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>rP(e,n,r,o),e.element=t.element},{min(e,t){return this.check(uh(e,t))},nonempty(e){return this.check(uh(1,e))},max(e,t){return this.check(I_(e,t))},length(e,t){return this.check(R_(e,t))},unwrap(){return this.element}});function Ra(e,t){return BL(rD,e,t)}const oD=be("ZodObject",(e,t)=>{ap(),T2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>oP(e,n,r,o),RO(e,"shape",n=>n._zod.def.shape,!1)},{keyof(){return Pc(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:kx()})},loose(){return this.clone({...this._zod.def,catchall:kx()})},strict(){return this.clone({...this._zod.def,catchall:nD()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return xO(this,e)},safeExtend(e){return EO(this,e)},merge(e){return SO(this,e)},pick(e){return vO(this,e)},omit(e){return bO(this,e)},partial(...e){return Bb(Vw,this,e[0])},exactPartial(...e){return Bb(K_,this,e[0],"exactPartial")},required(...e){return _O(q_,this,e[0])}});function jr(e,t){const n={type:"object",shape:e??{},...yt(t)};return new oD(n)}const H_=be("ZodUnion",(e,t)=>{$_.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>sP(e,n,r,o),e.options=t.options});function sD(e,t){return new H_({type:"union",options:e,...yt(t)})}const iD=be("ZodDiscriminatedUnion",(e,t)=>{H_.init(e,t),j2.init(e,t)});function aD(e,t,n){return new iD({type:"union",options:t,discriminator:e,...yt(n)})}const cD=be("ZodIntersection",(e,t)=>{$2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>iP(e,n,r,o)});function lD(e,t){return new cD({type:"intersection",left:e,right:t})}const uD=be("ZodTuple",(e,t)=>{ap(),A2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>aP(e,n,r,o)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){var t;const e=this._zod.def;if((t=e.checks)!=null&&t.length)throw new Error(".partial() cannot be used on tuple schemas containing refinements");return this.clone({...e,items:e.items.map(n=>new Vw({type:"optional",innerType:n}))})}});function W_(e,t,n){const r=t instanceof qn,o=r?n:t,s=r?t:null;return new uD({type:"tuple",items:e,rest:s,...yt(o)})}const wk=be("ZodEnum",(e,t)=>{C2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(r,o,s)=>JL(e,r,o),e.enum=t.entries,e.options=Object.values(t.entries);const n=new Set(Object.keys(t.entries));e.extract=(r,o)=>{const s={};for(const a of r)if(n.has(a))s[a]=t.entries[a];else throw new Error(`Key ${a} not found in enum`);return new wk({...t,checks:[],...yt(o),entries:s})},e.exclude=(r,o)=>{const s={...t.entries};for(const a of r)if(n.has(a))delete s[a];else throw new Error(`Key ${a} not found in enum`);return new wk({...t,checks:[],...yt(o),entries:s})}});function Pc(e,t){const n=Array.isArray(e)?Object.fromEntries(e.map(r=>[r,r])):e;return new wk({type:"enum",entries:n,...yt(t)})}const dD=be("ZodLiteral",(e,t)=>{I2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>eP(e,n,r,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function eo(e,t){return new dD({type:"literal",values:Array.isArray(e)?e:[e],...yt(t)})}const fD=be("ZodTransform",(e,t)=>{ap(),R2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>nP(e,n,r,o),e._zod.parse=(n,r)=>{if(r.direction==="backward")throw new h_(e.constructor.name);n.addIssue=s=>{if(typeof s=="string")n.issues.push(Au(s,n.value,t));else{const a=s;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),"input"in a||(a.input=n.value),a.inst??(a.inst=e),n.issues.push(Au(a))}};const o=t.transform(n.value,n);return o instanceof Promise?o.then(s=>(n.value=s,n)):(n.value=o,n)}});function hD(e){return new fD({type:"transform",transform:e})}const Vw=be("ZodOptional",(e,t)=>{A_.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>F_(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function wx(e){return new Vw({type:"optional",innerType:e})}const K_=be("ZodExactOptional",(e,t)=>{O2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>F_(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function pD(e){return new K_({type:"optional",innerType:e})}const mD=be("ZodNullable",(e,t)=>{M2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>cP(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function yx(e){return new mD({type:"nullable",innerType:e})}const gD=be("ZodDefault",(e,t)=>{L2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>uP(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function kD(e,t){return new gD({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():u_(t)}})}const wD=be("ZodPrefault",(e,t)=>{P2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>dP(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function yD(e,t){return new wD({type:"prefault",innerType:e,get defaultValue(){return typeof t=="function"?t():u_(t)}})}const q_=be("ZodNonOptional",(e,t)=>{D2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>lP(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function vD(e,t){return new q_({type:"nonoptional",innerType:e,...yt(t)})}const bD=be("ZodCatch",(e,t)=>{z2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>fP(e,n,r,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function xD(e,t){return new bD({type:"catch",innerType:e,catchValue:typeof t=="function"?t:MO(t)})}const ED=be("ZodPipe",(e,t)=>{F2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>hP(e,n,r,o),e.in=t.in,e.out=t.out});function vx(e,t){return new ED({type:"pipe",in:e,out:t})}const SD=be("ZodReadonly",(e,t)=>{B2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>pP(e,n,r,o),e.unwrap=()=>e._zod.def.innerType});function _D(e){return new SD({type:"readonly",innerType:e})}const Z_=be("ZodCustom",(e,t)=>{U2.init(e,t),tr.init(e,t),e._zod.processJSONSchema=(n,r,o)=>tP(e,n,r,o)});function ND(e,t={}){return UL(Z_,e,t)}function TD(e,t){return HL(e,t)}function jD(e,t={}){const n=new Z_({type:"custom",check:"custom",fn:r=>r instanceof e,abort:!0,...yt(t)});return n._zod.bag.Class=e,n._zod.check=r=>{r.value instanceof e||r.issues.push({code:"invalid_type",expected:e.name,input:r.value,inst:n,path:[...n._zod.def.path??[]]})},n}const $D=["off","tailscale","any"],AD={updates:!0,deploy:!0,remote:"any",agents:null,customAgents:!0,brandedListener:!0,planSignIn:!0};jr({updates:zo().optional(),deploy:zo().optional(),remote:Pc($D).optional(),agents:Ra(Nn()).optional(),customAgents:zo().optional(),brandedListener:zo().optional(),planSignIn:zo().optional()});const CD={...AD,source:null,problem:null};function ID(e){const t=[];return e.updates||t.push("updates off"),e.deploy||t.push("deploy off"),e.remote!=="any"&&t.push(`remote ${e.remote}`),e.agents!==null&&t.push(`agents ${e.agents.join(", ")||"none"}`),e.customAgents||t.push("custom agents off"),e.brandedListener||t.push("toyon.localhost listener off"),e.planSignIn||t.push("plan sign-in off"),t}const Sg=6e3,bx=1500;function RD(e){if(e.length<=Sg)return e;const t=e.length-Sg;return`${e.slice(0,bx)}
|
|
94
|
+
[${t} characters cut here]
|
|
95
|
+
${e.slice(e.length-(Sg-bx))}`}const ja=151,OD=2e3,hh=5e6,MD=["image/png","image/jpeg","image/gif","image/webp"],xx=2576,_g=5*1024*1024,LD=1200,PD=10,DD=1e5,Ex=100*1024*1024,zD="pasted-text.txt";function FD(e){return e.t==="term-data"||e.t==="term-snapshot"||e.t==="term-exit"}function BD(e){return e.t==="file-read"||e.t==="file-written"||e.t==="file-blame"}const UD=80;function Yw(e){var r;const t=e.split(`
|
|
96
|
+
`),n=((r=t.find(o=>o.trim().length>0))==null?void 0:r.trim())??"";return{chars:e.length,lines:t.length,preview:n.slice(0,UD)}}function G_(e){return e.length>=LD||e.split(`
|
|
97
|
+
`).length>=PD}function HD({startLine:e,endLine:t}){return e===t?`${e}`:`${e}-${t}`}function WD(e){return`${e.path.slice(e.path.lastIndexOf("/")+1)} (${HD(e)})`}const KD=/\u001B(?:\[[0-?]*[ -/]*[@-~]|\][^\u0007]*(?:\u0007|\u001B\\))/g;function qD(e){return e.replace(KD,"")}function V_(e){const t=/^\s*#{1,6}[ \t]+(.+?)[ \t#]*(?:\r?\n|$)/.exec(e);return t?{title:t[1].trim(),rest:e.slice(t[0].length)}:{title:null,rest:e}}function ZD(e){const t=e.plan.trim();return V_(t).title===null?`# ${e.title}
|
|
98
|
+
|
|
99
|
+
${t}
|
|
100
|
+
`:`${t}
|
|
101
|
+
`}const Y_="Projects";function GD(e){for(const t of e){const n=t.codePointAt(0)??0;if(n<32||n===127)return!0}return!1}function Cu(e){const t=e.trim();return t?t.length>100?"that name is too long: keep it under 100 characters":t.includes("/")||t.includes("\\")?"a project name cannot contain a slash":/\s/.test(t)?"a project name cannot contain spaces":GD(t)?"a project name cannot contain control characters":t==="."||t===".."?`"${t}" is not a project name`:t.startsWith("-")||t.startsWith(".")?"a project name cannot start with a dot or a dash":null:"a project name is required"}const VD=/^(?:https?|ssh|git|file):\/\/\S+$/i,X_=/^[\w.-]+@[\w.-]+:\S+$/,YD=/^[\w-]+(?:\.[\w-]+)+\/\S+$/;function Sx(e){const t=e.trim(),n=YD.test(t)?`https://${t}`:t;if(!VD.test(n)&&!X_.test(n))return null;const r=XD(n),o=JD((r==null?void 0:r.url)??n);return!o||Cu(o)?null:r?{url:r.url,name:o,...r.branch?{branch:r.branch}:{}}:{url:n,name:o}}const Ng={"github.com":e=>{if(e.length<2)return null;const[t,...n]=e.slice(2),r=t==="tree"?n.join("/"):t==="blob"||t==="commits"?n[0]:void 0;return{repo:e.slice(0,2),branch:r}},"gitlab.com":e=>{const t=e.indexOf("-");if(t<2)return e.length>=2&&t<0?{repo:e}:null;const[n,...r]=e.slice(t+1),o=n==="tree"?r.join("/"):n==="blob"||n==="commits"?r[0]:void 0;return{repo:e.slice(0,t),branch:o}},"codeberg.org":e=>{if(e.length<2)return null;const[t,n,...r]=e.slice(2),o=t==="src"&&n==="branch"?r[0]:void 0;return{repo:e.slice(0,2),branch:o}}};function XD(e){var o;if(!/^https?:\/\//i.test(e))return null;let t;try{t=new URL(e)}catch{return null}const n=(o=Ng[t.hostname.toLowerCase()])==null?void 0:o.call(Ng,t.pathname.split("/").filter(Boolean));if(!n)return null;const r=n.branch?QD(n.branch).replace(/\/+$/,""):"";return{url:`${t.protocol}//${t.host}/${n.repo.join("/")}`,...r?{branch:r}:{}}}function QD(e){try{return decodeURIComponent(e)}catch{return e}}function JD(e){var o;const t=((o=e.split(/[?#]/)[0])==null?void 0:o.replace(/\/+$/,""))??"";return((X_.test(t)?t.split(":")[1]??"":t).split("/").pop()??"").replace(/\.git$/i,"")}const e4=jr({component:Nn().nullable(),file:Nn().nullable(),line:Bs().nullable(),callFile:Nn().nullable().default(null),callLine:Bs().nullable().default(null),tag:Nn(),selector:Nn()}),t4=jr({tag:Nn().max(40),id:Nn().max(200),classes:Ra(Nn().max(120)).max(16),text:Nn().max(200),attrs:Ra(W_([Nn().max(40),Nn().max(200)])).max(12)}),n4=W_([Bs(),Bs()]),r4=e4.extend({classes:Nn(),text:Nn(),html:Nn(),route:Nn(),element:t4}),o4=aD("type",[jr({type:eo("loaded"),url:Nn(),title:Nn()}),jr({type:eo("navigated"),url:Nn(),title:Nn().optional()}),jr({type:eo("traversed"),dir:Pc(["back","forward"]).optional()}),jr({type:eo("title"),title:Nn()}),jr({type:eo("links"),links:Ra(jr({path:Nn().max(2048),text:Nn().max(120)})).max(200)}),jr({type:eo("hmr")}),jr({type:eo("touch"),phase:Pc(["start","move","end","cancel"]),x:Bs(),y:Bs()}),jr({type:eo("page-error"),message:Nn(),source:Nn().optional(),line:Bs().optional()}),r4.extend({type:eo("picked"),verb:Pc(["chat","code"]).default("chat"),site:Pc(["call","source"]).default("source")}),jr({type:eo("pick-cancel")}),jr({type:eo("highlight-miss"),path:Nn(),fileMatched:Bs(),withSource:Bs(),ranges:Ra(n4).nullable()}),jr({type:eo("drag-files"),over:zo().default(!0)}),jr({type:eo("drop-files"),files:Ra(jD(File))}),jr({type:eo("focus"),gesture:zo()}),jr({type:eo("key"),key:Nn(),code:Nn().optional(),meta:zo(),ctrl:zo().optional(),shift:zo().optional(),alt:zo().optional(),up:zo().optional()})]);function Q_(e){const t=o4.safeParse(e);return t.success?t.data:null}const s4=["rows","repos","visits","themes"];function i4(e){return s4.map(t=>e[t]??"").join(".")}const a4=/["“”]([^"“”]*)["“”]?|(\S+)/g;function J_(e){const t=new Set;for(const n of e.matchAll(a4)){const r=(n[1]??n[2]??"").replace(/\s+/g," ").trim().toLowerCase();r&&t.add(r)}return[...t]}const c4="now",l4="http://preview.invalid",u4=200;function _x(e){const t=e==null?void 0:e.replace(/\s+/g," ").trim().slice(0,u4).trim();return t||void 0}function cp(e){let t;try{t=new URL(e,l4)}catch{return null}if(t.pathname.startsWith("/__toyon"))return null;const n=Nx(t.pathname)||"/",r=t.hash.startsWith("#/")?Nx(t.hash.split("?")[0]??""):"";return r.length>1?`${n}${r}`:n}const Nx=e=>e.replace(/\/+$/,""),d4={static:4,mixed:3.5,param:3,optional:2,"optional-static":2,splat:1},ph=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");function eN(e){const t=/^\[\[\.\.\.([^\]]*)\]\]$/.exec(e);if(t)return{kind:"splat",name:t[1]||"path",min:0};const n=/^\[\.\.\.([^\]]*)\]$/.exec(e);if(n)return{kind:"splat",name:n[1]||"path",min:1};const r=/^\[\[([^\]]+)\]\]$/.exec(e)??/^:([\w-]+)\?$/.exec(e)??/^\{-\$([\w-]+)\}$/.exec(e);if(r)return{kind:"optional",name:r[1]};const o=/^\[([^\]=]+)(?:=[^\]]*)?\]$/.exec(e)??/^:([\w-]+)$/.exec(e)??/^\$([\w-]+)$/.exec(e);if(o)return{kind:"param",name:o[1]};if(e==="*"||e==="$")return{kind:"splat",name:"path",min:0};if(/^[^[{:$*?]+\?$/.test(e))return{kind:"optional-static",text:e.slice(0,-1)};if(/[[{]/.test(e)){const s=[];let a="",l=0;for(const h of e.matchAll(/\[([^\]=]+)(?:=[^\]]*)?\]|\{\$([\w-]+)\}/g)){const f=e.slice(l,h.index);f&&(s.push({text:f}),a+=ph(f)),s.push({name:h[1]??h[2]??"param"}),a+="[^/]+?",l=(h.index??0)+h[0].length}const u=e.slice(l);if(u&&(s.push({text:u}),a+=ph(u)),s.some(h=>"name"in h))return{kind:"mixed",pattern:a,parts:s}}return{kind:"static",text:e}}function f4(e){const t=e.split("/").filter(Boolean).map(eN);if(t.every(r=>r.kind==="static"))return null;let n="";for(const r of t)r.kind==="static"?n+=`/${ph(r.text)}`:r.kind==="optional-static"?n+=`(?:/${ph(r.text)})?`:r.kind==="param"?n+="/[^/]+":r.kind==="optional"?n+="(?:/[^/]+)?":r.kind==="splat"?n+=r.min?"/.+":"(?:/.*)?":n+=`/${r.pattern}`;return{path:e,re:new RegExp(`^${n}$`),specificity:t.reduce((r,o)=>r+d4[o.kind],0),statics:t.filter(r=>r.kind==="static").length}}function h4(e,t){let n=null;for(const r of e)r.statics===0||!r.re.test(t)||(!n||r.specificity>n.specificity)&&(n=r);return n}function lp(e){let t="";const n=[],r=o=>{n.push([t.length,t.length+o.length]),t+=o};for(const o of e.split("/").filter(Boolean).map(eN))if(t+="/",o.kind==="static"||o.kind==="optional-static")t+=o.text;else if(o.kind==="mixed")for(const s of o.parts)"name"in s?r(s.name):t+=s.text;else r(o.name);return t||(t="/"),{text:t,params:n,literal:n.length>0?t.slice(0,n[0][0]):t}}const Qu={id:"toyon-dark",family:"Toyon",name:"Toyon Dark",kind:"dark",source:"builtin",pair:"toyon-light",colors:{surface0:"#32302d",surface1:"#3d3835",surface2:"#504943",element0:"#504943",element1:"#675c55",border0:"#504943",border1:"#675c55",text0:"#e6dcb6",text1:"#9e927e",text2:"#6a6055",red:"#ff4929",orange:"#fa891e",yellow:"#fcbe03",green:"#78c945",aqua:"#4dc7a7",blue:"#69a9e8",purple:"#ca94ca",diffAdd:"#6fae5f29",diffDel:"#c07f6a29"},syntax:{comment:"#6a6055",keyword:"#df714e",string:"#a5bd4d",number:"#ca94ca",type:"#f5bf3a",function:"#6bc198",variable:"#81a99d"},link:"#83a9cf"},tN={id:"toyon-light",family:"Toyon",name:"Toyon Light",kind:"light",source:"builtin",pair:"toyon-dark",colors:{surface0:"#f8f2e8",surface1:"#efe8dc",surface2:"#dfd7c9",element0:"#dfd7c9",element1:"#c7bdac",border0:"#dfd7c9",border1:"#c7bdac",text0:"#463627",text1:"#6e5e51",text2:"#b4aa9f",red:"#b02e15",orange:"#b15b02",yellow:"#ac7e02",green:"#3c8c03",aqua:"#01775c",blue:"#12689e",purple:"#865889",diffAdd:"#4f7a3d2e",diffDel:"#9c5a452e"},syntax:{comment:"#b4aa9f",keyword:"#b54d2d",string:"#697f1e",number:"#865889",type:"#ac7e02",function:"#397f5f",variable:"#57796f"},link:"#3e6888"},p4={id:"gruvbox-dark-soft",family:"Gruvbox",name:"Gruvbox Dark Soft",kind:"dark",source:"builtin",pair:"gruvbox-light",colors:{surface0:"#32302f",surface1:"#3c3836",surface2:"#504945",element0:"#504945",element1:"#665c54",border0:"#504945",border1:"#665c54",text0:"#ebdbb2",text1:"#a89984",text2:"#928374",red:"#fb4934",orange:"#fe8019",yellow:"#fabd2f",green:"#b8bb26",aqua:"#8ec07c",blue:"#83a598",purple:"#d3869b",diffAdd:"#b8bb261f",diffDel:"#fb49341f"},syntax:{comment:"#928374",keyword:"#fb4934",string:"#b8bb26",number:"#d3869b",type:"#fabd2f",function:"#8ec07c",variable:"#83a598"}},m4={id:"gruvbox-light",family:"Gruvbox",name:"Gruvbox Light",kind:"light",source:"builtin",pair:"gruvbox-dark-soft",colors:{surface0:"#f4f2ee",surface1:"#ebe8e2",surface2:"#dcd8d0",element0:"#dcd8d0",element1:"#c3beb4",border0:"#dcd8d0",border1:"#c3beb4",text0:"#3c3836",text1:"#655f5a",text2:"#837c74",red:"#9d0006",orange:"#af3a03",yellow:"#b57614",green:"#79740e",aqua:"#427b58",blue:"#076678",purple:"#8f3f71",diffAdd:"#79740e26",diffDel:"#9d000626"},syntax:{comment:"#837c74",keyword:"#9d0006",string:"#79740e",number:"#8f3f71",type:"#b57614",function:"#427b58",variable:"#076678"}},g4={id:"vscode-dark-modern",family:"VS Code Modern",pair:"vscode-light-modern",name:"VS Code Dark Modern",kind:"dark",source:"builtin",colors:{surface0:"#1f1f1f",surface1:"#181818",surface2:"#2a2d2e",element0:"#2a2d2e",element1:"#2b2b2b",border0:"#2a2d2e",border1:"#2b2b2b",text0:"#cccccc",text1:"#9d9d9d",text2:"#6e7681",red:"#f85149",orange:"#0078d4",yellow:"#f5f543",green:"#23d18b",aqua:"#29b8db",blue:"#4daafc",purple:"#d670d6",diffAdd:"#23d18b1f",diffDel:"#f851491f"},syntax:{comment:"#6a9955",keyword:"#569cd6",string:"#ce9178",number:"#b5cea8",type:"#4ec9b0",function:"#dcdcaa",variable:"#9cdcfe"}},k4={id:"vscode-light-modern",family:"VS Code Modern",pair:"vscode-dark-modern",name:"VS Code Light Modern",kind:"light",source:"builtin",colors:{surface0:"#ffffff",surface1:"#f8f8f8",surface2:"#f2f2f2",element0:"#f2f2f2",element1:"#e5e5e5",border0:"#f2f2f2",border1:"#e5e5e5",text0:"#3b3b3b",text1:"#3b3b3b",text2:"#6e7681",red:"#f85149",orange:"#005fb8",yellow:"#949800",green:"#00bc00",aqua:"#0598bc",blue:"#005fb8",purple:"#bc05bc",diffAdd:"#00bc001f",diffDel:"#f851491f"},syntax:{comment:"#008000",keyword:"#0000ff",string:"#a31515",number:"#098658",type:"#267f99",function:"#795e26",variable:"#001080"}},w4={id:"vscode-2026-dark",family:"VS Code 2026",pair:"vscode-2026-light",name:"VS Code Dark 2026",kind:"dark",source:"builtin",colors:{surface0:"#121314",surface1:"#191a1b",surface2:"#2b2c2d",element0:"#2b2c2d",element1:"#2a2b2c",border0:"#2b2c2d",border1:"#2a2b2c",text0:"#bbbebf",text1:"#8c8c8c",text2:"#555555",red:"#f48771",orange:"#2d6e8a",yellow:"#e5ba7d",green:"#73c991",aqua:"#29b8db",blue:"#48a0c7",purple:"#d670d6",diffAdd:"#347d3926",diffDel:"#c93c3726"},syntax:{comment:"#8b949e",keyword:"#ff7b72",string:"#a5d6ff",number:"#b5cea8",type:"#4ec9b0",function:"#dcdcaa",variable:"#ffa657"}},y4={id:"vscode-2026-light",family:"VS Code 2026",pair:"vscode-2026-dark",name:"VS Code Light 2026",kind:"light",source:"builtin",colors:{surface0:"#ffffff",surface1:"#fafafd",surface2:"#e6e6e9",element0:"#e6e6e9",element1:"#f0f1f2",border0:"#e6e6e9",border1:"#f0f1f2",text0:"#202020",text1:"#606060",text2:"#bbbbbb",red:"#ad0707",orange:"#0069cc",yellow:"#667309",green:"#587c0c",aqua:"#0598bc",blue:"#0069cc",purple:"#bc05bc",diffAdd:"#587c0c26",diffDel:"#ad070726"},syntax:{comment:"#6e7781",keyword:"#cf222e",string:"#0a3069",number:"#098658",type:"#267f99",function:"#795e26",variable:"#953800"}},v4={id:"tokyo-night",family:"Tokyo Night",name:"Tokyo Night",kind:"dark",source:"builtin",pair:"tokyo-night-light",colors:{surface0:"#1a1b26",surface1:"#16161e",surface2:"#13131a",element0:"#13131a",element1:"#101014",border0:"#13131a",border1:"#101014",text0:"#a9b1d6",text1:"#515670",text2:"#545c7e",red:"#f7768e",orange:"#3d59a1",yellow:"#e0af68",green:"#73daca",aqua:"#7dcfff",blue:"#7aa2f7",purple:"#bb9af7",diffAdd:"#41a6b520",diffDel:"#db4b4b22"},syntax:{comment:"#51597d",keyword:"#bb9af7",string:"#9ece6a",number:"#ff9e64",type:"#0db9d7",function:"#0db9d7",variable:"#c0caf5"}},b4={id:"tokyo-night-light",family:"Tokyo Night",name:"Tokyo Night Light",kind:"light",source:"builtin",pair:"tokyo-night",colors:{surface0:"#e6e7ed",surface1:"#d6d8df",surface2:"#e1e2e8",element0:"#e1e2e8",element1:"#c1c2c7",border0:"#e1e2e8",border1:"#c1c2c7",text0:"#343b59",text1:"#707280",text2:"#707280",red:"#8c4351",orange:"#2959aa",yellow:"#8f5e15",green:"#33635c",aqua:"#006c86",blue:"#2959aa",purple:"#7b43ba",diffAdd:"#2d9c9120",diffDel:"#e8686812"},syntax:{comment:"#888b94",keyword:"#65359d",string:"#385f0d",number:"#965027",type:"#006c86",function:"#006c86",variable:"#343b58"}},x4={id:"rose-pine",family:"Rosé Pine",name:"Rosé Pine",kind:"dark",source:"builtin",pair:"rose-pine-dawn",colors:{surface0:"#191724",surface1:"#191724",surface2:"#221f2e",element0:"#221f2e",element1:"#191724",border0:"#221f2e",border1:"#191724",text0:"#e0def4",text1:"#908caa",text2:"#908caa",red:"#eb6f92",orange:"#ebbcba",yellow:"#f6c177",green:"#31748f",aqua:"#ebbcba",blue:"#9ccfd8",purple:"#c4a7e7",diffAdd:"#9ccfd826",diffDel:"#eb6f9226"},syntax:{comment:"#6e6a86",keyword:"#31748f",string:"#f6c177",number:"#ebbcba",type:"#9ccfd8",function:"#eb6f92",variable:"#ebbcba"}},E4={id:"rose-pine-dawn",family:"Rosé Pine",name:"Rosé Pine Dawn",kind:"light",source:"builtin",pair:"rose-pine",colors:{surface0:"#faf4ed",surface1:"#faf4ed",surface2:"#f3ede8",element0:"#f3ede8",element1:"#faf4ed",border0:"#f3ede8",border1:"#faf4ed",text0:"#575279",text1:"#797593",text2:"#797593",red:"#b4637a",orange:"#d7827e",yellow:"#ea9d34",green:"#286983",aqua:"#d7827e",blue:"#56949f",purple:"#907aa9",diffAdd:"#56949f26",diffDel:"#b4637a26"},syntax:{comment:"#9893a5",keyword:"#286983",string:"#ea9d34",number:"#d7827e",type:"#56949f",function:"#b4637a",variable:"#d7827e"}},S4={id:"one-dark-pro",family:"One Dark Pro",name:"One Dark Pro",kind:"dark",source:"builtin",pair:"one-light",colors:{surface0:"#282c34",surface1:"#21252b",surface2:"#2c313a",element0:"#2c313a",element1:"#3e4452",border0:"#2c313a",border1:"#3e4452",text0:"#abb2bf",text1:"#abb2bf",text2:"#495162",red:"#e05561",orange:"#4d78cc",yellow:"#d18f52",green:"#8cc265",aqua:"#42b3c2",blue:"#4aa5f0",purple:"#c162de",diffAdd:"#00809b33",diffDel:"#e055611f"},syntax:{comment:"#7f848e",keyword:"#c678dd",string:"#98c379",number:"#d19a66",type:"#e5c07b",function:"#56b6c2",variable:"#e06c75"}},_4={id:"one-light",family:"One Dark Pro",name:"One Light",kind:"light",source:"builtin",pair:"one-dark-pro",colors:{surface0:"#fafafa",surface1:"#eaeaeb",surface2:"#e4e4e5",element0:"#e4e4e5",element1:"#e5e5e6",border0:"#e4e4e5",border1:"#e5e5e6",text0:"#383a42",text1:"#3b3b3b",text2:"#9d9d9f",red:"#cd3131",orange:"#526fff",yellow:"#949800",green:"#00bc00",aqua:"#0598bc",blue:"#0451a5",purple:"#bc05bc",diffAdd:"#00809b33",diffDel:"#cd31311f"},syntax:{comment:"#a0a1a7",keyword:"#a626a4",string:"#50a14f",number:"#986801",type:"#0184bc",function:"#0184bc",variable:"#e45649"}},N4={id:"solarized-dark",family:"Solarized",name:"Solarized Dark",kind:"dark",source:"builtin",pair:"solarized-light",colors:{surface0:"#002b36",surface1:"#00212b",surface2:"#003846",element0:"#003846",element1:"#2b2b4a",border0:"#003846",border1:"#2b2b4a",text0:"#839496",text1:"#93a1a1",text2:"#4a6166",red:"#dc322f",orange:"#197271",yellow:"#b58900",green:"#859900",aqua:"#2aa198",blue:"#268bd2",purple:"#d33682",diffAdd:"#8599001f",diffDel:"#dc322f1f"},syntax:{comment:"#586e75",keyword:"#859900",string:"#2aa198",number:"#d33682",type:"#859900",function:"#268bd2",variable:"#268bd2"}},T4={id:"solarized-light",family:"Solarized",name:"Solarized Light",kind:"light",source:"builtin",pair:"solarized-dark",colors:{surface0:"#fdf6e3",surface1:"#eee8d5",surface2:"#eae0c0",element0:"#eae0c0",element1:"#ddd6c1",border0:"#eae0c0",border1:"#ddd6c1",text0:"#657b83",text1:"#586e75",text2:"#a3aba5",red:"#dc322f",orange:"#b58900",yellow:"#b58900",green:"#859900",aqua:"#2aa198",blue:"#268bd2",purple:"#d33682",diffAdd:"#8599001f",diffDel:"#dc322f1f"},syntax:{comment:"#93a1a1",keyword:"#859900",string:"#2aa198",number:"#d33682",type:"#859900",function:"#268bd2",variable:"#268bd2"}},j4={id:"nord",family:"Nord",name:"Nord",kind:"dark",source:"builtin",colors:{surface0:"#2e3440",surface1:"#2e3440",surface2:"#3b4252",element0:"#3b4252",element1:"#3b4252",border0:"#3b4252",border1:"#3b4252",text0:"#d8dee9",text1:"#c7cdd8",text2:"#4c566a",red:"#bf616a",orange:"#88c0d0",yellow:"#ebcb8b",green:"#a3be8c",aqua:"#88c0d0",blue:"#81a1c1",purple:"#b48ead",diffAdd:"#81a1c133",diffDel:"#bf616a4d"},syntax:{comment:"#616e88",keyword:"#81a1c1",string:"#a3be8c",number:"#b48ead",type:"#8fbcbb",function:"#88c0d0",variable:"#d8dee9"}},$4={id:"catppuccin-mocha",family:"Catppuccin",name:"Catppuccin Mocha",kind:"dark",source:"builtin",pair:"catppuccin-latte",colors:{surface0:"#1e1e2e",surface1:"#181825",surface2:"#313244",element0:"#313244",element1:"#45475a",border0:"#313244",border1:"#45475a",text0:"#cdd6f4",text1:"#a6adc8",text2:"#7f849c",red:"#f38ba8",orange:"#fab387",yellow:"#f9e2af",green:"#a6e3a1",aqua:"#94e2d5",blue:"#89b4fa",purple:"#cba6f7",diffAdd:"#a6e3a11f",diffDel:"#f38ba81f"},syntax:{comment:"#9399b2",keyword:"#cba6f7",string:"#a6e3a1",number:"#fab387",type:"#f9e2af",function:"#89b4fa",variable:"#cdd6f4"}},A4={id:"catppuccin-latte",family:"Catppuccin",name:"Catppuccin Latte",kind:"light",source:"builtin",pair:"catppuccin-mocha",colors:{surface0:"#eff1f5",surface1:"#e6e9ef",surface2:"#ccd0da",element0:"#ccd0da",element1:"#bcc0cc",border0:"#ccd0da",border1:"#bcc0cc",text0:"#4c4f69",text1:"#6c6f85",text2:"#8c8fa1",red:"#d20f39",orange:"#fe640b",yellow:"#df8e1d",green:"#40a02b",aqua:"#179299",blue:"#1e66f5",purple:"#8839ef",diffAdd:"#40a02b1f",diffDel:"#d20f391f"},syntax:{comment:"#7c7f93",keyword:"#8839ef",string:"#40a02b",number:"#fe640b",type:"#df8e1d",function:"#1e66f5",variable:"#4c4f69"}},C4=[v4,b4,x4,E4,S4,_4,N4,T4,j4,$4,A4],Vf=[Qu,tN,p4,m4,g4,k4,w4,y4,...C4],I4={mode:"dark",light:tN.id,dark:Qu.id},R4=["surface0","surface1","surface2","element0","element1","border0","border1","text0","text1","text2","red","orange","yellow","green","aqua","blue","purple","diffAdd","diffDel"];function O4(e){return`--${e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}`}function yk(e){return nN(Oa(e))}function nN(e){return e>.008856?116*e**(1/3)-16:903.3*e}function Xw(e,t){const n=yk(e)+t,r=Fa(e);if(!r)return e;let o=0,s=2;for(let a=0;a<24;a++){const l=(o+s)/2,u=Qc(Math.min(255,r[0]*l),Math.min(255,r[1]*l),Math.min(255,r[2]*l));yk(u)<n?o=l:s=l}return Qc(Math.min(255,r[0]*o),Math.min(255,r[1]*o),Math.min(255,r[2]*o))}function M4(e){return Xw(e.colors.surface1,-4)}function L4(e){return Xw(e.colors.surface0,-4)}const Tx=["surface0","surface1","surface2","element0","element1","border0","border1"];function P4(e){if(e.kind!=="dark")return e;const t=Tx.reduce((o,s)=>Oa(e.colors[s])<Oa(e.colors[o])?s:o),n=e.colors[t];if(Oa(n)<=0)return e;const r={...e.colors};for(const o of[...Tx,"text1","text2"]){const s=G4(e.colors[o],n)*.05-.05;r[o]=Xw(r[o],nN(s)-yk(r[o]))}return r.surface0="#000000",r.surface1="#000000",{...e,colors:r}}function jx(e){return Z4(e,.55)}function D4(e){const t=e.colors,n=e.syntax??{};return{comment:n.comment??t.text2,keyword:n.keyword??t.orange,string:n.string??t.green,number:n.number??t.purple,type:n.type??t.yellow,function:n.function??t.aqua,variable:n.variable??t.blue}}function z4(e){const t={};for(const n of R4)t[O4(n)]=e.colors[n];t["--ink0"]=e.colors.text0,t["--ink1"]=e.colors.text1,t["--ink2"]=e.colors.text2;for(const[n,r]of Object.entries(D4(e)))t[`--syntax-${n}`]=r;return t["--accent"]=Qw(e),t["--fault"]=F4(e),t["--link"]=B4(e),t["--sunken"]=M4(e),t["--sunken-floor"]=L4(e),t["--scrim"]=q4(e.colors.surface0,.7),t["--shadow"]=e.kind==="dark"?"#00000066":"#0000002e",t["--diff-add-word"]=jx(e.colors.diffAdd),t["--diff-del-word"]=jx(e.colors.diffDel),t}function Qw(e){return ey(e.accent??"")??e.colors.orange}function F4(e){return Qw(e)===ey(e.colors.orange)?e.colors.red:e.colors.orange}function B4(e){return ey(e.link??"")??e.colors.blue}function U4(e){return e==="system"||e==="daylight"}function Jw(e,t){return e.mode==="system"?t.system?"dark":"light":e.mode==="daylight"?t.daylight?"dark":"light":e.mode}function up(e,t,n){const r=Jw(e,n);return t.find(o=>o.id===e[r])??Vf.find(o=>o.kind===r)??Qu}function H4(e,t){if(e.pair){const a=t.find(l=>l.id===e.pair);if(a&&a.kind!==e.kind)return a}const n=e.kind==="dark"?"light":"dark",r=a=>a.toLowerCase().replace(/\b(dark|light)\b/g,"*").replace(/\s+/g," ").trim(),o=r(e.name);if(!o.includes("*"))return null;const s=e.id.startsWith("vscode:")?e.id.slice(0,e.id.lastIndexOf(":")+1):null;return t.find(a=>a.kind===n&&a.source===e.source&&(!s||a.id.startsWith(s))&&r(a.name)===o)??null}function W4(e){const t=[],n=new Set,r=o=>o.family??(o.name.replace(/\b(dark|light)\b/gi,"").replace(/\s+/g," ").trim()||o.name);for(const o of e){if(n.has(o.id))continue;const s=H4(o,e),a={name:r(o)};a[o.kind]=o,n.add(o.id),s&&(a[s.kind]=s,n.add(s.id)),t.push(a)}return t}function K4(e,t){const n={...e};return t.dark&&(n.dark=t.dark.id),t.light&&(n.light=t.light.id),!U4(n.mode)&&!t[n.mode]&&(n.mode=t.dark?"dark":"light"),n}function Fa(e){const t=/^#([0-9a-f]{3,8})$/i.exec(e.trim());if(!t)return null;let n=t[1];if((n.length===3||n.length===4)&&(n=[...n].map(o=>o+o).join("")),n.length!==6&&n.length!==8)return null;const r=o=>parseInt(n.slice(o,o+2),16);return[r(0),r(2),r(4),n.length===8?r(6)/255:1]}function ey(e){const t=Fa(e);return t?Qc(t[0],t[1],t[2],t[3]):null}function Qc(e,t,n,r=1){const o=s=>Math.round(Math.max(0,Math.min(255,s))).toString(16).padStart(2,"0");return`#${o(e)}${o(t)}${o(n)}${r>=1?"":o(r*255)}`}function q4(e,t){const n=Fa(e);return n?Qc(n[0],n[1],n[2],t):e}function Z4(e,t){const n=Fa(e);return n?Qc(n[0],n[1],n[2],Math.min(1,n[3]*t)):e}function xQ(e,t){const n=Fa(e),r=Fa(t);if(!n||!r)return e;const o=n[3];return Qc(n[0]*o+r[0]*(1-o),n[1]*o+r[1]*(1-o),n[2]*o+r[2]*(1-o))}function Oa(e){const t=Fa(e);if(!t)return 0;const n=r=>{const o=r/255;return o<=.03928?o/12.92:((o+.055)/1.055)**2.4};return .2126*n(t[0])+.7152*n(t[1])+.0722*n(t[2])}function G4(e,t){const n=Oa(e),r=Oa(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function V4(e){return Oa(e)>.179?"#1d2021":"#fbf1c7"}function vk(e){if(e===null||e==="")return"the npm registry";try{return new URL(e).host}catch{return e}}function rN(e,t){const n=$x(e),r=$x(t);if(!n||!r)return!1;for(let o=0;o<3;o++){const s=n.nums[o]??0,a=r.nums[o]??0;if(s!==a)return s>a}return n.pre===r.pre?!1:n.pre===null?!0:r.pre===null?!1:n.pre>r.pre}function $x(e){const t=/^(\d+)\.(\d+)\.(\d+)(?:-([0-9A-Za-z.-]+))?$/.exec(e.trim());return t?{nums:[Number(t[1]),Number(t[2]),Number(t[3])],pre:t[4]??null}:null}const Y4=[[/\.(png|jpe?g|gif|webp|avif|bmp|ico)$/i,"image"],[/\.(mp4|m4v|webm|mov)$/i,"video"]];function X4(e){var t;return((t=Y4.find(([n])=>n.test(e)))==null?void 0:t[1])??null}const Q4=[[/\.(md|markdown)$/i,"markdown"],[/\.html?$/i,"html"],[/\.svg$/i,"svg"]];function qa(e){var t;return((t=Q4.find(([n])=>n.test(e)))==null?void 0:t[1])??null}const et={active:"toyon-active",phoneRow:"toyon-phone-row",repo:"toyon-repo",lastActive:"toyon-last",discoveredOpen:"toyon-disc",archivedOpen:"toyon-arch",committedShut:"toyon-committed-shut",turnOpen:"toyon-turn-open",treeOpen:"toyon-tree",token:"toyon-token",theme:"toyon-theme",daylight:"toyon-sun",changesWidth:"toyon-changes-w",chatWidth:"toyon-chat-w",editorHeight:"toyon-dh",editorFull:"toyon-dfull",editorWrap:"toyon-dwrap",editorSplit:"toyon-dsplit",designHeight:"toyon-dsh",designFull:"toyon-dsfull",termHeight:"toyon-th",rail:"toyon-rail",railWidth:"toyon-rail-w",chatSide:"toyon-chat-side",clipboardOffer:"toyon-clipboard-offer",blackGround:"toyon-black",installOffered:"toyon-install-offered",layouts:"toyon-layouts",client:"toyon-client",ground:"toyon-ground",version:"toyon-version"},J4=[et.active,et.repo,et.lastActive,et.discoveredOpen,et.archivedOpen,et.committedShut,et.turnOpen,et.treeOpen,et.phoneRow,et.version],Yf=(e,t)=>`${e}@${t}`,ez="toyon",nu="snapshots",ko={hello:e=>`hello@${e}`,chat:(e,t)=>`chat@${e}/${t}`,chats:e=>`chat@${e}/`};function tz(e,t=typeof localStorage>"u"?null:localStorage,n=typeof sessionStorage>"u"?null:sessionStorage){const r=a=>({get(l){try{return(a==null?void 0:a.getItem(Yf(l,e)))??null}catch{return null}},set(l,u){try{a==null||a.setItem(Yf(l,e),u)}catch{}},remove(l){try{a==null||a.removeItem(Yf(l,e))}catch{}}}),o=r(t),s=r(n);return{...o,session:{get:s.get,set:s.set},clear(){for(const a of[t,n])for(const l of bk(a).filter(u=>u.endsWith(`@${e}`)))try{a==null||a.removeItem(l)}catch{}}}}function bk(e){const t=[];try{for(let n=0;n<((e==null?void 0:e.length)??0);n++){const r=e==null?void 0:e.key(n);r!=null&&t.push(r)}}catch{}return t}const nz="orch-";function rz(e,t=typeof localStorage>"u"?null:localStorage,n=typeof sessionStorage>"u"?null:sessionStorage){for(const[r,o]of[[t,["active","token","theme","editorHeight","editorFull"]],[n,["client"]]])for(const s of o){const a=et[s],l=nz+a.slice(6);Ax(r,l,a)}for(const[r,o]of[[t,J4.filter(s=>s!==et.phoneRow)],[n,[et.phoneRow]]]){const s=bk(r).filter(a=>!a.includes("@"));for(const a of o)for(const l of s.filter(u=>u===a))Ax(r,l,Yf(l,e))}for(const r of bk(t))oz.some(o=>r.startsWith(o))&&sz(t,r)}const oz=["toyon-profile-","toyon-mode-","toyon-model-","toyon-effort-","toyon-mono-face"];function sz(e,t){try{e==null||e.removeItem(t)}catch{}}function Ax(e,t,n){try{const r=e==null?void 0:e.getItem(t);if(r==null)return;(e==null?void 0:e.getItem(n))===null&&e.setItem(n,r),e==null||e.removeItem(t)}catch{}}function oN(){const e=location.hash.match(/token=([a-f0-9]+)/);if(e!=null&&e[1])return sN(e[1]),e[1];try{return localStorage.getItem(et.token)??sessionStorage.getItem(et.token)??""}catch{return""}}function sN(e){try{localStorage.setItem(et.token,e)}catch{}}function mh(){return oN()!==""}function ty(e,t){const n=new URL(e),r=`token=${t}`,o=s=>`&v=${encodeURIComponent(s??"")}`;return{origin:n.origin,host:n.hostname,token:t,ws:`${n.protocol==="https:"?"wss":"ws"}://${n.host}/ws?${r}`,attachment:(s,a)=>`${n.origin}/attachments/${s}/${a}?${r}`,attachmentWhere:(s,a)=>`${n.origin}/attachments/${s}/${a}?${r}&where`,upload:s=>`${n.origin}/uploads/${s}?${r}`,worktreeFile:(s,a,l)=>`${n.origin}/files/${s}/${a.split("/").map(encodeURIComponent).join("/")}?${r}${o(l)}`,loose:(s,a)=>`${n.origin}/loose/${encodeURIComponent(s)}?${r}${o(a)}`,health:`${n.origin}/health`,restart:s=>`${n.origin}/restart?${r}${s?`&${c4}`:""}`,uploads:s=>`${n.origin}/uploads?kind=${s}`,tailnet:`${n.origin}/tailnet`,remote:`${n.origin}/remote`,tailscale:`${n.origin}/tailscale`,machines:`${n.origin}/machines`,knockAnswer:s=>`${n.origin}/knock/${s}/answer`,previewGrant:`${n.origin}/preview-grant`,frame:`${n.origin}/frame`,changelog:`${n.origin}/changelog`}}const Za=e=>({authorization:`Bearer ${e.token}`});async function iz(e,t,n,r){try{await n.slice(0,1).arrayBuffer()}catch{return"could not be read"}return new Promise(o=>{const s=new XMLHttpRequest;s.open("POST",e.uploads(t)),s.setRequestHeader("authorization",Za(e).authorization),s.setRequestHeader("content-type",n.type||"application/octet-stream"),r&&(s.upload.onprogress=a=>a.lengthComputable&&r(a.loaded/a.total)),s.onload=()=>{if(s.status>=502&&s.status<=504)return o(null);if(s.status<200||s.status>=300)return o(s.responseText||"could not be attached");try{o(JSON.parse(s.responseText))}catch{o("could not be attached")}},s.onerror=()=>o(null),s.onabort=()=>o(null),s.send(n)})}async function az(e,t=!1){try{const n=await fetch(e.restart(t),{method:"POST"});return n.ok?null:await n.text()||"Toyon did not restart"}catch{return null}}async function iN(e){try{const t=await fetch(e.restart(!1),{signal:AbortSignal.timeout(2e3)});if(!t.ok)return null;const{waiting:n,asking:r}=await t.json();return Array.isArray(n)?{waiting:n,asking:Array.isArray(r)?r:[]}:null}catch{return null}}async function cz(e){var t;try{const n=await fetch(e.changelog,{headers:Za(e)});return!n.ok||!((t=n.headers.get("content-type"))!=null&&t.startsWith("text/markdown"))?null:await n.text()}catch{return null}}async function lz(e,t){try{const n=await fetch(t,{headers:Za(e)});return n.ok?await n.json():null}catch{return null}}async function dp(e,t,n,r){try{const o=await fetch(t,{method:"POST",headers:{...Za(e),"content-type":"application/json"},body:JSON.stringify(n)});return o.ok?null:await o.text()||`refused (${o.status})`}catch{return r}}const uz=e=>lz(e,e.tailnet),dz=e=>dp(e,e.remote,{tailscale:!0},"Toyon is not answering; try again once it is back."),fz=e=>dp(e,e.remote,{off:!0},"Toyon is not answering; try again once it is back.");async function aN(e,t,n){try{const r=await fetch(t,{method:"POST",headers:{...Za(e),"content-type":"application/json"},body:JSON.stringify(n)});return r.ok?await r.json():null}catch{return null}}const cN="Toyon is not answering; try again once it is back.",hz=async e=>{const t=await aN(e,e.tailscale,{up:!0});return t===null?cN:t.refused},pz=async e=>await aN(e,e.tailscale,{login:!0})??{why:cN},mz=(e,t,n)=>dp(e,e.machines,{origin:t,token:n},"Toyon here is not answering; the machine is not listed yet."),gz=(e,t,n)=>dp(e,e.knockAnswer(t),{letIn:n},"Toyon is not answering");async function lN(e){try{const t=await fetch(e.previewGrant,{method:"POST",headers:Za(e)});return t.ok?await t.json():null}catch{return null}}async function kz(e,t){try{const n=await fetch(e.frame,{method:"POST",headers:{...Za(e),"content-type":"application/json"},body:JSON.stringify(t)});return n.ok?await n.json():n.status===400||n.status===503?await n.text():null}catch{return null}}const wz=2e3;async function uN(e,t,n){let r;try{const o=await fetch(`${e}/knock`,{method:"POST",signal:t});if(o.status===429)return"full";if(!o.ok)return"not-toyon";r=await o.json()}catch{return t.aborted?"gone":"unreachable"}if(typeof r.id!="string"||typeof r.word!="string")return"not-toyon";for(n(r.word);!t.aborted;){try{const o=await fetch(`${e}/knock/${r.id}`,{cache:"no-store",signal:t});if(o.status===404)return"gone";if(o.ok){const s=await o.json();if(s.state==="let-in"&&typeof s.token=="string"&&s.token)return{token:s.token};if(s.state==="refused")return"refused"}}catch{}await new Promise(o=>setTimeout(o,wz))}return"gone"}async function xk(e){try{const t=await fetch(e.health,{signal:AbortSignal.timeout(2e3)});return t.ok?(await t.json()).pid??null:null}catch{return null}}const yz=1e3,vz=3e4,bz=1500,xz=5e3,Cx=50,Ez=e=>e.t==="chat"||e.t==="create-worktree"||e.t==="restore-worktree";class Sz{constructor(t,n,r,o={},s={}){Rt(this,"ws",null);Rt(this,"queue",[]);Rt(this,"closed",!1);Rt(this,"attempt",0);Rt(this,"timer",null);Rt(this,"downAt",null);Rt(this,"downCode",0);Rt(this,"sayTimer",null);Rt(this,"sentDown",new Set);Rt(this,"drops",0);Rt(this,"urls");Rt(this,"suspended",!1);Rt(this,"connectDeadline");Rt(this,"settle");Rt(this,"backoffMin");Rt(this,"wake",()=>{var n;if(this.closed||this.suspended||document.visibilityState!=="visible"||((n=this.ws)==null?void 0:n.readyState)===WebSocket.OPEN)return;this.timer&&clearTimeout(this.timer),this.timer=null,this.attempt=0,this.drops=0,this.downAt!==null&&(this.downAt=Date.now(),this.onStatus(!1,null),this.armSay());const t=this.ws;this.connect(),t==null||t.close()});this.onMsg=n,this.onStatus=r,this.hooks=s,this.connectDeadline=o.connectDeadline??xz,this.settle=o.settle??bz,this.backoffMin=o.backoffMin??yz,this.urls=ty(t.origin,t.token),this.suspended=s.held??!1,this.connect(),document.addEventListener("visibilitychange",this.wake),window.addEventListener("online",this.wake)}suspend(){if(this.suspended||this.closed)return;this.suspended=!0,this.timer&&clearTimeout(this.timer),this.timer=null;const t=this.ws;this.ws=null,t==null||t.close(),this.onStatus(!1,null)}resume(){!this.suspended||this.closed||(this.suspended=!1,this.attempt=0,this.connect())}async diagnose(t){if(t===JR)return"unauthorized";if(this.drops<2)return null;try{return(await fetch(this.urls.health,{signal:AbortSignal.timeout(2e3)})).ok?"blocked":"down"}catch{return"down"}}say(t){this.downAt??(this.downAt=Date.now()),this.downCode=t,this.armSay()}armSay(){if(this.downAt===null)return;const t=this.downAt,n=()=>!this.closed&&this.downAt===t&&document.visibilityState==="visible";this.sayTimer&&clearTimeout(this.sayTimer),this.sayTimer=setTimeout(()=>{n()&&this.diagnose(this.downCode).then(r=>{n()&&this.onStatus(!1,r)})},Math.max(0,t+this.settle-Date.now()))}connect(){var s,a;if(this.closed||this.suspended)return;const t=((a=(s=this.hooks).known)==null?void 0:a.call(s))??null,n=new WebSocket(t===null?this.urls.ws:`${this.urls.ws}&known=${t}`);this.ws=n;let r=!1;const o=setTimeout(()=>{n.readyState===WebSocket.CONNECTING&&n.close()},this.connectDeadline);n.onmessage=l=>{if(!r){r=!0,clearTimeout(o),this.attempt=0,this.drops=0,this.downAt=null,this.sayTimer&&clearTimeout(this.sayTimer),this.sayTimer=null,this.onStatus(!0);for(const u of this.queue)n.send(u.raw);this.queue=[]}try{this.onMsg(JSON.parse(l.data))}catch{}},n.onclose=l=>{if(clearTimeout(o),this.ws!==n||(this.onStatus(!1),this.closed||this.suspended))return;this.drops++,this.say(l.code);const u=Math.min(vz,this.backoffMin*2**this.attempt++);this.timer=setTimeout(()=>this.connect(),u/2+Math.random()*(u/2))},n.onerror=()=>n.close()}send(t){const n=JSON.stringify(t);if(this.ws&&this.ws.readyState===WebSocket.OPEN){this.ws.send(n);return}if(t.t.startsWith("term-"))return;const r=t.t==="subscribe"||t.t==="unsubscribe"?`sub:${t.worktreeId}`:t.t==="view"?"view":null;r&&(this.queue=this.queue.filter(o=>o.key!==r)),Ez(t)&&t.boxId&&this.sentDown.add(t.boxId),this.queue.push({key:r,raw:n}),this.queue.length>Cx&&this.queue.splice(0,this.queue.length-Cx)}sentWhileDown(){const t=[...this.sentDown];return this.sentDown.clear(),t}dispose(){var t;this.closed=!0,this.timer&&clearTimeout(this.timer),this.sayTimer&&clearTimeout(this.sayTimer),document.removeEventListener("visibilitychange",this.wake),window.removeEventListener("online",this.wake),(t=this.ws)==null||t.close()}}function ny(e){return e==="cancelled"||e==="expired"}function dN(e){const t=e.findLast(n=>n.kind==="ask"||Ju(n));return(t==null?void 0:t.kind)!=="ask"||t.ask.kind!=="question"?null:ny(t.outcome)?t:null}function _z(e){if(e.ask.kind==="permission")return e.ask.title;const t=e.ask.questions.map(n=>n.header).filter(n=>!!n);return t.length>0?t.join(", "):e.ask.message}function Nz(e){return e.map(()=>({selected:[]}))}function Ix(e,t,n,r){return e.map((o,s)=>{if(s!==t)return o;const a=o.selected.includes(n);return r?{...o,selected:a?o.selected.filter(l=>l!==n):[...o.selected,n]}:{...o,selected:[n]}})}function fN(e,t,n){return e.map((r,o)=>{if(o!==t)return r;const{note:s,...a}=r;return n===void 0?a:{...a,note:n}})}function Rx(e,t,n,r){return e.map((o,s)=>s!==t?o:{selected:n&&!r?[]:o.selected,note:o.note??""})}function du(e,t){const n=e[t];return n&&n.note!==void 0&&!n.note.trim()?fN(e,t,void 0):e}function Tz(e){return e?e.options.length+(e.note?1:0):0}function Ox(e,t){return!!(e!=null&&e.note)&&t===e.options.length}function hN(e,t){return!!e&&e.note!==void 0&&(t||e.selected.length===0)}function Ma(e){var t;return!!e&&(e.selected.length>0||!!((t=e.note)!=null&&t.trim()))}function pN(e,t){return!!(e!=null&&e.multi)&&Ma(t)}function jz(e,t,n){return $a(e)===-1&&pN(t,n)}function Tg(e,t){return e.every((n,r)=>!n.required||Ma(t[r]))}function mN(e,t){var o;const n=((t==null?void 0:t.selected)??[]).map(s=>{var a;return oy(((a=e.options.find(l=>l.value===s))==null?void 0:a.label)??s)}),r=(o=t==null?void 0:t.note)==null?void 0:o.trim();return n.length===0?r||"skipped":r?`${n.join(", ")}: ${r}`:n.join(", ")}function gN(e,t){var o;const n=((t==null?void 0:t.selected)??[]).map(s=>{var a;return oy(((a=e.options.find(l=>l.value===s))==null?void 0:a.label)??s)}),r=((o=t==null?void 0:t.note)==null?void 0:o.trim())||void 0;return n.length>0?r?{pick:n.join(", "),note:r}:{pick:n.join(", ")}:r&&e.note?{pick:e.note.label,note:r}:{pick:r??"skipped"}}function ry(e,t){return e.map((n,r)=>Ek(e,n,mN(n,t==null?void 0:t[r])))}function Ek(e,t,n){return e.length>1&&t.header?`${t.header} · ${n}`:n}function $z(e,t){return e.map((n,r)=>{const o=t==null?void 0:t[r],s=Az(n,o);if(s.length===0)return{pick:Ek(e,n,mN(n,o)),descriptions:s};const a=gN(n,o);return{pick:Ek(e,n,a.pick),descriptions:s,note:a.note}})}function Az(e,t){return((t==null?void 0:t.selected)??[]).map(n=>{var r,o;return((o=(r=e.options.find(s=>s.value===n))==null?void 0:r.description)==null?void 0:o.trim())??""}).filter(Boolean)}function Cz(e){return e.outcome!=="answered"||e.ask.kind!=="question"?null:{message:e.ask.message,questions:e.ask.questions,answers:e.answers}}function Iz(e){if(e.outcome!=="answered")return null;const t=(e.answers??[]).map(n=>{var r;return((r=n.note)==null?void 0:r.trim())??""}).filter(Boolean);return t.length>0?t.join(`
|
|
102
|
+
`):null}function Rz(e){if(e.outcome!=="answered"||e.ask.kind!=="permission"||e.toolId)return null;const t=e.ask.choices.find(r=>r.id===e.choiceId);if(!t)return null;const n=e.ask.plan??null;return{file:n,text:n?"":e.ask.detail??"",choice:t.name}}function Dc(e,t){if(!e)return 0;if(hN(t,!!e.multi)&&e.note)return e.options.length;const n=t!=null&&t.selected[0]?e.options.findIndex(r=>r.value===t.selected[0]):-1;return n===-1?0:n}function Oz(e,t,n){return Math.max(0,Math.min(n-1,e+t))}function Mz(e,t,n){const r=e.length;for(let o=1;o<=r;o++){const s=(n+o)%r;if(!Ma(t[s]))return s}return-1}function $a(e){return e.length>1?e.length:-1}function Lz(e){return e.length+($a(e)===-1?0:1)}function Pz(e,t,n){const r=Mz(e,t,n);if(r!==-1)return{current:r,cursor:Dc(e[r],t[r]),send:!1};const o=$a(e);return o!==-1?{current:o,cursor:0,send:!1}:{current:n,cursor:Dc(e[n],t[n]),send:!0}}const kN=/\s*\(recommended\)\s*$/i;function Dz(e){return kN.test(e)}function oy(e){return e.replace(kN,"")}const zz={skipped:"you skipped this",cancelled:"the turn was stopped before you answered",expired:"Toyon restarted before you answered"};function Fz(e,t){const n=t??0;return n===0?null:`${n} behind ${e}`}function fp(e){const t=new Date(e);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}function wN(e,t){if(t.fetchFailed)return`could not reach origin${t.fetchedAt?` since ${fp(t.fetchedAt)}`:""}: ${t.fetchFailed}`;const n=t.behind??0;return n===0?null:t.stale==="diverged"?`${e} has diverged from origin`:t.stale==="dirty"&&t.dirty>0?`${n} behind origin; an uncommitted file on ${e} is in the pull's way`:`${n} behind origin`}function Bz(e){return e.stale!=="diverged"}function Jc(e,t){return`main has ${e} uncommitted ${e===1?"file":"files"}; ${t} runs on them too`}function yN(e,t,n,r){return n!==null&&r===n.host?`${QR(n.previews,e,t)}/`:r.endsWith(".localhost")?`http://w${e}.${r}:${t}/`:Qh(r)?`http://${r==="localhost"?"127.0.0.1":r}:${t}/`:`https://${r}:${t}/`}function Mx(e){return e.ranges.map(([t,n])=>[t+e.offset,n+e.offset])}function vN(e,t){if(t&&e.startsWith(`${t}/`))return e.slice(t.length+1);const n=e.lastIndexOf("/src/");return n>=0?e.slice(n+1):e}function Uz(e){var r;const t=(r=e.source)==null?void 0:r.replace(/[?#].*$/,""),n=t?` (${vN(t)}:${e.line??"?"})`:"";return`${e.message}${n}`.slice(0,OD)}function $f(e,t){return!Number.isFinite(e)||e<=0?t:Math.min(Math.max(e,170),Math.floor(window.innerWidth*.5))}const Hz=new Set(["running","starting","preparing","crashed","unreachable"]);function Gs(e){var n,r,o;if(e.agent==="waiting")return"waiting";if(e.agent==="working"&&e.stopping)return"stopping";if(e.agent==="working")return"working";const t=e.procs.some(s=>Hz.has(s.status));return t&&(e.agent==="error"||((r=(n=e.worktree)==null?void 0:n.lastTurn)==null?void 0:r.end)==="failed")?"failed":e.background?"background":t&&((o=e.worktree)!=null&&o.landed)&&!e.dirty?"landed":e.procs.some(s=>s.status==="crashed"||s.status==="unreachable")?"crashed":e.procs.some(s=>s.status==="running")?"running":e.procs.some(s=>s.status==="starting")?"starting":e.procs.some(s=>s.status==="preparing")?"preparing":e.procs.some(s=>s.status==="asleep")?"asleep":"idle"}const Wz={waiting:"Waiting for you",stopping:"Agent stopping",working:"Agent working",background:"Running in the background",failed:"Agent failed",landed:"Landed",crashed:"Crashed",running:"Running",starting:"Starting",preparing:"Setting up",asleep:"Asleep",idle:"Idle"};function sy(e,t=!1){const n=Gs(e);return n==="idle"&&t?"Not set up":n==="background"&&e.wakes?`Wakes ${fp(e.wakes)}`:Wz[n]}const Kz={preparing:"Setting up",starting:"Starting",running:"Running",unreachable:"Not answering",crashed:"Crashed",stopped:"Stopped",asleep:"Asleep"};function iy(e){return Kz[e]}const qz=new Set(["idle","asleep","running","starting","preparing","background","landed"]);function hp(e,t){return t&&qz.has(Gs(e))?t:null}const Zz={land:"Landing",commit:"Committing","sync-main":"Syncing with main","pull-main":"Pulling"};function ay(e){return Zz[e]}function bN(e,t){return hp(e,t??void 0)?"background":Gs(e)}function xN(e,t,n=!1){const r=hp(e,t??void 0);return r?ay(r):sy(e,n)}function EN(e){const t=e.filter(o=>o.status==="crashed"||o.status==="unreachable"),n=t[0];if(!n)return null;const r=t.map(o=>o.status==="unreachable"?`${o.name} never answered on :${o.port}`:`${o.name} crashed on :${o.port}`).join(", ");return{dead:t,tip:`${r} · click to open its tab`,stream:n.name}}function SN(e){const t=e.lastIndexOf("/");return t<0?{name:e,dir:""}:{name:e.slice(t+1),dir:e.slice(0,t)}}const _N=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}).compare;function gh(e){const t=[];for(let n=e.indexOf("/");n!==-1;n=e.indexOf("/",n+1))t.push(e.slice(0,n));return t}function NN(e){const t=new Set;for(const n of e)for(const r of gh(n))t.add(r);return[...t].sort(_N)}function cy(e){return e.includes("A")||e==="??"?"added":e.includes("D")?"deleted":""}function ly(e){if(e==="??")return"A";if(e==="UU"||e==="AA"||e==="DD"||e.includes("U"))return"C";const t=e.trim()[0]??"";return t==="T"?"M":t||"·"}const Gz=/Firefox\//.test(navigator.userAgent);function uy(){const e=t=>{var n;return((n=globalThis.matchMedia)==null?void 0:n.call(globalThis,`(display-mode: ${t})`).matches)??!1};return e("standalone")||e("window-controls-overlay")}const Vz=/Chrome\//.test(navigator.userAgent)&&uy(),qt=e=>PR(e,{firefox:Gz,pwa:Vz});function dy(e){return e.component?`<${e.component} />`:`<${e.tag}>`}function Sk(e,t){return e.worktree&&$r(e.worktree)&&t?t.defaultBranch:e.name}function fy(e){const t=Math.max(0,e/1e3),n=(a,l)=>`${a} ${l}${a===1?"":"s"}`;if(t<60)return"a moment";const r=t/60;if(r<60)return n(Math.floor(r),"minute");const o=r/60;if(o<24)return n(Math.floor(o),"hour");const s=o/24;return s<7?n(Math.floor(s),"day"):s<365?n(Math.floor(s/7),"week"):n(Math.floor(s/365),"year")}function kr(e){const t=Math.max(0,(Date.now()-e)/1e3);if(t<60)return"now";const n=t/60;if(n<60)return`${Math.floor(n)}m`;const r=n/60;if(r<24)return`${Math.floor(r)}h`;const o=r/24;return o<7?`${Math.floor(o)}d`:o<365?`${Math.floor(o/7)}w`:`${Math.floor(o/365)}y`}function Aa(e){const t=Math.max(0,Math.floor(e));return t<100?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function Yz(e,t,n,r){var a;if(!t)return null;const o=e.filter(Sn).filter(l=>l.repoId===t&&(l.worktree.agent??r)===n);return((a=o.find(l=>$r(l.worktree))??o[0])==null?void 0:a.id)??null}const Xz=200;function Qz(e,t){const n=new Map(e.map(r=>[r.path,r]));for(const r of t){if(n.size>=Xz)break;const o=cp(r.path);o&&!n.has(o)&&n.set(o,{path:o,text:r.text})}return n.size===e.length?e:[...n.values()]}function TN(e){return e!==void 0&&!e.routes.some(t=>!t.endpoint)}const Ui=e=>"uploading"in e&&e.uploading===!0;function Kc(e){switch(e.kind){case"image":case"file":{const{key:t,local:n,uploading:r,progress:o,...s}=e;return s}case"paste":{const{key:t,chars:n,lines:r,preview:o,...s}=e;return s}case"pick":{const{key:t,...n}=e;return n}}}const hy=e=>e.filter(t=>!Ui(t)).map(Kc);let Jz=0;function _k(e,t){const n=new Map(t.filter(o=>!Ui(o)).map(o=>[JSON.stringify(Kc(o)),o]));return[...e.map(o=>{const s=JSON.stringify(o),a=n.get(s);if(a)return n.delete(s),a;const l=`d${++Jz}`;return o.kind==="paste"?{...o,key:l,...Yw(o.text)}:{...o,key:l}}),...t.filter(Ui)]}const Nk="out:",e3=(e,t,n)=>`${Nk}${e}:${t}:${n}`;function ws(e){if(!e.startsWith(Nk))return null;const t=e.slice(Nk.length),n=t.indexOf(":"),r=t.indexOf(":",n+1);return n<0||r<0?null:{clientId:t.slice(0,n),source:t.slice(r+1)}}function fu(e,t,n,r){const o=r.length?hy(r):void 0;switch(e.t){case"chat":return{...e,text:n,attachments:o,boxId:t};case"create-worktree":return{...e,prompt:n,attachments:o,boxId:t};case"restore-worktree":case"adopt-worktree":return{...e,message:{text:n,attachments:o},boxId:t};case"agent-answer":return{...e,attachments:o,boxId:t}}}function t3(e,t){const n=new Set,r=[];for(const o of e){if(n.has(o.log))continue;const s=t[o.id];if(!s||s.attachments.some(Ui)){n.add(o.log);continue}r.push(o.id)}return r}const jN=e=>e.flatMap(t=>"upload"in t&&t.upload?[t.upload]:[]);function n3(e){const t=n=>jN(n.items).some(r=>!n.before.includes(r));return[...e.filter(t),...e.filter(n=>!t(n))]}function r3(e,t){const n=new Map(t.rows.map(a=>[a.id,a])),r=new Map(e.map(a=>[a.id,a])),o=[];let s=!0;for(const a of t.ids){const l=n.get(a)??r.get(a);l?o.push(l):s=!1}return{rows:o,complete:s}}const Ac=300,o3=20;function s3(e,t){return e.rows.length===0&&e.repos.length===0?null:{protocol:ja,at:t,version:e.version,machine:e.machine??"",install:e.install,registry:e.registry,repos:e.repos,rows:e.rows,trunks:e.trunks,themePrefs:e.themePrefs,agents:e.agents,defaultAgent:e.defaultAgent,agentChosen:e.agentChosen,home:e.home,folderDialog:e.folderDialog,keepAwake:e.keepAwake,remote:e.remote,tailscale:e.tailscale,machines:e.handed,gitIdentity:e.gitIdentity,visits:e.visits,managed:e.managed}}const Lx=e=>(e==null?void 0:e.protocol)===ja,i3={rows:"",repos:"",visits:"",themes:""};function a3(e){const{at:t,...n}=e;return{t:"hello",...n,rows:e.rows.map(c3),trunks:Object.fromEntries(Object.entries(e.trunks).map(([r,o])=>[r,l3(o)])),stamps:i3,themes:[],drafts:{},attachments:{},knocks:[],letIn:!1,self:null,update:null,globalInstall:null,pending:[]}}function c3(e){const{stopping:t,shipping:n,queued:r,syncQueued:o,...s}=e;return{...s,agent:e.agent==="working"?"idle":e.agent,procs:[],login:!1}}function l3(e){const{shipping:t,...n}=e;return n}function u3(e){let t=null;for(const{event:n}of e){const r=n.ts;typeof r=="number"&&(t===null||r>t)&&(t=r)}return t}function Af(e,t){return e.length>t?e.slice(e.length-t):[...e]}function d3(e,t,n=o3){const r=new Set(t.map(a=>a.id)),o=Object.keys(e).filter(a=>!r.has(a)),s=Object.entries(e).filter(([a])=>r.has(a)).sort((a,l)=>l[1].at-a[1].at);return[...o,...s.slice(n).map(([a])=>a)]}class f3{constructor(){Rt(this,"events",[]);Rt(this,"seq",-1);Rt(this,"whole",!1)}reset(t,n,r){this.events=Af(Ef(t),Ac),this.seq=n,this.whole=r}extend(t,n){this.events.push(...t),n>this.seq&&(this.seq=n),this.events.length>Ac*2&&(this.events=Af(Ef(this.events),Ac))}since(){return this.whole&&this.seq>=0?this.seq:void 0}add(t,n){this.events.push({seq:t,event:n}),t>this.seq&&(this.seq=t),this.events.length>Ac*2&&(this.events=Af(Ef(this.events),Ac))}snapshot(t,n){return this.events=Af(Ef(this.events),Ac),{protocol:ja,at:n,events:[...this.events],seq:this.seq,...t?{draft:t}:{}}}}const h3={ids:[],at:-1};function Cf(e,t,n){if(e.ids[e.at]===n)return e;const o=[...e.ids.length?e.ids.slice(0,e.at+1):t?[t]:[],n].slice(-50);return{ids:o,at:o.length-1}}function p3(e,t,n,r){for(let o=e.at+r;o>=0&&o<e.ids.length;o+=r){const s=e.ids[o];if(s!==void 0&&s!==n&&t.has(s))return{at:o,id:s}}return null}function Tk(e,t){if(e.ids.every(o=>t.has(o)))return e;const n=[];let r=-1;return e.ids.forEach((o,s)=>{t.has(o)&&(n[n.length-1]!==o&&n.push(o),s<=e.at&&(r=n.length-1))}),{ids:n,at:n.length?Math.max(r,0):-1}}function Ju(e){return e.kind==="user"||e.kind==="handed"}function $N(e){return e.map(t=>Ju(t)?t.attachments:void 0)}const Xf=["files","changes","history"],m3=e=>Xf.includes(e),Ga=e=>(e==null?void 0:e.worktree.id)??null,el="new-project",Va=Object.freeze({chat:[],log:[],queue:[],page:{},turn:{edits:!1,hmr:!1},changedRanges:{},commitFiles:{},search:null,design:null,draft:"",attachments:[],commands:[],termStream:Fo}),pp=e=>({...e,phase:"editing",repoId:null}),AN=()=>pp({mode:"create",name:"",parent:`~/${Y_}`}),g3=Object.freeze({changes:!1,changesTab:"files",chat:!0,term:!1,design:!1});function k3(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.changes=="boolean"&&m3(t.changesTab)&&typeof t.chat=="boolean"&&typeof t.term=="boolean"&&typeof t.design=="boolean"}function mo(e,t){const n=e.layout;let r=!1;for(const o of Object.keys(t))t[o]!==n[o]&&(r=!0);return r?{...e,layout:{...n,...t}}:e}function py(e,t){return{...e,layout:t,changesAuto:!1}}const Hi=e=>qa(e)?"preview":"file",w3=(e,t)=>e===t||!!e&&!!t&&e.at===t.at&&(e.at!=="tree"||t.at!=="tree"||e.worktreeId===t.worktreeId&&e.dir===t.dir)&&(e.at!=="rail"||t.at!=="rail"||e.worktreeId===t.worktreeId),ru=(e,t)=>e.worktreeId===t.worktreeId&&e.path===t.path&&e.ref===t.ref&&e.since===t.since;function CN(e,t,n,r){var s;if(!r.fiber)return r;const o=(s=Mr(e,t).changedRanges[n])==null?void 0:s.offset;return o===void 0?r:{n:r.n-o}}function y3(e){const t=e.cached??Qu,n={connected:!1,connectFailure:null,repos:[],rows:[],activeRepoId:null,visible:[],lent:null,archiving:[],shipping:{},visibleDiscovered:[],discoveredOpen:e.storedDiscoveredOpen??{},archivedOpen:e.storedArchivedOpen??{},committedShut:e.storedCommittedShut??{},turnOpen:e.storedTurnOpen??{},treeOpen:e.storedTreeOpen??{},treeReveal:null,refs:{},chats:{},archived:{},archivedPage:null,lastActive:e.storedLastActive??{},pendingOpen:!1,activeId:null,viewed:h3,carryTo:null,clientId:e.clientId,storedActive:e.storedActive??null,storedRepo:e.storedRepo??null,heard:!1,heardAt:null,recalledAt:null,stamps:null,local:{},editor:null,openUrl:null,reloadReq:null,dragFiles:null,sharing:null,picking:!1,overlay:null,paletteReturn:null,incompatible:!1,layout:g3,focusChanges:0,editCommit:0,focusChat:0,walked:0,railOpen:e.storedRailOpen??!1,chatSide:e.storedChatSide??"left",blackGround:e.storedBlackGround??!1,focusRail:0,showRow:0,railPeek:!1,unreadHold:null,layouts:e.storedLayouts??{},screen:e.storedActive&&e.storedPhoneRow?"chat":"home",left:null,frame:e.frame??"desk",touch:e.touch??!1,reading:!1,typing:!1,changesAuto:!0,zen:!1,zenFile:!1,focusTerm:0,termRun:null,termTall:0,previewSize:null,themes:Vf.some(o=>o.id===t.id)?Vf:[...Vf,t],themePrefs:{...I4,mode:t.kind,[t.kind]:t.id},previewTheme:null,systemDark:e.systemDark??!0,daylight:e.daylight??null,paths:{query:"",entries:[],target:null},home:"",folderDialog:!1,keepAwake:null,remote:null,machine:null,managed:CD,letIn:!1,knocks:[],tailscale:null,handed:[],gitIdentity:!0,self:null,rebuilt:!1,update:null,globalInstall:null,updateCheck:null,version:"",install:"none",registry:null,ranBefore:e.storedVersion??null,notesPage:!1,notesSeen:!1,choosingFolder:!1,newProject:null,autoSend:null,outbox:[],chosenFolder:null,pending:[],activeImportId:null,agents:[],defaultAgent:"claude",agentChosen:!1,agentConfigs:{},draft:null,trunks:{},visits:{}},r=e.storedRepo?n.layouts[e.storedRepo]:void 0;return r?py(n,r):n}function IN(e){var t;return{system:e.systemDark,daylight:((t=e.daylight)==null?void 0:t.dark)??e.systemDark}}function v3(e){return e.previewTheme??up(e.themePrefs,e.themes,IN(e))}function Mr(e,t){return t&&e.local[t]||Va}function my(e,t){const n=Mr(e,t);return n.draft.trim()!==""||n.attachments.length>0}function Zr(e,t){return t&&e.rows.find(n=>n.id===t)||null}function RN(e,t){const n=Zr(e,t);return n?is(n.agent)||!!e.shipping[n.id]||(n.queued??0)>0:!1}function Xt(e,t){const n=Zr(e,t);return n&&Sn(n)?n:null}function ON(e){var o;const t=Xt(e,e.activeId);if(!t||!Fi(t.worktree)||t.agent!=="idle"||!((o=Wi(e,t.repoId))!=null&&o.empty))return!1;const n=xs(e,t.repoId),r=e.rows.some(s=>{var a;return s.repoId===t.repoId&&((a=s.worktree)==null?void 0:a.kind)==="worktree"});return!!(n!=null&&n.needsSetup)&&!r&&Mr(e,t.id).chat.length===0}function mp(e){return e.newProject!==null||ON(e)}function b3(e){return e.incompatible||mp(e)}function x3(e){return(!e.needsSetup||!!e.assumed)&&Object.keys(e.config.run).length===0}function kh(e){return!!(e!=null&&e.needsSetup)&&!e.assumed}function gy(e){const t=e.archivedPage?null:Zr(e,e.activeId);return(t==null?void 0:t.repoId)??e.activeRepoId}function Ao(e){const t=xs(e,gy(e));return!!t&&x3(t)}function ys(e){return e.zen&&e.zenFile&&!Ao(e)}function MN(e){return e.layout.chat&&!Ao(e)&&!e.archivedPage&&!wy(e)?{a:"toggle-chat"}:{a:"focus-chat"}}function LN(e,t){var n;return!e.activeRepoId||!((n=e.archived[e.activeRepoId])!=null&&n.some(r=>r.id===t))?e:{...e,archivedPage:t,notesPage:!1,editor:null,screen:"chat"}}function Px(e,t){const n=t.repoId===e.activeRepoId?e:{...Oi(e,Ba(e,t.repoId)),activeRepoId:t.repoId,lent:null,carryTo:null};return LN(n,t.id)}function ts(e){return Ao(e)?e:mo(e,{chat:!0})}function xs(e,t){return t&&e.repos.find(n=>n.id===t)||null}function PN(e,t){if(!t)return null;const n=e.rows.filter(Sn).filter(r=>r.repoId===t);return n.find(r=>Gh(r.worktree))??n.find(r=>Fi(r.worktree))??null}function Wi(e,t){return t&&e.trunks[t]||null}function zc(e){return Ao(e)||e.archivedPage||e.notesPage?null:e.activeId}function gp(e){return e.procs.some(t=>t.status==="running"||t.status==="starting"||t.status==="preparing")}function Iu(e){if(e.archivedPage||e.notesPage)return null;const t=Xt(e,e.activeId);return t&&gp(t)?{worktreeId:t.worktree.id,repoId:t.repoId}:null}function jk(e){const t=zc(e),n=Xt(e,t);return n?{id:n.worktree.id,act:gp(n)?"frame":"start"}:null}function ky(e,t,n){const r=e.worktree.from;if(e.repoId===t||(r==null?void 0:r.kind)!=="worktree"||r.origin.repoId!==t)return null;const o=n.find(s=>s.id===r.origin.id);return o&&Sn(o)&&o.repoId===t?o:null}function E3(e,t,n){var s;const r=e.worktree.from;if((r==null?void 0:r.kind)!=="worktree")return null;const o=t.find(a=>a.id===r.origin.id);return o&&Sn(o)?o.worktree.title:((s=n.find(a=>a.id===r.origin.id))==null?void 0:s.title)??null}function DN(e,t){return e.repoId!==t&&(e.agent==="waiting"||!!e.unseen)}function kp(e,t,n,r){return e.repoId===t||ky(e,t,n)!==null||DN(e,t)||e.id===r}function zN(e,t,n){return!e||!t||!Sn(e)||e.repoId===t||ky(e,t,n)?null:DN(e,t)?e.id:null}function FN(e,t){return t.length?e.filter(n=>!t.includes(n.id)):e}function S3(e,t,n,r){const o=FN(e,n).filter(Sn);return yR(t?o.filter(s=>kp(s,t,o,r)):o)}function _3(e,t){const n=e.filter(r=>!Sn(r));return t?n.filter(r=>r.repoId===t):n}function Ba(e,t,n=e.rows){var l;const r=n.filter(Sn),o=e.archiving.length?r.filter(u=>!e.archiving.includes(u.id)):r,s=t?e.lastActive[t]:void 0;if(s&&o.some(u=>u.id===s))return s;const a=t?o.filter(u=>u.repoId===t):o;return((l=a.find(u=>Gh(u.worktree))??a.find(u=>Fi(u.worktree))??a[0])==null?void 0:l.id)??null}function Dx(e,t){const n=Object.entries(e),r=n.filter(([o])=>!t(o));return r.length===n.length?e:Object.fromEntries(r)}function BN(e,t,n){const r={};for(const a of t)a.shipping&&(r[a.id]=a.shipping);for(const a of Object.values(n))a.shipping&&(r[a.id]=a.shipping);for(const[a,l]of Object.entries(e))!l.sent||r[a]||(t.some(u=>u.id===a)||YN({trunks:n},a))&&(r[a]=l);const o=Object.keys(r);return o.length===Object.keys(e).length&&o.every(a=>N3(e[a],r[a]))?e:r}const N3=(e,t)=>!!e&&!!t&&e.op===t.op&&e.step===t.step&&e.sent===t.sent;function Oi(e,t){var p;const n=Zr(e,t),r=!!n&&Sn(n)&&!!e.activeRepoId&&kp(n,e.activeRepoId,e.rows,e.lent),o=r&&e.lent!==t?zN(n,e.activeRepoId,e.rows):r?e.lent:null,s=r?e.activeRepoId:(n==null?void 0:n.repoId)??e.activeRepoId,a=n&&Sn(n)?{...e.lastActive,[n.repoId]:n.id}:e.lastActive,l=e.activeId!==t?e.activeId:null,u=l?e.local[l]:void 0,h=u&&((p=u.mark)==null?void 0:p.by)==="reveal"?Fc(u,"reveal"):null,f=l&&h?{...e.local,[l]:h}:e.local;return{...e,activeId:t,activeRepoId:s,lent:o,lastActive:a,editor:null,archivedPage:null,notesPage:!1,local:f}}function tl(e){return Ho(e)?"history":e.layout.changesTab}function T3(e,t){const n=tl(e);if(Ho(e))return n;const r=Xf.length;return Xf[(Xf.indexOf(n)+t+r)%r]??"changes"}function wy(e){if(e.archivedPage)return null;const t=Zr(e,e.activeId);return t&&!Sn(t)?t:null}function j3(e){return e.notesSeen||e.ranBefore===null||!rN(e.version,e.ranBefore)?null:e.version}const $3=800;function UN(e,t){return e.left&&t-e.left.at<$3?e.left.face:null}function A3(e,t){var n,r;return{id:e.id,repoId:e.repoId,title:e.worktree.title,branch:e.worktree.branch,path:e.path,createdAt:e.worktree.createdAt,archivedAt:t,restorable:!0,transcript:e.transcript??"",...e.sessionId?{sessionId:e.sessionId}:{},...e.dirty?{uncommitted:!0,dirty:e.dirty}:{},...e.worktree.landed?{landed:!0}:{},...(n=e.worktree.lands)!=null&&n.length?{lands:e.worktree.lands}:{},...((r=e.usage)==null?void 0:r.cost)!==void 0?{cost:e.usage.cost}:{}}}function C3(e,t){let n=e;for(const[r,o]of Object.entries(e))o.some(s=>t.includes(s.id))&&(n={...n,[r]:o.filter(s=>!t.includes(s.id))});return n}function Ho(e){var t;return!e.archivedPage||!e.activeRepoId?null:((t=e.archived[e.activeRepoId])==null?void 0:t.find(n=>n.id===e.archivedPage))??null}function wh(e,t){for(const n of Object.values(e.archived)){const r=n.find(o=>o.id===t);if(r)return r}return null}function yh(e){const t=new Set(e.rows.map(n=>n.id));for(const n of Object.values(e.archived))for(const r of n)t.add(r.id);return t}function Qf(e){return e.archivedPage??e.activeId}function I3(e,t){var n;if(t)return(n=Zr(e,t)??wh(e,t))==null?void 0:n.repoId}function Fc(e,t){var o;if(((o=e.mark)==null?void 0:o.by)!==t)return e;const{mark:n,...r}=e;return r}const HN=e=>e.kind==="theme"||e.kind==="appearance"||e.kind==="keep-awake"||e.kind==="agent"||e.kind==="agent-page"||e.kind==="choose-folder"||e.kind==="handoff";let R3=0;function Ru(e){if(!e.sending)return e;const{sending:t,...n}=e;return n}function O3(e,t){const n=Object.keys(e.local).filter(o=>{var s;return((s=e.local[o])==null?void 0:s.sending)&&(!t||o===t)});if(n.length===0)return e;const r={...e.local};for(const o of n)r[o]=Ru(r[o]);return{...e,local:r}}function M3(e,t,n,r){var a;let o=e;const s=n?(a=o[n])==null?void 0:a.sending:void 0;if(s&&n&&r&&r!==n){const l=o[r]??Va,u=l.chat.some(h=>h.kind==="user")?{at:s.at}:s;o={...o,[n]:Ru(o[n]),[r]:{...l,sending:u}}}for(const l of t){const u=o[l.id];u!=null&&u.sending&&!u.sending.message&&is(l.agent)&&(o={...o,[l.id]:Ru(u)})}return o}function St(e,t,n){return{...e,local:{...e.local,[t]:n(e.local[t]??Va)}}}function zx(e,t){const n=e.find(r=>r.kind==="tool"&&!r.done&&!r.parentToolId&&!r.background);if(n)return(t==null?void 0:t.id)===n.id?t:{id:n.id,at:Date.now()}}function L3(e,t){const n=t.type==="agent-question"||t.type==="agent-permission"||t.type==="handoff-proposed"&&!t.held||t.type==="handoff-shown",r=t.type==="agent-ask-end"||t.type==="handoff-go"||t.type==="handoff-declined"?t.id:null;if(!n&&!r)return e;const o=t.type==="agent-ask-end"&&ny(t.outcome),s=t.type==="agent-ask-end"&&t.outcome==="expired"?t.id:null,{card:a,cardParked:l,askRevived:u,...h}=e;return{...h,...a&&!n&&(a.id!==r||o)?{card:a}:{},...l&&!n&&l!==r?{cardParked:l}:{},...s?{askRevived:s}:u&&!n?{askRevived:u}:{}}}function P3(e,t,n){return St(e,t,r=>({...r,chat:[...r.chat,n],chatAt:Date.now()}))}function WN(e,t,n){return P3(ts(e),t,{kind:"error",text:n})}function $k(e,t){const n=Ga(Xt(e,e.activeId));return n?St(ts(e),n,r=>({...r,notice:t})):e}function Fx(e,t,n){return Xt(e,t)?WN(e,t,n):$k(e,n)}function D3(e,t){const n=e.paletteReturn;return!t||!n?{overlay:null,paletteReturn:null}:{overlay:{kind:n.mode},paletteReturn:n}}function z3(e){const t=e.activeRepoId;if(!t)return e;const n=e.layouts[t];return n?py(e,n):e.frame==="desk"?{...e,layouts:{...e.layouts,[t]:e.layout}}:e}function F3(e){return e.a==="server"&&e.msg.t==="git-status"}function B3(e){return{agent:e.defaultAgent}}function U3(e){const t=Xt(e,e.activeId);return!!t&&$r(t.worktree)&&!e.archivedPage&&!mp(e)?e.draft?e:{...e,draft:B3(e)}:e.draft?{...e,draft:null}:e}function KN(e){var r;const t=e.archivedPage,n=t!==null&&((r=e.editor)==null?void 0:r.worktreeId)===t&&Xt(e,t)===null;return{...e,archivedPage:null,...n?{editor:null}:{}}}function H3(e){const t=e.activeRepoId;if(!t)return e;const n=Xt(e,e.activeId);return!n||n.repoId===t||kp(n,t,FN(e.rows,e.archiving),e.lent)?e:Oi(e,Ba(e,t))}function qN(e,t,n){const r=t.some(s=>!e.knocks.some(a=>a.id===s.id)),o={...e,knocks:t,letIn:n};return r&&o.overlay===null?Li(o,{a:"open",overlay:{kind:"devices"}}):o}const W3=e=>{var t;return e.frame==="desk"&&(e.remote!==null||((t=e.tailscale)==null?void 0:t.state)==="ready")},K3=new Set(["toggle-chat","toggle-changes","toggle-rail","toggle-terminal","toggle-design"]),q3=new Set(["activate","viewed-land","open-draft","open-archived"]);function Li(e,t){let n=U3(H3(Z3(e,t)));q3.has(t.a)&&n!==e&&(n={...n,showRow:e.showRow+1}),n.unreadHold!==null&&n.activeId!==n.unreadHold&&(n={...n,unreadHold:null}),ys(e)&&n.zen&&(K3.has(t.a)||n.activeId!==e.activeId||n.focusChat!==e.focusChat||n.focusChanges!==e.focusChanges||n.focusRail!==e.focusRail||n.focusTerm!==e.focusTerm||!n.editor&&t.a!=="close-editor")&&(n={...n,zen:!1}),n.zenFile&&!(n.zen&&n.editor)&&(n={...n,zenFile:!1});const r=n.archivedPage;return r!==null&&(Ho(n)===null||Xt(n,r)!==null&&!n.archiving.includes(r))&&(n=KN(n)),n.activeRepoId!==e.activeRepoId?n=z3(n):n.frame==="desk"&&n.activeRepoId&&!F3(t)&&n.layout!==e.layout&&(n={...n,layouts:{...n.layouts,[n.activeRepoId]:n.layout}}),n.rows===e.rows&&n.activeRepoId===e.activeRepoId&&n.archiving===e.archiving&&n.lent===e.lent?n:{...n,visible:S3(n.rows,n.activeRepoId,n.archiving,n.lent),visibleDiscovered:_3(n.rows,n.activeRepoId)}}function Z3(e,t){var n,r,o,s,a,l,u,h;switch(t.a){case"connected":return{...e,connected:t.v,connectFailure:t.v?null:t.failure===void 0?e.connectFailure:t.failure,local:t.v?e.local:e6(e.local)};case"activate":return{...Oi(e,t.id),viewed:Cf(e.viewed,Qf(e),t.id),carryTo:null,screen:t.id?"chat":"home"};case"viewed-land":{const f=e.viewed.ids[t.at];if(f===void 0)return e;const p={...e.viewed,at:t.at};if(e.rows.some(y=>y.id===f))return{...Oi(e,f),viewed:p,carryTo:null,screen:"chat"};const g=wh(e,f);return g?{...Px(e,g),viewed:p}:e}case"open-draft":{if(mp(e))return e;const f=((n=PN(e,e.activeRepoId))==null?void 0:n.id)??null;return f?ts({...Oi(e,f),viewed:Cf(e.viewed,Qf(e),f),carryTo:f,overlay:null,paletteReturn:null,focusChat:e.focusChat+1,screen:"chat"}):e}case"draft-carry":return e.draft?{...e,draft:{...e.draft,carry:t.v}}:e;case"draft-agent":return e.draft?{...e,draft:{...e.draft,agent:t.id}}:e;case"open-archived":{const f=wh(e,t.id);return f?{...Px(e,f),viewed:Cf(e.viewed,Qf(e),t.id)}:e}case"close-archived":{if(!e.archivedPage)return e;const f=KN(e);return e.activeId?{...f,viewed:Cf(e.viewed,e.archivedPage,e.activeId)}:f}case"open-release-notes":return e.newProject?e:{...e,notesPage:!0,notesSeen:!0,overlay:null,paletteReturn:null,editor:null};case"close-release-notes":return e.notesPage?{...e,notesPage:!1}:e;case"sending":return St(e,t.id,f=>({...f,sending:{message:t.message,at:Date.now()}}));case"sent-box":return St(e,t.id,({notice:f,...p})=>({...Fc(p,"walk"),draft:"",attachments:[],sent:(p.sent??0)+1}));case"answered":return St(e,t.id,f=>({...f,sent:(f.sent??0)+1}));case"hold-send":{const f=e.local[t.id];if(!f)return e;const p=e3(e.clientId,++R3,t.id),g={...Va,draft:t.text,attachments:f.attachments,outgoing:{frame:t.frame,log:t.log}},y=St(e,t.id,({notice:v,...w})=>({...Fc(w,"walk"),draft:"",attachments:[]}));return{...y,local:{...y.local,[p]:g},outbox:[...e.outbox,{id:p,log:t.log,kinds:f.attachments.map(v=>v.kind)}]}}case"sent-out":{const f=e.local[t.id],p=f==null?void 0:f.outgoing;if(!f||!p)return e;const{[t.id]:g,...y}=e.local,v={...e,local:y,outbox:e.outbox.filter(T=>T.id!==t.id)},w=f.draft,x=f.attachments.length?hy(f.attachments):void 0,N=T=>({...T,sent:(T.sent??0)+1});if(p.frame.t==="restore-worktree"||p.frame.t==="adopt-worktree")return St(v,p.log,T=>({...N(T),sending:{message:{text:w,attachments:x},at:Date.now()}}));if(p.frame.t==="agent-answer")return St(v,p.log,N);const E=p.frame.t==="chat"&&RN(e,p.log);return St(v,p.log,T=>E?N(T):{...N(T),sending:{message:{text:w,attachments:x},at:Date.now()}})}case"unsend":{const f=e.local[t.id],p=(r=ws(t.id))==null?void 0:r.source;if(!(f!=null&&f.outgoing)||!p)return e;const{[t.id]:g,...y}=e.local,v={...e,local:y,outbox:e.outbox.filter(w=>w.id!==t.id)};return St(ts(v),p,w=>({...w,draft:w.draft||f.draft,attachments:[...f.attachments,...w.attachments],...t.notice?{notice:t.notice}:{}}))}case"drop-out":{if(!((o=e.local[t.id])!=null&&o.outgoing))return e;const{[t.id]:f,...p}=e.local;return{...e,local:p,outbox:e.outbox.filter(g=>g.id!==t.id)}}case"archive-worktrees":{const f=t.ids.filter(A=>!e.archiving.includes(A)&&Xt(e,A));if(f.length===0)return e;const p=Date.now();let g=e.archived;for(const A of f){const I=Xt(e,A);I&&(g={...g,[I.repoId]:[A3(I,p),...g[I.repoId]??[]]})}const y={...e,archiving:[...e.archiving,...f],archived:g};if(!e.activeId||!f.includes(e.activeId))return y;const v=e.visible.filter(A=>A.id===e.activeId||!y.archiving.includes(A.id)),w=v.findIndex(A=>A.id===e.activeId),x=[A=>A.agent==="waiting",A=>Vh(A.worktree)&&!!A.worktree.landed&&A.agent==="idle",A=>!!A.unseen,A=>A.agent==="working",A=>!$r(A.worktree)&&Gs(A)==="running"],N=A=>{for(const I of x){const $=A(I);if($)return $.id}},E=N(A=>v.findLast((I,$)=>$<w&&A(I))),j=Oi(y,E??N(A=>v.find((I,$)=>$>w&&A(I)))??Ba(y,e.activeRepoId));return e.frame==="phone"?{...j,screen:"home"}:j}case"shipping":return e.shipping[t.id]||!(Zr(e,t.id)||YN(e,t.id))?e:{...e,shipping:{...e.shipping,[t.id]:{op:t.op,sent:!0}}};case"activate-repo":{if(!xs(e,t.id))return e;const f=e.newProject?{...e,newProject:null}:e;if(t.id===e.activeRepoId)return f;const p=Ba(f,t.id);return{...Oi(f,p),carryTo:null,activeRepoId:t.id,lent:null,pendingOpen:!1}}case"open-repo":return{...e,pendingOpen:!0};case"new-project":return{...e,newProject:t.v,overlay:null,paletteReturn:null,previewTheme:null,editor:null,notesPage:!1};case"new-project-set":{if(!e.newProject)return e;const f="name"in t.v||"parent"in t.v||"url"in t.v||"mode"in t.v,{error:p,...g}=e.newProject;return{...e,newProject:{...f?g:e.newProject,...t.v}}}case"close-new-project":return e.newProject&&e.repos.length>0?{...e,newProject:null,choosingFolder:!1}:e;case"auto-sent":return e.autoSend?{...e,autoSend:null}:e;case"watch-import":return{...e,activeImportId:t.id};case"close-editor":return{...e,editor:null};case"open-file":{const f=t.v,p=e.editor,g=p&&ru(p,f)?p:null,y=f.line&&CN(e,f.worktreeId,f.path,f.line);return{...e,editor:{worktreeId:f.worktreeId,path:f.path,...f.ref?{ref:f.ref}:{},...f.since?{since:f.since}:{},view:f.view??(g==null?void 0:g.view)??null,marks:f.view?!1:(g==null?void 0:g.marks)??!0,...(f.picked?f.view==="preview":p!=null&&p.reads)?{reads:!0}:{},seq:f.seq,disk:(g==null?void 0:g.disk)??null,...y?{line:y}:{},...f.piece?{piece:f.piece}:{},focus:f.focus,conflict:(g==null?void 0:g.conflict)??null,blame:(g==null?void 0:g.blame)??null}}}case"open-loose":{const f=t.v,p={before:f.text,after:f.text,version:null,writable:(f.source.kind==="handle"||f.source.kind==="grant")&&!f.tooLarge&&!f.binary,binary:f.binary,tooLarge:f.tooLarge};return{...e,editor:{worktreeId:f.worktreeId,path:f.name,view:Hi(f.name),marks:!1,seq:f.seq,disk:p,focus:!0,conflict:null,blame:null,loose:{source:f.source}}}}case"editor-read":{const f=e.editor;if(!f||f.loose||!ru(f,t.file))return e;const p=t.disk;if(!p){const x=WN(e,f.worktreeId,t.error??`could not read ${f.path}`);return f.disk?x:{...x,editor:null}}const g=Hi(f.path),y=f.reads&&g==="preview"?g:null,v=qa(f.path)==="markdown"?"preview":"diff",w=p.before===""?f.view&&f.view!=="diff"?f.view:g:f.view??y??(p.before===p.after?g:v);return{...e,editor:{...f,view:w,disk:p}}}case"editor-conflict":{const f=e.editor;return f&&!f.loose&&ru(f,t.file)?{...e,editor:{...f,conflict:t.theirs}}:e}case"editor-view":return e.editor?{...e,editor:{...e.editor,view:t.v,marks:t.marks??!1,reads:t.v==="preview",line:void 0}}:e;case"editor-marks":return e.editor?{...e,editor:{...e.editor,marks:t.v}}:e;case"editor-refused":{const f=e.editor;if(!f||!ru(f,t.file))return e;const p=f.loose&&f.disk?{...f.disk,writable:!1}:f.disk;return{...e,editor:{...f,refused:t.message,disk:p}}}case"editor-blame":{const f=e.editor;return f&&!f.loose&&ru(f,t.file)?{...e,editor:{...f,blame:t.blame}}:e}case"notice":return St(ts(e),((s=ws(t.id))==null?void 0:s.source)??t.id,f=>({...f,notice:t.text}));case"link-refused":return St(e,t.id,({refusedLink:f,...p})=>t.v?{...p,refusedLink:t.v}:p);case"card-draft":return St(e,t.id,f=>({...f,card:t.card}));case"card-park":return St(e,t.id,f=>({...f,cardParked:t.cardId}));case"card-unpark":return St(e,t.id,({cardParked:f,...p})=>p);case"ask-revive":return St(e,t.id,({askRevived:f,...p})=>t.askId?{...p,askRevived:t.askId}:p);case"opened-url":return e.openUrl?{...e,openUrl:null}:e;case"set-draft":return St(e,t.id,f=>{const{notice:p,...g}=Fc(f,"walk");return{...g,draft:t.text,...p!==void 0&&t.text===""?{notice:p}:{}}});case"move-box":return VN(e,t.from,t.to);case"walk":return St(e,t.id,f=>({...Fc(f,"walk"),draft:t.text,...t.walk?{mark:{by:"walk",at:t.walk.at,from:t.walk.from}}:{}}));case"reveal":return St(ts(e),t.id,f=>{var p;return{...f,mark:{by:"reveal",seq:t.seq,n:((p=f.mark)==null?void 0:p.by)==="reveal"?f.mark.n+1:1}}});case"attach":return St(ts(e),t.id,({notice:f,...p})=>({...p,attachments:[...p.attachments,...t.items]}));case"upload-progress":return(a=e.local[t.id])!=null&&a.attachments.some(f=>f.key===t.key&&Ui(f))?St(e,t.id,f=>({...f,attachments:f.attachments.map(p=>p.key===t.key?{...p,progress:t.progress}:p)})):e;case"attached":return(l=e.local[t.id])!=null&&l.attachments.some(f=>f.key===t.key)?St(e,t.id,f=>({...f,attachments:f.attachments.map(p=>p.key===t.key?t.item:p)})):e;case"detach":{const f=St(e,t.id,({notice:p,...g})=>({...g,attachments:g.attachments.filter(y=>y.key!==t.key)}));return(u=e.local[t.id])!=null&&u.outgoing?Li(f,{a:"unsend",id:t.id}):f}case"clear-attachments":return St(e,t.id,({notice:f,...p})=>p.attachments.length?{...p,attachments:[]}:p);case"hmr":return St(e,t.id,f=>({...f,turn:{...f.turn,hmr:!0}}));case"page":return St(e,t.id,f=>({...f,page:{url:t.url??f.page.url,title:t.title??f.page.title}}));case"links":return St(e,t.id,f=>{const p=Qz(f.links??[],t.links);return p===f.links?f:{...f,links:p}});case"drag-files":return w3(e.dragFiles,t.v)?e:{...e,dragFiles:t.v};case"sharing":return e.sharing===t.v?e:{...e,sharing:t.v};case"set-picking":return{...e,picking:t.v};case"preview-size":return e.previewSize===t.text?e:{...e,previewSize:t.text};case"open":return{...e,overlay:t.overlay,previewTheme:null,paletteReturn:HN(t.overlay)?e.paletteReturn:null};case"choosing-folder":return{...e,choosingFolder:t.v};case"close":return{...e,previewTheme:null,...D3(e,t.back)};case"toggle":return((h=e.overlay)==null?void 0:h.kind)===t.overlay.kind?Li(e,{a:"close"}):Li(e,{a:"open",overlay:t.overlay});case"palette-return":return{...e,paletteReturn:t.v};case"toggle-changes":return{...mo(e,{changes:!e.layout.changes}),changesAuto:!1};case"focus-changes":return{...mo(e,{changes:!0,changesTab:t.tab&&!Ho(e)?t.tab:e.layout.changesTab}),changesAuto:!1,focusChanges:e.focusChanges+1};case"changes-tab":return mo(e,{changesTab:t.v});case"edit-commit":return{...mo(e,{changes:!0}),changesAuto:!1,editCommit:e.editCommit+1};case"toggle-chat":return Ao(e)?e:mo(e,{chat:!e.layout.chat});case"focus-chat":return{...ts(e),focusChat:e.focusChat+1};case"walked":return{...e,walked:e.walked+1};case"show-chat":return ts(e);case"hold-unread":return{...e,unreadHold:t.id};case"toggle-rail":return{...e,railOpen:!e.railOpen};case"toggle-chat-side":return{...e,chatSide:e.chatSide==="left"?"right":"left"};case"toggle-black-ground":return{...e,blackGround:!e.blackGround};case"update-check":return{...e,updateCheck:"asking"};case"update-check-settle":return e.updateCheck===t.check?{...e,updateCheck:null}:e;case"focus-rail":return{...e,railOpen:!0,focusRail:e.focusRail+1,screen:"home"};case"screen":return e.screen===t.to&&!e.editor?e:{...t.to==="changes"&&e.screen!=="changes"?mo(e,{changesTab:"changes"}):e,screen:t.to,editor:null,left:t.to==="home"&&e.screen!=="home"?{face:e.screen,at:Date.now()}:e.left};case"frame":{if(e.frame===t.v)return e;const f={...e,frame:t.v};if(t.v!=="desk"||!f.activeRepoId)return f;const p=f.layouts[f.activeRepoId];return p?py(f,p):f}case"touch":return e.touch===t.v?e:{...e,touch:t.v};case"reading":return e.reading===t.on?e:{...e,reading:t.on};case"typing":return e.typing===t.on?e:{...e,typing:t.on};case"rail-peek":return e.railPeek===t.on?e:{...e,railPeek:t.on};case"toggle-discovered":{const f=e.activeRepoId;return f?{...e,discoveredOpen:{...e.discoveredOpen,[f]:!e.discoveredOpen[f]}}:e}case"toggle-archived":{const f=e.activeRepoId;return f?{...e,archivedOpen:{...e.archivedOpen,[f]:!e.archivedOpen[f]}}:e}case"toggle-committed":{const f=e.activeRepoId;return f?{...e,committedShut:{...e.committedShut,[f]:!e.committedShut[f]}}:e}case"toggle-turn":{const f=e.activeRepoId;return f?{...e,turnOpen:{...e.turnOpen,[f]:!e.turnOpen[f]}}:e}case"tree-folder":{const f=e.treeOpen[t.worktreeId]??[];if(f.includes(t.path)===t.open)return e;const p=t.open?[...f,t.path]:f.filter(y=>y!==t.path),g={...e.treeOpen};return p.length>0?g[t.worktreeId]=p:delete g[t.worktreeId],{...e,treeOpen:g}}case"tree-reveal":{const f=e.treeOpen[t.worktreeId]??[],p=[];for(let v=t.path.indexOf("/");v!==-1;v=t.path.indexOf("/",v+1))p.push(t.path.slice(0,v));p.push(t.path);const g=p.filter(v=>!f.includes(v)),y=g.length?{...e.treeOpen,[t.worktreeId]:[...f,...g]}:e.treeOpen;return{...mo(e,{changes:!0,changesTab:"files"}),changesAuto:!1,focusChanges:e.focusChanges+1,treeOpen:y,treeReveal:{worktreeId:t.worktreeId,path:t.path}}}case"files-asked":return St(e,t.worktreeId,f=>({...f,filesFor:{index:t.index,disk:t.disk}}));case"toggle-zen":return Ao(e)?e:{...e,zen:!e.zen,zenFile:!e.zen&&!!t.file&&!!e.editor};case"zen-page":return e.zenFile?{...e,zenFile:!1}:e;case"toggle-terminal":return mo(e,{term:!e.layout.term});case"focus-terminal":return{...mo(e,{term:!0}),focusTerm:e.focusTerm+1};case"toggle-design":return Ao(e)?e:mo(e,{design:!e.layout.design});case"term-stream":return St({...mo(e,{term:!0}),termTall:t.tall?e.termTall+1:e.termTall},t.id,f=>({...f,termStream:t.stream}));case"term-run":return St({...mo(e,{term:!0}),focusTerm:e.focusTerm+1,termRun:{id:t.id,command:t.command}},t.id,f=>({...f,termStream:Fo}));case"term-ran":return e.termRun?{...e,termRun:null}:e;case"preview-theme":return{...e,previewTheme:t.theme};case"system-dark":return{...e,systemDark:t.v};case"incompatible":return t.v===!1?{...e,incompatible:!1}:{...e,incompatible:!0,connected:!1};case"server":return i6(e,t.msg);case"recall":return s6(e,t.hello,t.chats)}}function ZN(e,t){const n=Object.entries(e),r=n.filter(([o])=>t.some(s=>s.id===o));return r.length===n.length?e:Object.fromEntries(r)}function GN(e,t,n){const r=new Set(t.map(a=>a.id));n&&r.add(n);const o=([a,l])=>r.has(a)||!!l.draft||l.attachments.length>0,s=Object.entries(e);return s.every(o)?e:Object.fromEntries(s.filter(o))}function G3(e,t,n){var o;let r=e;for(const s of n){if(!((o=s.worktree)!=null&&o.landed)||s.dirty!==0||t.some(h=>{var f;return h.id===s.id&&((f=h.worktree)==null?void 0:f.landed)}))continue;const a=r[s.id];if(!(a!=null&&a.git)||a.git.files.length===0)continue;r===e&&(r={...e});const{extras:l,...u}=a.git;r[s.id]={...a,git:{...u,files:[]}}}return r}function V3(e,t){const{version:n,files:r,ahead:o,behind:s,unpushed:a,head:l}=t,u={version:n,files:r,...o===void 0?{}:{ahead:o},...s===void 0?{}:{behind:s},...a===void 0?{}:{unpushed:a},...l===void 0?{}:{head:l}};if(t.extras)return{...u,extras:t.extras};const h=new Map(e==null?void 0:e.files.map(y=>[y.path,y])),f=r.map(y=>{const v=h.get(y.path);return v&&v.xy===y.xy&&v.add!==void 0?{...y,add:v.add,del:v.del}:y}),p=e!=null&&e.extras&&e.head===l?e.extras:void 0,g=p&&r.length===0&&p.turn?{committed:p.committed}:p;return{...u,files:f,...g?{extras:g}:{}}}function Y3(e,t,n){if(!e||e.head!==t.head)return{};if(e.version===t.version)return n;const r=new Set([...e.files,...t.files].map(s=>s.path));let o=n;for(const s of Object.keys(n))r.has(s)&&(o===n&&(o={...n}),delete o[s]);return o}function X3(e){let t=e;for(const[n,r]of Object.entries(e))!r.git||r.git.version===0||(t===e&&(t={...e}),t[n]={...r,git:{...r.git,version:0}});return t}function jg(e,t){return e!==void 0&&e.length===t.length&&e.every((n,r)=>n===t[r])}function Q3(e){if(!e.tracked||!e.git||Fw(e.git.head,e.git.files)!==e.trackedAt)return e;const t=i_(e.tracked,e.git.files);return t.key===e.filesDelta?e:{...e,files:a_(e.tracked,t),filesDelta:t.key}}function J3(e,t){if(!e.filesFor)return e;const n=Fw(t.head,t.files);return{...e,filesFor:{index:n,disk:s_(t.files)},...e.tracked?{trackedAt:n}:{}}}function e6(e){let t=e;for(const[n,r]of Object.entries(e)){if(r.filesFor===void 0)continue;t===e&&(t={...e});const{filesFor:o,...s}=r;t[n]=s}return t}function t6(e,t){let n=e;for(const[r,o]of Object.entries(t)){const s=n[r];s!=null&&s.draft||ws(r)||(n===e&&(n={...e}),n[r]={...s??Va,draft:o})}return n}function n6(e,t){let n=e;for(const[r,o]of Object.entries(t)){const s=n[r];s!=null&&s.attachments.length||ws(r)||(n===e&&(n={...e}),n[r]={...s??Va,attachments:_k(o,[])})}return n}function r6(e,t){const n=new Set(t.map(r=>r.id));return Object.values(e).every(r=>n.has(r))?e:Object.fromEntries(Object.entries(e).filter(([,r])=>n.has(r)))}function zs(e,t){const n=new Set(t.map(r=>r.id));return Object.keys(e).every(r=>n.has(r))?e:Object.fromEntries(Object.entries(e).filter(([r])=>n.has(r)))}function Bx(e){const t=e.newProject;if((t==null?void 0:t.phase)!=="creating"||!t.repoId)return e;const n=PN(e,t.repoId);if(!n)return e;const r=Mr(e,el);return!r.draft.trim()&&r.attachments.length===0?{...e,newProject:null}:{...VN(e,el,n.id),newProject:null,autoSend:n.id}}function VN(e,t,n){const r=e.local[t];if(!r)return e;const o=St(e,n,s=>({...s,draft:r.draft,attachments:r.attachments}));return St(o,t,s=>({...s,draft:"",attachments:[]}))}function If(e,t,n){return e.stamps?{...e.stamps,[t]:n}:null}function o6(e){return e.stamps?i4(e.stamps):null}function YN(e,t){return Object.values(e.trunks).some(n=>n.id===t)}function XN(e,t,n){var v;const{rows:r,repos:o,trunks:s,visits:a}=t.same?e:t,l=w=>!!w&&r.some(x=>x.id===w),u=w=>!!w&&o.some(x=>x.id===w),h=u(e.activeRepoId)?e.activeRepoId:u(e.storedRepo)?e.storedRepo:null,f=l(e.activeId)?e.activeId:l(e.storedActive)?e.storedActive:Ba(e,h,r),p=r.find(w=>w.id===f),g=!!h&&!!p&&Sn(p)&&kp(p,h,r,e.lent),y={...e,heard:!n,heardAt:n?e.heardAt:Date.now(),recalledAt:n?e.recalledAt:null,stamps:n?null:t.stamps,repos:o,rows:r,activeId:f,lent:g?e.lent===f?e.lent:zN(p??null,h,r):null,activeRepoId:g?h:(p==null?void 0:p.repoId)??h??((v=o[0])==null?void 0:v.id)??null,trunks:s,archiving:e.archiving.length?[]:e.archiving,shipping:BN({},r,s),local:X3(GN(n6(t6(e.local,t.drafts),t.attachments),r,e.archivedPage)),lastActive:r6(e.lastActive,r),viewed:Tk(e.viewed,yh({rows:r,archived:zs(e.archived,o)})),treeOpen:ZN(e.treeOpen,r),discoveredOpen:zs(e.discoveredOpen,o),archivedOpen:zs(e.archivedOpen,o),committedShut:zs(e.committedShut,o),turnOpen:zs(e.turnOpen,o),refs:zs(e.refs,o),chats:zs(e.chats,o),archived:zs(e.archived,o),themes:!n&&t.themes?t.themes:e.themes,themePrefs:!n&&t.themePrefs?t.themePrefs:e.themePrefs,agents:t.agents,defaultAgent:t.defaultAgent,agentChosen:t.agentChosen,home:t.home,folderDialog:t.folderDialog,keepAwake:t.keepAwake,remote:t.remote,machine:t.machine,managed:t.managed,tailscale:t.tailscale,handed:t.machines,gitIdentity:t.gitIdentity,newProject:e.newProject??(!n&&o.length===0&&r.length===0&&t.pending.length===0?AN():null),pending:n?e.pending:t.pending,visits:a,self:n?e.self:t.self,update:n?e.update:t.update,globalInstall:n?e.globalInstall:t.globalInstall,updateCheck:!n&&e.updateCheck==="asking"?null:e.updateCheck,version:n?e.version:t.version,install:n?e.install:t.install,registry:n?e.registry:t.registry,activeImportId:t.pending.some(w=>w.id===e.activeImportId)?e.activeImportId:null};return n?y:qN(y,t.knocks,t.letIn)}function Ak(e,t=[]){let n=t,r;for(const{seq:o,event:s}of e)n=JN(n,s,o),s.type==="usage"&&(r=QN(s));return r?{chat:n,usage:r}:{chat:n}}function s6(e,t,n){var s;let r=XN(e,a3(t),!0);r={...r,recalledAt:t.at};for(const[a,l]of Object.entries(n))if(r.rows.some(u=>u.id===a))try{const{chat:u,usage:h}=Ak(l.events);r=St(r,a,f=>({...f,chat:eT(u),chatAt:u3(l.events)??t.at,running:void 0,...h?{usage:h}:{},...l.draft&&!f.draft?{draft:l.draft}:{}}))}catch{}const o=r.activeId;return o&&r.screen!=="home"&&!(((s=r.local[o])==null?void 0:s.chat.length)??0)&&(r={...r,screen:"home"}),r}function i6(e,t){var n,r,o,s,a,l,u,h,f,p,g,y,v,w,x,N;switch(t.t){case"hello":return XN(e,t,!1);case"self":{const E=((n=e.self)==null?void 0:n.building)===!0&&e.self.rebuild&&!((r=t.self)!=null&&r.building);return{...e,self:t.self,rebuilt:e.rebuilt||E&&((o=t.self)==null?void 0:o.buildFailed)===void 0}}case"remote":return{...e,remote:t.remote,machine:t.machine};case"machines":return{...e,handed:t.machines};case"tailscale":return{...e,tailscale:t.tailscale};case"knocks":return qN(e,t.knocks,t.letIn);case"update":return{...e,update:t.update};case"global-install":return{...e,globalInstall:t.globalInstall};case"update-checked":return{...e,updateCheck:t.check};case"visits":return{...e,visits:{...e.visits,[t.repoId]:t.pages},stamps:If(e,"visits",t.stamp)};case"themes":return{...e,themes:t.themes,themePrefs:t.prefs,stamps:If(e,"themes",t.stamp)};case"daylight":return{...e,daylight:{dark:t.dark,until:t.until}};case"keep-awake":return{...e,keepAwake:t.mode};case"agents":return{...e,agents:t.agents,defaultAgent:t.defaultAgent,agentChosen:t.agentChosen};case"agent-config":{const{t:E,...T}=t;return{...e,agentConfigs:{...e.agentConfigs,[T.agent]:T}}}case"pending-repos":{const E=new Set(e.pending.map($=>$.id)),T=t.pending.find($=>!E.has($.id)),j=T&&e.pendingOpen?T.id:e.activeImportId,A=t.pending.some($=>$.id===j),I=t.pending.some($=>$.id===j&&$.error);return{...e,pending:t.pending,activeImportId:A?j:null,pendingOpen:I?!1:e.pendingOpen,newProject:T&&e.pendingOpen&&((s=e.newProject)==null?void 0:s.phase)==="creating"?null:e.newProject}}case"path-entries":return{...e,paths:{query:t.query,entries:t.entries,target:t.target}};case"folder-chosen":return{...e,chosenFolder:{seq:(((a=e.chosenFolder)==null?void 0:a.seq)??0)+1,folder:t.folder}};case"refs":return{...e,refs:{...e.refs,[t.repoId]:{query:t.query,refs:t.refs}}};case"chat-hits":return{...e,chats:{...e.chats,[t.repoId]:{query:t.query,hits:t.hits,truncated:t.truncated,asks:t.asks}}};case"archived":{const E=(e.archived[t.repoId]??[]).filter(j=>e.archiving.includes(j.id)&&!t.items.some(A=>A.id===j.id)),T={...e.archived,[t.repoId]:E.length?[...E,...t.items]:t.items};return{...e,archived:T,viewed:Tk(e.viewed,yh({rows:e.rows,archived:T}))}}case"draft":return t.clientId===e.clientId||ws(t.boxId)?e:St(e,t.boxId,E=>{var T;return E.draft===t.text||((T=E.mark)==null?void 0:T.by)==="walk"?E:{...E,draft:t.text}});case"attachments":return t.clientId===e.clientId||ws(t.boxId)?e:St(e,t.boxId,E=>({...E,attachments:_k(t.items,E.attachments)}));case"repos":{const E=new Set(e.repos.map(P=>P.id)),T=t.repos.find(P=>!E.has(P.id));let j=e.activeRepoId,A=e.pendingOpen,I=e.newProject;T&&(A||!j)?(j=T.id,A=!1,I&&I.phase!=="unmaking"&&(I={...I,phase:"creating",repoId:T.id})):t.repos.some(P=>P.id===j)||(j=((l=t.repos[0])==null?void 0:l.id)??null),(I==null?void 0:I.phase)==="unmaking"&&!t.repos.some(P=>P.id===(I==null?void 0:I.repoId))&&(I={...I,phase:"editing",repoId:null}),t.repos.length===0&&!I&&(I=AN());const $=e.gitIdentity||t.repos.some(P=>P.made&&!E.has(P.id)),C=If(e,"repos",t.stamp),L=zs(e.visits,t.repos);return j===e.activeRepoId?{...e,repos:t.repos,stamps:C,visits:L,pendingOpen:A,newProject:I,gitIdentity:$}:Bx({...e,repos:t.repos,stamps:C,visits:L,pendingOpen:A,newProject:I,gitIdentity:$,activeRepoId:j,activeId:Ba(e,j),editor:null})}case"worktrees":{const{rows:E,complete:T}=r3(e.rows,t),j=t.trunks??e.trunks;let A=e.activeId;(!A||!E.some(P=>P.id===A))&&(A=Ba(e,e.activeRepoId,E));const I=new Set(e.rows.map(P=>P.id)),$=P=>{var B;return((B=P.worktree)==null?void 0:B.kind)==="worktree"&&P.worktree.createdBy===e.clientId},C=E.find(P=>!I.has(P.id)&&$(P));C&&e.rows.length>0&&(A=C.id);const L=e.archiving.filter(P=>E.some(B=>B.id===P));return Bx({...Oi({...e,rows:E,trunks:j,stamps:If(e,"rows",T?t.stamp:""),archiving:L.length===e.archiving.length?e.archiving:L,shipping:BN(e.shipping,E,j),local:GN(M3(G3(e.local,e.rows,E),E,e.activeId,A===(C==null?void 0:C.id)?C.id:void 0),E,e.archivedPage),treeOpen:ZN(e.treeOpen,E),viewed:Tk(e.viewed,yh({rows:E,archived:e.archived}))},A),editor:A===e.activeId?e.editor:null,...C&&A===C.id?{carryTo:C.id}:{},...A===e.activeId?{activeRepoId:e.activeRepoId}:{},archivedPage:C?null:e.archivedPage,notesPage:C?!1:e.notesPage})}case"log":return St(e,t.worktreeId,E=>({...E,log:pR(E.log.slice(-400),t.proc,t.line,t.retract)}));case"agent":{const E=t.event,T=t.worktreeId;let j=St(e,T,A=>{const I=JN(A.chat,E,t.seq),$=E.type==="turn-end",C=$||E.type==="agent-error"||E.type==="agent-auth-required",P=E.type==="tool-start"||E.type==="tool-end"||$||E.type==="tool-update"&&E.background?zx(I,A.running):A.running;let B=A.turn;E.type==="turn-start"?B={edits:!1,hmr:!1}:E.type==="tool-start"&&WS(E)&&(B={...B,edits:!0});const q=E.type==="session-info"&&E.model?E.model:A.model,ne=E.type==="session-info"&&E.effort?E.effort:A.effort,Q=E.type==="usage"?{...QN(E),heard:Date.now()}:A.usage,le=e.rows.find(J=>J.id===T),te=is(le==null?void 0:le.agent),Z=A.sending?te?Ru(A):{...A,sending:{at:A.sending.at}}:A,R=L3(E.type==="user-message"?Z:C?Ru(A):A,E);return{...E.type==="user-message"?Fc(R,"reveal"):R,chat:I,...I!==A.chat?{chatAt:Date.now()}:{},...P!==A.running?{running:P}:{},turn:B,...q!==A.model?{model:q}:{},...ne!==A.effort?{effort:ne}:{},...Q!==A.usage?{usage:Q}:{}}});if(E.type==="agent-ask-end"&&!ny(E.outcome)&&((u=j.local[Hc(E.id)])!=null&&u.attachments.length)&&(j=St(j,Hc(E.id),A=>({...A,attachments:[]}))),E.type==="user-message"){const A=dN(((h=e.local[T])==null?void 0:h.chat)??[]),I=A?Hc(A.id):null,$=I?((f=j.local[I])==null?void 0:f.attachments)??[]:[];I&&$.length&&(j=St(j,I,C=>({...C,attachments:[]})),j=St(j,T,C=>({...C,attachments:[...C.attachments,...$]})))}if(E.type==="turn-end"){const A=j.local[T].turn;A.edits&&!A.hmr&&(j={...j,reloadReq:{id:T,n:(((p=j.reloadReq)==null?void 0:p.n)??0)+1}})}return(E.type==="agent-question"||E.type==="agent-permission"||E.type==="handoff-proposed"&&!E.held||E.type==="handoff-shown")&&T===e.activeId&&(j=ts(j)),j}case"backfill":{const E=T=>t.events.some(({event:j})=>j.type==="user-message"&&j.text===T);return St(e,t.worktreeId,({sending:T,...j})=>{const{chat:A,usage:I}=t.after!==void 0?Ak(t.events,j.chat):Ak(t.events);return{...j,...T&&!(T.message&&E(T.message.text))?{sending:T}:{},chat:A,chatAt:Date.now(),running:zx(A,j.running),log:t.log??j.log,...I?{usage:I}:{}}})}case"git-status":{const E=(g=e.local[t.worktreeId])==null?void 0:g.git;if(t.version>0&&E&&t.version<E.version||t.version>0&&E&&t.version===E.version&&!t.extras)return e;let T=e.layout.changes,j=e.changesAuto;const A=((y=t.extras)==null?void 0:y.committed.length)??0;e.changesAuto&&t.worktreeId===e.activeId&&!T&&(t.files.length>0||A>0)&&(T=!0,j=!1);const I=t.worktreeId===e.archivedPage?Ho(e):null;I&&(t.files.length>0||A>0||I.landed)&&(T=!0);const $=St(e,t.worktreeId,C=>{const L=V3(C.git,t),P={...C,git:L,changedRanges:Y3(C.git,L,C.changedRanges)};return Q3(C.git?P:J3(P,L))});return{...mo($,{changes:T}),changesAuto:j}}case"pr-comments":return St(e,t.worktreeId,E=>({...E,prComments:t.comments}));case"changed-ranges":{const E=St(e,t.worktreeId,j=>({...j,changedRanges:{...j.changedRanges,[t.path]:{ranges:t.ranges,offset:t.lineOffset}}})),T=E.editor;return!((v=T==null?void 0:T.line)!=null&&v.fiber)||T.worktreeId!==t.worktreeId||T.path!==t.path?E:{...E,editor:{...T,line:CN(E,T.worktreeId,T.path,T.line)}}}case"shipped":{const E=t.worktreeId,T={...e,shipping:Dx(e.shipping,j=>{var A;return j===E&&((A=e.shipping[j])==null?void 0:A.sent)===!0}),openUrl:t.ok&&t.url?t.url:e.openUrl};return!t.ok&&!t.asked?E?Fx(T,E,t.message):$k(T,t.message):T}case"files":return St(e,t.worktreeId,E=>{var L;const T=jg(E.tracked,t.paths)?E.tracked:t.paths,j=jg(E.submodules,t.submodules)?E.submodules:t.submodules,A=i_(T,((L=E.git)==null?void 0:L.files)??[]),I=T===E.tracked&&A.key===E.filesDelta?E.files:void 0,{trackedAt:$,...C}=E;return{...C,tracked:T,...E.filesFor?{trackedAt:E.filesFor.index}:{},submodules:j,files:I??a_(T,A),filesDelta:A.key}});case"ignored-files":return jg((w=e.local[t.worktreeId])==null?void 0:w.ignored,t.ignored)?e:St(e,t.worktreeId,E=>({...E,ignored:t.ignored}));case"search-results":return St(e,t.worktreeId,E=>({...E,search:{query:t.query,hits:t.hits,truncated:t.truncated}}));case"element-sources":{if(e.editor&&e.editor.seq>t.seq)return e;const[E]=t.hits;if(!E)return St(e,t.worktreeId,j=>({...j,notice:"nothing in the source matches this element"}));if(!t.sure)return Li(e,{a:"open",overlay:{kind:"element-sources",worktreeId:t.worktreeId,hits:t.hits}});const T=Li(e,{a:"open-file",v:{worktreeId:t.worktreeId,path:E.path,view:"file",line:{n:E.line},focus:!0,seq:t.seq}});return T.layout.changes?T:Li(T,{a:"toggle-changes"})}case"design-index":return St(e,t.worktreeId,E=>({...E,design:t.index}));case"routes":return St(e,t.worktreeId,E=>({...E,pages:{routes:t.routes,unseen:t.unseen}}));case"queue":return St(e,t.worktreeId,E=>({...E,queue:t.items}));case"agent-commands":return St(e,t.worktreeId,E=>({...E,commands:t.commands}));case"git-log":return St(e,t.worktreeId,E=>({...E,commits:t.commits}));case"git-commit":return St(e,t.worktreeId,E=>({...E,commitFiles:{...E.commitFiles,[t.sha]:t.files}}));case"error":{const E=t.worktreeId,T=e.newProject,j=(T==null?void 0:T.phase)==="creating"&&!T.repoId,A=E?e.archiving.includes(E)?[E]:[]:e.archiving,I={...O3(e,E),archiving:A.length?e.archiving.filter($=>!A.includes($)):e.archiving,archived:A.length?C3(e.archived,A):e.archived,shipping:Dx(e.shipping,$=>!E||$===E),newProject:j?{...T,phase:"editing",error:t.message}:(T==null?void 0:T.phase)==="unmaking"?null:T,pendingOpen:j?!1:e.pendingOpen,updateCheck:!E&&e.updateCheck==="asking"?null:e.updateCheck};return j?I:E?Fx(I,E,t.message):$k(I,t.message)}case"unsent":{const E=((x=ws(t.boxId))==null?void 0:x.source)??t.boxId,T=!Zr(e,E)&&!!e.activeRepoId&&((N=e.archived[e.activeRepoId])==null?void 0:N.some(j=>j.id===E));return St(ts(T?LN(e,E):e),E,({sending:j,...A})=>({...A,draft:A.draft||t.text,attachments:[..._k(t.items,[]),...A.attachments],notice:t.message}))}default:return e}}function QN(e){return{used:e.used,size:e.size,...e.cost!==void 0?{cost:e.cost}:{}}}function a6(e,t){const n=t.trim();return n!==""&&(e.trim()===n||e.trim().endsWith(`: ${n}`))}function JN(e,t,n){var s,a,l,u,h;const r=e[e.length-1],o=n===void 0?{}:{seq:n};switch(t.type){case"fix-asked":return[...e,{kind:"asked",about:t.kind,why:t.why,...t.toolId?{toolId:t.toolId}:{}}];case"user-message":return[...e,{kind:"user",text:t.text,...(s=t.attachments)!=null&&s.length?{attachments:t.attachments}:{},...o}];case"handed":return[...e,{kind:"handed",via:t.via,...t.body?{body:t.body}:{},...t.path?{path:t.path}:{},...t.note?{note:t.note}:{},origin:t.origin,...(a=t.attachments)!=null&&a.length?{attachments:t.attachments}:{},...o,ts:t.ts}];case"text-delta":{const f=t.messageId?{messageId:t.messageId}:{};if((r==null?void 0:r.kind)==="assistant"&&r.messageId===t.messageId)return[...e.slice(0,-1),{...r,text:r.text+t.text}];const p=t.messageId===void 0?-1:c6(e,t.messageId);if(p!==-1){const g=e.slice(),y=g[p];return g[p]={...y,text:y.text+t.text},g}return[...e,{kind:"assistant",text:t.text,...o,...f}]}case"picture":{const{type:f,...p}=t;let g=e.findLastIndex(w=>w.kind==="assistant"&&w.text.includes(p.path));if(g===-1&&(g=e.findLastIndex(w=>w.kind==="assistant")),g===-1)return e;const y=e.slice(),v=y[g];return y[g]={...v,pictures:[...(v.pictures??[]).filter(w=>w.path!==p.path),p]},y}case"thinking-delta":return(r==null?void 0:r.kind)==="thinking"?[...e.slice(0,-1),{...r,text:r.text+t.text}]:[...e,{kind:"thinking",text:t.text}];case"tool-start":return[...e,{kind:"tool",id:t.toolId,name:t.name,input:t.input,done:!1,...t.kind?{toolKind:t.kind}:{},...t.title?{title:t.title}:{},...t.parentToolId?{parentToolId:t.parentToolId}:{},...t.subagent?{subagent:!0}:{}}];case"tool-update":{const f=e.findLastIndex(y=>y.kind==="tool"&&y.id===t.toolId);if(f===-1)return e;const p=e.slice(),g=p[f];return p[f]={...g,...t.name?{name:t.name}:{},...t.title?{title:t.title}:{},...t.input!==void 0?{input:t.input}:{},...t.kind?{toolKind:t.kind}:{},...t.background?{background:!0}:{},...t.until?{until:t.until}:{}},p}case"tool-delta":{const f=e.findLastIndex(y=>y.kind==="tool"&&y.id===t.toolId);if(f===-1)return e;const p=e.slice(),g=p[f];return p[f]={...g,output:(g.output??"")+t.text},p}case"tool-end":{const f=e.findLastIndex(y=>y.kind==="tool"&&y.id===t.toolId);if(f===-1)return e;const p=e.slice(),g=p[f];return p[f]={...g,output:t.output,isError:t.isError,...(l=t.images)!=null&&l.length?{images:t.images}:{},...t.detached?{detached:!0}:{},...t.fixable?{fixable:t.fixable}:{},...t.cut?{cut:!0}:{},done:!0},p}case"agent-error":return(r==null?void 0:r.kind)==="assistant"&&a6(t.message,r.text)?[...e.slice(0,-1),{kind:"error",text:t.message,...o}]:[...e,{kind:"error",text:t.message,...o}];case"agent-blocked":return[...e,{kind:"blocked",tool:t.tool,path:t.path,reason:t.reason}];case"grafted":return[...e,{kind:"grafted",title:t.title,branch:t.branch}];case"model-switched":return[...e,{kind:"switched",name:t.name,...t.asked?{asked:t.asked}:{}}];case"landed":return[...e,{kind:"landed",text:t.message,...t.mark?{mark:t.mark}:{},...t.url?{url:t.url}:{},...t.held?{held:t.held}:{},ts:t.ts}];case"piece-landed":return[...e,{kind:"piece-landed",worktreeId:t.worktreeId,repoName:t.repoName,title:t.title,...t.url?{url:t.url}:{},...(u=t.subjects)!=null&&u.length?{subjects:t.subjects}:{},...t.same?{same:!0}:{},...t.again?{again:!0}:{},...t.awaited?{awaited:!0}:{},ts:t.ts}];case"handoff-proposed":{const f=t.held?e.findLast(g=>g.kind==="ask"&&!g.outcome&&g.ask.kind==="permission"&&!!g.ask.plan):void 0,p=(f==null?void 0:f.kind)==="ask"&&f.ask.kind==="permission"?{companion:f.id,plan:f.ask.plan}:{};return[...e,{kind:"handoff",id:t.id,pieces:t.pieces,fates:Object.fromEntries(t.pieces.map(g=>[g.id,g.fate])),mode:t.mode,...t.held?{held:!0}:{},...t.plan?{plan:t.plan}:{},...t.by?{by:t.by}:{},...p,state:t.held?"held":"proposed",outcomes:[],later:[],ts:t.ts}]}case"handoff-stale":{const f=va(e,t.id,["held","proposed"]);return f===-1?e:e.with(f,{...e[f],stale:!0})}case"handoff-shown":{const f=va(e,t.id,["held","proposed"]);if(f===-1)return e;const p=e[f];return e.with(f,{...p,state:"proposed",...t.plan?{plan:t.plan}:{}})}case"handoff-fate":{const f=va(e,t.id,["held","proposed"]);if(f===-1)return e;const p=e[f];return e.with(f,{...p,fates:{...p.fates,[t.pieceId]:t.fate}})}case"handoff-go":{const f=va(e,t.id,["held","proposed"]);if(f===-1)return e;const p=e[f];if(p.state!=="proposed")return e.with(f,{...p,state:"going"});const g={go:!0,...t.note?{note:t.note}:{}};return Ux(e,f,{...p,state:"going",answered:g,ts:t.ts})}case"handoff-piece":{const f=va(e,t.id,["going"]);if(f===-1)return e;const p=e[f];return e.with(f,{...p,outcomes:[...p.outcomes,t.outcome]})}case"handoff":{const f=va(e,t.id,["held","proposed","going"]);return f===-1?[...e,{kind:"handoff",id:t.id,pieces:[],fates:{},mode:ck,state:"done",outcomes:t.outcomes,later:[],ts:t.ts}]:e.with(f,{...e[f],state:"done",outcomes:t.outcomes})}case"handoff-declined":{const f=va(e,t.id,["held","proposed","going"]);if(f===-1)return e;const p=e[f],{companion:g,...y}=p,v=t.plan?{...y,plan:t.plan}:p;return v.state==="proposed"&&!t.reason?Ux(e,f,{...v,state:"declined",answered:{go:!1,...t.note?{note:t.note}:{}},ts:t.ts}):e.with(f,{...v,state:"declined",...t.reason?{reason:t.reason}:{}})}case"piece-made":case"piece-dropped":{const f=e.findLastIndex(x=>x.kind==="handoff"&&x.id===t.id),p=f===-1?void 0:e[f],g=t.type==="piece-made"?{pieceId:t.pieceId,worktreeId:t.worktreeId,title:t.title}:{pieceId:t.pieceId,reason:t.reason},y=t.type==="piece-made"?t.title:(h=p==null?void 0:p.pieces.find(x=>x.id===t.pieceId))==null?void 0:h.title,v={kind:"piece-later",id:t.id,...y?{title:y}:{},...g,ts:t.ts};return[...p?e.with(f,{...p,later:[...p.later,g]}):e,v]}case"restored":return[...e,{kind:"restored",archivedAt:t.archivedAt,branch:t.branch,uncommitted:t.uncommitted,ts:t.ts}];case"adopted":return[...e,{kind:"adopted",branch:t.branch,ts:t.ts}];case"owned":return[...e,{kind:"owned",names:t.names,by:t.by,...t.file?{file:t.file}:{},ts:t.ts}];case"own-failed":return[...e,{kind:"own-failed",name:t.name,cmd:t.cmd,exit:t.exit,ts:t.ts}];case"agent-auth-required":return[...e,{kind:"auth",agent:t.agent,agentName:t.agentName,methods:t.methods,...t.rejected?{rejected:!0}:{},...t.withheld?{withheld:!0}:{},...t.provider?{provider:t.provider}:{},...t.detail?{detail:t.detail}:{},...t.refresh?{refresh:t.refresh}:{},done:!1}];case"agent-auth-ok":return e.some(f=>f.kind==="auth"&&!f.done)?e.map(f=>f.kind==="auth"&&!f.done?{...f,done:!0}:f):e;case"agent-question":return Hx(e,t.toolId,{kind:"ask",id:t.id,ask:{kind:"question",message:t.message,questions:t.questions}});case"agent-permission":{const f={kind:"ask",id:t.id,ask:{kind:"permission",title:t.title,...t.command?{command:t.command}:{},...t.detail?{detail:t.detail}:{},...t.plan?{plan:t.plan}:{},...t.handoff?{handoff:t.handoff}:{},choices:t.choices}},p=t.handoff?e.findLastIndex(v=>v.kind==="handoff"&&v.id===t.handoff):-1,g=p===-1?e:e.with(p,{...e[p],companion:t.id,...t.plan&&!e[p].plan?{plan:t.plan}:{}}),y=g.findLast(v=>v.kind==="tool"&&v.id===t.toolId);return(y==null?void 0:y.kind)!=="tool"||t.plan||y.toolKind==="switch_mode"?Hx(g,t.toolId,f):[...g,{...f,toolId:y.id}]}case"agent-ask-end":{const f=e.findLastIndex(y=>y.kind==="ask"&&y.id===t.id&&!y.outcome);if(f===-1)return e;const p=e[f];if(p.toolId&&l6(p,t.choiceId))return[...e.slice(0,f),...e.slice(f+1)];const g=e.slice();return g[f]={...g[f],outcome:t.outcome,...t.answers?{answers:t.answers}:{},...t.choiceId?{choiceId:t.choiceId}:{}},g}case"turn-end":{const f=eT(e);return t.stopReason==="interrupted"?[...f,{kind:"stopped",...t.by?{by:t.by}:{},...o}]:f}default:return e}}function eT(e){const t=n=>n.kind==="tool"&&!n.done&&!n.background;return e.some(t)?e.map(n=>t(n)?{...n,done:!0}:n):e}function c6(e,t){const n=s=>Ju(s)||s.kind==="handoff"&&!!s.answered;let r=e.length-1;for(;r>=0&&n(e[r]);)r--;const o=e[r];return(o==null?void 0:o.kind)==="assistant"&&o.messageId===t?r:-1}function va(e,t,n){return e.findLastIndex(r=>r.kind==="handoff"&&r.id===t&&n.includes(r.state))}function Ux(e,t,n){return[...e.slice(0,t),...e.slice(t+1),n]}function l6(e,t){var n;return e.ask.kind!=="permission"||!t?!1:!!((n=e.ask.choices.find(r=>r.id===t))!=null&&n.kind.startsWith("allow"))}function Hx(e,t,n){const r=t?e.findLastIndex(o=>o.kind==="tool"&&o.id===t):-1;return r===-1?[...e,n]:[...e.slice(0,r),...e.slice(r+1),n]}function u6(e){let t=e;const n=new Set;return{getState:()=>t,dispatch(r){const o=Li(t,r);if(o!==t){t=o;for(const s of n)s()}},subscribe(r){return n.add(r),()=>n.delete(r)}}}const tT=S.createContext(null),yy=S.createContext(null),nT=S.createContext(null);function d6({store:e,sock:t,files:n,children:r}){return d.jsx(tT.Provider,{value:e,children:d.jsx(yy.Provider,{value:t,children:d.jsx(nT.Provider,{value:n,children:r})})})}const rT=S.createContext(null),oT=S.createContext(null);function f6({machines:e,children:t}){const n=S.useSyncExternalStore(e.subscribe,e.active);return d.jsx(rT.Provider,{value:e,children:d.jsx(oT.Provider,{value:n,children:d.jsx(d6,{store:n.store,sock:n.sock,files:n.files,children:d.jsx(S.Fragment,{children:t},n.origin)})})})}function Es(){const e=S.useContext(rT);if(!e)throw new Error("useMachines outside <MachinesProvider>");return e}function Vs(){const e=S.useContext(oT);if(!e)throw new Error("useMachine outside <MachinesProvider>");return e}function vy(){const e=Es();return S.useSyncExternalStore(e.subscribe,e.list)}function ou(e,t){return S.useSyncExternalStore(e.store.subscribe,()=>t(e.store.getState()))}const Ck=(e,t)=>e.length===t.length&&e.every((n,r)=>n===t[r]);function sT(){const e=Es(),t=Vs(),n=vy(),r=S.useMemo(()=>n.filter(l=>l!==t),[n,t]),o=S.useRef(null),s=S.useCallback(l=>{const u=r.map(h=>h.store.subscribe(l));return()=>{for(const h of u)h()}},[r]),a=S.useCallback(()=>{const l=r.map(p=>e.displayName(p.origin)),u=r.map(p=>p.store.getState().repos),h=o.current;if(h&&h.others===r&&Ck(h.names,l)&&Ck(h.repos,u))return h.value;const f=r.map((p,g)=>({origin:p.origin,name:l[g]??p.origin,repos:u[g]??[]}));return o.current={others:r,names:l,repos:u,value:f},f},[r,e]);return S.useSyncExternalStore(s,a)}function iT(){const e=Vs(),t=vy(),n=S.useMemo(()=>t.filter(a=>a!==e),[t,e]),r=S.useRef(null),o=S.useCallback(a=>{const l=n.map(u=>u.store.subscribe(a));return()=>{for(const u of l)u()}},[n]),s=S.useCallback(()=>{const a=n.map(h=>{const f=h.store.getState();return f.connected&&!f.incompatible?f.rows:Wx}),l=r.current;if(l&&l.others===n&&Ck(l.rows,a))return l.value;const u=n.map((h,f)=>({origin:h.origin,rows:(a[f]??Wx).filter(Sn)}));return r.current={others:n,rows:a,value:u},u},[n]);return S.useSyncExternalStore(o,s)}const Wx=[];function EQ(){return Vs().terminals}function Pn(){const e=S.useContext(tT);if(!e)throw new Error("useStore outside <StoreProvider>");return e}function D(e){const t=Pn();return S.useSyncExternalStore(t.subscribe,()=>e(t.getState()))}function by(){const e=D(n=>n.systemDark),t=D(n=>{var r;return(r=n.daylight)==null?void 0:r.dark});return{system:e,daylight:t??e}}function dt(){return Pn().dispatch}function Qe(){return S.useContext(yy)}function Lr(){const e=S.useContext(yy);return(e==null?void 0:e.urls)??ty(location.origin,"")}function xy(){return S.useContext(nT)}function h6(e=!1,t=!0){const n=S.useRef(null);return S.useEffect(()=>{if(!t)return;const r=()=>{const s=n.current;!s||document.activeElement===s||(s.focus(),e&&s instanceof HTMLInputElement&&s.select())};r();const o=requestAnimationFrame(r);return()=>cancelAnimationFrame(o)},[e,t]),n}function ks(e,t,n,r=p6){const o=()=>{try{return n(r.get(e))??t}catch{return t}},[s,a]=S.useState(()=>({key:e,value:o()}));return s.key!==e&&a({key:e,value:o()}),[s.key===e?s.value:o(),h=>{a({key:e,value:h});try{r.set(e,typeof h=="boolean"?h?"1":"0":String(h))}catch{}}]}const p6={get:e=>localStorage.getItem(e),set:(e,t)=>localStorage.setItem(e,t)};function m6(e,t){const[n,r]=S.useState(!0);return S.useLayoutEffect(()=>{const o=e.current;if(!o)return;const s=()=>r(o.clientWidth>=t);s();const a=new ResizeObserver(s);return a.observe(o),()=>a.disconnect()},[e,t]),n}function qc(e,t){return n=>{n.preventDefault(),document.body.classList.add("resizing");const r=n.currentTarget;r.classList.add("active");const o=a=>{const l=e(a,r);l!==null&&t(l)},s=()=>{document.body.classList.remove("resizing"),r.classList.remove("active"),window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",s)};window.addEventListener("pointermove",o),window.addEventListener("pointerup",s)}}function aT(e,t){const[n,r]=S.useState(!1);return S.useEffect(()=>{if(!e){r(!1);return}const o=setTimeout(()=>r(!0),t);return()=>clearTimeout(o)},[e,t]),n}function Ey(e,t){const[n,r]=S.useState(void 0);return S.useEffect(()=>{if(e===void 0){r(void 0);return}const o=setTimeout(()=>r(e),t);return()=>clearTimeout(o)},[e,t]),n}function SQ(){const[e,t]=S.useState(!1);return S.useEffect(()=>{var r;let n=!0;return(r=document.fonts)==null||r.ready.then(()=>{n&&t(!0)}),()=>{n=!1}},[]),e}const Sy=1500;function Pi(e){const[t,n]=S.useState(()=>Date.now()),r=e!==void 0;return S.useEffect(()=>{if(!r)return;n(Date.now());const o=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(o)},[r]),r?Math.max(0,Math.floor((t-e)/1e3)):0}function g6(){const[e,t]=S.useState(window.innerWidth);return S.useEffect(()=>{const n=()=>t(window.innerWidth);return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]),e}function k6(e){const[t,n]=S.useState(()=>window.matchMedia(e).matches);return S.useEffect(()=>{const r=window.matchMedia(e),o=()=>n(r.matches);return o(),r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[e]),t}function w6(e){const t=S.useRef(null);return S.useLayoutEffect(()=>{const n=t.current;if(!n)return;t.current=null;const r=n.closest(e);if(!r)return;const o=r.getBoundingClientRect(),s=n.getBoundingClientRect(),a=parseFloat(getComputedStyle(r).getPropertyValue("--scroll-foot"))||0,l=s.bottom-(o.bottom-a);if(l<=0)return;const u=parseFloat(getComputedStyle(r).paddingTop)||0;r.scrollTop+=Math.min(l,Math.max(0,s.top-o.top-u))}),n=>{t.current=n}}const $g=40,y6=1200,v6=150,b6=new Set(["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"," "]);function cT(e,t){const n=S.useRef(!0),r=S.useRef(Number.NEGATIVE_INFINITY),o=S.useRef(!1),[s,a]=S.useState(!1),[l,u]=S.useState(!1),[h,f]=S.useState(!1),[p,g]=S.useState(null),y=S.useCallback(A=>{n.current=A,e.current&&(e.current.style.overflowAnchor=A?"none":"")},[e]),v=S.useRef(null),w=S.useRef(null);ot([t],()=>{n.current||f(!0)});const x=S.useCallback(()=>n.current,[]),N=S.useCallback(()=>{const A=e.current;A&&(y(A.scrollHeight-A.scrollTop-A.clientHeight<$g),a(!n.current),u(A.scrollTop>=$g),n.current&&f(!1))},[e,y]),E=S.useCallback(A=>{Math.abs(A)<4||(g(A<0?"up":"down"),w.current&&clearTimeout(w.current),w.current=setTimeout(()=>g(null),y6))},[]),T=S.useCallback(()=>{const A=e.current;A&&(A.scrollTop=A.scrollHeight,y(!0),a(!1),f(!1))},[e,y]),j=S.useCallback(()=>{const A=e.current;A&&(r.current=performance.now(),A.scrollTop=0)},[e]);return S.useEffect(()=>{const A=e.current;if(!A)return;y(n.current);const I=()=>o.current||performance.now()-r.current<v6,$=()=>{n.current&&!I()?u(A.scrollTop>=$g):N()};A.addEventListener("scroll",$,{passive:!0});const C=()=>{r.current=performance.now()},L=R=>{C(),E(R.deltaY)},P=R=>{var J;C(),v.current=((J=R.touches[0])==null?void 0:J.clientY)??null},B=R=>{var F;C();const J=(F=R.touches[0])==null?void 0:F.clientY;J===void 0||v.current===null||(E(v.current-J),v.current=J)},q=()=>{o.current=!0},ne=()=>{o.current=!1},Q=R=>{if(!b6.has(R.key))return;const J=R.target;(J===document.body||J instanceof Node&&A.contains(J))&&C()};A.addEventListener("wheel",L,{passive:!0}),A.addEventListener("touchstart",P,{passive:!0}),A.addEventListener("touchmove",B,{passive:!0}),A.addEventListener("pointerdown",q,{passive:!0}),window.addEventListener("pointerup",ne,{passive:!0}),window.addEventListener("pointercancel",ne,{passive:!0}),document.addEventListener("keydown",Q);const le=()=>{A.scrollTop=A.scrollHeight},te=new ResizeObserver(()=>{n.current&&le()});te.observe(A);for(const R of A.children)te.observe(R);const Z=new MutationObserver(R=>{for(const J of R){for(const F of J.addedNodes)F instanceof Element&&te.observe(F);for(const F of J.removedNodes)F instanceof Element&&te.unobserve(F)}n.current&&le()});return Z.observe(A,{childList:!0}),()=>{A.removeEventListener("scroll",$),A.removeEventListener("wheel",L),A.removeEventListener("touchstart",P),A.removeEventListener("touchmove",B),A.removeEventListener("pointerdown",q),window.removeEventListener("pointerup",ne),window.removeEventListener("pointercancel",ne),document.removeEventListener("keydown",Q),Z.disconnect(),te.disconnect(),w.current&&clearTimeout(w.current)}},[e,N,E,y]),{offEnd:s,offStart:l,away:h,moving:p,pinned:x,jump:T,start:j,read:N}}function Kx(e,t,n){const r=document.createRange();return r.selectNodeContents(e),r.setEnd(t,n),r.toString().length}function qx(e,t){const n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);let r=0,o=null;for(let s=n.nextNode();s;s=n.nextNode()){if(r+s.data.length>=t)return[s,t-r];r+=s.data.length,o=s}return o?[o,o.data.length]:[e,0]}function lT(e,t){S.useLayoutEffect(()=>{const n=e.current;if(!n)return;const r=window.getSelection(),o=g=>!!g&&n.contains(g),s=r&&r.rangeCount>0&&o(r.anchorNode)?Kx(n,r.anchorNode,r.anchorOffset):null,a=r&&r.rangeCount>0&&o(r.focusNode)?Kx(n,r.focusNode,r.focusOffset):null,l=r&&(s!==null||a!==null)?[r.anchorNode,r.anchorOffset,r.focusNode,r.focusOffset]:null;if(n.innerHTML=t,!r||!l)return;const[u,h]=s===null?[l[0],l[1]]:qx(n,s),[f,p]=a===null?[l[2],l[3]]:qx(n,a);u&&f&&r.setBaseAndExtent(u,h,f,p)},[e,t])}function ot(e,t){const n=S.useRef(t);n.current=t,S.useEffect(()=>n.current(),e)}function uT(e){const[t,n]=S.useState({left:0,right:0});return S.useLayoutEffect(()=>{if(!e)return;const r=()=>{const s=e.getBoundingClientRect();let{left:a,right:l}=s;const u=e.closest("[data-pinned]");if(u){const f=u.getBoundingClientRect(),p=u.offsetWidth/f.width;a=u.offsetLeft+(a-f.left)*p,l=u.offsetLeft+(l-f.left)*p}const h={left:Math.round(a),right:Math.round(l)};n(f=>f.left===h.left&&f.right===h.right?f:h)};r();const o=new ResizeObserver(r);return o.observe(e),window.addEventListener("resize",r),()=>{o.disconnect(),window.removeEventListener("resize",r)}},[e]),t}function Zx(){const[e,t]=S.useState(null);return[t,uT(e)]}function _Q(e){e.ctrlKey&&e.stopPropagation()}function dT(e,t){return e.defaultPrevented||e.ctrlKey?!1:t<1.01}function NQ(e){S.useEffect(()=>{const t=e.current;if(!t)return;const n=r=>{var o;dT(r,((o=window.visualViewport)==null?void 0:o.scale)??1)&&r.preventDefault()};return t.addEventListener("wheel",n,{passive:!1}),()=>t.removeEventListener("wheel",n)},[e])}const fT={axis:null,dx:0,dy:0,across:0,at:Number.NEGATIVE_INFINITY},x6=2,E6=4,S6=300;function _6(e,t,n){const r=Math.abs(t.deltaX),o=Math.abs(t.deltaY),s=r>o?"x":"y",a=n-e.at<=S6?e:fT;if(a.axis===null){const u=a.dx+r,h=a.dy+o,f=Math.max(u,h)>=x6?u>h?"x":"y":null;return{scrolls:f!==null&&f===s,next:{axis:f,dx:u,dy:h,across:0,at:n}}}const l=Math.max(0,a.across+(a.axis==="x"?o-r:r-o));return s===a.axis?{scrolls:!0,next:{...a,across:l,at:n}}:l>=E6?{scrolls:!0,next:{...a,axis:s,across:0,at:n}}:{scrolls:!1,next:{...a,across:l,at:n}}}function TQ(e){S.useEffect(()=>{const t=e.current;if(!t)return;let n=fT;const r=o=>{var l;if(o.ctrlKey)return;const{scrolls:s,next:a}=_6(n,o,o.timeStamp);n=a,!s&&(o.stopPropagation(),dT(o,((l=window.visualViewport)==null?void 0:l.scale)??1)&&o.preventDefault())};return t.addEventListener("wheel",r,{capture:!0,passive:!1}),()=>t.removeEventListener("wheel",r,{capture:!0})},[e])}function N6(e){S.useEffect(()=>{const t=window.visualViewport;if(!t)return;const n=()=>{const r=e.current;r&&(t.scale<1.01?delete r.dataset.zoomed:r.dataset.zoomed="")};return n(),t.addEventListener("resize",n),()=>t.removeEventListener("resize",n)},[e])}function T6(e){S.useEffect(()=>{const t=window.visualViewport;if(!t)return;const n=()=>{var r;(r=e.current)==null||r.style.setProperty("--visible-height",`${Math.round(t.height)}px`)};return n(),t.addEventListener("resize",n),()=>t.removeEventListener("resize",n)},[e])}function j6(e){S.useEffect(()=>{const t=window.visualViewport;if(!t)return;const n=()=>{const r=e.current;if(r){if(t.scale<1.01){delete r.dataset.pinned;return}r.dataset.pinned="",r.style.setProperty("--pin-x",`${t.offsetLeft}px`),r.style.setProperty("--pin-y",`${t.offsetTop}px`),r.style.setProperty("--pin-scale",String(1/t.scale))}};return n(),t.addEventListener("resize",n),t.addEventListener("scroll",n),()=>{t.removeEventListener("resize",n),t.removeEventListener("scroll",n)}},[e])}function $6(e,t,n){const[r,o]=S.useState(),s=S.useRef(e);return s.current=e,S.useEffect(()=>{if(!n)return;let a=!0,l;const u=()=>void s.current().then(h=>{a&&(o(h),l=setTimeout(u,t))});return u(),()=>{a=!1,clearTimeout(l)}},[t,n]),r}const fl=()=>D(e=>e.activeId),hT=()=>aT(!D(e=>e.connected),900),A6=e=>!e.connected&&(e.connectFailure==="down"||e.connectFailure==="blocked"),pT=()=>D(A6),Ys=()=>D(e=>Xt(e,e.activeId)),_y=()=>D(e=>Zr(e,e.activeId)),mT=()=>D(e=>e.rows),Ny=()=>D(e=>e.visible),C6=()=>D(e=>e.visibleDiscovered),I6=()=>D(e=>e.activeRepoId?e.discoveredOpen[e.activeRepoId]??!1:!1),Gx=[],R6=()=>D(e=>e.activeRepoId?e.archived[e.activeRepoId]??Gx:Gx),O6=()=>D(e=>e.activeRepoId?e.archivedOpen[e.activeRepoId]??!1:!1),M6=()=>D(e=>!(e.activeRepoId&&e.committedShut[e.activeRepoId])),L6=()=>D(e=>!!(e.activeRepoId&&e.turnOpen[e.activeRepoId])),Ya=()=>D(Ho),Ty=()=>D(wy),P6=()=>D(e=>xs(e,e.activeRepoId)),hl=()=>D(e=>xs(e,gy(e))),gT=e=>D(t=>Mr(t,e)),Ft=(e,t)=>D(n=>Mr(n,e)[t]),D6=()=>D(e=>e.overlay),wp=()=>D(v3),kT=()=>D(ON),ed=()=>D(b3),td=()=>D(Ao),z6=()=>D(e=>e.newProject),Xs=()=>D(e=>e.touch),nd=e=>D(t=>t.chatSide==="left"==(e==="chat")?"right":"left"),F6=()=>D(e=>e.draft),jy=()=>D(zc),B6=()=>D(e=>{const t=Zr(e,e.activeId),n=t?e.repos.find(r=>r.id===t.repoId):null;return kh(n)?n:null});function U6(e){return e.image?{kind:"image",blob:e.image,sig:`image:${e.image.type}:${e.image.size}`}:e.text&&G_(e.text)?{kind:"text",text:e.text,sig:`text:${e.text}`}:null}function H6(){try{return localStorage.getItem(et.clipboardOffer)==="1"}catch{return!1}}let Zs={access:"none",on:typeof localStorage<"u"&&H6(),offer:null},Ik="";const Rk=new Set;function yp(e){Zs={...Zs,...e};for(const t of Rk)t()}async function W6(){let e,t;for(const n of await navigator.clipboard.read()){const r=n.types.find(o=>o.startsWith("image/"));r?e??(e=await n.getType(r)):n.types.includes("text/plain")&&(t??(t=await(await n.getType("text/plain")).text()))}return U6({image:e,text:t})}async function vp({taken:e=!1,asking:t=!1}={}){if(!Zs.on||!(Zs.access==="granted"||t&&Zs.access==="prompt"))return;let n;try{n=await W6()}catch{return}e&&(Ik=(n==null?void 0:n.sig)??""),yp({offer:n&&n.sig!==Ik?n:null})}const K6=()=>void vp();let Vx=!1;function q6(){var e,t;Vx||(Vx=!0,!(!((e=navigator.clipboard)!=null&&e.read)||!((t=navigator.permissions)!=null&&t.query))&&navigator.permissions.query({name:"clipboard-read"}).then(n=>{const r=()=>{yp({access:n.state,...n.state==="denied"?{offer:null}:{}})};n.onchange=r,r(),window.addEventListener("focus",K6),document.hasFocus()&&vp()},()=>{}))}function Z6(e){return Rk.add(e),q6(),()=>{Rk.delete(e)}}const G6=()=>Zs;function V6(e){try{localStorage.setItem(et.clipboardOffer,e?"1":"0")}catch{}yp({on:e,offer:null}),e&&vp({asking:!0})}function wT(){Zs.offer&&(Ik=Zs.offer.sig),yp({offer:null})}const Y6=()=>void vp({taken:!0});function X6(){return S.useSyncExternalStore(Z6,()=>Zs.offer)}const yT="application/x-toyon-source";function jQ(e){const t=e.endColumn===1&&e.endLineNumber>e.startLineNumber?e.endLineNumber-1:e.endLineNumber;return{startLine:e.startLineNumber,endLine:t}}function Q6(e,t){e.setData(yT,JSON.stringify(t))}const Yx=e=>typeof e=="number"&&Number.isInteger(e)&&e>=1;function J6(e,t){const n=e.getData(yT);if(!n||!t)return null;let r;try{r=JSON.parse(n)}catch{return null}if(!r||r.worktreeId!==t||typeof r.path!="string"||!r.path)return null;const{startLine:o,endLine:s,ref:a}=r;return!Yx(o)||!Yx(s)||s<o?null:{path:r.path,startLine:o,endLine:s,...typeof a=="string"?{ref:a}:{}}}const vT=e=>({left:e.x,top:e.y,right:e.x,bottom:e.y});function eF(e,t){return t.matchWidth===void 0?void 0:Math.max(0,e.right-e.left+t.matchWidth)}const tF=new Set(["top","bottom"]),Ag={top:"bottom",bottom:"top",left:"right",right:"left"};function Cg(e,t,n,r,o){const s=n==="top"||n==="left";return o?s?e.end+r-t:e.start-r:s?e.start-r-t:e.end+r}function Xx(e,t,n,r,o){return n==="top"||n==="left"?e>=o:e+t<=r-o}function Ig(e,t,n,r){return n==="center"?e.start+(e.end-e.start)/2-t/2:n==="start"?e.start-r:e.end+r-t}function Qx(e,t,n,r,o){return n==="start"?e+t<=r-o:e>=o}const Jx=(e,t,n,r)=>n||!r?e:t,e1=(e,t,n,r)=>Math.max(r,Math.min(e,n-r-t));function nF(e,t,n,r){const{offset:o=0,alignOffset:s=0,cover:a=!1,flip:l="none",margin:u=8}=r,h=tF.has(r.side),f=h?{a:{start:e.top,end:e.bottom},size:t.h,limit:n.h}:{a:{start:e.left,end:e.right},size:t.w,limit:n.w},p=h?{a:{start:e.left,end:e.right},size:t.w,limit:n.w}:{a:{start:e.top,end:e.bottom},size:t.h,limit:n.h};let g=r.side;if(l==="side"||l==="both"){const x=Cg(f.a,f.size,g,o,a),N=Cg(f.a,f.size,Ag[g],o,a);g=Jx(g,Ag[g],Xx(x,f.size,g,f.limit,u),Xx(N,f.size,Ag[g],f.limit,u))}let y=r.align??"center";if((l==="align"||l==="both")&&y!=="center"){const x=y==="start"?"end":"start",N=Ig(p.a,p.size,y,s),E=Ig(p.a,p.size,x,s);y=Jx(y,x,Qx(N,p.size,y,p.limit,u),Qx(E,p.size,x,p.limit,u))}const v=e1(Cg(f.a,f.size,g,o,a),f.size,f.limit,u),w=e1(Ig(p.a,p.size,y,s),p.size,p.limit,u);return h?{x:w,y:v,side:g,align:y}:{x:v,y:w,side:g,align:y}}function bT(e){return e.key==="a"&&(e.metaKey||e.ctrlKey)&&!e.altKey&&!e.shiftKey}function xT(e,t,n,r,o){S.useEffect(()=>{let s=!1;const a=u=>{const h=u.target instanceof Element?u.target:null;s=!!e.current&&!!h&&e.current.contains(h)&&!(o&&h.closest(o))},l=u=>{const h=e.current;if(!h||u.defaultPrevented||!t(u))return;const f=document.activeElement;o&&(f!=null&&f.closest(o))||!(f&&f!==document.body?h.contains(f):s)&&!(r!=null&&r(f))||(u.preventDefault(),n(h,u))};return window.addEventListener("pointerdown",a,!0),window.addEventListener("keydown",l),()=>{window.removeEventListener("pointerdown",a,!0),window.removeEventListener("keydown",l)}},[e,t,n,r,o])}function rF(e,t){const n=S.useCallback(r=>{var o;return _T(r,(o=t==null?void 0:t.upTo)==null?void 0:o.call(t,r))},[t]);xT(e,bT,n,void 0,t==null?void 0:t.except)}function ET(){const e=window.getSelection();return e&&!e.isCollapsed&&e.rangeCount>0?e:null}function ST(e){const t=e.toString().replace(/^\n+|\n+$/g,"");return t.trim()?t:null}function vh(e){const t=ET();return!t||!e.contains(t.getRangeAt(0).commonAncestorContainer)?null:ST(t)}function oF(e,t){for(const n of e)if(t.x>=n.left&&t.x<=n.right&&t.y>=n.top&&t.y<=n.bottom)return!0;return!1}function sF(e){const t=ET();if(!t)return null;for(let n=0;n<t.rangeCount;n++)if(oF(t.getRangeAt(n).getClientRects(),e))return ST(t);return null}function _T(e,t){const n=document.createRange();n.selectNodeContents(e),t&&n.setEndBefore(t);const r=window.getSelection();r&&(r.removeAllRanges(),r.addRange(n))}function iF(e,t,n){var s,a;const r=e.length;if(r===0)return-1;let o=t<0?n===1?0:r-1:(t+n+r)%r;for(let l=0;l<r&&((s=e[o])!=null&&s.disabled);l++)o=(o+n+r)%r;return(a=e[o])!=null&&a.disabled?-1:o}const NT={sep:!0},vs=e=>!("sep"in e);function bp(e){const t=[];for(const n of e)(vs(n)||t.length>0&&vs(t[t.length-1]))&&t.push(n);for(;t.length>0&&!vs(t[t.length-1]);)t.pop();return t}const Ln=e=>bp(e.flatMap((t,n)=>n?[NT,...t]:t));let Ri=null,aF=0;const Ok=new Set,t1=()=>{for(const e of Ok)e()},no={get:()=>Ri,subscribe(e){return Ok.add(e),()=>{Ok.delete(e)}},open(e){const t=bp(e.items);if(t.length===0)return no.close();Ri={...e,items:t,id:++aF},t1()},close(){Ri&&(Ri=null,t1())},toggle(e){Ri&&Ri.target===e.target?no.close():no.open(e)}};function $y(){return S.useSyncExternalStore(no.subscribe,no.get)}function TT(e){return S.useSyncExternalStore(no.subscribe,()=>Ri!==null&&Ri.target===e.current)}function jT(e){const t=e.nativeEvent;return t&&"pointerType"in t?t.pointerType==="":e.clientX===0&&e.clientY===0}function cF(e,t){return jT(e)?{anchor:(t.querySelector('[data-state~="cursor"]')??t).getBoundingClientRect()}:{at:{x:e.clientX,y:e.clientY}}}function lF(e){const t=e.anchor;return t?{rect:t,placement:{side:"bottom",align:e.align==="right"?"end":"start",offset:4,margin:4,...e.toggles?{flip:"side"}:{}}}:{rect:vT(e.at??{x:0,y:0}),placement:{side:"bottom",align:"start",margin:4}}}function uF(e){if(jT(e))return"keyboard";const t=e.nativeEvent;return t&&"pointerType"in t&&t.pointerType==="touch"?"touch":"pointer"}function dF(e,t,n){return n==="touch"?null:n==="keyboard"?vh(t):sF({x:e.clientX,y:e.clientY})}function fF(e,t){return t===null?e:Ln([[{id:"copy-selection",label:"copy selection",onClick:()=>{var r;return void((r=navigator.clipboard)==null?void 0:r.writeText(t).catch(()=>{}))}}],e])}function wn(e){return S.useMemo(()=>({contextMenu(t,n){return{onContextMenu:r=>{const o=uF(r),s=t(o,r.target);if(s===null){r.stopPropagation();return}const a=bp(s);if(a.length===0)return;r.preventDefault(),r.stopPropagation();const l=r.currentTarget,u=fF(a,dF(r,l,o));no.open({items:u,owner:e,key:n,target:l,...cF(r,l)})}}},dropdown(t,n="left",r,o){return{"aria-haspopup":"menu",onClick:s=>{s.stopPropagation();const a=s.currentTarget;no.toggle({items:t(),...o?{head:o()}:{},owner:e,key:r,target:a,toggles:!0,anchor:a.getBoundingClientRect(),align:n})}}},openUnder(t,n,r){no.open({items:n(),owner:e,key:r,target:t,toggles:!0,anchor:t.getBoundingClientRect(),align:"left"})}}),[e])}function Or(e){e&&window.open(e,"_blank","noopener,noreferrer")}function Ay(e){const t=e.target.closest("a");t&&t.target!=="_blank"&&e.preventDefault()}const $T=e=>({id:"open-out",label:uy()?"open in the browser":"open in a new tab",onClick:()=>Or(e)}),nn=e=>{var t;return void((t=navigator.clipboard)==null?void 0:t.writeText(e).catch(()=>{}))};function AT(e,t){const n=navigator.clipboard;if(n){if(typeof ClipboardItem>"u"||!n.write){e==="text/plain"&&t.then(r=>r.text()).then(nn,()=>{});return}n.write([new ClipboardItem({[e]:t})]).catch(()=>{})}}const CT=e=>AT("text/plain",fetch(e).then(t=>t.blob())),hF=e=>AT("image/png",pF(e));async function pF(e){const t=await(await fetch(e)).blob();if(t.type==="image/png")return t;const n=await createImageBitmap(t);try{const r=document.createElement("canvas");return r.width=n.width,r.height=n.height,r.getContext("2d").drawImage(n,0,0),await new Promise((o,s)=>r.toBlob(a=>a?o(a):s(new Error("could not encode image")),"image/png"))}finally{n.close()}}function rd(e){return Qh(e)}function ro(e){return(e==null?void 0:e.urls.host)??(typeof location=="object"?location.hostname:"127.0.0.1")}function Wo(e,t,n="reveal in Finder"){return!e||!rd(t)?[]:[{id:"reveal",label:n,onClick:e}]}function mF(e,t){return!e||!rd(t)?[]:[{id:"copy-file",label:"copy file",onClick:e}]}function xp(e,t,{sock:n,dispatch:r}){var u,h,f,p;if(!n)return;const o=t.local[e]??Va,s=((u=o.git)==null?void 0:u.files)??[],a=Fw((h=o.git)==null?void 0:h.head,s),l=s_(s);((f=o.filesFor)==null?void 0:f.index)===a&&o.filesFor.disk===l||(r({a:"files-asked",worktreeId:e,index:a,disk:l}),n.send({t:"list-files",worktreeId:e,tracked:((p=o.filesFor)==null?void 0:p.index)!==a}))}const gF=["diff","file","preview"],kF=(e,t)=>gF.filter(n=>!(n==="preview"&&!qa(e))&&!(n==="diff"&&t));let wF=0;const $o=()=>++wF;function Cn({dispatch:e},{focus:t=!0,...n}){e({a:"open-file",v:{...n,focus:t,seq:$o()}})}function yF({dispatch:e},t,n){e({a:"open-loose",v:{worktreeId:t,name:`PR #${n} comments`,text:"",binary:!1,tooLarge:!1,source:{kind:"pr-comments"},seq:$o()}})}const Mk=new Map;function IT(e,t,n=""){const{sock:r}=e;if(!r)return Promise.resolve("not connected to the daemon");const o=$o();return new Promise(s=>{Mk.set(o,a=>{a.ok?(Cn(e,{...t,view:Hi(t.path)}),s(null)):s(a.reason==="changed"?"a file is already there":a.message??"the file was not made")}),r.send({t:"write-file",...t,content:n,base:null,seq:o})})}function vF(e){const t=Mk.get(e.seq);return t?(Mk.delete(e.seq),t(e),!0):!1}function bF({dispatch:e},t){e({a:"tree-reveal",...t})}function Ws(e,t,{discard:n=!1,ref:r,since:o,showing:s,noDiff:a=!1,kept:l=!1,select:u},h){const{sock:f,dispatch:p}=h,g=kF(t,a).filter(E=>E!==s).map(E=>({id:`view:${E}`,label:`view ${E}`,onClick:()=>s?p({a:"editor-view",v:E}):Cn(h,{worktreeId:e.id,path:t,view:E,picked:!0,ref:r,since:o})})),y=`${e.dir}/${t}`,v=l?[]:Wo(()=>f==null?void 0:f.send({t:"reveal",worktreeId:e.id,path:t}),ro(f));return Ln([g,[{id:"copy-path",label:"copy path",onClick:()=>nn(y)}],v,u?[{id:"select",label:"select…",onClick:()=>u(t)}]:[],n?[{id:"discard",label:"discard changes…",danger:!0,onClick:()=>{window.confirm(RT([t]))&&(f==null||f.send({t:"discard-files",worktreeId:e.id,paths:[t]}))}}]:[]])}function RT(e){if(e.length===1)return`Discard uncommitted changes to ${e[0]}?`;const t=e.slice(0,12),n=e.length-t.length,r=[...t,...n>0?[`and ${n} more`]:[]].join(`
|
|
103
|
+
`);return`Discard uncommitted changes to ${e.length} files?
|
|
104
|
+
|
|
105
|
+
${r}`}const Co=(e,t,n)=>e.dispatch({a:"notice",id:t,text:n});function Ep(e,t,n){var o;const r=_R(((o=e.getState().local[t])==null?void 0:o.attachments)??[],n);return r===0&&Co(e,t,Mw(n)),r}const xF=1e3,EF=1e4,OT=new WeakMap;function SF(e,t){OT.set(e,t)}async function MT(e,t,n,r){var v,w;const{local:o,...s}=n;e.dispatch({a:"attach",id:t,items:[{...n,upload:"",uploading:!0}]});const a=()=>{var x;return(x=Object.entries(e.getState().local).find(([,N])=>N.attachments.some(E=>E.key===n.key)))==null?void 0:x[0]},l=OT.get(e);let u=-1;const h=x=>{const N=Math.min(99,Math.floor(x*100)),E=a();N===u||E===void 0||(u=N,e.dispatch({a:"upload-progress",id:E,key:n.key,progress:N}))},f=()=>(u=-1,l?iz(l,n.kind,r,h):Promise.resolve(null));let p=await f();const g=p===null;g&&Co(e,a()??t,`${n.name}: Toyon is not answering; it attaches once it is back`);for(let x=xF;p===null&&a()!==void 0;x=Math.min(x*2,EF))await new Promise(N=>setTimeout(N,x)),a()!==void 0&&(p=await f());const y=a();if(!(p===null||y===void 0))if(typeof p=="string")e.dispatch({a:"detach",id:y,key:n.key}),Co(e,y,`${n.name}: ${p}`);else{const x=s.kind==="file"?{...s,...p}:{...s,upload:p.upload,bytes:p.bytes};e.dispatch({a:"attached",id:y,key:n.key,item:x});const N=(w=e.getState().local[((v=ws(y))==null?void 0:v.source)??y])==null?void 0:w.notice;g&&(N!=null&&N.startsWith(`${n.name}: Toyon is not answering`))&&Co(e,y,"")}o&&URL.revokeObjectURL(o)}function Cy(e,t,n){if(!t||n.length===0)return;const r=Ep(e,t,"file");if(r!==0){for(const o of n.slice(0,r)){const s=o.name||"file";if(o.size>Ex){Co(e,t,`${s}: larger than ${Pw(Ex)}`);continue}const a={kind:"file",key:crypto.randomUUID(),upload:"",name:s,bytes:o.size,text:!1};MT(e,t,a,o)}n.length>r&&Co(e,t,`kept ${r} of ${n.length}: ${Mw("file")}`)}}function Iy(e,t,n,r={}){if(!t)return;const o=qD(r.source?n.replace(/\r?\n$/,""):n);if(o.length>DD)return r.source?Co(e,t,"that paste is too large; save it in the worktree and reference it with @path"):Cy(e,t,[new File([o],zD,{type:"text/plain"})]);Ep(e,t,"paste")!==0&&e.dispatch({a:"attach",id:t,items:[{kind:"paste",key:crypto.randomUUID(),text:o,...r,...Yw(o)}]})}function LT(e,t,n,r){e.dispatch({a:"set-draft",id:n,text:""}),t==null||t.send({t:"unqueue",worktreeId:n,index:r,edit:!0})}function Jf(e,t){var s;const n=e.getState(),r=Xt(n,n.activeId),o=Ga(r);if(t&&o&&t.worktreeId===(r==null?void 0:r.worktree.id)&&t.text.trim()){const a="source"in t?{source:t.source}:{name:t.name};(((s=n.local[o])==null?void 0:s.attachments)??[]).some(u=>{var y;if(u.kind!=="paste")return!1;if(!("source"in t))return u.name===t.name&&u.text===t.text;const{path:h,startLine:f,endLine:p,ref:g}=t.source;return((y=u.source)==null?void 0:y.path)===h&&u.source.startLine===f&&u.source.endLine===p&&u.source.ref===g})||Iy(e,o,t.text,a)}e.dispatch(t||ys(n)?{a:"focus-chat"}:MN(n))}function Ry(e,t){return t!==e.activeId?null:Ga(Xt(e,t))}const PT=(e,t)=>`@${e}${t?"/":""}`,Oy=e=>`${e.map(t=>PT(t.path,t.folder)).join(" ")} `;function DT(e,t,n){const r=t>0&&!/\s/.test(e[t-1]??"")?" ":"";return{text:`${e.slice(0,t)}${r}${n}${e.slice(t)}`,caret:t+r.length+n.length}}function zT(e,t,n){var o;const r=((o=e.getState().local[t])==null?void 0:o.draft)??"";e.dispatch({a:"set-draft",id:t,text:DT(r,r.length,n).text}),e.dispatch({a:"focus-chat"})}function My(e,t,n){const r=Ry(e.getState(),t);r&&zT(e,r,n)}function _F(e,t,n,r){My(e,t,Oy([{path:n,folder:r}]))}function NF(e,t,n){n.length!==0&&My(e,t,Oy(n.map(r=>({path:r,folder:!1}))))}function n1(e,t,n){My(e,t,n)}function TF(e,t){return Xt(e,t)?t:null}function jF(e,t){var r;const n=(r=Xt(e,t))==null?void 0:r.worktree;return n?[n.path]:[]}function r1(e,t){if(!e)return e;const n=t.find(r=>e.startsWith(`${r}/`));return n?e.slice(n.length+1):e}function $F(e,t,n){var g;e.dispatch({a:"set-picking",v:!1});const r=e.getState(),o=TF(r,t);if(!o)return;const{classes:s,route:a,element:l,...u}=n,h=jF(r,t),f={...u,file:r1(u.file,h),callFile:r1(u.callFile,h)};!(((g=r.local[o])==null?void 0:g.attachments)??[]).some(y=>y.kind==="pick"&&y.selector===f.selector)&&Ep(e,o,"pick")>0&&e.dispatch({a:"attach",id:o,items:[{kind:"pick",key:crypto.randomUUID(),...f}]}),e.dispatch({a:"focus-chat"})}function AF(e,t=[],n=[]){const r={path:"",name:"",kind:"folder",children:[],ignored:!1},o=new Map([["",r]]),s=u=>{const h=o.get(u);if(h)return h;const f=u.lastIndexOf("/"),p={path:u,name:u.slice(f+1),kind:"folder",children:[],ignored:!1};return s(f===-1?"":u.slice(0,f)).children.push(p),o.set(u,p),p},a=(u,h,f=!1)=>{const p=u.lastIndexOf("/");s(p===-1?"":u.slice(0,p)).children.push({path:u,name:u.slice(p+1),kind:h,children:[],ignored:f})};for(const u of e)a(u,"file");for(const u of t)a(u,"submodule");for(const u of n)u.endsWith("/")?a(u.slice(0,-1),"ignored",!0):a(u,"file",!0);const l=u=>{const h=f=>f.kind==="file"?1:0;u.children.sort((f,p)=>h(f)-h(p)||_N(f.name,p.name));for(const f of u.children)f.kind==="folder"&&l(f)};return l(r),r.children}function CF(e,t){const n=[],r=(o,s)=>{for(const a of o){const l=a.kind==="folder"&&t(a.path);n.push({path:a.path,name:a.name,depth:s,kind:a.kind,open:l,ignored:a.ignored}),l&&r(a.children,s+1)}};return r(e,0),n}const FT=e=>{const t=e.lastIndexOf("/");return t===-1?"":e.slice(0,t)};function IF(e,t){const n=t.trim().replace(/^(\.\/|\/)+/,"");return n===""?{error:"name the file"}:n.endsWith("/")?{error:"name a file: its folders are made with it"}:n.split("/").some(o=>o===""||o==="."||o==="..")?{error:"a plain path, inside the worktree"}:{path:e?`${e}/${n}`:n}}function RF(e){const t=new Map,n=new Set;for(const r of e){const o=r.path.endsWith("/")?r.path.slice(0,-1):r.path;o===r.path?t.set(o,r):n.add(o);for(const s of gh(o))n.add(s)}return{files:t,folders:n}}function OF(e){const t=e.findLast(n=>n.kind==="handoff"&&n.state!=="declined");return(t==null?void 0:t.kind)==="handoff"?t:null}function MF(e,t,n){const r=e.findLast(o=>o.kind==="handoff"&&o.state!=="declined"&&(o.plan??n)===t);return(r==null?void 0:r.kind)==="handoff"?r:null}function LF(e){return e.pieces.flatMap(t=>{const n=e.outcomes.find(o=>o.pieceId===t.id),r=(n==null?void 0:n.fate)==="worktree"?n.worktreeId:void 0;return!r&&(Qs(e,t)!=="worktree"||t.after)?[]:[{pieceId:t.id,title:(n==null?void 0:n.title)??t.title,...r?{worktreeId:r}:{},...n!=null&&n.repoName?{repoName:n.repoName}:{}}]})}function PF(e){return!!e.plan&&!e.companion}function DF(e,t){const n=e.findIndex(o=>o.kind==="tool"&&o.id===t);if(n<0)return;const r=e.slice(n+1).find(o=>o.kind==="handoff");return(r==null?void 0:r.kind)==="handoff"?r.plan:void 0}function Qs(e,t){return e.fates[t.id]??t.fate}function od(e,t){var r;const n=t.after;return n?"piece"in n?{kind:"piece",title:((r=e.pieces.find(o=>o.id===n.piece))==null?void 0:r.title)??"another piece"}:{kind:"branch",...n}:null}function Ly(e){const t={worktrees:0,queued:0,sent:0,here:0,skipped:0};for(const n of e.pieces){const r=Qs(e,n);r==="worktree"?n.after?t.queued++:t.worktrees++:r==="send"?t.sent++:r==="here"?t.here++:t.skipped++}return t}const BT=(e,t,n=`${t}s`)=>`${e} ${e===1?t:n}`,zF=e=>e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} and ${e.at(-1)}`;function FF(e,t){const n=Ly(e),r=[];if(n.here&&r.push("this plan here"),n.worktrees&&r.push(`${BT(n.worktrees,"worktree")} now`),n.queued){const s=e.pieces.filter(u=>Qs(e,u)==="worktree"&&u.after),a=s.every(u=>u.after&&"id"in u.after&&u.after.id===t),l=s.length===1?od(e,s[0]):null;r.push(a?`${n.queued} when this branch lands`:l?`1 when ${l.kind==="branch"?l.branch:l.title} lands`:`${n.queued} queued`)}n.sent&&r.push(`${n.sent} sent on`);const o=n.skipped?`; ${n.skipped} skipped`:"";return r.length===0?`Starts nothing${o}.`:`Starts ${zF(r)}${o}.`}function Lk(e){var s;const t=e.pieces.length===1?e.pieces[0]:void 0;if(t)return t.fate==="send"?`Send ${t.title} to ${((s=t.to)==null?void 0:s.title)??"the worktree"}?`:t.fate==="here"?`Keep ${t.title} here?`:t.project?`Continue in ${t.project.name}?`:t.after?`Queue a worktree for ${t.title}?`:`Start a worktree for ${t.title}?`;const n=Ly(e),o=[n.worktrees?`start ${BT(n.worktrees,"worktree")}`:"",n.queued?`queue ${n.queued}`:"",n.sent?`send ${n.sent}`:"",n.here?`do ${n.here} here`:"",n.skipped?`skip ${n.skipped}`:""].filter(Boolean).join(", ");return`${o.charAt(0).toUpperCase()}${o.slice(1)}?`}function UT(e,t){var l;const n=od(e,t),r=n?` once ${n.kind==="branch"?n.branch:n.title} lands`:"",o=t.project?{fate:"worktree",label:`start a worktree in ${t.project.name}`,description:`a copy of that project, with this text as its plan${r}`}:{fate:"worktree",label:n?"queue a worktree":"start a worktree",description:`a copy of this project, with this text as its plan${r}`},s={fate:"here",label:"do it here",description:"this worktree's agent, after its turn"},a={fate:null,label:"not now"};return t.fate==="send"?[{fate:"send",label:`send to ${((l=t.to)==null?void 0:l.title)??"the worktree"}`,description:"that worktree's agent, as a message"},a]:t.fate==="here"?[s,o,a]:t.project?[o,a]:[o,s,a]}const BF=[{fate:"worktree",label:"go"},{fate:null,label:"not now"}];function UF(e){const t=e.findIndex(n=>n.fate===null);return t<0?null:t}function HF(e,t){return e.fate===null?"what to change, sent with your not now":t?e.fate==="here"?"a note for this worktree's agent, sent with it":"a note for the agent there, sent with it":"a note for every agent this hands to, sent with go"}function WF(e,t){var n;return t==="worktree"?e.project?`new worktree in ${e.project.name}`:"new worktree":t==="here"?"here":t==="skip"?"skip":`sent to ${((n=e.to)==null?void 0:n.title)??"the worktree"}`}function KF(e,t,n){var r;if(t==="worktree"){const o=e.project?` in ${e.project.name}`:"",s=n?`, once ${n.kind==="branch"?n.branch:n.title} lands`:"";return`Starts as a new worktree${o}${s}, with this text as its plan.`}return t==="here"?"This worktree's agent does it.":t==="send"?`Goes to ${((r=e.to)==null?void 0:r.title)??"that worktree"}'s agent as a message.`:"Skipped: nothing happens to it."}function qF(e){var s;const t=e.answered;if(!t)return null;if(!t.go)return t.note?`not now
|
|
106
|
+
${t.note}`:"not now";const n=e.pieces.length===1?e.pieces[0]:void 0,o=(n?(s=UT(e,n).find(a=>a.fate===Qs(e,n)))==null?void 0:s.label:void 0)??"go";return t.note?`${o}
|
|
107
|
+
${t.note}`:o}function o1(e,t,n,r){const o=r==null?void 0:r.trim();return{t:"handoff-answer",worktreeId:t,id:e.id,go:n,...o?{note:o}:{}}}function HT(e,t,n,r){return{t:"handoff-fate",worktreeId:t,id:e.id,pieceId:n,fate:r}}function ZF(e,t=[]){if(e.fate==="send")return["send","skip"];const n=e.after;return!!n&&"piece"in n&&t.findIndex(o=>o.id===n.piece)>t.findIndex(o=>o.id===e.id)?["here","skip"]:e.project?["worktree","skip"]:["here","worktree","skip"]}const Ou=e=>e.state==="held"||e.state==="proposed";function WT(e){const t=n=>n.fate==="here"?0:n.fate==="worktree"?n.after?2:1:3;return[...e.pieces].sort((n,r)=>t(n)-t(r))}function GF(e,t){const n=od(e,t),r=n?{word:`after ${n.title}`}:null;if(Ou(e)){const s=Qs(e,t);return s==="worktree"?{word:t.after?"queued":"worktree"}:s==="send"?{word:"sent"}:s==="here"&&r?r:{word:s}}const o=Mu(e,t);return o.kind==="worktree"||o.kind==="sent"&&o.worktreeId?{worktreeId:o.worktreeId,...o.title?{title:o.title}:{}}:o.kind==="here"&&r?r:{word:o.kind==="sent"?"sent":o.kind}}function VF(e,t,n){if(n||Ou(e))return!0;const r=Mu(e,t);return r.kind==="here"?!!t.after:r.kind!=="skipped"&&r.kind!=="starting"}function Mu(e,t){if(e.state==="going")return{kind:"starting"};const n=e.outcomes.find(a=>a.pieceId===t.id),r=e.later.findLast(a=>a.pieceId===t.id);if(!n)return{kind:"skipped"};if(n.error)return{kind:"failed",error:n.error};if(n.fate==="here")return{kind:"here"};if(n.fate==="skip")return{kind:"skipped"};const o=n.repoName?{repoName:n.repoName}:{};if(n.fate==="send")return{kind:"sent",...n.worktreeId?{worktreeId:n.worktreeId}:{},...n.title?{title:n.title}:{},...o};const s=n.worktreeId?n:r!=null&&r.worktreeId?r:null;return s!=null&&s.worktreeId?{kind:"worktree",worktreeId:s.worktreeId,...s.title?{title:s.title}:{},..."repoName"in s&&s.repoName?{repoName:s.repoName}:{}}:r!=null&&r.reason?{kind:"dropped",reason:r.reason}:{kind:"queued",after:od(e,t),...n.after?{said:n.after}:{}}}function YF(e,t){var o;if(t)return"plan";const n=WT(e),r=Ou(e)?void 0:n.find(s=>Qs(e,s)==="here");return(r==null?void 0:r.id)??((o=n[0])==null?void 0:o.id)??"plan"}function XF(e){if(e.state!=="done")return[];const t=new Map;for(const n of e.pieces){const r=n.after;if(!r||Qs(e,n)!=="here")continue;if("id"in r){t.set(r.id,r.title);continue}const o=e.pieces.find(a=>a.id===r.piece),s=o?Mu(e,o):null;((s==null?void 0:s.kind)==="worktree"||(s==null?void 0:s.kind)==="sent"&&s.worktreeId)&&t.set(s.worktreeId,s.title??(o==null?void 0:o.title)??"the worktree")}return[...t].map(([n,r])=>({id:n,title:r}))}function Py(e){const t=e.findLast(n=>n.kind==="ask"&&!n.outcome||n.kind==="handoff"&&n.state==="proposed");return(t==null?void 0:t.kind)==="ask"||(t==null?void 0:t.kind)==="handoff"?t:null}function QF(e){const t=e?Py(e.chat):null;return(t==null?void 0:t.kind)!=="ask"||t.ask.kind!=="question"||(e==null?void 0:e.cardParked)===t.id?null:Hc(t.id)}function JF(e){return e.kind==="ask"?_z(e):Lk(e)}const KT=new Set(MD),e5=/^image\.[a-z0-9]+$/i,t5=e=>e5.test(e.name),n5=(e,t)=>e===t||e.name===t.name&&e.size===t.size&&e.type===t.type&&e.lastModified===t.lastModified;function r5(e){if(!e)return[];const t=[];for(const s of Array.from(e.items??[])){if(s.kind!=="file"||!s.type.startsWith("image/"))continue;const a=s.getAsFile();a&&t.push(a)}if(t.length===0)for(const s of Array.from(e.files??[]))s.type.startsWith("image/")&&t.push(s);const n=[];for(const s of t)n.some(a=>n5(a,s))||n.push(s);const r=n.filter(s=>!t5(s));if(r.length>0)return r;const o=n.find(s=>KT.has(s.type))??n[0];return o?[o]:[]}function o5(e){if(!e)return[];const t=[];for(const n of Array.from(e.items??[])){if(n.kind!=="file"||n.type.startsWith("image/"))continue;const r=n.getAsFile();r&&t.push(r)}if(t.length===0)for(const n of Array.from(e.files??[]))n.type.startsWith("image/")||t.push(n);return t}async function s5(e,t){if(e.size>t)return null;try{return new TextDecoder("utf-8",{fatal:!0}).decode(await e.arrayBuffer())}catch{return null}}async function i5(e){try{return await createImageBitmap(e)}catch{throw new Error(`${e.name||"image"}: not a readable image`)}}function s1(e,t,n){const r=document.createElement("canvas");return r.width=Math.max(1,Math.round(e.width*t)),r.height=Math.max(1,Math.round(e.height*t)),r.getContext("2d").drawImage(e,0,0,r.width,r.height),new Promise((o,s)=>r.toBlob(a=>a?o(a):s(new Error("could not encode image")),n,.9))}async function a5(e){const t=await i5(e);try{const n=Math.max(t.width,t.height);let r=e,o=e.type,s=t.width,a=t.height;if(!KT.has(o)||n>xx||e.size>_g){const l=o==="image/jpeg"?"image/jpeg":"image/png";let u=Math.min(1,xx/n);for(r=await s1(t,u,l);r.size>_g&&u>.1;)u*=.7,r=await s1(t,u,l);if(r.size>_g)throw new Error(`${e.name||"image"}: too large even after downscaling`);o=l,s=Math.max(1,Math.round(t.width*u)),a=Math.max(1,Math.round(t.height*u))}return{blob:r,name:e.name||`pasted.${o==="image/jpeg"?"jpg":"png"}`,mimeType:o,width:s,height:a}}finally{t.close()}}const bu={el:null},c5=80,l5=2e3;let Io=null,Pk;const qT=(e,t)=>{clearTimeout(Pk),Pk=setTimeout(()=>zy(e),t)};function Dy(e,t){Io??(Io={refused:!1}),e.dispatch({a:"drag-files",v:Io.refused?null:t}),qT(e,l5)}function ZT(e){Io&&qT(e,c5)}const u5=()=>(Io==null?void 0:Io.refused)??!1;function zy(e){Io&&(clearTimeout(Pk),Io=null,e.dispatch({a:"drag-files",v:null}))}function d5(e){Io&&(Io.refused=!0,e.dispatch({a:"drag-files",v:null}))}let f5=0;function h5(e){const{blob:t,...n}=e;return{kind:"image",key:`img${++f5}`,...n,upload:"",bytes:t.size,local:URL.createObjectURL(t)}}async function Sp(e,t,n){var a;if(!t||n.length===0)return;const r=Ep(e,t,"image");if(r===0)return;const o=await Promise.allSettled(n.slice(0,r).map(a5));for(const l of o)l.status==="fulfilled"&&MT(e,t,h5(l.value),l.value.blob);const s=o.find(l=>l.status==="rejected");s?Co(e,t,String(((a=s.reason)==null?void 0:a.message)??s.reason)):n.length>r&&Co(e,t,`kept ${r} of ${n.length}: ${Mw("image")}`)}function p5(e,t,n){n.kind==="image"?Sp(e,t,[new File([n.blob],"image.png",{type:n.blob.type})]):Iy(e,t,n.text),wT()}function bh(e,t,n){const r=o=>o.type.startsWith("image/");Sp(e,t,n.filter(r)),Cy(e,t,n.filter(o=>!r(o)))}function GT(e,t){const n=document.createElement("input");n.type="file",n.multiple=!0,n.onchange=()=>bh(e,t,Array.from(n.files??[])),n.click()}function Xa(e){const t=e.getState();if(t.newProject)return el;const n=Ho(t)??wy(t);if(n)return n.id;const r=Xt(t,t.activeId);return QF(r?t.local[r.worktree.id]:void 0)??Ga(r)}function VT(e,t,n=Xa(e)){bh(e,n,t.filter(o=>!o.folder).map(o=>o.file));const r=t.find(o=>o.folder);n&&r&&Co(e,n,`${r.file.name}: a folder cannot be attached; drop its files`)}const Dk=Promise.resolve(null);function m5(e){var n,r,o;if(!e)return[];const t=[];for(const s of Array.from(e.items)){if(s.kind!=="file")continue;const a=s.getAsFile();if(!a)continue;const l=((n=s.getAsFileSystemHandle)==null?void 0:n.call(s).then(u=>(u==null?void 0:u.kind)==="file"?u:null,()=>null))??Dk;t.push({file:a,handle:l,folder:((o=(r=s.webkitGetAsEntry)==null?void 0:r.call(s))==null?void 0:o.isDirectory)===!0})}if(t.length===0)for(const s of Array.from(e.files))t.push({file:s,handle:Dk});return t}const g5=e=>e.map(t=>({file:t,handle:Dk}));async function YT(e){const t=hh*4;if(e.size>t)return{text:"",tooLarge:!0};const n=await s5(e,t);return n===null?null:n.length>hh?{text:"",tooLarge:!0}:{text:n,tooLarge:!1}}async function k5(e,t){const n=Xa(e),r=e.getState().activeId,o=f=>n&&Co(e,n,f),s=t.filter(f=>f.file.type.startsWith("image/")).map(f=>f.file);s.length&&Sp(e,n,s);const a=t.filter(f=>!f.file.type.startsWith("image/")),l=a[0];if(!l||!r)return;const u=await YT(l.file);if(!u)return void o(`${l.file.name}: not a text file`);const h=await l.handle;e.dispatch({a:"open-loose",v:{worktreeId:r,name:l.file.name,...u,binary:!1,source:h?{kind:"handle",handle:h}:{kind:"bytes"},seq:$o()}}),a.length>1&&o(`opened ${l.file.name}; one file opens at a time`)}async function w5(e,t,n,r){const o=Ry(e.getState(),n.worktreeId)??Xa(e),s=l=>o&&Co(e,o,l),a={sock:t,dispatch:l=>e.dispatch(l)};for(const{file:l}of r){const u=await YT(l);if(!u){s(`${l.name}: not a text file`);continue}if(u.tooLarge){s(`${l.name}: too large to add here`);continue}const h=n.dir?`${n.dir}/${l.name}`:l.name,f=await IT(a,{worktreeId:n.worktreeId,path:h},u.text);f&&s(`${l.name}: ${f}`)}}function y5(e){const t=Xa(e);t&&Co(e,t,"drop a file on the chat to attach it, on the preview to open it, or on a folder to add it")}function XT(e,t,n,r){const o=(Io==null?void 0:Io.refused)??!1;zy(e),!(o||r.length===0)&&(n?n.at==="chat"||n.at==="centre"&&e.getState().newProject?VT(e,r):n.at==="centre"?k5(e,r):n.at==="rail"?v5(e,n,r):w5(e,t,n,r):y5(e))}function v5(e,t,n){const r=Xt(e.getState(),t.worktreeId);r&&(e.dispatch($r(r.worktree)?{a:"open-draft"}:{a:"activate",id:r.worktree.id}),VT(e,n,Ga(r)))}const zk=e=>!!e&&Array.from(e.types).includes("Files");function i1(e,t){var l,u;const n=t instanceof Element?t:t instanceof Node?t.parentElement:null;if(!n)return null;if((l=bu.el)!=null&&l.contains(n))return Xa(e)?{at:"chat"}:null;const r=(u=n.closest(".rail [data-wt]"))==null?void 0:u.dataset.wt;if(r)return Xt(e.getState(),r)?{at:"rail",worktreeId:r}:null;const o=n.closest(".tree"),s=o==null?void 0:o.dataset.worktree;if(o&&s){const h=n.closest("[data-path]"),f=h==null?void 0:h.dataset.kind;if(f==="submodule")return null;const p=(h==null?void 0:h.dataset.path)??"";return{at:"tree",worktreeId:s,dir:f==="file"?FT(p):p}}if(!n.closest(".center-root")||n.closest('[data-pane="terminal"], [data-pane="design"]'))return null;const a=e.getState();return a.activeId||a.newProject?{at:"centre"}:null}function b5(){const e=Pn(),t=Qe();S.useEffect(()=>{const n=a=>{a.defaultPrevented||!zk(a.dataTransfer)||(a.preventDefault(),Dy(e,i1(e,a.target)),a.dataTransfer&&(a.dataTransfer.dropEffect=e.getState().dragFiles?"copy":"none"))},r=a=>{a.defaultPrevented||!zk(a.dataTransfer)||(a.preventDefault(),XT(e,t,i1(e,a.target),m5(a.dataTransfer)))},o=()=>ZT(e),s=a=>{a.key==="Escape"&&d5(e)};return window.addEventListener("dragover",n),window.addEventListener("drop",r),window.addEventListener("dragleave",o),window.addEventListener("keydown",s,!0),()=>{window.removeEventListener("dragover",n),window.removeEventListener("drop",r),window.removeEventListener("dragleave",o),window.removeEventListener("keydown",s,!0)}},[e,t])}function QT(e,t,n){const r=Pn(),o=S.useRef(!1);return{onPaste:u=>{Y6();const h=r5(u.clipboardData);if(h.length>0)return u.preventDefault(),void Sp(r,e,h);const f=o5(u.clipboardData);if(f.length>0)return u.preventDefault(),Cy(r,e,f);if(o.current)return;const p=u.clipboardData.getData("text/plain");if(p.trim()&&(n!=null&&n(p))){u.preventDefault();return}const g=p.trim()?J6(u.clipboardData,t):null;!(g&&p.includes(`
|
|
108
|
+
`))&&!G_(p)||(u.preventDefault(),Iy(r,e,p,g?{source:g}:{}))},onPasteKey:u=>{o.current=(u.metaKey||u.ctrlKey)&&u.shiftKey&&u.key.toLowerCase()==="v"},onPasteKeyUp:()=>{o.current=!1}}}function x5(e,t,n){const r=S.useRef(n);r.current=n,S.useEffect(()=>{const o=e.current;if(!o)return;const s=a=>{const{inputType:l,data:u,isComposing:h}=a;a.target!==t.current||h||!u||l!=="insertText"&&l!=="insertFromPaste"||r.current(u)&&a.preventDefault()};return o.addEventListener("beforeinput",s),()=>o.removeEventListener("beforeinput",s)},[e,t])}const E5=640,S5=1e3,JT=`(max-width: ${E5}px), ((hover: none) and (max-width: ${S5}px))`,ej="(hover: none)",Fy=()=>{var e;return(e=window.matchMedia)!=null&&e.call(window,JT).matches?"phone":"desk"},_5=()=>{var e;return((e=window.matchMedia)==null?void 0:e.call(window,ej).matches)??!1},tj=()=>window.top!==window;function N5(e){const t=(o,s)=>{var u;const a=(u=window.matchMedia)==null?void 0:u.call(window,o);if(!a)return()=>{};const l=h=>s(h.matches);return a.addEventListener("change",l),()=>a.removeEventListener("change",l)},n=t(JT,o=>e.dispatch({a:"frame",v:o?"phone":"desk"})),r=t(ej,o=>e.dispatch({a:"touch",v:o}));return()=>{n(),r()}}const nj=(e,t)=>{const n=e.indexOf("#"),[r,o]=n===-1?[e,""]:[e.slice(0,n),e.slice(n)];return`${r}${r.includes("?")?"&":"?"}${XR}=${encodeURIComponent(t)}${o}`},Fk=(e,t)=>!e.serving&&t!==null,T5=3e3;function rj(e,t,n){const[r,o]=S.useState(()=>new Map),s=S.useRef(new Set),a=S.useRef(t);a.current=t;const l=S.useRef(new Map),u=S.useCallback((h,f)=>{s.current.has(h)||(s.current.add(h),lN(e.sock.urls).then(p=>{if(s.current.delete(h),!!a.current.some(y=>y.id===h&&y.url===f)){if(!p){l.current.set(h,setTimeout(()=>{l.current.delete(h),a.current.some(y=>y.id===h&&y.url===f)&&u(h,f)},T5));return}o(y=>new Map(y).set(h,{url:f,src:nj(f,p.code)}))}}))},[e]);return S.useEffect(()=>{const h=l.current;return()=>{for(const f of h.values())clearTimeout(f);h.clear()}},[]),S.useEffect(()=>{var f;if(!n)return;for(const p of t)((f=r.get(p.id))==null?void 0:f.url)!==p.url&&u(p.id,p.url);const h=new Set(t.map(p=>p.id));[...r.keys()].some(p=>!h.has(p))&&o(p=>new Map([...p].filter(([g])=>h.has(g))))},[n,t,r,u]),{urlOf:h=>{var f,p;return n?((f=r.get(h))==null?void 0:f.src)??null:((p=t.find(g=>g.id===h))==null?void 0:p.url)??null},renew:h=>{const f=t.find(p=>p.id===h);!f||!n||(o(p=>{const g=new Map(p);return g.delete(h),g}),u(h,f.url))}}}function j5(e,t,n){var o;const r=S.useRef([]);return t===null?r.current.length>0&&(r.current=[]):((o=r.current[0])==null?void 0:o.url)!==t&&(r.current=[{id:"one",url:t}]),rj(e,r.current,n).urlOf("one")}function $5(e,t,n){if(!n){Or(t);return}const r=window.open("","_blank");r&&(r.opener=null),lN(e.sock.urls).then(o=>{const s=o?nj(t,o.code):t;r?r.location.href=s:Or(s)})}function We(...e){return e.filter(Boolean).join(" ")}const A5={branch:"M4.5 5.1v5.8 M11.5 6.6c0 2.6-7 1.6-7 4.3 M4.5 1.9a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 1 0 0-3.2z M4.5 10.9a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 1 0 0-3.2z M11.5 3.4a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 1 0 0-3.2z",chat:"M2.5 3.5a1.5 1.5 0 0 1 1.5-1.5h8a1.5 1.5 0 0 1 1.5 1.5v6a1.5 1.5 0 0 1-1.5 1.5H7l-3.2 2.6V11H4a1.5 1.5 0 0 1-1.5-1.5z",settings:"M12.38 6.99 14.05 7.26 14.05 8.74 12.38 9.01 11.82 10.38 12.81 11.76 11.76 12.81 10.38 11.82 9.01 12.38 8.74 14.05 7.26 14.05 6.99 12.38 5.62 11.82 4.24 12.81 3.19 11.76 4.18 10.38 3.62 9.01 1.95 8.74 1.95 7.26 3.62 6.99 4.18 5.62 3.19 4.24 4.24 3.19 5.62 4.18 6.99 3.62 7.26 1.95 8.74 1.95 9.01 3.62 10.38 4.18 11.76 3.19 12.81 4.24 11.82 5.62z M8 6.4a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 1 0 0-3.2z",zen:"M2 6V3a1 1 0 0 1 1-1h3 M10 2h3a1 1 0 0 1 1 1v3 M14 10v3a1 1 0 0 1-1 1h-3 M6 14H3a1 1 0 0 1-1-1v-3",back:"M9.5 3.5 5 8l4.5 4.5",forward:"M6.5 3.5 11 8l-4.5 4.5",reload:"M13.2 3.1v3.5H9.7 M12.1 9.8a4.8 4.8 0 1 1-1-4.9l2.1 1.7",pick:"M8 4.2a3.8 3.8 0 1 0 0 7.6 3.8 3.8 0 1 0 0-7.6z M8 1.5v2.7 M8 11.8v2.7 M1.5 8h2.7 M11.8 8h2.7",inspect:"M6.5 13.5h-3a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v3 M8.2 8.2l5.3 2-2.3.9-.9 2.3z",terminal:"M2 3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1z M4.8 5.6 7.4 8l-2.6 2.4 M8.6 10.6h2.8",close:"M4.2 4.2 11.8 11.8 M11.8 4.2 4.2 11.8",edit:"M10.6 2.6 13.4 5.4 5.8 13H3v-2.8z M9.2 4l2.8 2.8 M3 10.2l2.8 2.8",check:"M3.4 8.4 6.4 11.4 12.6 4.6",tickbox:"M4.5 2.5h7a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2z","tickbox-on":"M4.5 2.5h7a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2z M5.3 8.2 7.2 10.1 10.7 6",split:"M2.5 2.5h11v11h-11z M2.5 8h11",columns:"M2.5 2.5h11v11h-11z M8 2.5v11",full:"M4.5 6.2 8 2.7l3.5 3.5 M4.5 9.8 8 13.3l3.5-3.5",more:"M3.55 8a.45 .45 0 1 0 .9 0a.45 .45 0 1 0-.9 0z M7.55 8a.45 .45 0 1 0 .9 0a.45 .45 0 1 0-.9 0z M11.55 8a.45 .45 0 1 0 .9 0a.45 .45 0 1 0-.9 0z",caret:"M4.5 6.5 8 10l3.5-3.5","caret-up":"M4.5 9.5 8 6l3.5 3.5",stop:"M4.5 4.5h7v7h-7z",send:"M8 13V3.2 M4 7.2 8 3.2l4 4",external:"M9 3h4v4 M13 3 8 8 M11.5 9.5V13H3V4.5h3.5",plus:"M8 3.5v9 M3.5 8h9",download:"M8 2.5v7.4 M4.9 6.8 8 9.9l3.1-3.1 M3 13h10",copy:"M5.5 5.5h8v8h-8z M10.5 5.5v-3h-8v8h3",pull:"M8 4.3v7.4 M4.9 8.5 8 11.7l3.1-3.2",text:"M3.5 3.5h9 M3.5 6.5h9 M3.5 9.5h9 M3.5 12.5h5",wrap:"M3.5 3.5h9 M3.5 7.5h7a2 2 0 0 1 0 4H8 M9.5 10 8 11.5l1.5 1.5 M3.5 11.5h2.5",file:"M4.5 2.5h4.5l2.5 2.5v8.5h-7z M9 2.5V5h2.5",diff:"M8 3.8v5 M5.5 6.3h5 M5.5 12.2h5",folder:"M2.2 3.9a1 1 0 0 1 1-1h2.9l1.5 1.7h5.2a1 1 0 0 1 1 1v5.9a1 1 0 0 1-1 1H3.2a1 1 0 0 1-1-1z",book:"M8 4.6c-1.2-1-2.7-1.4-4.4-1.3v7.6c1.7-.1 3.2.3 4.4 1.3 1.2-1 2.7-1.4 4.4-1.3V3.3c-1.7-.1-3.2.3-4.4 1.3z M8 4.6v8.6",eye:"M2 8c1.6-2.9 3.6-4.3 6-4.3s4.4 1.4 6 4.3c-1.6 2.9-3.6 4.3-6 4.3S3.6 10.9 2 8z M8 6.1a1.9 1.9 0 1 0 0 3.8 1.9 1.9 0 1 0 0-3.8z",trash:"M3.6 4.6h8.8 M6.4 4.6V3.2a.7.7 0 0 1 .7-.7h1.8a.7.7 0 0 1 .7.7v1.4 M5 4.6l.55 8.1a.9.9 0 0 0 .9.84h3.1a.9.9 0 0 0 .9-.84L11 4.6",move:"M3.4 8h9.2 M9.5 4.9 12.6 8l-3.1 3.1",search:"M7.2 2.6a4.6 4.6 0 1 0 0 9.2 4.6 4.6 0 1 0 0-9.2z M10.5 10.5 13.5 13.5",run:"M3.4 4.2 7.6 8l-4.2 3.8 M9 11.8h4",slash:"M7.8 3.2 4 12.2 M9 11.8h3.4",bulb:"M4.8 8.8a4 4 0 1 1 6.4 0L9.5 10.6v1.4H6.5v-1.4z M6.7 13.8h2.6",spawn:"M2.3 5.8a3 3 0 1 0 6 0a3 3 0 1 0-6 0z M9.4 11.4a1.9 1.9 0 1 0 3.8 0a1.9 1.9 0 1 0-3.8 0z",handoff:"M1.7 4.5a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0-3.2 0z M4.9 4.5h4.6 M9.4 4.5a1.6 1.6 0 1 0 3.2 0a1.6 1.6 0 1 0-3.2 0z M4.9 4.5c2.6 0 1.6 7 4.3 7h4 M12.1 9.7l1.8 1.8-1.8 1.8",globe:"M8 2.2a5.8 5.8 0 1 0 0 11.6 5.8 5.8 0 1 0 0-11.6z M2.2 8h11.6 M8 2.2c-3 3.4-3 8.2 0 11.6 3-3.4 3-8.2 0-11.6z",worktrees:"M3.15 4a.65 .65 0 1 0 1.3 0a.65 .65 0 1 0-1.3 0z M7.4 4h5.4 M3.15 8a.65 .65 0 1 0 1.3 0a.65 .65 0 1 0-1.3 0z M7.4 8h5.4 M3.15 12a.65 .65 0 1 0 1.3 0a.65 .65 0 1 0-1.3 0z M7.4 12h5.4",swap:"M3 6.2h9.2 M9.7 3.7 12.2 6.2 9.7 8.7 M13 10.2H3.8 M6.3 7.7 3.8 10.2l2.5 2.5",lock:"M4.4 6.8h7.2v6.1H4.4z M6.2 6.8V5a1.8 1.8 0 0 1 3.6 0v1.8",phone:"M5.4 2.2h5.2a1.2 1.2 0 0 1 1.2 1.2v9.2a1.2 1.2 0 0 1-1.2 1.2H5.4a1.2 1.2 0 0 1-1.2-1.2V3.4a1.2 1.2 0 0 1 1.2-1.2z M7.1 11.6h1.8",laptop:"M3.4 3.4h9.2a1 1 0 0 1 1 1v6.2H2.4V4.4a1 1 0 0 1 1-1z M1.5 12.6h13",devices:"M8.5 10.8H2.9a1 1 0 0 1-1-1V3.8a1 1 0 0 1 1-1h8.8a1 1 0 0 1 1 1v1.3 M4.3 13.2h4.2 M10.3 6.5h3a.9.9 0 0 1 .9.9v5a.9.9 0 0 1-.9.9h-3a.9.9 0 0 1-.9-.9v-5a.9.9 0 0 1 .9-.9z M11.3 11.7h1",pr:"M4.5 5.1v5.8 M4.5 1.9a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 1 0 0-3.2z M4.5 10.9a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 1 0 0-3.2z M11.5 10.9a1.6 1.6 0 1 0 0 3.2 1.6 1.6 0 1 0 0-3.2z M11.5 10.9V6.6a2 2 0 0 0-2-2H8 M9.6 2.9 7.9 4.6l1.7 1.7",clock:"M8 2.2a5.8 5.8 0 1 0 0 11.6 5.8 5.8 0 1 0 0-11.6z M8 4.8V8l2.2 1.4",archive:"M2.4 3.2h11.2v2.8H2.4z M3.4 6v6.1a.9.9 0 0 0 .9.9h7.4a.9.9 0 0 0 .9-.9V6 M6.6 8.6h2.8",attach:"M13.7 7.4 8.2 12.9a3.6 3.6 0 0 1-5.1-5.1l5.5-5.5a2.4 2.4 0 0 1 3.4 3.4l-5.5 5.5a1.2 1.2 0 0 1-1.7-1.7l5.1-5.1",cube:"M8 2.4 13.2 5.2v5.6L8 13.6 2.8 10.8V5.2z M2.8 5.2 8 8l5.2-2.8 M8 8v5.6",dot:"M8 4.6a3.4 3.4 0 1 0 0 6.8 3.4 3.4 0 1 0 0-6.8z"};function Tt({name:e,className:t}){return d.jsx("svg",{className:t,width:"16",height:"16",viewBox:"0 0 16 16","aria-hidden":"true",fill:"none",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round",children:d.jsx("path",{d:A5[e]})})}function xh({className:e}){return d.jsxs("span",{className:We("spinner",e),"aria-hidden":"true",children:[d.jsx("span",{}),d.jsx("span",{}),d.jsx("span",{}),d.jsx("span",{})]})}const C5='button, a[href], input, textarea, select, summary, label, [role="button"], [role="menuitem"]';function a1(e){var n;const t=e;return((n=t==null?void 0:t.closest)==null?void 0:n.call(t,C5))??t??null}function I5(e,t){var r,o,s;if(e.box.contains(t)||(r=e.trigger)!=null&&r.contains(t))return!0;const n=(s=(o=t.closest)==null?void 0:o.call(t,"[aria-controls]"))==null?void 0:s.getAttribute("aria-controls");return!!n&&n===e.box.id}function R5(e,t){if(!t)return null;for(let n=e.length-1;n>=0;n--){const r=e[n];if(r!=null&&r.box.contains(t))return r}return null}function O5(e,t){const n=new Set;for(const r of e)if(I5(r,t))for(let o=r;o;o=o.parent)n.add(o);return e.filter(r=>!n.has(r)&&r.dismiss).reverse()}const M5=e=>{setTimeout(e,0)};function L5({schedule:e=M5}={}){let t=[],n=null,r=!1;const o=new Set,s=()=>{for(const l of[...o])l()},a=l=>{var u;for(const h of[...t].reverse())(u=h.dismiss)==null||u.call(h,l)};return{register(l){const u=l.trigger??(l.from===void 0?n:null),h={box:l.box,trigger:u,parent:R5(t,l.from??u),dismiss:l.dismiss,onKey:l.onKey,back:l.back};return t=[...t,h],s(),h},unregister(l){t=t.filter(u=>u!==l),s()},top:()=>t[t.length-1]??null,open:()=>t,watch(l){return o.add(l),()=>o.delete(l)},shut(l){var u;l.back?l.back():(u=l.dismiss)==null||u.call(l,"outside")},install(l){const u=l.document,h=w=>{var E;const x=w.target,N=x?O5(t,x):[];for(const T of N)(E=T.dismiss)==null||E.call(T,"outside");r=N.length>0&&w.pointerType==="touch",r&&w.preventDefault(),n=a1(w.target)},f=()=>e(()=>n=null),p=()=>{r=!1,f()},g=w=>{if(r){r=!1,w.preventDefault(),w.stopPropagation();return}n||(n=a1(w.target),f())},y=w=>{var N;const x=t[t.length-1];(N=x==null?void 0:x.onKey)==null||N.call(x,w)},v=()=>e(()=>{var w;((w=u.activeElement)==null?void 0:w.tagName)==="IFRAME"&&a("frame")});return u.addEventListener("pointerdown",h,!0),u.addEventListener("pointerup",f,!0),u.addEventListener("pointercancel",p,!0),u.addEventListener("click",g,!0),l.addEventListener("keydown",y,!0),l.addEventListener("blur",v),()=>{u.removeEventListener("pointerdown",h,!0),u.removeEventListener("pointerup",f,!0),u.removeEventListener("pointercancel",p,!0),u.removeEventListener("click",g,!0),l.removeEventListener("keydown",y,!0),l.removeEventListener("blur",v)}}}}const nl=L5(),P5=()=>nl.open().some(e=>!!e.dismiss);function D5(){return S.useSyncExternalStore(nl.watch,P5,()=>!1)}const Rg=typeof HTMLElement<"u"&&"showPopover"in HTMLElement.prototype,c1=e=>(e==null?void 0:e.getBoundingClientRect())??null;function z5(e,t,n,r){const o=e.querySelector(t);if(!o)return null;const s=e.getBoundingClientRect(),a=o.getBoundingClientRect();return{offset:n==="top"?s.bottom-a.bottom:a.top-s.top,alignOffset:r==="end"?s.right-a.right:a.left-s.left}}function Js({className:e,anchor:t,placement:n,coverBy:r,track:o=t==="parent",raiseKey:s,onDismiss:a,onKey:l,onBack:u,trigger:h,from:f,boxRef:p,handle:g,children:y,...v}){const w=S.useRef(null),x=S.useRef({anchor:t,placement:n,coverBy:r,onDismiss:a,onKey:l,onBack:u,trigger:h,from:f});x.current={anchor:t,placement:n,coverBy:r,onDismiss:a,onKey:l,onBack:u,trigger:h,from:f};const N=S.useCallback(()=>{const T=w.current,{anchor:j,placement:A,coverBy:I}=x.current;if(!T||!j||!A)return;const $=j==="parent"?c1(T.parentElement):j();if(!$)return;const C=eF($,A);C!==void 0&&(T.style.width=`${C}px`);for(let L=0;L<2;L++){const P=I?z5(T,I,T.dataset.side??"",T.dataset.align??""):null,B=nF($,{w:T.offsetWidth,h:T.offsetHeight},{w:window.innerWidth,h:window.innerHeight},P?{...A,...P}:A);T.style.left=`${B.x}px`,T.style.top=`${B.y}px`;const q=T.dataset.side!==B.side||T.dataset.align!==B.align;if(T.dataset.side=B.side,T.dataset.align=B.align,!q)break}},[]);S.useImperativeHandle(g,()=>({update:N}),[N]),S.useLayoutEffect(()=>{const T=w.current;if(!T)return;p&&(p.current=T),Rg&&(T.popover="manual",T.matches(":popover-open")||T.showPopover());const{onDismiss:j,onKey:A,onBack:I,trigger:$,from:C}=x.current,L=j||A?nl.register({box:T,trigger:$,from:C,dismiss:j?P=>{var B,q;return(q=(B=x.current).onDismiss)==null?void 0:q.call(B,P)}:void 0,onKey:A?P=>{var B,q;return(q=(B=x.current).onKey)==null?void 0:q.call(B,P)}:void 0,back:I?()=>{var P,B;return(B=(P=x.current).onBack)==null?void 0:B.call(P)}:void 0}):null;return()=>{L&&nl.unregister(L),p&&(p.current=null),Rg&&T.isConnected&&T.matches(":popover-open")&&T.hidePopover()}},[p]),S.useLayoutEffect(N),S.useLayoutEffect(()=>{if(!o)return;let T=0,j="";const A=()=>{const I=w.current,{anchor:$}=x.current,C=I&&$?$==="parent"?c1(I.parentElement):$():null;if(I&&C){const L=`${C.left},${C.top},${C.right},${C.bottom},${I.offsetWidth},${I.offsetHeight},${window.innerWidth},${window.innerHeight}`;L!==j&&(j=L,N())}T=requestAnimationFrame(A)};return T=requestAnimationFrame(A),()=>cancelAnimationFrame(T)},[o,N]);const E=S.useRef(!0);return ot([s],()=>{if(E.current){E.current=!1;return}const T=w.current;!Rg||!(T!=null&&T.matches(":popover-open"))||(T.hidePopover(),T.showPopover(),N())}),d.jsx("div",{ref:w,className:We("float",e),...v,children:y})}const F5=/^[⌘⇧⌥⌃]+/;function ss({k:e,chip:t=!1,className:n}){var a;const r=(a=e.match(F5))==null?void 0:a[0],o=r?e.slice(r.length):e,s=["kbd",t?"kbd-chip":"",n??""].filter(Boolean).join(" ");return d.jsxs("kbd",{className:s,children:[r&&d.jsx("span",{className:"kbd-mod",children:r}),o]})}function Ot(e,t,{placement:n,align:r,detail:o,card:s,dot:a,name:l,aside:u,also:h}={}){const f=l?`${e}: ${l}`:e,p=(Array.isArray(o)?o:[o]).filter(y=>!!y),g=[f,...p,...u??[]].join(", ");return{"data-tip":e,"data-tip-key":t,"data-tip-placement":n,"data-tip-align":r,"data-tip-detail":p.length?p.join(`
|
|
109
|
+
`):void 0,"data-tip-card":s||l||u!=null&&u.length?"":void 0,"data-tip-dot":a,"data-tip-name":l,"data-tip-aside":u!=null&&u.length?u.join(`
|
|
110
|
+
`):void 0,"data-tip-also":h==null?void 0:h.text,"data-tip-also-key":h==null?void 0:h.key,"aria-label":t?`${g} (${t})`:g}}const B5=120,U5=600,H5=150,l1=6,W5=18,Og=8;function u1(e){const t=e.dataset.tipPlacement;return t==="follow"||t==="top"||t==="bottom"||t==="left"||t==="right"?t:"bottom"}function K5(e){const t=e.dataset.tipAlign;return t==="start"||t==="center"||t==="end"?t:void 0}function oj(e,t){return e==="follow"?{side:"bottom",align:"start",offset:W5,alignOffset:-12,flip:"both",margin:Og}:e==="left"||e==="right"?{side:e,align:t??"start",offset:l1,flip:"both",margin:Og}:{side:e,align:t??"center",offset:l1,flip:"both",margin:Og}}function q5(e,t){return e.placement==="follow"?vT(t):e.el.getBoundingClientRect()}function sj(){var u;const[e,t]=S.useState(null),n=S.useRef(null),r=S.useRef(null),o=S.useRef({x:0,y:0}),s=Xs();if(S.useEffect(()=>{if(s)return;let h=0,f=0,p=null,g=!1,y=0;const v=()=>{window.clearTimeout(h),window.clearTimeout(f)},w=()=>{v(),g&&(y=Date.now()),g=!1,p=null,t(null)},x=(C,L)=>{var B,q;const P=C.dataset.tip;if(!P)return w();v(),g=!0,t({el:C,text:P,key:C.dataset.tipKey,detail:(B=C.dataset.tipDetail)==null?void 0:B.split(`
|
|
111
|
+
`),card:C.dataset.tipCard!==void 0,dot:C.dataset.tipDot,name:C.dataset.tipName,aside:(q=C.dataset.tipAside)==null?void 0:q.split(`
|
|
112
|
+
`),also:C.dataset.tipAlso&&C.dataset.tipAlsoKey?{text:C.dataset.tipAlso,key:C.dataset.tipAlsoKey}:void 0,placement:L,align:K5(C)})},N=C=>{const L=C.target;if(!(L instanceof Element))return null;const P=L.closest("[data-tip], .float");return(P==null?void 0:P.dataset.tip)!==void 0?P:null},E=C=>{o.current={x:C.clientX,y:C.clientY};const L=N(C);if(L===p)return;if(v(),p=L,!L){g&&(f=window.setTimeout(w,H5));return}const P=u1(L);if(g||Date.now()-y<U5)return x(L,P);h=window.setTimeout(()=>x(L,P),B5)},T=C=>{C.relatedTarget||w()},j=C=>{const L=N(C);if(L!=null&&L.matches(":focus-visible")){v(),p=L;const P=u1(L);x(L,P==="follow"?"bottom":P)}},A=()=>w(),I=C=>{C.key!=="Shift"&&C.key!=="Control"&&C.key!=="Alt"&&C.key!=="Meta"&&w()},$=C=>{p&&C.target instanceof Node&&C.target.contains(p)&&w()};return document.addEventListener("mouseover",E),document.addEventListener("mouseout",T),document.addEventListener("mousedown",w),document.addEventListener("keydown",I),document.addEventListener("scroll",$,!0),document.addEventListener("focusin",j),document.addEventListener("focusout",A),window.addEventListener("blur",w),()=>{v(),document.removeEventListener("mouseover",E),document.removeEventListener("mouseout",T),document.removeEventListener("mousedown",w),document.removeEventListener("keydown",I),document.removeEventListener("scroll",$,!0),document.removeEventListener("focusin",j),document.removeEventListener("focusout",A),window.removeEventListener("blur",w)}},[s]),S.useLayoutEffect(()=>{e&&!e.el.isConnected&&t(null)},[e]),S.useEffect(()=>{if((e==null?void 0:e.placement)!=="follow")return;const h=f=>{var p;o.current={x:f.clientX,y:f.clientY},(p=r.current)==null||p.update()};return document.addEventListener("mousemove",h),()=>document.removeEventListener("mousemove",h)},[e]),!e)return null;const a=e.dot?d.jsxs("span",{className:"tooltip-words",children:[d.jsx("span",{className:`dot ${e.dot} tooltip-dot`}),e.text]}):e.text,l=d.jsxs(d.Fragment,{children:[a,e.key&&d.jsx(ss,{k:e.key,className:"tooltip-key"})]});return d.jsxs(Js,{className:We("tooltip",e.card&&"tooltip-card"),role:"tooltip",boxRef:n,handle:r,anchor:()=>q5(e,o.current),placement:oj(e.placement,e.align),track:!1,raiseKey:e,children:[e.also?d.jsxs("div",{className:"tooltip-pair",children:[d.jsx("span",{children:a}),e.key?d.jsx(ss,{k:e.key,className:"tooltip-key"}):d.jsx("span",{}),d.jsx("span",{className:"tooltip-also",children:e.also.text}),d.jsx(ss,{k:e.also.key,className:"tooltip-key"})]}):e.name?d.jsxs("div",{className:"tooltip-head",children:[d.jsx("span",{children:l}),d.jsx("span",{className:"tooltip-name",children:e.name})]}):l,(u=e.detail)==null?void 0:u.map((h,f)=>d.jsx("div",{className:"tooltip-detail",children:h},f)),e.aside&&d.jsx("div",{className:"tooltip-foot",children:e.aside.map(h=>d.jsx("span",{children:h},h))})]})}const Z5={sm:"",md:"btn-md",lg:"btn-lg"},G5={ghost:"",outline:"btn-outline",field:"btn-outline btn-field",inline:"btn-inline",word:"btn-inline btn-word"},ij={primary:"tone-primary",quiet:"tone-quiet",danger:"tone-danger",strong:"tone-strong",chrome:"tone-chrome"};function Le({variant:e="ghost",size:t="sm",tone:n,on:r,mono:o,busy:s,className:a,type:l="button",disabled:u,children:h,...f}){const p=We("btn",G5[e],Z5[t],n&&ij[n],r&&"on",o&&"btn-mono",s&&"btn-busy",a);return d.jsxs("button",{className:p,type:l,disabled:s||u,"aria-busy":s||void 0,...f,children:[s&&d.jsx(xh,{}),e==="word"?d.jsx("span",{className:"btn-word-label",children:h}):h]})}function Dt({icon:e,label:t,hint:n,detail:r,also:o,placement:s,tipAlign:a,silent:l,badge:u,tone:h,on:f,className:p,type:g="button",...y}){const v=We("btn-icon",h&&ij[h],f&&"on",p),w=Ot(t,n,{detail:r,also:o,placement:s,align:a});return d.jsxs("button",{className:v,type:g,...l?{"aria-label":w["aria-label"]}:w,...y,children:[typeof e=="string"?d.jsx(Tt,{name:e}):e,u]})}function sd(e,t,n){return n===0?0:(e+t+n)%n}function d1(e,t,n){return e>=0?sd(e,t,n):n===0?-1:t>0?0:n-1}function aj(e,t,n){var s;const r=e.length,o=n.toLowerCase();for(let a=1;a<=r;a++){const l=(Math.max(t,-1)+a)%r;if((s=e[l])!=null&&s.trim().toLowerCase().startsWith(o))return l}return-1}function Mg(e,t){return e&&e.length>t.length&&e.toLowerCase().startsWith(t.toLowerCase())?e.slice(t.length):null}function V5(e,t){if(e==null)return null;if(typeof e=="string"){const o=Mg(e,t);return o?{text:o,accept:o,params:[]}:null}const n=Mg(e.show,t);if(!n)return null;const r=(e.params??[]).map(([o,s])=>[Math.max(o,t.length)-t.length,s-t.length]).filter(([o,s])=>s>o);return{text:n,accept:Mg(e.accept,t),params:r}}function cj(e){const{results:t,keyOf:n,q:r,onPick:o,listRef:s,onActive:a,onSide:l,completionOf:u,narrowTo:h,setQ:f,tabPicks:p,onIdlePick:g}=e,[y,v]=S.useState(()=>{var I;return e.idle?-1:Math.max(0,((I=e.initialIndex)==null?void 0:I.call(e,t))??0)}),w=y>=0&&t[y]?n(t[y]):null,x=S.useRef(a);x.current=a,ot([w],()=>{var I,$,C;($=(I=s.current)==null?void 0:I.querySelector('.picker-item[data-state~="cursor"]'))==null||$.scrollIntoView({block:"nearest"}),(C=x.current)==null||C.call(x,y>=0?t[y]??null:null)});const N=y<0?-1:Math.min(y,Math.max(0,t.length-1)),E=N>=0?t[N]??null:null,T=E?V5(u==null?void 0:u(E,r),r):null,j=I=>{const $=h==null?void 0:h(I,r);if($==null)return o(I,r);f==null||f($),v(0)};return{index:N,active:E,ghost:T,setIndex:v,pick:j,onKeyDown:I=>{if(I.key==="ArrowDown")I.preventDefault(),v(d1(N,1,t.length));else if(I.key==="ArrowUp")I.preventDefault(),v(d1(N,-1,t.length));else if((I.key==="ArrowLeft"||I.key==="ArrowRight")&&l&&E)I.preventDefault(),l(E,I.key==="ArrowLeft"?-1:1);else if(I.key==="Tab"&&(T!=null&&T.accept))I.preventDefault(),f==null||f(r+T.accept),v(0);else if(I.key==="Tab"&&p&&E)I.preventDefault(),j(E);else if(I.key==="Enter"&&E)I.preventDefault(),j(E);else if(I.key==="Enter"&&N<0&&g)I.preventDefault(),g(r);else return!1;return!0}}}function er(e){const t=Object.keys(e).filter(n=>e[n]);return t.length>0?t.join(" "):void 0}const Y5=new Set(["Shift","Meta","Control","Alt","CapsLock","Fn"]);function lj(){const e=$y(),t=Pn();return S.useEffect(()=>{if(!e)return;const n=()=>{e.target.isConnected||no.close()},r=new MutationObserver(n);r.observe(document.body,{childList:!0,subtree:!0});const o=t.subscribe(n);return()=>{r.disconnect(),o()}},[e,t]),e?d.jsx(X5,{spec:e},e.id):null}function X5({spec:e}){const t=e.items,n=t.filter(vs),[r,o]=S.useState(-1),s=S.useRef({idx:r,items:n});s.current={idx:r,items:n};const a=S.useRef(null),l=p=>{var g,y;{const v=()=>no.close(),{idx:w,items:x}=s.current;if(Y5.has(p.key))return;if(p.key==="ArrowDown"||p.key==="ArrowUp"){p.preventDefault(),p.stopPropagation();const N=p.key==="ArrowDown"?1:-1;o(iF(x,w,N));return}if((p.key==="Enter"||p.key===" ")&&w>=0&&x[w]&&!x[w].disabled){p.preventDefault(),p.stopPropagation(),x[w].onClick(),v();return}if(p.key==="Escape"){p.stopPropagation(),v();return}if(p.key.length===1&&!p.metaKey&&!p.ctrlKey&&!p.altKey){p.preventDefault(),p.stopPropagation();const N=Array.from(((g=a.current)==null?void 0:g.querySelectorAll(".menu-label"))??[],T=>T.textContent??""),E=aj(N,w,p.key);E>=0&&!((y=x[E])!=null&&y.disabled)&&o(E);return}v()}};S.useEffect(()=>{const p=()=>no.close();return window.addEventListener("blur",p),window.addEventListener("resize",p),document.addEventListener("scroll",p,!0),()=>{window.removeEventListener("blur",p),window.removeEventListener("resize",p),document.removeEventListener("scroll",p,!0)}},[]);const{rect:u,placement:h}=lF(e),f=n.some(p=>p.checked);return d.jsxs(Js,{className:We("menu",e.head!==void 0&&"menu-headed"),role:"menu",boxRef:a,anchor:()=>u,placement:h,track:!1,from:e.target,trigger:e.toggles?e.target:null,onDismiss:()=>no.close(),onKey:l,onContextMenu:p=>p.preventDefault(),children:[e.head!==void 0&&d.jsx("div",{className:"menu-head",children:e.head}),t.map((p,g)=>{if(!vs(p))return d.jsx("hr",{className:"menu-sep"},`sep-${g}`);const y=n.indexOf(p);return d.jsx(Q5,{item:p,gutter:f,cursor:y===r,onEnter:()=>o(y)},p.id)})]})}function Q5({item:e,gutter:t,cursor:n,onEnter:r}){const o=e.disabled!==void 0,s=e.detail??e.disabled;return d.jsxs("button",{...e.checked===void 0?{role:"menuitem"}:{role:"menuitemcheckbox","aria-checked":e.checked},"aria-disabled":o||void 0,className:We("row row-keyed",e.danger&&"danger",s!==void 0&&"row-tall",o&&"disabled"),"data-state":er({cursor:n,checked:e.checked}),onMouseMove:o||n?void 0:r,onClick:()=>{o||(e.onClick(),no.close())},children:[t&&d.jsx("span",{className:"menu-check",children:e.checked&&d.jsx(Tt,{name:"check",className:"icon-inline"})}),d.jsxs("span",{className:"menu-text",children:[d.jsx("span",{className:"menu-label",children:e.label}),s!==void 0&&d.jsx("span",{className:"menu-detail row-dim",children:s})]}),e.key&&d.jsx(ss,{k:e.key,className:"menu-key row-dim"})]})}const Eh=8,J5=104,e8=.25,uj=220,Bk=.5,t8=100;function n8(e,t){return Math.max(0,-dj(e,t))}function dj(e,t){const n=e.filter(a=>t-a.t<=t8);if(n.length<2)return 0;const r=n[0],o=n[n.length-1],s=o.t-r.t;return s>0?(o.x-r.x)/s:0}function r8(e,t,n){return e>0?e:n>0&&t>=Bk?1:0}function o8({dx:e,dy:t}){return Math.abs(e)<Eh&&Math.abs(t)<Eh?null:Math.abs(e)>Math.abs(t)&&e<0?"slide":"other"}function s8(e,t,n=J5){const r=Math.max(0,-e),o=t*n,s=Math.min(t,Math.floor(r/n)),a=r<=o?r:o+(r-o)*e8,l=Math.min(1,r/(n/2));return{step:s,x:-a,well:l}}function fj(e,t){const n=S.useRef(t);n.current=t,S.useEffect(()=>{const r=e.current;if(!r)return;let o=null,s=null,a=!1,l=0,u=[],h=0,f=0;const p=(T,j,A,I)=>{T.el.dataset.slide!==I&&(T.el.dataset.slide=I,T.el.offsetWidth),T.el.style.setProperty("--slide-x",`${j}px`),T.el.style.setProperty("--slide-well",`${Math.round(A*100)}%`)},g=T=>{T.el.style.removeProperty("--slide-x"),T.el.style.removeProperty("--slide-well"),delete T.el.dataset.slide},y=(T=0)=>{var C;const j=o,A=a,I=j?r8(l,T,j.rungs):0,$=I!==l;o=null,s=null,a=!1,l=0,u=[],!(!j||!A)&&($&&(n.current.onSlide({key:j.key,step:I}),(C=navigator.vibrate)==null||C.call(navigator,8)),p(j,0,0,"settle"),I>0&&n.current.onPick(j.key,I),h=window.setTimeout(()=>{g(j),n.current.onSlide(null)},uj))};let v=null;const w=T=>{if(!T.isPrimary||T.pointerType==="mouse"&&T.button!==0)return y();const j=T.target instanceof Element?n.current.rowOf(T.target):null;!j||j.el.dataset.slide||(window.clearTimeout(h),o=j,v=T.pointerId,s={x:T.clientX,y:T.clientY})},x=T=>{var C;const j=o;if(!j||!s||T.pointerId!==v)return;const A=T.clientX-s.x,I=T.clientY-s.y;if(!a){const L=o8({dx:A,dy:I});if(L==="other"&&(o=null,s=null,v=null),L!=="slide")return;a=!0;try{j.el.setPointerCapture(T.pointerId)}catch{}n.current.onSlide({key:j.key,step:0})}u.push({x:T.clientX,t:T.timeStamp}),u.length>8&&u.shift();const $=s8(A,j.rungs,j.rung);p(j,$.x,$.well,"drag"),$.step!==l&&(l=$.step,n.current.onSlide({key:j.key,step:l}),l>0&&((C=navigator.vibrate)==null||C.call(navigator,8)))},N=T=>{T.pointerId===v&&(a&&(f=T.timeStamp+400),v=null,y(T.type==="pointerup"?n8(u,T.timeStamp):0))},E=T=>{T.timeStamp>=f||(T.preventDefault(),T.stopPropagation())};return r.addEventListener("pointerdown",w),r.addEventListener("pointermove",x),r.addEventListener("pointerup",N),r.addEventListener("pointercancel",N),r.addEventListener("click",E,!0),()=>{window.clearTimeout(h),r.removeEventListener("pointerdown",w),r.removeEventListener("pointermove",x),r.removeEventListener("pointerup",N),r.removeEventListener("pointercancel",N),r.removeEventListener("click",E,!0)}},[e])}const hj=1/3,i8=220;function a8({dx:e,dy:t}){return Math.abs(e)<Eh&&Math.abs(t)<Eh?null:Math.abs(e)<=Math.abs(t)?"other":e<0?"left":"right"}function c8(e,t,n){return n==="left"?Math.min(0,Math.max(-t,e)):Math.max(0,Math.min(t,e))}function l8(e,t,n,r){const o=n==="left"?-r:r;return o>=Bk?!0:o<=-Bk?!1:Math.abs(e)>=t*hj}function u8(e,t){for(let n=e;n!==t&&n instanceof HTMLElement;n=n.parentElement){const r=getComputedStyle(n).overflowX;if((r==="auto"||r==="scroll")&&n.scrollWidth>n.clientWidth+1)return n}return null}const f1=-1;function d8(e,t){const n=S.useRef(t);n.current=t;const r=S.useRef(()=>{});return S.useEffect(()=>{const o=e.current;if(!o)return;let s=null,a=null,l=null,u=!1,h=0,f=null,p=null,g=0,y=null,v=[],w=0,x=0;const N=(q,ne)=>{const Q=p;Q&&(Q.dataset.swipe!==ne&&(Q.dataset.swipe=ne,Q.offsetWidth),Q.style.translate=`${q}px`)},E=()=>{const q=p;p=null,q&&(delete q.dataset.swipe,q.offsetWidth,q.style.removeProperty("translate"))},T=()=>{s=null,a=null,l=null,u=!1,f=null,g=0,y=null,v=[]},j=q=>{try{o.setPointerCapture(q.pointerId)}catch{}},A=q=>{var le,te;const ne=f,Q=(p==null?void 0:p.clientWidth)??0;T(),ne&&(N(q?ne==="left"?-Q:Q:0,"settle"),(te=(le=n.current).onSettle)==null||te.call(le,q),w=window.setTimeout(()=>{Aw.flushSync(()=>n.current.onEnd(q)),E()},i8))},I=q=>{var Q;if(q.pointerType==="mouse")return;if(!q.isPrimary)return f?A(!1):T();if(p||(((Q=window.visualViewport)==null?void 0:Q.scale)??1)>1.01)return;const ne=q.target instanceof Element?q.target:null;!ne||ne.closest("textarea, input, [contenteditable], iframe, .float")||(window.clearTimeout(w),s={x:q.clientX,y:q.clientY},a=ne,l=u8(ne,o),y=q.pointerId,h=q.clientX)},$=(q,ne,Q,le)=>{if(!s||!a)return;const te=q-s.x,Z=ne-s.y;if(u&&l){l.scrollLeft-=q-h,h=q;return}if(!f){const R=a8({dx:te,dy:Z});if(R===null)return;if(R==="other")return T();if(l){u=!0,h=q,le&&j(le);return}const J=n.current.take(a,R);if(!J)return T();p=J,f=R,le&&j(le)}v.push({x:q,t:Q}),v.length>8&&v.shift(),g=c8(te,(p==null?void 0:p.clientWidth)??0,f),N(g,"drag")},C=(q,ne)=>{var Z;if(!f)return T();const Q=(p==null?void 0:p.clientWidth)??0,le=ne?dj(v,q):0,te=ne&&l8(g,Q,f,le);te&&Math.abs(g)<Q*hj&&((Z=navigator.vibrate)==null||Z.call(navigator,8)),A(te)},L=q=>{q.pointerId===y&&$(q.clientX,q.clientY,q.timeStamp,q)},P=q=>{q.pointerId===y&&((f||u)&&(x=q.timeStamp+400),C(q.timeStamp,q.type==="pointerup"))};r.current=q=>{const ne=performance.now();if(q.phase==="start"){if(p||s)return;s={x:q.x,y:q.y},a=o,l=null,y=f1;return}if(y===f1){if(q.phase==="move")return $(q.x+g,q.y,ne);C(ne,q.phase==="end")}};const B=q=>{q.timeStamp>=x||(q.preventDefault(),q.stopPropagation())};return o.addEventListener("pointerdown",I),o.addEventListener("pointermove",L),o.addEventListener("pointerup",P),o.addEventListener("pointercancel",P),o.addEventListener("click",B,!0),()=>{r.current=()=>{},window.clearTimeout(w),o.removeEventListener("pointerdown",I),o.removeEventListener("pointermove",L),o.removeEventListener("pointerup",P),o.removeEventListener("pointercancel",P),o.removeEventListener("click",B,!0)}},[e]),S.useCallback(o=>r.current(o),[])}function Qa({items:e,current:t,onPick:n,fill:r,font:o,segmented:s,dense:a,quiet:l,end:u,label:h,owner:f}){const p=wn(f),g=S.useRef(null),y=Math.max(0,e.findIndex(w=>w.id===t)),v=w=>{var E,T;if(w.key!=="ArrowLeft"&&w.key!=="ArrowRight")return;w.preventDefault();const x=e.findIndex(j=>j.id===t),N=e[sd(x,w.key==="ArrowRight"?1:-1,e.length)];N&&(n(N.id),(T=(E=g.current)==null?void 0:E.querySelectorAll('[role="tab"]')[e.indexOf(N)])==null||T.focus())};return d.jsxs("div",{className:We("tabs",r&&"tabs-fill",o==="mono"&&"tabs-mono",s&&"tabs-segmented",a&&"tabs-dense",l&&"tabs-quiet"),children:[d.jsx("div",{className:"tabs-list",role:"tablist","aria-label":h,ref:g,onKeyDown:v,style:s?{"--tabs-at":y,"--tabs-count":e.length}:void 0,children:e.map(w=>{const x=w.id===t;return d.jsxs("div",{className:We("tab",x&&!!w.trail&&"tab-trailed",w.fit&&"tab-fit",w.far&&"tab-far"),"data-state":er({current:x}),...w.menu?p.contextMenu(w.menu):{},children:[d.jsxs("button",{type:"button",className:"tab-btn",role:"tab","aria-selected":x,tabIndex:x?0:-1,onClick:()=>n(w.id),...w.tip,...w.ariaLabel?{"aria-label":w.ariaLabel}:{},children:[w.lead,w.label]}),x&&w.trail&&d.jsx("span",{className:"tab-trail",children:w.trail})]},w.id)})}),u&&d.jsx("span",{className:"tabs-end",children:u})]})}function Ss({anchor:e="top",wide:t,foot:n,children:r}){const o=d.jsx("div",{className:We("view",e==="line"&&"view-anchored",t&&"view-wide"),children:r});return n?d.jsxs("div",{className:"view-stack",children:[o,n]}):o}const pj=e=>`Toyon restarts once ${e.join(", ")} ${e.length===1?"finishes":"finish"}`,f8=(e,t)=>[...e,...t.filter(n=>!e.includes(n))];function h8(e,t,n){const r=[...t],o=[...n],s=(l,u)=>{const h=l.indexOf(u);return h===-1?!1:(l.splice(h,1),!0)};return[...e.map(l=>s(r,l)?{name:l,dot:"working",note:null}:s(o,l)?{name:l,dot:"waiting",note:"asking you"}:{name:l,dot:"idle",note:"finished"}),...o.map(l=>({name:l,dot:"waiting",note:"asking you"}))]}function p8(e,t){return`${e>=t?`Toyon restarts once ${e===1?"this chat finishes its reply":`these ${e} chats finish their replies`}`:`${t-e} of ${t} chats have finished; Toyon restarts after the ${e===1?"last one":`other ${e}`}`}, and this page reloads when it is back. Restarting now stops ${e===1?"it":"them"} mid-reply.`}function m8(e){if(!e)return null;if(e.restarting&&e.restarting.length>0){const t=e.restarting.length;return{word:t===1?"restarts after a reply":`restarts after ${t} replies`,text:pj(e.restarting),retry:!1,busy:!0}}if(e.failed){const t=e.failed.line.replace(/\.$/,"");return{word:"update failed",text:`Installing Toyon ${e.failed.version} stopped: ${t}. To update by hand, run ${e.failed.command}`,retry:!0,busy:!1}}return null}let Uk=!1;function g8(){Uk=!0}function Zc({title:e,body:t,action:n,pane:r,children:o}){return d.jsxs("div",{className:We("crash",r&&"in-pane"),children:[d.jsx("div",{className:"crash-title",children:e}),t&&d.jsx("div",{className:"crash-body",children:t}),o,n]})}const h1={title:"Toyon was updated",body:"This page is still running the old build. Reload to pick up the new one."};class By extends S.Component{constructor(){super(...arguments);Rt(this,"state",{error:null})}static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,r){console.error("[toyon] render error",n,r.componentStack)}render(){const{error:n}=this.state;return n?d.jsx(Zc,{pane:this.props.pane,title:Uk?h1.title:"Toyon hit an error",body:Uk?h1.body:n.message||String(n),action:d.jsx(Le,{variant:"outline",onClick:()=>window.location.reload(),children:"reload"})}):this.props.children}}const Hk={title:"Toyon was updated",waiting:"Restarting Toyon. This page reloads when it is back.",foreign:e=>`Toyon on ${e} speaks another version than this app. Update Toyon there; this page needs no reload.`},k8=1e3,p1={held:[],asking:[],seen:[]};async function m1(e,t,n){for(;;){await new Promise(s=>setTimeout(s,k8));const[r,o]=await Promise.all([xk(e),iN(e)]);if(r!==null&&r!==t)break;n(o??{waiting:[],asking:[]})}window.location.reload()}function mj({foreign:e}={}){return e?d.jsx(w8,{name:e}):d.jsx(y8,{})}function w8({name:e}){const t=Es(),n=t.list()[0];return d.jsx(Zc,{title:`Toyon on ${e} was updated`,body:Hk.foreign(e),action:n&&d.jsxs(Le,{variant:"outline",onClick:()=>t.activate(n.origin),children:["back to ",t.displayName(n.origin)]})})}function y8(){const e=Lr(),[t,n]=S.useState(!0),[r,o]=S.useState(null),[s,a]=S.useState(p1),l=S.useRef(null),u=S.useCallback(v=>a(w=>({held:v.waiting,asking:v.asking,seen:f8(w.seen,v.waiting)})),[]),h=S.useCallback(async v=>{n(!0),o(null);const w=l.current??{pid:await xk(e)},x=await az(e,v);if(x){n(l.current!==null),o(x);return}v&&a(p1),!l.current&&(l.current=w,m1(e,w.pid,u))},[u,e]);S.useEffect(()=>{let v=!0;return(async()=>{const[w,x]=await Promise.all([xk(e),iN(e)]);if(!(!v||l.current)){if(x===null){h(!1);return}l.current={pid:w},u(x),m1(e,w,u)}})(),()=>{v=!1}},[u,h,e]);const f=t&&s.held.length>0,p=f?h8(s.seen,s.held,s.asking):[],g=p.filter(v=>v.dot==="working").length,y=p.filter(v=>v.dot!=="waiting").length;return d.jsx(Zc,{title:Hk.title,body:r??(f?p8(g,y):Hk.waiting),action:f?d.jsx(Le,{variant:"outline",onClick:()=>void h(!0),children:"restart now"}):d.jsx(Le,{variant:"outline",busy:t,onClick:()=>void h(!1),children:"restart"}),children:p.length>0&&d.jsx("ul",{className:"crash-list",children:p.map((v,w)=>d.jsxs("li",{className:We("crash-row",v.dot!=="working"&&"row-dim"),children:[d.jsx("span",{className:We("dot",v.dot)}),d.jsx("span",{className:"crash-row-name",children:v.name}),v.note&&d.jsx("span",{className:"crash-row-note",children:v.note})]},w))})})}const Ca=(e,t=!1)=>({text:e,live:t}),v8={probing:"connecting to daemon",down:"the daemon is not running.\nrun `toyon` in your repo to start it; `toyon doctor` says what it can see",blocked:"the daemon is up, but this page's websocket never connected.\na proxy, VPN or browser extension is the usual cause; `toyon doctor` checks from the terminal",unauthorized:"this page's token is not the running daemon's.\nrun `toyon` again and open the link it prints"},b8={probing:e=>`connecting to ${e}`,down:e=>`Toyon on ${e} is not answering.
|
|
113
|
+
is Tailscale on here, and is Toyon running there?`,blocked:e=>`Toyon on ${e} is up, but this page's websocket to it never connected.
|
|
114
|
+
a proxy, VPN or browser extension is the usual cause`,unauthorized:e=>`this page's token for ${e} is not the one running there.
|
|
115
|
+
forget ${e} here and pair it again`},x8="no access token for this address.\nrun `toyon` or `toyon open` in your repo to get a signed-in page";function gj(e){if(e.standing&&!e.connected&&e.connectFailure!=="unauthorized")return null;if(!e.connected&&(!e.heard||e.connectFailure)){const t=e.connectFailure===null;return e.machine?Ca(b8[e.connectFailure??"probing"](e.machine),t):e.hasToken?Ca(v8[e.connectFailure??"probing"],t):Ca(x8)}return e.title===null?Ca(e.heard?`nothing open yet.
|
|
116
|
+
press ${e.projectChord} to open a project, or type a name there to start a new one`:""):null}function E8(e){const t=gj(e);return t!==null?t:e.needsSetup&&e.busy?Ca(`building in ${e.title}; the preview appears once it starts`,!0):e.needsSetup&&e.treeEmpty?Ca(`${e.title} is empty so far; say what to build`):e.treeEmpty&&e.landsFrom?Ca(`nothing runs on main until ${e.landsFrom} lands`):null}const cn={post:(e,t)=>{},broadcast:e=>{}};function Lu(e,t,n,r){const o=t===r;cn.post(e,o?{type:"pick-cancel"}:{type:"pick-start",verb:r}),n({a:"set-picking",v:o?!1:r})}function kj(e){return[{id:"copy-sha",label:`copy ${e.short}`,onClick:()=>nn(e.sha)},{id:"copy-subject",label:"copy subject",onClick:()=>nn(e.subject)}]}function _p(e,t,n){var o,s;const r=e[t];if(!r)return null;if(n==="ArrowRight")return r.open===void 0?null:r.open?(((o=e[t+1])==null?void 0:o.depth)??-1)>r.depth?{do:"to",at:t+1}:null:{do:"open",at:t};if(r.open)return{do:"close",at:t};for(let a=t-1;a>=0;a--)if((((s=e[a])==null?void 0:s.depth)??0)<r.depth)return{do:"to",at:a};return null}const wj="application/x-toyon-mention";let Ua=null;const Np=()=>!Xs();function S8(e){return e.kind==="worktree"?`@${e.title} `:Oy(e.items)}function _8(e){return e.kind==="worktree"?e.branch:e.items.map(t=>t.path).join(" ")}function Pu(e,t){e.dataTransfer.setData(wj,"1"),e.dataTransfer.setData("text/plain",_8(t)),e.dataTransfer.effectAllowed="copy",Ua=t}function id(e){Ua=null,zy(e)}function yj(e,t){const n=e.getState().activeId;return(t.kind==="paths"?t.worktreeId===n:t.worktreeId!==n)?Xa(e):null}const vj=e=>Ua!==null&&Array.from(e.dataTransfer.types).includes(wj);function N8(e,t){if(!vj(t)||!Ua)return;t.preventDefault();const n=yj(e,Ua)!==null;t.dataTransfer.dropEffect=n?"copy":"none",n&&Dy(e,{at:"chat"})}function bj(e,t){if(!vj(t)||!Ua)return null;t.preventDefault();const n=Ua,r=u5();if(id(e),r)return null;const o=yj(e,n);return o?{boxId:o,words:S8(n)}:null}function T8(e,t,n){const r=e.ownerDocument;if(typeof r.caretPositionFromPoint!="function")return null;const o=r.caretPositionFromPoint(t,n);return(o==null?void 0:o.offsetNode)===e?o.offset:null}const xj=e=>Object.entries(e.worktree.sources??{}).filter(([,t])=>Xh(t.at)).map(([t])=>t),j8=e=>ah(Mi((e==null?void 0:e.config)??{}),e==null?void 0:e.defaultBranch).toLowerCase();function Di(e,t,n){t({a:"shipping",id:n.worktreeId,op:n.t}),e==null||e.send(n)}const Ej=(e,t)=>vR(e.worktree,{pending:()=>e.agent!=="idle"||(e.queued??0)>0||!!e.shipping,drafted:t,counts:()=>({dirty:e.dirty,ahead:e.ahead})});function Gc(e,t,n){if(n.length!==0){t({a:"archive-worktrees",ids:n});for(const r of n)e==null||e.send({t:"archive-worktree",worktreeId:r})}}function Sj(e,t,n){t({a:"hold-unread",id:n}),e==null||e.send({t:"mark-unread",worktreeId:n})}function _j(e,t,n){return{rename(r){if(!GS(r.worktree))return;const o=window.prompt("Rename worktree (its branch follows as a slug):",r.worktree.title);o!=null&&o.trim()&&(e==null||e.send({t:"rename-worktree",worktreeId:r.worktree.id,title:o.trim()}))},ownProcs(r){for(const o of r.borrowed??[])e==null||e.send({t:"set-proc-source",worktreeId:r.worktree.id,name:o.name,source:"here"})},shareProcs(r){const o=xj(r);if(window.confirm(`Stop this worktree's own ${o.join(", ")} and use main's?
|
|
117
|
+
|
|
118
|
+
What they hold that main's do not (a database of their own) is not carried over.`))for(const a of o)e==null||e.send({t:"set-proc-source",worktreeId:r.worktree.id,name:a,source:"main"})},archive(r){var a;if(!Vh(r.worktree))return;const o=Ej(r,n);if(!o)return Gc(e,t,[r.worktree.id]);window.confirm(`Archive worktree "${r.worktree.title}"? ${(a=o[0])==null?void 0:a.toUpperCase()}${o.slice(1)}.
|
|
119
|
+
|
|
120
|
+
Its directory and branch (${r.worktree.branch}) go. The chat, its draft, the commits and any uncommitted changes are kept, and the project menu can restore it.`)&&Gc(e,t,[r.worktree.id])}}}function Nj(e,t,n,{sock:r,dispatch:o},s){var I;const a=e.worktree.id,l=_j(r,o,n.drafted),u=[],h=[],f=[],p=[],g=[],y=[];is(e.agent)&&u.push({id:"stop",label:"stop agent",onClick:()=>r==null?void 0:r.send({t:"stop-agent",worktreeId:a})});const v=!n.shipping[a],w=n.frame==="phone";((e.dirty??0)>0||(e.ahead??0)>0||!w&&!n.layout.changes)&&u.push({id:"changes",label:`view changes${(e.dirty??0)>0?` (${e.dirty})`:""}`,onClick:()=>{o({a:"activate",id:a}),w?o({a:"screen",to:"changes"}):n.layout.changes||o({a:"toggle-changes"})}}),h.push({id:"copy-branch",label:"copy branch name",onClick:()=>nn(e.worktree.branch)}),h.push(...Wo(()=>r==null?void 0:r.send({t:"reveal",worktreeId:a}),s.hostname)),w||h.push({id:"copy-path",label:"copy path",onClick:()=>nn(e.path)});const{transcript:x,sessionId:N}=e,E=!!x&&!$r(e.worktree);E&&rd(s.hostname)&&h.push({id:"reveal-transcript",label:"reveal transcript in Finder",onClick:()=>r==null?void 0:r.send({t:"reveal-transcript",worktreeId:a})});const T=!w&&!!s.palette;T&&E&&h.push({id:"copy-transcript",label:"copy transcript path",onClick:()=>nn(x)}),T&&N&&h.push({id:"copy-session",label:"copy session id",onClick:()=>nn(N)}),!Fi(e.worktree)&&((I=e.borrowed)!=null&&I.length)&&g.push({id:"own-procs",label:`run ${e.borrowed.map($=>$.name).join(", ")} here`,detail:"on main now",onClick:()=>l.ownProcs(e)});const j=xj(e);if(!Fi(e.worktree)&&j.length>0&&g.push({id:"share-procs",label:`use main's ${j.join(", ")}…`,detail:"runs here now",danger:!0,onClick:()=>l.shareProcs(e)}),GS(e.worktree)&&f.push({id:"rename",label:"rename…",onClick:()=>l.rename(e)}),s.graft&&Zf(e.worktree)){const $=s.graft;f.push({id:"graft",label:"graft with…",onClick:()=>$(a)})}f.push({id:"unread",label:"mark as unread",key:qt("mark-unread"),disabled:e.unseen?"already unread":void 0,onClick:()=>Sj(r,o,a)});const A=v?void 0:"waiting on the one in progress";if(e.syncQueued)p.push({id:"sync",label:"call off the sync from main",onClick:()=>r==null?void 0:r.send({t:"unqueue-sync",worktreeId:a})});else if(Yh(e)&&(e.behind??0)>0){const $=is(e.agent)&&(e.dirty??0)>0;p.push({id:"sync",label:`sync from main${$?" after the turn":""} (${e.behind} behind)`,disabled:A,onClick:()=>Di(r,o,{t:"sync-main",worktreeId:a})})}return Ta(e.worktree)&&!(e.worktree.landed&&e.dirty===0)&&p.push({id:"land",label:zw(Mi((t==null?void 0:t.config)??{}),Dw(e.worktree,e.dirty)),detail:j8(t),disabled:A,onClick:()=>Di(r,o,{t:"land",worktreeId:a})}),e.worktree.kind==="worktree"&&p.push({id:"handoff",label:"continue elsewhere…",sub:!0,onClick:()=>o({a:"open",overlay:{kind:"handoff",worktreeId:a}})}),Vh(e.worktree)&&y.push({id:"archive",label:Ej(e,n.drafted)?"archive…":"archive",key:qt("wt-archive"),danger:!0,onClick:()=>l.archive(e)}),Ln([u,h,f,p,g,y])}function $8(e,t,{sock:n,dispatch:r},o){const s=[],a=t.frame==="phone",l=[{id:"adopt",label:"take over",disabled:e.locked?`held by ${e.lockReason??"another tool"}`:void 0,onClick:()=>n==null?void 0:n.send({t:"adopt-worktree",worktreeId:e.id,clientId:t.clientId})}];return Yh(e)&&(e.behind??0)>0&&s.push({id:"sync",label:`sync from main (${e.behind} behind)`,onClick:()=>n==null?void 0:n.send({t:"sync-main",worktreeId:e.id})}),a||s.push({id:"shell",label:"open a shell here",onClick:()=>{r({a:"activate",id:e.id}),r({a:"focus-terminal"})}}),s.push(...Wo(()=>n==null?void 0:n.send({t:"reveal",worktreeId:e.id}),o)),Ln([l,s,a?[]:[{id:"copy-path",label:"copy path",onClick:()=>nn(e.path)}]])}const A8={sm:"",md:"field-md",lg:"field-lg"};function Tj({size:e="sm",font:t,bare:n,rule:r,className:o}){const s=t??(e==="lg"?"ui":"mono");return We("field",A8[e],s==="ui"&&"field-ui",s==="lead"&&"field-lead",n&&"field-bare",r&&"field-rule",o)}const Uo=S.forwardRef(function({size:t,font:n,bare:r,rule:o,className:s,...a},l){return d.jsx("input",{ref:l,className:Tj({size:t,font:n,bare:r,rule:o,className:s}),...a})}),Du=S.forwardRef(function({size:t,font:n,bare:r,rule:o,className:s,...a},l){return d.jsx("textarea",{ref:l,className:Tj({size:t,font:n,bare:r,rule:o,className:s}),...a})}),oo=e=>/[.!?…]$/.test(e)?e:`${e}.`,jj=160;function Tp(e,t=jj){const n=e.replace(/\s+/g," ").trim();if(n.length<=t)return n;const r=n.slice(0,t);return`${r.slice(0,Math.max(r.lastIndexOf(" "),1)).trimEnd()}…`}function jp(e){return e.subjects.length?Tp(e.subjects.join("; ")):void 0}function $j(e){const t=jp(e);if(t)return e.pr===void 0?t:Tp(`PR #${e.pr}: ${t}`)}function Aj(e,t){var r;const n=t??((r=e.match(/\/pull\/(\d+)/))==null?void 0:r[1]);return n===void 0?"the PR":`#${n}`}function Uy(e,t=3){const n=[];for(const a of e??[]){const l=$j(a);l&&n.push({at:a.at,line:l})}if(n.length===0)return[];const r=n.slice(-t),o=n.length-r.length,s=r.map(({at:a,line:l})=>n.length===1?oo(l):`${Hy(jo(kr(a)))}: ${oo(l)}`);return o>0?[`${o} earlier landing${o===1?"":"s"}.`,...s]:s}const C8="checks running",I8="checks failed",Cj="preview up";function R8(e){if(e.state!=="open")return[];const t=[];return(e.checks==="pending"||e.checks==="fail")&&t.push({text:e.checks==="fail"?I8:C8,url:`${e.url}/checks`,tip:"Open the checks on GitHub",open:"open the checks"}),e.preview&&t.push({text:Cj,url:e.preview,tip:`Open the branch on ${new URL(e.preview).hostname}`,open:"open the preview"}),t}function O8(e,t){const n=[];let r=e;for(const o of t){const s=new RegExp(`(^|; |, )${o.text.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?=;|\\.|$)`).exec(r);if(!s)continue;const a=s.index+(s[1]??"").length;a>0&&n.push(r.slice(0,a)),n.push(o),r=r.slice(a+o.text.length)}return r&&n.push(r),n}function Fs(e){const t=`PR #${e.number}`;if(e.state==="merged")return`${t} merged.`;if(e.state==="closed")return`${t} was closed without merging.`;const n=e.preview?`; ${Cj}.`:".";if(e.queued){if(e.queued==="failed")return`${t} failed in the merge queue${n}`;const r={waiting:"",checking:"; the queue's checks are running",merging:"; merging now"}[e.queued];return`${t} in the merge queue${r}${n}`}if(e.automerge){const r=e.review==="review_required"?"it is approved and checks pass":"checks pass";return`${t} open; GitHub ${e.queue?"queues":"merges"} it when ${r}${n}`}return e.mergeable===!1?`${t} open; it conflicts with main${n}`:e.review==="changes_requested"?`${t} open; changes requested${n}`:e.checks==="fail"?`${t} open; checks failed${n}`:e.checks==="pending"?`${t} open; checks running${n}`:e.review==="review_required"?`${t} open; waiting on review${n}`:e.review==="approved"?`${t} approved${e.checks==="pass"?", checks pass":""}${n}`:`${t} open and ready to merge${n}`}function Ij(e){return e.queue?"Add the PR to the merge queue; GitHub merges it in turn":"Merge the PR now, by the method the repo allows"}function Rj(e){return e.state==="open"&&!e.automerge&&!e.queued&&e.mergeable!==!1&&e.review!=="changes_requested"&&e.review!=="review_required"&&e.checks!=="fail"&&e.checks!=="pending"}const Hy=e=>`${e.charAt(0).toUpperCase()}${e.slice(1)}`;function Wy(e,t,n){return t===0||e!=null&&e.subject?null:!e||e.stale?"unwritten":e.check==="pending"?"pending":e.check==="fail"?null:e.unanswered||n?"unanswered":"unasked"}function Oj(e,t){return e!=null&&e.stale?`The work changed since this was written. ${t?"Run the check again and refresh":"Refresh"} the message.`:`${t?"Run the repo's check here and write":"Write"} the recap and the commit message.`}const M8="No commit message yet: one is written before the commit.";function L8(e){return e?`No commit message: ${e} has no quick model to write one. Write it in the changes panel.`:"No commit message yet: write one in the changes panel."}function Rf(e,t=0,n=!0,r){var o,s;if(e.check==="pending")return"Checking the work…";if(e.check==="fail"){const a=(s=(o=e.checkTail)==null?void 0:o.split(`
|
|
121
|
+
`).find(l=>l.trim()))==null?void 0:s.trim();return`Check failed${a?`: ${oo(a)}`:"."}`}return Wy(e,t,n)==="unasked"?L8(r):null}function g1(e,t){const n=P8(e,t);return n?oo(Hy(n)):""}function P8(e,t){const n=t>0?`${t} ${t===1?"file":"files"} changed`:"",r=e.check==="pass"?"check passed":"";return[n,r].filter(Boolean).join(", ")}const Mj=e=>/^[A-Z][a-z]+(\s|$)/.test(e)?`${e.charAt(0).toLowerCase()}${e.slice(1)}`:e;function D8(e,t){const n=t??0;return n>0?`${n} behind ${e}; land takes it in first.`:""}function z8(e){return e>0?oo(Hy(`${e} ${e===1?"file":"files"} changed`)):""}function F8(e){return e.stale?"Changed since this was written.":e.why?`Not ready: ${oo(Mj(e.why))}`:null}function Of(e){return oo(e)}const jo=e=>e==="now"?"just now":`${e} ago`;function B8(e,t,n){switch(e){case"asking":return`Waiting on you${n==="now"?"":` for ${n}`}${t.ask?`: ${oo(t.ask)}`:"."}`;case"failed":return t.auth?`Stopped ${jo(n)}: not logged in.`:t.error?`Failed ${jo(n)}: ${oo(t.error)}`:`Failed ${jo(n)}.`;case"stopped":return t.planBack?`Sent the plan back ${jo(n)}. Say what to change.`:`Stopped ${jo(n)}.`;case"done":return t.cut?`Ended early ${jo(n)} (${t.cut}).`:`Finished ${jo(n)}.`}}function Ky(e){var n;const t=(n=e.recap)==null?void 0:n.text;return t?oo(t):B8(e.end,e.facts,kr(e.at))}function U8(e){var n;const t=(n=e.recap)==null?void 0:n.text;return t?`Last stop, ${jo(kr(e.at))}: ${oo(Mj(t))}`:void 0}function zu(e,t){var n,r;return(r=(n=e==null?void 0:e.worktree)==null?void 0:n.runs)==null?void 0:r.find(o=>o.kind===t)}function qy(e){return(e==null?void 0:e.status)==="running"||(e==null?void 0:e.status)==="detached"}function Lj(e){const t=e&&e.status!=="terminated"?e.since:void 0,n=Ey(t,Sy);return t!==void 0&&n===t?e:void 0}function Pj(e,t){const n=e.stage?[e.stage]:[];switch(e.status){case"queued":return[...n,"queued"];case"running":return[...n,`${Aa(t)} of ${zR(e.timeoutMs)}`];case"detached":return[...n,Aa(t),"detached"];case"terminated":return[e.why??"stopped"]}}function Sh(e,t,n){return[e,...Pj(t,n)].join(" · ")}const Wk={queued:"Asked for, not started yet.",running:"Running under the daemon's watch. It is killed at the ceiling.",detached:"The daemon restarted under it. It runs on, unwatched, until it ends or is stopped.",terminated:"Killed: at its ceiling, or by a stop."};function Dj(e){switch(e){case"setup":return"Stop this setup command; the next one runs";case"check":return"Stop the check; it reads as failed until it runs again";case"commit":return"Stop the commit and the hooks it is running; nothing is committed"}}function H8({active:e,ahead:t,behind:n,unpushed:r,dirty:o}){var st,ht,vn;const s=Qe(),a=dt(),l=wn("changes"),u=Sn(e)?e.worktree:null,h=e.id,f=D(xt=>{var ct;return(ct=xt.shipping[h])==null?void 0:ct.op}),p=D(xt=>{var ct;return(ct=xt.shipping[h])==null?void 0:ct.step}),g=Ey(p,Sy),y=zu(e,"commit"),v=zu(e,"check"),w=f?y:v,x=Lj(w),N=Pi(qy(x)?x==null?void 0:x.since:void 0),[E,T]=S.useState("");ot([h],()=>T("")),ot([o],()=>{o||T("")});const j=S.useRef(null),A=(st=u==null?void 0:u.landing)!=null&&st.subject?u.landing.body?`${u.landing.subject}
|
|
122
|
+
|
|
123
|
+
${u.landing.body}`:u.landing.subject:null,I=()=>{E===""&&A&&T(A);const xt=j.current;xt&&(xt.focus(),requestAnimationFrame(()=>xt.setSelectionRange(xt.value.length,xt.value.length)))},$=D(xt=>xt.editCommit);ot([$],()=>{$&&I()});const C=E.trim()||void 0,L=D(xt=>{var ct;return!!((ct=xt.agents.find(Tn=>Tn.id===((u==null?void 0:u.agent)??xt.defaultAgent)))!=null&&ct.quick)}),P=u==null?void 0:u.landing,B=C?null:Wy(P,o?1:0,L),q=(P==null?void 0:P.check)==="pending",ne=!!(P!=null&&P.stale),Q=()=>{f||s==null||s.send({t:"judge",worktreeId:h})},le=()=>{f||!C&&!A||Di(s,a,{t:"commit",worktreeId:h,message:C??A??""})},te=()=>{f||Di(s,a,{t:"land",worktreeId:h,...C?{message:C}:{}})},Z=((ht=u==null?void 0:u.landing)==null?void 0:ht.check)==="fail",R=!!(u!=null&&u.landed)&&!o,J=u?Dw(u,o?1:0):void 0,F=J?ep(J):void 0,O=(F==null?void 0:F.state)==="open",W=O&&(o||r>0),ie=q||ne||!!B&&B!=="unanswered",he=!!u&&Ta(u)&&!R&&(o||t>0)&&!Z&&!O&&!ie,ye=!!u&&W&&!Z&&!ie,$e=!!u&&Ta(u)&&!q&&(ne||B==="unwritten")&&!is(e.agent),Be=D(xt=>xt.repos.find(ct=>ct.id===e.repoId)??null),Ne=Mi((Be==null?void 0:Be.config)??{}),H=ah(Ne,Be==null?void 0:Be.defaultBranch),ae=zw(Ne,J??{}),X=Be?Jh(Be):"main",oe=Yh(e)?Fz(X,n):null,we=is(e.agent),Pe=o&&!u?"commit or discard the changes here first":void 0,Re=!!e.syncQueued,Ke=o&&we?`Merge ${X} into this worktree once the turn ends, uncommitted changes kept`:`Merge ${X} into this worktree${o?", uncommitted changes kept":""}`,tt=O&&!W&&Rj(F),at=he?ae:ye?"update":tt?"land":(F==null?void 0:F.state)==="merged"?"pull":"land",Mt=f==="commit"?g??"commit":f==="land"?g?`${at}: ${g}`:at:null,en=Mt&&x?Sh(Mt,x,N):Mt,ft=S.useRef(!1);en?o&&(ft.current=!0):ft.current=!1;const Ze=!!u&&(o||ft.current),sn=Ze&&!!en,Ut=f?null:w?x?Pj(x,N).join(" · "):null:q?"writing the message":null,zt=x&&(x.status==="running"||x.status==="detached")?x:null,Zt=zt&&d.jsx(Dt,{icon:"stop",tone:"danger",label:Dj(zt.kind),onClick:()=>s==null?void 0:s.send({t:"run-stop",worktreeId:h,kind:zt.kind})});return d.jsxs("div",{className:"composer commit-box",children:[Ze&&d.jsx("div",{className:"composer-field",children:sn?d.jsx("div",{className:"commit-running live-text","data-tip":x?Wk[x.status]:void 0,children:en}):d.jsx(Du,{size:"lg",bare:!0,ref:j,value:E,onChange:xt=>T(xt.target.value),onKeyDown:xt=>{xt.key==="Enter"&&(xt.metaKey||xt.ctrlKey)?(xt.preventDefault(),le()):xt.key==="Tab"&&!xt.shiftKey&&E===""&&A&&(xt.preventDefault(),I())},placeholder:A??(B==="unanswered"?"no message yet: landing writes one, or write one here":B==="unasked"?"no message yet: write one here to commit or land":"commit message…")})}),d.jsxs("div",{className:"hint composer-knobs",children:[d.jsxs("span",{className:"commit-where",children:[d.jsx(Tt,{name:"branch",className:"icon-inline"}),d.jsx("span",{className:"branch-name",children:e.branch??"detached"}),t>0&&d.jsxs("span",{className:"badge-ahead","data-tip":`${t} commit(s) ahead of ${X}`,children:[t," ahead"]}),R&&d.jsxs("span",{className:"badge-landed","data-tip":`Merged into ${X}`,children:[d.jsx(Tt,{name:"check",className:"icon-inline"})," landed"]})]}),d.jsxs("span",{className:"commit-acts",children:[en?d.jsxs(d.Fragment,{children:[!sn&&d.jsx("span",{className:"live-text",children:en}),Zt]}):d.jsxs(d.Fragment,{children:[u&&o&&d.jsx(Le,{disabled:!C&&!A||!!f,onClick:le,...Ot(A&&!C?"Commit with the suggested message":"git add -A && git commit","⌘⏎"),children:"commit"}),u&&he&&d.jsx(Le,{tone:"primary",disabled:!!f,"data-tip":H,onClick:te,children:ae}),$e&&d.jsx(Le,{tone:"primary",disabled:!!f,"data-tip":Oj(P,!!((vn=Be==null?void 0:Be.config.check)!=null&&vn.trim())),onClick:Q,children:"check"}),q&&d.jsx("span",{className:"live-text",children:"check"}),ye&&F&&d.jsx(Le,{tone:"primary",disabled:!!f,"data-tip":`Commit, take ${X} in and push the branch; PR #${F.number} takes the new commits`,onClick:te,children:"update"}),tt&&d.jsx(Le,{tone:"primary",disabled:!!f,"data-tip":Ij(F),onClick:te,children:"land"})]}),F&&d.jsxs(Le,{"data-tip":`Open PR #${F.number} on GitHub`,onClick:()=>Or(F.url),...l.contextMenu(()=>[{id:"open-pr",label:"open on GitHub",onClick:()=>Or(F.url)},{id:"copy-link",label:"copy link",onClick:()=>nn(F.url)}]),children:["view ",d.jsx(Tt,{name:"external",className:"icon-inline"})]}),(F==null?void 0:F.preview)&&d.jsxs(Le,{"data-tip":`Open the branch on ${new URL(F.preview).hostname}`,onClick:()=>Or(F.preview),...l.contextMenu(()=>[{id:"open-preview",label:"open the preview",onClick:()=>Or(F.preview)},{id:"copy-preview",label:"copy link",onClick:()=>nn(F.preview??"")}]),children:["preview ",d.jsx(Tt,{name:"external",className:"icon-inline"})]})]})]}),(oe||Ut)&&d.jsxs("div",{className:"composer-notes",children:[Ut&&d.jsxs("div",{className:"hint composer-note","data-tip":x?Wk[x.status]:void 0,children:[d.jsx("span",{children:Ut}),Zt]}),oe&&d.jsxs("div",{className:"hint composer-note",children:[d.jsx("span",{children:oe}),f==="sync-main"?d.jsx("span",{className:"live-text",children:g?`sync: ${g}`:"sync"}):Re?d.jsx("span",{className:"live-text","data-tip":"Runs once the turn ends, the uncommitted changes kept. The row's menu calls it off",children:"syncing after next turn"}):d.jsx(Le,{variant:"outline",disabled:!!f||!!Pe,"data-tip":Pe??Ke,onClick:()=>Di(s,a,{t:"sync-main",worktreeId:h}),children:"sync"})]})]})]})}const W8=S.memo(function({c:t,id:n,selected:r,onToggle:o}){const s=wn("changes"),a=nd("changes");return d.jsxs("button",{className:"row row-sm log-row row-edge",id:n,"data-state":er({current:r,cursor:r}),role:"option","aria-selected":r,tabIndex:-1,onClick:()=>o(t.sha),...s.contextMenu(()=>kj(t)),"data-tip":`${t.subject}
|
|
124
|
+
${t.short} · ${t.author}`,"data-tip-placement":a,children:[d.jsx("span",{className:"subject",children:t.subject}),d.jsx("span",{className:"at row-dim",children:kr(t.at)})]})});function K8(e,t){const n=Zr(e,t);if(!n||!Sn(n))return"take this worktree over to change files here";if(Fi(n.worktree))return"start a worktree to change files"}function zj(e,t,n,r){return{id:"new-file",label:"new file…",disabled:K8(e.getState(),t),onClick:()=>r(n)}}function q8(e,t,n,r){const{worktreeId:o,dir:s,path:a,folder:l,newIn:u}=e,h=Ry(t.getState(),o)?void 0:"take this worktree over to talk to an agent here",f=PT(a,l),p=[...l?[]:[{id:"open",label:"open",onClick:()=>Cn(n,{worktreeId:o,path:a,view:Hi(a)})}],{id:"add-to-chat",label:"add to chat",disabled:h,onClick:()=>_F(t,o,a,l)}],g=[zj(t,o,u,r),{id:"ask-rename",label:"ask the agent to rename…",disabled:h,onClick:()=>n1(t,o,`Rename ${f} to `)},{id:"ask-delete",label:"ask the agent to delete…",disabled:h,onClick:()=>n1(t,o,`Delete ${f} and update whatever still uses it`)}],y=[...Wo(()=>{var v;return(v=n.sock)==null?void 0:v.send({t:"reveal",worktreeId:o,path:a})},ro(n.sock)),{id:"copy-path",label:"copy path",onClick:()=>nn(`${s}/${a}`)},{id:"copy-relative-path",label:"copy relative path",onClick:()=>nn(a)}];return Ln([p,y,g])}function Z8(e,t,n,r){return Ln([[zj(t,e.worktreeId,"",r)],Wo(()=>{var o;return(o=n.sock)==null?void 0:o.send({t:"reveal",worktreeId:e.worktreeId})},ro(n.sock))])}const Mf=[],G8=[],k1=new Set,w1=e=>`tree-row-${e}`;function V8({worktreeId:e,dir:t,openPath:n,openRef:r,rootRef:o}){const s=Pn(),a=Qe(),l=dt(),u=Ft(e,"files"),h=Ft(e,"submodules"),f=Ft(e,"ignored"),p=Ft(e,"git"),g=(p==null?void 0:p.files)??G8,y=p==null?void 0:p.version,v=D(oe=>oe.connected);ot([e,y,v,a],()=>xp(e,s.getState(),{sock:a,dispatch:l}));const w=D(oe=>{var we;return((we=oe.dragFiles)==null?void 0:we.at)==="tree"&&oe.dragFiles.worktreeId===e?oe.dragFiles.dir:null}),x=D(oe=>oe.treeOpen[e]??Mf),N=S.useMemo(()=>new Set(x),[x]),[E,T]=S.useState(k1);ot([e,n,r],()=>T(n&&!r?new Set(gh(n).filter(oe=>!N.has(oe))):k1));const j=S.useCallback(oe=>N.has(oe)||E.has(oe),[N,E]),A=S.useCallback(oe=>{const we=N.has(oe)||E.has(oe);if(we&&E.has(oe)){const Pe=new Set(E);Pe.delete(oe),T(Pe)}l({a:"tree-folder",worktreeId:e,path:oe,open:!we})},[N,E,e,l]),I=S.useMemo(()=>AF(u??Mf,h??Mf,f??Mf),[u,h,f]),$=S.useMemo(()=>CF(I,j),[I,j]),C=S.useMemo(()=>RF(g),[g]),L=D(oe=>oe.treeReveal),P=L&&L.worktreeId===e?L:null,[B,q]=S.useState(()=>(P==null?void 0:P.path)??null),[ne,Q]=S.useState({worktreeId:e,linked:P});(ne.worktreeId!==e||ne.linked!==P)&&(Q({worktreeId:e,linked:P}),q((P==null?void 0:P.path)??null));const[le,te]=S.useState(!1),Z=S.useMemo(()=>{if(B===null)return-1;const oe=$.findIndex(we=>we.path===B);if(oe>=0)return oe;for(const we of gh(B).reverse()){const Pe=$.findIndex(Re=>Re.path===we);if(Pe>=0)return Pe}return-1},[$,B]);ot([Z,le],()=>{var oe,we;le&&((we=(oe=o.current)==null?void 0:oe.querySelector('[data-state~="cursor"]'))==null||we.scrollIntoView({block:"nearest"}))});const R=S.useCallback((oe,we)=>Cn({dispatch:l},{worktreeId:e,path:oe,view:Hi(oe),focus:we}),[e,a,l]),J=S.useCallback(oe=>{q(oe.path),oe.kind==="folder"?A(oe.path):oe.kind==="file"&&R(oe.path,!1)},[A,R]),F=oe=>{var Re;if(oe.metaKey||oe.ctrlKey||oe.altKey)return;const we=$[Z],Pe=Ke=>{const tt=$[Ke];tt&&(q(tt.path),tt.kind==="file"&&R(tt.path,!1))};switch(oe.key){case"ArrowDown":case"ArrowUp":oe.preventDefault(),Pe(Z<0?0:sd(Z,oe.key==="ArrowDown"?1:-1,$.length));return;case" ":oe.preventDefault(),(we==null?void 0:we.kind)==="file"?R(we.path,!1):(we==null?void 0:we.kind)==="folder"&&A(we.path);return;case"Enter":oe.preventDefault(),(we==null?void 0:we.kind)==="file"?R(we.path,!0):(we==null?void 0:we.kind)==="folder"&&A(we.path);return;case"ArrowRight":case"ArrowLeft":{oe.preventDefault();const Ke=$.map(at=>at.kind==="folder"?{depth:at.depth,open:at.open}:{depth:at.depth}),tt=_p(Ke,Z,oe.key);(tt==null?void 0:tt.do)==="to"?Pe(tt.at):tt&&we&&A(we.path);return}case"Escape":oe.stopPropagation(),n!==null?l({a:"close-editor"}):(Re=document.activeElement)==null||Re.blur();return}if(oe.key.length===1){const Ke=aj($.map(tt=>tt.name),Z,oe.key);Ke>=0&&(oe.preventDefault(),Pe(Ke))}},[O,W]=S.useState(null),ie=S.useRef(0),he=S.useCallback(oe=>{oe&&!j(oe)&&A(oe),ie.current++,W({dir:oe,error:null,busy:!1})},[j,A]),ye=S.useCallback(()=>{ie.current++,W(null)},[]),$e=S.useCallback(oe=>{if(!O||O.busy)return;const we=IF(O.dir,oe);if("error"in we){W({...O,error:we.error});return}const Pe=++ie.current;W({...O,error:null,busy:!0}),IT({sock:a,dispatch:l},{worktreeId:e,path:we.path}).then(Re=>{Re===null&&q(we.path),Pe===ie.current&&W(Re===null?null:{...O,error:Re,busy:!1})})},[O,e,a,l]),Be=wn("tree"),Ne=S.useCallback(oe=>q8({worktreeId:e,dir:t,path:oe.path,folder:oe.kind!=="file",newIn:oe.kind==="folder"||oe.kind==="ignored"?oe.path:FT(oe.path)},s,{sock:a,dispatch:l},he),[e,t,s,a,l,he]),H=S.useCallback((oe,we)=>{oe.kind==="file"&&cn.post(e,we?{type:"highlight-file",path:oe.path,ranges:null}:{type:"highlight-clear"})},[e]),ae=S.useCallback((oe,we)=>Pu(we,{kind:"paths",worktreeId:e,items:[{path:oe.path,folder:oe.kind!=="file"}]}),[e]),X=S.useCallback(()=>id(s),[s]);return d.jsx("div",{className:We("tree",w===""&&"drop-over"),role:"tree","aria-label":"files","data-worktree":e,"aria-activedescendant":le&&Z>=0?w1(Z):void 0,tabIndex:0,ref:o,onKeyDown:F,onFocus:()=>{var oe;te(!0),B===null&&q(n&&$.some(we=>we.path===n)?n:((oe=$[0])==null?void 0:oe.path)??null)},onBlur:oe=>!oe.currentTarget.contains(oe.relatedTarget)&&te(!1),onMouseDown:oe=>{if(oe.button!==0)return;const we=oe.target.closest("[data-path]");(we==null?void 0:we.dataset.path)!==void 0&&q(we.dataset.path)},...Be.contextMenu(oe=>{const we=$[Z];return oe==="keyboard"&&we?Ne(we):Z8({worktreeId:e},s,{sock:a},he)}),children:u===void 0?d.jsx("div",{className:"empty",children:d.jsx("span",{className:"live-text",children:"listing files"})}):$.length===0&&!O?d.jsx("div",{className:"empty",children:"no files"}):Y8($.map((oe,we)=>d.jsx(Q8,{row:oe,id:w1(we),status:C.files.get(oe.path),changedInside:oe.kind!=="file"&&C.folders.has(oe.path),current:le?we===Z:!r&&oe.path===n,cursor:le&&we===Z,dropOver:w===oe.path,onPress:J,menu:Ne,onHover:H,onDragStart:ae,onDragEnd:X},oe.path)),O&&(()=>{var we;const oe=O.dir===""?-1:$.findIndex(Pe=>Pe.path===O.dir);return{at:oe,node:d.jsx(X8,{depth:oe>=0?(((we=$[oe])==null?void 0:we.depth)??0)+1:0,error:O.error,onSubmit:$e,onCancel:ye},"new-file")}})())})}function Y8(e,t){return t?[...e.slice(0,t.at+1),t.node,...e.slice(t.at+1)]:e}function X8({depth:e,error:t,onSubmit:n,onCancel:r}){const[o,s]=S.useState(""),a={"--tree-depth":e},l=e===0||void 0;return d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"row row-sm tree-row row-rails","data-kind":"file","data-root":l,style:a,children:[d.jsx("span",{className:"tree-caret row-dim"}),d.jsx(Uo,{bare:!0,font:"mono",autoFocus:!0,className:"tree-new-name","aria-label":"new file name","aria-invalid":t!==null||void 0,placeholder:"name",value:o,onChange:u=>s(u.target.value),onKeyDown:u=>{u.stopPropagation(),u.key==="Enter"?(u.preventDefault(),n(o)):u.key==="Escape"&&(u.preventDefault(),r())},onBlur:r})]}),t&&d.jsxs("div",{className:"tree-row tree-new-error row-rails","data-root":l,style:a,children:[d.jsx("span",{className:"tree-caret"}),d.jsx("span",{className:"hint",children:t})]})]})}const Q8=S.memo(function({row:t,id:n,status:r,changedInside:o,current:s,cursor:a,dropOver:l,onPress:u,menu:h,onHover:f,onDragStart:p,onDragEnd:g}){const y=wn("tree"),v=Np(),w=nd("changes"),x=t.kind==="submodule",N=x?"A submodule: its files belong to its own repository":t.kind==="ignored"?"Ignored by git, so what is inside is not listed":null;return d.jsxs("div",{role:"treeitem",id:n,"aria-level":t.depth+1,"aria-expanded":t.kind==="folder"?t.open:void 0,"aria-selected":a,className:We("row row-sm tree-row row-rails row-edge",l&&"drop-over"),"data-state":er({current:s,cursor:a}),"data-kind":t.kind,"data-path":t.path,style:{"--tree-depth":t.depth},draggable:v&&!x,onDragStart:E=>p(t,E),onDragEnd:g,onClick:()=>u(t),onMouseEnter:()=>f(t,!0),onMouseLeave:()=>f(t,!1),...y.contextMenu(()=>h(t)),...N?Ot(N,void 0,{placement:w}):{},children:[d.jsx("span",{className:"tree-caret row-dim",children:t.kind==="folder"&&d.jsx(Tt,{name:"caret",className:We("icon-inline disc-caret",!t.open&&"shut")})}),d.jsx("span",{className:We("tree-name",(x||t.ignored)&&"row-dim"),children:t.name}),r?d.jsx("span",{className:`xy ${cy(r.xy)}`,children:ly(r.xy)}):o&&d.jsx("span",{className:"dot tree-changed"})]})});function Fj({f:e}){return e.add===void 0&&e.del===void 0?null:d.jsxs("span",{className:"counts",children:[e.add?d.jsxs("span",{className:"add",children:["+",e.add]}):null,e.del?d.jsxs("span",{className:"del",children:["−",e.del]}):null]})}const Lf=S.memo(function({f:t,id:n,active:r,selected:o,checking:s=!1,checked:a=!1,onOpen:l,onCheck:u,onRead:h,menu:f,onHover:p,onDragStart:g,onDragEnd:y}){const v=wn("changes"),w=Np(),x=nd("changes"),{name:N,dir:E}=SN(t.path),T=!!h&&!!qa(t.path)&&!t.xy.includes("D");return d.jsxs("div",{className:"row row-sm git-file row-edge",id:n,"data-state":er({current:r,cursor:o,checked:a}),role:"option","aria-selected":o,tabIndex:-1,onClick:j=>u&&(s||j.shiftKey)?u(t.path):l(t.path),draggable:w&&!!g,onDragStart:g&&(j=>g(t.path,j)),onDragEnd:y,...v.contextMenu(()=>f(t.path)),onMouseEnter:()=>p(t.path,!0),onMouseLeave:()=>p(t.path,!1),"data-tip":E?t.path:void 0,"data-tip-placement":x,children:[s&&d.jsx("input",{type:"checkbox",className:"changes-check",checked:a,readOnly:!0,tabIndex:-1}),d.jsxs("span",{className:`xy ${cy(t.xy)}`,children:[ly(t.xy),T&&d.jsx(Dt,{icon:"eye",className:"git-file-read",label:"Read this file rendered",placement:x,tabIndex:-1,onClick:j=>{j.stopPropagation(),h(t.path)}})]}),d.jsxs("span",{className:"path",children:[d.jsx("span",{className:"name",children:N}),E&&d.jsx("span",{className:"dir row-dim",children:E})]}),d.jsx(Fj,{f:t})]})}),y1=new Set(["test","tests","__tests__","spec","e2e","__snapshots__","__mocks__","fixtures","testdata"]),J8=/([._-]tests?\.[^.]+$)|([._]specs?\.[^.]+$)|(^tests?[._-])|(^conftest\.py$)|(\.snap$)|([a-z0-9](Tests?|Spec)\.[^.]+$)/;function _h(e){const t=(e.endsWith("/")?e.slice(0,-1):e).split("/"),n=t.pop()??"";return e.endsWith("/")&&y1.has(n.toLowerCase())?!0:t.some(r=>y1.has(r.toLowerCase()))||J8.test(n)}function eh(e){const t=e.filter(n=>!_h(n.path));return t.length===0||t.length===e.length?{files:e,source:t.length}:{files:[...t,...e.filter(n=>_h(n.path))],source:t.length}}const Pf=[];function e9(e,t){var a,l;const n=eh((e==null?void 0:e.files)??Pf),r=(a=e==null?void 0:e.extras)==null?void 0:a.turn,o=eh(r&&t.turn?r.files:Pf),s=eh(t.committed?((l=e==null?void 0:e.extras)==null?void 0:l.committed)??Pf:Pf);return{files:n.files,fileSource:n.source,turned:o.files,turnedSource:o.source,turnBase:r==null?void 0:r.base,committed:s.files,committedSource:s.source}}const t9={added:"A",changed:"M",removed:"D"},n9={added:"added",changed:"",removed:"deleted"},r9=S.memo(function({tests:t,id:n,cursor:r,onPick:o}){return t.map((s,a)=>d.jsxs("button",{className:"row row-sm changes-test row-rails row-edge",id:`${n}-t${a}`,"data-state":er({current:r===a,cursor:r===a}),"data-sub":!0,role:"option","aria-selected":r===a,tabIndex:-1,onClick:()=>o(a),"data-tip":[...s.group,s.name].join(" · "),"data-tip-placement":"follow",children:[d.jsx("span",{className:`xy ${n9[s.change]}`,children:t9[s.change]}),d.jsx("span",{className:"name",children:s.name})]},a))}),Kk="(?<q>[\"'`])(?<name>(?:\\\\.|(?!\\k<q>).)*)\\k<q>",v1={tests:[new RegExp(`^\\s*(?:test|it)(?:\\.(?!each\\b)\\w+)*(?:\\.each\\(.*\\))?\\(\\s*${Kk}`)],groups:[new RegExp(`^\\s*describe(?:\\.(?!each\\b)\\w+)*(?:\\.each\\(.*\\))?\\(\\s*${Kk}`)]},o9={js:v1,py:{tests:[/^\s*(?:async\s+)?def\s+(?<name>test\w*)\s*\(/],groups:[/^\s*class\s+(?<name>Test\w*)/]},go:{tests:[/^func\s+(?<name>(?:Test|Benchmark|Fuzz|Example)\w*)\s*\(/,/^\s+\w+\.Run\(\s*"(?<name>(?:\\.|[^"\\])*)"/]},rs:{mark:/^\s*#\[(?:\w+::)*(?:test|rstest|test_case)\b/,tests:[/\bfn\s+(?<name>\w+)/]},jvm:{mark:/^\s*@(?:Test|ParameterizedTest|RepeatedTest|TestFactory)\b/,tests:[/\b(?:void|fun)\s+(?<name>`[^`]+`|\w+)\s*\(/]},cs:{mark:/^\s*\[(?:Test|TestCase|Fact|Theory|TestMethod)\b/,tests:[/\b(?:void|Task)\s+(?<name>\w+)\s*\(/]},rb:{tests:[new RegExp(`^\\s*(?:it|specify|test|scenario)\\s*\\(?\\s*${Kk}`),/^\s*def\s+(?<name>test_\w+)/],groups:[/^\s*(?:RSpec\.)?(?:describe|context|feature)\s*\(?\s*(?<name>"[^"]*"|'[^']*'|[\w:]+)/]},exs:{tests:[/^\s*test\s+"(?<name>(?:\\.|[^"\\])*)"/],groups:[/^\s*describe\s+"(?<name>(?:\\.|[^"\\])*)"/]},swift:{tests:[/^\s*(?:@Test\s+)?func\s+(?<name>test\w*)\s*\(/]},php:{tests:[/\bfunction\s+(?<name>test\w*)\s*\(/,...v1.tests]}},s9={js:"js",jsx:"js",mjs:"js",cjs:"js",ts:"js",tsx:"js",mts:"js",cts:"js",py:"py",go:"go",rs:"rs",java:"jvm",kt:"jvm",cs:"cs",rb:"rb",exs:"exs",swift:"swift",php:"php"},i9=3,a9=/^\s*(?:[)}\]]|end\b)/,Lg=e=>e.length-e.trimStart().length;function b1(e,t){var n,r;for(const o of t??[]){const s=(r=(n=o.exec(e))==null?void 0:n.groups)==null?void 0:r.name;if(s!==void 0)return s.replace(/^(["'`])(.*)\1$/,"$2")}return null}function x1(e,t){const n=t.split(`
|
|
125
|
+
`),r=[],o=[];let s=Number.NEGATIVE_INFINITY;return n.forEach((a,l)=>{var g,y,v;if(a.trim()==="")return;const u=Lg(a);for(;o.length>0&&(((g=o.at(-1))==null?void 0:g.indent)??0)>=u;)o.pop();(y=e.mark)!=null&&y.test(a)&&(s=l);const f=!e.mark||l-s<=i9?b1(a,e.tests):null,p=f??b1(a,e.groups);if(p!==null){if(f!==null){s=Number.NEGATIVE_INFINITY;let w=l+1;for(;w<n.length&&(((v=n[w])==null?void 0:v.trim())===""||Lg(n[w]??"")>u);)w++;w<n.length&&Lg(n[w]??"")===u&&a9.test(n[w]??"")&&w++;const x=n.slice(l,w).map(N=>N.trim()).join(`
|
|
126
|
+
`).trim();r.push({group:o.map(N=>N.name),name:p,line:l,end:w,body:x})}o.push({indent:u,name:p})}}),r}function E1(e){const t=new Map;for(const n of e){const r=[...n.group,n.name].join(`
|
|
127
|
+
`);let o=0;for(;t.has(`${r}
|
|
128
|
+
${o}`);)o++;t.set(`${r}
|
|
129
|
+
${o}`,n)}return t}function c9(e,t,n){const r=o9[s9[e.slice(e.lastIndexOf(".")+1).toLowerCase()]??""];if(!r)return[];const o=E1(x1(r,t)),s=E1(x1(r,n)),a=[];for(const[f,p]of s){const g=o.get(f);(g==null?void 0:g.body)!==p.body&&a.push({name:p.name,group:p.group,change:g?"changed":"added",line:p.line+1})}const l=n.split(`
|
|
130
|
+
`).length;let u=1;for(const[f,p]of o){const g=s.get(f);g?u=Math.min(g.end+1,l):a.push({name:p.name,group:p.group,change:"removed",line:u})}const h=f=>f.change==="removed"?0:1;return a.sort((f,p)=>f.line-p.line||h(f)-h(p))}const l9=[];function u9(e,t,n,r){const o=t?n>0?"no changes of its own":`same as ${e}`:"no changes";if(!r)return o;const s=kr(r.at);return`${o}, last commit ${s==="now"?"just now":`${s} ago`}`}const S1='[role="option"]:not([data-sub])',_1=[];function Bj({width:e,placement:t="dock"}){var Hn,xn;const n=t==="screen",r=Qe(),o=dt(),s=Pn(),a=fl(),l=Ya(),u=(l==null?void 0:l.id)??a,h=Ys(),f=D(G=>G.layout.changes),p=ed(),g=D(G=>G.focusChanges),y=D(G=>l!==null&&G.archiving.includes(l.id)),v=y?null:u,w=Ft(v,"git"),x=D(G=>G.editor&&G.editor.worktreeId===u?G.editor.path:null),N=D(G=>G.editor&&G.editor.worktreeId===u?G.editor.ref??null:null),E=D(G=>G.editor&&G.editor.worktreeId===u?G.editor.since??null:null),T=D(G=>G.editor&&G.editor.worktreeId===u?G.editor.view:null),j=D(G=>!!G.editor&&G.editor.worktreeId===u&&G.editor.marks),A=(((Hn=w==null?void 0:w.extras)==null?void 0:Hn.committed)??l9).length>0,I=M6(),$=(xn=w==null?void 0:w.extras)==null?void 0:xn.turn,C=L6(),L=S.useMemo(()=>e9(w,{turn:C,committed:I}),[w,C,I]),{files:P,fileSource:B,turned:q,turnedSource:ne,turnBase:Q,committed:le,committedSource:te}=L,Z=P.length,R=P.length+q.length,J=D(G=>G.editor&&G.editor.worktreeId===u?G.editor.disk:null),F=S.useMemo(()=>x!==null&&J&&_h(x)?c9(x,J.before,J.after):_1,[x,J]),[O,W]=S.useState(!1);ot([x,N,E],()=>W(!1));const ie=B>0?P.length-B:0,he=te>0?le.length-te:0,ye=ne>0?q.length-ne:0,$e=P.length===0,Be=S.useMemo(()=>{if(P.length===0)return;const G=P.reduce((nt,Nt)=>nt+(Nt.add??0),0),fe=P.reduce((nt,Nt)=>nt+(Nt.del??0),0),Se=[G>0&&`+${G}`,fe>0&&`−${fe}`].filter(Boolean).join(" "),Et=`${P.length} uncommitted ${P.length===1?"file":"files"}`;return Se?`${Et}, ${Se}`:Et},[P]),Ne=!!w&&$e&&(w.ahead??0)===0,H=D(tl),ae=l!==null||H==="changes",X=l!==null||H==="history",oe=S.useCallback(G=>o({a:"changes-tab",v:G}),[o]),we=S.useRef(H);we.current=H;const Pe=S.useRef(null),Re=_y(),Ke=D(G=>{const fe=xs(G,Re==null?void 0:Re.repoId);return fe?Jh(fe):"main"}),tt=Ft(v,"commits"),at=Ft(u,"commitFiles"),[Mt,en]=S.useState(null),ft=S.useRef(null);ft.current=Mt;const Ze=S.useRef(null),sn=Ft(u,"changedRanges"),Ut=S.useCallback((G,fe)=>{if(!u||l)return;if(!fe){Ze.current=null,cn.post(u,{type:"highlight-clear"});return}Ze.current=G;const Se=sn[G];Se?cn.post(u,{type:"highlight-file",path:G,ranges:Mx(Se)}):r==null||r.send({t:"changed-ranges",worktreeId:u,path:G})},[u,l,sn,r]);S.useEffect(()=>{const G=Ze.current;if(!G||!u)return;const fe=sn[G];fe&&cn.post(u,{type:"highlight-file",path:G,ranges:Mx(fe)})},[sn,u]);const zt=l&&P.length>0?(w==null?void 0:w.head)??null:null,Zt=S.useCallback((G,fe=!1,Se,Et)=>u&&Cn({dispatch:o},{worktreeId:u,path:G,focus:fe,ref:zt??void 0,since:Se,...Et?{view:Et,picked:!0}:{}}),[u,zt,r,o]),st=S.useMemo(()=>l?P:[...P,...q,...le],[l,P,q,le]),ht=S.useMemo(()=>{const G=[];for(const fe of tt??[])if(G.push({commit:fe}),fe.sha===Mt)for(const Se of eh(at[fe.sha]??[]).files)G.push({commit:fe,file:Se});return G},[tt,Mt,at]),vn=S.useMemo(()=>ht.filter(G=>!G.file&&G.commit.ahead).length,[ht]),xt=S.useMemo(()=>ht.findIndex(G=>!G.file&&!G.commit.ahead),[ht]),ct=l?st.length:0,Tn=(ae?st.length:0)+(X?ht.length:0),pn=S.useMemo(()=>{const G=new Map;if(!l||P.length===0&&ht.every(Se=>Se.commit.landedAt))return G;let fe;return ht.forEach((Se,Et)=>{const nt=!!Se.commit.landedAt;nt!==fe&&(fe=nt,G.set(Et,nt?"landed":"not landed"))}),G},[l,P,ht]),In=S.useRef(null),[{row:Oe,at:pt},Ht]=S.useReducer((G,fe)=>typeof fe=="number"?{row:fe,at:-1}:fe,{row:0,at:-1}),[an,Gn]=S.useState(!1),ee=(G,fe)=>an?Ct(G):fe,ge=G=>`changes-row-${G}`,[He,lt]=S.useState(!1),[z,re]=S.useState([]),Ee=S.useCallback(()=>{lt(!1),re([])},[]),Ge=S.useCallback(G=>{lt(!0),re(fe=>fe.includes(G)?fe.filter(Se=>Se!==G):[...fe,G])},[]),_t=S.useMemo(()=>P.filter(G=>z.includes(G.path)).map(G=>G.path),[P,z]);ot([P],()=>re(G=>{const fe=G.filter(Se=>P.some(Et=>Et.path===Se));return fe.length===G.length?G:fe})),ot([He],()=>{if(!He)return;const G=fe=>fe.key==="Escape"&&Ee();return window.addEventListener("keydown",G),()=>window.removeEventListener("keydown",G)}),ot([u,H],()=>{Ht(0),Ee()});const kt=w==null?void 0:w.head,De=S.useRef("");S.useEffect(()=>{if(!(X||Ne)||!u)return;if(y){De.current="";return}const G=`${u}:${kt??""}`;De.current!==G&&(De.current=G,r==null||r.send({t:"git-log",worktreeId:u}))},[X,Ne,u,kt,y,r]);const ze=S.useCallback(G=>{en(fe=>fe===G?null:G),u&&!at[G]&&(r==null||r.send({t:"git-commit",worktreeId:u,sha:G}))},[u,at,r]);ot([Oe,pt,an],()=>{var G,fe;an&&((fe=(G=In.current)==null?void 0:G.querySelector('[data-state~="cursor"]'))==null||fe.scrollIntoView({block:"nearest"}))});const qe=S.useRef(-1),Yt=G=>G>=Z&&G<R?Q:void 0,Wt=G=>{var fe;return((fe=st[G])==null?void 0:fe.path)===x&&(E??void 0)===Yt(G)&&(G<Z?N===zt:!N)};qe.current=ae?st.findIndex((G,fe)=>Wt(fe)):-1,S.useEffect(()=>{if(!g)return;const G=we.current==="files";qe.current>=0&&Ht(qe.current);const fe=requestAnimationFrame(()=>{var Se;return(Se=(G?Pe:In).current)==null?void 0:Se.focus()});return()=>cancelAnimationFrame(fe)},[g]);const Rn=S.useCallback((G,fe=!1)=>{const Se=st[G];Se&&(Ht(G),Zt(Se.path,fe,G>=Z&&G<R?Q:void 0),Ut(Se.path,!0))},[st,Zt,Ut,Z,R,Q]),un=S.useCallback((G,fe=!1,Se)=>{const Et=ft.current;u&&Et&&Cn({dispatch:o},{worktreeId:u,path:G,ref:Et,focus:fe,...Se?{view:Se,picked:!0}:{}})},[u,r,o]),Vn=S.useCallback(G=>{const fe=ht[G-ct];fe&&(Ht(G),fe.file&&un(fe.file.path))},[ht,ct,un]),rn=S.useCallback(G=>{const fe=ht[G-ct];fe&&(Ht(G),fe.file?un(fe.file.path,!0):ze(fe.commit.sha))},[ht,ct,un,ze]),Jt=G=>X&&G>=ct,rr=G=>{if(x===null)return!1;if(ae&&G<st.length)return Wt(G);const fe=Jt(G)?ht[G-ct]:void 0;return!!(fe!=null&&fe.file)&&N===fe.commit.sha&&fe.file.path===x},bn=G=>rr(G)&&!O?F:_1,Kt=pt<bn(Oe).length?pt:-1,Ct=G=>an&&Oe===G&&Kt<0,kn=()=>{var fe,Se;const G=[];for(let Et=0;Et<Tn;Et++){const nt=Jt(Et)?ht[Et-ct]:void 0,Nt=nt?(fe=nt.file)==null?void 0:fe.path:(Se=st[Et])==null?void 0:Se.path,Fn=nt!=null&&nt.file?1:0,or=bn(Et);nt&&!nt.file?G.push({row:Et,at:-1,depth:Fn,open:nt.commit.sha===Mt}):Nt!==void 0&&_h(Nt)?G.push({row:Et,at:-1,depth:Fn,open:or.length>0}):G.push({row:Et,at:-1,depth:Fn});for(let _e=0;_e<or.length;_e++)G.push({row:Et,at:_e,depth:Fn+1})}return G},de=(G,fe=!1)=>{const Se=F[G];!Se||!u||x===null||Cn({dispatch:o},{worktreeId:u,path:x,ref:N??void 0,since:E??void 0,line:{n:Se.line},focus:fe})},Fe=G=>bn(G).length>0&&d.jsx(r9,{tests:F,id:ge(G),cursor:an&&Oe===G?Kt:-1,onPick:fe=>{Ht({row:G,at:fe}),de(fe)}}),wt=G=>{var fe;if(He&&G.key==="Escape")G.preventDefault(),G.stopPropagation(),Ee();else if(He&&G.key===" "){G.preventDefault();const Se=ae&&Oe<P.length?P[Oe]:void 0;Se&&Ge(Se.path)}else if(G.key==="ArrowDown"&&Kt+1<bn(Oe).length)G.preventDefault(),Ht({row:Oe,at:Kt+1}),de(Kt+1);else if(G.key==="ArrowUp"&&Kt>=0)G.preventDefault(),Kt===0?Ht(Oe):(Ht({row:Oe,at:Kt-1}),de(Kt-1));else if(G.key==="Enter"&&Kt>=0)G.preventDefault(),de(Kt,!0);else if(G.key==="ArrowDown"||G.key==="ArrowUp"){G.preventDefault();const Se=sd(Oe,G.key==="ArrowDown"?1:-1,Tn);Jt(Se)?Vn(Se):Rn(Se)}else if(G.key==="Enter")G.preventDefault(),Jt(Oe)?rn(Oe):Rn(Oe,!0);else if(G.key==="ArrowRight"||G.key==="ArrowLeft"){G.preventDefault();const Se=kn(),Et=_p(Se,Se.findIndex(Fn=>Fn.row===Oe&&Fn.at===Kt),G.key),nt=Et&&Se[Et.at];if(!Et||!nt)return;const Nt=Jt(nt.row)?ht[nt.row-ct]:void 0;Et.do==="to"?nt.at>=0?(Ht({row:nt.row,at:nt.at}),de(nt.at)):Nt!=null&&Nt.file&&nt.row>Oe?Vn(nt.row):Ht(nt.row):Nt&&!Nt.file?ze(Nt.commit.sha):Et.do==="close"?W(!0):rr(nt.row)?W(!1):Nt!=null&&Nt.file?Vn(nt.row):Rn(nt.row)}else G.key==="Escape"&&(G.stopPropagation(),x!==null?o({a:"close-editor"}):(fe=document.activeElement)==null||fe.blur())},Ye=l?l.id:h==null?void 0:h.worktree.id,Lt=l?l.path:h?h.worktree.path:"",On=l!==null,Qt=S.useMemo(()=>Ye?(G,fe)=>Pu(fe,{kind:"paths",worktreeId:Ye,items:[{path:G,folder:!1}]}):void 0,[Ye]),hr=S.useRef(_t);hr.current=_t;const ur=S.useMemo(()=>Ye?(G,fe)=>{const Se=hr.current;if(!Se.includes(G))return Qt==null?void 0:Qt(G,fe);Pu(fe,{kind:"paths",worktreeId:Ye,items:Se.map(Et=>({path:Et,folder:!1}))})}:void 0,[Ye,Qt]),jn=S.useCallback(()=>id(s),[s]),vt=S.useCallback(G=>Ye?Ws({id:Ye,dir:Lt},G,{discard:!On,kept:On,ref:zt??void 0,select:On?void 0:Ge},{sock:r,dispatch:o}):[],[Ye,Lt,On,zt,Ge,r,o]),je=S.useCallback(G=>Ye?Ws({id:Ye,dir:Lt},G,{kept:On},{sock:r,dispatch:o}):[],[Ye,Lt,On,r,o]),xe=S.useCallback(G=>Ye?Ws({id:Ye,dir:Lt},G,{kept:On,since:Q},{sock:r,dispatch:o}):[],[Ye,Lt,On,Q,r,o]),bt=S.useCallback(G=>Ye?Ws({id:Ye,dir:Lt},G,{ref:ft.current??void 0,kept:On},{sock:r,dispatch:o}):[],[Ye,Lt,On,r,o]),jt=wn("changes"),mn=()=>{if(ae&&Oe<st.length){const fe=st[Oe];return fe?(Oe<Z?vt:Oe<R?xe:je)(fe.path):[]}const G=Jt(Oe)?ht[Oe-ct]:void 0;return G?G.file?bt(G.file.path):kj(G.commit):[]},Gt=S.useCallback(()=>{if(T!=="preview"||!J||x===null)return!1;const G=J.before===""||J.before===J.after;return qa(x)==="markdown"?G||j?!1:(o({a:"editor-marks",v:!0}),!0):(o({a:"editor-view",v:G?"file":"diff"}),!0)},[T,j,J,x,o]),Yn=(G,fe,Se)=>{const Et=st.findIndex((nt,Nt)=>Nt>=G&&nt.path===fe);Ht(Et),!(!Se&&Wt(Et)&&Gt())&&(!Se&&Wt(Et)&&F.length>0?W(nt=>!nt):Zt(fe,!1,Yt(Et),Se))},Dn=S.useRef(Yn);Dn.current=Yn;const ln=S.useCallback(G=>Dn.current(0,G),[]),Vt=S.useCallback(G=>Dn.current(Z,G),[Z]),zn=S.useCallback(G=>Dn.current(R,G),[R]),dr=S.useCallback(G=>Dn.current(0,G,"preview"),[]),Sr=S.useCallback(G=>Dn.current(Z,G,"preview"),[Z]),yr=S.useCallback(G=>Dn.current(R,G,"preview"),[R]),Vr=S.useCallback(G=>{Ht(ct+ht.findIndex(fe=>!fe.file&&fe.commit.sha===G)),ze(G)},[ht,ct,ze]),so=S.useCallback(G=>{Ht(ct+ht.findIndex(Se=>{var Et;return((Et=Se.file)==null?void 0:Et.path)===G}));const fe=G===x&&N===ft.current;fe&&Gt()||(fe&&F.length>0?W(Se=>!Se):un(G))},[ht,ct,un,x,N,F,Gt]),qo=S.useCallback(G=>{Ht(ct+ht.findIndex(fe=>{var Se;return((Se=fe.file)==null?void 0:Se.path)===G})),un(G,!1,"preview")},[ht,ct,un]),Pr=S.useCallback(()=>{},[]);return d.jsxs("div",{className:We("changes-dock",n&&"changes-screen",!n&&(!f||p)&&"collapsed"),style:n?void 0:{width:e},children:[!l&&d.jsx(Qa,{fill:!n,quiet:n,owner:"changes-tabs",label:"changes panel",items:[{id:"files",label:d.jsx(Tt,{name:"folder",className:"icon-inline"}),fit:!0,ariaLabel:"files",tip:Ot("files",qt("files"))},{id:"changes",label:"changes",tip:Ot("changes",qt("changes"),{detail:Be})},{id:"history",label:"history"}],current:H,onPick:oe}),H==="files"&&u?d.jsx(V8,{worktreeId:u,dir:h?h.worktree.path:(Re==null?void 0:Re.path)??"",openPath:x,openRef:N,rootRef:Pe}):d.jsxs("div",{className:We("changes-list",X&&"history"),role:"listbox","aria-label":l?"kept work":X?"commits":"changed files","aria-activedescendant":an&&Oe>=0&&Oe<Tn?Kt<0?ge(Oe):`${ge(Oe)}-t${Kt}`:void 0,tabIndex:0,ref:In,onKeyDown:wt,onFocus:()=>Gn(!0),onMouseDown:G=>{var Et;if(G.button!==0)return;G.preventDefault();const fe=G.target.closest(S1),Se=fe?Array.from(G.currentTarget.querySelectorAll(S1)).indexOf(fe):-1;Se>=0&&Ht(Se),(Et=In.current)==null||Et.focus()},onBlur:G=>!G.currentTarget.contains(G.relatedTarget)&&Gn(!1),...jt.contextMenu(G=>G==="keyboard"?mn():[]),children:[ae&&P.length>0&&d.jsxs(d.Fragment,{children:[(A||((w==null?void 0:w.ahead)??0)>0||l)&&d.jsx("div",{className:"section-title section-row",children:"uncommitted"}),P.map((G,fe)=>d.jsxs(S.Fragment,{children:[ie>0&&fe===B&&d.jsx("div",{className:"section-title changes-sub",children:"tests"}),d.jsx(Lf,{f:G,id:ge(fe),active:ee(fe,rr(fe)),selected:Ct(fe),checking:He,checked:z.includes(G.path),onOpen:ln,onCheck:On?void 0:Ge,onRead:dr,menu:vt,onHover:Ut,onDragStart:ur,onDragEnd:jn}),Fe(fe)]},`${G.xy}:${G.path}`))]}),ae&&!l&&$&&d.jsxs(d.Fragment,{children:[d.jsxs("button",{type:"button",className:"section-title section-row section-fold","aria-expanded":C,"data-tip":"What changed since your last message","data-tip-placement":"follow",onClick:()=>o({a:"toggle-turn"}),onKeyDown:G=>(G.key==="Enter"||G.key===" ")&&G.stopPropagation(),children:["last turn",d.jsx(Tt,{name:"caret",className:We("icon-inline disc-caret",!C&&"shut")})]}),q.map((G,fe)=>d.jsxs(S.Fragment,{children:[ye>0&&fe===ne&&d.jsx("div",{className:"section-title changes-sub",children:"tests"}),d.jsx(Lf,{f:G,id:ge(Z+fe),active:ee(Z+fe,rr(Z+fe)),selected:Ct(Z+fe),onOpen:Vt,onRead:Sr,menu:xe,onHover:Ut,onDragStart:Qt,onDragEnd:jn}),Fe(Z+fe)]},`t-${G.path}`))]}),ae&&!l&&A&&d.jsxs(d.Fragment,{children:[d.jsxs("button",{type:"button",className:"section-title section-row section-fold","aria-expanded":I,"data-tip":`Committed on this branch, not yet on ${Ke}`,"data-tip-placement":"follow",onClick:()=>o({a:"toggle-committed"}),onKeyDown:G=>(G.key==="Enter"||G.key===" ")&&G.stopPropagation(),children:["committed",d.jsx(Tt,{name:"caret",className:We("icon-inline disc-caret",!I&&"shut")})]}),le.map((G,fe)=>d.jsxs(S.Fragment,{children:[he>0&&fe===te&&d.jsx("div",{className:"section-title changes-sub",children:"tests"}),d.jsx(Lf,{f:G,id:ge(R+fe),active:ee(R+fe,rr(R+fe)),selected:Ct(R+fe),onOpen:zn,onRead:yr,menu:je,onHover:Ut,onDragStart:Qt,onDragEnd:jn}),Fe(R+fe)]},`c-${G.path}`))]}),ae&&!l&&Ne&&d.jsx("div",{className:"empty",children:u9(Ke,!!Re&&Yh(Re),(w==null?void 0:w.behind)??0,tt==null?void 0:tt[0])}),X&&ht.map((G,fe)=>d.jsxs(S.Fragment,{children:[l&&pn.has(fe)&&d.jsx("div",{className:"section-title section-row",children:pn.get(fe)}),!l&&vn>0&&fe===0&&d.jsx("div",{className:"section-title section-row",children:"on this branch"}),!l&&vn>0&&fe===xt&&d.jsx("div",{className:"section-title section-row",children:Ke}),G.file?d.jsxs(d.Fragment,{children:[d.jsx(Lf,{f:G.file,id:ge(ct+fe),active:ee(ct+fe,rr(ct+fe)),selected:Ct(ct+fe),onOpen:so,onRead:qo,menu:bt,onHover:Pr,onDragStart:Qt,onDragEnd:jn}),Fe(ct+fe)]}):d.jsx(W8,{c:G.commit,id:ge(ct+fe),selected:Ct(ct+fe),onToggle:Vr})]},G.file?`${G.commit.sha}:${G.file.path}`:G.commit.sha)),X&&tt===void 0&&d.jsx("div",{className:"empty",children:d.jsx("span",{className:"live-text",children:"reading history"})}),X&&(tt==null?void 0:tt.length)===0&&P.length===0&&d.jsx("div",{className:"empty",children:"no commits yet"})]}),He&&d.jsxs("div",{className:"changes-pick",children:[d.jsxs(Le,{size:"md",tone:"danger",disabled:_t.length===0,"data-tip":"Throw away the uncommitted changes to every checked file",onClick:()=>{!Ye||_t.length===0||window.confirm(RT(_t))&&(r==null||r.send({t:"discard-files",worktreeId:Ye,paths:_t}),Ee())},children:["discard ",_t.length,"…"]}),d.jsx(Le,{size:"md",disabled:_t.length===0,"data-tip":"Name every checked file in the chat",onClick:()=>{Ye&&NF(s,Ye,_t),Ee()},children:"add to chat"}),d.jsx(Dt,{icon:"close",label:"Cancel",hint:"esc",onClick:Ee})]}),Re&&!l&&d.jsx(H8,{active:Re,ahead:(w==null?void 0:w.ahead)??Re.ahead??0,behind:(w==null?void 0:w.behind)??Re.behind??0,unpushed:(w==null?void 0:w.unpushed)??Re.unpushed??0,dirty:!$e})]})}function d9(e){var t;if((e==null?void 0:e.kind)==="account")return[(t=e.account)==null?void 0:t.email,e.label].filter(Boolean).join(" · ")}function N1(e){if(e<1e3)return String(Math.round(e));const t=e/1e3;return`${t<10?t.toFixed(1).replace(/\.0$/,""):Math.round(t)}k`}function ad(e){return e>0&&e<.005?"<$0.01":`$${e.toFixed(2)}`}function f9(e){const t=`${Math.round(100*e)}% full`;return e<.5?`${t}: plenty of room, no need yet`:e<.8?`${t}: worth doing between tasks`:`${t}: do it before the next task`}function h9(e){if(!(e<.5))return e<.8?"worth compacting between tasks":"compact before the next task"}const Uj=["five_hour","seven_day","seven_day_overage_included"],p9={five_hour:"the 5-hour window",seven_day:"the week",seven_day_overage_included:"the Fable week"},m9={five_hour:"5-hour",seven_day:"this week",seven_day_overage_included:"Fable week"};function Hj(e,t){return Uj.flatMap(n=>{const r=e.windows[n];return r&&r.resetsAt>t?[{key:n,used:r.used,resetsAt:r.resetsAt}]:[]})}function g9(e,t){return Math.min(1,Math.max(0,...Hj(e,t).map(n=>n.used)))}const k9=e=>`${Math.round(100*e)}%`;function T1(e,t){const n=Hj(e,t).map(r=>`${k9(r.used)} of ${p9[r.key]}`);return n.length?n.join(", "):"plan windows reset"}function w9(e,t,n){const r=new Date(e),o=new Date(t),s=r.toDateString()===o.toDateString();return new Intl.DateTimeFormat(n,{...s?{}:{month:"short",day:"numeric"},hour:"numeric",minute:"2-digit"}).format(r)}function y9(e,t,n=r=>w9(r,t)){return Uj.flatMap(r=>{const o=e.windows[r];if(!o)return[];const s=m9[r];if(o.resetsAt<=t)return[{key:r,name:s,used:0,sub:`reset ${n(o.resetsAt)}, read again on the next reply`}];const a=e.binding===r&&e.status==="rejected"?", out until then":"";return[{key:r,name:s,used:o.used,sub:`resets ${n(o.resetsAt)}${a}`}]})}function v9(e){const t=e.auto?"Auto archived":"Archived",n=e.auto?"Merged, auto archived":"Merged",r=e.landed?n:e.uncommitted?`${t} with uncommitted changes`:t;return e.restorable?r:`${r}, commits not kept`}function Wj(e){const t=[e.landed?"merged":e.uncommitted?"uncommitted changes":null];return e.restorable||t.push("commits not kept"),e.cost!==void 0&&t.push(ad(e.cost)),t.push(kr(e.archivedAt)),t.filter(Boolean).join(" · ")}function Kj({sock:e},t,n){e==null||e.send({t:"restore-worktree",archiveId:t,clientId:n})}function th(e,t,{sock:n,dispatch:r}){const o=[{id:"restore",label:"restore",disabled:e.restorable?void 0:"its commits were not kept",onClick:()=>{Kj({sock:n},e.id,t.clientId),r({a:"close"})}}],s=[{id:"copy-branch",label:"copy branch name",onClick:()=>nn(e.branch)}];s.push(...Wo(()=>n==null?void 0:n.send({t:"reveal-transcript",worktreeId:e.id}),ro(n),"reveal transcript in Finder"));const{sessionId:a}=e;return t.frame!=="phone"&&a&&s.push({id:"copy-session",label:"copy session id",onClick:()=>nn(a)}),Ln([o,s,[{id:"delete",label:"delete…",danger:!0,onClick:()=>{window.confirm(`Delete "${e.title}"?
|
|
131
|
+
|
|
132
|
+
Its chat, attachments and kept commits go with it, and it cannot be restored.`)&&(n==null||n.send({t:"delete-archived",archiveId:e.id}))}}]])}const b9=new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"});function qj(e){const[t,n]=S.useState(()=>Date.now());return S.useEffect(()=>{const r=setInterval(()=>n(Date.now()),6e4);return()=>clearInterval(r)},[]),`${fy(t-e)} ago`}function cr({icon:e,word:t,tone:n,at:r,below:o,under:s,press:a,children:l,...u}){const h=r!==void 0?{"data-tip":`${t} ${b9.format(r)}`,"data-tip-placement":"top"}:null,f=(Array.isArray(o)?o:[o]).filter(p=>p!=null&&p!==!1);return d.jsx("div",{...u,className:"daemon-row row-edge","data-tone":n,children:d.jsxs("div",{className:"daemon-head",children:[d.jsxs("span",{...h,className:"daemon-tag",children:[d.jsx(Tt,{name:e,className:"icon-inline"}),t]}),d.jsxs("div",{className:"daemon-body",children:[d.jsxs("div",{className:"daemon-line",children:[l,a&&d.jsx(Le,{variant:"word",tone:a.act?"strong":void 0,className:"daemon-press","data-tip":a.tip,onClick:a.onPress,children:a.label})]}),f.map((p,g)=>d.jsx("div",{className:"daemon-below row-dim",children:p},g)),s]})]})})}function x9({item:e}){const t=Qe(),n=D(u=>u.clientId),r=e.uncommitted?"its chat, commits and uncommitted changes":"its chat and commits",o=e.cost!==void 0?`; the session cost ${ad(e.cost)}`:"",s=e.restorable?`Toyon kept ${r}${o}. A message sent below restores it first.`:`Its commits were not kept, so there is nothing to restore${o}; its row's menu on the rail can delete it.`,a=qj(e.archivedAt),l=Uy(e.lands);return d.jsx(cr,{icon:"archive",word:"archived",tone:"quiet",at:e.archivedAt,below:[...l,s],press:e.restorable?{label:"restore",act:!0,onPress:()=>Kj({sock:t},e.id,n)}:void 0,children:d.jsxs("span",{className:"daemon-text",children:[a,e.landed?", after it was merged into main":""]})})}function La(e,t,n,r,o){const{layout:s}=e.getState();Cn({dispatch:e.dispatch},{worktreeId:n,path:r,view:"file",line:{n:o,fiber:!0}}),s.changes||e.dispatch({a:"toggle-changes"})}function E9(e){let t=0;return e.map(n=>{const r={start:t,len:n};return t+=n,r})}function S9(e,t){if(!t)return[];const n=new RegExp(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"giu"),r=[];for(const o of e.matchAll(n))r.push({start:o.index,end:o.index+o[0].length});return r}function j1(e,t,n){let r=0,o=e.length-1;for(;r<o;){const a=r+o>>1,l=e[a];(n?t>l.start+l.len:t>=l.start+l.len)?r=a+1:o=a}const s=e[r];return{i:r,at:t-s.start}}function _9(e,t){return{from:j1(e,t.start,!1),to:j1(e,t.end,!0)}}function $1(e,t){if(e.length===0)return-1;const n=e.findIndex(r=>r.start>=t);return n===-1?0:n}function N9(e,t,n){return t===0?-1:(e+n+t)%t}function Zy(e){return e.key==="f"&&(e.metaKey||e.ctrlKey)&&!e.altKey&&!e.shiftKey}function T9({label:e,query:t,onQuery:n,seed:r,seq:o,status:s,none:a,onStep:l,onClose:u}){const h=S.useRef(null);return ot([o],()=>{var f,p;r&&n(r),(f=h.current)==null||f.focus(),(p=h.current)==null||p.select()}),d.jsxs("div",{className:"find",children:[d.jsx(Uo,{ref:h,autoFocus:!0,value:t,onChange:f=>n(f.target.value),placeholder:"find…","aria-label":e,className:"find-field",spellCheck:!1,onKeyDown:f=>{if(f.key==="Escape"){f.preventDefault(),f.stopPropagation(),u();return}if(f.key==="Enter"){f.preventDefault(),l(f.shiftKey?-1:1);return}if(Zy(f)){f.preventDefault(),f.stopPropagation(),f.currentTarget.select();return}f.key.toLowerCase()==="g"&&(f.metaKey||f.ctrlKey)&&!f.altKey&&(f.preventDefault(),f.stopPropagation(),l(f.shiftKey?-1:1))}}),d.jsx("span",{className:"find-count","aria-live":"polite",children:s}),d.jsx(Dt,{icon:"caret",label:"Previous match",hint:"⇧↩",className:"find-prev",disabled:a,onClick:()=>l(-1)}),d.jsx(Dt,{icon:"caret",label:"Next match",hint:"↩",disabled:a,onClick:()=>l(1)}),d.jsx(Dt,{icon:"close",label:"Close",hint:"esc",onClick:u})]})}const Zj="find",Gj="find-current",Vj=typeof CSS<"u"&&"highlights"in CSS;function j9(e){const t=e.parentElement;return t?typeof t.checkVisibility=="function"?t.checkVisibility():!0:!1}function $9(e,t){const n=e instanceof Element?e:e.parentElement;return!!(n!=null&&n.closest(t))}function A9(e,t){const n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,o=>o instanceof Element?t&&o.matches(t)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP:NodeFilter.FILTER_ACCEPT),r=[];for(let o=n.nextNode();o;o=n.nextNode()){const s=o;s.data.length>0&&j9(s)&&r.push(s)}return r}const qk={matches:[],ranges:[]};function C9(e,t,n){if(!t)return qk;const r=A9(e,n),o=S9(r.map(l=>l.data).join(""),t),s=E9(r.map(l=>l.data.length)),a=o.map(l=>{const{from:u,to:h}=_9(s,l),f=document.createRange();return f.setStart(r[u.i],u.at),f.setEnd(r[h.i],h.at),f});return{matches:o,ranges:a}}function I9(e,t){Vj&&(CSS.highlights.set(Zj,new Highlight(...e.filter((n,r)=>r!==t))),CSS.highlights.set(Gj,new Highlight(...e[t]?[e[t]]:[])))}function R9(){Vj&&(CSS.highlights.delete(Zj),CSS.highlights.delete(Gj))}function O9(e,t){if(e.length===0)return-1;const n=t.getBoundingClientRect().top,r=e.findIndex(o=>o.getBoundingClientRect().bottom>=n);return r===-1?0:r}const A1=48;function M9(e,t){const n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),o=parseFloat(getComputedStyle(e).getPropertyValue("--scroll-foot"))||0;n.top>=r.top+A1&&n.bottom<=r.bottom-o-A1||(e.scrollTop+=n.top-r.top-r.height/3)}function Yj({root:e,body:t,seed:n,seq:r,onClose:o,onReveal:s,skip:a}){const[l,u]=S.useState(n),[h,f]=S.useState(qk),[p,g]=S.useState(-1),y=S.useRef({found:qk,at:-1}),v=S.useRef(""),w=S.useRef(!1),[x,N]=S.useState(0);S.useLayoutEffect(()=>{const A=t.current;if(!A)return;let I=0;const $=new MutationObserver(C=>{a&&C.every(L=>$9(L.target,a))||I||(I=requestAnimationFrame(()=>{I=0,N(L=>L+1)}))});return $.observe(A,{childList:!0,characterData:!0,subtree:!0,attributes:!0}),()=>{$.disconnect(),I&&cancelAnimationFrame(I)}},[t,a]),S.useLayoutEffect(()=>{const A=t.current;if(!A)return;const I=C9(A,l,a),$=l!==v.current;v.current=l,$&&(w.current=!0);const{found:C,at:L}=y.current;let P;$?C.matches[L]?P=$1(I.matches,C.matches[L].start):P=e.current?O9(I.ranges,e.current):$1(I.matches,0):P=Math.min(L,I.matches.length-1),y.current={found:I,at:P},f(I),g(P)},[l,x,a]),S.useLayoutEffect(()=>{I9(h.ranges,p);const A=h.ranges[p];A&&(w.current&&e.current&&(M9(e.current,A),s==null||s()),w.current=!1)},[h,p,e,s]),S.useLayoutEffect(()=>R9,[]);const E=h.matches.length,T=A=>{if(E===0)return;w.current=!0;const I=N9(y.current.at,E,A);y.current={...y.current,at:I},g(I)},j=()=>o(h.ranges[p]??null);return d.jsx(T9,{label:"find in this document",query:l,onQuery:u,seed:n,seq:r,status:l?E===0?"no matches":`${p+1}/${E}`:"",none:E===0,onStep:T,onClose:j})}function L9(e){return e.shiftKey||e.altKey||e.metaKey||e.ctrlKey?null:e.key==="ArrowLeft"?-1:e.key==="ArrowRight"?1:null}function P9(e,t,n){const r=e+n;return r<0||r>=t?null:r}const Xj=S.createContext(null),D9="input, textarea, [contenteditable]";function C1(e){return[...e.values()].filter(t=>{var n;return(n=t.el())==null?void 0:n.isConnected}).sort((t,n)=>{const r=t.el(),o=n.el();return!r||!o||r===o?0:r.compareDocumentPosition(o)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1})}function $p({children:e}){const t=S.useRef(new Map),[n,r]=S.useState(null),o=S.useRef(n);o.current=n;const s=S.useMemo(()=>{const l=u=>{const h=C1(t.current),f=h.findIndex(p=>p.id===u);r(f<0?null:{id:u,at:f,of:h.length})};return{register(u){return t.current.set(u.id,u),()=>{var h;t.current.delete(u.id),((h=o.current)==null?void 0:h.id)===u.id&&r(null)}},open:l,step(u){const h=o.current;if(!h)return;const f=C1(t.current),p=f.findIndex(v=>v.id===h.id),g=p<0?null:P9(p,f.length,u),y=g===null?void 0:f[g];y&&l(y.id)},close(){var f,p,g;const u=o.current;if(r(null),!u)return;const h=document.activeElement;h!=null&&h.matches(D9)||(g=(p=(f=t.current.get(u.id))==null?void 0:f.el())==null?void 0:p.querySelector(".chip-link"))==null||g.focus({preventScroll:!0})}}},[]),a=S.useMemo(()=>({api:s,shown:n}),[s,n]);return d.jsx(Xj.Provider,{value:a,children:e})}function z9(e,t){const n=S.useContext(Xj),r=S.useId(),[o,s]=S.useState(!1),a=n==null?void 0:n.api;if(S.useLayoutEffect(()=>{if(!(!a||!t))return a.register({id:r,el:()=>e.current})},[a,r,t,e]),!a)return{open:o,show:()=>s(!0),close:()=>s(!1),nav:void 0};const l=(n==null?void 0:n.shown)??null,u=(l==null?void 0:l.id)===r;return{open:u,show:()=>a.open(r),close:a.close,nav:u&&l?{at:l.at,of:l.of,step:a.step}:void 0}}function Zk(e,t){const n=e.filter(o=>o.id!==t),r=n.filter(o=>o.agent==="waiting"||o.unseen).length;return r===0?null:{n:r,tier:n.some(o=>o.agent==="waiting")?"waiting":"unseen"}}function Qj(e,t,n){const r=h=>e.map((f,p)=>h(f)&&f.id!==t?p:-1).filter(f=>f>=0),s=[()=>r(h=>h.agent==="waiting"),()=>r(h=>!!h.unseen),()=>r(h=>h.agent==="working")].reduce((h,f)=>h.length>0?h:f(),[]),a=e.findIndex(h=>h.id===t),l=n>0?s.find(h=>h>a)??s[0]:s.findLast(h=>h<a)??s[s.length-1],u=l===void 0?void 0:e[l];return u?{activate:u.id}:null}function Gy(e,t,n){const r=Qj(e,t,n);if(r)return r;const o=e[0];return o&&o.id!==t?{activate:o.id}:null}function F9(e,t,n){const r=[Zk(e,t),...n.map(o=>Zk(o.rows,null))].filter(o=>o!==null);return r.length===0?null:{n:r.reduce((o,s)=>o+s.n,0),tier:r.some(o=>o.tier==="waiting")?"waiting":"unseen"}}function B9(e,t,n){const r=[s=>s.agent==="waiting",s=>!!s.unseen];for(const s of r){if(e.some(a=>s(a)&&a.id!==t)){const a=Qj(e,t,1);return a&&{origin:null,activate:a.activate}}for(const a of n){const l=a.rows.find(s);if(l)return{origin:a.origin,activate:l.id}}}const o=Gy(e,t,1);return o&&{origin:null,activate:o.activate}}function Vy(e){const t=document.querySelector(`.pane[data-pane="${e}"]`);return!!t&&(t.classList.contains("full")||t.contains(document.activeElement))}function Yy({kind:e,className:t,height:n,resizable:r=!0,onDragStart:o,title:s,tabs:a,actions:l,menu:u,full:h,onToggleFull:f,onClose:p,closeHint:g="esc",headIn:y,children:v}){const w=wn("pane"),x=f&&d.jsx(Dt,{icon:"full",tone:"chrome",on:h,"aria-pressed":!!h,label:"Full height: hide the preview",onClick:f}),N=(x||p)&&d.jsxs("span",{className:"pane-shape",children:[x,p&&d.jsx(Dt,{icon:"close",label:"Close",hint:g,onClick:p})]}),E=d.jsx("div",{className:We("pane-head",a&&"pane-head-tabs"),...w.contextMenu(()=>(u==null?void 0:u())??[]),children:a?d.jsx(Qa,{...a,end:d.jsxs(d.Fragment,{children:[l,N]})}):d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"pane-title",children:s}),l,N]})});return d.jsxs("div",{className:`pane ${t}`,"data-pane":e,tabIndex:-1,style:n===void 0?void 0:{height:n},children:[r&&d.jsx("div",{className:"pane-resize",onPointerDown:o}),y?Aw.createPortal(E,y):E,v]})}function Jj(e,{sock:t,dispatch:n}){var p,g;const r=y=>y?"hide":"show",o=e.repos.some(y=>y.id===e.activeRepoId),s=(p=Xt(e,e.activeId))==null?void 0:p.worktree.id,a=[];o&&(a.push({id:"new",label:"new worktree…",key:qt("new"),onClick:()=>n({a:"open-draft"})}),a.push({id:"refs",label:"open a branch or PR…",key:qt("refs"),onClick:()=>n({a:"open",overlay:{kind:"refs"}})})),s&&(a.push({id:"jump",label:"jump to file…",key:qt("quick-open"),onClick:()=>n({a:"open",overlay:{kind:"quick-open"}})}),a.push({id:"search",label:"search in files…",key:qt("search"),onClick:()=>n({a:"open",overlay:{kind:"search"}})})),Iu(e)&&a.push({id:"routes",label:"go to page…",key:qt("routes"),onClick:()=>n({a:"open",overlay:{kind:"routes"}})}),o&&a.push({id:"chats",label:"search chats…",key:qt("chats"),onClick:()=>n({a:"open",overlay:{kind:"chats"}})});const l=Gy(e.visible,e.activeId,1);l&&a.push({id:"wt-unseen-next",label:"next that needs you",key:qt("wt-unseen-next"),onClick:()=>n({a:"activate",id:l.activate})}),a.push({id:"project",label:e.repos.length>1?"switch project…":"open project…",key:qt("project"),onClick:()=>n({a:"open",overlay:{kind:"projects",form:"center"}})});const u=[{id:"changes",label:`${r(e.layout.changes)} changes panel`,key:qt("changes"),onClick:()=>n({a:"toggle-changes"})},{id:"files",label:`${r(e.layout.changes&&tl(e)==="files")} files`,key:qt("files"),onClick:()=>n(e.layout.changes&&tl(e)==="files"?{a:"toggle-changes"}:{a:"focus-changes",tab:"files"})},{id:"chat",label:`${r(e.layout.chat)} chat panel`,key:qt("composer"),onClick:()=>n({a:"toggle-chat"})},{id:"terminal",label:`${r(e.layout.term)} terminal`,key:qt("terminal"),onClick:()=>n({a:"toggle-terminal"})},{id:"rail",label:`${r(e.railOpen)} worktree panel`,key:qt("rail"),onClick:()=>n({a:"toggle-rail"})},{id:"design",label:`${r(e.layout.design)} design system`,key:qt("design"),onClick:()=>n({a:"toggle-design"})},{id:"zen",label:"full-bleed preview",key:qt("zen"),onClick:()=>n({a:"toggle-zen",file:Vy("editor")})}],h=[{id:"commands",label:"command palette",key:qt("commands"),onClick:()=>n({a:"open",overlay:{kind:"commands"}})},{id:"keys",label:"settings & shortcuts",key:qt("keys"),onClick:()=>n({a:"open",overlay:{kind:"keys"}})}];(g=e.self)!=null&&g.restart&&h.push({id:"restart-daemon",label:"restart Toyon",onClick:()=>t==null?void 0:t.send({t:"restart-daemon"})}),h.push({id:"devices",label:e.knocks.length>0?`let a device in (${e.knocks.length})`:"your devices",onClick:()=>n({a:"open",overlay:{kind:"devices"}})});const f=Ao(e)?new Set(["chat","design","zen"]):null;return Ln([a,f?u.filter(y=>!f.has(y.id)):u,h])}function Gk(e,t){const n=e.get(t);if(!n||n.serving)return[];const r=e.displayName(t),o=[];e.active().origin!==t&&o.push({id:`machine:${t}`,label:`switch to ${r}`,onClick:()=>e.activate(t)});const s=[{id:`forget-machine:${t}`,label:`forget ${r}…`,danger:!0,onClick:()=>{window.confirm(`Forget ${r}?
|
|
133
|
+
|
|
134
|
+
It leaves your list, here and in every browser Toyon on this machine serves, and this browser forgets what it had selected there. Toyon on that machine is not touched; pair again to list it.`)&&e.serving().sock.send({t:"forget-machine",origin:t})}}];return Ln([o,s])}function Xy(e,t,{sock:n}){return[{id:`restart:${e.name}`,label:`restart ${e.name}`,detail:`${e.status} on :${e.port}`,onClick:()=>n==null?void 0:n.send({t:"term-restart",worktreeId:t,stream:e.name})}]}function e$(e,{sock:t}){return[{id:"restart:shell",label:"restart shell",onClick:()=>t==null?void 0:t.send({t:"term-restart",worktreeId:e,stream:Fo})}]}function U9(e,t,n,r){return Ln([[...e.flatMap(o=>Xy(o,t,r)),...e$(t,r)],[{id:"terminal",label:`${n?"hide":"show"} terminal`,onClick:()=>r.dispatch({a:"toggle-terminal"})}]])}function Fu({sock:e,dispatch:t},n){t({a:"open-repo"}),e==null||e.send(n)}function t$(e,t){const{parent:n,name:r}=Jy(t);Fu(e,{t:"create-repo",mode:"init",parent:n,name:r})}function H9(e,{sock:t,dispatch:n}){return[{id:`cancel-import:${e.id}`,label:e.error?"dismiss":"stop the clone",danger:!e.error,onClick:()=>{t==null||t.send({t:"cancel-import",id:e.id}),n({a:"watch-import",id:null})}}]}function Ap(e,t,{sock:n,dispatch:r},o){const s=o.filter(u=>Sn(u)&&u.worktree.repoId===e.id&&Vh(u.worktree)).length,a=[];e.id!==t&&a.push({id:`repo:${e.id}`,label:`switch to ${e.name}`,onClick:()=>r({a:"activate-repo",id:e.id})});const l=[{id:`setup:${e.id}`,label:"project settings…",detail:e.configFile,onClick:()=>r({a:"open",overlay:{kind:"setup",repoId:e.id}})},{id:`forget:${e.id}`,label:"forget project…",danger:!0,onClick:()=>{window.confirm(W9(e.name,s))&&(n==null||n.send({t:"forget-repo",repoId:e.id}))}}];return Ln([a,l])}function W9(e,t){const n=t===0?"":`Its ${t===1?"worktree is":`${t} worktrees are`} archived first, with the chats, commits and uncommitted changes kept. `;return`Forget ${e}?
|
|
135
|
+
|
|
136
|
+
${n}Its procs stop, it leaves the project list, and the chat on main is deleted. The checkout is not touched, and archived worktrees come back when you open it again.`}const Nh={dark:"dark",light:"light",system:"follow system",daylight:"follow daylight"},Th={use:"while in use",always:"always",off:"off"};function K9(e){const t=document.createElement("input");t.type="file",t.accept=".json,.jsonc,application/json",t.onchange=()=>{var r;const n=(r=t.files)==null?void 0:r[0];n&&n.text().then(o=>e(n.name,o))},t.click()}function n$(e,{sock:t,dispatch:n}){var a;const r=e.themePrefs,o=l=>{var u;return((u=e.themes.find(h=>h.id===l))==null?void 0:u.name)??l},s=G6();return Ln([[{id:"theme",label:"theme…",detail:up(r,e.themes,IN(e)).name,sub:!0,onClick:()=>n({a:"open",overlay:{kind:"theme",slot:"theme"}})},{id:"appearance",topic:"theme",label:"light or dark…",detail:Nh[r.mode],sub:!0,onClick:()=>n({a:"open",overlay:{kind:"appearance"}})}],[{id:"agent",label:"default agent…",detail:((a=e.agents.find(l=>l.id===e.defaultAgent))==null?void 0:a.name)??e.defaultAgent,sub:!0,onClick:()=>n({a:"open",overlay:{kind:"agent"}})}],[{id:"chat-side",label:"chat side",detail:e.chatSide,onClick:()=>n({a:"toggle-chat-side"})},...e.frame==="phone"?[{id:"black-ground",topic:"theme",label:"OLED black",detail:e.blackGround?"on":"off",onClick:()=>n({a:"toggle-black-ground"})}]:[],...s.access==="none"?[]:[{id:"clipboard-offer",label:"offer what is copied",detail:s.access==="denied"?"blocked in site settings":s.on?"on":"off",onClick:()=>V6(!s.on)}]],...e.keepAwake===null?[]:[[{id:"keep-awake",label:"keep awake…",detail:Th[e.keepAwake],sub:!0,onClick:()=>n({a:"open",overlay:{kind:"keep-awake"}})}]],[{id:"theme-import",topic:"theme",label:"import a VS Code theme…",onClick:()=>K9((l,u)=>t==null?void 0:t.send({t:"import-theme",name:l,source:u}))},{id:"theme-rescan",topic:"theme",label:"rescan editor themes",onClick:()=>t==null?void 0:t.send({t:"rescan-themes"})}],[{id:"theme-dark",topic:"theme",label:"dark slot override…",detail:o(r.dark),sub:!0,onClick:()=>n({a:"open",overlay:{kind:"theme",slot:"dark"}})},{id:"theme-light",topic:"theme",label:"light slot override…",detail:o(r.light),sub:!0,onClick:()=>n({a:"open",overlay:{kind:"theme",slot:"light"}})}]])}function q9(e,t,n,r,o,s={machines:[],switchTo:()=>{},forget:()=>{}}){const a=[],l=(g,y,v,w,x)=>a.push({id:g,label:y,hint:w,run:v,sub:x}),u=(g,y)=>{for(const v of g){if(!vs(v)||v.disabled!==void 0||v.checked)continue;const w=v.key??(typeof v.detail=="string"?v.detail:void 0),x=y?`${y.scope}:${v.id}`:v.id,N=v.topic?`${v.topic}: ${v.label}`:v.label;l(x,y?`${N} · ${y.name}`:N,v.onClick,w,v.sub)}},h={sock:n,dispatch:t},f=r,p=f==null?void 0:f.worktree.id;if(u(Jj(e,h).filter(g=>!vs(g)||g.id!=="commands")),o&&u(Ap(o,o.id,h,e.rows),{scope:"project",name:o.name}),p&&!Ao(e)){l("pick",e.picking==="chat"?"cancel element picker":"pick an element for the chat",()=>Lu(p,e.picking,t,"chat"),qt("pick")),l("inspect",e.picking==="code"?"cancel element picker":"pick an element to open its code",()=>Lu(p,e.picking,t,"code"),qt("inspect"));const g=jk(e);(g==null?void 0:g.act)==="start"?l("reload","start the preview",()=>n==null?void 0:n.send({t:"preview-start",worktreeId:g.id})):l("reload","reload preview",()=>cn.post(p,{type:"reload"}))}if(u(n$(e,h)),f&&p){const g=e.repos.find(y=>y.id===f.worktree.repoId)??null;u(Nj(f,g,e,h,{hostname:e.hostname,palette:!0}),{scope:"wt",name:Sk(f,g)});for(const y of f.procs)u(Xy(y,p,h))}e.visible.forEach((g,y)=>{var x;if(g.worktree.id===p)return;const w=!!e.activeRepoId&&g.repoId!==e.activeRepoId?` in ${((x=e.repos.find(N=>N.id===g.repoId))==null?void 0:x.name)??g.repoId}`:"";l(`go:${g.worktree.id}`,`switch to ${Sk(g,o)}${w}`,()=>t({a:"activate",id:g.worktree.id}),AR(y,e.visible.length))});for(const g of e.repos)g.id!==(o==null?void 0:o.id)&&l(`repo:${g.id}`,`switch to project ${g.name}`,()=>t({a:"activate-repo",id:g.id}));for(const g of s.machines){for(const y of g.repos)l(`machine:${g.origin}:${y.id}`,`switch to project ${y.name} on ${g.name}`,()=>s.switchTo(g.origin,y.id));l(`forget-machine:${g.origin}`,`forget ${g.name}`,()=>s.forget(g.origin))}return a}function r$(){const e=dt(),t=Qe(),{host:n}=Lr(),r=Pn(),o=Es(),s=sT(),a=D(Z=>Z.picking),l=D(Z=>Z.layout),u=D(Z=>Z.chatSide),h=D(Z=>Z.blackGround),f=D(Z=>Z.keepAwake),p=D(Z=>Z.railOpen),g=D(Z=>Z.themePrefs),y=D(Z=>Z.themes),v=D(Z=>Z.systemDark),w=D(Z=>Z.daylight),x=D(Z=>Z.rows),N=D(Z=>Z.visible),E=D(Z=>Z.activeId),T=D(Z=>Z.activeRepoId),j=D(Z=>Z.repos),A=D(Z=>Z.agents),I=D(Z=>Z.defaultAgent),$=D(Z=>Z.shipping),C=D(Z=>Z.remote),L=D(Z=>Z.managed),P=D(Z=>Z.frame),B=D(Z=>Z.self),q=D(Z=>Z.archivedPage),ne=D(Z=>Z.notesPage),Q=D(Z=>Z.archived),le=D(Z=>Z.knocks),te=D(Z=>Z.tailscale);return S.useMemo(()=>{const Z={picking:a,layout:l,chatSide:u,blackGround:h,keepAwake:f,railOpen:p,themePrefs:g,themes:y,systemDark:v,daylight:w,rows:x,visible:N,activeId:E,activeRepoId:T,repos:j,agents:A,defaultAgent:I,shipping:$,frame:P,self:B,archivedPage:q,notesPage:ne,archived:Q,knocks:le,hostname:n,drafted:J=>my(r.getState(),J)},R={machines:s,switchTo:(J,F)=>{var O;(O=o.get(J))==null||O.store.dispatch({a:"activate-repo",id:F}),o.activate(J)},forget:J=>{const F=Gk(o,J).find(O=>vs(O)&&O.id.startsWith("forget-machine:"));F&&vs(F)&&F.onClick()}};return q9(Z,e,t,Xt(Z,E),xs(Z,T),R)},[a,l,u,h,f,p,g,y,v,w,x,N,E,T,j,A,I,$,C,L,P,B,q,ne,Q,le,te,e,t,n,r,o,s])}function o$(e,t){const n=t.trim().toLowerCase();if(!n)return e;const r=[];for(const o of e){const s=Vk(o.label.toLowerCase(),n);s>0&&r.push({c:o,score:s})}return r.sort((o,s)=>s.score-o.score),r.map(o=>o.c)}function Vk(e,t){const n=Qy(e,t);if(!n)return 0;let r=0,o=0,s=-1;for(const a of n)o=a===s+1?o+1:1,r+=o+(s$(e,a)?3:0),s=a;return r+Math.max(0,40-e.length/4)}const s$=(e,t)=>t===0||/[\s:\-–—·/.(]/.test(e[t-1]);function Qy(e,t){const n=e.toLowerCase(),r=[];let o=0;for(const s of t.toLowerCase()){let a=-1;if(n[o]===s)a=o;else if(s===" ")a=n.indexOf(" ",o);else for(let l=n.indexOf(s,o);l!==-1;l=n.indexOf(s,l+1))if(s$(n,l)){a=l;break}if(a===-1)return null;r.push(a),o=a+1}return r}const os=(e,...t)=>{const n=e.trim().toLowerCase();return!n||t.some(r=>r==null?void 0:r.toLowerCase().includes(n))},Bu=e=>/^(~|\/|\.\.?\/)/.test(e.trim());function Jy(e){const t=e.trim().replace(/\/+$/,""),n=t.lastIndexOf("/");return n<0?{parent:"",name:t}:{parent:t.slice(0,n)||"/",name:t.slice(n+1)}}function Z9(e,t,n){const r=e.map(h=>h.path.slice(0,h.path.lastIndexOf("/"))).filter(Boolean),o=e.find(h=>h.id===t),s=o==null?void 0:o.path.slice(0,o.path.lastIndexOf("/")),a=new Map;for(const h of r)a.set(h,(a.get(h)??0)+1);let l="",u=0;for(const[h,f]of[...a].sort(([p],[g])=>p.localeCompare(g)))(f>u||f===u&&h===s)&&(l=h,u=f);return l?ev(l,n):`~/${Y_}`}function ev(e,t){return t&&(e===t||e.startsWith(`${t}/`))?`~${e.slice(t.length)}`:e}function i$(e,t){return`${e.replace(/\/+$/,"")}/${t.trim()}`}function G9(e){const t=e.query.trim();if(e.urlOnly){const a=Sx(t);return a?[{kind:"clone",...a}]:[]}const n=()=>e.entries.map(a=>({kind:a.isFile?"file":"dir",entry:a}));if(!Bu(t)){const a=e.repos.filter(g=>os(t,g.name,g.path)).map(g=>({kind:"repo",repo:g})),l=e.pending.filter(g=>os(t,g.name,g.url)).map(g=>({kind:"pending",pending:g})),u=[...a,...l],h=(e.others??[]).flatMap(g=>g.repos.length===0?os(t,g.name)?[{kind:"machine",machine:g}]:[]:g.repos.filter(y=>os(t,y.name,y.path,g.name)).map(y=>({kind:"repo",repo:y,machine:g})));if(!t){const g=a.find(v=>v.kind==="repo"&&v.repo.id===e.current);return[...g?[g,...a.filter(v=>v!==g)]:a,...l,{kind:"disk"},{kind:"new"},{kind:"from-url"},{kind:"add-machine"},...h]}const f=Sx(t);if(f)return u.length>0?u:[{kind:"clone",...f}];const p=g=>g.toLowerCase()===t.toLowerCase();return e.repos.some(g=>p(g.name))||e.pending.some(g=>p(g.name))?[...u,...h]:Cu(t)?[...u,...h]:[...u,{kind:"create",name:t,parent:null},...h]}if(e.answered.trim()!==t||!e.target)return n();const{target:r}=e;if(r.exists){const a=t.replace(/\/+$/,"")||"/";if(r.isRepo)return[...n(),{kind:"open",path:a}];if(!r.isDir)return n();const l=rl(a,e.home);return l==="/"||l===e.home||e.repos.some(h=>h.path.startsWith(`${l}/`))?n():[...n(),{kind:"init",path:a}]}if(t.endsWith("/"))return n();if(!r.parentExists)return[];const{parent:o,name:s}=Jy(t);return Cu(s)?n():[...n(),{kind:"create",name:s,parent:o}]}function rl(e,t){return t&&(e==="~"||e.startsWith("~/"))?`${t}${e.slice(1)}`:e}function a$(e,t){const n=rl(e,t).replace(/\/+$/,"");return n.startsWith("/")?ev(n.slice(0,n.lastIndexOf("/"))||"/",t):null}function Yk(e,t){const n=rl(e,t).replace(/\/+$/,"");return n.slice(n.lastIndexOf("/")+1)||"/"}function V9(e){const t=e.query.trim(),n=t.lastIndexOf("/"),r=n<0?"":t.slice(0,n)||"/",o=rl(r,e.home);if(!Bu(t)||!o.startsWith("/"))return[];const s=t.slice(n+1).toLowerCase(),a=e.answered.trim()===t?e.target:null,l=!a||(s?a.parentExists:a.exists&&a.isDir&&!a.isRepo),u=e.entries.filter(f=>{if(f.isRepo||f.isFile)return!1;const p=rl(f.path,e.home);return(p.slice(0,p.lastIndexOf("/"))||"/")===o&&f.name.toLowerCase().startsWith(s)}),h=a$(r,e.home);return[...l?[{kind:"here",path:r}]:[],...h?[{kind:"up",path:h}]:[],...u.map(f=>({kind:"dir",entry:f}))]}const Y9=e=>e.t==="open-path"||e.t==="open-loose"||e.t==="open-clone"||e.t==="open-worktree",Ia=new Map,X9=16;function Xk({sock:e,dispatch:t},n,r){const o=c$({worktreeId:n,href:r.href});t({a:"link-refused",id:n,v:null}),e==null||e.send({t:"open-by-path",path:r.path,seq:o})}function Q9(e,t){e==null||e.send({t:"open-by-path",path:t,seq:c$(null)})}function c$(e){const t=$o();Ia.set(t,e);for(const n of Ia.keys()){if(Ia.size<=X9)break;Ia.delete(n)}return t}function J9(e,t){if(!Ia.has(t.seq))return;const n=Ia.get(t.seq);Ia.delete(t.seq),n?e.dispatch({a:"link-refused",id:n.worktreeId,v:{href:n.href,message:t.message}}):e.dispatch({a:"server",msg:{t:"error",message:t.message}})}function eB(e,t,n){var s;const r=e.getState();if(n.t==="open-clone"){const{t:a,parent:l,...u}=n;e.dispatch({a:"new-project",v:pp({mode:"clone",parent:ev(l,r.home),...u})});return}if(n.t==="open-worktree"){Zr(r,n.worktreeId)&&r.activeId!==n.worktreeId&&e.dispatch({a:"activate",id:n.worktreeId});return}if(n.t==="open-path"){const a={dispatch:u=>e.dispatch(u)};if(Zr(r,n.worktreeId)){r.activeId!==n.worktreeId&&e.dispatch({a:"activate",id:n.worktreeId}),Cn(a,{worktreeId:n.worktreeId,path:n.path});return}const l=Object.keys(r.trunks).find(u=>{var h;return((h=r.trunks[u])==null?void 0:h.id)===n.worktreeId});if(!l)return;if(((s=Zr(r,r.activeId))==null?void 0:s.repoId)!==l){const u=r.rows.find(h=>h.repoId===l);if(!u)return;e.dispatch({a:"activate",id:u.id})}Cn(a,{worktreeId:n.worktreeId,path:n.path});return}const o=r.activeId;if(!o){e.dispatch({a:"server",msg:{t:"error",message:`open a project first; ${n.name} needs a window to open in`}});return}e.dispatch({a:"open-loose",v:{worktreeId:o,name:n.name,text:n.text,binary:n.binary,tooLarge:n.tooLarge,source:{kind:"grant",id:n.id,path:n.path,version:n.version},seq:$o()}})}function tv({open:e,remove:t},n){const r=n==null?void 0:n.sock,o=n&&r?()=>r.send({t:"reveal-attachment",worktreeId:n.worktreeId,file:n.file}):void 0,s=n&&r?r.urls.attachmentWhere(n.worktreeId,n.file):void 0;return[[...e?[{id:"open",label:"open full size",onClick:e}]:[],...Wo(o,ro(r),"reveal the copy")],s?[{id:"copy-path",label:"copy path",onClick:()=>CT(s)}]:[],t?[{id:"remove",label:"remove",onClick:t}]:[]]}function Ha(e,t={},n){return Ln([[{id:"copy-image",label:"copy image",onClick:()=>hF(e)}],...tv(t,n)])}function l$({text:e,href:t}){return e!==void 0?[{id:"copy-text",label:"copy text",onClick:()=>nn(e)}]:t?[{id:"copy-text",label:"copy text",onClick:()=>CT(t)}]:[]}function tB(e,t={}){return Ln([l$(e),...tv(t)])}function nB(e,t={},n){return Ln([l$(e),...tv(t,n)])}function u$(e){return[$T(e),{id:"copy-link",label:"copy link",onClick:()=>nn(e)}]}function Cp(e,t,n){if(e.kind==="worktree"){const{id:o,archived:s}=e;return()=>n.dispatch(s?{a:"open-archived",id:o}:{a:"activate",id:o})}if(e.kind==="outside"&&e.folder)return rB(e.path,n);if(!t)return null;if(e.kind==="outside")return()=>Xk(n,t,e);if(e.kind==="path")return()=>Xk(n,t,{href:e.path,path:e.path});if(e.kind!=="file")return null;const r=e.file;return r.folder?()=>bF(n,{worktreeId:t,path:r.path}):()=>Cn(n,{worktreeId:t,path:r.path,...r.line?{line:{n:r.line}}:{}})}function rB(e,{sock:t}){return!t||!rd(ro(t))?null:()=>t.send({t:"reveal-path",path:e})}function oB(e,t,n){const r=e.kind==="outside"&&e.folder?null:Cp(e,t,n),{sock:o}=n,s=e.kind==="file"?t?()=>o==null?void 0:o.send({t:"reveal",worktreeId:t,path:e.file.path}):void 0:()=>o==null?void 0:o.send({t:"reveal-path",path:e.path}),a=e.kind==="file"?e.file.path:e.path,u=(e.kind==="file"?e.file.folder:e.kind==="outside"&&e.folder)?void 0:e.kind==="file"?t?()=>o==null?void 0:o.send({t:"copy-file",worktreeId:t,path:a}):void 0:()=>o==null?void 0:o.send({t:"copy-file-path",path:a});return[[...r?[{id:"open",label:"open",onClick:r}]:[],...Wo(s,ro(o))],[{id:"copy-path",label:"copy path",onClick:()=>nn(a)},...mF(u,ro(o))]]}function sB(e,t){const n=Cp(e,null,t);return[n?[{id:"open",label:e.archived?"open archived chat":"open chat",onClick:n}]:[],[{id:"copy-branch",label:"copy branch",onClick:()=>nn(e.branch)}]]}function Qk(e){return e?[{id:"copy-code",label:"copy code",onClick:()=>nn(e)}]:[]}function Ni(e,t,n,r={},o="pointer"){if(o==="touch"&&!r.link&&!r.code)return null;const{dispatch:s,sock:a}=n,l=r.link,u=l?l.kind==="out"?[u$(l.href)]:l.kind==="worktree"?sB(l,n):oB(l,t,n):[],h=[{id:"copy",label:"copy message",onClick:()=>nn(e.text)}],f=[];return e.kind==="user"&&t&&f.push({id:"draft",label:"edit in composer",onClick:()=>{const p=e.seq;if(p===void 0||!a)return s({a:"set-draft",id:t,text:e.text});s({a:"set-draft",id:t,text:""}),a.send({t:"redraft",worktreeId:t,seq:p})}}),Ln([Qk(r.code),...u,h,f])}function d$(e,t,n){return[Wo(t,n),[{id:"copy-path",label:"copy path",onClick:()=>nn(e)}]]}function nv(e,t,n){return Ln(d$(e,t,n))}function iB(e,t){const n=e.callFile??e.file,r=n?d$(n,void 0,t.host):[],o=t.remove?[{id:"remove",label:"remove",onClick:t.remove}]:[];return Ln([...r,o])}const I1=8,f$=.7,aB=100,cB=80,lB=220,R1=140,Pg={dx:0,dy:0,axis:null,samples:[]};function Jk({dx:e,dy:t}){return Math.abs(e)<I1&&Math.abs(t)<I1?null:Math.abs(t)>Math.abs(e)?"away":"other"}function h$(e,t){const n=e.filter(s=>t-s.t<=aB),r=n[0],o=n[n.length-1];return!r||!o||o.t===r.t?0:(o.y-r.y)/(o.t-r.t)}const p$=e=>Math.abs(e)>=f$;function uB(e,t,n,r){const o=e.dx-t.deltaX,s=e.dy-t.deltaY,a=e.axis??Jk({dx:o,dy:s}),l=[...e.samples,{y:s,t:n}].slice(-16),u={dx:o,dy:s,axis:a,samples:l},h=a==="away"&&Math.abs(s)>=r?h$(l,n):0,f=p$(h)&&Math.sign(h)===Math.sign(s);return{next:u,thrown:f?h:0}}function dB(e,t){return e.axis==="away"&&Math.abs(e.dy)>=t?Math.sign(e.dy)*f$:0}function fB(e,t){return Math.min(lB,Math.max(cB,e/Math.abs(t)))}const Bc={s:1,x:0,y:0},hB=2.5,O1=.5,M1=4,Oc=e=>e.s===1&&e.x===0&&e.y===0;function pB(e,t){return Math.max(M1,t>0?e/t:M1)}function nh(e,t,n,r){const o=(n.x-e.x)/e.s,s=(n.y-e.y)/e.s;return{s:t,x:r.x-o*t,y:r.y-s*t}}function _a(e,t){return{s:e.s,x:L1(e.x,(t.w*e.s-t.W)/2),y:L1(e.y,(t.h*e.s-t.H)/2)}}const L1=(e,t)=>t<=0?0:Math.min(t,Math.max(-t,e));function P1(e,t){const n=Math.min(t.max,Math.max(1,e.s));return n===1?Bc:_a({...e,s:n},t)}function D1(e,t,n){return Oc(e)?_a(nh(e,Math.min(hB,n.max),t,t),n):Bc}const mB=400,z1=300,gB=32,Dg=260,kB=.01,F1=(e,t)=>Math.hypot(t.clientX-e.clientX,t.clientY-e.clientY),B1=(e,t)=>({x:(e.clientX+t.clientX)/2,y:(e.clientY+t.clientY)/2}),Cc=(e,t)=>({x:e.x-t.x,y:e.y-t.y}),zg=(e,t,n)=>Math.min(n,Math.max(t,e));function wB(e,t,n){const r=S.useRef(n);r.current=n,S.useEffect(()=>{const o=e.current;if(!o)return;let s=null,a=!1,l=[],u=0,h=Bc,f=null,p=null,g=null,y=0,v=0,w=Pg,x=0,N=0;const E=()=>{const F=o.querySelector(t);if(!F)return null;const O=o.getBoundingClientRect(),W=F.offsetWidth,ie=F.offsetHeight,he=F instanceof HTMLImageElement?F.naturalWidth:W;return{centre:{x:O.left+F.offsetLeft+W/2,y:O.top+F.offsetTop+ie/2},bounds:{w:W,h:ie,W:o.clientWidth,H:o.clientHeight,max:pB(he,W)}}},T=()=>window.innerHeight/2,j=(F,O,W)=>{W!==void 0&&o.style.setProperty("--swipe-ms",`${W}ms`),o.dataset.swipe!==O&&(o.dataset.swipe=O,o.offsetWidth),o.style.setProperty("--swipe-y",`${F}px`),o.style.setProperty("--swipe-fade",`${Math.min(1,Math.abs(F)/T())}`)},A=()=>{o.style.removeProperty("--swipe-y"),o.style.removeProperty("--swipe-fade"),o.style.removeProperty("--swipe-ms"),delete o.dataset.swipe},I=(F,O)=>{if(h=F,window.clearTimeout(v),O?(o.dataset.zoom!==O&&(o.dataset.zoom=O,o.offsetWidth),v=window.setTimeout(()=>delete o.dataset.zoom,Dg)):delete o.dataset.zoom,Oc(F)){o.style.removeProperty("--zoom-s"),o.style.removeProperty("--zoom-x"),o.style.removeProperty("--zoom-y");return}o.style.setProperty("--zoom-s",`${F.s}`),o.style.setProperty("--zoom-x",`${F.x}px`),o.style.setProperty("--zoom-y",`${F.y}px`)},$=()=>{const F=a;s=null,a=!1,l=[],f=null,p=null,F&&(j(0,"settle"),u=window.setTimeout(A,Dg))},C=F=>F===o||!!(F!=null&&F.closest(t)),L=(F,O,W)=>{const ie=Math.sign(O)*window.innerHeight,he=fB(Math.abs(ie-F),O);j(ie,"leave",he),N=W+he,u=window.setTimeout(()=>r.current(),he)},P=F=>{var he;const O=C(F.target);if((((he=window.visualViewport)==null?void 0:he.scale)??1)>1.01)return $();if(o.dataset.swipe==="leave")return;const W=F.touches[0],ie=F.touches[1];if(W&&ie&&F.touches.length===2&&O){$(),window.clearTimeout(y),g=null,f={d:F1(W,ie),m:B1(W,ie),z:h};return}if(F.touches.length!==1||!W||!O)return $();window.clearTimeout(u),s={x:W.clientX,y:W.clientY,at:F.timeStamp},l=[{y:W.clientY,t:F.timeStamp}],p=Oc(h)?null:h},B=F=>{const O=F.touches[0],W=F.touches[1];if(f&&O&&W){F.preventDefault();const ye=E();if(!ye)return;const $e=zg(f.z.s*F1(O,W)/f.d,O1,ye.bounds.max);I(_a(nh(f.z,$e,Cc(f.m,ye.centre),Cc(B1(O,W),ye.centre)),ye.bounds));return}if(!s||!O)return;const ie=O.clientX-s.x,he=O.clientY-s.y;if(p){F.preventDefault();const ye=E();ye&&I(_a({s:p.s,x:p.x+ie,y:p.y+he},ye.bounds));return}if(!a){const ye=Jk({dx:ie,dy:he});if(ye==="other"&&(s=null),ye!=="away")return;a=!0}F.preventDefault(),l.push({y:O.clientY,t:F.timeStamp}),l.length>16&&l.shift(),j(he,"drag")},q=F=>{if(f){if(F.touches.length>=2)return;const Be=E();I(Be?P1(h,Be.bounds):Bc,"settle"),f=null;const Ne=F.touches[0];Ne&&!Oc(h)&&(s={x:Ne.clientX,y:Ne.clientY,at:F.timeStamp},p=h);return}const O=F.changedTouches[0];if(!s||!O)return;const W={x:O.clientX,y:O.clientY},ie=W.y-s.y,he=F.timeStamp-s.at;if(!a&&he<mB&&F.target!==o&&Jk({dx:W.x-s.x,dy:ie})===null){if(F.preventDefault(),s=null,p=null,g&&F.timeStamp-g.t<z1&&Math.hypot(W.x-g.p.x,W.y-g.p.y)<gB){window.clearTimeout(y),g=null;const Be=E();I(Be?D1(h,Cc(W,Be.centre),Be.bounds):Bc,"settle");return}g={p:W,t:F.timeStamp},Oc(h)&&(y=window.setTimeout(()=>r.current(),z1));return}if(p){p=null,s=null,l=[];return}const $e=h$(l,F.timeStamp);if(!a||!p$($e))return $();s=null,a=!1,l=[],L(ie,$e,F.timeStamp)},ne=()=>{const F=w;if(w=Pg,F.axis!=="away")return;const O=dB(F,T());if(O)return L(F.dy,O,performance.now());j(0,"settle"),u=window.setTimeout(A,Dg)},Q=F=>{var W;if(!((W=F.target)!=null&&W.closest(t)))return;const O=E();O&&I(D1(h,Cc({x:F.clientX,y:F.clientY},O.centre),O.bounds),"settle")},le=F=>{if(o.dataset.swipe==="leave"){F.preventDefault(),window.clearTimeout(u),u=window.setTimeout(()=>r.current(),Math.max(R1,N-F.timeStamp));return}const O=E();if(O){if(F.ctrlKey){F.preventDefault();const W=Cc({x:F.clientX,y:F.clientY},O.centre),ie=zg(h.s*Math.exp(-F.deltaY*kB),1,O.bounds.max);I(_a(nh(h,ie,W,W),O.bounds))}else if(!Oc(h))F.preventDefault(),I(_a({s:h.s,x:h.x-F.deltaX,y:h.y-F.deltaY},O.bounds));else if(C(F.target)){F.preventDefault(),window.clearTimeout(x);const W=uB(w,F,F.timeStamp,T());if(w=W.next,w.axis==="away"){if(window.clearTimeout(u),W.thrown)return w=Pg,L(W.next.dy,W.thrown,F.timeStamp);j(w.dy,"drag")}x=window.setTimeout(ne,R1)}}};let te=null;const Z=F=>{if(f)return;F.preventDefault();const O=E(),W=F;O&&(te={z:h,p:Cc({x:W.clientX,y:W.clientY},O.centre)})},R=F=>{if(f)return;F.preventDefault();const O=E();if(!te||!O)return;const W=zg(te.z.s*F.scale,O1,O.bounds.max);I(_a(nh(te.z,W,te.p,te.p),O.bounds))},J=F=>{if(f)return;F.preventDefault(),te=null;const O=E();I(O?P1(h,O.bounds):Bc,"settle")};return o.addEventListener("touchstart",P,{passive:!0}),o.addEventListener("touchmove",B,{passive:!1}),o.addEventListener("touchend",q),o.addEventListener("touchcancel",$),o.addEventListener("dblclick",Q),o.addEventListener("wheel",le,{passive:!1}),o.addEventListener("gesturestart",Z),o.addEventListener("gesturechange",R),o.addEventListener("gestureend",J),()=>{window.clearTimeout(u),window.clearTimeout(y),window.clearTimeout(v),window.clearTimeout(x),o.removeEventListener("touchstart",P),o.removeEventListener("touchmove",B),o.removeEventListener("touchend",q),o.removeEventListener("touchcancel",$),o.removeEventListener("dblclick",Q),o.removeEventListener("wheel",le),o.removeEventListener("gesturestart",Z),o.removeEventListener("gesturechange",R),o.removeEventListener("gestureend",J)}},[e,t])}function cd({owner:e,onClose:t,menu:n,nav:r,children:o}){const s=wn(e),a=S.useRef(null);return wB(a,"img",t),d.jsxs(Js,{className:"attach-full scrim",boxRef:a,onDismiss:t,onKey:l=>{if(l.key==="Escape"){l.stopPropagation(),t();return}const u=r&&L9(l);u&&(l.preventDefault(),l.stopPropagation(),r.step(u))},onClick:l=>{l.target===l.currentTarget&&t()},...n&&s.contextMenu(n),children:[o,d.jsxs("div",{className:"attach-head",children:[r&&r.of>1&&d.jsxs("span",{className:"attach-count",children:[r.at+1," of ",r.of]}),d.jsx(Dt,{icon:"close",label:"Close",tone:"quiet",onClick:t})]})]})}function yB({item:e}){if(!e.outcome)return null;const t=zz[e.outcome];if(e.ask.kind==="permission"){const{title:n,choices:r}=e.ask,o=r.find(s=>s.id===e.choiceId);return d.jsxs("div",{className:"ask-closed",children:[!e.toolId&&d.jsx("div",{className:"ask-lead",children:n}),d.jsx("div",{className:"ask-answered",children:o?o.name:t??"closed"})]})}return d.jsxs("div",{className:"ask-closed",children:[d.jsx("div",{className:"ask-lead",children:e.ask.message}),d.jsx("div",{className:"ask-answered",children:t??"closed"})]})}function m$(e,t){if(!t||t.startsWith("#")||t.startsWith("/")||/^[a-z][a-z\d+.-]*:/i.test(t))return null;const n=t.split(/[?#]/)[0]??"";if(!n)return null;const r=e?e.split("/"):[];for(const o of n.split("/"))if(!(o===""||o==="."))if(o===".."){if(!r.length)return null;r.pop()}else r.push(decodeURIComponent(o));return r.length?r.join("/"):null}const vB=e=>e.slice(0,Math.max(0,e.lastIndexOf("/")));function rv(e,t){let n;try{n=decodeURIComponent(t)}catch{return null}const r=n.match(/#L(\d+)(?:-L?\d+)?$/i);r?n=n.slice(0,r.index):n=n.split(/[?#]/)[0]??"";const o=n.match(/:(\d+)(?::\d+)?$/);o&&(n=n.slice(0,o.index));const s=e.replace(/\/+$/,"");if(!s||!n.startsWith(`${s}/`))return null;const a=n.endsWith("/"),l=n.slice(s.length+1).replace(/\/+$/,"");if(!l||l.split("/").some(f=>f===".."))return null;if(a)return{path:l,folder:!0};const u=(r==null?void 0:r[1])??(o==null?void 0:o[1]),h=u?Number.parseInt(u,10):void 0;return h&&h>0?{path:l,line:h}:{path:l}}function g$(e){return!e||/^[/\\#?]/.test(e)||/^[a-z][a-z\d+.-]*:/i.test(e)?null:rv("/root",`/root/${e.replace(/^(?:\.\/+)+/,"")}`)}function k$(e){var t;return((t=e.match(/^file:\/\/(?:localhost)?(\/.*)$/i))==null?void 0:t[1])??e}function w$(e){if(!e.startsWith("/")||e.startsWith("//"))return null;let t;try{t=decodeURIComponent(e)}catch{return null}if(t.length>1&&t.endsWith("/"))return{path:t.replace(/\/+$/,""),folder:!0};const n=t.match(/:(\d+)(?::\d+)?$/);if(!n)return{path:t};const r=Number.parseInt(n[1]??"",10),o=t.slice(0,n.index);return r>0?{path:o,line:r}:{path:o}}function bB(e){return e.length<2||!e.startsWith("/")||e.startsWith("//")||/\s/.test(e)?null:e}function Ip(e,t){const n=e.closest("[data-worktree]"),r=n==null?void 0:n.getAttribute("data-worktree");if(n&&r)return{kind:"worktree",id:r,branch:n.getAttribute("data-branch")??"",archived:n.hasAttribute("data-archived")};const o=e.closest("a, code[data-path]");if(!o)return null;const s=o.getAttribute("data-path");if(s)return{kind:"path",path:s};const a=o.getAttribute("href");if(!a)return null;const l=t?rv(t,a)??g$(a):null;if(l)return{kind:"file",file:l};const u=w$(a);return u?{kind:"outside",href:a,...u}:{kind:"out",href:a}}function ov(e,t,n,r){var s,a;const o=Ip(e.target,t);if(!(!o||o.kind==="path")){if(o.kind==="out"){((s=e.target.closest("a"))==null?void 0:s.target)!=="_blank"&&e.preventDefault();return}e.preventDefault(),(a=Cp(o,n,r))==null||a()}}const xB=150,EB=e=>({side:e,align:"center",offset:12,flip:"side",margin:8});function y$({chip:e,className:t,children:n}){const[r,o]=S.useState(!1),s=nd("chat");S.useEffect(()=>{const l=e.current;if(!l)return;let u=0;const h=()=>{window.clearTimeout(u),o(!1)},f=()=>{window.clearTimeout(u),u=window.setTimeout(()=>o(!0),xB)};return l.addEventListener("mouseenter",f),l.addEventListener("mouseleave",h),l.addEventListener("mousedown",h),()=>{window.clearTimeout(u),l.removeEventListener("mouseenter",f),l.removeEventListener("mouseleave",h),l.removeEventListener("mousedown",h)}},[e]);const a=()=>{var f;const l=e.current;if(!l)return null;const u=l.getBoundingClientRect(),h=((f=l.closest(".chat-log"))==null?void 0:f.getBoundingClientRect())??u;return{left:h.left,right:h.right,top:u.top,bottom:u.bottom}};return r?d.jsx(Js,{className:We("chip-peek",t),anchor:a,placement:EB(s),track:!0,children:n}):null}function sv({className:e,label:t,tip:n,peek:r,full:o,menu:s,removeLabel:a,onRemove:l}){const u=S.useRef(null),h=wn("chat"),f=o!==void 0,p=z9(u,f);return d.jsxs("div",{ref:u,className:We("pick-chip row row-sm",e),"data-tip":f?"Open full size":n,"data-tip-placement":"follow",...h.contextMenu(()=>s({open:f?p.show:void 0,remove:l})),children:[f?d.jsx("button",{type:"button",className:"chip-link",onClick:p.show,children:t}):t,l&&d.jsx(Dt,{icon:"close",label:a,tone:"quiet",onClick:l}),f&&r!==void 0&&d.jsx(y$,{chip:u,children:r}),p.open&&f&&d.jsx(cd,{owner:"chat",onClose:p.close,menu:()=>s(),nav:p.nav,children:o})]})}/*! @license DOMPurify 3.4.14 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.14/LICENSE */function U1(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 SB(e){if(Array.isArray(e))return e}function _B(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,o,s,a,l=[],u=!0,h=!1;try{if(s=(n=n.call(e)).next,t!==0)for(;!(u=(r=s.call(n)).done)&&(l.push(r.value),l.length!==t);u=!0);}catch(f){h=!0,o=f}finally{try{if(!u&&n.return!=null&&(a=n.return(),Object(a)!==a))return}finally{if(h)throw o}}return l}}function NB(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
137
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function TB(e,t){return SB(e)||_B(e,t)||jB(e,t)||NB()}function jB(e,t){if(e){if(typeof e=="string")return U1(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)?U1(e,t):void 0}}const v$=Object.entries,H1=Object.setPrototypeOf,$B=Object.isFrozen,AB=Object.getPrototypeOf,CB=Object.getOwnPropertyDescriptor;let xr=Object.freeze,Ar=Object.seal,Mc=Object.create,b$=typeof Reflect<"u"&&Reflect,ew=b$.apply,tw=b$.construct;xr||(xr=function(t){return t});Ar||(Ar=function(t){return t});ew||(ew=function(t,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),s=2;s<r;s++)o[s-2]=arguments[s];return t.apply(n,o)});tw||(tw=function(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return new t(...r)});const Ea=wr(Array.prototype.forEach),IB=wr(Array.prototype.lastIndexOf),W1=wr(Array.prototype.pop),su=wr(Array.prototype.push),RB=wr(Array.prototype.splice),Vc=Array.isArray,hu=wr(String.prototype.toLowerCase),Fg=wr(String.prototype.toString),K1=wr(String.prototype.match),iu=wr(String.prototype.replace),q1=wr(String.prototype.indexOf),OB=wr(String.prototype.trim),MB=wr(Number.prototype.toString),LB=wr(Boolean.prototype.toString),Z1=typeof BigInt>"u"?null:wr(BigInt.prototype.toString),G1=typeof Symbol>"u"?null:wr(Symbol.prototype.toString),go=wr(Object.prototype.hasOwnProperty),au=wr(Object.prototype.toString),Hr=wr(RegExp.prototype.test),ba=PB(TypeError);function wr(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return ew(e,t,r)}}function PB(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return tw(e,n)}}function fn(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:hu;if(H1&&H1(e,null),!Vc(t))return e;let r=t.length;for(;r--;){let o=t[r];if(typeof o=="string"){const s=n(o);s!==o&&($B(t)||(t[r]=s),o=s)}e[o]=!0}return e}function DB(e){for(let t=0;t<e.length;t++)go(e,t)||(e[t]=null);return e}function To(e){const t=Mc(null);for(const r of v$(e)){var n=TB(r,2);const o=n[0],s=n[1];go(e,o)&&(Vc(s)?t[o]=DB(s):s&&typeof s=="object"&&s.constructor===Object?t[o]=To(s):t[o]=s)}return t}function zB(e){switch(typeof e){case"string":return e;case"number":return MB(e);case"boolean":return LB(e);case"bigint":return Z1?Z1(e):"0";case"symbol":return G1?G1(e):"Symbol()";case"undefined":return au(e);case"function":case"object":{if(e===null)return au(e);const t=e,n=es(t,"toString");if(typeof n=="function"){const r=n(t);return typeof r=="string"?r:au(r)}return au(e)}default:return au(e)}}function es(e,t){for(;e!==null;){const r=CB(e,t);if(r){if(r.get)return wr(r.get);if(typeof r.value=="function")return wr(r.value)}e=AB(e)}function n(){return null}return n}function FB(e){try{return Hr(e,""),!0}catch{return!1}}const V1=xr(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Bg=xr(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Ug=xr(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),BB=xr(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Hg=xr(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),UB=xr(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Y1=xr(["#text"]),X1=xr(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Wg=xr(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Q1=xr(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Df=xr(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),HB=Ar(/{{[\w\W]*|^[\w\W]*}}/g),WB=Ar(/<%[\w\W]*|^[\w\W]*%>/g),KB=Ar(/\${[\w\W]*/g),qB=Ar(/^data-[\-\w.\u00B7-\uFFFF]+$/),ZB=Ar(/^aria-[\-\w]+$/),J1=Ar(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),GB=Ar(/^(?:\w+script|data):/i),VB=Ar(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),YB=Ar(/^html$/i),XB=Ar(/^[a-z][.\w]*(-[.\w]+)+$/i),eE=Ar(/<[/\w!]/g),tE=Ar(/<[/\w]/g),QB=Ar(/<\/no(script|embed|frames)/i),JB=Ar(/\/>/i),No={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},x$=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],eU=xr(fn({},x$)),tU=(function(){const e={};return Ea(x$,t=>{e[t]=Ar(new RegExp("</"+t+"(?=[\\t\\n\\f\\r />])","i"))}),xr(e)})(),nU=function(){return typeof window>"u"?null:window},rU=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let r=null;const o="data-tt-policy-suffix";n&&n.hasAttribute(o)&&(r=n.getAttribute(o));const s="dompurify"+(r?"#"+r:"");try{return t.createPolicy(s,{createHTML(a){return a},createScriptURL(a){return a}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},nE=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Ti=function(t,n,r,o){return go(t,n)&&Vc(t[n])?fn(o.base?To(o.base):{},t[n],o.transform):r},Kg=function(t,n,r){const o=go(t,n)?t[n]:void 0;return o&&typeof o=="object"?To(o):r()};function E$(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:nU();const t=_e=>E$(_e);if(t.version="3.4.14",t.removed=[],!e||!e.document||e.document.nodeType!==No.document||!e.Element)return t.isSupported=!1,t;let n=e.document;const r=n,o=r.currentScript;e.DocumentFragment;const s=e.HTMLTemplateElement,a=e.Node,l=e.Element,u=e.NodeFilter,h=e.NamedNodeMap;h===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const f=e.DOMParser,p=e.trustedTypes,g=l.prototype,y=es(g,"cloneNode"),v=es(g,"remove"),w=es(g,"nextSibling"),x=es(g,"childNodes"),N=es(g,"parentNode"),E=es(g,"shadowRoot"),T=es(g,"attributes"),j=a&&a.prototype?es(a.prototype,"nodeType"):null,A=a&&a.prototype?es(a.prototype,"nodeName"):null,I=a&&a.prototype?es(a.prototype,"ownerDocument"):null,$=function(K){return j?j(K):K.nodeType},C=function(K){return A?A(K):K.nodeName};if(typeof s=="function"){const _e=n.createElement("template");_e.content&&_e.content.ownerDocument&&(n=_e.content.ownerDocument)}let L,P="",B,q=!1,ne=0;const Q=function(){if(ne>0)throw ba('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},le=function(K){Q(),ne++;try{return L.createHTML(K)}finally{ne--}},te=function(K){Q(),ne++;try{return L.createScriptURL(K)}finally{ne--}},Z=function(){return q||(B=rU(p,o),q=!0),B},R=n,J=R.implementation,F=R.createNodeIterator,O=R.createDocumentFragment,W=R.getElementsByTagName,ie=r.importNode;let he=nE();t.isSupported=typeof v$=="function"&&typeof N=="function"&&J&&J.createHTMLDocument!==void 0;const ye=HB,$e=WB,Be=KB,Ne=qB,H=ZB,ae=GB,X=VB,oe=XB;let we=J1,Pe=null;const Re=fn({},[...V1,...Bg,...Ug,...Hg,...Y1]);let Ke=null;const tt=fn({},[...X1,...Wg,...Q1,...Df]);let at=Object.seal(Mc(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Mt=null,en=null;const ft=Object.seal(Mc(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Ze=!0,sn=!0,Ut=!1,zt=!0,Zt=!1,st=!0,ht=!1,vn=!1,xt=null,ct=null,Tn=!1,pn=!1,In=!1,Oe=!1,pt=!0,Ht=!1;const an="user-content-";let Gn=!0,ee=!1,ge={},He=null;const lt=fn({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let z=null;const re=fn({},["audio","video","img","source","image","track"]);let Ee=null;const Ge=fn({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),_t="http://www.w3.org/1998/Math/MathML",kt="http://www.w3.org/2000/svg",De="http://www.w3.org/1999/xhtml";let ze=De,qe=!1,Yt=null;const Wt=fn({},[_t,kt,De],Fg),Rn=xr(["mi","mo","mn","ms","mtext"]);let un=fn({},Rn);const Vn=xr(["annotation-xml"]);let rn=fn({},Vn);const Jt=fn({},["title","style","font","a","script"]);let rr=null;const bn=["application/xhtml+xml","text/html"],Kt="text/html";let Ct=null,kn=null;const de=n.createElement("form"),Fe=function(K){return K instanceof RegExp||K instanceof Function},wt=function(){let K=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(kn&&kn===K)return;(!K||typeof K!="object")&&(K={}),K=To(K),rr=bn.indexOf(K.PARSER_MEDIA_TYPE)===-1?Kt:K.PARSER_MEDIA_TYPE,Ct=rr==="application/xhtml+xml"?Fg:hu,Pe=Ti(K,"ALLOWED_TAGS",Re,{transform:Ct}),Ke=Ti(K,"ALLOWED_ATTR",tt,{transform:Ct}),Yt=Ti(K,"ALLOWED_NAMESPACES",Wt,{transform:Fg}),Ee=Ti(K,"ADD_URI_SAFE_ATTR",Ge,{transform:Ct,base:Ge}),z=Ti(K,"ADD_DATA_URI_TAGS",re,{transform:Ct,base:re}),He=Ti(K,"FORBID_CONTENTS",lt,{transform:Ct}),Mt=Ti(K,"FORBID_TAGS",To({}),{transform:Ct}),en=Ti(K,"FORBID_ATTR",To({}),{transform:Ct}),ge=go(K,"USE_PROFILES")?K.USE_PROFILES&&typeof K.USE_PROFILES=="object"?To(K.USE_PROFILES):K.USE_PROFILES:!1,Ze=K.ALLOW_ARIA_ATTR!==!1,sn=K.ALLOW_DATA_ATTR!==!1,Ut=K.ALLOW_UNKNOWN_PROTOCOLS||!1,zt=K.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Zt=K.SAFE_FOR_TEMPLATES||!1,st=K.SAFE_FOR_XML!==!1,ht=K.WHOLE_DOCUMENT||!1,pn=K.RETURN_DOM||!1,In=K.RETURN_DOM_FRAGMENT||!1,Oe=K.RETURN_TRUSTED_TYPE||!1,Tn=K.FORCE_BODY||!1,pt=K.SANITIZE_DOM!==!1,Ht=K.SANITIZE_NAMED_PROPS||!1,Gn=K.KEEP_CONTENT!==!1,ee=K.IN_PLACE||!1,we=FB(K.ALLOWED_URI_REGEXP)?K.ALLOWED_URI_REGEXP:J1,ze=typeof K.NAMESPACE=="string"?K.NAMESPACE:De,un=Kg(K,"MATHML_TEXT_INTEGRATION_POINTS",()=>fn({},Rn)),rn=Kg(K,"HTML_INTEGRATION_POINTS",()=>fn({},Vn));const V=Kg(K,"CUSTOM_ELEMENT_HANDLING",()=>Mc(null));if(at=Mc(null),go(V,"tagNameCheck")&&Fe(V.tagNameCheck)&&(at.tagNameCheck=V.tagNameCheck),go(V,"attributeNameCheck")&&Fe(V.attributeNameCheck)&&(at.attributeNameCheck=V.attributeNameCheck),go(V,"allowCustomizedBuiltInElements")&&typeof V.allowCustomizedBuiltInElements=="boolean"&&(at.allowCustomizedBuiltInElements=V.allowCustomizedBuiltInElements),Ar(at),Zt&&(sn=!1),In&&(pn=!0),ge&&(Pe=fn({},Y1),Ke=Mc(null),ge.html===!0&&(fn(Pe,V1),fn(Ke,X1)),ge.svg===!0&&(fn(Pe,Bg),fn(Ke,Wg),fn(Ke,Df)),ge.svgFilters===!0&&(fn(Pe,Ug),fn(Ke,Wg),fn(Ke,Df)),ge.mathMl===!0&&(fn(Pe,Hg),fn(Ke,Q1),fn(Ke,Df))),ft.tagCheck=null,ft.attributeCheck=null,go(K,"ADD_TAGS")&&(typeof K.ADD_TAGS=="function"?ft.tagCheck=K.ADD_TAGS:Vc(K.ADD_TAGS)&&(Pe===Re&&(Pe=To(Pe)),fn(Pe,K.ADD_TAGS,Ct))),go(K,"ADD_ATTR")&&(typeof K.ADD_ATTR=="function"?ft.attributeCheck=K.ADD_ATTR:Vc(K.ADD_ATTR)&&(Ke===tt&&(Ke=To(Ke)),fn(Ke,K.ADD_ATTR,Ct))),go(K,"ADD_FORBID_CONTENTS")&&Vc(K.ADD_FORBID_CONTENTS)&&(He===lt&&(He=To(He)),fn(He,K.ADD_FORBID_CONTENTS,Ct)),Gn&&(Pe["#text"]=!0),ht&&fn(Pe,["html","head","body"]),Pe.table&&(fn(Pe,["tbody"]),delete Mt.tbody),K.TRUSTED_TYPES_POLICY){if(typeof K.TRUSTED_TYPES_POLICY.createHTML!="function")throw ba('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof K.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw ba('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const ue=L;L=K.TRUSTED_TYPES_POLICY;try{P=le("")}catch(ve){throw L=ue,ve}}else K.TRUSTED_TYPES_POLICY===null?(L=void 0,P=""):(L===void 0&&(L=Z()),L&&typeof P=="string"&&(P=le("")));xr&&xr(K),kn=K},Ye=fn({},[...Bg,...Ug,...BB]),Lt=fn({},[...Hg,...UB]),On=function(K,V,ue){return V.namespaceURI===De?K==="svg":V.namespaceURI===_t?K==="svg"&&(ue==="annotation-xml"||un[ue]):!!Ye[K]},Qt=function(K,V,ue){return V.namespaceURI===De?K==="math":V.namespaceURI===kt?K==="math"&&rn[ue]:!!Lt[K]},hr=function(K,V,ue){return V.namespaceURI===kt&&!rn[ue]||V.namespaceURI===_t&&!un[ue]?!1:!Lt[K]&&(Jt[K]||!Ye[K])},ur=function(K){let V=N(K);(!V||!V.tagName)&&(V={namespaceURI:ze,tagName:"template"});const ue=hu(K.tagName),ve=hu(V.tagName);return Yt[K.namespaceURI]?K.namespaceURI===kt?On(ue,V,ve):K.namespaceURI===_t?Qt(ue,V,ve):K.namespaceURI===De?hr(ue,V,ve):!!(rr==="application/xhtml+xml"&&Yt[K.namespaceURI]):!1},jn=function(K){su(t.removed,{element:K});try{N(K).removeChild(K)}catch{if(v(K),!N(K))throw ba("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},vt=function(K,V,ue){try{K.removeAttributeNode(V)}catch{try{K.removeAttribute(ue)}catch{}}},je=function(K){jt(K);const V=x(K);if(V){const ve=[];Ea(V,Ce=>{su(ve,Ce)}),Ea(ve,Ce=>{try{v(Ce)}catch{}})}const ue=T(K);if(ue)for(let ve=ue.length-1;ve>=0;--ve){const Ce=ue[ve],Ve=Ce&&Ce.name;typeof Ve=="string"&&vt(K,Ce,Ve)}},xe=function(K,V,ue){if(!ue)try{ue=V.getAttributeNode(K)}catch{ue=null}su(t.removed,{attribute:ue||null,from:V});try{ue?V.removeAttributeNode(ue):V.removeAttribute(K)}catch{try{V.removeAttribute(K)}catch{}}if(K==="is")if(pn||In)try{jn(V)}catch{}else try{V.setAttribute(K,"")}catch{}},bt=function(K){const V=T(K);if(V)for(let ue=V.length-1;ue>=0;--ue){const ve=V[ue],Ce=ve&&ve.name;typeof Ce!="string"||Ke[Ct(Ce)]||vt(K,ve,Ce)}},jt=function(K){const V=[K];for(;V.length>0;){const ue=V.pop();$(ue)===No.element&&bt(ue);const Ce=x(ue);if(Ce)for(let Ve=Ce.length-1;Ve>=0;--Ve)V.push(Ce[Ve])}},mn=function(K,V){return st?K==="patchsrc"?!0:K==="for"&&V!=="label"&&V!=="output":!1},Gt=function(K){if(!st)return;const V=[K];for(;V.length>0;){const ue=V.pop(),ve=$(ue);if(ve===No.processingInstruction||ve===No.comment&&Hr(tE,ue.data)){try{v(ue)}catch{}continue}if(ve===No.element){const Ve=ue,Pt=Ct(C(ue));try{Ve.hasAttribute&&Ve.hasAttribute("patchsrc")&&Ve.removeAttribute("patchsrc"),Ve.hasAttribute&&Ve.hasAttribute("for")&&mn("for",Pt)&&Ve.removeAttribute("for")}catch{}}const Ce=x(ue);if(Ce)for(let Ve=Ce.length-1;Ve>=0;--Ve)V.push(Ce[Ve])}},Yn=function(K){let V=null,ue=null;if(Tn)K="<remove></remove>"+K;else{const Ve=K1(K,/^[\r\n\t ]+/);ue=Ve&&Ve[0]}rr==="application/xhtml+xml"&&ze===De&&(K='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+K+"</body></html>");const ve=L?le(K):K;if(ze===De)try{V=new f().parseFromString(ve,rr)}catch{}if(!V||!V.documentElement){V=J.createDocument(ze,"template",null);try{V.documentElement.innerHTML=qe?P:ve}catch{}}const Ce=V.body||V.documentElement;return K&&ue&&Ce.insertBefore(n.createTextNode(ue),Ce.childNodes[0]||null),ze===De?W.call(V,ht?"html":"body")[0]:ht?V.documentElement:Ce},Dn=function(K){const V=I?I(K):K.ownerDocument;return F.call(V||K,K,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},ln=function(K){return K=iu(K,ye," "),K=iu(K,$e," "),K=iu(K,Be," "),K},Vt=function(K){var V;K.normalize();const ue=I?I(K):K.ownerDocument,ve=F.call(ue||K,K,u.SHOW_TEXT|u.SHOW_COMMENT|u.SHOW_CDATA_SECTION|u.SHOW_PROCESSING_INSTRUCTION,null);let Ce=ve.nextNode();for(;Ce;)Ce.data=ln(Ce.data),Ce=ve.nextNode();const Ve=(V=K.querySelectorAll)===null||V===void 0?void 0:V.call(K,"template");Ve&&Ea(Ve,Pt=>{dr(Pt.content)&&Vt(Pt.content)})},zn=function(K){const V=A?A(K):null;return typeof V!="string"||Ct(V)!=="form"?!1:typeof K.nodeName!="string"||typeof K.textContent!="string"||typeof K.removeChild!="function"||K.attributes!==T(K)||typeof K.removeAttribute!="function"||typeof K.setAttribute!="function"||typeof K.namespaceURI!="string"||typeof K.insertBefore!="function"||typeof K.hasChildNodes!="function"||K.nodeType!==j(K)||K.childNodes!==x(K)},dr=function(K){if(!j||typeof K!="object"||K===null)return!1;try{return j(K)===No.documentFragment}catch{return!1}},Sr=function(K){if(!j||typeof K!="object"||K===null)return!1;try{return typeof j(K)=="number"}catch{return!1}};function yr(_e,K,V){_e.length!==0&&Ea(_e,ue=>{ue.call(t,K,V,kn)})}const Vr=function(K,V){return!!(st&&K.hasChildNodes()&&!Sr(K.firstElementChild)&&Hr(eE,K.textContent)&&Hr(eE,K.innerHTML)||st&&K.namespaceURI===De&&eU[V]&&(Sr(K.firstElementChild)||typeof K.textContent=="string"&&Hr(tU[V],K.textContent))||K.nodeType===No.processingInstruction||st&&K.nodeType===No.comment&&Hr(tE,K.data))},so=function(K,V){if(K instanceof RegExp)return Hr(K,V);if(K instanceof Function){for(var ue=arguments.length,ve=new Array(ue>2?ue-2:0),Ce=2;Ce<ue;Ce++)ve[Ce-2]=arguments[Ce];return!!K(V,...ve)}return!1},qo=function(K,V,ue){if(!Mt[V]&&Se(V)&&so(at.tagNameCheck,V))return!1;if(Gn&&!He[V]){const ve=N(K),Ce=x(K);if(Ce&&ve){const Ve=Ce.length;for(let Pt=Ve-1;Pt>=0;--Pt){const ut=K===ue?y(Ce[Pt],!0):Ce[Pt];ve.insertBefore(ut,w(K))}}}return jn(K),!0},Pr=function(K,V,ue,ve){return K.length===0?V:V===ue||V===ve?To(V):V},Hn=function(K,V){return K===V||N(K)!==null?!1:(ee&&jt(K),!0)},xn=function(K,V){if(yr(he.beforeSanitizeElements,K,null),Hn(K,V))return!0;if(zn(K))return jn(K),!0;const ue=Ct(C(K));if(Pe=Pr(he.uponSanitizeElement,Pe,Re,xt),yr(he.uponSanitizeElement,K,{tagName:ue,allowedTags:Pe}),Hn(K,V))return!0;if(Vr(K,ue))return jn(K),!0;if(Mt[ue]||!(ft.tagCheck instanceof Function&&ft.tagCheck(ue))&&!Pe[ue]){const Ce=qo(K,ue,V);return Ce===!1&&yr(he.afterSanitizeElements,K,null),Ce}if($(K)===No.element&&!ur(K)||(ue==="noscript"||ue==="noembed"||ue==="noframes")&&Hr(QB,K.innerHTML))return jn(K),!0;if(Zt&&K.nodeType===No.text){const Ce=ln(K.textContent);K.textContent!==Ce&&(su(t.removed,{element:K.cloneNode()}),K.textContent=Ce)}return yr(he.afterSanitizeElements,K,null),!1},G=function(K,V,ue){if(en[V]||mn(V,K)||pt&&(V==="id"||V==="name")&&(ue in n||ue in de))return!1;const ve=Ke[V]||ft.attributeCheck instanceof Function&&ft.attributeCheck(V,K);return sn&&Hr(Ne,V)||Ze&&Hr(H,V)?!0:ve?Ee[V]||Hr(we,iu(ue,X,""))||(V==="src"||V==="xlink:href"||V==="href")&&K!=="script"&&q1(ue,"data:")===0&&z[K]||Ut&&!Hr(ae,iu(ue,X,""))?!0:!ue:Se(K)&&so(at.tagNameCheck,K)&&so(at.attributeNameCheck,V,K)||V==="is"&&at.allowCustomizedBuiltInElements&&so(at.tagNameCheck,ue)},fe=fn({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Se=function(K){return!fe[hu(K)]&&Hr(oe,K)},Et=function(K,V,ue,ve){if(L&&typeof p=="object"&&typeof p.getAttributeType=="function"&&!ue)switch(p.getAttributeType(K,V)){case"TrustedHTML":return le(ve);case"TrustedScriptURL":return te(ve)}return ve},nt=function(K,V,ue,ve){try{ue?K.setAttributeNS(ue,V,ve):K.setAttribute(V,ve),zn(K)?jn(K):W1(t.removed)}catch{xe(V,K)}},Nt=function(K){yr(he.beforeSanitizeAttributes,K,null);const V=K.attributes;if(!V||zn(K))return;Ke=Pr(he.uponSanitizeAttribute,Ke,tt,ct);const ue={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Ke,forceKeepAttr:void 0};let ve=V.length;const Ce=Ct(K.nodeName);for(;ve--;){const Ve=V[ve],Pt=Ve.name,ut=Ve.namespaceURI,Xn=Ve.value,yn=Ct(Pt),ti=Xn;let Wn=Pt==="value"?ti:OB(ti);if(ue.attrName=yn,ue.attrValue=Wn,ue.keepAttr=!0,ue.forceKeepAttr=void 0,yr(he.uponSanitizeAttribute,K,ue),Wn=ue.attrValue,Ht&&(yn==="id"||yn==="name")&&q1(Wn,an)!==0&&(xe(Pt,K,Ve),Wn=an+Wn),st&&Hr(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Wn)){xe(Pt,K,Ve);continue}if(yn==="attributename"&&K1(Wn,"href")){xe(Pt,K,Ve);continue}if(!ue.forceKeepAttr){if(!ue.keepAttr){xe(Pt,K,Ve);continue}if(!zt&&Hr(JB,Wn)){xe(Pt,K,Ve);continue}if(Zt&&(Wn=ln(Wn)),!G(Ce,yn,Wn)){xe(Pt,K,Ve);continue}Wn=Et(Ce,yn,ut,Wn),Wn!==ti&&nt(K,Pt,ut,Wn)}}yr(he.afterSanitizeAttributes,K,null)},Fn=function(K){let V=null;const ue=Dn(K);for(yr(he.beforeSanitizeShadowDOM,K,null);V=ue.nextNode();)if(yr(he.uponSanitizeShadowNode,V,null),xn(V,K),Nt(V),dr(V.content)&&Fn(V.content),$(V)===No.element){const ve=E(V);dr(ve)&&(or(ve),Fn(ve))}yr(he.afterSanitizeShadowDOM,K,null)},or=function(K){const V=[{node:K,shadow:null}];for(;V.length>0;){const ue=V.pop();if(ue.shadow){Fn(ue.shadow);continue}const ve=ue.node,Ve=$(ve)===No.element,Pt=x(ve);if(Pt)for(let ut=Pt.length-1;ut>=0;--ut)V.push({node:Pt[ut],shadow:null});if(Ve){const ut=A?A(ve):null;if(typeof ut=="string"&&Ct(ut)==="template"){const Xn=ve.content;dr(Xn)&&V.push({node:Xn,shadow:null})}}if(Ve){const ut=E(ve);dr(ut)&&V.push({node:null,shadow:ut},{node:ut,shadow:null})}}};return t.sanitize=function(_e){let K=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},V=null,ue=null,ve=null,Ce=null;if(qe=!_e,qe&&(_e="<!-->"),typeof _e!="string"&&!Sr(_e)&&(_e=zB(_e),typeof _e!="string"))throw ba("dirty is not a string, aborting");if(!t.isSupported)return _e;vn?(Pe=xt,Ke=ct):wt(K),(he.uponSanitizeElement.length>0||he.uponSanitizeAttribute.length>0)&&(Pe=To(Pe)),he.uponSanitizeAttribute.length>0&&(Ke=To(Ke)),t.removed=[];const Ve=ee&&typeof _e!="string"&&Sr(_e);if(Ve){Gt(_e);const Xn=C(_e);if(typeof Xn=="string"){const yn=Ct(Xn);if(!Pe[yn]||Mt[yn])throw je(_e),ba("root node is forbidden and cannot be sanitized in-place")}if(zn(_e))throw je(_e),ba("root node is clobbered and cannot be sanitized in-place");try{or(_e)}catch(yn){throw je(_e),yn}}else if(Sr(_e))V=Yn("<!---->"),ue=V.ownerDocument.importNode(_e,!0),ue.nodeType===No.element&&ue.nodeName==="BODY"||ue.nodeName==="HTML"?V=ue:V.appendChild(ue),or(ue);else{if(!pn&&!Zt&&!ht&&_e.indexOf("<")===-1)return L&&Oe?le(_e):_e;if(V=Yn(_e),!V)return pn?null:Oe?P:""}V&&Tn&&jn(V.firstChild);const Pt=Ve?_e:V;try{const Xn=Dn(Pt);for(;ve=Xn.nextNode();)xn(ve,Pt),Nt(ve),dr(ve.content)&&Fn(ve.content)}catch(Xn){throw Ve&&(je(_e),Ea(t.removed,yn=>{yn.element&&jt(yn.element)})),Xn}if(Ve)return Ea(t.removed,Xn=>{Xn.element&&jt(Xn.element)}),Zt&&Vt(_e),_e;if(pn){if(Zt&&Vt(V),In)for(Ce=O.call(V.ownerDocument);V.firstChild;)Ce.appendChild(V.firstChild);else Ce=V;return(Ke.shadowroot||Ke.shadowrootmode)&&(Ce=ie.call(r,Ce,!0)),Ce}let ut=ht?V.outerHTML:V.innerHTML;return ht&&Pe["!doctype"]&&V.ownerDocument&&V.ownerDocument.doctype&&V.ownerDocument.doctype.name&&Hr(YB,V.ownerDocument.doctype.name)&&(ut="<!DOCTYPE "+V.ownerDocument.doctype.name+`>
|
|
138
|
+
`+ut),Zt&&(ut=ln(ut)),L&&Oe?le(ut):ut},t.setConfig=function(){let _e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};wt(_e),vn=!0,xt=Pe,ct=Ke},t.clearConfig=function(){kn=null,vn=!1,xt=null,ct=null,L=B,P=""},t.isValidAttribute=function(_e,K,V){kn||wt({});const ue=Ct(_e),ve=Ct(K);return G(ue,ve,V)},t.addHook=function(_e,K){typeof K=="function"&&go(he,_e)&&su(he[_e],K)},t.removeHook=function(_e,K){if(go(he,_e)){if(K!==void 0){const V=IB(he[_e],K);return V===-1?void 0:RB(he[_e],V,1)[0]}return W1(he[_e])}},t.removeHooks=function(_e){go(he,_e)&&(he[_e]=[])},t.removeAllHooks=function(){he=nE()},t}var oU=E$();function iv(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Ja=iv();function S$(e){Ja=e}var Na={exec:()=>null};function Ic(e){let t=[];return n=>{let r=Math.max(0,Math.min(3,n-1)),o=t[r];return o||(o=e(r),t[r]=o),o}}function on(e,t=""){let n=typeof e=="string"?e:e.source,r={replace:(o,s)=>{let a=typeof s=="string"?s:s.source;return a=a.replace(qr.caret,"$1"),n=n.replace(o,a),r},getRegex:()=>new RegExp(n,t)};return r}var sU=((e="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+e)}catch{return!1}})(),qr={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:Ic(e=>new RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Ic(e=>new RegExp(`^ {0,${e}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Ic(e=>new RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:Ic(e=>new RegExp(`^ {0,${e}}#`)),htmlBeginRegex:Ic(e=>new RegExp(`^ {0,${e}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Ic(e=>new RegExp(`^ {0,${e}}>`))},iU=/^(?:[ \t]*(?:\n|$))+/,aU=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,cU=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ld=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,lU=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,av=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,_$=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,N$=on(_$).replace(/bull/g,av).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),uU=on(_$).replace(/bull/g,av).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),cv=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,dU=/^[^\n]+/,lv=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,fU=on(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",lv).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),hU=on(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,av).getRegex(),Rp="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",uv=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,pU=on("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",uv).replace("tag",Rp).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),T$=e=>on(cv).replace("hr",ld).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",e).replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Rp).getRegex(),mU=T$(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),gU=T$(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),kU=on(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",gU).getRegex(),dv={blockquote:kU,code:aU,def:fU,fences:cU,heading:lU,hr:ld,html:pU,lheading:N$,list:hU,newline:iU,paragraph:mU,table:Na,text:dU},rE=on("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ld).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Rp).getRegex(),wU={...dv,lheading:uU,table:rE,paragraph:on(cv).replace("hr",ld).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",rE).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Rp).getRegex()},yU={...dv,html:on(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",uv).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Na,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:on(cv).replace("hr",ld).replace("heading",` *#{1,6} *[^
|
|
139
|
+
]`).replace("lheading",N$).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},vU=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,bU=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,j$=/^( {2,}|\\)\n(?!\s*$)/,xU=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,ei=/[\p{P}\p{S}]/u,pl=/[\s\p{P}\p{S}]/u,ud=/[^\s\p{P}\p{S}]/u,EU=on(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,pl).getRegex(),SU=/[\p{Pi}\p{Ps}"']/u,$$=/(?!~)[\p{P}\p{S}]/u,_U=/(?!~)[\s\p{P}\p{S}]/u,NU=/(?:[^\s\p{P}\p{S}]|~)/u,TU=on(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",sU?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),A$=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,jU=on(A$,"u").replace(/punct/g,ei).getRegex(),$U=on(A$,"u").replace(/punct/g,$$).getRegex(),AU=/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,CU=on(AU,"u").replace(/openQuote/g,SU).replace(/punct/g,ei).getRegex(),C$="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",IU=on(C$,"gu").replace(/notPunctSpace/g,ud).replace(/punctSpace/g,pl).replace(/punct/g,ei).getRegex(),RU=on(C$,"gu").replace(/notPunctSpace/g,NU).replace(/punctSpace/g,_U).replace(/punct/g,$$).getRegex(),OU="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)",MU=on(OU,"gu").replace(/notPunctSpace/g,ud).replace(/punctSpace/g,pl).replace(/punct/g,ei).getRegex(),LU=on("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,ud).replace(/punctSpace/g,pl).replace(/punct/g,ei).getRegex(),PU="^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)",DU=on(PU,"gu").replace(/notPunctSpace/g,ud).replace(/punctSpace/g,pl).replace(/punct/g,ei).getRegex(),zU=on(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,ei).getRegex(),FU="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",BU=on(FU,"gu").replace(/notPunctSpace/g,ud).replace(/punctSpace/g,pl).replace(/punct/g,ei).getRegex(),UU=on(/\\(punct)/,"gu").replace(/punct/g,ei).getRegex(),HU=on(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),WU=on(uv).replace("(?:-->|$)","-->").getRegex(),KU=on("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",WU).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),jh=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,qU=on(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",jh).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),I$=on(/^!?\[(label)\]\[(ref)\]/).replace("label",jh).replace("ref",lv).getRegex(),R$=on(/^!?\[(ref)\](?:\[\])?/).replace("ref",lv).getRegex(),ZU=on("reflink|nolink(?!\\()","g").replace("reflink",I$).replace("nolink",R$).getRegex(),oE=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,fv={_backpedal:Na,anyPunctuation:UU,autolink:HU,blockSkip:TU,br:j$,code:bU,del:Na,delLDelim:Na,delRDelim:Na,emStrongLDelim:jU,emStrongRDelimAst:IU,emStrongRDelimUnd:LU,escape:vU,link:qU,nolink:R$,punctuation:EU,reflink:I$,reflinkSearch:ZU,tag:KU,text:xU,url:Na},GU={...fv,emStrongLDelim:CU,emStrongRDelimAst:MU,emStrongRDelimUnd:DU,link:on(/^!?\[(label)\]\((.*?)\)/).replace("label",jh).getRegex(),reflink:on(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",jh).getRegex()},nw={...fv,emStrongRDelimAst:RU,emStrongLDelim:$U,delLDelim:zU,delRDelim:BU,url:on(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",oE).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:on(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",oE).getRegex()},VU={...nw,br:on(j$).replace("{2,}","*").getRegex(),text:on(nw.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},zf={normal:dv,gfm:wU,pedantic:yU},cu={normal:fv,gfm:nw,breaks:VU,pedantic:GU},YU={"&":"&","<":"<",">":">",'"':""","'":"'"},sE=e=>YU[e];function gs(e,t){if(t){if(qr.escapeTest.test(e))return e.replace(qr.escapeReplace,sE)}else if(qr.escapeTestNoEncode.test(e))return e.replace(qr.escapeReplaceNoEncode,sE);return e}function iE(e){try{e=encodeURI(e).replace(qr.percentDecode,"%")}catch{return null}return e}function aE(e,t){var s;let n=e.replace(qr.findPipe,(a,l,u)=>{let h=!1,f=l;for(;--f>=0&&u[f]==="\\";)h=!h;return h?"|":" |"}),r=n.split(qr.splitPipe),o=0;if(r[0].trim()||r.shift(),r.length>0&&!((s=r.at(-1))!=null&&s.trim())&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;o<r.length;o++)r[o]=r[o].trim().replace(qr.slashPipe,"|");return r}function ji(e,t,n){let r=e.length;if(r===0)return"";let o=0;for(;o<r&&e.charAt(r-o-1)===t;)o++;return e.slice(0,r-o)}function cE(e){let t=e.split(`
|
|
140
|
+
`),n=t.length-1;for(;n>=0&&qr.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
|
|
141
|
+
`)}function XU(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]==="\\")r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function QU(e,t=0){let n=t,r="";for(let o of e)if(o===" "){let s=4-n%4;r+=" ".repeat(s),n+=s}else r+=o,n++;return r}function lE(e,t,n,r,o){let s=t.href,a=t.title||null,l=e[1].replace(o.other.outputLinkReplace,"$1"),u=e[0].charAt(0)==="!";r.state.inLink=!0;let h=r.state.linkEmitted,f=r.state.inRawBlock;r.state.linkEmitted=!1;let p=r.inlineTokens(l),g=r.state.linkEmitted;if(r.state.linkEmitted=h,r.state.inLink=!1,!u){if(g){r.state.inRawBlock=f;return}r.state.linkEmitted=!0}return{type:u?"image":"link",raw:n,href:s,title:a,text:l,tokens:p}}function JU(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let o=r[1];return t.split(`
|
|
142
|
+
`).map(s=>{let a=s.match(n.other.beginningSpace);if(a===null)return s;let[l]=a;return l.length>=o.length?s.slice(o.length):s}).join(`
|
|
143
|
+
`)}var $h=class{constructor(e){Rt(this,"options");Rt(this,"rules");Rt(this,"lexer");this.options=e||Ja}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=this.options.pedantic?t[0]:cE(t[0]),r=n.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:n,codeBlockStyle:"indented",text:r}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],r=JU(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let r=ji(n,"#");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:"heading",raw:ji(t[0],`
|
|
144
|
+
`),depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:ji(t[0],`
|
|
145
|
+
`)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=ji(t[0],`
|
|
146
|
+
`).split(`
|
|
147
|
+
`),r="",o="",s=[];for(;n.length>0;){let a=!1,l=[],u;for(u=0;u<n.length;u++)if(this.rules.other.blockquoteStart.test(n[u]))l.push(n[u]),a=!0;else if(!a)l.push(n[u]);else break;n=n.slice(u);let h=l.join(`
|
|
148
|
+
`),f=h.replace(this.rules.other.blockquoteSetextReplace,`
|
|
149
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");r=r?`${r}
|
|
150
|
+
${h}`:h,o=o?`${o}
|
|
151
|
+
${f}`:f;let p=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(f,s,!0),this.lexer.state.top=p,n.length===0)break;let g=s.at(-1);if((g==null?void 0:g.type)==="code")break;if((g==null?void 0:g.type)==="blockquote"){let y=g,v=n.join(`
|
|
152
|
+
`),w=y.raw+`
|
|
153
|
+
`+v.replace(this.rules.other.blockquoteSetextReplace2,""),x=this.blockquote(w);s[s.length-1]=x,r=`${r}
|
|
154
|
+
${v}`,o=o.substring(0,o.length-y.text.length)+x.text;break}else if((g==null?void 0:g.type)==="list"){let y=g,v=y.raw+`
|
|
155
|
+
`+n.join(`
|
|
156
|
+
`),w=this.list(v);s[s.length-1]=w,r=r.substring(0,r.length-g.raw.length)+w.raw,o=o.substring(0,o.length-y.raw.length)+w.raw,n=v.substring(s.at(-1).raw.length).split(`
|
|
157
|
+
`);continue}}return{type:"blockquote",raw:r,tokens:s,text:o}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,o={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let s=this.rules.other.listItemRegex(n),a=!1;for(;e;){let u=!1,h="",f="";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;h=t[0],e=e.substring(h.length);let p=QU(t[2].split(`
|
|
158
|
+
`,1)[0],t[1].length),g=e.split(`
|
|
159
|
+
`,1)[0],y=!p.trim(),v=0;if(this.options.pedantic?(v=2,f=p.trimStart()):y?v=t[1].length+1:(v=p.search(this.rules.other.nonSpaceChar),v=v>4?1:v,f=p.slice(v),v+=t[1].length),y&&this.rules.other.blankLine.test(g)&&(h+=g+`
|
|
160
|
+
`,e=e.substring(g.length+1),u=!0),!u){let w=this.rules.other.nextBulletRegex(v),x=this.rules.other.hrRegex(v),N=this.rules.other.fencesBeginRegex(v),E=this.rules.other.headingBeginRegex(v),T=this.rules.other.htmlBeginRegex(v),j=this.rules.other.blockquoteBeginRegex(v);for(;e;){let A=e.split(`
|
|
161
|
+
`,1)[0],I;if(g=A,this.options.pedantic?(g=g.replace(this.rules.other.listReplaceNesting," "),I=g):I=g.replace(this.rules.other.tabCharGlobal," "),N.test(g)||E.test(g)||T.test(g)||j.test(g)||w.test(g)||x.test(g))break;if(I.search(this.rules.other.nonSpaceChar)>=v||!g.trim())f+=`
|
|
162
|
+
`+I.slice(v);else{if(y||p.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||N.test(p)||E.test(p)||x.test(p))break;f+=`
|
|
163
|
+
`+g}y=!g.trim(),h+=A+`
|
|
164
|
+
`,e=e.substring(A.length+1),p=I.slice(v)}}o.loose||(a?o.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(a=!0)),o.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(f),loose:!1,text:f,tokens:[]}),o.raw+=h}let l=o.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;o.raw=o.raw.trimEnd();for(let u of o.items)if(this.lexer.state.top=!1,u.tokens=this.lexer.blockTokens(u.text,[]),!o.loose){let h=u.tokens.filter(p=>p.type==="space"),f=h.length>0&&h.some(p=>this.rules.other.anyLine.test(p.raw));o.loose=f}for(let u of o.items){let h=u.tokens[0];if(u.task&&((h==null?void 0:h.type)==="text"||(h==null?void 0:h.type)==="paragraph")){u.text=u.text.replace(this.rules.other.listReplaceTask,""),h.raw=h.raw.replace(this.rules.other.listReplaceTask,""),h.text=h.text.replace(this.rules.other.listReplaceTask,"");for(let p=this.lexer.inlineQueue.length-1;p>=0;p--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[p].src)){this.lexer.inlineQueue[p].src=this.lexer.inlineQueue[p].src.replace(this.rules.other.listReplaceTask,"");break}let f=this.rules.other.listTaskCheckbox.exec(u.raw);if(f){let p={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};u.checked=p.checked,o.loose?u.tokens[0]&&["paragraph","text"].includes(u.tokens[0].type)&&"tokens"in u.tokens[0]&&u.tokens[0].tokens?(u.tokens[0].raw=p.raw+u.tokens[0].raw,u.tokens[0].text=p.raw+u.tokens[0].text,u.tokens[0].tokens.unshift(p)):u.tokens.unshift({type:"paragraph",raw:p.raw,text:p.raw,tokens:[p]}):u.tokens.unshift(p)}}else u.task&&(u.task=!1)}if(o.loose)for(let u of o.items){u.loose=!0;for(let h of u.tokens)h.type==="text"&&(h.type="paragraph")}return o}}html(e){let t=this.rules.block.html.exec(e);if(t){let n=cE(t[0]);return{type:"html",block:!0,raw:n,pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:n}}}def(e){let t=this.rules.block.def.exec(e);if(t){let n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:n,raw:ji(t[0],`
|
|
165
|
+
`),href:r,title:o}}}table(e){var a;let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=aE(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),o=(a=t[3])!=null&&a.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
166
|
+
`):[],s={type:"table",raw:ji(t[0],`
|
|
167
|
+
`),header:[],align:[],rows:[]};if(n.length===r.length){for(let l of r)this.rules.other.tableAlignRight.test(l)?s.align.push("right"):this.rules.other.tableAlignCenter.test(l)?s.align.push("center"):this.rules.other.tableAlignLeft.test(l)?s.align.push("left"):s.align.push(null);for(let l=0;l<n.length;l++)s.header.push({text:n[l],tokens:this.lexer.inline(n[l]),header:!0,align:s.align[l]});for(let l of o)s.rows.push(aE(l,s.header.length).map((u,h)=>({text:u,tokens:this.lexer.inline(u),header:!1,align:s.align[h]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let n=t[1].trim();return{type:"heading",raw:ji(t[0],`
|
|
168
|
+
`),depth:t[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===`
|
|
169
|
+
`?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=ji(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=XU(t[2],"()");if(s===-2)return;if(s>-1){let a=(t[0].indexOf("!")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,a).trim(),t[3]=""}}let r=t[2],o="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],o=s[3])}else o=t[3]?t[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),lE(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=t[r.toLowerCase()];if(!o){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return lE(n,o,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let o=[...r[0]].length-1,s,a,l=o,u=0,h=r[0][0],f=n===h,p=h==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(p.lastIndex=0,t=t.slice(-1*e.length+o);(r=p.exec(t))!==null;){if(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!s)continue;if(a=[...s].length,r[3]||r[4]){l+=a;continue}else if(r[5]||r[6]){if(o%3&&!((o+a)%3)){u+=a;continue}if(f)break}if(l-=a,l>0)continue;a=Math.min(a,a+l+u);let g=[...r[0]][0].length,y=e.slice(0,o+r.index+g+a);if(Math.min(o,a)%2){let w=y.slice(1,-1);return{type:"em",raw:y,text:w,tokens:this.lexer.inlineTokens(w)}}let v=y.slice(2,-2);return{type:"strong",raw:y,text:v,tokens:this.lexer.inlineTokens(v)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(n),o=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&o&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,n=""){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let o=[...r[0]].length-1,s,a,l=o,u=this.rules.inline.delRDelim;for(u.lastIndex=0,t=t.slice(-1*e.length+o);(r=u.exec(t))!==null;){if(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!s||(a=[...s].length,a!==o))continue;if(r[3]||r[4]){l+=a;continue}if(l-=a,l>0)continue;a=Math.min(a,a+l);let h=[...r[0]][0].length,f=e.slice(0,o+r.index+h+a),p=f.slice(o,-o);return{type:"del",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,r;return t[2]==="@"?(n=t[1],r="mailto:"+n):(n=t[1],r=n),{type:"link",raw:t[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}url(e){var n;let t;if(t=this.rules.inline.url.exec(e)){let r,o;if(t[2]==="@")r=t[0],o="mailto:"+r;else{let s;do s=t[0],t[0]=((n=this.rules.inline._backpedal.exec(t[0]))==null?void 0:n[0])??"";while(s!==t[0]);r=t[0],t[1]==="www."?o="http://"+t[0]:o=t[0]}return{type:"link",raw:t[0],text:r,href:o,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}},ns=class rw{constructor(t){Rt(this,"tokens");Rt(this,"options");Rt(this,"state");Rt(this,"inlineQueue");Rt(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Ja,this.options.tokenizer=this.options.tokenizer||new $h,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let n={other:qr,block:zf.normal,inline:cu.normal};this.options.pedantic?(n.block=zf.pedantic,n.inline=cu.pedantic):this.options.gfm&&(n.block=zf.gfm,this.options.breaks?n.inline=cu.breaks:n.inline=cu.gfm),this.tokenizer.rules=n}static get rules(){return{block:zf,inline:cu}}static lex(t,n){return new rw(n).lex(t)}static lexInline(t,n){return new rw(n).inlineTokens(t)}lex(t){t=t.replace(qr.carriageReturn,`
|
|
170
|
+
`),this.blockTokens(t,this.tokens);for(let n=0;n<this.inlineQueue.length;n++){let r=this.inlineQueue[n];this.inlineTokens(r.src,r.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,n=[],r=!1){var s,a,l;this.tokenizer.lexer=this,this.options.pedantic&&(t=t.replace(qr.tabCharGlobal," ").replace(qr.spaceLine,""));let o=1/0;for(;t;){if(t.length<o)o=t.length;else{this.infiniteLoopError(t.charCodeAt(0));break}let u;if((a=(s=this.options.extensions)==null?void 0:s.block)!=null&&a.some(f=>(u=f.call({lexer:this},t,n))?(t=t.substring(u.raw.length),n.push(u),!0):!1))continue;if(u=this.tokenizer.space(t)){t=t.substring(u.raw.length);let f=n.at(-1);u.raw.length===1&&f!==void 0?f.raw+=`
|
|
171
|
+
`:n.push(u);continue}if(u=this.tokenizer.code(t)){t=t.substring(u.raw.length);let f=n.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
172
|
+
`)?"":`
|
|
173
|
+
`)+u.raw,f.text+=`
|
|
174
|
+
`+u.text,this.inlineQueue.at(-1).src=f.text):n.push(u);continue}if(u=this.tokenizer.fences(t)){t=t.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.heading(t)){t=t.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.hr(t)){t=t.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.blockquote(t)){t=t.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.list(t)){t=t.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.html(t)){t=t.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.def(t)){t=t.substring(u.raw.length);let f=n.at(-1);(f==null?void 0:f.type)==="paragraph"||(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
175
|
+
`)?"":`
|
|
176
|
+
`)+u.raw,f.text+=`
|
|
177
|
+
`+u.raw,this.inlineQueue.at(-1).src=f.text):this.tokens.links[u.tag]||(this.tokens.links[u.tag]={href:u.href,title:u.title},n.push(u));continue}if(u=this.tokenizer.table(t)){t=t.substring(u.raw.length),n.push(u);continue}if(u=this.tokenizer.lheading(t)){t=t.substring(u.raw.length),n.push(u);continue}let h=t;if((l=this.options.extensions)!=null&&l.startBlock){let f=1/0,p=t.slice(1),g;this.options.extensions.startBlock.forEach(y=>{g=y.call({lexer:this},p),typeof g=="number"&&g>=0&&(f=Math.min(f,g))}),f<1/0&&f>=0&&(h=t.substring(0,f+1))}if(this.state.top&&(u=this.tokenizer.paragraph(h))){let f=n.at(-1);r&&(f==null?void 0:f.type)==="paragraph"?(f.raw+=(f.raw.endsWith(`
|
|
178
|
+
`)?"":`
|
|
179
|
+
`)+u.raw,f.text+=`
|
|
180
|
+
`+u.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):n.push(u),r=h.length!==t.length,t=t.substring(u.raw.length);continue}if(u=this.tokenizer.text(t)){t=t.substring(u.raw.length);let f=n.at(-1);(f==null?void 0:f.type)==="text"?(f.raw+=(f.raw.endsWith(`
|
|
181
|
+
`)?"":`
|
|
182
|
+
`)+u.raw,f.text+=`
|
|
183
|
+
`+u.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=f.text):n.push(u);continue}if(t){this.infiniteLoopError(t.charCodeAt(0));break}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}linkInText(t){if(!t.includes("["))return!1;let n=this.tokenizer.rules.inline.link;for(let r of t.matchAll(this.tokenizer.rules.inline.blockSkip))if(n.test(r[0])&&t.charAt(r.index-1)!=="!")return!0;for(let r of t.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let o=r[0],s=o.lastIndexOf("[");if(!(o.charAt(0)==="!"||!Object.hasOwn(this.tokens.links,o.slice(s+1,-1)))&&!(s>1&&this.linkInText(o.slice(1,s-1))))return!0}return!1}inlineTokens(t,n=[]){var l,u,h,f,p;this.tokenizer.lexer=this;let r=t;if(this.tokens.links&&t.includes("[")){let g=this.tokenizer.rules.inline.reflinkSearch,y=v=>{let w=v.lastIndexOf("[");if(!Object.hasOwn(this.tokens.links,v.slice(w+1,-1)))return v;if(w>1&&v.charAt(0)!=="!"){let x=v.slice(1,w-1);if(this.linkInText(x))return"["+x.replace(g,y)+"]["+"a".repeat(v.length-w-2)+"]"}return"["+"a".repeat(v.length-2)+"]"};r=r.replace(g,y)}r=r.replace(this.tokenizer.rules.inline.anyPunctuation,g=>"+".repeat(g.length)),r=r.replace(this.tokenizer.rules.inline.blockSkip,(g,y,v)=>{let w=v?v.length:0;return g.slice(0,w)+"["+"a".repeat(g.length-w-2)+"]"}),r=((u=(l=this.options.hooks)==null?void 0:l.emStrongMask)==null?void 0:u.call({lexer:this},r))??r;let o=!1,s="",a=1/0;for(;t;){if(t.length<a)a=t.length;else{this.infiniteLoopError(t.charCodeAt(0));break}o||(s=""),o=!1;let g;if((f=(h=this.options.extensions)==null?void 0:h.inline)!=null&&f.some(v=>(g=v.call({lexer:this},t,n))?(t=t.substring(g.raw.length),n.push(g),!0):!1))continue;if(g=this.tokenizer.escape(t)){t=t.substring(g.raw.length),n.push(g);continue}if(g=this.tokenizer.tag(t)){t=t.substring(g.raw.length),n.push(g);continue}if(g=this.tokenizer.link(t)){t=t.substring(g.raw.length),n.push(g);continue}if(g=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(g.raw.length);let v=n.at(-1);g.type==="text"&&(v==null?void 0:v.type)==="text"?(v.raw+=g.raw,v.text+=g.text):n.push(g);continue}if(g=this.tokenizer.emStrong(t,r,s)){t=t.substring(g.raw.length),n.push(g);continue}if(g=this.tokenizer.codespan(t)){t=t.substring(g.raw.length),n.push(g);continue}if(g=this.tokenizer.br(t)){t=t.substring(g.raw.length),n.push(g);continue}if(g=this.tokenizer.del(t,r,s)){t=t.substring(g.raw.length),n.push(g);continue}if(g=this.tokenizer.autolink(t)){t=t.substring(g.raw.length),n.push(g);continue}if(!this.state.inLink&&(g=this.tokenizer.url(t))){t=t.substring(g.raw.length),n.push(g);continue}let y=t;if((p=this.options.extensions)!=null&&p.startInline){let v=1/0,w=t.slice(1),x;this.options.extensions.startInline.forEach(N=>{x=N.call({lexer:this},w),typeof x=="number"&&x>=0&&(v=Math.min(v,x))}),v<1/0&&v>=0&&(y=t.substring(0,v+1))}if(g=this.tokenizer.inlineText(y)){t=t.substring(g.raw.length),g.raw.slice(-1)!=="_"&&(s=g.raw.slice(-1)),o=!0;let v=n.at(-1);(v==null?void 0:v.type)==="text"?(v.raw+=g.raw,v.text+=g.text):n.push(g);continue}if(t){this.infiniteLoopError(t.charCodeAt(0));break}}return n}infiniteLoopError(t){let n="Infinite loop on byte: "+t;if(this.options.silent)console.error(n);else throw new Error(n)}},Uu=class{constructor(e){Rt(this,"options");Rt(this,"parser");this.options=e||Ja}space(e){return""}code({text:e,lang:t,escaped:n}){var s;let r=(s=(t||"").match(qr.notSpaceStart))==null?void 0:s[0],o=e.replace(qr.endingNewline,"")+`
|
|
184
|
+
`;return r?'<pre><code class="language-'+gs(r)+'">'+(n?o:gs(o,!0))+`</code></pre>
|
|
185
|
+
`:"<pre><code>"+(n?o:gs(o,!0))+`</code></pre>
|
|
186
|
+
`}blockquote({tokens:e}){return`<blockquote>
|
|
187
|
+
${this.parser.parse(e)}</blockquote>
|
|
188
|
+
`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
|
|
189
|
+
`}hr(e){return`<hr>
|
|
190
|
+
`}list(e){let t=e.ordered,n=e.start,r="";for(let a=0;a<e.items.length;a++){let l=e.items[a];r+=this.listitem(l)}let o=t?"ol":"ul",s=t&&n!==1?' start="'+n+'"':"";return"<"+o+s+`>
|
|
191
|
+
`+r+"</"+o+`>
|
|
192
|
+
`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
|
|
193
|
+
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
|
|
194
|
+
`}table(e){let t="",n="";for(let o=0;o<e.header.length;o++)n+=this.tablecell(e.header[o]);t+=this.tablerow({text:n});let r="";for(let o=0;o<e.rows.length;o++){let s=e.rows[o];n="";for(let a=0;a<s.length;a++)n+=this.tablecell(s[a]);r+=this.tablerow({text:n})}return r&&(r=`<tbody>${r}</tbody>`),`<table>
|
|
195
|
+
<thead>
|
|
196
|
+
`+t+`</thead>
|
|
197
|
+
`+r+`</table>
|
|
198
|
+
`}tablerow({text:e}){return`<tr>
|
|
199
|
+
${e}</tr>
|
|
200
|
+
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
201
|
+
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${gs(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),o=iE(e);if(o===null)return r;e=o;let s='<a href="'+e+'"';return t&&(s+=' title="'+gs(t)+'"'),s+=">"+r+"</a>",s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let o=iE(e);if(o===null)return gs(n);e=o;let s=`<img src="${e}" alt="${gs(n)}"`;return t&&(s+=` title="${gs(t)}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:gs(e.text)}},hv=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},rs=class ow{constructor(t){Rt(this,"options");Rt(this,"renderer");Rt(this,"textRenderer");this.options=t||Ja,this.options.renderer=this.options.renderer||new Uu,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new hv}static parse(t,n){return new ow(n).parse(t)}static parseInline(t,n){return new ow(n).parseInline(t)}parse(t){var r,o;this.renderer.parser=this;let n="";for(let s=0;s<t.length;s++){let a=t[s];if((o=(r=this.options.extensions)==null?void 0:r.renderers)!=null&&o[a.type]){let u=a,h=this.options.extensions.renderers[u.type].call({parser:this},u);if(h!==!1||!["space","hr","heading","code","table","blockquote","list","checkbox","html","def","paragraph","text"].includes(u.type)){n+=h||"";continue}}let l=a;switch(l.type){case"space":{n+=this.renderer.space(l);break}case"hr":{n+=this.renderer.hr(l);break}case"heading":{n+=this.renderer.heading(l);break}case"code":{n+=this.renderer.code(l);break}case"table":{n+=this.renderer.table(l);break}case"blockquote":{n+=this.renderer.blockquote(l);break}case"list":{n+=this.renderer.list(l);break}case"checkbox":{n+=this.renderer.checkbox(l);break}case"html":{n+=this.renderer.html(l);break}case"def":{n+=this.renderer.def(l);break}case"paragraph":{n+=this.renderer.paragraph(l);break}case"text":{n+=this.renderer.text(l);break}default:{let u='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return n}parseInline(t,n=this.renderer){var o,s;this.renderer.parser=this;let r="";for(let a=0;a<t.length;a++){let l=t[a];if((s=(o=this.options.extensions)==null?void 0:o.renderers)!=null&&s[l.type]){let h=this.options.extensions.renderers[l.type].call({parser:this},l);if(h!==!1||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(l.type)){r+=h||"";continue}}let u=l;switch(u.type){case"escape":{r+=n.text(u);break}case"html":{r+=n.html(u);break}case"link":{r+=n.link(u);break}case"image":{r+=n.image(u);break}case"checkbox":{r+=n.checkbox(u);break}case"strong":{r+=n.strong(u);break}case"em":{r+=n.em(u);break}case"codespan":{r+=n.codespan(u);break}case"br":{r+=n.br(u);break}case"del":{r+=n.del(u);break}case"text":{r+=n.text(u);break}default:{let h='Token with "'+u.type+'" type was not found.';if(this.options.silent)return console.error(h),"";throw new Error(h)}}}return r}},qf,pu=(qf=class{constructor(e){Rt(this,"options");Rt(this,"block");this.options=e||Ja}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?ns.lex:ns.lexInline}provideParser(e=this.block){return e?rs.parse:rs.parseInline}},Rt(qf,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Rt(qf,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),qf),e7=class{constructor(...e){Rt(this,"defaults",iv());Rt(this,"options",this.setOptions);Rt(this,"parse",this.parseMarkdown(!0));Rt(this,"parseInline",this.parseMarkdown(!1));Rt(this,"Parser",rs);Rt(this,"Renderer",Uu);Rt(this,"TextRenderer",hv);Rt(this,"Lexer",ns);Rt(this,"Tokenizer",$h);Rt(this,"Hooks",pu);this.use(...e)}walkTokens(e,t){var r,o;let n=[];for(let s of e)switch(n=n.concat(t.call(this,s)),s.type){case"table":{let a=s;for(let l of a.header)n=n.concat(this.walkTokens(l.tokens,t));for(let l of a.rows)for(let u of l)n=n.concat(this.walkTokens(u.tokens,t));break}case"list":{let a=s;n=n.concat(this.walkTokens(a.items,t));break}default:{let a=s;(o=(r=this.defaults.extensions)==null?void 0:r.childTokens)!=null&&o[a.type]?this.defaults.extensions.childTokens[a.type].forEach(l=>{let u=a[l].flat(1/0);n=n.concat(this.walkTokens(u,t))}):a.tokens&&(n=n.concat(this.walkTokens(a.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){let s=t.renderers[o.name];s?t.renderers[o.name]=function(...a){let l=o.renderer.apply(this,a);return l===!1&&(l=s.apply(this,a)),l}:t.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=t[o.level];s?s.unshift(o.tokenizer):t[o.level]=[o.tokenizer],o.start&&(o.level==="block"?t.startBlock?t.startBlock.push(o.start):t.startBlock=[o.start]:o.level==="inline"&&(t.startInline?t.startInline.push(o.start):t.startInline=[o.start]))}"childTokens"in o&&o.childTokens&&(t.childTokens[o.name]=o.childTokens)}),r.extensions=t),n.renderer){let o=this.defaults.renderer||new Uu(this.defaults);for(let s in n.renderer){if(!(s in o))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let a=s,l=n.renderer[a],u=o[a];o[a]=(...h)=>{let f=l.apply(o,h);return f===!1&&(f=u.apply(o,h)),f||""}}r.renderer=o}if(n.tokenizer){let o=this.defaults.tokenizer||new $h(this.defaults);for(let s in n.tokenizer){if(!(s in o))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let a=s,l=n.tokenizer[a],u=o[a];o[a]=(...h)=>{let f=l.apply(o,h);return f===!1&&(f=u.apply(o,h)),f}}r.tokenizer=o}if(n.hooks){let o=this.defaults.hooks||new pu;for(let s in n.hooks){if(!(s in o))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let a=s,l=n.hooks[a],u=o[a];pu.passThroughHooks.has(s)?o[a]=h=>{if(this.defaults.async&&pu.passThroughHooksRespectAsync.has(s))return(async()=>{let p=await l.call(o,h);return u.call(o,p)})();let f=l.call(o,h);return u.call(o,f)}:o[a]=(...h)=>{if(this.defaults.async)return(async()=>{let p=await l.apply(o,h);return p===!1&&(p=await u.apply(o,h)),p})();let f=l.apply(o,h);return f===!1&&(f=u.apply(o,h)),f}}r.hooks=o}if(n.walkTokens){let o=this.defaults.walkTokens,s=n.walkTokens;r.walkTokens=function(a){let l=[];return l.push(s.call(this,a)),o&&(l=l.concat(o.call(this,a))),l}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return ns.lex(e,t??this.defaults)}parser(e,t){return rs.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},o={...this.defaults,...r},s=this.onError(!!o.silent,!!o.async);if(this.defaults.async===!0&&r.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(o.hooks&&(o.hooks.options=o,o.hooks.block=e),o.async)return(async()=>{let a=o.hooks?await o.hooks.preprocess(t):t,l=await(o.hooks?await o.hooks.provideLexer(e):e?ns.lex:ns.lexInline)(a,o),u=o.hooks?await o.hooks.processAllTokens(l):l;o.walkTokens&&await Promise.all(this.walkTokens(u,o.walkTokens));let h=await(o.hooks?await o.hooks.provideParser(e):e?rs.parse:rs.parseInline)(u,o);return o.hooks?await o.hooks.postprocess(h):h})().catch(s);try{o.hooks&&(t=o.hooks.preprocess(t));let a=(o.hooks?o.hooks.provideLexer(e):e?ns.lex:ns.lexInline)(t,o);o.hooks&&(a=o.hooks.processAllTokens(a)),o.walkTokens&&this.walkTokens(a,o.walkTokens);let l=(o.hooks?o.hooks.provideParser(e):e?rs.parse:rs.parseInline)(a,o);return o.hooks&&(l=o.hooks.postprocess(l)),l}catch(a){return s(a)}}}onError(e,t){return n=>{if(n.message+=`
|
|
202
|
+
Please report this to https://github.com/markedjs/marked.`,e){let r="<p>An error occurred:</p><pre>"+gs(n.message+"",!0)+"</pre>";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}},Wa=new e7;function En(e,t){return Wa.parse(e,t)}En.options=En.setOptions=function(e){return Wa.setOptions(e),En.defaults=Wa.defaults,S$(En.defaults),En};En.getDefaults=iv;En.defaults=Ja;function t7(...e){return Wa.use(...e),En.defaults=Wa.defaults,S$(En.defaults),En}En.use=t7;En.walkTokens=function(e,t){return Wa.walkTokens(e,t)};En.parseInline=Wa.parseInline;En.Parser=rs;En.parser=rs.parse;En.Renderer=Uu;En.TextRenderer=hv;En.Lexer=ns;En.lexer=ns.lex;En.Tokenizer=$h;En.Hooks=pu;En.parse=En;En.options;En.setOptions;En.walkTokens;En.parseInline;rs.parse;ns.lex;const Ka=100,n7=e=>e.type==="text-delta"||e.type==="thinking-delta"||e.type==="tool-delta";function r7(e,t){if(e.worktreeId!==t.worktreeId||e.event.type!==t.event.type)return!1;switch(e.event.type){case"text-delta":return e.event.messageId===t.event.messageId;case"tool-delta":return e.event.toolId===t.event.toolId;default:return!0}}const o7={now:()=>performance.now(),after:(e,t)=>void setTimeout(t,e)};function s7(e,t=o7){let n=[],r=!1,o=Number.NEGATIVE_INFINITY;const s=()=>{if(r=!1,n.length===0)return;const a=n;n=[],o=t.now();for(const l of a)e(l)};return a=>{if(a.t==="agent"&&n7(a.event)){const l={...a,event:{...a.event}},u=t.now();if(n.length===0&&u-o>=Ka){o=u,e(l);return}const h=n[n.length-1];h&&r7(h,l)?h.event={...h.event,text:h.event.text+l.event.text}:n.push(l),r||(r=!0,t.after(Math.max(0,o+Ka-u),s));return}s(),e(a)}}const O$="#toyon-link-pending",i7=/!?\[([^[\]\n]*)(?:\]\(([^()\s]*))?$/;function a7(e){const t=e.lastIndexOf(`
|
|
203
|
+
`)+1,n=e.slice(t),r=i7.exec(n);return!r||c7(e.slice(0,t))||l7(n.slice(0,r.index))?e:`${e.slice(0,t)}${n.slice(0,r.index)}[${r[1]}](${O$})`}function c7(e){let t=!1;for(const n of e.split(`
|
|
204
|
+
`))/^\s*(```|~~~)/.test(n)&&(t=!t);return t}function l7(e){let t=0;for(const n of e)n==="`"&&t++;return t%2===1}const qg="__[a-z][a-z0-9_]*[a-z0-9]__",u7=new RegExp(`^(?:${qg}\\.)+${qg}|^${qg}(?=\\.\\w|\\(|["'])`),d7={name:"dunder",level:"inline",start:e=>e.indexOf("__"),tokenizer(e){const t=u7.exec(e);if(t)return{type:"dunder",raw:t[0],text:t[0]}},renderer:e=>e.text},Bo=e=>e.replace(/[&<>]/g,t=>t==="&"?"&":t==="<"?"<":">");function f7({text:e}){return Bo(e)}const h7="[A-Za-z0-9](?:[A-Za-z0-9-]{0,38})?",p7="[\\w.-]*[\\w-]",pv=`(${h7}\\/${p7})#(\\d+)`,M$=new RegExp(`(^|[^\\w./@-])${pv}(?![\\w-])`),m7=new RegExp(`^${pv}(?![\\w-])`),g7=new RegExp(`^${pv}$`),k7=new RegExp(M$.source,"g"),w7=/^https?:\/\/\S+$/;function y7(e){const t=[];for(const n of e.matchAll(k7)){const r=n.index+(n[1]??"").length;t.push({start:r,end:n.index+n[0].length})}return t}function mv(e){const t=g7.exec(e);return t?`https://github.com/${t[1]}/issues/${t[2]}`:null}function L$(e){return w7.test(e)?e:mv(e)}function v7({text:e}){const t=`<code>${Bo(e)}</code>`,n=L$(e);return n?`<a href="${P$(n)}">${t}</a>`:t}const P$=e=>Bo(e).replace(/"/g,"""),b7={name:"githubRef",level:"inline",start:e=>{const t=M$.exec(e);return t?t.index+t[1].length:void 0},tokenizer(e){const t=m7.exec(e);if(t)return{type:"githubRef",raw:t[0],text:t[0],href:mv(t[0])}},renderer:e=>`<a href="${P$(e.href)}">${Bo(e.text)}</a>`};function x7(e){return`<div class="md-table">${E7.call(this,e)}</div>
|
|
205
|
+
`}function E7(e){if(e.header.some(n=>n.text.trim()))return Uu.prototype.table.call(this,e);let t="";for(const n of e.rows){let r="";for(const o of n)r+=this.tablecell(o);t+=this.tablerow({text:r})}return`<table>
|
|
206
|
+
<tbody>${t}</tbody></table>
|
|
207
|
+
`}function S7(e){const t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});const o={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},l={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,o]};o.contains.push(l);const u={match:/\\"/},h={className:"string",begin:/'/,end:/'/},f={match:/\\'/},p={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},g=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],y=e.SHEBANG({binary:`(${g.join("|")})`,relevance:10}),v={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},w=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],x=["true","false"],N={match:/(\/[a-z._-]+)+/},E=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],T=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],j=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],A=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:w,literal:x,built_in:[...E,...T,"set","shopt",...j,...A]},contains:[y,e.SHEBANG(),v,p,s,a,N,l,u,h,f,n]}}const _7=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},UNICODE_RANGE:{scope:"number",begin:/\b[Uu]\+[0-9A-Fa-f][0-9A-Fa-f?]{0,5}(-[0-9A-Fa-f][0-9A-Fa-f]{0,5})?/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),N7=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],T7=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],j7=[...N7,...T7],$7=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),A7=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),C7=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),I7=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","corner-bottom-left-shape","corner-bottom-right-shape","corner-shape","corner-top-left-shape","corner-top-right-shape","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","unicode-range","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function R7(e){const t=e.regex,n=_7(e),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},o="and or not only",s=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",l=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,r,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+A7.join("|")+")"},{begin:":(:)?("+C7.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+I7.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,n.UNICODE_RANGE,...l,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...l,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:$7.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...l,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+j7.join("|")+")\\b"}]}}function O7(e){const s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\b0[bB](_?[01])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:s,illegal:/["']/}]}]}}function M7(e){const t=e.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},r=e.COMMENT();r.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const o={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},s={className:"literal",begin:/\bon|off|true|false|yes|no\b/},a={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},l={begin:/\[/,end:/\]/,contains:[r,s,o,a,n,"self"],relevance:0},u=/[A-Za-z0-9_-]+/,h=/"(\\"|[^"])*"/,f=/'[^']*'/,p=t.either(u,h,f),g=t.concat(p,"(\\s*\\.\\s*",p,")*",t.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[r,{className:"section",begin:/\[+/,end:/\]+/},{begin:g,className:"attr",starts:{end:/$/,contains:[r,l,s,o,a,n]}}]}}const uE="[A-Za-z$_][0-9A-Za-z$_]*",L7=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],P7=["true","false","null","undefined","NaN","Infinity"],D$=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],z$=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],F$=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],D7=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],z7=[].concat(F$,D$,z$);function F7(e){const t=e.regex,n=(R,{after:J})=>{const F="</"+R[0].slice(1);return R.input.indexOf(F,J)!==-1},r=uE,o={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(R,J)=>{const F=R[0].length+R.index,O=R.input[F];if(O==="<"||O===","){J.ignoreMatch();return}O===">"&&(n(R,{after:F})||J.ignoreMatch());let W;const ie=R.input.substring(F);if(W=ie.match(/^\s*=/)){J.ignoreMatch();return}if((W=ie.match(/^\s+extends\s+/))&&W.index===0){J.ignoreMatch();return}}},l={$pattern:uE,keyword:L7,literal:P7,built_in:z7,"variable.language":D7},u="[0-9](_?[0-9])*",h=`\\.(${u})`,f="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",p={className:"number",variants:[{begin:`(\\b(${f})((${h})|\\.)?|(${h}))[eE][+-]?(${u})\\b`},{begin:`\\b(${f})\\b((${h})\\b|\\.)?|(${h})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},v={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},x={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,g]},E={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},T=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,v,w,x,{match:/\$\d+/},p];g.contains=T.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(T)});const j=[].concat(E,g.contains),A=j.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(j)}]),I={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:A},$={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},C={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...D$,...z$]}},L={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},P={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[I],illegal:/%/},B={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function q(R){return t.concat("(?!",R.join("|"),")")}const ne={match:t.concat(/\b/,q([...F$,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},Q={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},le={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},I]},te="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",Z={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(te)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[I]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:A,CLASS_REFERENCE:C},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),L,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,v,w,x,E,{match:/\$\d+/},p,C,{scope:"attr",match:r+t.lookahead(":"),relevance:0},Z,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,e.REGEXP_MODE,{className:"function",begin:te,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:A}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o.begin,end:o.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},P,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[I,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},Q,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[I]},ne,B,$,le,{match:/\$[(.]/}]}}const B7="([-+]?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)|NaN|[-+]?Infinity",U7={scope:"number",match:B7,relevance:0};function H7(e){const t={className:"attr",begin:/(("(\\.|[^\\"\r\n])*")|('(\\.|[^\\'\r\n])*'))(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],o={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc","json5"],keywords:{literal:r},contains:[t,n,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,o,U7,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}function W7(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={match:/^ {0,3}([-*_])[ \t]*(?:\1[ \t]*){2,}$/},o={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},l=/[A-Za-z][A-Za-z0-9+.-]*/,u={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,l,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},h={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},f={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},p=e.inherit(h,{contains:[]}),g=e.inherit(f,{contains:[]});h.contains.push(g),f.contains.push(p);let y=[n,u];return[h,f,p,g].forEach(N=>{N.contains=N.contains.concat(y)}),y=y.concat(h,f),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:y},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:y}]}]},n,s,r,h,f,{className:"quote",begin:"^>\\s+",contains:y,end:"$"},o,u,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function K7(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","lazy","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],l={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","aiter","all","anext","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozendict","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","sentinel","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},u={className:"meta",begin:/^(>>>|\.\.\.) /},h={className:"subst",begin:/\{/,end:/\}/,keywords:l,illegal:/#/},f={begin:/\{\{/,relevance:0},p={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,u],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,u],relevance:10},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,u,f,h]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,u,f,h]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,f,h]},{begin:/([fFtT][rR]|[rR][fFtT]|[fFtT])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,f,h]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},g="[0-9](_?[0-9])*",y=`(\\b(${g}))?\\.(${g})|\\b(${g})\\.`,v=`\\b|${r.join("|")}`,w={className:"number",relevance:0,variants:[{begin:`(\\b(${g})|(${y}))[eE][+-]?(${g})[jJ]?(?=${v})`},{begin:`(${y})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${v})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${v})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${v})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${v})`},{begin:`\\b(${g})[jJ](?=${v})`}]},x={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:l,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},N={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",u,w,p,e.HASH_COMMENT_MODE]}]};return h.contains=[p,w,u],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:l,illegal:/(<\/|\?)|=>/,contains:[u,w,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},p,x,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[N]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[w,N,p]}]}}function q7(e){const t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),o=t.concat(n,e.IDENT_RE),s={scope:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!(?:let|for|while|if|else|match)\b)/,o,t.lookahead(/\s*\(/))},a="([ui](8|16|32|64|128|size)|f(16|32|64|128))?",l=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","raw","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],u=["true","false","Some","None","Ok","Err"],h=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],f=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f16","f32","f64","f128","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:f,keyword:l,literal:u,built_in:h},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{scope:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|"|\\|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{scope:"number",variants:[{begin:"\\b0b([01_]+)"+a},{begin:"\\b0o([0-7_]+)"+a},{begin:"\\b0x([A-Fa-f0-9_]+)"+a},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+a}],relevance:0},{begin:[/\bsafe/,/\s+/,/extern/],scope:{1:"keyword",3:"keyword"}},{begin:[/fn/,/\s+/,r],scope:{1:"keyword",3:"title.function"}},{scope:"meta",begin:"#!?\\[",end:"\\]",contains:[{scope:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],scope:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,r,/\s+/,/in/],scope:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,r],scope:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],scope:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:h,type:f}},{scope:"punctuation",begin:"->"},s]}}const Ah="[A-Za-z$_][0-9A-Za-z$_]*",B$=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],U$=["true","false","null","undefined","NaN","Infinity"],H$=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],W$=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],K$=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],q$=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","self","global"],Z$=[].concat(K$,H$,W$);function Z7(e){const t=e.regex,n=(R,{after:J})=>{const F="</"+R[0].slice(1);return R.input.indexOf(F,J)!==-1},r=Ah,o={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(R,J)=>{const F=R[0].length+R.index,O=R.input[F];if(O==="<"||O===","){J.ignoreMatch();return}O===">"&&(n(R,{after:F})||J.ignoreMatch());let W;const ie=R.input.substring(F);if(W=ie.match(/^\s*=/)){J.ignoreMatch();return}if((W=ie.match(/^\s+extends\s+/))&&W.index===0){J.ignoreMatch();return}}},l={$pattern:Ah,keyword:B$,literal:U$,built_in:Z$,"variable.language":q$},u="[0-9](_?[0-9])*",h=`\\.(${u})`,f="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",p={className:"number",variants:[{begin:`(\\b(${f})((${h})|\\.)?|(${h}))[eE][+-]?(${u})\\b`},{begin:`\\b(${f})\\b((${h})\\b|\\.)?|(${h})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},g={className:"subst",begin:"\\$\\{",end:"\\}",keywords:l,contains:[]},y={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"xml"}},v={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,g],subLanguage:"graphql"}},x={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,g]},E={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},T=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,v,w,x,{match:/\$\d+/},p];g.contains=T.concat({begin:/\{/,end:/\}/,keywords:l,contains:["self"].concat(T)});const j=[].concat(E,g.contains),A=j.concat([{begin:/(\s*)\(/,end:/\)/,keywords:l,contains:["self"].concat(j)}]),I={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:A},$={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},C={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...H$,...W$]}},L={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},P={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[I],illegal:/%/},B={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function q(R){return t.concat("(?!",R.join("|"),")")}const ne={match:t.concat(/\b/,q([...K$,"super","import","await"].map(R=>`${R}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},Q={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},le={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},I]},te="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",Z={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(te)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[I]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:l,exports:{PARAMS_CONTAINS:A,CLASS_REFERENCE:C},illegal:/#(?![$_A-Za-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),L,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,y,v,w,x,E,{match:/\$\d+/},p,C,{scope:"attr",match:r+t.lookahead(":"),relevance:0},Z,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[E,e.REGEXP_MODE,{className:"function",begin:te,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:l,contains:A}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o.begin,end:o.end},{match:s},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},P,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[I,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},Q,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[I]},ne,B,$,le,{match:/\$[(.]/}]}}function G7(e){const t=e.regex,n=Z7(e),r=Ah,o=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:o},contains:[n.exports.CLASS_REFERENCE]},l={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},u=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],h={$pattern:Ah,keyword:B$.concat(u),literal:U$,built_in:Z$.concat(o),"variable.language":q$},f={className:"meta",begin:"@"+r},p=(w,x,N)=>{const E=w.contains.findIndex(T=>T.label===x);if(E===-1)throw new Error("can not find mode to replace");w.contains.splice(E,1,N)};Object.assign(n.keywords,h),n.exports.PARAMS_CONTAINS.push(f);const g=n.contains.find(w=>w.scope==="attr"),y=Object.assign({},g,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,g,y]),n.contains=n.contains.concat([f,s,a,y]),p(n,"shebang",e.SHEBANG()),p(n,"use_strict",l);const v=n.contains.find(w=>w.label==="func.def");return v.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function V7(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,o={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(s,{begin:/\(/,end:/\)/}),l=e.inherit(e.APOS_STRING_MODE,{className:"string"}),u=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),h={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[o]},{begin:/'/,end:/'/,contains:[o]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,u,l,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,a,u,l]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},o,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[u]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[h],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:"css"}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[h],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:"javascript"}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:h}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function Y7(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},o={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},a={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,o]},l=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),g={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},y={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},v={begin:/\{/,end:/\}/,contains:[y],illegal:"\\n",relevance:0},w={begin:"\\[",end:"\\]",contains:[y],illegal:"\\n",relevance:0},x=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},g,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},v,w,s,a],N=[...x];return N.pop(),N.push(l),y.contains=N,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:x}}var Zg,dE;function X7(){if(dE)return Zg;dE=1;function e(z){return z instanceof Map?z.clear=z.delete=z.set=function(){throw new Error("map is read-only")}:z instanceof Set&&(z.add=z.clear=z.delete=function(){throw new Error("set is read-only")}),Object.freeze(z),Object.getOwnPropertyNames(z).forEach(re=>{const Ee=z[re],Ge=typeof Ee;(Ge==="object"||Ge==="function")&&!Object.isFrozen(Ee)&&e(Ee)}),z}class t{constructor(re){re.data===void 0&&(re.data={}),this.data=re.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(z){return z.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function r(z,...re){const Ee=Object.create(null);for(const Ge in z)Ee[Ge]=z[Ge];return re.forEach(function(Ge){for(const _t in Ge)Ee[_t]=Ge[_t]}),Ee}const o="</span>",s=z=>!!z.scope,a=(z,{prefix:re})=>{if(z.startsWith("language:"))return z.replace("language:","language-");if(z.includes(".")){const Ee=z.split(".");return[`${re}${Ee.shift()}`,...Ee.map((Ge,_t)=>`${Ge}${"_".repeat(_t+1)}`)].join(" ")}return`${re}${z}`};class l{constructor(re,Ee){this.buffer="",this.classPrefix=Ee.classPrefix,re.walk(this)}addText(re){this.buffer+=n(re)}openNode(re){if(!s(re))return;const Ee=a(re.scope,{prefix:this.classPrefix});this.span(Ee)}closeNode(re){s(re)&&(this.buffer+=o)}value(){return this.buffer}span(re){this.buffer+=`<span class="${re}">`}}const u=(z={})=>{const re={children:[]};return Object.assign(re,z),re};class h{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(re){this.top.children.push(re)}openNode(re){const Ee=u({scope:re});this.add(Ee),this.stack.push(Ee)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(re){return this.constructor._walk(re,this.rootNode)}static _walk(re,Ee){return typeof Ee=="string"?re.addText(Ee):Ee.children&&(re.openNode(Ee),Ee.children.forEach(Ge=>this._walk(re,Ge)),re.closeNode(Ee)),re}static _collapse(re){typeof re!="string"&&re.children&&(re.children.every(Ee=>typeof Ee=="string")?re.children=[re.children.join("")]:re.children.forEach(Ee=>{h._collapse(Ee)}))}}class f extends h{constructor(re){super(),this.options=re}addText(re){re!==""&&this.add(re)}startScope(re){this.openNode(re)}endScope(){this.closeNode()}__addSublanguage(re,Ee){const Ge=re.root;Ee&&(Ge.scope=`language:${Ee}`),this.add(Ge)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function p(z){return z?typeof z=="string"?z:z.source:null}function g(z){return w("(?=",z,")")}function y(z){return w("(?:",z,")*")}function v(z){return w("(?:",z,")?")}function w(...z){return z.map(Ee=>p(Ee)).join("")}function x(z){const re=z[z.length-1];return typeof re=="object"&&re.constructor===Object?(z.splice(z.length-1,1),re):{}}function N(...z){return"("+(x(z).capture?"":"?:")+z.map(Ge=>p(Ge)).join("|")+")"}function E(z){return new RegExp(z.toString()+"|").exec("").length-1}function T(z,re){const Ee=z&&z.exec(re);return Ee&&Ee.index===0}const j=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function A(z,{joinWith:re}){let Ee=0;return z.map(Ge=>{Ee+=1;const _t=Ee;let kt=p(Ge),De="";for(;kt.length>0;){const ze=j.exec(kt);if(!ze){De+=kt;break}De+=kt.substring(0,ze.index),kt=kt.substring(ze.index+ze[0].length),ze[0][0]==="\\"&&ze[1]?De+="\\"+String(Number(ze[1])+_t):(De+=ze[0],ze[0]==="("&&Ee++)}return De}).map(Ge=>`(${Ge})`).join(re)}const I=/\b\B/,$="[a-zA-Z]\\w*",C="[a-zA-Z_]\\w*",L="\\b\\d+(\\.\\d+)?",P="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",B="\\b(0b[01]+)",q="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",ne=(z={})=>{const re=/^#![ ]*\//;return z.binary&&(z.begin=w(re,/.*\b/,z.binary,/\b.*/)),r({scope:"meta",begin:re,end:/$/,relevance:0,"on:begin":(Ee,Ge)=>{Ee.index!==0&&Ge.ignoreMatch()}},z)},Q={begin:"\\\\[\\s\\S]",relevance:0},le={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Q]},te={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Q]},Z={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},R=function(z,re,Ee={}){const Ge=r({scope:"comment",begin:z,end:re,contains:[]},Ee);Ge.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const _t=N("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return Ge.contains.push({begin:w(/[ ]+/,"(",_t,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Ge},J=R("//","$"),F=R("/\\*","\\*/"),O=R("#","$"),W={scope:"number",begin:L,relevance:0},ie={scope:"number",begin:P,relevance:0},he={scope:"number",begin:B,relevance:0},ye={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Q,{begin:/\[/,end:/\]/,relevance:0,contains:[Q]}]},$e={scope:"title",begin:$,relevance:0},Be={scope:"title",begin:C,relevance:0},Ne={begin:"\\.\\s*"+C,relevance:0};var ae=Object.freeze({__proto__:null,APOS_STRING_MODE:le,BACKSLASH_ESCAPE:Q,BINARY_NUMBER_MODE:he,BINARY_NUMBER_RE:B,COMMENT:R,C_BLOCK_COMMENT_MODE:F,C_LINE_COMMENT_MODE:J,C_NUMBER_MODE:ie,C_NUMBER_RE:P,END_SAME_AS_BEGIN:function(z){return Object.assign(z,{"on:begin":(re,Ee)=>{Ee.data._beginMatch=re[1]},"on:end":(re,Ee)=>{Ee.data._beginMatch!==re[1]&&Ee.ignoreMatch()}})},HASH_COMMENT_MODE:O,IDENT_RE:$,MATCH_NOTHING_RE:I,METHOD_GUARD:Ne,NUMBER_MODE:W,NUMBER_RE:L,PHRASAL_WORDS_MODE:Z,QUOTE_STRING_MODE:te,REGEXP_MODE:ye,RE_STARTERS_RE:q,SHEBANG:ne,TITLE_MODE:$e,UNDERSCORE_IDENT_RE:C,UNDERSCORE_TITLE_MODE:Be});function X(z,re){z.input[z.index-1]==="."&&re.ignoreMatch()}function oe(z,re){z.className!==void 0&&(z.scope=z.className,delete z.className)}function we(z,re){re&&z.beginKeywords&&(z.begin="\\b("+z.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",z.__beforeBegin=X,z.keywords=z.keywords||z.beginKeywords,delete z.beginKeywords,z.relevance===void 0&&(z.relevance=0))}function Pe(z,re){Array.isArray(z.illegal)&&(z.illegal=N(...z.illegal))}function Re(z,re){if(z.match){if(z.begin||z.end)throw new Error("begin & end are not supported with match");z.begin=z.match,delete z.match}}function Ke(z,re){z.relevance===void 0&&(z.relevance=1)}const tt=(z,re)=>{if(!z.beforeMatch)return;if(z.starts)throw new Error("beforeMatch cannot be used with starts");const Ee=Object.assign({},z);Object.keys(z).forEach(Ge=>{delete z[Ge]}),z.keywords=Ee.keywords,z.begin=w(Ee.beforeMatch,g(Ee.begin)),z.starts={relevance:0,contains:[Object.assign(Ee,{endsParent:!0})]},z.relevance=0,delete Ee.beforeMatch},at=["of","and","for","in","not","or","if","then","parent","list","value"],Mt="keyword";function en(z,re,Ee=Mt){const Ge=Object.create(null);return typeof z=="string"?_t(Ee,z.split(" ")):Array.isArray(z)?_t(Ee,z):Object.keys(z).forEach(function(kt){Object.assign(Ge,en(z[kt],re,kt))}),Ge;function _t(kt,De){re&&(De=De.map(ze=>ze.toLowerCase())),De.forEach(function(ze){const qe=ze.split("|");Ge[qe[0]]=[kt,ft(qe[0],qe[1])]})}}function ft(z,re){return re?Number(re):Ze(z)?0:1}function Ze(z){return at.includes(z.toLowerCase())}const sn={},Ut=z=>{console.error(z)},zt=(z,...re)=>{console.log(`WARN: ${z}`,...re)},Zt=(z,re)=>{sn[`${z}/${re}`]||(console.log(`Deprecated as of ${z}. ${re}`),sn[`${z}/${re}`]=!0)},st=new Error;function ht(z,re,{key:Ee}){let Ge=0;const _t=z[Ee],kt={},De={};for(let ze=1;ze<=re.length;ze++)De[ze+Ge]=_t[ze],kt[ze+Ge]=!0,Ge+=E(re[ze-1]);z[Ee]=De,z[Ee]._emit=kt,z[Ee]._multi=!0}function vn(z){if(Array.isArray(z.begin)){if(z.skip||z.excludeBegin||z.returnBegin)throw Ut("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),st;if(typeof z.beginScope!="object"||z.beginScope===null)throw Ut("beginScope must be object"),st;ht(z,z.begin,{key:"beginScope"}),z.begin=A(z.begin,{joinWith:""})}}function xt(z){if(Array.isArray(z.end)){if(z.skip||z.excludeEnd||z.returnEnd)throw Ut("skip, excludeEnd, returnEnd not compatible with endScope: {}"),st;if(typeof z.endScope!="object"||z.endScope===null)throw Ut("endScope must be object"),st;ht(z,z.end,{key:"endScope"}),z.end=A(z.end,{joinWith:""})}}function ct(z){z.scope&&typeof z.scope=="object"&&z.scope!==null&&(z.beginScope=z.scope,delete z.scope)}function Tn(z){ct(z),typeof z.beginScope=="string"&&(z.beginScope={_wrap:z.beginScope}),typeof z.endScope=="string"&&(z.endScope={_wrap:z.endScope}),vn(z),xt(z)}function pn(z){function re(De,ze){return new RegExp(p(De),"m"+(z.case_insensitive?"i":"")+(z.unicodeRegex?"u":"")+(ze?"g":""))}class Ee{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(ze,qe){qe.position=this.position++,this.matchIndexes[this.matchAt]=qe,this.regexes.push([qe,ze]),this.matchAt+=E(ze)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const ze=this.regexes.map(qe=>qe[1]);this.matcherRe=re(A(ze,{joinWith:"|"}),!0),this.lastIndex=0}exec(ze){this.matcherRe.lastIndex=this.lastIndex;const qe=this.matcherRe.exec(ze);if(!qe)return null;const Yt=qe.findIndex((Rn,un)=>un>0&&Rn!==void 0),Wt=this.matchIndexes[Yt];return qe.splice(0,Yt),Object.assign(qe,Wt)}}class Ge{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(ze){if(this.multiRegexes[ze])return this.multiRegexes[ze];const qe=new Ee;return this.rules.slice(ze).forEach(([Yt,Wt])=>qe.addRule(Yt,Wt)),qe.compile(),this.multiRegexes[ze]=qe,qe}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(ze,qe){this.rules.push([ze,qe]),qe.type==="begin"&&this.count++}exec(ze){const qe=this.getMatcher(this.regexIndex);qe.lastIndex=this.lastIndex;let Yt=qe.exec(ze);if(this.resumingScanAtSamePosition()&&!(Yt&&Yt.index===this.lastIndex)){const Wt=this.getMatcher(0);Wt.lastIndex=this.lastIndex+1,Yt=Wt.exec(ze)}return Yt&&(this.regexIndex+=Yt.position+1,this.regexIndex===this.count&&this.considerAll()),Yt}}function _t(De){const ze=new Ge;return De.contains.forEach(qe=>ze.addRule(qe.begin,{rule:qe,type:"begin"})),De.terminatorEnd&&ze.addRule(De.terminatorEnd,{type:"end"}),De.illegal&&ze.addRule(De.illegal,{type:"illegal"}),ze}function kt(De,ze){const qe=De;if(De.isCompiled)return qe;[oe,Re,Tn,tt].forEach(Wt=>Wt(De,ze)),z.compilerExtensions.forEach(Wt=>Wt(De,ze)),De.__beforeBegin=null,[we,Pe,Ke].forEach(Wt=>Wt(De,ze)),De.isCompiled=!0;let Yt=null;return typeof De.keywords=="object"&&De.keywords.$pattern&&(De.keywords=Object.assign({},De.keywords),Yt=De.keywords.$pattern,delete De.keywords.$pattern),Yt=Yt||/\w+/,De.keywords&&(De.keywords=en(De.keywords,z.case_insensitive)),qe.keywordPatternRe=re(Yt,!0),ze&&(De.begin||(De.begin=/\B|\b/),qe.beginRe=re(qe.begin),!De.end&&!De.endsWithParent&&(De.end=/\B|\b/),De.end&&(qe.endRe=re(qe.end)),qe.terminatorEnd=p(qe.end)||"",De.endsWithParent&&ze.terminatorEnd&&(qe.terminatorEnd+=(De.end?"|":"")+ze.terminatorEnd)),De.illegal&&(qe.illegalRe=re(De.illegal)),De.contains||(De.contains=[]),De.contains=[].concat(...De.contains.map(function(Wt){return Oe(Wt==="self"?De:Wt)})),De.contains.forEach(function(Wt){kt(Wt,qe)}),De.starts&&kt(De.starts,ze),qe.matcher=_t(qe),qe}if(z.compilerExtensions||(z.compilerExtensions=[]),z.contains&&z.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return z.classNameAliases=r(z.classNameAliases||{}),kt(z)}function In(z){return z?z.endsWithParent||In(z.starts):!1}function Oe(z){return z.variants&&!z.cachedVariants&&(z.cachedVariants=z.variants.map(function(re){return r(z,{variants:null},re)})),z.cachedVariants?z.cachedVariants:In(z)?r(z,{starts:z.starts?r(z.starts):null}):Object.isFrozen(z)?r(z):z}var pt="11.11.2";class Ht extends Error{constructor(re,Ee){super(re),this.name="HTMLInjectionError",this.html=Ee}}const an=n,Gn=r,ee=Symbol("nomatch"),ge=7,He=function(z){const re=Object.create(null),Ee=Object.create(null),Ge=[];let _t=!0;const kt="Could not find the language '{}', did you forget to load/include a language module?",De={disableAutodetect:!0,name:"Plain text",contains:[]};let ze={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:f};function qe(je){return ze.noHighlightRe.test(je)}function Yt(je){let xe=je.className+" ";xe+=je.parentNode?je.parentNode.className:"";const bt=ze.languageDetectRe.exec(xe);if(bt){const jt=Ye(bt[1]);return jt||(zt(kt.replace("{}",bt[1])),zt("Falling back to no-highlight mode for this block.",je)),jt?bt[1]:"no-highlight"}return xe.split(/\s+/).find(jt=>qe(jt)||Ye(jt))}function Wt(je,xe,bt){let jt="",mn="";typeof xe=="object"?(jt=je,bt=xe.ignoreIllegals,mn=xe.language):(Zt("10.7.0","highlight(lang, code, ...args) has been deprecated."),Zt("10.7.0",`Please use highlight(code, options) instead.
|
|
208
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),mn=je,jt=xe),bt===void 0&&(bt=!0);const Gt={code:jt,language:mn};jn("before:highlight",Gt);const Yn=Gt.result?Gt.result:Rn(Gt.language,Gt.code,bt);return Yn.code=Gt.code,jn("after:highlight",Yn),Yn}function Rn(je,xe,bt,jt){const mn=Object.create(null);function Gt(V,ue){return V.keywords[ue]}function Yn(){if(!Se.keywords){nt.addText(Nt);return}let V=0;Se.keywordPatternRe.lastIndex=0;let ue=Se.keywordPatternRe.exec(Nt),ve="";for(;ue;){ve+=Nt.substring(V,ue.index);const Ce=xn.case_insensitive?ue[0].toLowerCase():ue[0],Ve=Gt(Se,Ce);if(Ve){const[Pt,ut]=Ve;if(nt.addText(ve),ve="",mn[Ce]=(mn[Ce]||0)+1,mn[Ce]<=ge&&(Fn+=ut),Pt.startsWith("_"))ve+=ue[0];else{const Xn=xn.classNameAliases[Pt]||Pt;Vt(ue[0],Xn)}}else ve+=ue[0];V=Se.keywordPatternRe.lastIndex,ue=Se.keywordPatternRe.exec(Nt)}ve+=Nt.substring(V),nt.addText(ve)}function Dn(){if(Nt==="")return;let V=null;if(typeof Se.subLanguage=="string"){if(!re[Se.subLanguage]){nt.addText(Nt);return}V=Rn(Se.subLanguage,Nt,!0,Et[Se.subLanguage]),Et[Se.subLanguage]=V._top}else V=Vn(Nt,Se.subLanguage.length?Se.subLanguage:null);Se.relevance>0&&(Fn+=V.relevance),nt.__addSublanguage(V._emitter,V.language)}function ln(){Se.subLanguage!=null?Dn():Yn(),Nt=""}function Vt(V,ue){V!==""&&(nt.startScope(ue),nt.addText(V),nt.endScope())}function zn(V,ue){let ve=1;const Ce=ue.length-1;for(;ve<=Ce;){if(!V._emit[ve]){ve++;continue}const Ve=xn.classNameAliases[V[ve]]||V[ve],Pt=ue[ve];Ve?Vt(Pt,Ve):(Nt=Pt,Yn(),Nt=""),ve++}}function dr(V,ue){return V.scope&&typeof V.scope=="string"&&nt.openNode(xn.classNameAliases[V.scope]||V.scope),V.beginScope&&(V.beginScope._wrap?(Vt(Nt,xn.classNameAliases[V.beginScope._wrap]||V.beginScope._wrap),Nt=""):V.beginScope._multi&&(zn(V.beginScope,ue),Nt="")),Se=Object.create(V,{parent:{value:Se}}),Se}function Sr(V,ue,ve){let Ce=T(V.endRe,ve);if(Ce){if(V["on:end"]){const Ve=new t(V);V["on:end"](ue,Ve),Ve.isMatchIgnored&&(Ce=!1)}if(Ce){for(;V.endsParent&&V.parent;)V=V.parent;return V}}if(V.endsWithParent)return Sr(V.parent,ue,ve)}function yr(V){return Se.matcher.regexIndex===0?(Nt+=V[0],1):(K=!0,0)}function Vr(V){const ue=V[0],ve=V.rule,Ce=new t(ve),Ve=[ve.__beforeBegin,ve["on:begin"]];for(const Pt of Ve)if(Pt&&(Pt(V,Ce),Ce.isMatchIgnored))return yr(ue);return ve.skip?Nt+=ue:(ve.excludeBegin&&(Nt+=ue),ln(),!ve.returnBegin&&!ve.excludeBegin&&(Nt=ue)),dr(ve,V),ve.returnBegin?0:ue.length}function so(V){const ue=V[0],ve=xe.substring(V.index),Ce=Sr(Se,V,ve);if(!Ce)return ee;const Ve=Se;Se.endScope&&Se.endScope._wrap?(ln(),Vt(ue,Se.endScope._wrap)):Se.endScope&&Se.endScope._multi?(ln(),zn(Se.endScope,V)):Ve.skip?Nt+=ue:(Ve.returnEnd||Ve.excludeEnd||(Nt+=ue),ln(),Ve.excludeEnd&&(Nt=ue));do Se.scope&&nt.closeNode(),!Se.skip&&!Se.subLanguage&&(Fn+=Se.relevance),Se=Se.parent;while(Se!==Ce.parent);return Ce.starts&&dr(Ce.starts,V),Ve.returnEnd?0:ue.length}function qo(){const V=[];for(let ue=Se;ue!==xn;ue=ue.parent)ue.scope&&V.unshift(ue.scope);V.forEach(ue=>nt.openNode(ue))}let Pr={};function Hn(V,ue){const ve=ue&&ue[0];if(Nt+=V,ve==null)return ln(),0;if(Pr.type==="begin"&&ue.type==="end"&&Pr.index===ue.index&&ve===""){if(Nt+=xe.slice(ue.index,ue.index+1),!_t){const Ce=new Error(`0 width match regex (${je})`);throw Ce.languageName=je,Ce.badRule=Pr.rule,Ce}return 1}if(Pr=ue,ue.type==="begin")return Vr(ue);if(ue.type==="illegal"&&!bt){const Ce=new Error('Illegal lexeme "'+ve+'" for mode "'+(Se.scope||"<unnamed>")+'"');throw Ce.mode=Se,Ce}else if(ue.type==="end"){const Ce=so(ue);if(Ce!==ee)return Ce}if(ue.type==="illegal"&&ve==="")return ue.index===xe.length||(Nt+=`
|
|
209
|
+
`),1;if(_e>1e5&&_e>ue.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Nt+=ve,ve.length}const xn=Ye(je);if(!xn)throw Ut(kt.replace("{}",je)),new Error('Unknown language: "'+je+'"');const G=pn(xn);let fe="",Se=jt||G;const Et={},nt=new ze.__emitter(ze);qo();let Nt="",Fn=0,or=0,_e=0,K=!1;try{if(xn.__emitTokens)xn.__emitTokens(xe,nt);else{for(Se.matcher.considerAll();;){_e++,K?K=!1:Se.matcher.considerAll(),Se.matcher.lastIndex=or;const V=Se.matcher.exec(xe);if(!V)break;const ue=xe.substring(or,V.index),ve=Hn(ue,V);or=V.index+ve}Hn(xe.substring(or))}return nt.finalize(),fe=nt.toHTML(),{language:je,value:fe,relevance:Fn,illegal:!1,_emitter:nt,_top:Se}}catch(V){if(V.message&&V.message.includes("Illegal"))return{language:je,value:an(xe),illegal:!0,relevance:0,_illegalBy:{message:V.message,index:or,context:xe.slice(or-100,or+100),mode:V.mode,resultSoFar:fe},_emitter:nt};if(_t)return{language:je,value:an(xe),illegal:!1,relevance:0,errorRaised:V,_emitter:nt,_top:Se};throw V}}function un(je){const xe={value:an(je),illegal:!1,relevance:0,_top:De,_emitter:new ze.__emitter(ze)};return xe._emitter.addText(je),xe}function Vn(je,xe){xe=xe||ze.languages||Object.keys(re);const bt=un(je),jt=xe.filter(Ye).filter(On).map(ln=>Rn(ln,je,!1));jt.unshift(bt);const mn=jt.sort((ln,Vt)=>{if(ln.relevance!==Vt.relevance)return Vt.relevance-ln.relevance;if(ln.language&&Vt.language){if(Ye(ln.language).supersetOf===Vt.language)return 1;if(Ye(Vt.language).supersetOf===ln.language)return-1}return 0}),[Gt,Yn]=mn,Dn=Gt;return Dn.secondBest=Yn,Dn}function rn(je,xe,bt){const jt=xe&&Ee[xe]||bt;je.classList.add("hljs"),je.classList.add(`language-${jt}`)}function Jt(je){let xe=null;const bt=Yt(je);if(qe(bt))return;if(jn("before:highlightElement",{el:je,language:bt}),je.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",je);return}if(je.children.length>0&&(ze.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(je)),ze.throwUnescapedHTML))throw new Ht("One of your code blocks includes unescaped HTML.",je.innerHTML);xe=je;const jt=xe.textContent,mn=bt?Wt(jt,{language:bt,ignoreIllegals:!0}):Vn(jt);je.innerHTML=mn.value,je.dataset.highlighted="yes",rn(je,bt,mn.language),je.result={language:mn.language,re:mn.relevance,relevance:mn.relevance},mn.secondBest&&(je.secondBest={language:mn.secondBest.language,relevance:mn.secondBest.relevance}),jn("after:highlightElement",{el:je,result:mn,text:jt})}function rr(je){ze=Gn(ze,je)}const bn=()=>{kn(),Zt("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Kt(){kn(),Zt("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Ct=!1;function kn(){function je(){kn()}if(document.readyState==="loading"){Ct||window.addEventListener("DOMContentLoaded",je,!1),Ct=!0;return}document.querySelectorAll(ze.cssSelector).forEach(Jt)}function de(je,xe){let bt=null;try{bt=xe(z)}catch(jt){if(Ut("Language definition for '{}' could not be registered.".replace("{}",je)),_t)Ut(jt);else throw jt;bt=De}bt.name||(bt.name=je),re[je]=bt,bt.rawDefinition=xe.bind(null,z),bt.aliases&&Lt(bt.aliases,{languageName:je})}function Fe(je){delete re[je];for(const xe of Object.keys(Ee))Ee[xe]===je&&delete Ee[xe]}function wt(){return Object.keys(re)}function Ye(je){return je=(je||"").toLowerCase(),re[je]||re[Ee[je]]}function Lt(je,{languageName:xe}){typeof je=="string"&&(je=[je]),je.forEach(bt=>{Ee[bt.toLowerCase()]=xe})}function On(je){const xe=Ye(je);return xe&&!xe.disableAutodetect}function Qt(je){je["before:highlightBlock"]&&!je["before:highlightElement"]&&(je["before:highlightElement"]=xe=>{je["before:highlightBlock"](Object.assign({block:xe.el},xe))}),je["after:highlightBlock"]&&!je["after:highlightElement"]&&(je["after:highlightElement"]=xe=>{je["after:highlightBlock"](Object.assign({block:xe.el},xe))})}function hr(je){Qt(je),Ge.push(je)}function ur(je){const xe=Ge.indexOf(je);xe!==-1&&Ge.splice(xe,1)}function jn(je,xe){const bt=je;Ge.forEach(function(jt){jt[bt]&&jt[bt](xe)})}function vt(je){return Zt("10.7.0","highlightBlock will be removed entirely in v12.0"),Zt("10.7.0","Please use highlightElement now."),Jt(je)}Object.assign(z,{highlight:Wt,highlightAuto:Vn,highlightAll:kn,highlightElement:Jt,highlightBlock:vt,configure:rr,initHighlighting:bn,initHighlightingOnLoad:Kt,registerLanguage:de,unregisterLanguage:Fe,listLanguages:wt,getLanguage:Ye,registerAliases:Lt,autoDetection:On,inherit:Gn,addPlugin:hr,removePlugin:ur}),z.debugMode=function(){_t=!1},z.safeMode=function(){_t=!0},z.versionString=pt,z.regex={concat:w,lookahead:g,either:N,optional:v,anyNumberOfTimes:y};for(const je in ae)typeof ae[je]=="object"&&e(ae[je]);return Object.assign(z,ae),z},lt=He({});return lt.newInstance=()=>He({}),Zg=lt,lt.HighlightJS=lt,lt.default=lt,Zg}var Q7=X7();const J7=DS(Q7),fE={},eH="hljs-";function tH(e){const t=J7.newInstance();return e&&s(e),{highlight:n,highlightAuto:r,listLanguages:o,register:s,registerAlias:a,registered:l};function n(u,h,f){const p=f||fE,g=typeof p.prefix=="string"?p.prefix:eH;if(!t.getLanguage(u))throw new Error("Unknown language: `"+u+"` is not registered");t.configure({__emitter:nH,classPrefix:g});const y=t.highlight(h,{ignoreIllegals:!0,language:u});if(y.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:y.errorRaised});const v=y._emitter.root,w=v.data;return w.language=y.language,w.relevance=y.relevance,v}function r(u,h){const p=(h||fE).subset||o();let g=-1,y=0,v;for(;++g<p.length;){const w=p[g];if(!t.getLanguage(w))continue;const x=n(w,u,h);x.data&&x.data.relevance!==void 0&&x.data.relevance>y&&(y=x.data.relevance,v=x)}return v||{type:"root",children:[],data:{language:void 0,relevance:y}}}function o(){return t.listLanguages()}function s(u,h){if(typeof u=="string")t.registerLanguage(u,h);else{let f;for(f in u)Object.hasOwn(u,f)&&t.registerLanguage(f,u[f])}}function a(u,h){if(typeof u=="string")t.registerAliases(typeof h=="string"?h:[...h],{languageName:u});else{let f;for(f in u)if(Object.hasOwn(u,f)){const p=u[f];t.registerAliases(typeof p=="string"?p:[...p],{languageName:f})}}}function l(u){return!!t.getLanguage(u)}}class nH{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],r=n.children[n.children.length-1];r&&r.type==="text"?r.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const r=this.stack[this.stack.length-1],o=t.root.children;n?r.children.push({type:"element",tagName:"span",properties:{className:[n]},children:o}):r.children.push(...o)}openNode(t){const n=this,r=t.split(".").map(function(a,l){return l?a+"_".repeat(l):n.options.classPrefix+a}),o=this.stack[this.stack.length-1],s={type:"element",tagName:"span",properties:{className:r},children:[]};o.children.push(s),this.stack.push(s)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const G$=tH({bash:S7,css:R7,go:O7,ini:M7,javascript:F7,json:H7,markdown:W7,python:K7,rust:q7,typescript:G7,xml:V7,yaml:Y7}),hE={ts:"typescript",tsx:"typescript",mts:"typescript",cts:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",json:"json",jsonc:"json",css:"css",scss:"css",less:"css",html:"xml",htm:"xml",xml:"xml",svg:"xml",vue:"xml",md:"markdown",mdx:"markdown",markdown:"markdown",py:"python",pyi:"python",rs:"rust",go:"go",java:"javascript",kt:"javascript",c:"javascript",h:"javascript",cc:"javascript",cpp:"javascript",hpp:"javascript",cs:"javascript",swift:"javascript",yml:"yaml",yaml:"yaml",toml:"ini",ini:"ini",env:"ini",sh:"bash",bash:"bash",zsh:"bash",fish:"bash"};function Op(e,t){const n=e&&(hE[e]??(G$.registered(e)?e:null));if(n)return n;const r=t.lastIndexOf("."),o=r<0?"":t.slice(r+1).toLowerCase();return(o?hE[o]:null)??null}const rH=/^(?:diff --git a\/\S+ b\/(\S+)|\+\+\+ (?:b\/)?(\S+))$/gm;function oH(e){const t=new Set;for(const n of e.matchAll(rH)){const r=n[1]??n[2]??"";r&&r!=="/dev/null"&&t.add(r)}return t.size===1?[...t][0]:""}const sH={comment:"comment",quote:"comment",doctag:"comment",keyword:"keyword",literal:"keyword",meta:"keyword","meta-keyword":"keyword",operator:"keyword","selector-tag":"keyword",tag:"keyword",string:"string",regexp:"string","meta-string":"string","template-tag":"string",symbol:"string",number:"number",type:"type",built_in:"type",class:"type",class_:"type","selector-class":"type","selector-id":"type",title:"function",function_:"function",function:"function",variable:"variable",language_:"variable",constant_:"variable",attr:"variable",attribute:"variable",property:"variable",params:"variable",name:"variable"};function V$(e,t){const n=[[]],r=(s,a)=>{const l=s.split(`
|
|
210
|
+
`);for(const[u,h]of l.entries()){if(u>0&&n.push([]),!h)continue;const f=n[n.length-1],p=f[f.length-1];p&&p.scope===a?p.text+=h:f.push({text:h,scope:a})}},o=(s,a)=>{for(const l of s)l.type==="text"?r(l.value,a):l.type==="element"&&o(l.children,iH(l)??a)};try{o(G$.highlight(t,e).children,"")}catch{return e.split(`
|
|
211
|
+
`).map(s=>s?[{text:s,scope:""}]:[])}return n}function iH(e){var r;const t=((r=e.properties)==null?void 0:r.className)??[];let n=null;for(const o of t){const s=sH[o.startsWith("hljs-")?o.slice(5):o];s&&(n=s)}return n}const pE=/^\d+\t/;function Mp(e,t){if(!t)return[];const n=e.split(`
|
|
212
|
+
`),r=pE.test(n[0]??""),o=r?n.map(a=>{var l;return((l=pE.exec(a))==null?void 0:l[0])??""}):[],s=r?n.map((a,l)=>a.slice(o[l].length)).join(`
|
|
213
|
+
`):e;return V$(s,t).map((a,l)=>{const u=a.map(f=>({text:f.text,changed:!1,scope:f.scope})),h=o[l];return h?[{text:h,changed:!1,scope:""},...u]:u})}function aH(e,t){var r;const n=new Array(e.length);if(t){let o=0;for(let s=0;s<=e.length;s++){const a=(r=e[s])==null?void 0:r.kind;s<e.length&&a!=="hunk"&&a!=="meta"||(cH(e,o,s,t,n),o=s+1)}}return e.map((o,s)=>dH(o.spans,n[s],o.text))}function cH(e,t,n,r,o){var s,a;for(const l of["del","add"]){const u=[];for(let p=t;p<n;p++){const g=(s=e[p])==null?void 0:s.kind;(g===""||g===l)&&u.push(p)}if(u.length===0)continue;const h=u.map(p=>{var g;return((g=e[p])==null?void 0:g.text)??""}).join(`
|
|
214
|
+
`),f=V$(h,r);for(const[p,g]of u.entries())(l==="add"||((a=e[g])==null?void 0:a.kind)==="del")&&(o[g]=f[p])}}const Lp="link",lH=/https?:\/\/[^\s<>"'`]+/g,Y$=/https?:\/\//;function X$(e){const t=[];for(const n of e.matchAll(lH)){const r=n.index+uH(n[0]).length;r>n.index&&t.push({start:n.index,end:r})}return t}const mE={")":"(","]":"[","}":"{"};function uH(e){let t=e.length;for(;t>0;){const n=e[t-1];if(".,;:!?".includes(n))t--;else if(mE[n]&&gE(e.slice(0,t),mE[n])<gE(e.slice(0,t),n))t--;else break}return e.slice(0,t)}function gE(e,t){let n=0;for(const r of e)r===t&&n++;return n}function Q$(e){const t=e.map(l=>l.text).join("");if(!Y$.test(t))return e;const n=X$(t);if(!n.length)return e;const r=[];let o=0,s=0,a=null;for(const l of e){let u=0;for(;u<l.text.length;){const h=n[s],f=o+u;if(h&&f>=h.start){const p=Math.min(h.end,o+l.text.length)-f;a||(a={text:"",changed:!1,scope:Lp},r.push(a)),a.text+=l.text.slice(u,u+p),a.changed||(a.changed=l.changed),u+=p,f+p>=h.end&&(a=null,s++)}else{const p=h?Math.min(h.start-o,l.text.length):l.text.length;r.push({text:l.text.slice(u,p),changed:l.changed,scope:l.scope}),u=p}}o+=l.text.length}return r}const Ch=e=>e.map(Q$);function gv(e){return Y$.test(e)?e.split(`
|
|
215
|
+
`).map(t=>Q$(t?[{text:t,changed:!1,scope:""}]:[])):[]}function J$(e){const t=e[e.length-1],n=t==null?void 0:t[t.length-1];return!n||n.scope!==Lp?e:[...e.slice(0,-1),[...t.slice(0,-1),{...n,scope:""}]]}function dH(e,t,n){if(!(e!=null&&e.length)&&!(t!=null&&t.length))return n?[{text:n,changed:!1,scope:""}]:[];const r=[],o=e!=null&&e.length?e:[{text:n,changed:!1}],s=t!=null&&t.length?t:[{text:n,scope:""}];let a=0,l=0,u=0,h=0;for(;a<o.length&&l<s.length;){const f=o[a],p=s[l],g=Math.min(f.text.length-u,p.text.length-h);if(g>0){const y={text:f.text.slice(u,u+g),changed:f.changed,scope:p.scope},v=r[r.length-1];v&&v.changed===y.changed&&v.scope===y.scope?v.text+=y.text:r.push(y)}u+=g,h+=g,u>=f.text.length&&(a++,u=0),h>=p.text.length&&(l++,h=0)}return r}const fH=/^[^\s]*$/,hH=e=>e.split(/\s+/).slice(1).every(t=>!t||/[a-z0-9]/i.test(t));function Gg(e,t,n){if(e.startsWith("!"))return null;if(e.startsWith("/")){const a=e.indexOf(" "),l=a===-1?e.length:a;if(!(e.indexOf("/",1)!==-1&&e.indexOf("/",1)<l)&&t<=l)return{kind:"command",query:e.slice(1,t),from:0,to:l}}const r=e.lastIndexOf("@",Math.max(0,t-1));if(r===-1||r>=t||r>0&&!/\s/.test(e[r-1]??""))return null;const o=e.slice(r+1,t);if(!fH.test(o)&&!(hH(o)&&(n!=null&&n(o))))return null;let s=t;for(;s<e.length&&!/\s/.test(e[s]??"");)s++;return{kind:"file",query:o,from:r,to:s}}const sw=new Map,kE={files:new Set,folders:new Set,worktrees:sw,titled:[]},wE=new WeakMap;function eA(e,t=sw){let n;if(e?(n=wE.get(e),n||(n={...kE,files:new Set(e),folders:new Set(NN(e))},wE.set(e,n))):n=kE,t===sw)return n;const r=[...t].map(([o,s])=>({...s,branch:o})).sort((o,s)=>s.title.length-o.title.length);return{...n,worktrees:t,titled:r}}function tA(e,t){const n=new Map;for(const{branch:r,...o}of e)n.set(r,o);for(const r of t??[])n.has(r.branch)||n.set(r.branch,{id:r.id,title:r.title,archived:!0});return n}const pH=/^[ \t]*(?<ticks>`{3,})[ \t]*(?<lang>[^`\s]*)[^`\n]*$/;function mH(e){var s;const t=[],n=a=>{if(!a)return;const l=t.at(-1);(l==null?void 0:l.kind)==="prose"?l.text+=a:t.push({kind:"prose",text:a})};let r=0,o=0;for(;r<e.length;){const a=e.indexOf("`",r);if(a===-1)break;const l=e.lastIndexOf(`
|
|
216
|
+
`,a-1)+1,u=e.indexOf(`
|
|
217
|
+
`,a),h=(s=pH.exec(e.slice(l,u===-1?e.length:u)))==null?void 0:s.groups;if(h!=null&&h.ticks){const v=h.ticks.length,w=new RegExp(`^[ \\t]*\`{${v},}[ \\t]*$`,"m"),x=u===-1?e.length:u+1,N=w.exec(e.slice(x));let E=e.length,T=e.slice(x);N&&(T=e.slice(x,x+N.index),E=x+N.index+N[0].length,e[E]===`
|
|
218
|
+
`&&E++),n(e.slice(o,l)),t.push({kind:"block",text:e.slice(l,E),code:T.replace(/\n$/,""),lang:h.lang??""}),o=r=E;continue}let f=1;for(;e[a+f]==="`";)f++;const p=new RegExp(`(?<!\`)\`{${f}}(?!\`)`,"g");p.lastIndex=a+f;const g=p.exec(e);if(!g){r=a+f;continue}let y=e.slice(a+f,g.index);y.length>2&&y.startsWith(" ")&&y.endsWith(" ")&&y.trim()&&(y=y.slice(1,-1)),n(e.slice(o,a)),t.push({kind:"code",text:e.slice(a,g.index+f),code:y}),o=r=g.index+f}return n(e.slice(o)),t}const gH=/(^|\s)(@\S+)/g,kH=/[.,;:!?)\]}'"]$/,wH=/^[.,;:!?)\]}'"]*(\s|$)/;function yE(e,t){if(e==="changes")return{kind:"changes",text:"@changes"};if(t.files.has(e))return{kind:"file",text:`@${e}`,path:e};const n=e.replace(/\/+$/,"");if(n&&t.folders.has(n))return{kind:"folder",text:`@${e}`,path:n};const r=t.worktrees.get(e);return r?{kind:"worktree",text:`@${e}`,branch:e,...r}:null}function yH(e,t){const n=e.toLowerCase();for(const r of t.titled){const o=r.title.toLowerCase();if(o&&n.startsWith(o)&&wH.test(e.slice(o.length)))return{kind:"worktree",text:`@${e.slice(0,o.length)}`,...r}}return null}function Pp(e){const t=[];return e.archived?t.push("archived"):(e.state&&t.push(e.state),e.at!==void 0&&t.push(`last sent ${jo(kr(e.at))}`)),e.branch&&t.push(e.branch),e.dir&&t.push(e.dir),{text:e.title,detail:t,dot:e.archived?"archived":e.dot}}function vH(e,t,n){let r=0;for(const o of kv(e,n)){if(r===t)return o.kind!=="text";r+=o.text.length}return!1}function kv(e,t){const n=[];for(const r of mH(e))r.kind==="prose"?bH(r.text,n.length===0,t,n):n.push(r);return n}function bH(e,t,n,r){const o=[];for(const l of e.matchAll(gH)){if(l.index===0&&!l[1]&&!t)continue;const u=l.index+(l[1]??"").length,h=yH(e.slice(u+1),n);let f=(l[2]??"").slice(1),p=h&&/\s/.test(h.text)?h:yE(f,n);for(;!p&&kH.test(f);)f=f.slice(0,-1),p=f?yE(f,n):null;p??(p=h),p&&o.push({start:u,span:p})}for(const l of X$(e)){const u=e.slice(l.start,l.end);o.push({start:l.start,span:{kind:"url",text:u,href:u}})}for(const l of y7(e)){const u=e.slice(l.start,l.end);o.push({start:l.start,span:{kind:"url",text:u,href:mv(u)??u}})}o.sort((l,u)=>l.start-u.start);let s=0;const a=l=>{if(!l)return;const u=r.at(-1);(u==null?void 0:u.kind)==="text"?u.text+=l:r.push({kind:"text",text:l})};for(const{start:l,span:u}of o)l<s||(a(e.slice(s,l)),r.push(u),s=l+u.text.length);a(e.slice(s))}function vE(e,t){return kv(e,t).map(n=>n.kind==="worktree"?`@${n.branch}`:n.text).join("")}function xH(e,t,n){return{text:e.slice(0,t.from)+n+e.slice(t.to),caret:t.from+n.length}}function EH(e,t){const n=t.trim().toLowerCase();if(!n)return e;const r=s=>e.map((a,l)=>({c:a,i:l,score:s(a)})).filter(a=>a.score>0).sort((a,l)=>l.score-a.score||a.i-l.i).map(a=>a.c),o=r(s=>Vk(s.name,n));return o.length>0?o:r(s=>Vk(s.description,n))}const bE=e=>e.slice(e.lastIndexOf("/")+1);function SH(e,t,n){const r=[],o=new Set;for(const s of e){const a=s.worktree;if(a.repoId!==n)continue;const l=bE(a.path);o.has(l)||(o.add(l),r.push({dir:l,id:a.id,title:a.title,branch:a.branch}))}for(const s of t??[]){const a=bE(s.path);s.repoId!==n||o.has(a)||(o.add(a),r.push({dir:a,id:s.id,title:s.title,branch:s.branch,archived:!0}))}return r}const xE=new WeakMap;function _H(e,t){let n=xE.get(e.visible);n||(n=new Map,xE.set(e.visible,n));const r=e.archived[t],o=n.get(t);if(o&&o.archived===r)return o.key;const s=JSON.stringify(SH(e.visible,r,t));return n.set(t,{archived:r,key:s}),s}function NH(e){const t=new Map;for(const n of JSON.parse(e))t.set(n.dir,n);return n=>t.get(n)??null}const nA="wt-[0-9a-f]{4}",TH=new RegExp(`(^|[^\\w\\-/\`])\`?${nA}(?![\\w\\-/\`])`),jH=new RegExp(`^(\`?)(${nA})\\1(?![\\w\\-/\`])`),xa=e=>Bo(e).replace(/"/g,""");function $H(e){return{name:"worktree",level:"inline",start:t=>{const n=TH.exec(t);return n?n.index+n[1].length:void 0},tokenizer(t){const n=jH.exec(t);if(n)return{type:"worktree",raw:n[0],text:n[2],code:n[1]!==""}},renderer(t){var l;const n=t.text,r=((l=e())==null?void 0:l(n))??null;if(!r)return t.code?`<code>${n}</code>`:n;const o=Pp({id:r.id,title:r.title,branch:r.branch,dir:n,...r.archived?{archived:!0}:{}}),s=r.archived?' data-archived=""':"",a=o.dot?` data-tip-dot="${xa(o.dot)}"`:"";return`<span class="chat-mention" data-worktree="${xa(r.id)}" data-branch="${xa(r.branch)}" data-dir="${xa(n)}"${s} data-tip="${xa(o.text)}" data-tip-detail="${xa(o.detail.join(`
|
|
219
|
+
`))}"${a} data-tip-placement="follow">@${Bo(r.title)}<span class="chat-mention-dot"><span class="dot${o.dot?` ${xa(o.dot)}`:""}"></span></span></span>`}}}const AH=4*Ka;function CH(e,t,n){if(!e)return{from:t,to:t,at:n,span:Ka};const r=Math.min(rA(e,n),t),o=Math.min(Math.max(n-e.at,Ka),AH);return{from:r,to:t,at:n,span:o}}function rA(e,t){const n=t-e.at;return n>=e.span?e.to:e.from+Math.floor((e.to-e.from)*Math.max(0,n)/e.span)}function IH(e,t){if(t>=e.length)return e;const n=e.charCodeAt(t);return e.slice(0,n>=56320&&n<=57343?t+1:t)}En.use({extensions:[d7,b7,$H(()=>hn==null?void 0:hn.worktrees)],renderer:{code({text:e,lang:t}){const n=Op((t??"").trim().toLowerCase().split(/\s+/)[0]??"","");let r=n?Ch(Mp(e,n)):gv(e);return r.length?(hn!=null&&hn.streaming&&rh.trimEnd().endsWith(e.trimEnd())&&(r=J$(r)),`<pre><code>${r.map(s=>s.map(a=>a.scope===Lp?`<a href="${Bo(a.text)}">${Bo(a.text)}</a>`:a.scope?`<span class="sy-${a.scope}">${Bo(a.text)}</span>`:Bo(a.text)).join("")).join(`
|
|
220
|
+
`)}</code></pre>
|
|
221
|
+
`):!1},codespan:v7,html(e){return hn!=null&&hn.keepHtml?!1:f7(e)},image({href:e,text:t}){if(hn!=null&&hn.base||/^(https?:|data:)/i.test(e))return!1;const n=hn==null?void 0:hn.stills,r=n==null?void 0:n.pictures.find(u=>u.path===e),o=Bo(t);if(r&&n){const u=n.urls.attachment(n.worktreeId,r.file);return`<button type="button" class="md-still" data-file="${Ff(r.file)}" data-tip="Open full size" data-tip-placement="follow"><img src="${Ff(u)}" alt="${Ff(t)}"></button>`}const s=k$(e),a=hn==null?void 0:hn.fileRoot,l=s.startsWith("/")?s:a?`${a}/${s}`:null;return l?`<a href="${Ff(l)}">${o}</a>`:o},table:x7}});const Ff=e=>Bo(e).replace(/"/g,"""),Hu=oU(window);let hn=null,rh="";const RH={USE_PROFILES:{html:!0},FORBID_TAGS:["style","form","button","textarea","select","map","area"],FORBID_ATTR:["style","id"],ALLOW_DATA_ATTR:!1},OH=/^(?:sy-[\w-]+|md-table)$/;Hu.addHook("uponSanitizeElement",e=>{var n;if(!(hn!=null&&hn.keepHtml)||e.nodeName!=="INPUT")return;const t=e;((n=t.getAttribute("type"))==null?void 0:n.toLowerCase())==="checkbox"?t.setAttribute("disabled",""):t.remove()});Hu.addHook("uponSanitizeAttribute",(e,t)=>{e.tagName==="A"&&t.attrName==="href"&&(t.attrValue=k$(t.attrValue)),hn!=null&&hn.keepHtml&&t.attrName==="class"&&(t.attrValue=t.attrValue.split(/\s+/).filter(n=>OH.test(n)).join(" "),t.attrValue||(t.keepAttr=!1))});Hu.addHook("afterSanitizeAttributes",e=>{const t=e.tagName==="A"?e.getAttribute("href")??"":"";if(t===O$){e.removeAttribute("href"),e.classList.add("link-pending","live-text");return}/^https?:/i.test(t)&&(e.setAttribute("target","_blank"),e.setAttribute("rel","noreferrer"));const n=hn!=null&&hn.fileRoot?rv(hn.fileRoot,t)??g$(t):null,r=n?null:w$(t);if(n?(e.classList.add("file-link"),e.setAttribute("data-tip",n.folder?`${n.path}/`:`${n.path}${n.line?`:${n.line}`:""}`),e.setAttribute("data-tip-placement","follow")):r&&(e.classList.add("file-link"),e.setAttribute("data-tip",r.folder?`${r.path}/`:`${r.path}${r.line?`:${r.line}`:""}`),e.setAttribute("data-tip-placement","follow")),e.tagName==="CODE"&&!e.closest("pre, a")){const s=bB(e.textContent??"");s&&e.setAttribute("data-path",s)}const o=hn==null?void 0:hn.base;if(e.tagName==="IMG"&&o){const s=m$(o.dir,e.getAttribute("src")??"");s&&e.setAttribute("src",o.urls.worktreeFile(o.worktreeId,s,o.version))}});function Pa(e,t){hn=t??null,rh=t!=null&&t.streaming?a7(e):e;try{const n=En.parse(rh,{async:!1,breaks:!(t!=null&&t.keepHtml)});return t!=null&&t.keepHtml?Hu.sanitize(n,RH):Hu.sanitize(n)}finally{hn=null,rh=""}}function MH(e,t){const[n,r]=S.useState(e),o=S.useRef(null);return S.useEffect(()=>{if(!t){o.current=null;return}o.current=CH(o.current,e.length,performance.now());let s=0;const a=()=>{const l=o.current;if(!l)return;const u=rA(l,performance.now());r(IH(e,u)),u<l.to&&(s=requestAnimationFrame(a))};return a(),()=>cancelAnimationFrame(s)},[e,t]),t?n:e}function ol(e,t){var w,x,N,E;const[n,r]=S.useState(()=>Pa(e,t)),o=S.useRef(0),s=(w=t==null?void 0:t.base)==null?void 0:w.worktreeId,a=(x=t==null?void 0:t.base)==null?void 0:x.dir,l=(N=t==null?void 0:t.base)==null?void 0:N.version,u=(E=t==null?void 0:t.base)==null?void 0:E.urls,h=t==null?void 0:t.fileRoot,f=t==null?void 0:t.worktrees,p=t==null?void 0:t.stills,g=!!(t!=null&&t.keepHtml),y=!!(t!=null&&t.streaming),v=MH(e,y);return S.useEffect(()=>{const T=s!==void 0&&a!==void 0&&u!==void 0?{worktreeId:s,dir:a,version:l??null,urls:u}:void 0,j=T||h||f||p||g||y?{base:T,fileRoot:h,worktrees:f,stills:p,keepHtml:g,streaming:y}:void 0,A=performance.now()-o.current;if(y||A>=Ka){o.current=performance.now(),r(Pa(v,j));return}const I=setTimeout(()=>{o.current=performance.now(),r(Pa(v,j))},Ka-A);return()=>clearTimeout(I)},[v,s,a,l,u,h,f,p,g,y]),n}const LH=/^ {0,3}(`{3,}|~{3,})/,PH=/^#{1,6} \S/,DH=/^\s*(?:[-*+]|\d+[.)]) \S/,zH=/^> ?\S/,FH=/^\s*\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)+\|?\s*$/,BH=/\[[^\]\n]+\]\((?:https?:|\.{0,2}\/|#)[^)\s]*\)/,UH=/\*\*[^\s*][^*\n]*\*\*/;function HH(e){var s,a;const t=e.split(`
|
|
222
|
+
`),n=new Set;let r=null,o=0;for(let l=0;l<t.length;l++){const u=t[l],h=(s=LH.exec(u))==null?void 0:s[1];if(r){h!=null&&h.startsWith(r)&&(r=null,n.add("fence"));continue}if(h){r=h;continue}PH.test(u)&&!((a=t[l+1])!=null&&a.trim())&&n.add("heading"),DH.test(u)&&++o===2&&n.add("list"),zH.test(u)&&n.add("quote"),FH.test(u)&&n.add("table"),BH.test(u)&&n.add("link"),UH.test(u)&&n.add("bold")}return n.size}function WH(e,t){if(t)return qa(t)==="markdown"?"rendered":"plain";const n=HH(e);return n>=2?"rendered":n===1?"source":"plain"}function Dp({n:e,name:t,source:n,lines:r,chars:o,preview:s,text:a,href:l,onRemove:u,className:h=""}){const f=(n==null?void 0:n.path)??t??"",p=f.includes("/")?f.slice(0,f.lastIndexOf("/")):"",g=n?[p,n.ref?`at ${n.ref.slice(0,7)}`:""].filter(Boolean).join(" "):[p,`${r} ${r===1?"line":"lines"}`,`${o.toLocaleString()} chars`,s].filter(Boolean).join(" · "),y=d.jsxs(d.Fragment,{children:[d.jsx(Tt,{name:"text",className:"icon-inline"}),d.jsxs("span",{className:"pick-target",children:[d.jsx("b",{children:t?t.slice(t.lastIndexOf("/")+1):n?WD(n):YS("paste",e)}),g&&d.jsxs("span",{className:"pick-file row-dim",children:[" · ",g]})]})]}),v=a!==void 0||l!==void 0;return d.jsx(sv,{className:We("paste-chip",h),label:y,tip:s||void 0,peek:v?d.jsx(iA,{text:a,href:l}):void 0,full:v?d.jsx(sA,{text:a,href:l,path:f||void 0}):void 0,menu:w=>tB({text:a,href:l},w),removeLabel:"Remove attachment",onRemove:u})}function oA(e,t){const[n,r]=S.useState(e??null),[o,s]=S.useState(!1);return S.useEffect(()=>{if(e!==void 0||!t)return;let a=!0;return fetch(t).then(l=>l.ok?l.text():Promise.reject(new Error(String(l.status)))).then(l=>{a&&r(l)}).catch(()=>{a&&s(!0)}),()=>{a=!1}},[e,t]),{text:e??n,failed:o}}function sA({text:e,href:t,path:n}){const{text:r,failed:o}=oA(e,t),s=S.useMemo(()=>r?WH(r,n):"plain",[r,n]),[a,l]=S.useState(null);if(o)return d.jsx("p",{className:"paste-full hint",children:"Toyon could not read that back."});if(!r||s==="plain")return d.jsx("pre",{className:"paste-full paste-text",children:r});const u=a??s==="rendered";return d.jsxs("div",{className:"paste-full paste-doc",children:[d.jsx("div",{className:"paste-doc-head",children:d.jsxs(Le,{variant:"outline",tone:"quiet",mono:!0,className:"deep-link",onClick:()=>l(!u),"data-tip":u?"Text: read it as it was sent":"Preview: read it rendered",children:[d.jsx(Tt,{name:u?"text":"book",className:"icon-inline"})," ",u?"text":"preview"]})}),u?d.jsx(KH,{text:r}):d.jsx("pre",{className:"paste-doc-body paste-text",children:r})]})}function KH({text:e}){const t=S.useMemo(()=>Pa(e),[e]);return d.jsx("div",{className:"paste-doc-body md md-preview",onClick:Ay,dangerouslySetInnerHTML:{__html:t}})}const qH=2e4;function iA({text:e,href:t}){const{text:n}=oA(e,t);return n?d.jsx("pre",{className:"paste-peek paste-text",children:n.slice(0,qH)}):null}function zp({name:e,bytes:t,href:n,kept:r,uploading:o,progress:s,onRemove:a,className:l=""}){const u=Qe();return d.jsx(sv,{className:We("file-chip",l),label:d.jsxs(d.Fragment,{children:[d.jsx(Tt,{name:"file",className:"icon-inline"}),d.jsxs("span",{className:"pick-target",children:[d.jsx("b",{children:e}),d.jsxs("span",{className:"pick-file row-dim",children:[" ","· ",Pw(t),s!==void 0?d.jsxs(d.Fragment,{children:[" ","· ",d.jsxs("span",{className:"pick-progress",children:[s,"%"]})]}):o&&" · uploading"]})]})]}),tip:e,peek:n?d.jsx(iA,{href:n}):void 0,full:n?d.jsx(sA,{href:n,path:e}):void 0,menu:h=>nB({href:n},h,r&&{...r,sock:u}),removeLabel:"Remove attachment",onRemove:a})}function sl({rows:e,cursor:t,onCursor:n,onPick:r,onHint:o,multi:s=!1,hover:a=!1,plain:l=!1}){const u=Xs(),h=!u&&!l,f=S.useRef(null),[p,g]=S.useState(null),y=u&&!!o;fj(f,{rowOf:w=>{if(!y||w.closest("textarea"))return null;const x=w.closest(".slide"),N=x==null?void 0:x.dataset.row,E=N===void 0?void 0:e[Number(N)];return x&&N!==void 0&&(E!=null&&E.hint)&&!E.field?{el:x,key:N,rungs:1,rung:120}:null},onSlide:g,onPick:w=>o==null?void 0:o(Number(w))});const v=w=>{var x;w.target instanceof HTMLTextAreaElement||(w.preventDefault(),(x=w.currentTarget.querySelector("textarea"))==null||x.focus())};return d.jsx("div",{className:We("choices",s&&"choices-multi",a&&"choices-hover",u&&"choices-touch",l&&"choices-plain"),ref:f,children:e.map((w,x)=>{const N=!u&&t===x,E=er({cursor:N,checked:w.checked}),T=w.tone==="deny"&&"choice-deny",j=()=>n==null?void 0:n(x),A=$=>{var P;if(!y)return $;const C=(p==null?void 0:p.key)===String(x)?p.step:null,L=C!==null&&C>0&&((P=w.hint)==null?void 0:P.on)!==!1;return d.jsxs("div",{className:"slide","data-row":x,children:[$,C!==null&&w.hint&&d.jsxs("span",{className:"slide-verb","data-rung":L?"hint":void 0,"aria-hidden":"true",children:[d.jsx("span",{className:"slide-word",children:w.hint.label}),d.jsx(Tt,{name:w.hint.icon})]})]},x)},I=d.jsxs(d.Fragment,{children:[h&&d.jsx(ss,{k:String(x+1),className:"choice-num row-dim"}),s&&d.jsx("span",{className:We("choice-box",!w.checked&&"row-dim"),children:d.jsx(Tt,{name:w.checked?"tickbox-on":"tickbox",className:"icon-inline"})}),d.jsx("span",{className:"choice-label",children:w.label}),h&&w.hint&&d.jsxs("span",{className:We("choice-hint row-dim",N&&w.hint.on!==!1&&"on"),children:[d.jsx(ss,{k:w.hint.k})," ",w.hint.label]}),w.description&&d.jsx("span",{className:"choice-desc",children:w.description}),w.sample&&d.jsx("pre",{className:"choice-sample",children:w.sample})]});return w.field?A(d.jsxs("div",{className:We("picker-item choice row-edge",T),"data-state":E,onMouseMove:j,onMouseDown:v,children:[I,d.jsx(Du,{ref:w.field.ref,bare:!0,font:"ui",rows:1,className:"choice-field",enterKeyHint:w.field.enterKeyHint,placeholder:w.field.placeholder,value:w.field.value,onChange:$=>{var C;return(C=w.field)==null?void 0:C.onChange($.target.value)}}),u&&w.field.onSend&&d.jsx(Dt,{className:"choice-send",icon:"send",tone:"primary",label:"Send",onClick:w.field.onSend})]},x)):A(d.jsx("button",{type:"button",className:We("picker-item choice row-edge",T),"data-state":E,"aria-pressed":s?!!w.checked:void 0,disabled:w.disabled,onMouseMove:j,onClick:()=>r(x),children:I},x))})})}function Wu({anchored:e=!1,...t}){return e?d.jsx(ZH,{...t,anchored:e===!0?{}:e}):d.jsx(GH,{...t})}function ZH({onClose:e,onEscape:t,boxClass:n="",bare:r=!1,anchored:o,coverBy:s,id:a,children:l}){const{onKey:u,back:h}=aA(t);return d.jsx(Js,{className:We(r?"":"overlay-box","anchored",n),id:a,anchor:"parent",placement:{side:"bottom",align:"start",cover:!0,margin:0,...o},coverBy:s,onDismiss:e?()=>e():void 0,onKey:u,onBack:()=>h()||(e==null?void 0:e()),children:l})}function GH({onClose:e,onEscape:t,boxClass:n="",bare:r=!1,id:o,children:s}){const{onKey:a,back:l}=aA(t);return d.jsx(Js,{className:"overlay scrim",id:o,onDismiss:e?()=>e():void 0,onKey:a,onBack:()=>l()||(e==null?void 0:e()),onClick:u=>{e&&u.target===u.currentTarget&&e()},children:d.jsx("div",{className:We(r?"":"overlay-box",n),children:s})})}function aA(e){const t=Pn(),n=()=>{if(e)return e(),!0;const o=t.getState();return!o.overlay||o.choosingFolder?!1:(t.dispatch({a:"close",back:HN(o.overlay)}),!0)};return{onKey:o=>{o.key==="Escape"&&n()&&o.stopPropagation()},back:n}}function VH(e){const t=e.value.length;e.setSelectionRange(t,t)}function YH({text:e,params:t}){if(t.length===0)return e;const n=[];let r=0;for(const[o,s]of t)o>r&&n.push(e.slice(r,o)),n.push(d.jsx("span",{className:"picker-ghost-param",children:e.slice(o,s)},o)),r=s;return r<e.length&&n.push(e.slice(r)),n}function Gr({items:e,filter:t,keyOf:n,row:r,rowClass:o,rowTitle:s,onPick:a,onBack:l,onActive:u,onSide:h,onTab:f,onQuery:p,completionOf:g,narrowTo:y,placeholder:v,initialQuery:w="",initialIndex:x,selectOnMount:N=!1,idleWhen:E,onIdlePick:T,anchored:j=!1,onEscape:A,lead:I,trailing:$,empty:C="no matches",footer:L,rowMenu:P,groupOf:B,groupHead:q,headAlone:ne=!1,field:Q}){const le=wn("picker"),[te,Z]=S.useState(w),R=S.useMemo(()=>t(e,te),[e,te,t]),J=S.useRef(null),F=Xs(),O=h6(N,!F&&!Q);S.useEffect(()=>{if(!p)return;const ae=setTimeout(()=>p(te),150);return()=>clearTimeout(ae)},[te,p]);const W=cj({results:R,keyOf:n,q:te,onPick:a,listRef:J,onActive:u,onSide:h,completionOf:g,narrowTo:y,setQ:Z,initialIndex:x,idle:(E==null?void 0:E(w))??!1,onIdlePick:T}),{index:ie,ghost:he}=W,ye=Q?Q.open:!0;ot([ye,w],()=>{!Q||ye||(Z(w),W.setIndex(E!=null&&E(w)?-1:0))}),ot([ye],()=>{if(!Q||!ye||F)return;const ae=()=>{const oe=O.current;!oe||document.activeElement===oe||(oe.focus(),N&&oe.select())};ae();const X=requestAnimationFrame(ae);return()=>cancelAnimationFrame(X)});const $e=S.useRef(!1),Be=ae=>d.jsxs("div",{...Q==null?void 0:Q.attrs,className:We("picker-input",Q&&"picker-field",Q==null?void 0:Q.className),"data-open":(Q==null?void 0:Q.open)||void 0,onMouseDown:X=>{var oe;X.target.closest("input, .float")||(X.preventDefault(),(oe=O.current)==null||oe.focus())},children:[I,d.jsxs("div",{className:"picker-caret",children:[d.jsx(Uo,{font:"mono",bare:!0,ref:O,value:te,spellCheck:!1,"aria-controls":Q==null?void 0:Q.id,"aria-expanded":Q?Q.open:void 0,onFocus:()=>{Q&&!Q.open&&Q.onOpen()},onBlur:X=>{const oe=X.relatedTarget;Q!=null&&Q.open&&oe instanceof Element&&!oe.closest(".float")&&l()},onMouseDown:X=>{const oe=document.activeElement!==X.currentTarget;if($e.current=oe,Q&&oe){const we=document.getSelection();we&&(!we.isCollapsed||we.toString()!=="")&&we.removeAllRanges()}},onClick:X=>{if(!Q||!$e.current)return;$e.current=!1;const oe=X.currentTarget;setTimeout(()=>{document.activeElement===oe&&oe.selectionStart===oe.selectionEnd&&oe.select()},0)},onChange:X=>{Z(X.target.value),W.setIndex(E!=null&&E(X.target.value)?-1:0),Q&&!Q.open&&Q.onOpen()},onKeyDown:X=>{var oe;if(Q&&!Q.open){if(X.key==="ArrowDown"||X.key==="ArrowUp")Q.onOpen();else if(X.key==="Escape"){VH(X.currentTarget),X.currentTarget.blur();return}}if(P&&W.active&&(X.key==="ContextMenu"||X.key==="F10"&&X.shiftKey)){const we=(oe=J.current)==null?void 0:oe.querySelector('[data-state~="cursor"]');if(we){X.preventDefault(),X.stopPropagation(),no.open({items:P(W.active),owner:"picker",target:we,anchor:we.getBoundingClientRect()});return}}W.onKeyDown(X)||!f||X.key!=="Tab"||X.shiftKey||(X.preventDefault(),f())},placeholder:v}),he&&d.jsxs("div",{className:"picker-ghost","aria-hidden":"true",children:[d.jsx("span",{className:"picker-typed",children:te}),YH(he)]})]}),$,ae]}),Ne=new Map;if(B)for(const ae of R)Ne.set(B(ae),(Ne.get(B(ae))??0)+1);const H=d.jsxs("div",{className:"picker-list",ref:J,onMouseDown:ae=>{Q&&ae.target!==ae.currentTarget&&ae.preventDefault()},children:[R.map((ae,X)=>{const oe=B==null?void 0:B(ae),we=oe!==void 0&&(ne||Ne.size>1)&&(X===0||(B==null?void 0:B(R[X-1]))!==oe)?d.jsx("div",{className:"picker-group",children:(q==null?void 0:q(oe,Ne.get(oe)??0))??oe}):null;return d.jsxs(S.Fragment,{children:[we,d.jsx("button",{className:We("picker-item",o==null?void 0:o(ae)),"data-state":er({cursor:X===ie}),title:s==null?void 0:s(ae),onMouseMove:()=>X!==ie&&W.setIndex(X),onClick:()=>{var Pe;W.pick(ae),(Pe=O.current)==null||Pe.focus()},...le.contextMenu(()=>(P==null?void 0:P(ae))??[]),children:r(ae,X===ie,te)})]},n(ae))}),R.length===0&&d.jsx("div",{className:"empty",children:typeof C=="function"?C(te):C}),L==null?void 0:L(te,R)]});return Q?Be(Q.open&&d.jsx(Wu,{onClose:l,onEscape:A,boxClass:"picker",anchored:j,id:Q.id,children:H})):d.jsxs(Wu,{onClose:l,onEscape:A,boxClass:"picker",anchored:j,coverBy:I?".picker-input > *:first-child":$?".picker-input > *:last-child":void 0,children:[Be(),H]})}function Us({value:e,reads:t,options:n,onChange:r,placeholder:o,hint:s,answer:a,className:l,onClose:u}){const[h,f]=S.useState(!1),p=()=>{f(!1),u==null||u()},g=t??e,y=n.find(w=>w.id===g),v=(y==null?void 0:y.chip)??(y==null?void 0:y.label)??g;return d.jsxs("span",{className:"chip-picker",children:[d.jsx(Le,{variant:"ghost",tone:a?"strong":"chrome",mono:!0,on:h&&!a,className:We("chip-picker-btn",a&&"chip-picker-answer",l),...Ot(s),onClick:()=>h?p():f(!0),children:v}),h&&d.jsx(Gr,{anchored:{flip:"both",margin:0},onEscape:p,items:n,filter:(w,x)=>{const N=x.trim().toLowerCase().split(/\s+/).filter(Boolean);return w.filter(E=>{const T=`${E.prefix??""} ${E.label??E.id} ${E.suffix??""} ${E.id}`.toLowerCase();return N.every(j=>T.includes(j))})},keyOf:w=>w.id,initialIndex:w=>Math.max(0,w.findIndex(x=>x.id===e)),lead:d.jsx(Le,{tone:"chrome",mono:!0,on:!0,className:"chip-picker-lead",onClick:p,children:v}),placeholder:o,rowClass:()=>"picker-row",row:w=>d.jsxs(d.Fragment,{children:[w.id===e&&d.jsx("span",{className:"row-current","aria-hidden":"true"}),d.jsxs("span",{className:We("chip-option",w.disabled&&"chip-option-off"),"aria-disabled":w.disabled,children:[d.jsxs("span",{className:"chip-option-name",children:[w.prefix?`${w.prefix} `:null,w.label??w.id,w.suffix?d.jsx("span",{className:"chip-option-suffix",children:` ${w.suffix}`}):null]}),w.description&&d.jsx("span",{className:"chip-option-desc row-dim",children:w.description})]})]}),onPick:w=>{w.disabled||(r(w.id),p())},onBack:p})]})}const wv=e=>e.startsWith("remote:")?e.slice(7):null;function XH(e,t){var o,s;const n=(s=(o=t.worktree.sources)==null?void 0:o[e])==null?void 0:s.at,r=t_(n);return r!==void 0?`remote:${r}`:Xh(n)?"here":"main"}function cA(e,t,n,r){var x,N,E,T;const o=XH(e,t),s=((x=t.remoteBehind)==null?void 0:x.includes(e))??!1,a=(r==null?void 0:r.dirty)??0,l=(E=(N=t.borrowed)==null?void 0:N.find(j=>j.name===e))==null?void 0:E.status,u=l!==void 0&&!Zh(l),h=((T=t.procs)==null?void 0:T.some(j=>j.name===e&&j.status==="preparing"))??!1,f=["main runs it for every worktree",...a>0?[Jc(a,e)]:[],...u?[`main's ${e} is ${l}`]:[],...h?[`${e} is setting up here and takes over once it answers`]:[]].join("; "),p={id:"main",label:"main",chip:`${e} · main`,description:f},g={id:"here",label:"here",chip:`${e} · here`,description:h?"this worktree is setting up its own":"this worktree runs its own"},y=Object.entries(e_(n.config.run[e]??"")).map(([j,A])=>({id:`remote:${j}`,label:j,chip:`${e} · ${j}`,description:A})),v=s?[g,p,...y]:[p,g,...y];let w;if(s)w=`${e} edits here are not what the page is talking to; pick here to run them`;else if(o==="main"){const j=h?"; its own is setting up here":a>0?`; ${Jc(a,e)}`:"";w=`${e} runs on main for every worktree${j}. Click to change`}else o==="here"?w=`${e} runs here: this worktree's own. Click to change`:w=`${e} points at ${wv(o)} for this worktree. Click to change`;return{value:o,held:s,hint:w,options:v}}function QH(e,t,n,r){if(t===n)return null;const o=wv(n),a={t:"set-proc-source",worktreeId:r,name:e,source:o!==null?{remote:o}:n==="main"?"main":"here"};return n==="main"&&t==="here"?{msg:a,confirm:`Stop this worktree's own ${e} and use main's?
|
|
223
|
+
|
|
224
|
+
What they hold that main's do not (a database of their own) is not carried over.`}:{msg:a}}function lA(e,t,n,r,o){const s=QH(t,n,r,o);s&&(s.confirm&&!window.confirm(s.confirm)||e==null||e.send(s.msg))}function JH({name:e,wt:t,repo:n,trunk:r,onClose:o}){const s=Qe(),{value:a,held:l,hint:u,options:h}=cA(e,t,n,r);return d.jsx(Us,{value:a,options:h,onChange:f=>lA(s,e,a,f,t.worktree.id),onClose:o,className:We("source-chip",l&&"source-held"),hint:u,placeholder:`where ${e} runs for this worktree`})}function eW(e,t,n,r,o){var g,y;const s=`this worktree changed ${t??"what it runs on"}`;if(!n||!r||!(e in(r.tier??{})))return{word:"ran here",text:`${e} ran here: ${s}`,value:null,rows:[]};const{value:a,options:l}=cA(e,n,r,o),u=l.map(v=>({...v,current:v.id===a})),h=(y=(g=n.procs)==null?void 0:g.find(v=>v.name===e))==null?void 0:y.status,f=a==="here"||h==="preparing";let p;if(f){const v=h??"starting",w=v==="running"?`${e} runs here`:`${e} is ${iy(v).toLowerCase()} here`;p=v==="preparing"||v==="starting"?`${w}: ${s}; the page reaches main's until it answers`:`${w}: ${s}`}else a==="main"?p=`${e} runs on main for every worktree again; it ran here after ${s}`:p=`${e} points at ${wv(a)} for this worktree; it ran here after ${s}`;return{word:f?"runs here":"ran here",text:p,value:a,rows:u}}function tW({item:e,worktreeId:t}){return d.jsx(d.Fragment,{children:e.names.map(n=>d.jsx(nW,{name:n,file:e.file,ts:e.ts,worktreeId:t},n))})}function nW({name:e,file:t,ts:n,worktreeId:r}){const o=Qe(),s=D(f=>Xt(f,r)),a=D(f=>xs(f,s==null?void 0:s.repoId)),l=D(f=>Wi(f,s==null?void 0:s.repoId)),u=eW(e,t,s,a,l),h=s&&u.value!==null?{id:s.worktree.id,value:u.value}:null;return d.jsx(cr,{icon:"run",word:u.word,tone:"quiet",at:n,under:h&&d.jsx(sl,{hover:!0,plain:!0,rows:u.rows.map(f=>({label:f.label??f.id,description:f.description,checked:f.current})),onPick:f=>{const p=u.rows[f];p&&lA(o,e,h.value,p.id,h.id)}}),children:d.jsx("span",{className:"daemon-text",children:u.text})})}function uA(e){return e.replace(/^([\t ]*)\*\*(\S(?:[^\n]*\S)?)\*\*([\t ]*)$/gm,"$1$2$3")}const dA=120,rW=/^\*\*(\S(?:[^\n]*\S)?)\*\*$/;function fA(e){var n,r;const t=[];for(const o of e.split(/\n[\t ]*\n/)){const s=o.trim();if(!s)continue;const a=((r=(n=rW.exec(s))==null?void 0:n[1])==null?void 0:r.replace(/`/g,""))??"";if(!a||a.length>dA)return[];t.push(a)}return t}function hA(e){const t=fA(e);if(t.length)return t.at(-1);const n=uA(e).trim().replace(/`/g,"");return n&&!n.includes(`
|
|
225
|
+
`)&&n.length<=dA?n:""}const oW={read:"read",edit:"edit",delete:"delete",move:"move",search:"search",execute:"run",think:"think",fetch:"fetch",switch_mode:"mode",other:"tool"},EE={read:"book",edit:"edit",delete:"trash",move:"move",search:"search",execute:"run",think:"bulb",fetch:"globe",switch_mode:"swap",other:"dot"},pA="Skill",mA="ScheduleWakeup",gA="SendMessage",Vg=new Map([[Cw,"chat"],["Monitor","clock"],[mA,"clock"],["TaskOutput","terminal"],[pA,"slash"],[Iw,"handoff"],[BS,"worktrees"],[US,"run"],[HS,"stop"],["EnterPlanMode","swap"],[gA,"send"]]),sW=new Map([["Read","read"],["Edit","edit"],["Write","edit"],["MultiEdit","edit"],["NotebookEdit","edit"],["Bash","execute"],["Grep","search"],["Glob","search"],["WebSearch","fetch"],["WebFetch","fetch"],["EnterPlanMode","switch_mode"],["ExitPlanMode","switch_mode"]]);function iW(e){const t=e.input&&typeof e.input=="object"?e.input.names:void 0,n=Array.isArray(t)?t.filter(r=>typeof r=="string"):[];return n.length>0?`run ${n.join(", ")} here`:"run it here"}function aW(e){const t=lr(e,"worktree").trim();return t?`stop ${t}`:"stop a worktree"}function iw(e){var o,s;if(e.name!==Da)return null;const t=/^select:(.*)$/.exec(lr(e,"query").trim()),n=(s=(o=t==null?void 0:t[1])==null?void 0:o.split(",")[0])==null?void 0:s.trim();if(!n)return null;const r=sW.get(n);return r?{name:n,kind:r}:{name:n}}function cW(e){if(e.name!==pA)return"";const t=lr(e,"skill").trim();if(!t)return"";const n=lr(e,"args").trim();return n?`/${t} ${n}`:`/${t}`}const aw={grep:"search",rg:"search",ag:"search",ack:"search",find:"search",fd:"search",cat:"book",head:"book",tail:"book",nl:"book",less:"book",bat:"book",ls:"folder",tree:"folder",mkdir:"folder",rm:"trash",rmdir:"trash",mv:"move",curl:"globe",wget:"globe",git:"branch"},lW=/(^|\s)(-[A-Za-z]*[iI]|--in-place)/,SE=String.raw`(?:"[^"]*"|'[^']*'|[^\s;&|]+)`,_E=new RegExp(String.raw`^\s*(?:(?:cd|echo)\s+${SE}\s*(?:&&|;)|mkdir(?:\s+${SE})+\s*(?:&&|;)|(?:export\s+)?[A-Za-z_]\w*=(?:"[^"]*"|'[^']*'|[^\s;&|()\`]*)\s*(?:&&|;|(?=\s)))\s*`),uW=/^python[\d.]*$/,dW=new RegExp(`open\\([^)]*,\\s*["'][wax]|(?<!std(?:out|err))\\.write\\(|\\.write_text\\(`);function kA(e){let t=e;for(let n=t.replace(_E,"");n!==t;n=t.replace(_E,""))t=n;return t}const fW=new RegExp("(?<![0-9&])>{1,2}\\s*(?!\\/dev\\/null|&)[^\\s&>]"),wA=/&&|;|\n|\|/;function hW(e){return e.split(wA).some(t=>/^\s*(?:\S*\/)?sed\s/.test(t)&&lW.test(t))}function pW(e){return e.split(/&&|;|\n/).map(t=>kA(t).trim().split(/\s+/)[0]??"").filter(Boolean).every(t=>aw[t.slice(t.lastIndexOf("/")+1)]==="trash")}function mW(e){const t=kA(e).trim(),n=t.split(/\s+/)[0]??"",r=n.slice(n.lastIndexOf("/")+1),o=r==="sed"?hW(e)?void 0:"book":aw[r];if(o==="book"||o==="search"){const s=t.split(wA)[0]??"";if(fW.test(s))return r==="cat"&&s.includes("<<")?"edit":void 0}if(!(o==="trash"&&!pW(t)))return o||(uW.test(r)?t.includes("<<")&&dW.test(t)?"edit":void 0:aw[r])}function lr(e,t){const n=e.input,r=n?n[t]:void 0;return typeof r=="string"?r:""}function gW(e){if(e.name!==Iw)return"";const t=e.input;if(!Array.isArray(t==null?void 0:t.pieces))return"";const n=t.pieces.map(o=>o&&typeof o=="object"?o.title:void 0).filter(o=>typeof o=="string"&&o.trim()!=="").map(o=>o.trim());return n.length===0?"":`offered ${n.length===1?n[0]:`${n.slice(0,-1).join(", ")} and ${n.at(-1)}`}`}function kW(e){return e.name===BS&&!lr(e,"query").trim()?"the open ones and the newest archived":""}const wW=/^a[0-9a-f]{8,}(?:-[0-9a-f]+)*$/i;function yW(e){if(e.name!==gA)return"";const t=lr(e,"to").replace(/\s*\[[0-9a-f]+\]\s*$/i,"").trim();if(!t)return"";const n=wW.test(t)?"a subagent":t,r=lr(e,"message").trim(),o=e.input;if(!r&&(o==null?void 0:o.notify_when_idle)===!0)return`waiting to hear from ${n}`;const s=lr(e,"summary").trim()||(r.split(`
|
|
226
|
+
`)[0]??"").trim();return s?`sent to ${n}: ${s}`:`sent to ${n}`}const vW=/^(?:\/(?:usr\/)?bin\/)?(?:ba|z|da)?sh\s+(?:-[a-zA-Z]+\s+)*(?:'([^']*)'|"((?:[^"\\]|\\.)*)")\s*$/;function yA(e){const t=vW.exec(e.trim());return t?t[1]!==void 0?t[1]:(t[2]??"").replace(/\\(["\\$`])/g,"$1"):e}const bW="Guardian Review";function vA(e){return e.toolKind==="think"&&e.title===bW}function xW(e){const t=o=>{var a,l;return((l=(a=[...e.matchAll(new RegExp(`^${o}:[ \\t]*(.+)$`,"gm"))].at(-1))==null?void 0:a[1])==null?void 0:l.trim().toLowerCase())??""},n=t("Status"),r=t("Risk");return!n||n==="in progress"?"reviewing":r?`${n}, ${r} risk`:n}function Ku(e,t=[]){const n=yA(lr(e,"command")),r=e.name===Da?"":lr(e,"query"),o=e.name===mA?lr(e,"reason"):"",s=e.name===US?iW(e):"",a=e.name===HS?aW(e):"",l=bA(e)||n||lr(e,"path")||lr(e,"pattern")||r||o||s||a,u=uR(e.name),h=l||cW(e)||gW(e)||kW(e)||yW(e)||(e.title&&e.title!==e.name?e.title:"")||(u?u.tool:""),f=Fp(lr(e,"description")||(u?lr(e,"rationale"):"")||h,t),p=e.toolKind&&e.toolKind in EE?e.toolKind:"other",g=oW[p],y=e.name===Cw,v=p!=="other"||Vg.has(e.name),w=e.name===e.title||e.name===zi||e.name===FS,x=u?u.server:f&&(v||w||e.name===Da)?"":e.name,N=x&&x.toLowerCase()!==g?x:f?"":g,E=(p==="execute"||p==="other")&&n?mW(n):void 0;return{label:y?"ask":g,name:N,icon:Vg.get(e.name)??Vg.get(e.title??"")??E??(u&&p==="other"?"cube":EE[p]),hint:f===N?"":f,command:n&&n!==f?n:""}}const EW=/^Async agent launched/m;function SW(e){if(!e.subagent)return!1;const t=e.input;return!!e.detached||(t==null?void 0:t.run_in_background)===!0||!!e.output&&EW.test(e.output)}const _W={read:"choosing a file",edit:"writing the change",delete:"choosing a file",move:"choosing the files",search:"writing the search",execute:"writing the command",fetch:"writing the url"};function NW(e){const t=e.toolKind;return e.subagent?lr(e,"prompt")?"":"writing the brief":!Kh(e.input)||!KS({name:e.name,kind:t},e.input)?"":Rw(t)?_W[t]:"writing the question"}function cw(e,t){const n=xA(t),r=n[0],o=lr(e,"description");return o&&r&&!r.code&&r.text===o?n.slice(1):n}function il(e){return bA(e)||lr(e,"path")}function TW(e){return lr(e,"description")}function bA(e){return lr(e,"file_path")||lr(e,"filepath")||lr(e,"filePath")||jW(e)}function jW(e){const t=e.input,n=Array.isArray(t==null?void 0:t.locations)?t.locations[0]:void 0,r=n&&typeof n=="object"?n.path:void 0;return typeof r=="string"?r:""}function Fp(e,t){if(!e.startsWith("/"))return e;for(const n of t)if(n&&e.startsWith(`${n}/`))return e.slice(n.length+1);return e}const $W=/^(`{3,})([\w+#.-]*)\s*$/;function xA(e){var l;const t=[];let n=[],r="",o=!1,s=0;const a=()=>{const u=n.join(`
|
|
227
|
+
`).replace(/^\n+|\n+$/g,"");u.trim()&&t.push({code:o,diff:AW(u,r),lang:o?r:"",text:u}),n=[]};for(const u of e.split(`
|
|
228
|
+
`)){const h=$W.exec(u),f=((l=h==null?void 0:h[1])==null?void 0:l.length)??0;if(!h||o&&(f<s||h[2])){n.push(u);continue}a(),o=!o,s=o?f:0,r=o?(h[2]??"").toLowerCase():""}return a(),t}function AW(e,t){return t==="diff"||t==="patch"||/^diff --git /m.test(e)||/^@@ .*@@/m.test(e)?!0:/^--- /m.test(e)&&/^[+-]/m.test(e)}const CW=/^(diff --git |index [0-9a-f]+\.\.|new file mode |deleted file mode |similarity index |rename (from|to) |Binary files )/;function IW(e){const t=[];for(const n of e.split(`
|
|
229
|
+
`)){const r=OW(n);if(r==="meta"&&!n.startsWith("diff --git "))continue;const o=r==="add"||r==="del"||n.startsWith(" ");t.push({kind:r,text:o?n.slice(1):n})}return RW(t),t}function RW(e){var t,n,r,o;for(let s=0;s<e.length;){if(((t=e[s])==null?void 0:t.kind)!=="del"&&((n=e[s])==null?void 0:n.kind)!=="add"){s++;continue}let a=s;for(;((r=e[a])==null?void 0:r.kind)==="del";)a++;let l=a;for(;((o=e[l])==null?void 0:o.kind)==="add";)l++;const u=e.slice(s,a),h=e.slice(a,l),f=u.length>0&&h.length>0?sO(u.map(p=>p.text).join(`
|
|
230
|
+
`),h.map(p=>p.text).join(`
|
|
231
|
+
`)):null;f&&(NE(u,Db(f.before)),NE(h,Db(f.after)));for(const p of[...u,...h])p.spans??(p.spans=[]);s=l}}function NE(e,t){if(t.length===e.length)for(const[n,r]of e.entries())r.spans=t[n]}function OW(e){return e.startsWith("@@")?"hunk":e.startsWith("+++")||e.startsWith("---")||CW.test(e)?"meta":e.startsWith("+")?"add":e.startsWith("-")?"del":""}function MW(e){const t=e.tools.at(-1);return t.done||t.parentToolId?!1:t.name===zi?!t.background:!!t.background}const EA=new Set(["read","edit","fetch"]);function yv(e,t){if(e.isError||!e.toolKind||!EA.has(e.toolKind)||Rw(e.toolKind)&&Kh(e.input))return"";const{hint:n}=Ku(e,t);return n?`${e.parentToolId??""}
|
|
232
|
+
${e.toolKind}
|
|
233
|
+
${n}`:""}function TE(e,t,n){if(!t||!("tools"in t)||e.done||e.isError||!e.toolKind||!EA.has(e.toolKind))return!1;const r=t.tools[0];return r.toolKind===e.toolKind&&r.parentToolId===e.parentToolId&&yv(r,n)!==""}function LW(e,t){const n=e.length-1,r=e[n];if(!r||!("tools"in r)||r.next)return-1;const o=r.tools[0],s=r.tools.at(-1);return o.parentToolId||!s.done||s.isError?-1:(o.toolKind==="edit"||o.toolKind==="read"&&r.tools.length>1)&&yv(o,t)?n:-1}function SA(e){const t=new Set;for(const n of e)n.kind==="tool"&&(n.subagent&&t.add(n.id),n.parentToolId&&t.add(n.parentToolId));return t}function PW(e){return!e.done||e.isError?!1:!!e.cut||!e.output&&KS({name:e.name,kind:e.toolKind},e.input)}const jE=new WeakMap;function DW(e,t,n){if(e.name!==Da||e.isError)return e;if(!e.done)return null;if(!iw(e))return t?e:null;if(!t||!n)return null;let r=jE.get(e);if(!r){const o=iw(e),{output:s,title:a,toolKind:l,...u}=e;r={...u,name:o.name,input:{},done:!1,...o.kind?{toolKind:o.kind}:{}},jE.set(e,r)}return r}function zW(e,t){return t&&(e==null?void 0:e.kind)==="tool"&&e.name===Da&&e.done&&!e.isError&&iw(e)!==null}function FW(e,t,n=!1){const r=SA(e),o=[],s=new Map;let a="";for(const[l,u]of e.entries()){if(u.kind!=="tool"){a="",o.push({at:l,item:u});continue}if(PW(u))continue;const h=DW(u,l===e.length-1,n);if(!h)continue;if(r.has(h.id)){a="";const y={at:l,spawn:h,run:[],end:l};s.set(h.id,{entry:y,key:""}),o.push(y);continue}const f=yv(h,t),p=h.parentToolId?s.get(h.parentToolId):void 0;if(p){const y=p.entry.run,v=y.at(-1);f&&f===p.key&&v?v.tools.push(h):!f&&TE(h,v,t)?v.next=h:y.push({at:l,tools:[h]}),p.key=f,p.entry.end=l;continue}const g=o.at(-1);if(f&&f===a&&g&&"tools"in g){g.tools.push(h);continue}if(!f&&TE(h,g,t)){g.next=h;continue}a=f,o.push({at:l,tools:[h]})}return o}function BW(e){return e.reduce((t,n)=>t+n.tools.length,0)}function UW(e){const t=new Set,n=new Set;let r=!0;for(let s=e.length-1;s>=0;s--){const a=e[s];if(a.kind!=="tool"||!a.parentToolId){r=!1;continue}n.add(a.parentToolId),(r||!a.done)&&t.add(a.parentToolId)}let o=!0;for(let s=e.length-1;s>=0;s--){const a=e[s];Ju(a)&&(o=!1),!(a.kind!=="tool"||!a.subagent)&&(a.isError?t.delete(a.id):a.done?SW(a)?o&&!n.has(a.id)&&t.add(a.id):t.delete(a.id):t.add(a.id))}return t}function HW(e,t){const n=[],r=[];let o=-1;for(const s of e)"spawn"in s?t.has(s.spawn.id)?n.push(s):(o=Math.max(o,s.end),r.push({key:o,entry:s})):"tools"in s&&MW(s)?n.push(s):r.push({key:s.at,entry:s});return r.sort((s,a)=>s.key-a.key),{flow:r.map(s=>s.entry),floating:n}}function WW(e,t=!1){const n=SA(e);return zW(e.at(-1),t)?!0:e.some(r=>r.kind==="tool"&&!r.done&&!r.parentToolId&&!r.background&&r.name!==Da&&(!n.has(r.id)||Kh(r.input)))}function _A(e,t=!1){const n=new Set;let r=!1,o=!1;return e.forEach((s,a)=>{if(!("tools"in s)||!t&&s.tools[0].parentToolId)return;const l=s.tools.at(-1);if(l.done||l.background||l.name===zi)return;const u=WS({name:l.name,kind:l.toolKind});(o||r&&u)&&n.add(a),r=!0,o||(o=u)}),n}function KW(e){return e.findIndex(t=>!t.tools.at(-1).done)}function vv(e,t){return e.length===t.length&&e.every((n,r)=>n===t[r])}function NA(e,t){return!e||!t?e===t:e.length===t.length&&e.every((n,r)=>{var o,s;return n.at===((o=t[r])==null?void 0:o.at)&&n.next===((s=t[r])==null?void 0:s.next)&&vv(n.tools,t[r].tools)})}function qW(e,t){if(e.length===0)return t;const n=new Map;for(const s of e)n.set(s.at,s);let r=e.length===t.length;const o=t.map((s,a)=>{const l=n.get(s.at),u=l!==void 0&&ZW(l,s)?l:s;return u!==e[a]&&(r=!1),u});return r?e:o}function ZW(e,t){return"spawn"in e?"spawn"in t&&e.spawn===t.spawn&&e.end===t.end&&NA(e.run,t.run):"tools"in e?"tools"in t&&e.next===t.next&&vv(e.tools,t.tools):"item"in t&&e.item===t.item}function GW(e){for(let t=e.length-1;t>=0;t--){const n=e[t];if(!("spawn"in n)){if("tools"in n){const r=n.tools[0];if((r==null?void 0:r.toolKind)==="think"&&!vA(r))return t;continue}if(n.item.kind==="thinking"){if(!n.item.text.trim())continue;return hA(n.item.text)?-1:t}if(VW(n.item))return-1}}return-1}function VW(e){return e.kind==="assistant"?!!e.text.trim():e.kind==="ask"?e.ask.kind==="question"||!!e.outcome:!0}function YW(e,t){for(let n=e.length-1;n>=0;n--){const r=e[n];if("seq"in r&&r.seq!==void 0&&r.seq<=t)return n}return-1}function bv(e,t,n,r={}){if(!t)return[];const o=[];for(const s of e){if(s.worktree.repoId!==t||s.worktree.id===n)continue;const a=TA(s,r);a&&o.push(a)}return o}function TA(e,t={}){var o;const n=e.worktree;if(n.kind!=="worktree")return null;const r=(o=t[n.id])==null?void 0:o.op;return{id:n.id,title:n.title,branch:n.branch,dir:n.path.slice(n.path.lastIndexOf("/")+1),dot:bN(e,r),state:xN(e,r),at:za(n)}}function jA(e,t){const n=e.trim();if(!n||/\s/.test(n))return null;const r=t.find(o=>o.branch===n||o.dir===n);return r?`@${r.title} `:null}function XW(e,t){return/[/-]/.test(e)?jA(e,t):null}const $E=e=>e.toLowerCase().replace(/[^a-z0-9]/g,"");function AE(e,t){const n=$E(e);if(!n)return!e.trim();const r=/\s$/.test(e);return[t.title,t.branch].some(o=>{const s=$E(o);return s.includes(n)&&(!r||!s.endsWith(n))})}function Kr({id:e,title:t,inert:n}){const r=Qe(),o=dt(),s=D(y=>y.shipping),a=D(y=>y.archiving.includes(e)?null:Xt(y,e)),l=D(y=>a?null:wh(y,e)),u=S.useMemo(()=>a?TA(a,s):null,[a,s]),h=(u==null?void 0:u.branch)??(l==null?void 0:l.branch);if(!h)return d.jsx("span",{children:t??e});const f=Pp(u??{title:(l==null?void 0:l.title)??t??h,archived:!0,branch:h}),p=Ot(f.text,void 0,{placement:"follow",dot:f.dot,detail:f.detail}),g=Cp({kind:"worktree",id:e,archived:!u},null,{sock:r,dispatch:o});return d.jsxs("span",{className:"chat-mention","data-worktree":e,"data-branch":h,"data-archived":u?void 0:"",...p,onClick:n?void 0:y=>{y.stopPropagation(),g==null||g()},children:["@",f.text,f.dot&&d.jsx("span",{className:"chat-mention-dot",children:d.jsx("span",{className:`dot ${f.dot}`})})]})}function QW(e){const t=e.body??"";return e.note?`${t.trimEnd()}
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
You added: ${e.note}
|
|
238
|
+
`:t}function JW({item:e,worktreeId:t,marked:n,children:r}){Qe();const o=dt(),s=e.via==="plan",a=()=>{if(s&&e.path&&t){Cn({dispatch:o},{worktreeId:t,path:e.path,view:"preview"});return}o({a:"open-loose",v:{worktreeId:t??e.origin.id,name:`${e.origin.title}.md`,text:QW(e),binary:!1,tooLarge:!1,source:{kind:"text"},seq:$o()}})};return d.jsx(cr,{icon:"handoff",word:s?"plan":"message",tone:"accent",at:e.ts,"data-state":er({cursor:n}),below:[e.note?`you added: ${e.note}`:void 0,r],press:{label:"details",tip:s?"Read the plan this worktree was given, beside the chat":"Read the message beside the chat",onPress:a},children:d.jsxs("span",{className:"daemon-text",children:["from ",d.jsx(Kr,{id:e.origin.id,title:e.origin.title}),e.origin.project?` in ${e.origin.project}`:""]})})}function CE({item:e,worktreeId:t}){var y;Qe();const n=dt();if(e.state==="held"||e.state==="proposed")return null;const r=e.plan,o=r&&t?{label:"details",tip:e.companion?"Read the plan beside the chat":"Read the list beside the chat",onPress:()=>Cn({dispatch:n},{worktreeId:t,path:r,view:"preview"})}:void 0;if(e.state==="going"){const v=LF(e);return d.jsx(cr,{icon:"handoff",word:"handed off",tone:"accent",at:e.ts,children:d.jsx("span",{className:"daemon-text",children:v.length===0?d.jsx("span",{className:"live-text",children:"starting"}):v.map((w,x)=>d.jsxs(S.Fragment,{children:[x>0&&(x===v.length-1?" and ":", "),w.worktreeId?d.jsx(Kr,{id:w.worktreeId,title:w.title}):d.jsxs("span",{className:"handoff-wait",children:[w.title,d.jsx("span",{className:"dot idle"})]}),w.repoName?` in ${w.repoName}`:""]},w.pieceId))})})}if(e.state==="declined")return d.jsx(cr,{icon:"close",word:"not handed off",tone:"quiet",at:e.ts,press:o,children:d.jsx("span",{className:"daemon-text",children:e.reason??"nothing started"})});const s=v=>e.pieces.find(w=>w.id===v),a=v=>{var w;return((w=s(v))==null?void 0:w.title)??v},l=e.outcomes.filter(v=>v.fate==="worktree"&&v.worktreeId),u=e.outcomes.filter(v=>v.fate==="worktree"&&v.after),h=e.outcomes.filter(v=>v.fate==="send"&&v.worktreeId),f=e.outcomes.filter(v=>v.fate==="here").length,p=e.outcomes.filter(v=>v.error),g=[];for(const v of l)g.push(d.jsxs("span",{children:[d.jsx(Kr,{id:v.worktreeId,title:v.title??a(v.pieceId)}),v.repoName?` in ${v.repoName}`:""]},v.pieceId));for(const v of u){const w=(y=s(v.pieceId))==null?void 0:y.after;g.push(d.jsxs("span",{children:[a(v.pieceId)," queued after"," ",w&&"id"in w?w.id===t?"this branch":d.jsx(Kr,{id:w.id,title:w.branch}):v.after]},v.pieceId))}for(const v of h)g.push(d.jsxs("span",{children:[a(v.pieceId)," sent to ",d.jsx(Kr,{id:v.worktreeId,title:v.title}),v.repoName?` in ${v.repoName}`:""]},v.pieceId));return f&&g.push(d.jsx("span",{children:`${f} here`},"here")),d.jsx(cr,{icon:"handoff",word:"handed off",tone:"accent",at:e.ts,below:p.length?p.map(v=>`${a(v.pieceId)}: ${v.error}`).join("; "):void 0,press:o,children:d.jsx("span",{className:"daemon-text",children:g.length===0?"nothing started":g.map((v,w)=>d.jsxs("span",{children:[w>0&&", ",v]},w))})})}function eK({item:e}){return e.worktreeId?d.jsx(cr,{icon:"handoff",word:"handed off",tone:"accent",at:e.ts,children:d.jsxs("span",{className:"daemon-text",children:[d.jsx(Kr,{id:e.worktreeId,title:e.title??"the worktree"})," started, its branch having landed"]})}):d.jsx(cr,{icon:"close",word:"dropped",tone:"quiet",at:e.ts,below:e.reason,children:d.jsx("span",{className:"daemon-text",children:e.title??"a queued worktree"})})}function tK({item:e}){const t=e.url,n=e.subjects&&jp({subjects:e.subjects});return d.jsx(cr,{icon:"check",word:e.again?"landed again":"landed",tone:"aqua",at:e.ts,below:n,press:t?{label:Aj(t),tip:"Open the pull request",onPress:()=>Or(t)}:void 0,children:d.jsxs("span",{className:"daemon-text",children:[d.jsx(Kr,{id:e.worktreeId,title:e.title}),e.same?"":` in ${e.repoName}`,e.awaited&&", which the work here waited for"]})})}function Bp({src:e,n:t,name:n,width:r,height:o,bytes:s,kept:a,uploading:l,progress:u,onRemove:h,className:f=""}){const p=Qe();return d.jsx(sv,{className:We("image-chip",f),label:d.jsxs(d.Fragment,{children:[d.jsx("img",{className:"image-thumb",src:e,alt:n,width:40,height:40}),d.jsxs("span",{className:"pick-target",children:[d.jsx("b",{children:YS("image",t)}),d.jsxs("span",{className:"pick-file row-dim",children:[" ","· ",n," · ",r,"×",o," · ",Pw(s),u!==void 0?d.jsxs(d.Fragment,{children:[" ","· ",d.jsxs("span",{className:"pick-progress",children:[u,"%"]})]}):l&&" · uploading"]})]})]}),peek:d.jsx("img",{src:e,alt:n,style:{aspectRatio:`${r} / ${o}`}}),full:d.jsx("img",{src:e,alt:n}),menu:g=>Ha(e,g,a&&{...a,sock:p}),removeLabel:"Remove image",onRemove:h})}function nK({img:e,worktreeId:t,src:n}){return d.jsx(Bp,{className:"in-chat",src:n,...e,kept:{worktreeId:t,file:e.file}})}function xu({pieces:e}){return d.jsx(d.Fragment,{children:e.map((t,n)=>{if(t.scope===Lp)return d.jsx("a",{className:t.changed?"ch":void 0,href:t.text,target:"_blank",rel:"noreferrer",children:t.text},n);const r=`${t.changed?"ch ":""}${t.scope?`sy-${t.scope}`:""}`.trim();return r?d.jsx("span",{className:r,children:t.text},n):d.jsx(S.Fragment,{children:t.text},n)})})}function rK({code:e,lang:t}){const n=Op(t.toLowerCase(),""),r=n?Ch(Mp(e,n)):gv(e);return d.jsx("pre",{children:d.jsx("code",{children:r.length?r.map((o,s)=>d.jsxs(S.Fragment,{children:[s>0&&`
|
|
239
|
+
`,d.jsx(xu,{pieces:o})]},s)):e})})}const oK=/(^|\s)@\S/;function qu({text:e,worktreeId:t,root:n,inField:r}){const o=Pn(),s=Qe(),a=D(x=>{var N;return t?(N=x.local[t])==null?void 0:N.files:void 0}),l=D(x=>x.visible),u=D(x=>x.shipping),h=D(x=>I3(x,t)),f=D(x=>h?x.archived[h]:void 0),p=S.useMemo(()=>tA(bv(l,h,t,u),f),[l,u,f,h,t]),g=S.useMemo(()=>eA(a,p),[a,p]),y=S.useMemo(()=>kv(e,g),[e,g]),v=D(x=>!!Zr(x,t)),w=a===void 0&&t&&v&&oK.test(e)?t:null;return S.useEffect(()=>{w&&xp(w,o.getState(),{sock:s,dispatch:o.dispatch})},[w,o,s]),d.jsx(d.Fragment,{children:y.map((x,N)=>{if(x.kind==="text")return x.text;if(x.kind==="code"){if(r)return x.text;const A=L$(x.code),I=d.jsx("code",{children:x.code},N);return A?d.jsx("a",{className:"chat-url",href:A,target:"_blank",rel:"noreferrer",children:I},N):I}if(x.kind==="block")return r?x.text:d.jsx(rK,{code:x.code,lang:x.lang},N);if(x.kind==="url")return d.jsx("a",{className:"chat-url",href:x.href,target:"_blank",rel:"noreferrer",tabIndex:r?-1:void 0,children:x.text},N);if(x.kind==="changes"){const A=Ot("this worktree's uncommitted files",void 0,{placement:"follow"});return d.jsx("span",{className:"chat-mention","data-changes":"",...A,children:x.text},N)}if(x.kind==="worktree"){const A=Pp(x),I=Ot(A.text,void 0,{placement:"follow",dot:A.dot,detail:A.detail});return d.jsx("span",{className:"chat-mention","data-worktree":x.id,"data-branch":x.branch,"data-archived":x.archived?"":void 0,...I,children:r?x.text:d.jsxs(d.Fragment,{children:["@",A.text,A.dot&&d.jsx("span",{className:"chat-mention-dot",children:d.jsx("span",{className:`dot ${A.dot}`})})]})},N)}if(!n||!t)return x.text;const E=x.kind==="folder",T=`${n}/${x.path}${E?"/":""}`,j=Ot(E?`${x.path}/`:x.path,void 0,{placement:"follow"});return d.jsx("a",{className:"chat-mention",href:T,tabIndex:r?-1:void 0,...j,children:x.text},N)})})}function Zu(e,t,n,r){if(e.target.closest("[data-changes]")){n&&r.dispatch({a:"focus-changes",tab:"changes"});return}ov(e,t,n,r)}function sK(e){return e.length<2||!e.every(t=>{var n;return t.length===1&&((n=t[0])==null?void 0:n.diff)})?null:aK(e.map(t=>t[0].text))}const iK=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/;function aK(e,t=3){let n=[];for(const r of e){const o=cK(r);if(!o)return null;const s=lK(n,o);if(!s)return null;n=s}return n.some(r=>r.kind!=="same")?uK(n,t):null}function cK(e){const t=[];let n=null;for(const r of e.split(`
|
|
240
|
+
`)){const o=iK.exec(r);if(o){n={oldStart:Number(o[1]),newStart:Number(o[2]),ops:[]},t.push(n);continue}if(!n)return null;const s=r[0];if(s===" "||s==="-"||s==="+")n.ops.push({mark:s,text:r.slice(1)});else if(r==="")n.ops.push({mark:" ",text:""});else return null}return t.length>0?t:null}function lK(e,t){const n=[];let r=0,o=0,s=0,a=0;const l=f=>{f.kind==="same"?o=f.a-f.c:f.kind==="add"?o-=1:o+=1},u=()=>{for(;r<e.length&&e[r].kind==="del";)n.push(e[r]),l(e[r]),r++},h=f=>{for(let p=f;p<e.length;p++){const g=e[p];if(g.kind!=="del")return g.c}return Number.POSITIVE_INFINITY};for(const f of t){if(f.oldStart<=a)return null;for(;r<e.length;){const y=e[r];if((y.kind==="del"?h(r):y.c)>=f.oldStart)break;n.push(y.kind==="del"?y:{...y,c:y.c+s}),l(y),r++}let p=f.oldStart,g=f.newStart;for(const y of f.ops){if(u(),y.mark==="+"){n.push({kind:"add",c:g,text:y.text}),g++;continue}const v=e[r],w=v&&v.kind!=="del"&&v.c===p?v:void 0;if(w){if(w.text!==y.text)return null;r++,l(w),y.mark===" "?n.push({...w,c:g}):w.kind==="same"&&n.push({kind:"del",a:w.a,text:w.text})}else y.mark===" "?n.push({kind:"same",a:p+o,c:g,text:y.text}):n.push({kind:"del",a:p+o,text:y.text});y.mark===" "&&g++,p++}s=g-p,a=p-1}for(;r<e.length;r++){const f=e[r];n.push(f.kind==="del"?f:{...f,c:f.c+s})}return n}function uK(e,t){const n=[];for(const r of fK(e))for(const[o,s]of hK(r.rows,t)){const a=dK(r.rows.slice(o,s)),l=a.filter(p=>p.kind!=="add").length,u=a.filter(p=>p.kind!=="del").length,h=a.find(p=>p.kind!=="add"),f=a.find(p=>p.kind!=="del");n.push(`@@ -${h?h.a:r.oldAt[o]},${l} +${f?f.c:r.newAt[o]},${u} @@`,...a.map(p=>`${p.kind==="add"?"+":p.kind==="del"?"-":" "}${p.text}`))}return n.join(`
|
|
241
|
+
`)}function dK(e){const t=[];for(let n=0;n<e.length;){if(e[n].kind==="same"){t.push(e[n]),n++;continue}let r=n;for(;r<e.length&&e[r].kind!=="same";)r++;const o=e.slice(n,r);t.push(...o.filter(s=>s.kind==="del"),...o.filter(s=>s.kind==="add")),n=r}return t}function fK(e){const t=[];let n=null,r=1,o=1;for(const s of e){const a=s.kind==="add"?r:s.a,l=s.kind==="del"?o:s.c;(!n||a!==r||l!==o)&&(n={rows:[],oldAt:[],newAt:[]},t.push(n)),n.rows.push(s),n.oldAt.push(a),n.newAt.push(l),r=a+(s.kind==="add"?0:1),o=l+(s.kind==="del"?0:1)}return t}function hK(e,t){const n=[];let r=0;for(;r<e.length;){if(e[r].kind==="same"){r++;continue}let o=r,s=r;for(;s<e.length;){if(e[s].kind!=="same"){o=s,s++;continue}let a=0;for(;s+a<e.length&&e[s+a].kind==="same";)a++;if(a>t*2||s+a>=e.length)break;s+=a}n.push([Math.max(0,r-t),Math.min(e.length,o+t+1)]),r=o+t+1}return n}function Up({pick:e,worktreeId:t,tipText:n,onHover:r,onOpen:o,onRemove:s,className:a=""}){const l=e.callFile,u=e.file,h=l?{path:l,line:e.callLine}:u?{path:u,line:e.line}:null,f=l&&u?{path:u,line:e.line}:null,p=(E,T)=>`${E}${T?`:${T}`:""}`,g=E=>E.split("/").pop()??E,y=(E,T,j,A)=>o?d.jsx("button",{className:"pick-open","data-tip":A,onClick:()=>o(E,T??1),children:j}):j,v=wn("chat"),{host:w}=Lr(),x=S.useRef(null),N=s?()=>{r==null||r(!1),s()}:void 0;return d.jsxs("div",{ref:x,className:We("pick-chip row row-sm",a),"data-tip":n,onMouseEnter:()=>r==null?void 0:r(!0),onMouseLeave:()=>r==null?void 0:r(!1),...v.contextMenu(()=>iB(e,{remove:N,host:w})),children:[d.jsxs("span",{className:"pick-target",children:[d.jsx(Tt,{name:"pick",className:"icon-inline"})," ",dy(e),h&&d.jsxs("span",{className:"pick-file row-dim",children:[" ","· ",y(h.path,h.line,p(g(h.path),h.line),`Open ${p(h.path,h.line)}`)]}),f&&d.jsxs("span",{className:"pick-file row-dim",children:[" ","·"," ",y(f.path,f.line,p(f.path.split("/").pop()??f.path,f.line),`Open the component: ${p(f.path,f.line)}`)]})]}),N&&d.jsx(Dt,{icon:"close",label:"Remove attachment",tone:"quiet",onClick:N}),t&&(h==null?void 0:h.line)&&d.jsx(y$,{chip:x,children:d.jsx(gK,{worktreeId:t,path:h.path,line:h.line})})]})}const pK=6,mK=16;function gK({worktreeId:e,path:t,line:n}){const r=xy(),o=Qe(),s=D(p=>{var g;return((g=Ho(p))==null?void 0:g.id)===e}),a=D(p=>{var g;return s?0:(g=Mr(p,e).changedRanges[t])==null?void 0:g.offset}),[l,u]=S.useState(null);S.useEffect(()=>{let p=!0;return s||o==null||o.send({t:"changed-ranges",worktreeId:e,path:t}),r==null||r.look(e,t).then(g=>{p&&u(g)}),()=>{p=!1}},[r,o,e,t,s]);const h=S.useMemo(()=>{if(l===null||a===void 0)return null;const p=l.split(`
|
|
242
|
+
`),g=n-a,y=Math.max(1,g-pK),v=Math.min(p.length,g+mK);if(y>v)return null;const w=p.slice(y-1,v);return{from:y,at:g,slice:w,painted:Mp(w.join(`
|
|
243
|
+
`),Op("",t))}},[l,a,n,t]);if(!h)return null;const f=String(h.from+h.slice.length-1).length;return d.jsx("pre",{className:"pick-peek",children:h.slice.map((p,g)=>{const y=h.from+g,v=h.painted[g];return d.jsxs("span",{className:"pick-peek-line","data-state":y===h.at?"current":void 0,children:[d.jsx("span",{className:"pick-peek-n",children:String(y).padStart(f)}),v!=null&&v.length?d.jsx(xu,{pieces:v}):p||" "]},y)})})}function kK(e){return e.startsWith("!")?e.slice(1).trim():null}function wK(e,t){return e==="!"?` ${t}`:e==="! "?t:null}function xv(e){if(e.kind!=="tool"||e.name!==zi&&e.name!==FS)return null;const t=e.input;return typeof(t==null?void 0:t.command)=="string"?t.command:null}function $A(e){var t;return e.kind!=="tool"||e.name!==zi||(t=e.input)!=null&&t.landing?null:xv(e)}function yK(e){return e.length>0&&e.every(t=>t.kind==="tool"&&$A(t)!==null&&t.done&&!t.isError)}function vK(e){const t=[],n=new Set(e.flatMap(r=>r.kind==="asked"&&r.toolId?[r.toolId]:[]));for(let r=e.length-1;r>=0;r--){const o=e[r];if(Ju(o))break;if(o.kind!=="tool"||!o.done||n.has(o.id))continue;const s=xv(o);if(s===null)continue;const a=xA(o.output??"").map(u=>u.text).join(`
|
|
244
|
+
`),l=RD(a);t.unshift(`$ ${s}${l?`
|
|
245
|
+
${l}`:""}`)}if(t.length!==0)return`Shell commands the user ran since their last message, and what each printed:
|
|
246
|
+
${t.join(`
|
|
247
|
+
`)}`}const IE={diff:"Open this file's diff in the editor pane",file:"Open this file in the editor pane",preview:"Read this file rendered in the editor pane"};function AA(e,t,n,r,o){const s=e[0];if(!s||!n)return[];const a=Fp(o||il(s),t);return a?a.startsWith("/")?[{label:"open",tip:IE.file,open:()=>Xk(r,n.id,{href:a,path:a})}]:[...Hi(a)==="preview"?["preview"]:[],...s.toolKind==="edit"?["diff"]:[],"file"].map(u=>({label:`open ${u}`,tip:IE[u],open:()=>Cn(r,{worktreeId:n.id,path:a,view:u})})):[]}const bK=(...e)=>AA(...e)[0]??null;function xK(e,t,n,r,o,s,a){const{sock:l}=r,u=e[0];if(!u)return[];const h=s?u$(s):[],f=[],p=Fp(a||il(u),t),g=AA(e,t,n,r,a).map(T=>({id:T.label.replace(" ","-"),label:T.label,onClick:T.open}));p&&!p.startsWith("/")&&n?f.push(...g,...Wo(()=>l==null?void 0:l.send({t:"reveal",worktreeId:n.id,path:p}),ro(l))):p.startsWith("/")&&f.push(...g,...Wo(()=>l==null?void 0:l.send({t:"reveal-path",path:p}),ro(l)));const y=[],v=a||il(u);p&&v&&y.push({id:"copy-path",label:"copy path",onClick:()=>nn(v)});const w=Ku(u,t).command,x=TW(u);x&&x!==w&&y.push({id:"copy-description",label:"copy description",onClick:()=>nn(x)}),w&&y.push({id:"copy-command",label:"copy command",onClick:()=>nn(w)});const N=e.map(T=>T.output??"").filter(Boolean).join(`
|
|
248
|
+
`);N&&y.push({id:"copy-output",label:"copy output",onClick:()=>nn(N)});const E=o.leaf?[]:[{id:"fold",label:o.open?"collapse":"expand",onClick:o.toggle}];return Ln([h,f,y,E])}const CA=e=>e.replace(/\n$/,""),EK=1500,RE=4,IA=".md pre, .card-code pre";function RA(e){return e.closest(IA)}function lw(e){const t=RA(e);return t?CA(t.textContent??""):null}const OE=[],OA=e=>[...e.querySelectorAll(IA)];function MA(e,t,n){const r=e.getBoundingClientRect(),o=t.getBoundingClientRect();return{pre:t,nth:n,top:o.top-r.top+e.scrollTop+RE,right:r.left+e.clientLeft+e.clientWidth-o.right+RE}}function ME(e,t){const n=OA(e).map((o,s)=>MA(e,o,s));return n.length===t.length&&n.every((o,s)=>{var a,l,u;return o.pre===((a=t[s])==null?void 0:a.pre)&&o.top===((l=t[s])==null?void 0:l.top)&&o.right===((u=t[s])==null?void 0:u.right)})?t:n}function Ev(e){const t=Xs(),[n,r]=S.useState(null),[o,s]=S.useState(OE),[a,l]=S.useState(null);return S.useEffect(()=>{const h=e.current;if(t||!h)return;const f=g=>{if(!(g.target instanceof Element)||g.target.closest(".code-copy"))return;const y=RA(g.target);r(y&&h.contains(y)?MA(h,y,OA(h).indexOf(y)):null)},p=()=>r(null);return h.addEventListener("pointerover",f),h.addEventListener("pointerleave",p),()=>{h.removeEventListener("pointerover",f),h.removeEventListener("pointerleave",p)}},[e,t]),S.useLayoutEffect(()=>{const h=e.current;t&&h&&s(f=>ME(h,f))}),S.useEffect(()=>{const h=e.current;if(!t||!h)return;const f=new ResizeObserver(()=>s(p=>ME(h,p)));return f.observe(h),h.firstElementChild&&f.observe(h.firstElementChild),()=>f.disconnect()},[e,t]),S.useEffect(()=>{if(a===null)return;const h=setTimeout(()=>l(null),EK);return()=>clearTimeout(h)},[a]),(t?o:n!=null&&n.pre.isConnected?[n]:OE).map(({pre:h,nth:f,top:p,right:g})=>{const y=a===f;return d.jsx(Dt,{className:"code-copy",style:{top:p,right:g},icon:y?"check":"copy",label:y?"Copied":"Copy code",onClick:()=>{nn(CA(h.textContent??"")),l(f)}},f)})}function SK(e){for(const t of e.split(`
|
|
249
|
+
`)){const n=/^#{1,6}\s+(.+?)\s*#*\s*$/.exec(t);if(n)return n[1];if(t.trim()&&!t.startsWith("<!--"))return null}return null}function _K(e){return e.slice(e.lastIndexOf("/")+1).replace(/\.md$/,"")}const Bf=new Map;function Sv(e,t){var l;const n=xy(),r=(l=Ft(e,"git"))==null?void 0:l.version,o=e&&t?`${e}
|
|
250
|
+
${t}`:null,[,s]=S.useState(0);return ot([n,e,t,r],()=>{if(!n||!o||!e||!t)return;let u=!0;return n.look(e,t).then(h=>{if(!u||h===null)return;const f=SK(h);Bf.has(o)&&Bf.get(o)===f||(Bf.set(o,f),s(p=>p+1))}),()=>{u=!1}}),(o?Bf.get(o)??null:null)??(t?_K(t):"")}function LA(e){const t=D(r=>{var o;return(o=Xt(r,e))==null?void 0:o.worktree.repoId}),n=D(r=>t?_H(r,t):"");return S.useMemo(()=>n?NH(n):void 0,[n])}function Yg({text:e,menu:t,marked:n,worktreeId:r,fileRoot:o,streaming:s,pictures:a}){const l=LA(r),u=Lr(),h=S.useMemo(()=>r&&(a!=null&&a.length)?{worktreeId:r,urls:u,pictures:a}:void 0,[r,u,a]),f=ol(e,{fileRoot:o,streaming:s,worktrees:l,stills:h}),p=Qe(),g=dt(),y=wn("chat"),[v,w]=S.useState(null),x=I=>{const $=I.closest("button.md-still"),C=$==null?void 0:$.querySelector("img");return $&&C&&r?{src:C.src,alt:C.alt,file:$.dataset.file??"",kept:{worktreeId:r,file:$.dataset.file??"",sock:p}}:null},N=S.useRef(null);lT(N,f);const E=D(I=>{var $;return r?($=I.local[r])==null?void 0:$.refusedLink:void 0});ot([f,E],()=>{var $;const I=N.current;if(I)for(const C of I.querySelectorAll("a.file-link, code[data-path]")){const L=C.getAttribute("href")??C.dataset.path,P=E!==void 0&&L===E.href;C.classList.toggle("file-link-refused",P),P?(($=C.dataset).tipWas??($.tipWas=C.dataset.tip??""),C.dataset.tip=E.message,C.dataset.tipPlacement="bottom",C.dispatchEvent(new MouseEvent("mouseover",{bubbles:!0}))):C.dataset.tipWas!==void 0&&(C.dataset.tipWas?(C.dataset.tip=C.dataset.tipWas,C.dataset.tipPlacement="follow"):(delete C.dataset.tip,delete C.dataset.tipPlacement),delete C.dataset.tipWas)}});const T=S.useRef(null),j=Ev(T),A=TT(T);return d.jsxs("div",{ref:T,className:"msg-assistant md row-edge","data-state":er({cursor:n||A}),...y.contextMenu((I,$)=>{const C=x($);return C?Ha(C.src,{open:()=>w(C)},C.kept):t(Ip($,o),lw($),I)}),onClick:I=>{const $=x(I.target);$?w($):ov(I,o,r,{sock:p,dispatch:g})},children:[d.jsx("div",{ref:N}),j,v&&r&&d.jsx(cd,{owner:"chat",onClose:()=>w(null),menu:()=>Ha(v.src,{},{worktreeId:r,file:v.file,sock:p}),children:d.jsx("img",{src:v.src,alt:v.alt})})]})}const Xg=40;function PA(e,t,n=!1){return e.map((r,o)=>{const s=Op(r.lang,t||(r.diff?oH(r.text):"")),a=r.diff?IW(r.text):[];let l=r.diff?Ch(aH(a,s)):r.code&&s?Ch(Mp(r.text,s)):gv(r.text);return n&&o===e.length-1&&(l=J$(l)),{...r,lines:a,painted:l}})}function DA({blocks:e,path:t,worktreeId:n}){Qe();const r=dt();return d.jsx("div",{className:"tool-out",children:e.map((o,s)=>o.diff?d.jsxs("pre",{className:"tool-block diff",children:[o.lines.slice(0,Xg).map((a,l)=>{var u;return a.kind==="hunk"?d.jsx("span",{className:"dl hunk",title:a.text},l):d.jsx("span",{className:`dl ${a.kind}`,children:(u=o.painted[l])!=null&&u.length?d.jsx(xu,{pieces:o.painted[l]}):a.text||" "},l)}),o.lines.length>Xg&&d.jsxs("button",{type:"button",className:"dl more",disabled:!t||!n,"data-tip":t&&n?"Open this file's diff":void 0,onClick:()=>n&&Cn({dispatch:r},{worktreeId:n,path:t,view:"diff"}),children:[o.lines.length-Xg," more lines"]})]},s):o.code?d.jsx("pre",{className:"tool-block",children:o.painted.length?o.painted.map((a,l)=>d.jsxs(S.Fragment,{children:[l>0?`
|
|
251
|
+
`:null,d.jsx(xu,{pieces:a})]},l)):o.text},s):d.jsx("p",{className:"tool-note",children:o.painted.length?o.painted.map((a,l)=>d.jsxs(S.Fragment,{children:[l>0?`
|
|
252
|
+
`:null,d.jsx(xu,{pieces:a})]},l)):o.text},s))})}function NK({image:e,worktreeId:t}){const n=Lr().attachment(t,e.file),r={worktreeId:t,file:e.file,sock:Qe()},[o,s]=S.useState(!1),a=wn("chat");return d.jsxs(d.Fragment,{children:[d.jsx("button",{type:"button",className:"tool-image","data-tip":"Open full size","data-tip-placement":"follow",onClick:()=>s(!0),...a.contextMenu(()=>Ha(n,{open:()=>s(!0)},r)),children:d.jsx("img",{src:n,alt:e.file})}),o&&d.jsx(cd,{owner:"chat",onClose:()=>s(!1),menu:()=>Ha(n,{},r),children:d.jsx("img",{src:n,alt:e.file})})]})}const TK=S.memo(function({item:t,roots:n,worktreeId:r}){const o=S.useMemo(()=>PA(cw(t,t.output??""),il(t),!t.done),[t]),s=Ku(t,n).command,a=r?t.images??[]:[];return!s&&o.length===0&&a.length===0?null:d.jsxs("div",{className:"tool-part",children:[s&&d.jsx("pre",{className:"tool-block cmd",children:s}),o.length>0&&d.jsx(DA,{blocks:o,path:zA(t,n),worktreeId:r}),a.length>0&&r&&d.jsx("div",{className:"tool-out",children:a.map(l=>d.jsx(NK,{image:l,worktreeId:r},l.file))})]})});function zA(e,t){const n=Fp(il(e),t??[]);return n.startsWith("/")?"":n}const jK=S.memo(function({text:t,item:n,roots:r,worktreeId:o}){const s=il(n),a=S.useMemo(()=>PA([{code:!0,diff:!0,lang:"diff",text:t}],s),[t,s]);return d.jsx("div",{className:"tool-part",children:d.jsx(DA,{blocks:a,path:zA(n,r),worktreeId:o})})});function uw({className:e,state:t,auto:n,leaf:r,growing:o,label:s,summary:a,menu:l,children:u}){const[h,f]=S.useState(null),p=S.useRef(null),g=S.useRef(null),y=cT(g),v=w6(".chat-log"),w=!r&&(h??n),[x,N]=S.useState(w);S.useEffect(()=>{w&&N(!0)},[w]);const E=()=>{r||(w||v(p.current),f(!w))},T=wn("chat");return d.jsxs("details",{ref:p,className:We(e,r&&"leaf"),"data-state":t,open:w,onToggle:j=>{if(!j.currentTarget.open||o)return;const A=g.current;A&&(A.scrollTop=0,y.read())},...T.contextMenu((j,A)=>l({open:w,leaf:!!r,toggle:E},A)),tabIndex:-1,onPointerDown:()=>{var j;return(j=p.current)==null?void 0:j.focus({preventScroll:!0})},onKeyDown:j=>{if((j.key==="ArrowLeft"||j.key==="ArrowRight")&&!r){if(j.shiftKey||j.altKey||j.metaKey||j.ctrlKey)return;_p([{depth:0,open:w}],0,j.key)&&E();return}j.key!=="Escape"||!w||(j.stopPropagation(),f(!1))},children:[d.jsx("summary",{"aria-label":s,tabIndex:r?-1:void 0,onClick:j=>{j.preventDefault(),E()},children:a}),d.jsx("div",{className:"tool-body",ref:g,children:w||x?u:null})]})}function FA({text:e,live:t,className:n}){const r=S.useRef(null);return S.useEffect(()=>{const o=r.current;if(!t||!o)return;const s=new ResizeObserver(([a])=>{a&&o.style.setProperty("--line",`${a.contentRect.width}px`)});return s.observe(o),()=>{s.disconnect(),o.style.removeProperty("--line")}},[t]),d.jsx("span",{ref:r,className:We("tool-hint",n),children:t?d.jsx("span",{className:"live-text",children:e}):e})}function $K({markdown:e,streaming:t,worktreeId:n,fileRoot:r}){const o=LA(n),s=ol(e,r||t||o?{fileRoot:r,streaming:t,worktrees:o}:void 0),a=Qe(),l=dt(),u=S.useRef(null);lT(u,s);const h=S.useRef(null),f=Ev(h);return d.jsx("div",{className:"tool-part",children:d.jsxs("div",{ref:h,className:"tool-out thought-out md",onClick:p=>ov(p,r,n,{sock:a,dispatch:l}),children:[d.jsx("div",{ref:u}),f]})})}const AK=S.memo(function({item:t,open:n,streaming:r,worktreeId:o,fileRoot:s}){const a=fA(t.text),l=a.slice(0,-1),u=r?"Thinking":"Thought",h=d.jsx($K,{markdown:a.length?l.join(`
|
|
253
|
+
|
|
254
|
+
`):uA(t.text),streaming:r,worktreeId:o,fileRoot:s}),f=a.at(-1)??(r?"":hA(t.text));if(f){const p=l.length===0;return d.jsx(uw,{className:"tool-row",auto:!1,leaf:p,growing:r,label:f,menu:(g,y)=>Ln([Qk(lw(y)),[{id:"copy",label:"copy thought",onClick:()=>nn(t.text)}],...p?[]:[[{id:"fold",label:g.open?"collapse":"expand",onClick:g.toggle}]]]),summary:d.jsxs(d.Fragment,{children:[d.jsx(Tt,{name:"bulb",className:"tool-icon"}),d.jsx(FA,{className:"thought-line",text:f,live:!!r})]}),children:p?null:h})}return d.jsx(uw,{className:"tool-row",auto:!!n,growing:r,label:u,menu:(p,g)=>Ln([Qk(lw(g)),[{id:"copy",label:"copy thought",onClick:()=>nn(t.text)}],[{id:"fold",label:p.open?"collapse":"expand",onClick:p.toggle}]]),summary:d.jsxs(d.Fragment,{children:[d.jsx(Tt,{name:"bulb",className:"tool-icon"}),d.jsx("span",{className:We("tool-name",r&&"live-text"),children:u})]}),children:h})}),Sa=6,CK={land:"the land",commit:"the commit","sync-main":"the sync","pull-main":"the pull"},Uf=S.memo(function e({tools:t,run:n,next:r,live:o,working:s,held:a,since:l,queued:u,roots:h,worktreeId:f,marked:p}){const g=t[0],y=S.useMemo(()=>sK(t.map(Ne=>cw(Ne,Ne.output??""))),[t]),v=t.at(-1)??g,w=!v.done,x=w&&!!v.background,E=(w||!!r||!!a)&&!u||!!s,T=w&&!!u,j=Pi((w||s)&&!v.until?l:void 0),A=n?KW(n):-1,I=S.useMemo(()=>n?_A(n,!0):void 0,[n]),$=!!o,C=Ku(g,h),L=w?NW(g):"",{label:P,icon:B}=C,q=vA(g),ne=L?"":q?"Guardian":C.name,Q=L&&g.subagent?C.hint:"",le=Q||L||(q?xW(g.output??""):C.hint),te=!(n&&n.length>0)&&!y&&t.every(Ne=>{var H;return!Ku(Ne,h).command&&cw(Ne,Ne.output??"").length===0&&!((H=Ne.images)!=null&&H.length)}),Z=n?BW(n):0,R=yK(t),J=x?v.until?`wakes ${fp(v.until)}`:"in the background":"",F=[P,le].filter(Boolean).join(" ")+(J?`, ${J}`:"")+(T?", queued":"")+(R?", done":""),O=L?"":n?`${Z} ${Z===1?"call":"calls"}`:t.length>1?`×${t.length}`:"",W=Pn(),ie=Qe(),he=D(Ne=>{var H;return f?(H=Ne.shipping[f])==null?void 0:H.op:void 0}),ye=w&&g.name===zi&&f?{worktreeId:f,toolId:v.id}:null,$e=D(Ne=>g.name===Iw?DF(Mr(Ne,f).chat,g.id):void 0),Be=w?null:(()=>{const Ne=Xt(W.getState(),f),H={sock:ie,dispatch:W.dispatch};return bK(t,h??[],Ne?{id:Ne.worktree.id}:null,H,$e)})();return d.jsxs(uw,{className:We("tool-row",t.some(Ne=>Ne.isError)&&"error",g.parentToolId&&"nested",n&&"spawn",T&&"queued"),state:er({cursor:p}),auto:$,leaf:te,growing:E,label:n&&O?`${F}, ${O}`:t.length>1?`${F}, ${t.length} calls`:F,menu:(Ne,H)=>{const ae=Xt(W.getState(),f),X=ae?{id:ae.worktree.id}:null,oe=Ip(H,null),we=(oe==null?void 0:oe.kind)==="out"?oe.href:null;return xK(t,h??[],X,{sock:ie,dispatch:W.dispatch},Ne,we,$e)},summary:d.jsxs(d.Fragment,{children:[d.jsx(Tt,{name:n?"spawn":B,className:"tool-icon"}),ne&&d.jsx("span",{className:We("tool-name",E&&!le&&"live-text"),children:ne}),L&&!Q?d.jsx("span",{className:"tool-writing","data-tip":le,children:d.jsx(xh,{})}):le&&d.jsx(FA,{text:le,live:E}),J&&d.jsx("span",{className:"tool-status",children:J}),T&&d.jsx("span",{className:"tool-status",children:"queued"}),R&&d.jsx(Tt,{name:"check",className:"tool-done"}),j>=Sa&&d.jsx("span",{className:We("tool-age",A>=0&&"tool-age-folded"),children:Aa(j)}),O&&d.jsx("span",{className:"tool-count",children:O}),Q&&d.jsx("span",{className:"tool-writing","data-tip":L,children:d.jsx(xh,{})}),ye&&d.jsx(Dt,{icon:"stop",className:"tool-stop",label:he?`Stop ${CK[he]}: this step is killed, and what it printed so far stays`:x?"Kill what the command left running; what it printed so far stays":"Kill the command and everything it started; what it printed so far stays",onClick:Ne=>{Ne.preventDefault(),Ne.stopPropagation(),ie==null||ie.send({t:"exec-stop",...ye})}}),Be&&d.jsx(Dt,{icon:"eye",className:"tool-open",label:Be.tip,onClick:Ne=>{Ne.preventDefault(),Ne.stopPropagation(),Be.open()}})]}),children:[n&&n.length>0&&d.jsx("div",{className:"spawn-run",children:n.map((Ne,H)=>d.jsx(e,{tools:Ne.tools,next:Ne.next,since:H===A?l:void 0,queued:I==null?void 0:I.has(H),roots:h,worktreeId:f},Ne.at))}),y?d.jsx(jK,{text:y,item:g,roots:h,worktreeId:f}):t.map(Ne=>d.jsx(TK,{item:Ne,roots:h,worktreeId:f},Ne.id))]})},(e,t)=>e.live===t.live&&e.working===t.working&&e.held===t.held&&e.since===t.since&&e.queued===t.queued&&e.next===t.next&&e.roots===t.roots&&e.worktreeId===t.worktreeId&&e.marked===t.marked&&vv(e.tools,t.tools)&&NA(e.run,t.run));function IK({item:e}){const t=Qe(),n=dt(),r=D(w=>w.activeId),o=D(w=>w.layout.term),s=D(w=>{var x;return((x=w.rows.find(N=>N.id===w.activeId))==null?void 0:x.login)??!1}),a=D(w=>w.managed.problem),[l,u]=S.useState(""),[h,f]=S.useState(null),p=S.useRef(!1);if(ot([s],()=>{s&&p.current&&r&&n({a:"term-stream",id:r,stream:qs,tall:!0})}),ot([e.done],()=>{e.done&&p.current&&o&&n({a:"toggle-terminal"}),p.current=!1}),!r)return null;const g=e.provider==="aws",y=(w,x)=>{t==null||t.send({t:"agent-auth",worktreeId:r,methodId:w,...x?{apiKey:x}:{}})},v=e.methods.find(w=>w.id===h);return d.jsxs("div",{className:`auth-card ${e.done?"done":""}`,children:[d.jsx("div",{className:"auth-title","data-tip":e.done?void 0:e.detail,children:e.done?`${e.agentName} is logged in`:e.provider==="aws"?`${e.agentName}'s AWS session expired`:e.rejected?`${e.agentName}'s credentials were refused`:`${e.agentName} is not logged in`}),!e.done&&d.jsxs("div",{className:"auth-methods",children:[e.methods.map((w,x)=>w.needsKey?d.jsx(Le,{variant:"outline",on:h===w.id,"data-tip":w.description,onClick:()=>f(h===w.id?null:w.id),children:w.name},w.id):d.jsx(Le,{variant:"outline",tone:g&&x===0?"primary":void 0,"data-tip":w.kind==="terminal"&&!w.description?"opens in the terminal pane":w.description,onClick:()=>{y(w.id),w.kind==="terminal"&&(p.current=!0)},children:w.name},w.id)),d.jsx(Le,{variant:g?"ghost":"outline",tone:g?"quiet":void 0,"data-tip":"after logging in elsewhere (the terminal, another window)",onClick:()=>t==null?void 0:t.send({t:"agent-retry",worktreeId:r}),children:"send again"})]}),!e.done&&s&&d.jsx("div",{className:"hint auth-hint",children:e.provider==="aws"?"the login tab below opens the browser to sign in. Your message sends once you are in.":"paste the code into the login tab below and press Enter; it stays hidden as you paste. Your message sends once you are in."}),!e.done&&e.refresh&&d.jsxs("div",{className:"hint auth-hint",children:["your Claude settings refresh it with ",d.jsx("code",{children:e.refresh}),", which got no session this time"]}),!e.done&&e.withheld&&d.jsx("div",{className:"hint auth-hint",children:a?"the policy file on this machine is invalid, so signing in with a Claude plan is off until it is fixed; toyon doctor says why":"signing in with a Claude plan is managed by your organization"}),!e.done&&v&&d.jsxs("form",{className:"auth-key",onSubmit:w=>{w.preventDefault(),l.trim()&&(y(v.id,l.trim()),u(""),f(null))},children:[d.jsx(Uo,{type:"password",autoFocus:!0,placeholder:`${v.name} for ${e.agentName}`,value:l,onChange:w=>u(w.target.value)}),d.jsx(Le,{type:"submit",children:"use key"})]})]})}const RK=S.memo(function({item:t,worktreeId:n,onPickHover:r,marked:o,streaming:s}){const a=Pn(),l=Qe(),u=Lr(),h=wn("chat"),f={sock:l,dispatch:a.dispatch},p=S.useRef(null),g=TT(p),y=()=>{var w;return(w=Xt(a.getState(),n))==null?void 0:w.worktree.path},v=w=>w&&n&&d.jsx($p,{children:d.jsx("div",{className:"msg-attachments",children:w.map(x=>x.kind==="image"?d.jsx(nK,{img:x,worktreeId:n,src:u.attachment(n,x.file)},`${x.kind}-${x.n}`):x.kind==="file"?d.jsx(zp,{className:"in-chat",name:x.name,bytes:x.bytes,href:x.text?u.attachment(n,x.file):void 0,kept:{worktreeId:n,file:x.file}},`${x.kind}-${x.n}`):x.kind==="paste"?d.jsx(Dp,{className:"in-chat",n:x.n,name:x.name,source:x.source,lines:x.lines,chars:x.chars,preview:x.preview,href:u.attachment(n,x.file)},`${x.kind}-${x.n}`):d.jsx(Up,{pick:x,className:"in-chat",tipText:"Hover to highlight on the page",onHover:N=>r==null?void 0:r(x,N),worktreeId:n,onOpen:(N,E)=>La(a,l,n,N,E)},`${x.kind}-${x.n}`))})});switch(t.kind){case"user":{const w=v(t.attachments),x=y();return d.jsxs("div",{ref:p,className:"msg-user row-edge","data-state":er({cursor:o||g}),...h.contextMenu((N,E)=>Ni(t,n??null,f,{link:Ip(E,x)},N)),onClick:N=>Zu(N,x,n,f),children:[w,d.jsx(qu,{text:t.text,worktreeId:n,root:x})]})}case"assistant":return d.jsx(Yg,{text:t.text,menu:(w,x,N)=>Ni(t,n??null,f,{link:w,code:x},N),marked:o,worktreeId:n,fileRoot:y(),streaming:s,pictures:t.pictures});case"error":return d.jsx("div",{ref:p,className:"msg-assistant msg-error row-edge","data-state":er({cursor:g}),...h.contextMenu(w=>Ni(t,n??null,f,{},w)),children:t.text});case"auth":return d.jsx(IK,{item:t});case"ask":{const w=Cz(t);if(w){const A={kind:"assistant",text:ry(w.questions,w.answers).join(`
|
|
255
|
+
`)};return d.jsxs(d.Fragment,{children:[d.jsx(Yg,{text:w.message,menu:(I,$,C)=>Ni({kind:"assistant",text:w.message},n??null,f,{link:I,code:$},C),worktreeId:n,fileRoot:y()}),d.jsx("div",{ref:p,className:"msg-user row-edge","data-state":er({cursor:o||g}),...h.contextMenu(I=>Ni(A,n??null,f,{},I)),children:$z(w.questions,w.answers).map((I,$)=>{var C;return d.jsxs("div",{children:[I.pick,I.descriptions.map((L,P)=>d.jsx("div",{className:"msg-pick-desc",children:L},P)),I.note&&d.jsx("div",{children:I.note})]},((C=w.questions[$])==null?void 0:C.id)??$)})})]})}const x=Rz(t);if(!x)return d.jsx(yB,{item:t});const N=x.file,E={kind:"assistant",text:x.choice};return d.jsxs(d.Fragment,{children:[N?d.jsx(OK,{file:N,worktreeId:n}):x.text&&d.jsx(Yg,{text:x.text,menu:(T,j,A)=>Ni({kind:"assistant",text:x.text},n??null,f,{link:T,code:j},A),worktreeId:n,fileRoot:y()}),d.jsx("div",{ref:p,className:"msg-user row-edge","data-state":er({cursor:g}),...h.contextMenu(T=>Ni(E,n??null,f,{},T)),children:x.choice})]})}case"blocked":return d.jsx(cr,{icon:"lock",word:"blocked",tone:"red",below:t.reason,...h.contextMenu(()=>nv(t.path,void 0,ro(f.sock))),children:d.jsxs("span",{className:"daemon-text",children:[t.tool,t.path&&d.jsxs(d.Fragment,{children:[" ",d.jsx("span",{className:"tool-hint",children:t.path})]})]})});case"grafted":return d.jsx(cr,{icon:"pull",word:"grafted",tone:"accent",below:t.branch,"data-tip":`what follows was said in ${t.title} before it was merged in here`,"data-tip-placement":"follow",children:d.jsx("span",{className:"daemon-text",children:t.title})});case"switched":return d.jsx(cr,{icon:"swap",word:"model",tone:"quiet",below:t.asked?`${t.asked} is not on the agent's list`:"the agent switched to it",children:d.jsx("span",{className:"daemon-text",children:t.name})});case"asked":return d.jsx(cr,{icon:"send",word:"asked",tone:"quiet",children:d.jsx("span",{className:"daemon-text",children:t.why})});case"stopped":return t.by?d.jsx(cr,{icon:"stop",word:"stopped",tone:"quiet",below:t.by.reason,children:d.jsxs("span",{className:"daemon-text",children:["by ",d.jsx(Kr,{id:t.by.origin.id,title:t.by.origin.title}),t.by.origin.project?` in ${t.by.origin.project}`:""]})}):d.jsx(cr,{icon:"stop",word:"stopped",tone:"quiet"});case"landed":return d.jsx(LK,{item:t});case"handed":return d.jsx(JW,{item:t,worktreeId:n,marked:o,children:v(t.attachments)});case"piece-landed":return d.jsx(tK,{item:t});case"handoff":{const w=qF(t);if(!w)return d.jsx(CE,{item:t,worktreeId:n});const x={kind:"assistant",text:w};return d.jsxs(d.Fragment,{children:[d.jsx("div",{ref:p,className:"msg-user row-edge","data-state":er({cursor:g}),...h.contextMenu(N=>Ni(x,n??null,f,{},N)),children:w}),d.jsx(CE,{item:t,worktreeId:n})]})}case"piece-later":return d.jsx(eK,{item:t});case"restored":return d.jsx(MK,{item:t});case"adopted":return d.jsx(cr,{icon:"branch",word:"taken over",tone:"quiet",at:t.ts,children:d.jsxs("span",{className:"daemon-text",children:["on ",t.branch,", its own branch"]})});case"owned":{if(t.by==="edit")return d.jsx(tW,{item:t,worktreeId:n});const w=t.by==="agent"?"the agent asked for it before changing the backend":"asked for";return d.jsx(cr,{icon:"run",word:"runs here",tone:"quiet",at:t.ts,children:d.jsxs("span",{className:"daemon-text",children:[t.names.join(", "),": ",w]})})}case"own-failed":return d.jsx(cr,{icon:"run",word:"setup failed",tone:"quiet",at:t.ts,children:d.jsxs("span",{className:"daemon-text",children:[t.name," (exit ",t.exit,"): ",t.cmd,"; the page still reaches main's ",t.name]})})}});function OK({file:e,worktreeId:t}){const n=Qe(),r=dt(),o=wn("chat"),s=Sv(t??void 0,e);return d.jsx(cr,{icon:"text",word:"plan",tone:"quiet",...o.contextMenu(()=>nv(e,t?()=>n==null?void 0:n.send({t:"reveal",worktreeId:t,path:e}):void 0,ro(n))),children:d.jsx("span",{className:"daemon-text",children:d.jsx(Le,{variant:"inline","data-tip":e,onClick:()=>t&&Cn({dispatch:r},{worktreeId:t,path:e,view:"preview"}),children:s})})})}function MK({item:e}){return d.jsx(cr,{icon:"reload",word:"restored",tone:"quiet",at:e.ts,children:d.jsxs("span",{className:"daemon-text",children:["after ",fy(e.ts-e.archivedAt)," in the archive, back on ",e.branch,e.uncommitted?" with its uncommitted changes":""]})})}function LK({item:e}){var a;const t=qj(e.ts),n=e.mark&&jp(e.mark),r=`${e.text}, ${t}`,o=e.url,s=e.held&&`Not marked landed: ${oo(e.held)}`;return d.jsx(cr,{icon:"check",word:"landed",tone:"aqua",at:e.ts,below:[n?r:void 0,s],press:o?{label:Aj(o,(a=e.mark)==null?void 0:a.pr),tip:"Open the pull request",onPress:()=>Or(o)}:void 0,children:d.jsx("span",{className:"daemon-text",children:n??r})})}const Hp=".jump-seat, .draft-intro, .chat-input";function PK(e){const t=e instanceof Element?e:e.parentElement;return!!(t!=null&&t.closest(Hp))}function LE(e,t){const n=new Map(t.map(r=>[r.id,r]));for(const r of e.querySelectorAll(`.chat-mention[data-dir]:not([data-archived], :is(${Hp}) *)`)){const o=n.get(r.dataset.worktree??"");if(!o)continue;const s=Pp({...o,dir:r.dataset.dir}),a=r.querySelector(".dot"),l=`dot ${o.dot}`;a&&a.className!==l&&(a.className=l);const u=s.detail.join(`
|
|
256
|
+
`);r.dataset.tipDetail!==u&&(r.dataset.tipDetail=u),r.dataset.tipDot!==o.dot&&(r.dataset.tipDot=o.dot)}}function DK(e,t){const n=D(s=>s.visible),r=D(s=>s.shipping),o=D(s=>{var a;return(a=Xt(s,t))==null?void 0:a.worktree.repoId});S.useEffect(()=>{const s=e.current;if(!s||!o)return;const a=bv(n,o,null,r);LE(s,a);let l=0;const u=new MutationObserver(h=>{h.every(f=>PK(f.target))||(cancelAnimationFrame(l),l=requestAnimationFrame(()=>LE(s,a)))});return u.observe(s,{childList:!0,subtree:!0}),()=>{u.disconnect(),cancelAnimationFrame(l)}},[e,n,r,o])}const BA=e=>e===""||e==="!";function PE(e,t){const n=new Set,r=[];for(let o=e.length-1;o>=0;o--){const s=e[o],a=$A(s),l=a!==null?`!${a}`:t?null:s.kind==="user"?s.text:s.kind==="ask"?Iz(s):null;l===null||!l.trim()||n.has(l)||(n.add(l),r.push({text:l,at:o}))}return r}function zK(e,t,n,r){if(!t){if(r!=="up"&&r!=="first"||!BA(n))return null;const l=PE(e,n==="!"),u=r==="up"?l[0]:l.at(-1);return u?{walk:{at:u.at,from:n},text:u.text}:null}if(r==="box")return{walk:null,text:t.from};const o=PE(e,t.from==="!"),s=r==="first"?o.length-1:o.findIndex(l=>l.at===t.at)+(r==="up"?1:-1);if(s<0)return{walk:null,text:t.from};const a=o[s];return a?{walk:{at:a.at,from:t.from},text:a.text}:{walk:t,text:n}}function FK(e,t,n,r){const o=new Map;return{rows:t.map((a,l)=>{const u=n(a,l),h=e.get(a.at),f=h&&h.row.kind===u.kind&&BK(h.row.props,u.props)?h.el:r(a,u);return o.set(a.at,{row:u,el:f}),f}),cache:o}}function BK(e,t){const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const o of n){if(!(o in t))return!1;const s=e[o],a=t[o];if(!Object.is(s,a)&&(!Array.isArray(s)||!Array.isArray(a)||s.length!==a.length||!s.every((l,u)=>Object.is(l,a[u]))))return!1}return!0}const UK=4;function HK(e,t,n){const r=Math.max(t,0);return n?e>=r+1:e>=r+UK}function WK(e,t,n){S.useEffect(()=>{const r=e.current,o=r==null?void 0:r.parentElement,s=r==null?void 0:r.querySelector(":scope > .chat-input");if(!r||!o||!s){n(!1);return}let a=0,l=!1,u=0,h=0;const f=()=>o.style.setProperty("--cover",`${l?h:u}px`),p=()=>{if(u=s.offsetHeight,h=u,t&&s.classList.contains("foldable")){const x=r.scrollTop;s.classList.add("fold-measure"),h=s.offsetHeight,s.classList.remove("fold-measure"),r.scrollTop=x}a=u-h,o.style.setProperty("--fold",`${a}px`),o.style.setProperty("--keep",`${h}px`),f()},g=()=>{if(!t)return;const x=HK(r.scrollHeight-r.scrollTop-r.clientHeight,a,l);x!==l&&(l=x,f(),n(l))};p(),g(),r.addEventListener("scroll",g,{passive:!0});const y=new ResizeObserver(()=>{p(),g()});y.observe(s);let v=s.className;const w=new MutationObserver(()=>{s.className!==v&&(v=s.className,p(),g())});return w.observe(s,{attributes:!0,attributeFilter:["class"]}),()=>{r.removeEventListener("scroll",g),y.disconnect(),w.disconnect();for(const x of["--fold","--keep","--cover"])o.style.removeProperty(x);n(!1)}},[e,t,n])}const KK={get current(){return bu.el}},qK={upTo:e=>e.querySelector(":scope > .jump-seat"),except:Hp};function dw({items:e,next:t,worktreeId:n,onOpen:r}){const o=Lr();return d.jsx($p,{children:d.jsx("div",{className:"msg-attachments",children:Lw(e,t).map(([s,a])=>s.kind==="image"?d.jsx(Bp,{className:"in-chat",src:"local"in s&&s.local||o.upload(s.upload),n:a,name:s.name,width:s.width,height:s.height,bytes:s.bytes,progress:"progress"in s?s.progress:void 0},`image-${a}`):s.kind==="file"?d.jsx(zp,{className:"in-chat",name:s.name,bytes:s.bytes,href:s.text&&s.upload?o.upload(s.upload):void 0,progress:"progress"in s?s.progress:void 0},`file-${a}`):s.kind==="paste"?d.jsx(Dp,{className:"in-chat",n:a,name:s.name,source:s.source,...Yw(s.text),text:s.text},`paste-${a}`):d.jsx(Up,{className:"in-chat",pick:s,worktreeId:n,onOpen:r},`pick-${a}`))})})}function ZK({entry:e,next:t,worktreeId:n,root:r,onOpen:o}){const s=dt(),a=Qe(),l=Ft(e.id,"draft"),u=Ft(e.id,"attachments");return d.jsxs("div",{className:"msg-user queued-msg",onClick:h=>Zu(h,r,n,{sock:a,dispatch:s}),children:[d.jsxs("span",{className:"queued-tag",children:[d.jsx(Tt,{name:"clock",className:"icon-inline"}),d.jsx("span",{className:"live-text",children:"uploading"})]}),d.jsxs("span",{className:"queued-actions",children:[d.jsx(Dt,{icon:"edit",label:"Edit: puts it back in the input",onClick:()=>s({a:"unsend",id:e.id})}),d.jsx(Dt,{icon:"close",label:"Remove: it is not sent",onClick:()=>s({a:"drop-out",id:e.id})})]}),d.jsxs("div",{className:"queued-text",children:[u.length>0&&d.jsx(dw,{items:u,next:t,worktreeId:n,onOpen:o}),d.jsx(qu,{text:l,worktreeId:n,root:r})]})]})}const GK=new Set;function Qg({active:e,archived:t,found:n,lead:r,tail:o,foot:s}){var lt;const a=Qe(),l=Pn(),u=dt(),h=D(z=>z.frame==="phone"),f=(e==null?void 0:e.worktree.id)??(t==null?void 0:t.id)??(n==null?void 0:n.id)??null,p=Ft(f,"chat"),g=Ft(f,"queue"),y=Ft(f,"sending"),v=S.useMemo(()=>lk($N(p)),[p]),w=S.useMemo(()=>{let z=v;return g.map(re=>{const Ee=z;return z=wu(z,re.attachments??[]),Ee})},[g,v]),x=D(z=>z.outbox),N=S.useMemo(()=>{let z=g.reduce((re,Ee)=>wu(re,Ee.attachments??[]),v);return x.filter(re=>re.log===f).map(re=>{const Ee=z;return z=wu(z,re.kinds.map(Ge=>({kind:Ge}))),{entry:re,next:Ee}})},[x,f,g,v]),E=y!=null&&y.message?g.findIndex(z=>{var re;return z.text===((re=y.message)==null?void 0:re.text)}):-1,T=S.useRef(null);DK(T,f),rF(T,qK);const[j,A]=S.useState(null),I=S.useCallback(()=>{const z=(T.current&&vh(T.current))??"";A(re=>({seed:z||(re==null?void 0:re.seed)||"",seq:((re==null?void 0:re.seq)??0)+1}))},[]),$=S.useCallback(z=>!(z!=null&&z.closest("[data-pane]"))&&!l.getState().overlay,[l]);xT(KK,Zy,I,$);const C=z=>{if(A(null),z){const re=window.getSelection();re==null||re.removeAllRanges(),re==null||re.addRange(z)}},L=cT(T,p);ot([f],()=>L.jump());const P=L.offStart&&L.moving==="up",B=L.offEnd&&(L.moving==="down"||L.away),q=z=>z.preventDefault(),ne=(P||B)&&d.jsxs("div",{className:We("jump",L.away&&"jump-news"),children:[P&&d.jsx("button",{className:"jump-up",onMouseDown:q,onClick:L.start,"data-tip":"Jump to start",children:d.jsx(Tt,{name:"caret-up",className:"icon-inline"})}),B&&d.jsxs("button",{className:"jump-down",onMouseDown:q,onClick:L.jump,"data-tip":"Jump to latest",children:[d.jsx(Tt,{name:"caret",className:"icon-inline"}),L.away&&" new messages"]})]}),Q=S.useCallback(z=>u({a:"reading",on:z}),[u]);WK(T,h,Q);const le=Ft(f,"mark"),te=(le==null?void 0:le.by)==="walk"?le.at:void 0,Z=S.useRef(null),R=()=>{const z=T.current,re=z==null?void 0:z.querySelector(':scope > [data-state~="cursor"]');if(!z||!re)return;const Ee=parseFloat(getComputedStyle(z).paddingTop)||0;z.scrollTop+=re.getBoundingClientRect().top-z.getBoundingClientRect().top-Ee,L.read()};ot([te],()=>{const z=T.current;if(z){if(te===void 0){const re=Z.current;if(Z.current=null,!re||!BA(Mr(l.getState(),f).draft))return;re.bottom?L.jump():(z.scrollTop=re.top,L.read());return}Z.current??(Z.current={bottom:L.pinned(),top:z.scrollTop}),R()}});const J=Ft(f,"sent");ot([J],()=>{J&&L.jump()});const F=N.length,O=S.useRef(F);ot([F],()=>{F>O.current&&L.jump(),O.current=F});const W=(le==null?void 0:le.by)==="reveal"?le:void 0,ie=S.useMemo(()=>W?YW(p,W.seq):-1,[p,W]),he=te??(ie>=0?ie:void 0);ot([W==null?void 0:W.n,ie],()=>{ie>=0&&R()});const ye=S.useCallback((z,re)=>{f&&(re?cn.post(f,{type:"highlight-selector",selector:z.selector,label:dy(z)}):cn.post(f,{type:"highlight-clear"}))},[f]),$e=is(e==null?void 0:e.agent),Be=Ft(f,"cardParked"),Ne=S.useMemo(()=>{const z=Py(p);return!!z&&Be!==z.id},[p,Be]),H=e==null?void 0:e.worktree,ae=(H==null?void 0:H.path)??(t==null?void 0:t.path)??(n==null?void 0:n.path),X=S.useMemo(()=>ae?[ae]:[],[ae]),oe=S.useMemo(()=>FW(p,X,$e),[p,X,$e]),we=S.useMemo(()=>$e?UW(p):GK,[$e,p]),Pe=S.useMemo(()=>HW(oe,we),[oe,we]),Re=Pe.floating,Ke=S.useRef([]),tt=S.useMemo(()=>(Ke.current=qW(Ke.current,Pe.flow),Ke.current),[Pe]),at=(e==null?void 0:e.agent)==="working",Mt=at||(e==null?void 0:e.agent)==="waiting",en=S.useMemo(()=>Mt?GW(tt):-1,[Mt,tt]),ft=tt.at(-1),Ze=at&&ft&&"item"in ft&&(ft.item.kind==="thinking"||ft.item.kind==="assistant")?tt.length-1:-1,sn=(lt=oe.findLast(z=>{var re;return"tools"in z&&((re=z.tools[0])==null?void 0:re.name)===zi}))==null?void 0:lt.at,Ut=Ft(f,"chatAt"),zt=Pi($e?Ut:void 0),Zt=Ft(f,"usage"),st=(Zt==null?void 0:Zt.heard)!==void 0&&Ut!==void 0&&Zt.heard>Ut?Zt.heard:void 0,ht=Pi($e?st:void 0),vn=Pi(y&&!$e?y.at:void 0),xt=WW(p,$e),ct=Re.length>0,Tn=Ze>=0||xt||ct,pn=at&&!Tn&&zt<Sa?LW(tt,X):-1,In=S.useMemo(()=>_A(tt),[tt]),Oe=Ft(f,"running"),pt=z=>Oe&&z.tools.some(re=>re.id===Oe.id)?Oe.at:void 0,Ht=e==null?void 0:e.worktree.path,an=z=>`${f??""}:${z}`,Gn=(z,re)=>"spawn"in z?{kind:"tool",props:{tools:[z.spawn],run:z.run,roots:X,worktreeId:f}}:"tools"in z?{kind:"tool",props:{tools:z.tools,next:z.next,live:re===en||z.at===sn,held:re===pn,since:pt(z),queued:In.has(re),roots:X,worktreeId:f,marked:z.at===he}}:z.item.kind==="thinking"?{kind:"thought",props:{item:z.item,open:re===en,streaming:re===Ze,worktreeId:f,fileRoot:Ht}}:{kind:"item",props:{item:z.item,worktreeId:f,onPickHover:ye,marked:z.at===he,streaming:at&&re===tt.length-1}},ee=S.useRef(new Map),ge=FK(ee.current,tt,Gn,(z,re)=>re.kind==="tool"?d.jsx(Uf,{...re.props},an(z.at)):re.kind==="thought"?d.jsx(AK,{...re.props},an(z.at)):d.jsx(RK,{...re.props},an(z.at)));ee.current=ge.cache;const He=d.jsxs("div",{className:"chat-wrap",children:[d.jsxs("div",{className:"chat-log",ref:T,children:[r,ge.rows,Re.map(z=>{var re;return"spawn"in z?d.jsx(Uf,{tools:[z.spawn],run:z.run,working:!0,since:Ut,roots:X,worktreeId:f},an(z.at)):((re=z.tools[0])==null?void 0:re.name)===zi?d.jsx(Uf,{tools:z.tools,live:z.at===sn,since:pt(z),roots:X,worktreeId:f,marked:z.at===he},an(z.at)):d.jsx(Uf,{tools:z.tools,since:Ut,roots:X,worktreeId:f},an(z.at))}),f&&(y==null?void 0:y.message)&&d.jsxs("div",{className:"msg-user",onClick:z=>Zu(z,ae,f,{sock:a,dispatch:u}),children:[y.message.attachments&&d.jsx(dw,{items:y.message.attachments,next:v,worktreeId:f,onOpen:(z,re)=>La(l,a,f,z,re)}),d.jsx(qu,{text:y.message.text,worktreeId:f,root:ae})]}),e&&(y||$e&&!(e.agent==="waiting"&&Ne)&&!xt&&!ct&&pn<0&&!(Tn&&zt<Sa))&&d.jsx("div",{className:"working-row",children:e.agent==="waiting"?"waiting for your answer…":Tn?zt>=Sa&&d.jsxs("span",{children:["quiet for",d.jsx("span",{className:"working-num",children:Aa(zt)})]}):d.jsxs("span",{className:"working-mark",children:[d.jsx(xh,{}),!$e&&y?vn>=Sa&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"working-word",children:"waiting for the agent"}),d.jsx("span",{className:"working-num",children:Aa(vn)})]}):st!==void 0?ht>=Sa&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"working-word",children:"thinking"}),d.jsx("span",{className:"working-num",children:Aa(ht)})]}):zt>=Sa&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"working-word",children:"waiting for the model"}),d.jsx("span",{className:"working-num",children:Aa(zt)})]})]})}),f&&g.map((z,re)=>re===E?null:d.jsxs("div",{className:"msg-user queued-msg",onClick:Ee=>Zu(Ee,ae,f,{sock:a,dispatch:u}),children:[d.jsxs("span",{className:"queued-tag",children:[d.jsx(Tt,{name:"clock",className:"icon-inline"}),"queued"]}),d.jsxs("span",{className:"queued-actions",children:[d.jsx(Dt,{icon:"edit",label:"Edit: removes from queue, puts it back in the input",onClick:()=>LT(l,a,f,re)}),d.jsx(Dt,{icon:"close",label:"Remove from queue",onClick:()=>a==null?void 0:a.send({t:"unqueue",worktreeId:f,index:re})})]}),d.jsxs("div",{className:"queued-text",children:[z.attachments&&d.jsx(dw,{items:z.attachments,next:w[re]??v,worktreeId:f,onOpen:(Ee,Ge)=>La(l,a,f,Ee,Ge)}),d.jsx(qu,{text:z.text,worktreeId:f,root:ae})]})]},`q-${re}`)),f&&N.map(({entry:z,next:re})=>d.jsx(ZK,{entry:z,next:re,worktreeId:f,root:ae,onOpen:(Ee,Ge)=>La(l,a,f,Ee,Ge)},z.id)),o,d.jsx("div",{className:"jump-seat",children:ne}),h&&s]}),j&&d.jsx(Yj,{root:T,body:T,skip:Hp,seed:j.seed,seq:j.seq,onClose:C,onReveal:L.read})]});return h?He:d.jsxs(d.Fragment,{children:[He,s]})}function VK(e){return e.offer?e.offer.state!=="offered"?!0:e.agent==="idle"&&e.chat.some(t=>t.kind==="assistant"):!1}const YK=/EACCES|EPERM|permission denied/i,XK="https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally";function QK(e){return{why:e.line.replace(/\.$/,""),permissions:YK.test(e.line),command:e.command}}function JK(){try{return localStorage.getItem(et.installOffered)==="1"}catch{return!1}}let Ih={prompt:null,offered:typeof localStorage<"u"&&JK()};const fw=new Set;function hw(e){Ih={...Ih,...e};for(const t of fw)t()}typeof window<"u"&&(window.addEventListener("beforeinstallprompt",e=>{e.preventDefault(),hw({prompt:e})}),window.addEventListener("appinstalled",()=>hw({prompt:null})));function UA(e){return fw.add(e),()=>{fw.delete(e)}}function HA(){return S.useSyncExternalStore(UA,()=>Ih.prompt)}function eq(){return S.useSyncExternalStore(UA,()=>Ih.offered)}function DE(){try{localStorage.setItem(et.installOffered,"1")}catch{}hw({offered:!0})}function tq(e){return!e.prompt||e.offered||e.agent!=="idle"?!1:e.chat.some(t=>t.kind==="assistant")}function _v(e,{sock:t}){var o;const n=[];e.canLogout&&((o=e.auth)==null?void 0:o.kind)!=="none"&&n.push({id:"logout",label:"log out",danger:!0,onClick:()=>t==null?void 0:t.send({t:"agent-logout",agent:e.id})});const r=Gu(e);return r&&n.push({id:"install",label:r,onClick:()=>t==null?void 0:t.send(Nv(e))}),n}function Gu(e){return e.install?e.install==="missing"?"install":e.install.held?"install anyway":"install again":null}function Nv(e){const t=Gu(e)==="install anyway";return{t:"install-agent",agent:e.id,...t?{anyway:!0}:{}}}function nq(e){if(e.installing)return{text:"adapter",verb:null,busy:!0};const t=Gu(e);if(!t||!e.install)return null;if(e.install==="missing")return{text:"adapter is not installed",verb:t};const{behind:n,held:r,failed:o}=e.install;if(!n)return{text:"adapter did not install",verb:t,why:o};const s=r?"is held back":"did not install";return{text:`runs adapter ${n.runs}; ${n.pinned} ${s}`,verb:t,why:o}}const Wp=e=>e.reason??"not installed",rq={side:"top",align:"start",offset:4,alignOffset:-10,matchWidth:-20,flip:"side",margin:8};function oq({results:e,keyOf:t,row:n,rowClass:r,nav:o,listRef:s,empty:a,note:l,groupOf:u,groupHead:h}){const f=new Set(u?e.map(u):[]);return d.jsxs(Js,{className:"inline-picker",anchor:"parent",placement:rq,children:[d.jsxs("div",{className:"picker-list",ref:s,children:[e.map((p,g)=>{const y=u==null?void 0:u(p),v=y!==void 0&&f.size>1&&(g===0||(u==null?void 0:u(e[g-1]))!==y)?d.jsx("div",{className:"picker-group",children:(h==null?void 0:h(y))??y}):null;return d.jsxs(S.Fragment,{children:[v,d.jsx("button",{className:We("picker-item",r==null?void 0:r(p)),"data-state":er({cursor:g===o.index}),onMouseMove:()=>g!==o.index&&o.setIndex(g),onMouseDown:w=>w.preventDefault(),onClick:()=>o.pick(p),children:n(p,g===o.index)})]},t(p))}),e.length===0&&d.jsx("div",{className:"empty",children:a})]}),l&&d.jsx("div",{className:"picker-note",children:l})]})}const zE=e=>Math.max(0,Math.min(1,Number.isFinite(e)?e:0));function sq({fraction:e,level:t,className:n}){const o=2*Math.PI*5.5,s=zE(e),a=S.useId(),l=3.5,u=2*l*zE(t);return d.jsxs("svg",{className:We("ring",n),viewBox:"0 0 14 14",width:"14",height:"14","aria-hidden":"true",children:[t!==void 0&&d.jsxs(d.Fragment,{children:[d.jsx("clipPath",{id:a,children:d.jsx("circle",{cx:"7",cy:"7",r:l})}),d.jsx("rect",{className:"ring-level",clipPath:`url(#${a})`,x:"0",y:7+l-u,width:"14",height:u})]}),d.jsx("circle",{className:"ring-track",cx:"7",cy:"7",r:5.5}),d.jsx("circle",{className:"ring-fill",cx:"7",cy:"7",r:5.5,strokeDasharray:`${o*s} ${o}`})]})}function iq(e,t=Tu.folder.shared){return`New project: ${e}. The repository is empty apart from a root commit. Pick the mainstream stack for what the message describes, and say which in your first sentence; if the message names a stack, that wins. Scaffold it in this directory, write its .gitignore before installing anything, make it start on $PORT, and write ${t}.`}const Ks="";function WA(e,t){return!e||t.length===0?e:kR(e,t)??Ks}function aq(e){var h;const t=lq(e.name);if(t){const f=[t.qualifier,e.description||e.name].filter(Boolean).join(" · ");return{label:t.label,version:t.version,description:f}}const n=e.name.match(/^([A-Za-z]+)-(\d+(?:\.\d+)*)(?:-([A-Z][a-z]+))?$/);if(n!=null&&n[1]&&n[2])return{label:n[3]??n[1],version:n[2],...e.description?{description:e.description}:{}};const[r="",...o]=(e.description??"").split(" · "),s=e.name.replace(/\s*\([^)]*\)$/,""),a=r.match(/^(.+?) (\d+(?:\.\d+)*)(?: with (.+))?$/);if(!(a!=null&&a[2])||a[1]!==s)return{label:e.name,...e.description?{description:e.description}:{}};const u=[a[3]??((h=e.name.match(/\(([^)]*)\)$/))==null?void 0:h[1]),...o].filter(Boolean).join(" · ");return{label:s,version:a[2],...u?{description:u}:{}}}const cq=/(?:^|[./])claude-(?:(\d{1,2}(?:-\d{1,2}(?!\d))?)-)?([a-z]+)(?:-(\d{1,2}(?:-\d{1,2}(?!\d))?))?(?:-\d{8})?(?:-v\d+(?::\d+)?)?(?:@\d{8})?(?:\[(\d+m)\])?$/;function lq(e){const t=e.match(cq),n=t==null?void 0:t[2],r=(t==null?void 0:t[3])??(t==null?void 0:t[1]);if(!(!n||!r))return{label:n.charAt(0).toUpperCase()+n.slice(1),version:r.replace("-","."),...t[4]?{qualifier:`${t[4].toUpperCase()} context`}:{}}}function KA(e,t,n,r,o){const s=qS(e),a=gR(e,o),l=x=>a&&x===(s==null?void 0:s.id)?a.id:x,u=WA(t,e),h=l(u||n||(s==null?void 0:s.id)||Ks),f=l(u||(s==null?void 0:s.id)||Ks),p=a?e.filter(x=>x!==s):e,g=p.some(x=>x.id===h),y=p.map(x=>({c:x,words:aq(x)})),v=x=>[x.label,x.version].filter(Boolean).join(" "),w=[...s?[]:[{id:Ks,label:r.label,description:r.description}],...y.map(({c:x,words:N})=>{const E=y.filter(j=>v(j.words)===v(N)).length===1?N:void 0,T=E?E.description:x.description;return{id:x.id,label:E?E.label:x.name,...E!=null&&E.version?{suffix:E.version}:{},...E!=null&&E.version&&y.some(j=>j.c!==x&&j.words.label===E.label)?{chip:v(E)}:{},description:x===a?["default",T].filter(Boolean).join(" · "):T}}),...h&&!g?[{id:h,label:h}]:[]];if(h!==f){const x=w.find(T=>T.id===h),N=w.findIndex(T=>T.id===f),E=w[N];if(E){const T=(x==null?void 0:x.chip)??(x==null?void 0:x.label)??h;w[N]={...E,description:[`${T} now`,E.description].filter(Boolean).join(" · ")}}}return{rows:w,shown:h,picked:f}}const lu=(e,t)=>`${e} ${t}`;function uq(e){const t=e.indexOf(" ");return t<0?{agent:e,model:Ks}:{agent:e.slice(0,t),model:e.slice(t+1)}}function dq(e,t,n){const r=e.length>1;let o=lu(t,n);return{rows:e.flatMap(a=>{var f;const l=a.short??a.name,u=a.id===t;if(!a.available||!((f=a.models)!=null&&f.length))return u&&(o=lu(a.id,Ks)),[{id:lu(a.id,Ks),label:l,description:a.available?a.checkFailed??"its own default model; the rest are listed once it has run":Wp(a),disabled:!a.available}];const h=KA(a.models,u?n:Ks,void 0,{label:`${l} default`,description:`whatever ${a.name} runs when nothing is asked for`},a.defaultModel);return u&&(o=lu(a.id,h.shown)),h.rows.map(p=>({...p,id:lu(a.id,p.id),...r&&p.id!==Ks?{prefix:l}:{}}))}),shown:o}}function qA({choices:e,value:t,current:n,runs:r,what:o,defaultLabel:s,defaultDescription:a,placeholder:l,className:u,onChange:h,onClose:f}){const{rows:p,shown:g,picked:y}=S.useMemo(()=>KA(e,t,n,{label:s,description:a},r),[e,t,n,r,s,a]);if(e.length===0)return null;const v=p.find(x=>x.id===g),w=(v==null?void 0:v.chip)??(v==null?void 0:v.label)??g;return d.jsx(Us,{value:y,reads:g,options:p,onChange:h,onClose:f,className:u,hint:WA(t,e)?`asked for ${w}; click to change`:`${w}, the agent's choice; click to pick ${o}`,placeholder:l})}function FE({efforts:e,value:t,current:n,runs:r,onChange:o,onClose:s}){return d.jsx(qA,{choices:e,value:t,current:n,runs:r,what:"an effort level",defaultLabel:"default effort",defaultDescription:"the level the agent runs at when nothing is asked for",placeholder:"how hard the agent thinks here",className:"effort-chip",onChange:o,onClose:s})}const fq=e=>{var t;return((t=qh.find(n=>n.id===e))==null?void 0:t.description)??""};function BE({value:e,onChange:t,onClose:n}){return d.jsx(Us,{value:e,options:qh.map(r=>({id:r.id,label:r.name,description:r.description})),onChange:t,onClose:n,className:We("mode-chip",e!=="auto"&&"mode-held"),hint:`${e}: ${fq(e)}. Click to change`,placeholder:"what the agent may do without asking"})}function UE({models:e,value:t,current:n,runs:r,onChange:o,onClose:s}){return d.jsx(qA,{choices:e,value:t,current:n,runs:r,what:"a model",defaultLabel:"default model",defaultDescription:"whatever the agent runs when nothing is asked for",placeholder:"which model answers here",className:"model-chip",onChange:o,onClose:s})}function hq({agents:e,agent:t,model:n,onChange:r,onClose:o}){const{rows:s,shown:a}=S.useMemo(()=>dq(e,t,n),[e,t,n]);if(s.length===0)return null;const l=s.find(h=>h.id===a),u=l?[l.prefix,l.label,l.suffix].filter(Boolean).join(" "):n;return d.jsx(Us,{value:a,options:s,onChange:h=>{const f=uq(h);r(f.agent,f.model)},onClose:o,className:"model-chip",hint:`${u} works on the new worktree; click to change`,placeholder:"which agent and model work on it"})}function pq(e){const t=[],n=new Map,r=new Map;for(const s of[...e].sort((a,l)=>a.at-l.at)){if(s.review){t.push({root:s,replies:[]});continue}const a=s.replyTo?n.get(s.replyTo):void 0;if(a){a.replies.push(s);continue}const l={root:s,replies:[]};n.set(s.id,l);const u=s.path??"";r.set(u,[...r.get(u)??[],l])}const o=[...r.entries()].sort(([s],[a])=>s.localeCompare(a)).map(([s,a])=>({path:s,threads:a.sort((l,u)=>(l.root.line??0)-(u.root.line??0))}));return{reviews:t,files:o}}const Tv=e=>e.line===void 0?null:e.startLine!==void 0?`${e.startLine}-${e.line}`:String(e.line);function ZA(e){return e==="changes_requested"?"requested changes":e==="approved"?"approved":"reviewed"}const HE=e=>e.split(`
|
|
257
|
+
`).map(t=>t?`> ${t}`:">").join(`
|
|
258
|
+
`);function mq({root:e,replies:t}){const n=Tv(e),r=e.path?`${e.path}${n?` ${e.startLine===void 0?"line":"lines"} ${n}`:""}`:null,s=[`${e.review?`${e.author} ${e.review==="changes_requested"?"requested changes on":ZA(e.review)} the pull request`:r?`${e.author} commented on ${r} in the pull request`:`${e.author} commented on the pull request`}, ${e.url}`];e.body&&s.push(HE(e.body));for(const a of t)s.push(`${a.author} replied:
|
|
259
|
+
${HE(a.body)}`);return s.join(`
|
|
260
|
+
|
|
261
|
+
`)}function gq({root:e}){if(!e.path)return`review from ${e.author}`;const t=e.path.slice(e.path.lastIndexOf("/")+1),n=Tv(e);return`${t}${n?` (${n})`:""} from ${e.author}`}function GA(e,t){const n=t.length===0?"":t.length<=2?` from ${t.join(" and ")}`:` from ${t[0]} and ${t.length-1} others`;return{count:`${e} ${e===1?"comment":"comments"}`,rest:n}}function al(e,t,n){if(!t)return e;const r=new Set(t.map(a=>a-n)),o=[];let s="";for(let a=0;a<e.length;a++)r.has(a)?(s&&o.push(s),s="",o.push(d.jsx("b",{className:"hit",children:e[a]},a))):s+=e[a];return s&&o.push(s),o}function kq({c:e,query:t}){const n=t.trim();return d.jsxs(d.Fragment,{children:[d.jsxs("span",{className:"picker-name",children:["/",al(e.name,n?Qy(e.name,n):null,0)]}),d.jsx("span",{className:"picker-desc row-dim",children:e.description})]})}function An({label:e,hint:t,current:n=!1}){return d.jsxs(d.Fragment,{children:[n&&d.jsx("span",{className:"row-current","aria-hidden":"true"}),d.jsx("span",{className:"picker-label",children:e}),t?d.jsx("span",{className:"picker-hint row-dim",children:t}):null]})}function wq(e,t,{sock:n}){return[{id:`forget-visit:${t}`,label:"remove from this list",onClick:()=>n==null?void 0:n.send({t:"forget-visit",repoId:e,path:t})}]}const yq=/ \| | - | \u2013 | \u2014 | \u00b7 |: /,vq=/^(\d+|[0-9a-f]{8}-[0-9a-f-]{27}|[0-9a-f]{12,})$/i,bq=/^[[:$*{]|\[/;function xq(e){const t=new Map,n=e.filter(s=>!!s.title);if(new Set(n.map(s=>s.path)).size<2)return t;const r=n.map(s=>({path:s.path,parts:s.title.split(yq).map(a=>a.trim()).filter(Boolean)})),o=new Map;for(const{path:s,parts:a}of r)for(const l of a)o.set(l,(o.get(l)??new Set).add(s));for(const{path:s,parts:a}of r){const l=a.filter(u=>{var h;return(((h=o.get(u))==null?void 0:h.size)??0)<2});l.length>0&&t.set(s,l.join(" "))}return t}function jv(e){const t=e.replace(/\?[^#]*/,"").split(/[/#]/).filter(Boolean);for(let n=t.length-1;n>=0;n--){let r=t[n];try{r=decodeURIComponent(r)}catch{}if(vq.test(r)||bq.test(r))continue;const o=r.replace(/[-_.]+/g," ").trim();if(o)return o[0].toUpperCase()+o.slice(1)}return"Home"}const Jg=8,Eq=3,Sq=50,_q=3;function Nq(e,t,n=[]){const r=new Map,o=[],s=new Map;for(const a of(t==null?void 0:t.routes)??[]){if(a.endpoint)continue;const l=a.dynamic?f4(a.path):null;l?(o.push(l),s.set(a.path,a)):r.set(a.path,a)}return{history:e,statics:r,templates:o,templateRoutes:s,unseen:(t==null?void 0:t.unseen)??{},titles:xq(e),links:new Map(n.map(a=>[a.path,a.text]))}}function Tq(e){if(!e)return"/";try{const t=new URL(e);return t.pathname+t.search+t.hash}catch{return"/"}}function jq(e){const t=e.trim();return/^[/?#]/.test(t)?t:`/${t}`}function $q(e,t){const n=/^[/?#]/.test(t)?e:e.replace(/^\//,"");return t&&n.toLowerCase().startsWith(t.toLowerCase())?n:null}const VA=e=>/^\[\[?\.\.\.|^\*$|^\$$/.test(e),mu=e=>VA(e)||/[[:$*{]/.test(e)&&!/^[^[{:$*]+\?$/.test(e),Aq=e=>lp(`/${e}`).text.slice(1),$v=e=>e.split("/").filter(Boolean);function Av(e,t){const n=t.startsWith("/"),r=t.replace(/^\//,"").split("/"),o=$v(e);let s="";const a=[],l=p=>{const g=Aq(p);a.push([s.length,s.length+g.length]),s+=g};for(let p=0;p<r.length;p++){const g=r[p],y=o[p];if(y===void 0)return null;if(p<r.length-1){if(VA(y))return{show:t,accept:t};if(mu(y)){if(!g)return null}else if(g.toLowerCase()!==y.toLowerCase())return null;s+=`${mu(y)?g:y}/`;continue}if(mu(y))g?s+=g:l(y);else{if(!y.toLowerCase().startsWith(g.toLowerCase()))return null;s+=y}}for(const p of o.slice(r.length))s+="/",mu(p)?l(p):s+=p;const u=n?1:0,h=(n?"/":"")+s,f=a[0];return{show:h,accept:f?h.slice(0,f[0]+u):h,params:a.map(([p,g])=>[p+u,g+u])}}function Cq(e,t){const n=Av(e,t);return n?n.accept.length>t.length?n.accept:t:lp(e).literal}function YA(e,t){if(e.kind==="go")return null;if(e.template){const n=Av(e.path,t);return n&&n.show.length>t.length?n:null}return $q(e.path,t)}const Iq=e=>e.trim().replace(/^\//,"").toLowerCase();function XA(e,t){for(let n=0;n<e.length;n++)if("/-_.#".includes(e[n])&&e.startsWith(t,n+1))return!0;return!1}function Rq(e,t,n){const r=e.replace(/^\//,"").toLowerCase(),o=t.toLowerCase();return r===n?100:r.startsWith(n)?80:XA(r,n)?60:o.startsWith(n)?50:o.split(/\s+/).some(s=>s.startsWith(n))?45:r.includes(n)||o.includes(n)?20:0}function Oq(e,t){const{text:n,literal:r}=lp(e);return r.replace(/^\//,"").toLowerCase().startsWith(t)?80:Av(e,t)?70:XA(n.replace(/^\//,"").toLowerCase(),t)?60:0}function Mq(e,t){const n=$v(e).findIndex(mu);return n>=0&&t.split("/").length>n}function Eu(e,t,n){var l;const r=e.statics.get(t),o=r?null:h4(e.templates,t),s=(r==null?void 0:r.file)??(o?(l=e.templateRoutes.get(o.path))==null?void 0:l.file:void 0),a=s?e.unseen[s]:void 0;return{kind:"page",path:t,title:e.titles.get(t)||e.links.get(t)||jv(t),template:!1,visited:n<Number.POSITIVE_INFINITY,...s?{file:s}:{},...a?{badge:a}:{},rank:n,group:(o==null?void 0:o.path)??t,score:0}}function QA(e,t){const n=e.unseen[t.file];return{kind:"page",path:t.path,title:jv(t.path),template:!0,visited:!1,file:t.file,...n?{badge:n}:{},rank:Number.POSITIVE_INFINITY,group:t.path,score:0}}function oh({rank:e,group:t,score:n,...r}){return r}const Rh=e=>$v(e).length,Oh=e=>e.badge==="new"?0:e.badge==="changed"?1:2;function Lq(e,t){const n=new Set,r=[];e.history.forEach((f,p)=>{if(f.path===t)return;const g=Eu(e,f.path,p);n.has(g.group)||(n.add(g.group),r.push(g))});const o=new Set(r.map(f=>f.path)),s=r.filter(f=>f.badge);for(const[f,p]of e.statics)e.unseen[p.file]&&f!==t&&!o.has(f)&&s.push(Eu(e,f,Number.POSITIVE_INFINITY));for(const f of e.templateRoutes.values())e.unseen[f.file]&&!n.has(f.path)&&s.push(QA(e,f));s.sort((f,p)=>Oh(f)-Oh(p)||f.rank-p.rank);const a=r.filter(f=>!f.badge),l=s.slice(0,Jg-Math.min(Eq,a.length));for(const f of a)l.length<Jg&&l.push(f);const u=new Set(l.map(f=>f.path)),h=[...e.statics.keys(),...[...e.links.keys()].filter(f=>!e.statics.has(f))].filter(f=>f!==t&&!u.has(f)&&!o.has(f)).sort((f,p)=>Rh(f)-Rh(p)||(f<p?-1:f>p?1:0));for(const f of h){if(l.length>=Jg)break;l.push(Eu(e,f,Number.POSITIVE_INFINITY))}return l.map(oh)}function Pq(e,t,n){const r=Iq(t),o=jq(t),s=new Map;e.history.forEach((y,v)=>{y.path!==n&&s.set(y.path,Eu(e,y.path,v))});for(const y of[...e.statics.keys(),...e.links.keys()])y!==n&&!s.has(y)&&s.set(y,Eu(e,y,Number.POSITIVE_INFINITY));const a=[];for(const y of s.values()){const v=Rq(y.path,y.title,r);v>0&&a.push({...y,score:v})}let l=null;for(const y of e.templates){const v=e.templateRoutes.get(y.path);if(!l&&!e.statics.has(o)&&y.re.test(o)){l=v;continue}const w=Oq(y.path,r);w>=60&&a.push({...QA(e,v),score:w})}a.sort((y,v)=>v.score-y.score||y.rank-v.rank||Oh(y)-Oh(v)||Rh(y.path)-Rh(v.path)||(y.path<v.path?-1:y.path>v.path?1:0));const u=new Map,h=[];for(const y of a){if(!y.template&&y.group!==y.path){const v=u.get(y.group)??0;if(v>=_q&&!Mq(y.group,r))continue;u.set(y.group,v+1)}if(h.push(y),h.length>=Sq)break}if(h.some(y=>y.score===100))return h.map(oh);const f={kind:"go",path:o,...l?{title:jv(l.path)}:{}},p=h[0];return!l&&p!==void 0&&p.score>=80&&Dq(p.path,r)?[...h.map(oh),f]:[f,...h.map(oh)]}function Dq(e,t){const n=e.replace(/^\//,"").toLowerCase().slice(t.length);return!t.endsWith("/")&&n.length>0&&!/^[/?#]/.test(n)}function JA(e,{query:t,current:n,here:r}){return t===n||t.trim()===""?Lq(e,r):Pq(e,t,r)}const zq=[],Fq=[];function eC(e,t){const n=D(s=>(t?s.visits[t]:void 0)??zq),r=Ft(e,"pages"),o=Ft(e,"links");return ot([e],()=>{TN(r)&&cn.post(e,{type:"links"})}),S.useMemo(()=>Nq(n,r,o),[n,r,o])}function Bq({row:e}){if(e.kind!=="page"||!e.template)return d.jsx("span",{className:"bar-route-path row-dim",children:e.path});const{text:t,params:n}=lp(e.path),r=[];let o=0;for(const[s,a]of n)s>o&&r.push(t.slice(o,s)),r.push(d.jsx("span",{className:"bar-route-param",children:t.slice(s,a)},s)),o=a;return o<t.length&&r.push(t.slice(o)),d.jsx("span",{className:"bar-route-path row-dim",children:r})}function tC({row:e}){return e.kind==="go"?d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"picker-label",children:e.path}),e.title?d.jsx("span",{className:"bar-route-path row-dim",children:e.title}):null,d.jsx("span",{className:"picker-hint row-dim",children:"as typed"})]}):d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"picker-label",children:e.title}),d.jsx(Bq,{row:e}),e.badge?d.jsx("span",{className:e.badge==="new"?"badge-new":"badge-changed",children:e.badge}):null]})}const nC=e=>e.kind==="page"&&e.file?e.file:e.path,rC=(e,t)=>e.kind==="page"&&e.template?Cq(e.path,t):null;function oC(e,t,n){return e.kind!=="page"?[]:bp([...e.file&&t.dir?Ws({id:t.worktreeId,dir:t.dir},e.file,{},n):[],NT,...e.visited?wq(t.repoId,e.path,n):[]])}function Uq({worktreeId:e,repoId:t,url:n,open:r}){const o=dt(),s=Qe(),a=D(v=>{const w=Xt(v,e);return w?w.worktree.path:null}),l=eC(e,t),u=Tq(n),h=n?cp(n):null,f=S.useCallback((v,w)=>JA(l,{query:w,current:u,here:h}),[l,u,h]),p=S.useCallback(v=>v===u||v.trim()==="",[u]),g=()=>o({a:"close"}),y=S.useMemo(()=>({open:r,onOpen:()=>o({a:"open",overlay:{kind:"routes"}}),id:"routes",className:"bar-path",attrs:Ot("Go to a page",qt("routes"))}),[r,o]);return d.jsx(Gr,{anchored:{matchWidth:0,cover:!1,offset:-1},field:y,items:Fq,filter:f,initialQuery:u,selectOnMount:!0,idleWhen:p,onIdlePick:v=>{v.trim()===""?cn.post(e,{type:"navigate",path:"/"}):cn.post(e,{type:"reload"}),g()},keyOf:v=>`${v.kind}:${v.path}`,rowClass:()=>"picker-row",rowTitle:nC,completionOf:(v,w)=>p(w)?null:YA(v,w),narrowTo:rC,onPick:v=>{cn.post(e,{type:"navigate",path:v.path}),g()},onBack:g,rowMenu:v=>oC(v,{worktreeId:e,repoId:t,dir:a},{sock:s,dispatch:o}),placeholder:"type a path",empty:"no pages yet; type a path",row:v=>d.jsx(tC,{row:v})})}function sC(e,t){const n=t.trim();return d.jsx(An,{label:al(e.label,n?Qy(e.label,n):null,0),hint:e.hint&&d.jsx(ss,{k:e.hint})})}function iC({anchored:e,trailing:t}){const n=dt(),r=r$(),o=D(s=>{var a;return((a=s.paletteReturn)==null?void 0:a.mode)==="commands"?s.paletteReturn.q:""});return d.jsx(Gr,{anchored:e,trailing:t,items:r,filter:o$,rowClass:()=>"picker-row",keyOf:s=>s.id,onPick:(s,a)=>{s.sub?n({a:"palette-return",v:{mode:"commands",q:a}}):n({a:"close"}),s.run()},onBack:()=>n({a:"close"}),placeholder:"run a command…",initialQuery:o,empty:"no matching command",row:(s,a,l)=>sC(s,l)})}function aC(e,t){const n=new Map(t.map(a=>[a.path,a])),r=t.filter(a=>a.xy==="??"&&a.path.endsWith("/")).map(a=>a.path),o=e.map(a=>{const l=n.get(a)??(r.some(u=>a.startsWith(u))?{path:a,xy:"??"}:void 0);return l?{path:a,status:l}:{path:a}}),s=new Set(e);for(const a of t)!s.has(a.path)&&!a.path.endsWith("/")&&o.push({path:a.path,status:a});return o}function WE(e,t){const n=e.split("/"),r=t.split("/");for(let o=0;;o++){const s=n[o],a=r[o];if(s===void 0||a===void 0)return n.length-r.length;const l=o===n.length-1,u=o===r.length-1;if(l!==u)return l?-1:1;if(s!==a)return s<a?-1:1}}function cC(e,t,n,r=50){const o=aC(e,t),s=n.trim().toLowerCase();if(!s){const l=new Map(t.map((p,g)=>[p.path,g])),u=p=>{var g;return l.get(((g=p.status)==null?void 0:g.path)??"")??l.get(p.path)??Number.MAX_SAFE_INTEGER},h=o.filter(p=>p.status).sort((p,g)=>u(p)-u(g)||WE(p.path,g.path)),f=o.filter(p=>!p.status).sort((p,g)=>WE(p.path,g.path));return{rows:[...h,...f].slice(0,r),changed:Math.min(h.length,r)}}const a=uC(o,s);return a.sort((l,u)=>u.score-l.score||l.row.path.localeCompare(u.row.path)),{rows:a.slice(0,r).map(l=>l.row),changed:0}}function lC(e,t){const n=e.toLowerCase(),r=KE(n,t);return r<=0?0:KE(n.slice(n.lastIndexOf("/")+1),t)>0?r+10:r}function uC(e,t){const n=[];for(const r of e){const o=lC(r.path,t);o>0&&n.push({row:r,score:r.status?o+4:o})}return n}function Hq(e,t,n,r,o){const s=r.trim().toLowerCase();if(!s)return cC(e,n,r,o).rows.map(u=>({kind:"file",path:u.path,status:u.status}));const a=uC(aC(e,n),s).map(({row:u,score:h})=>({row:{kind:"file",path:u.path,status:u.status},score:h}));for(const u of t){const h=lC(u,s);h>0&&a.push({row:{kind:"folder",path:u},score:h})}const l=u=>u.kind==="folder"?1:0;return a.sort((u,h)=>h.score-u.score||l(u.row)-l(h.row)||u.row.path.localeCompare(h.row.path)),a.slice(0,o).map(u=>u.row)}function Wq(e,t){const n=e.toLowerCase(),r=[];let o=0;for(const s of t.toLowerCase()){const a=n.indexOf(s,o);if(a===-1)return null;r.push(a),o=a+1}return r}function KE(e,t){let n=0,r=0,o=0;for(const s of t){const a=e.indexOf(s,r);if(a===-1)return 0;o=a===r?o+1:1,n+=o+(a===0||e[a-1]==="/"||e[a-1]==="."?3:0),r=a+1}return n+Math.max(0,40-e.length/4)}function Kq(e){const t=e.lastIndexOf("/");return t===-1?[e,""]:[e.slice(t+1),e.slice(0,t+1)]}const qE=[],qq=[],Zq=[];function Gq({worktreeId:e}){var x;const t=dt(),n=Qe(),r=Pn(),o=D(N=>N.connected);ot([e,o,n],()=>xp(e,r.getState(),{sock:n,dispatch:t}));const s=gT(e),a=s.files??qq,l=((x=s.git)==null?void 0:x.files)??Zq,u=r$(),h=D(N=>{var E;return((E=N.paletteReturn)==null?void 0:E.mode)==="quick-open"?N.paletteReturn.q:""}),f=D(N=>{var T;const E=(T=Xt(N,e))==null?void 0:T.worktree;return E?E.path:null}),p=D(N=>{var E;return((E=Xt(N,e))==null?void 0:E.repoId)??null}),g=D(N=>{var E;return((E=Iu(N))==null?void 0:E.worktreeId)===e}),y=eC(e,p),v=s.page.url?cp(s.page.url):null,w=S.useCallback((N,E)=>E.startsWith(">")?o$(u,E.slice(1)).map(T=>({kind:"cmd",c:T})):E.startsWith("/")?g?JA(y,{query:E,current:"/",here:v}).map(T=>({kind:"page",page:T})):qE:cC(a,l,E).rows.map(T=>({kind:"file",path:T.path,status:T.status})),[u,a,l,g,y,v]);return d.jsx(Gr,{items:qE,filter:w,keyOf:N=>N.kind==="cmd"?`c:${N.c.id}`:N.kind==="page"?`p:${N.page.kind}:${N.page.path}`:`f:${N.path}`,rowClass:N=>N.kind==="file"?"qo-file":"picker-row",rowTitle:N=>N.kind==="page"?nC(N.page):void 0,completionOf:(N,E)=>N.kind==="page"?YA(N.page,E):null,narrowTo:(N,E)=>N.kind==="page"?rC(N.page,E):null,onPick:(N,E)=>{N.kind==="cmd"?(N.c.sub?t({a:"palette-return",v:{mode:"quick-open",q:E}}):t({a:"close"}),N.c.run()):N.kind==="page"?(cn.post(e,{type:"navigate",path:N.page.path}),t({a:"close"})):(Cn({dispatch:t},{worktreeId:e,path:N.path,view:Hi(N.path)}),t({a:"close"}))},onBack:()=>t({a:"close"}),rowMenu:N=>N.kind==="file"&&f?Ws({id:e,dir:f},N.path,{},{sock:n,dispatch:t}):N.kind==="page"&&p?oC(N.page,{worktreeId:e,repoId:p,dir:f},{sock:n,dispatch:t}):[],placeholder:"jump to file · type > for commands, / for pages",initialQuery:h,empty:N=>N.startsWith(">")?"no matching command":N.startsWith("/")?g?"no pages yet; type a path":"no preview running":"no matches",row:(N,E,T)=>N.kind==="cmd"?sC(N.c,T.slice(1)):N.kind==="page"?d.jsx(tC,{row:N.page}):pw(N.path,N.status,T,{gutter:l.length>0})})}function pw(e,t,n,{folder:r=!1,gutter:o=!0}={}){const[s,a]=Kq(e),l=n.trim()?Wq(e,n.trim()):null;return d.jsxs(d.Fragment,{children:[o&&d.jsx("span",{className:`xy ${t?cy(t.xy):""}`,children:t?ly(t.xy):""}),d.jsxs("span",{className:"name",children:[al(s,l,a.length),r&&"/"]}),d.jsx("span",{className:"dir row-dim",children:a&&d.jsxs(d.Fragment,{children:["",al(a,l,0),""]})}),t&&d.jsx(Fj,{f:t})]})}function Vq(e,t,n){var a;if(!e)return null;if(e.available)return e.checkFailed?{kind:"unready",text:e.checkFailed,retry:null}:((a=e.auth)==null?void 0:a.kind)==="none"?{kind:"unready",text:e.loginHint??`${e.name} is not logged in`,retry:null}:typeof e.install=="object"&&e.install.held&&e.install.behind?{kind:"unready",text:`${e.name} ${e.install.behind.pinned} is held back on this machine`,retry:Gu(e)}:null;const r=n?t.find(l=>l.available&&l.id!==e.id):void 0,o=r?{other:r}:{};return e.installing?{kind:"installing",text:`${e.name} is installing`,retry:null,...o}:{kind:"failed",text:typeof e.install=="object"?`${e.name} did not install: ${e.install.failed}`:`${e.name} is not ready: ${Wp(e)}`,retry:Gu(e),...o}}function Hs({icon:e,verb:t,tip:n,onPress:r,busy:o,onDismiss:s,className:a,children:l}){return d.jsxs("div",{className:We("composer-offer",a),children:[d.jsx(Tt,{name:e,className:"icon-inline"}),d.jsxs("span",{className:We("composer-offer-line",o&&"live-text"),children:[t&&d.jsxs(d.Fragment,{children:[d.jsx(Le,{variant:"word",tone:"strong","data-tip":n,onClick:r,children:t})," "]}),l]}),s&&d.jsx(Dt,{icon:"close",tone:"quiet",className:"composer-offer-close",label:"Not this one",onClick:s})]})}function dC({item:e,n:t,onRemove:n}){const r=Lr();return e.kind==="image"?d.jsx(Bp,{src:e.local??r.upload(e.upload),n:t,name:e.name,width:e.width,height:e.height,bytes:e.bytes,uploading:e.uploading,progress:e.progress,onRemove:n}):e.kind==="file"?d.jsx(zp,{name:e.name,bytes:e.bytes,href:e.text&&e.upload?r.upload(e.upload):void 0,uploading:e.uploading,progress:e.progress,onRemove:n}):d.jsx(Dp,{n:t,name:e.name,source:e.source,lines:e.lines,chars:e.chars,preview:e.preview,text:e.text,onRemove:n})}function fC({children:e}){return d.jsx("code",{className:"composer-offer-whole",children:e})}function Yq({children:e}){var n;if(!e.includes("://"))return d.jsx(fC,{children:e});const t=[];for(const r of e.split(" ")){const o=t.length-1;r.includes("://")||o<0||(n=t[o])!=null&&n.includes("://")?t.push(r):t[o]=`${t[o]} ${r}`}return d.jsx("code",{children:t.map((r,o)=>d.jsxs(S.Fragment,{children:[o>0&&" ",r.includes("://")?r.split(new RegExp("(?=\\/)(?<![:/])")).map((s,a)=>d.jsxs(S.Fragment,{children:[a>0&&d.jsx("wbr",{}),d.jsx("span",{className:"composer-offer-whole",children:s})]},a)):d.jsx("span",{className:"composer-offer-whole",children:r})]},o))})}function Xq({offer:e,onInstall:t,onDismiss:n}){if(e.state==="installing")return d.jsx(Hs,{icon:"download",busy:!0,children:"Installing Toyon with npm"});if(e.state==="installed")return d.jsxs(Hs,{icon:"check",className:"composer-offer-long",onDismiss:n,children:["Toyon is installed. In a new terminal, ",d.jsx(fC,{children:"toyon restart"})," moves onto it."]});if(e.state==="failed"){const r=QK(e);return d.jsxs(Hs,{icon:"download",verb:"try again",tip:"Run the install again",className:"composer-offer-long",onPress:t,onDismiss:n,children:[r.why,"."," ",r.permissions&&d.jsxs(d.Fragment,{children:[d.jsx("a",{href:XK,target:"_blank",rel:"noreferrer",children:"npm's guide"})," ","covers this error."," "]}),"By hand: ",d.jsx(Yq,{children:r.command})]})}return d.jsx(Hs,{icon:"download",verb:"install",tip:"Toyon started with npx does not update itself and leaves no toyon command. This runs npm install -g toyon.",onPress:t,onDismiss:n,children:"Toyon for good, so it updates itself"})}function hC(e){return gu(e.key)&&(e.metaKey||e.ctrlKey)&&!e.altKey?!1:e.metaKey||e.ctrlKey||e.altKey}const pC=e=>e.length===1&&e>="1"&&e<="9",gu=e=>e==="Enter"||e==="NumpadEnter";function Qq(e,t,n){const r=gu(e.key)&&(e.metaKey||e.ctrlKey);return t?e.key==="Escape"||e.key==="Tab"&&!e.shiftKey?{kind:"field-leave"}:r?{kind:"submit"}:gu(e.key)&&!e.shiftKey?{kind:"field-enter"}:{kind:"typing"}:hC(e)?{kind:"chord"}:e.key==="Escape"?{kind:"escape"}:r?{kind:"submit"}:gu(e.key)||e.key===" "&&n.spacePicks?n.cursor===void 0?{kind:"submit"}:{kind:"pick",at:n.cursor,by:gu(e.key)?"enter":"space"}:e.key==="ArrowUp"||e.key==="ArrowDown"?n.cursor===void 0?null:{kind:"cursor",to:sd(n.cursor,e.key==="ArrowUp"?-1:1,n.count)}:pC(e.key)&&Number(e.key)<=n.count?{kind:"pick",at:Number(e.key)-1,by:"digit"}:null}function Cv(e,t){var o,s,a,l;const n=e.target instanceof HTMLTextAreaElement,r=Qq(e,n,t);if(!r)return!1;switch(r.kind){case"chord":case"typing":return!0;case"escape":case"field-leave":return e.preventDefault(),e.stopPropagation(),(o=r.kind==="escape"?t.onEscape:t.onFieldLeave)==null||o(),!0;case"submit":return e.preventDefault(),t.onSubmit?t.onSubmit():n?(s=t.onFieldEnter)==null||s.call(t):t.cursor!==void 0&&t.onPick(t.cursor,"enter"),!0;case"pick":return e.preventDefault(),t.onPick(r.at,r.by),!0;case"cursor":return e.preventDefault(),(a=t.onCursor)==null||a.call(t,r.to),!0;case"field-enter":return e.preventDefault(),(l=t.onFieldEnter)==null||l.call(t),!0}}function mC(e){return!e||e===document.body?!1:e.closest(".monaco-editor, .xterm")?!0:(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&!e.closest(".chat-input")}function Jq(e,t){ot([t],()=>{const o=requestAnimationFrame(()=>{var s;mC(document.activeElement)||(s=e.current)==null||s.focus()});return()=>cancelAnimationFrame(o)});const n=S.useRef(!1),r=S.useCallback(()=>{requestAnimationFrame(()=>{var o;document.activeElement===document.body&&((o=e.current)==null||o.focus())})},[e]);return S.useEffect(()=>{const o=()=>{n.current=!0},s=()=>{n.current=!1,r()};return window.addEventListener("pointerdown",o,!0),window.addEventListener("pointerup",s,!0),window.addEventListener("pointercancel",s,!0),()=>{window.removeEventListener("pointerdown",o,!0),window.removeEventListener("pointerup",s,!0),window.removeEventListener("pointercancel",s,!0)}},[r]),o=>{!o.relatedTarget&&!n.current&&r()}}function Mh(e){var n,r;const t=document.activeElement;mC(t)||t&&((n=e.current)!=null&&n.contains(t))||(r=e.current)==null||r.focus({preventScroll:!0})}function Lh({root:e,id:t,onKeyDown:n,onKeyUp:r,onPaste:o,children:s}){const a=Jq(e,t);return d.jsx("div",{ref:e,className:"card",tabIndex:-1,onKeyDown:n,onKeyUp:r,onPaste:o,onBlur:a,children:s})}function Vu({children:e,sub:t}){return d.jsxs("div",{className:"card-head",children:[d.jsx("div",{className:"card-text",children:e}),t&&d.jsx("div",{className:"card-sub",children:t})]})}function mw(e){const t=S.useRef(null),n=Ev(t);return"html"in e?d.jsxs("div",{ref:t,className:"card-band md",children:[d.jsx("div",{onClick:Ay,dangerouslySetInnerHTML:{__html:e.html}}),n]}):d.jsxs("div",{ref:t,className:"card-band card-code",children:[d.jsx("pre",{children:e.code}),n]})}function eZ({children:e}){return d.jsx("div",{className:"card-foot",children:e})}function tZ(e){const t=e.findIndex(n=>n.kind.startsWith("reject"));return t<0?null:t}function gC(e){const{key:t}=e;return t.length!==1||t===" "||t==="n"||pC(t)||hC(e)?null:t}const nZ=[{selected:[]}];function rZ({item:e,worktreeId:t,rootRef:n}){var J,F;const r=Qe(),o=dt(),s=Ft(t,"card"),a=D(O=>{var W;return(W=Xt(O,t))==null?void 0:W.worktree.mode})??e.mode,l=a==="plan"?"auto":a,u=(s==null?void 0:s.id)===e.id?s.draft:nZ,h=(J=u[0])==null?void 0:J.note,f=h!==void 0,p=f?Number(((F=u[0])==null?void 0:F.selected[0])??0):-1,g=O=>o({a:"card-draft",id:t,card:{id:e.id,draft:O,current:0}}),y=S.useRef(null),[v,w]=S.useState(0),[x,N]=S.useState(null),E=x!==null,T=e.pieces.length===1?e.pieces[0]:void 0,j=e.plan,A=()=>{j&&Cn({dispatch:o},{worktreeId:t,path:j,view:"preview"})},I=D(O=>O.activeId),$=D(O=>O.frame==="phone");ot([e.id,j],()=>{j&&!T&&I===t&&!$&&Cn({dispatch:o},{worktreeId:t,path:j,view:"preview",focus:!1})});const C=S.useMemo(()=>T?Pa(T.plan):"",[T]),L=S.useMemo(()=>T?UT(e,T):BF,[e,T]),P=O=>{if(E||!r)return;const W=L[O];W&&(W.fate===null?r.send(o1(e,t,!1,h)):(T&&W.fate!==Qs(e,T)&&r.send(HT(e,t,T.id,W.fate)),r.send(o1(e,t,!0,h)),N(O)),o({a:"answered",id:t}))},B=(O,W)=>{E||!L[O]||(g([{selected:[String(O)],note:W}]),w(O),requestAnimationFrame(()=>{const ie=y.current;ie&&(ie.focus(),ie.setSelectionRange(ie.value.length,ie.value.length))}))},q=()=>o({a:"card-park",id:t,cardId:e.id}),ne=()=>{var W;const O=du(u,0);O!==u&&g(O),(W=n.current)==null||W.focus()},Q=O=>{if(Cv(O,{count:L.length,cursor:v,onCursor:w,onPick:P,onEscape:q,onFieldEnter:()=>P(p),onFieldLeave:ne}))return;if(O.key==="n"){O.preventDefault(),B(v,h??"");return}const W=gC(O);if(W!==null){if(O.preventDefault(),W==="r"&&j&&!T&&!f)return A();B(f?p:UF(L)??v,(h??"")+W)}},le=L.map((O,W)=>({label:O.label,...x===W?{description:"starting"}:O.description?{description:O.description}:{},hint:{k:"n",label:"add context",icon:"edit",on:!f},tone:O.fate===null?"deny":void 0,checked:f&&W===p,field:f&&W===p?{ref:y,value:h??"",placeholder:HF(O,!!T),enterKeyHint:"send",onChange:ie=>g([{selected:[String(p)],note:ie}]),onSend:()=>P(p)}:void 0,disabled:E}));if(T)return d.jsxs(Lh,{root:n,id:e.id,onKeyDown:Q,children:[d.jsx(Vu,{sub:d.jsxs(d.Fragment,{children:[T.project?`Starts a worktree in ${T.project.name}, in ${l} mode${l==="auto"?", which runs without asking":""}, with this as its plan. `:"","Nothing has started yet."]}),children:Lk(e)}),d.jsx(mw,{html:C}),d.jsx(sl,{rows:le,cursor:v,onCursor:O=>{w(O),Mh(n)},onPick:P,onHint:O=>B(O,h??"")})]});const te=Ly(e),Z=te.worktrees+te.queued>0,R=j?d.jsx(Le,{variant:"inline","data-tip":"Open it beside the box; any row can still be moved (r)",onClick:()=>A(),children:"The list is on its page"}):"The list is the agent's";return d.jsxs(Lh,{root:n,id:e.id,onKeyDown:Q,children:[d.jsx(Vu,{sub:d.jsxs(d.Fragment,{children:[R,"."," ",Z?`New worktrees start in ${l} mode${l==="auto"?", which runs without asking":""}. `:"","Nothing has started yet."]}),children:Lk(e)}),d.jsx(sl,{rows:le,cursor:v,onCursor:O=>{w(O),Mh(n)},onPick:P,onHint:O=>B(O,h??"")})]})}function oZ(e,t){if(t.queued>0||t.sending||t.card)return null;const n=e.at(-1);if(!n)return null;if(n.kind==="stopped"||n.kind==="error"){if(n.seq===void 0)return null;const o=`${n.kind}:${n.seq}`;return t.dismissed.has(o)?null:n.kind==="stopped"?{verb:"continue",key:o,after:"stop"}:{verb:"continue",key:o,after:"error",...sZ(e)?{again:!0}:{}}}if(n.kind!=="tool"||!n.done||!n.fixable||t.dismissed.has(n.id)||e.some(o=>o.kind==="asked"&&o.toolId===n.id))return null;const r=xv(n);return r===null?null:{verb:"fix",key:n.id,toolId:n.id,command:r}}function sZ(e){const[t,n,r]=e.slice(-3);return(r==null?void 0:r.kind)==="error"&&(n==null?void 0:n.kind)==="asked"&&n.about==="failed"&&(t==null?void 0:t.kind)==="error"&&t.text===r.text}let gw=new Set;const kw=new Set;function iZ(e){return kw.add(e),()=>{kw.delete(e)}}function ZE(e){gw=new Set(gw).add(e);for(const t of kw)t()}function aZ(){return S.useSyncExternalStore(iZ,()=>gw)}const cZ=e=>qh.some(t=>t.id===e);function lZ(e){return[...qh.map(t=>({name:t.id,description:t.description,hint:"[<description>]"})),{name:"check",description:"run the repo's check here and write the recap and the commit message",hint:"[<note for the commit message>]"},{name:"land",description:e},{name:"archive",description:"archive this worktree once its work has landed"},{name:"handoff",description:"a new worktree for part of this work, here or in another project, born with a plan for it",hint:"[<project>] [<message>]"}]}function uZ(e,t,n){const r=e.trim();if(!r)return{pick:!0};const o=t.find(f=>f.id===n),s=r.search(/\s/),a=s===-1?r:r.slice(0,s),l=s===-1?void 0:r.slice(s).trim()||void 0,u=a.toLowerCase(),h=u==="here"?o:t.find(f=>f.name.toLowerCase()===u);return h?{repo:h,...l?{text:l}:{}}:o?{repo:o,text:r}:{pick:!0}}function kC(e,t){const n=new Set(e.map(o=>o.name)),r=t.filter(o=>!n.has(o.name));return{yours:r.filter(o=>o.origin),own:e,rest:r.filter(o=>!o.origin)}}function GE(e,t){const n=kC(e,t);return[...n.yours,...n.own,...n.rest]}function VE(e,t){const n=kC(e,t);return{rows:[...n.yours,...n.own],more:n.rest.length}}function dZ(e,t){var r;const n=/^\/(\S+) $/.exec(e);return n?((r=t.find(o=>o.name===n[1]))==null?void 0:r.hint)??null:null}function fZ(e,t){const n=/^\/(\S*)([\s\S]*)$/.exec(e);if(!n)return null;const r=n[1]??"";return t.some(o=>o.name===r)?{name:r,args:(n[2]??"").trim()}:null}function hZ(e,t){var r;const n=[];for(const o of e){const s=Xh((r=t==null?void 0:t[o])==null?void 0:r.at);!s||s.by==="hand"||(s.by==="agent"?n.push(`Running its own ${o} here now: the agent asked for it before changing the backend.`):n.push(`Running its own ${o} here now: this branch changed ${s.file??"it"}.`))}return n.length>0?n.join(" "):null}const YE=[{selected:[]}];function pZ({item:e,ask:t,worktreeId:n,rootRef:r}){var q;const o=Qe(),s=dt(),a=D(ne=>ne.activeId),l=Ft(n,"card"),u=(l==null?void 0:l.id)===e.id?l.draft:YE,h=(q=u[0])==null?void 0:q.note,f=h!==void 0,p=f?t.choices.findIndex(ne=>{var Q;return ne.id===((Q=u[0])==null?void 0:Q.selected[0])}):-1,g=S.useRef(null),[y,v]=S.useState(0),w=t.plan,x=S.useMemo(()=>t.detail&&!w?Pa(t.detail):"",[t.detail,w]),N=D(ne=>ne.frame==="phone"),E=()=>{w&&a===n&&!N&&Cn({dispatch:s},{worktreeId:n,path:w,view:"preview",focus:!1})};ot([e.id,w],E);const T=t.handoff,j=D(ne=>{var le;const Q=T?(le=Mr(ne,n).chat)==null?void 0:le.find(te=>te.kind==="handoff"&&te.id===T):null;return(Q==null?void 0:Q.kind)==="handoff"?Q:null}),A=ne=>s({a:"card-draft",id:n,card:{id:e.id,draft:ne,current:0}}),I=(ne,Q)=>{const le=t.choices[ne];le&&(A([{selected:[le.id],note:Q}]),v(ne),requestAnimationFrame(()=>{const te=g.current;te&&(te.focus(),te.setSelectionRange(te.value.length,te.value.length))}))},$=ne=>{const Q=t.choices[ne];if(!Q)return;const le=h==null?void 0:h.trim();o==null||o.send({t:"agent-decide",worktreeId:n,askId:e.id,choiceId:Q.id,...le?{note:le}:{}}),s({a:"answered",id:n})},C=()=>s({a:"card-park",id:n,cardId:e.id}),L=()=>{var ne;h!=null&&h.trim()||A(YE),(ne=r.current)==null||ne.focus()},P=ne=>{if(Cv(ne,{count:t.choices.length,cursor:y,onCursor:v,onPick:$,onEscape:C,onFieldEnter:()=>$(p),onFieldLeave:L}))return;if(ne.key==="n"){ne.preventDefault(),I(y,h??"");return}const Q=gC(ne);Q!==null&&(ne.preventDefault(),I(f?p:tZ(t.choices)??y,(h??"")+Q))},B=t.choices.map((ne,Q)=>{const le=ne.kind.startsWith("reject"),te=f&&Q===p;return{label:ne.name,tone:le?"deny":void 0,hint:{k:"n",label:"add context",icon:"edit",on:!f},checked:te,field:te?{ref:g,value:h,placeholder:le?"what to change, sent with your no":"a note for the work, sent with your yes",enterKeyHint:"send",onChange:Z=>A([{selected:[ne.id],note:Z}]),onSend:()=>$(p)}:void 0}});return d.jsxs(Lh,{root:r,id:e.id,onKeyDown:P,children:[d.jsx(Vu,{sub:j?d.jsxs(d.Fragment,{children:[FF(j,n)," ",d.jsx(Le,{variant:"inline","data-tip":"Read the list at the head of the plan; any row can still be moved",onClick:()=>w&&Cn({dispatch:s},{worktreeId:n,path:w,view:"preview"}),children:"The list is on the plan"}),"."]}):void 0,children:t.title}),t.command&&d.jsx(mw,{code:yA(t.command)}),x&&d.jsx(mw,{html:x}),d.jsx(sl,{rows:B,cursor:y,onCursor:ne=>{v(ne),Mh(r)},onPick:$,onHint:ne=>I(ne,h??"")})]})}function mZ({item:e,ask:t,worktreeId:n,rootRef:r,numbers:o,onAnswer:s}){const a=Qe(),l=dt(),u=Pn(),h=D(H=>H.clientId),{message:f,questions:p}=t,g=Hc(e.id),y=Ft(g,"attachments"),v=QT(g,n),w=Ft(n,"card"),x=S.useMemo(()=>(w==null?void 0:w.id)===e.id?w:{id:e.id,draft:Nz(p),current:0},[w,e.id,p]),{draft:N,current:E}=x,T=E===$a(p),j=p[E],A=N[E],I=!!(j!=null&&j.multi),[$,C]=S.useState(()=>Dc(j,A)),L=S.useRef(null);S.useEffect(()=>{const H=window.visualViewport;if(!H)return;const ae=()=>{L.current&&L.current===document.activeElement&&L.current.scrollIntoView({block:"nearest"})};return H.addEventListener("resize",ae),()=>H.removeEventListener("resize",ae)},[]);const P=(H,ae)=>l({a:"card-draft",id:n,card:{id:e.id,draft:H,current:ae}}),B=pT(),q=H=>{if(B)return;if(s){H&&s(H);return}const ae=H?y:[],X={t:"agent-answer",worktreeId:n,askId:e.id,...H?{answers:H}:{}};ae.some(Ui)?l({a:"hold-send",id:g,log:n,text:ry(p,H).join(`
|
|
262
|
+
`),frame:X}):(a==null||a.send({...X,...ae.length?{attachments:ae.map(Kc),boxId:g,clientId:h}:{}}),ae.length&&l({a:"clear-attachments",id:g})),l({a:"answered",id:n})},ne=()=>l(s?{a:"ask-revive",id:n}:{a:"card-park",id:n,cardId:e.id}),Q=()=>{Tg(p,N)&&q(N)},le=H=>{C(Dc(p[H],N[H])),P(N,H)},te=H=>{j!=null&&j.note&&(P(Rx(N,E,H,I),E),requestAnimationFrame(()=>{var ae;return(ae=L.current)==null?void 0:ae.focus()}))},Z=H=>{if(!(j!=null&&j.note))return;const ae=j.options[H];if(C(H),!ae||I)return te(!ae);P(Rx(Ix(N,E,ae.value,!1),E,!1,!1),E),requestAnimationFrame(()=>{var X;return(X=L.current)==null?void 0:X.focus()})},R=()=>Z($),J=H=>{const ae=Pz(p,H,E);C(ae.cursor),P(H,ae.current),ae.send&&Tg(p,H)&&q(H)},F=H=>{if(Ox(j,H))return C(H),te(!0);const ae=j==null?void 0:j.options[H];if(!j||!ae)return;const X=Ix(du(N,E),E,ae.value,I);if(I){C(H),P(X,E);return}J(X)},O=H=>{if(!I||Ox(j,H)||!pN(j,N[E]))return F(H);J(du(N,E))},W=()=>{var ae;const H=du(N,E);H!==N&&(P(H,E),C(Dc(j,H[E]))),(ae=r.current)==null||ae.focus()},ie=()=>{var ae;const H=du(N,E);if((ae=r.current)==null||ae.focus(),!Ma(H[E])){H!==N&&(P(H,E),C(Dc(j,H[E])));return}J(H)},he=H=>{if(v.onPasteKey(H),!Cv(H,{count:T?p.length:Tz(j),cursor:T?void 0:$,spacePicks:I,onCursor:C,onPick:(ae,X)=>T?le(ae):X==="enter"?O(ae):F(ae),onSubmit:Q,onEscape:ne,onFieldEnter:ie,onFieldLeave:W})){if(H.key==="ArrowLeft"||H.key==="ArrowRight"||H.key==="Tab"){H.preventDefault();const ae=H.key==="ArrowLeft"||H.key==="Tab"&&H.shiftKey;return le(Oz(E,ae?-1:1,Lz(p)))}if(H.key==="n"&&(j!=null&&j.note))return H.preventDefault(),R();if(H.key==="s"&&!s)return H.preventDefault(),q()}},ye=H=>p.length===1&&!H.multi,$e=(H,ae)=>d.jsxs(eZ,{children:[(!H||!ye(H))&&d.jsxs(Le,{variant:"outline",size:"md",disabled:B||!Tg(p,N),onClick:Q,children:[jz(p,H,ae)&&d.jsx(ss,{k:"enter",chip:!0}),"send"]}),(H==null?void 0:H.note)&&ae&&ae.selected.length>0&&ae.note===void 0&&d.jsxs(Le,{tone:"quiet",size:"md",onClick:()=>te(!1),children:[d.jsx(ss,{k:"n",chip:!0}),"add a note"]}),!s&&d.jsxs(Le,{tone:"quiet",size:"md",onClick:()=>q(),children:[d.jsx(ss,{k:"s",chip:!0}),"skip"]}),d.jsx(Dt,{className:"card-attach",icon:"attach",tone:"chrome",label:"Attach a picture or a file",onClick:()=>GT(u,g)})]}),Be=y.length>0&&d.jsx($p,{children:d.jsx("div",{className:"card-chips",children:Lw(y,o).map(([H,ae])=>{const X=()=>l({a:"detach",id:g,key:H.key});return H.kind==="pick"?null:d.jsx(dC,{item:H,n:ae,onRemove:X},H.key)})})}),Ne=(H,ae)=>{const X=ae===E,oe=N[ae],we=hN(oe,!!H.multi),Pe=Ke=>({ref:X?L:void 0,value:(oe==null?void 0:oe.note)??"",placeholder:Ke,enterKeyHint:$a(p)===-1?"send":"next",onChange:tt=>P(fN(N,ae,tt),ae),...$a(p)===-1?{onSend:ie}:{}}),Re=H.options.map(Ke=>{const tt=!!(oe!=null&&oe.selected.includes(Ke.value));return{label:d.jsxs(d.Fragment,{children:[oy(Ke.label),Dz(Ke.label)&&d.jsx("span",{className:"badge-recommended",children:"recommended"})]}),description:Ke.description,sample:Ke.preview,hint:H.note&&!H.multi?{k:"n",label:"add a note",icon:"edit",on:(oe==null?void 0:oe.note)===void 0}:void 0,checked:tt,field:tt&&!we&&(oe==null?void 0:oe.note)!==void 0?Pe("a note for the agent, sent with your pick"):void 0}});return H.note&&Re.push({label:H.note.label,description:we?void 0:"your own answer",checked:we,field:we?Pe("your own answer"):void 0}),d.jsxs("div",{className:We("card-page",!X&&"card-page-off"),children:[d.jsx(Vu,{children:H.text||f}),X&&Be,d.jsx(sl,{rows:Re,multi:!!H.multi,cursor:X?$:void 0,onCursor:Ke=>{C(Ke),Mh(r)},onPick:Ke=>{var tt;F(Ke),(tt=r.current)==null||tt.focus()},onHint:Z}),$e(H,oe)]},H.id)};return d.jsxs(Lh,{root:r,id:e.id,onKeyDown:he,onKeyUp:v.onPasteKeyUp,onPaste:v.onPaste,children:[p.length>1&&d.jsx("div",{className:"card-tabs",children:d.jsx(Qa,{label:"questions",owner:"ask",items:[...p.map((H,ae)=>({id:String(ae),label:H.header||`question ${ae+1}`,lead:d.jsx("span",{className:We("dot card-step",Ma(N[ae])&&"answered")})})),{id:String(p.length),label:"send",far:!0}],current:String(E),onPick:H=>{var ae;le(Number(H)),(ae=r.current)==null||ae.focus()}})}),d.jsxs("div",{className:"card-pages",children:[p.map(Ne),$a(p)!==-1&&d.jsxs("div",{className:We("card-page",!T&&"card-page-off"),children:[d.jsx(Vu,{children:"Send these answers?"}),T&&Be,d.jsx(sl,{hover:!0,rows:p.map((H,ae)=>{const X=Ma(N[ae])?gN(H,N[ae]):void 0;return{label:d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"row-dim",children:H.header||`question ${ae+1}`})," ",d.jsx("span",{className:We(!X&&"row-dim"),children:X?X.pick:"no answer yet"})]}),description:X==null?void 0:X.note}}),onPick:H=>{var ae;le(H),(ae=r.current)==null||ae.focus()}}),$e()]})]})]})}const gZ=oj("top"),kZ=5*6e4;function wC({usage:e,limits:t,auth:n,now:r}){const o=t?y9(t,r):[],s=o.length?d9(n):void 0,a=t&&r-t.at>kZ?fy(r-t.at):null,l=(e==null?void 0:e.cost)!==void 0?` · ${ad(e.cost)}`:"";return d.jsxs("div",{className:"usage-figures",children:[e&&d.jsx(XE,{name:"context",used:e.used/e.size,sub:`${N1(e.used)} of ${N1(e.size)}${l}`}),s&&d.jsx("div",{className:"usage-who section-title",children:s}),o.map(u=>d.jsx(XE,{name:u.name,used:u.used,sub:u.sub},u.key)),a&&d.jsxs("div",{className:"usage-stale hint",children:["read ",a," ago"]})]})}function wZ({onClose:e,...t}){return d.jsx(Js,{className:"usage-panel",anchor:"parent",placement:gZ,onDismiss:e,onKey:n=>{n.key==="Escape"&&(n.stopPropagation(),e())},children:d.jsx(wC,{...t})})}function XE({name:e,used:t,sub:n}){const r=Math.max(0,Math.min(1,t));return d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"usage-row",children:[d.jsx("span",{className:"usage-name",children:e}),d.jsx("span",{className:"meter",children:d.jsx("span",{className:"meter-fill",style:{"--meter":r}})}),d.jsxs("span",{className:"usage-fig",children:[Math.round(100*t),"%"]})]}),d.jsx("div",{className:"usage-sub hint",children:n})]})}function yC(e,t,n){const r=S.useRef(n);r.current=n,ot([e,t,n==null?void 0:n.id],()=>{if(!e||!t)return;const o=()=>{const s=r.current;s!=null&&s.available&&e.send({t:"agent-check",agent:s.id})};return o(),window.addEventListener("focus",o),()=>window.removeEventListener("focus",o)})}const QE="not answering; send once Toyon is back",JE=[],yZ=[],vZ=new Set(["ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"]),bZ=150,xZ=3,eS=e=>({kind:"cmd",c:e});function EZ(e,t,n){var r;return((r=n.find(o=>o.proposalId===e.proposalId&&o.pieceId===t))==null?void 0:r.title)??"another piece"}function SZ(e,t,n,r,o){return e==="command"?r?n===0?d.jsx("span",{className:"live-text",children:"starting the agent to see what it offers"}):"no matching command":"no session has run this agent yet, so it has offered no commands":o?"no worktree by that name; files can be named once this one runs here":t?"no matches":d.jsx("span",{className:"live-text",children:"listing files"})}function _Z(e){return e.kind==="cmd"?`/${e.c.name} `:e.kind==="folder"?`@${e.path}/ `:e.kind==="worktree"?`@${e.title} `:e.kind==="changes"?"@changes ":`@${e.path} `}function Su({active:e,draft:t,archived:n,found:r,project:o,greenfield:s,placement:a="dock"}){var Il,lc,Ad,Cd,$s,uc,di,dc,Rl,aa,As;const l=a==="screen",u=dt(),h=Qe(),f=Pn(),p=!!t,g=(e==null?void 0:e.worktree.id)??null,y=e==null?void 0:e.worktree.repoId,v=o?el:n?n.id:r?r.id:Ga(e),w=!!n||!!r,x=n?n.restorable:!!r&&!r.locked,N=Ft(v,"draft"),E=Ft(v,"attachments"),T=Ft(v,"notice"),j=Object.entries((e==null?void 0:e.worktree.sources)??{}).filter(([,U])=>Xh(U.at)).map(([U])=>U).join(","),A=S.useRef({id:g,owns:j});ot([g,j],()=>{const U=A.current;if(A.current={id:g,owns:j},U.id!==g||U.owns===j||!j||!v||n)return;const Ie=new Set(U.owns.split(",").filter(Boolean)),mt=hZ(j.split(",").filter(It=>!Ie.has(It)),e==null?void 0:e.worktree.sources);mt&&u({a:"notice",id:v,text:mt})});const I=Ft(v,"mark"),$=(I==null?void 0:I.by)==="walk"?I:void 0,C=Ft(g,"chat"),L=Ft(g,"queue"),P=S.useMemo(()=>g&&!p?Py(C):null,[g,p,C]),B=Ft(g,"cardParked"),q=Ft(g,"sending"),ne=S.useMemo(()=>g&&!p&&!q?dN(C):null,[g,p,q,C]),Q=Ft(g,"askRevived"),le=!P&&ne&&Q===ne.id?ne:null,te=P&&B!==P.id?P:le,Z=le?Hc(le.id):null,R=Ft(Z,"attachments"),J=P?B===P.id?P:null:ne&&!le?ne:null,F=S.useRef(null),O=Xs(),W=jy(),ie=Ft(W,"page"),he=td(),ye=X6(),$e=HA(),Be=eq(),Ne=D(U=>U.globalInstall),H=!!$e&&!!g&&!p&&!te&&tq({prompt:$e,offered:Be,agent:e==null?void 0:e.agent,chat:C}),ae=aZ(),X=S.useMemo(()=>g&&!p?oZ(C,{queued:L.length,sending:!!q,card:!!(te||J),dismissed:ae}):null,[g,p,C,L.length,q,te,J,ae]),oe=U=>v&&u({a:"set-draft",id:v,text:U}),we=D(U=>U.clientId),Pe=D(U=>U.repos),Re=D(U=>U.repos.find(Ie=>Ie.id===(e==null?void 0:e.worktree.repoId))??null),Ke=D(U=>U.defaultAgent),tt=D(U=>U.agentChosen),at=p||!!s||!!o,Mt=!at&&!!e&&!e.worktree.agent,en=at||Mt,ft=(t==null?void 0:t.agent)??Ke,Ze=D(U=>U.agents.find(Ie=>Ie.id===(en?ft:e==null?void 0:e.worktree.agent)));yC(h,g??(at?"new":null),Ze);const sn=!!(Ze!=null&&Ze.quick),Ut=(Ze==null?void 0:Ze.models)??JE,zt=(Ze==null?void 0:Ze.efforts)??JE,Zt=Ze==null?void 0:Ze.defaultModel,st=Ze==null?void 0:Ze.defaultEffort,ht=((Il=Ze==null?void 0:Ze.picks)==null?void 0:Il.model)??"",vn=((lc=Ze==null?void 0:Ze.picks)==null?void 0:lc.effort)??"",xt=(U,Ie,mt)=>h==null?void 0:h.send({t:"set-agent-pick",agent:U,field:Ie,value:mt}),ct=U=>xt(ft,"model",U),Tn=U=>xt(ft,"effort",U),pn=D(U=>U.agents),In=(U,Ie)=>{xt(U,"model",Ie),U!==ft&&Oe(U)},Oe=U=>{p?u({a:"draft-agent",id:U}):h==null||h.send({t:"set-default-agent",agent:U})},pt=Vq(Ze,pn,en),Ht=pt==null?void 0:pt.other,an=Ft(g,"model"),Gn=Ft(g,"effort"),ee=Ft(g,"usage")??(e==null?void 0:e.usage),ge=((Ad=Re==null?void 0:Re.picks)==null?void 0:Ad.mode)??ck,He=U=>{Re&&(h==null||h.send({t:"set-repo-pick",repoId:Re.id,field:"mode",value:U}))},lt=(e==null?void 0:e.worktree.mode)??ck,z=D(U=>U.picking),re=D(U=>U.layout.term),Ee=EN((e==null?void 0:e.procs)??[]),Ge=wn("composer"),_t=Ft(g,"files"),kt=S.useMemo(()=>NN(_t??yZ),[_t]),De=D(U=>U.visible),ze=D(U=>U.shipping),qe=y??(n==null?void 0:n.repoId)??(r==null?void 0:r.repoId),Yt=S.useMemo(()=>bv(De,qe,g,ze),[De,qe,g,ze]),Wt=D(U=>qe?U.archived[qe]:void 0),Rn=S.useMemo(()=>tA(Yt,Wt),[Yt,Wt]),un=S.useMemo(()=>eA(_t,Rn),[_t,Rn]),Vn=S.useMemo(()=>[...Yt,...(Wt??[]).map(U=>({title:U.title,branch:U.branch,dir:U.path.slice(U.path.lastIndexOf("/")+1)}))],[Yt,Wt]),rn=Ft(g,"git"),Jt=(rn==null?void 0:rn.files.length)??(e==null?void 0:e.dirty)??0,rr=(rn==null?void 0:rn.unpushed)??(e==null?void 0:e.unpushed)??0,bn=D(U=>{var Ie;return g?(Ie=U.shipping[g])==null?void 0:Ie.op:void 0}),Kt=D(U=>{var Ie;return g?(Ie=U.shipping[g])==null?void 0:Ie.step:void 0}),Ct=D(U=>Wi(U,y)),kn=D(U=>{var Ie;return Ct?(Ie=U.shipping[Ct.id])==null?void 0:Ie.op:void 0}),de=Ct&&Re&&at?wN(Re.defaultBranch,Ct):null,Fe=D(U=>p?Yz(U.rows,y,ft,Ke):g),wt=Ft(Fe,"commands"),Ye=wt.some(U=>U.name==="compact"),Lt=is(e==null?void 0:e.agent),On=D(U=>RN(U,g)),Qt=Lt&&!!g&&!p,hr=e==null?void 0:e.worktree.lastTurn,ur=!N.trim()&&E.length===0,jn=!p&&!s&&ur&&!Lt?hr:void 0,vt=!p&&!s&&e&&Ta(e.worktree)?e.worktree.landing:void 0,je=!!(vt!=null&&vt.ready)&&!vt.stale&&!Rf(vt,Jt,sn,Ze==null?void 0:Ze.name),xe=ur&&(!Lt||je)?vt:void 0,bt=Jt>0&&!!(xe!=null&&xe.subject),jt=Jt||(((Cd=rn==null?void 0:rn.extras)==null?void 0:Cd.committed.length)??0),mn=!p&&!s&&ur&&!Lt&&!!e,Gt=!!(e!=null&&e.worktree.landed)&&Jt===0,Yn=mn&&Gt,Dn=e?Dw(e.worktree,Jt):void 0,ln=Dn?ep(Dn):void 0,Vt=mn&&!Yn?ln:void 0,zn=!Gt&&(ln==null?void 0:ln.state)==="open"?ln:void 0,dr=!!zn&&(Jt>0||rr>0),Sr=(ln==null?void 0:ln.state)==="closed",yr=Mi((Re==null?void 0:Re.config)??{}),Vr=S.useMemo(()=>lZ(ah(Mi((Re==null?void 0:Re.config)??{}),Re==null?void 0:Re.defaultBranch)),[Re]),so=()=>g&&(h==null?void 0:h.send({t:"chat",worktreeId:g,text:"/compact"})),qo=at?"nothing to compact until the first reply":Ye?Lt?"wait for the turn to end":void 0:"this agent offers no compact command",Pr=Ye&&ee?h9(ee.used/ee.size):void 0,Hn=Ze==null?void 0:Ze.limits,xn=at?void 0:ee,G=(!!g||at)&&!!(xn||Hn),fe=Date.now(),[Se,Et]=S.useState(!1),nt=S.useRef(0),Nt=O?()=>d.jsx(wC,{usage:xn,limits:Hn,auth:Ze==null?void 0:Ze.auth,now:Date.now()}):void 0,Fn=()=>{window.clearTimeout(nt.current),Et(!1)};ot([g],Fn);const or=$y(),_e=(or==null?void 0:or.owner)==="composer"&&or.key==="usage";ot([_e],()=>{_e&&Fn()});const K=()=>[{id:"compact",label:"compact the context",detail:qo||!ee?void 0:f9(ee.used/ee.size),disabled:qo,onClick:so}],[V,ue]=S.useState(0),[ve,Ce]=S.useState(null),Ve=S.useRef(null),Pt=v&&!o?Gg(N,V,U=>Yt.some(Ie=>AE(U,Ie))):null,ut=w&&(Pt==null?void 0:Pt.kind)==="command"?null:Pt,Xn=ut==null?void 0:ut.kind,yn=ut==null?void 0:ut.query,ti=S.useMemo(()=>{if(yn===void 0)return[];if(Xn==="command")return yn.trim()?EH(GE(Vr,wt),yn).slice(0,8).map(eS):VE(Vr,wt).rows.map(eS);const U=[],Ie=(rn==null?void 0:rn.files.length)??0;Ie>0&&"changes".startsWith(yn.toLowerCase())&&U.push({kind:"changes",n:Ie});const mt=yn.trim(),It=mt?Yt.filter(sr=>AE(mt,sr)):Yt.slice(0,xZ);return U.push(...It.map(sr=>({kind:"worktree",...sr}))),U.push(...Hq(_t??[],kt,(rn==null?void 0:rn.files)??[],yn,8)),U},[Xn,yn,_t,kt,rn,wt,Vr,Yt]),Wn=ut!==null&&ut.from!==ve&&!$&&!(ut.kind==="file"&&vH(N,ut.from,un)),Gi=Xn==="command"&&yn!==void 0&&!yn.trim()?VE(Vr,wt).more:0,io=S.useRef(null),fd=S.useRef(null),_s=S.useRef(null),ni=(U,Ie,mt,It)=>{var fi;const{text:sr,caret:ir}=DT(N.slice(0,Ie)+N.slice(mt),Ie,It);oe(sr),Ce(((fi=Gg(sr,ir))==null?void 0:fi.from)??null),requestAnimationFrame(()=>{U.focus(),U.setSelectionRange(ir,ir),ue(ir)})},Ns=U=>{const Ie=io.current;return!U||!Ie?!1:(ni(Ie,Ie.selectionStart,Ie.selectionEnd,U),!0)},{onPaste:ec,onPasteKey:Zp,onPasteKeyUp:Gp}=QT(v,g,U=>Ns(jA(U,Vn)));x5(fd,io,U=>Ns(XW(U,Vn)));const ri=()=>{var U;return(U=F.current??io.current)==null?void 0:U.focus()},vo=ri;ot([s?e==null?void 0:e.worktree.id:null],()=>{if(!s)return;const U=requestAnimationFrame(()=>{var mt;const Ie=document.activeElement;(!Ie||Ie===document.body)&&((mt=io.current)==null||mt.focus())});return()=>cancelAnimationFrame(U)});const oi=D(U=>U.focusChat),gl=S.useRef(oi),bo=!!kT();ot([oi],()=>{if(oi===gl.current||(gl.current=oi,bo!==!!s))return;const U=requestAnimationFrame(ri);return()=>cancelAnimationFrame(U)});const si=te==null?void 0:te.id,Vi=S.useRef({id:g,cardUpId:si});ot([g,si],()=>{const U=Vi.current;if(Vi.current={id:g,cardUpId:si},si||!U.cardUpId||U.id!==g||bo!==!!s||O&&!J)return;const Ie=requestAnimationFrame(()=>{var It;const mt=document.activeElement;(!mt||mt===document.body)&&((It=io.current)==null||It.focus())});return()=>cancelAnimationFrame(Ie)});const Yi=D(U=>U.walked),Xi=S.useRef(Yi);ot([Yi],()=>{if(Yi===Xi.current||(Xi.current=Yi,bo!==!!s))return;const U=requestAnimationFrame(()=>{const Ie=document.activeElement;(!Ie||Ie===document.body||Ie.closest(".rail"))&&ri()});return()=>cancelAnimationFrame(U)});const ii=cj({results:ti,keyOf:U=>U.kind==="cmd"?`c:${U.c.name}`:U.kind==="changes"?"changes":U.kind==="worktree"?`w:${U.id}`:`f:${U.path}`,q:(ut==null?void 0:ut.query)??"",listRef:Ve,tabPicks:!0,onPick:U=>{if(!ut)return;const{text:Ie,caret:mt}=xH(N,ut,_Z(U));oe(Ie),Ce(ut.from),requestAnimationFrame(()=>{const It=io.current;It&&(It.focus(),It.setSelectionRange(mt,mt),ue(mt))})}}),Cr=g||w?kK(N):null,Yr=S.useMemo(()=>GE(Vr,wt),[Vr,wt]),ai=dZ(N,Yr),kl=Cr===""&&e?wK(N,p?"a command to run in the new worktree's terminal":`a command to run in ${e.worktree.title}; the agent sees its output with your next message`):null,Ts=ai??kl,wl=(e==null?void 0:e.worktree.title)??"untitled",cs=($s=hr==null?void 0:hr.recap)==null?void 0:$s.text,Qi=()=>{g&&Di(h,u,{t:"land",worktreeId:g})},ci=U=>{g&&(h==null||h.send({t:"judge",worktreeId:g,...U?{note:U}:{}}))},tc=!!((uc=Re==null?void 0:Re.config.check)!=null&&uc.trim()),hd=Wy(vt,Jt,sn),Vp=mn&&!bn&&!at&&Ta(e.worktree)&&!Gt&&!Sr&&jt>0&&(!vt||!!vt.stale),pd="Archive this worktree when you are done here; the rail's archived section brings it back with its chat.",Yp=dr?"update":zw(yr,Dn??{}),nc=Re?Jh(Re):"main",Xp=dr&&zn?`Commit, take ${nc} in and push the branch; PR #${zn.number} takes the new commits.`:`${ah(yr,Re==null?void 0:Re.defaultBranch)}.`,md=Vt&&!cs?{links:R8(Vt)}:{},Dr=g?Yn?{word:"archive",kind:"archive",line:(ln==null?void 0:ln.state)==="merged"?Fs(ln):`landed on ${(Re==null?void 0:Re.defaultBranch)??"main"}.`,tip:pd,run:()=>Gc(h,u,[g])}:(Vt==null?void 0:Vt.state)==="open"&&!dr?Rj(Vt)?{word:"land",kind:"merge",line:Of(cs??Fs(Vt)),tip:`${Fs(Vt)} ${Ij(Vt)}.`,...md,run:Qi,ships:!0}:{word:"view",kind:"view",line:Of(cs??Fs(Vt)),tip:`${Fs(Vt)} Open the PR on GitHub.`,...md,run:()=>Or(Vt.url)}:(Vt==null?void 0:Vt.state)==="closed"?{word:"archive",kind:"archive",line:Fs(Vt),tip:`${Fs(Vt)} ${pd}`,run:()=>Gc(h,u,[g])}:Vp?{word:"check",kind:"check",line:(vt==null?void 0:vt.subject)??Of(cs??z8(jt)),tip:Oj(vt,tc),run:ci}:xe!=null&&xe.ready&&!Rf(xe,Jt,sn,Ze==null?void 0:Ze.name)?{word:Yp,kind:"ship",line:xe.subject??Of(cs??(g1(xe,jt)||"ready")),tip:[g1(xe,jt),D8(nc,e==null?void 0:e.behind),Xp,xe.subject&&Jt>0?"Tab from the word edits the message first.":"",hd==="unanswered"?M8:""].filter(Boolean).join(" "),run:Qi,ships:!0}:null:null,gd=(di=e==null?void 0:e.worktree.lands)==null?void 0:di.at(-1),kd=gd&&jp(gd),Ji=S.useMemo(()=>{const U=C?OF(C):null;return(U?XF(U):[]).filter(Ie=>{const mt=De.find(It=>It.worktree.id===Ie.id);return!!mt&&!mt.worktree.landed})},[C,De]),Qp=Ji.length>0?d.jsxs(d.Fragment,{children:["After"," ",Ji.map((U,Ie)=>d.jsxs(S.Fragment,{children:[Ie>0&&(Ie===Ji.length-1?" and ":", "),d.jsx(Kr,{id:U.id,title:U.title})]},U.id))," ",Ji.length===1?"lands":"land","."]}):null,yl=((Dr==null?void 0:Dr.kind)==="ship"||(Dr==null?void 0:Dr.kind)==="check")&&xe?Qp??F8(xe):(Dr==null?void 0:Dr.word)==="archive"&&kd?oo(kd):null,vl=S.useRef(null);bn!=="land"&&(vl.current=g&&(Dr!=null&&Dr.ships)?{id:g,verb:Dr,under:yl}:null);const rc=bn==="land"&&ur&&((dc=vl.current)==null?void 0:dc.id)===g?vl.current:null,$n=rc?rc.verb:Dr,wd=(Rl=$n==null?void 0:$n.links)!=null&&Rl.length?O8($n.line,$n.links):null,oc=!!($n!=null&&$n.ships)&&bn==="land",bl=Ey(Kt,Sy),ea=zu(e,"commit"),sc=zu(e,"check"),li=Lj(oc?ea:sc),yd=Pi(qy(li)?li==null?void 0:li.since:void 0),xl=xe?xe.check==="pending"&&sc&&li===sc?Sh("Checking the work",sc,yd):Rf(xe,Jt,sn,Ze==null?void 0:Ze.name):null,El=$n&&oc?bl?`${$n.word}: ${bl}`:`${$n.word} ${$n.line}`:null,vd=El&&ea&&li===ea?Sh(El,ea,yd):El,ic=n?n.restorable?`message agent on ${n.title}; sending restores it first`:"its commits were not kept, so it cannot come back":r?r.locked?`held by ${r.lockReason??"another tool"}; Toyon takes it over once the lock goes`:`message agent on ${r.name}; sending takes it over first`:o?`describe ${o.name||"the app"}; return makes it`:e?$n?"":xl||(Vt?Fs(Vt):jn?Ky(jn):s?`describe ${wl}…`:at?"describe a change":l?`message agent on ${wl}`:`message agent on ${wl}; / for a command, ! for a shell command`):"no worktree selected",ls=N!==""||Ts||!e?null:oc?bl?null:rc?rc.under:yl:$n?yl:Vt||xl?cs??(xe==null?void 0:xe.subject)??null:null,bd=S.useRef(!1);S.useEffect(()=>{const U=Wn&&!bd.current;bd.current=Wn,U&&((ut==null?void 0:ut.kind)==="file"&&g?xp(g,f.getState(),{sock:h,dispatch:u}):(ut==null?void 0:ut.kind)==="command"&&Fe&&wt.length===0&&(h==null||h.send({t:"list-commands",worktreeId:Fe})))},[Wn,ut==null?void 0:ut.kind,wt.length,g,Fe,h,f,u]);const Sl=()=>{if(!e)return;const U=[],Ie=ie;if(Ie.url)try{const sr=new URL(Ie.url);U.push(`current route: ${sr.pathname}${sr.search}`)}catch{}Ie.title&&U.push(`page title: ${Ie.title}`);const mt=[];s&&mt.push(iq(e.worktree.title,Re==null?void 0:Re.configFile)),U.length>0&&mt.push(`What the user is looking at right now:
|
|
263
|
+
${U.join(`
|
|
264
|
+
`)}`);const It=vK(C);return It&&mt.push(It),mt.length>0?mt:void 0},_l=U=>{at?He(U):g&&U!==lt&&(h==null||h.send({t:"set-worktree-mode",worktreeId:g,mode:U}))},pr=U=>v&&u({a:"notice",id:v,text:U}),ta=pT(),xd=(U,Ie="")=>{if(!e||!g)return;if(U==="handoff"){if(at)return pr("a new worktree has nothing to continue yet");const It=uZ(Ie,Pe,e.worktree.repoId);"pick"in It?u({a:"open",overlay:{kind:"handoff",worktreeId:g}}):h==null||h.send({t:"handoff-ask",worktreeId:g,repoId:It.repo.id,...It.text?{text:It.text}:{}});return}if(U==="archive"){Gt||Sr?Gc(h,u,[g]):pr("archive is for a landed worktree; this one has not landed");return}if(U==="check"){at||!Ta(e.worktree)?pr("nothing to check from here"):Lt?pr("wait for the turn to end"):jt===0?pr("nothing to check: no changes here"):ci(Ie||void 0);return}const mt=vt?Rf(vt,Jt,sn,Ze==null?void 0:Ze.name):null;at||!Ta(e.worktree)?pr("nothing to land from here"):Gt?pr(`already landed on ${(Re==null?void 0:Re.defaultBranch)??"main"}`):mt?pr(mt):Lt&&(!vt||vt.stale)?pr("wait for the turn to end"):vt!=null&&vt.stale?pr("the work changed since this was checked; check again first"):Qi()},Zo=E.some(Ui),Ed=()=>{var U;O&&((U=io.current)==null||U.blur())},na=()=>{v&&(h==null||h.send({t:"set-draft",boxId:v,text:N,clientId:we})),Ed()},ra=(U,Ie,mt,It)=>{u({a:"hold-send",id:U,log:Ie,text:mt,frame:It}),Ed()},ac=()=>{if(!v)return;const U=fZ(N,Vr),Ie=U&&cZ(U.name)?U.name:void 0;if(o){if(o.busy)return;if(ta)return pr(QE);if(o.why)return pr(o.why);(ft!==Ke||!tt)&&(h==null||h.send({t:"set-default-agent",agent:ft})),na(),o.create();return}if(ur)return;if(ta&&!(Ie&&!(U!=null&&U.args)))return pr(QE);const mt=Cr===null&&(!U||!!Ie&&!!U.args);if(pt&&pt.kind!=="unready"&&Ze&&mt){pr(pt.kind==="installing"?`${Ze.name} is still installing`:pt.retry?`nothing runs here until ${Ze.name} is installed`:pt.text);return}const It=vE(N.trim(),un),sr=()=>({text:It,attachments:E.length?E.map(Kc):void 0});if(n){if(!n.restorable)return;if(Cr!==null){pr("nothing runs here until it is restored");return}const xo={t:"restore-worktree",archiveId:n.id,clientId:we};if(Zo)return ra(v,v,It,xo);na(),h==null||h.send(fu(xo,v,It,E)),u({a:"sending",id:v,message:sr()}),u({a:"sent-box",id:v});return}if(r){if(r.locked)return;if(Cr!==null){pr("nothing runs here until Toyon takes it over; its menu on the rail opens a shell");return}const xo={t:"adopt-worktree",worktreeId:r.id,clientId:we};if(Zo)return ra(v,v,It,xo);na(),h==null||h.send(fu(xo,v,It,E)),u({a:"sending",id:v,message:sr()}),u({a:"sent-box",id:v});return}if(!e||!g)return;if(Cr!==null){if(Cr&&bn&&!p){pr(`${dO(bn)} is running here; run the command once it is done`);return}Cr&&p?u({a:"term-run",id:g,command:Cr}):Cr&&(h==null||h.send({t:"exec",worktreeId:g,command:Cr})),oe("");return}if(U&&!Ie){xd(U.name,U.args),oe("");return}if(Ie&&!(U!=null&&U.args)){_l(Ie),oe("");return}const ir=U?vE(U.args,un):It,fi=Sl(),Ol=E.length?E.map(Kc):void 0;if(Ie&&_l(Ie),at){const xo=Gh(e.worktree)?{worktreeId:g}:{},ds={clientId:we,repoId:e.worktree.repoId,context:fi,agent:ft,...Ie?{mode:Ie}:{},...t!=null&&t.carry?{carry:!0}:{}};(ft!==Ke||!tt)&&(h==null||h.send({t:"set-default-agent",agent:ft}));const fc={t:"create-worktree",...ds,...xo};Zo?ra(v,v,ir,fc):(na(),h==null||h.send(fu(fc,v,ir,E)),u({a:"sending",id:v,message:{text:ir,attachments:Ol}}),u({a:"sent-box",id:v}))}else{const xo={t:"chat",worktreeId:g,clientId:we,context:fi};Zo?ra(v,g,ir,xo):(na(),h==null||h.send(fu(xo,v,ir,E)),On||u({a:"sending",id:g,message:{text:ir,attachments:Ol}}),u({a:"sent-box",id:v}))}s&&u({a:"show-chat"})},Sd=U=>{if(!g||(le==null?void 0:le.ask.kind)!=="question")return;if(!U.some(Ma))return u({a:"ask-revive",id:g});const Ie=ry(le.ask.questions,U).join(`
|
|
265
|
+
`),mt={t:"chat",worktreeId:g,clientId:we,context:Sl()};if(Z&&R.some(Ui))ra(Z,g,Ie,mt);else{const It=R.length?R.map(Kc):void 0,sr=It&&Z?{attachments:It,boxId:Z}:{};h==null||h.send({...mt,text:Ie,...sr}),It&&Z&&u({a:"clear-attachments",id:Z}),u({a:"sending",id:g,message:{text:Ie,attachments:It}})}u({a:"answered",id:g}),u({a:"ask-revive",id:g})},js=D(U=>U.autoSend);ot([js,g],()=>{!js||js!==g||ur||bo!==!!s||(u({a:"auto-sent"}),ac())});const oa=()=>{const U=E[E.length-1];return!v||!U?!1:(u({a:"detach",id:v,key:U.key}),!0)},_d=U=>{v&&(u({a:"walk",id:v,walk:U.walk,text:U.text}),requestAnimationFrame(()=>{var Ie;(Ie=io.current)==null||Ie.setSelectionRange(U.text.length,U.text.length),ue(U.text.length)}))},sa=()=>{v&&$&&u({a:"walk",id:v,walk:null,text:N})},Nd=at?[]:$N(C),Nl=at?[]:L.flatMap(U=>U.attachments??[]),ao=e==null?void 0:e.worktree.plan,Tl=Sv(e==null?void 0:e.worktree.id,ao),us=((aa=e==null?void 0:e.worktree.from)==null?void 0:aa.kind)==="worktree"?e.worktree.from:null,ia=us?C.find(U=>U.kind==="handed"&&U.via==="plan"):void 0,Td=(ia==null?void 0:ia.kind)==="handed"?ia.origin.title:us==null?void 0:us.ref,cc=zn&&((As=e==null?void 0:e.worktree.prComments)==null?void 0:As.pr)===zn.number?e.worktree.prComments:void 0,jl=cc&&cc.count>0?GA(cc.count,cc.authors):null,$l=(e==null?void 0:e.worktree.queued)??[],jd=Qt&&!te,Jp=D(U=>U.reading),[Xr,ui]=S.useState(!1),Al=l&&!J&&(te?!Xr:ur&&!ye),Cl=Al&&Jp;S.useEffect(()=>{if(l)return u({a:"typing",on:Xr}),()=>u({a:"typing",on:!1})},[l,Xr,u]);const $d=U=>{if(!Cl||U.target instanceof Element&&U.target.closest("button, a, [role=button]"))return;const Ie=U.currentTarget.closest(".chat-log");Ie&&(Ie.scrollTop=Ie.scrollHeight)};return d.jsxs("div",{ref:fd,className:We("composer chat-input",jd&&"stopping",Al&&"foldable",Cl&&"lean"),onClick:$d,onFocus:U=>ui(U.target instanceof HTMLTextAreaElement),onBlur:()=>ui(!1),children:[(ao||us)&&e&&d.jsxs("div",{className:"composer-plan",...ao?Ge.contextMenu(()=>nv(ao,()=>h==null?void 0:h.send({t:"reveal",worktreeId:e.worktree.id,path:ao}),ro(h))):{},children:[d.jsx(Tt,{name:ao?"text":"handoff",className:"icon-inline"}),ao&&d.jsx(Le,{variant:"word",className:"composer-plan-path","data-tip":ao,onClick:()=>Cn({dispatch:u},{worktreeId:e.worktree.id,path:ao,view:"preview"}),children:Tl}),us&&d.jsxs("span",{className:"composer-plan-from",children:[ao?" from ":"from ",d.jsx(Kr,{id:us.origin.id,title:Td})]})]}),zn&&jl&&e&&d.jsxs("div",{className:"composer-plan",children:[d.jsx(Tt,{name:"pr",className:"icon-inline"}),d.jsx(Le,{variant:"word",tone:"strong",className:"composer-plan-count","data-tip":"Read them beside the chat",onClick:()=>yF({dispatch:u},e.worktree.id,zn.number),children:jl.count}),d.jsxs("span",{className:"row-dim composer-plan-rest",children:[" on PR #",zn.number,jl.rest,zn.review==="changes_requested"?", changes requested":zn.review==="approved"?", approved":""]})]}),J&&g&&d.jsx(Hs,{icon:"chat",verb:"answer",tip:"Bring the question back into the box",onPress:()=>{u(J.kind==="ask"&&J.outcome?{a:"ask-revive",id:g,askId:J.id}:{a:"card-unpark",id:g}),u({a:"focus-chat"})},children:JF(J)}),(X==null?void 0:X.verb)==="fix"&&"toolId"in X&&g&&d.jsxs(Hs,{icon:"run",verb:X.verb,tip:"Send the agent what it printed and ask for a fix",onPress:()=>h==null?void 0:h.send({t:"fix",worktreeId:g,toolId:X.toolId}),onDismiss:()=>ZE(X.key),children:["what failed in ",d.jsx("code",{children:X.command})]}),(X==null?void 0:X.verb)==="continue"&&g&&d.jsx(Hs,{icon:"send",verb:X.verb,tip:X.after==="stop"?"Send the agent on from where its turn stopped":X.again?"The last press ended in this same error. Send the agent on once more, or wait it out.":"Send the agent on from where its turn failed",onPress:()=>h==null?void 0:h.send({t:"continue",worktreeId:g}),onDismiss:()=>ZE(X.key),children:X.after==="stop"?"where it stopped":X.again?"after the same error again":"after the error"}),ye&&v&&!te&&(e||x||o)&&d.jsx(Hs,{icon:"copy",verb:"attach",tip:"Attach it, as a paste would",onPress:()=>{p5(f,v,ye),ri()},onDismiss:wT,children:ye.kind==="image"?"the image you copied":`the text you copied, ${ye.text.split(`
|
|
266
|
+
`).length} lines`}),H&&d.jsx(Hs,{icon:"download",verb:"install",tip:"Install Toyon as an app: a window of its own, with a Dock icon and no browser bar",onPress:()=>{DE(),$e==null||$e.prompt()},onDismiss:DE,children:"Toyon as a window of its own, with a Dock icon and no browser bar"}),Ne&&g&&!p&&!te&&!H&&rd(ro(h))&&VK({offer:Ne,agent:e==null?void 0:e.agent,chat:C})&&d.jsx(Xq,{offer:Ne,onInstall:()=>h==null?void 0:h.send({t:"install-global"}),onDismiss:()=>h==null?void 0:h.send({t:"dismiss-global-install"})}),v&&!te&&Cr===null&&d.jsx($p,{children:Lw(E,wu(lk(Nd),Nl)).map(([U,Ie])=>{const mt=()=>u({a:"detach",id:v,key:U.key});return U.kind!=="pick"?d.jsx(dC,{item:U,n:Ie,onRemove:mt},U.key):d.jsx(Up,{pick:U,tipText:U.html,onHover:It=>W&&cn.post(W,It?{type:"highlight-selector",selector:U.selector,label:dy(U)}:{type:"highlight-clear"}),worktreeId:g,onOpen:(It,sr)=>g&&La(f,h,g,It,sr),onRemove:mt},U.key)})}),Wn&&ut&&d.jsx(oq,{results:ti,keyOf:U=>U.kind==="cmd"?`c:${U.c.name}`:U.kind==="changes"?"changes":U.kind==="worktree"?`w:${U.id}`:U.kind==="folder"?`d:${U.path}`:`f:${U.path}`,rowClass:U=>U.kind==="file"||U.kind==="folder"?"qo-file":U.kind==="changes"||U.kind==="worktree"?"picker-row":"picker-row picker-cmd",nav:ii,listRef:Ve,empty:SZ(ut.kind,_t,wt.length,Fe!==null,w),note:Gi>0?`type to find ${Gi} more`:void 0,groupOf:U=>U.kind==="worktree"?"worktrees":U.kind==="cmd"?"commands":"files",row:U=>{const Ie=((rn==null?void 0:rn.files.length)??0)>0;return U.kind==="file"?pw(U.path,U.status,ut.query,{gutter:Ie}):U.kind==="folder"?pw(U.path,void 0,ut.query,{folder:!0,gutter:Ie}):U.kind==="changes"?d.jsx(An,{label:"@changes",hint:`${U.n} uncommitted ${U.n===1?"file":"files"}`}):U.kind==="worktree"?d.jsxs(d.Fragment,{children:[d.jsx("span",{className:`dot ${U.dot}`}),d.jsx(An,{label:U.title,hint:kr(U.at)})]}):d.jsx(kq,{c:U.c,query:ut.query})}}),te&&g?te.kind==="handoff"?d.jsx(rZ,{item:te,worktreeId:g,rootRef:F},te.id):te.ask.kind==="question"?d.jsx(mZ,{item:te,ask:te.ask,worktreeId:g,rootRef:F,numbers:wu(lk(Nd),Nl),onAnswer:le?Sd:void 0},te.id):d.jsx(pZ,{item:te,ask:te.ask,worktreeId:g,rootRef:F},te.id):d.jsxs("div",{className:We("composer-field",Cr!==null&&"shell",$&&"recalled"),children:[d.jsx(Du,{size:"lg",bare:!0,font:Cr!==null?"mono":"ui",ref:io,value:N,onChange:U=>{var ir;const Ie=U.target.value,mt=U.target.selectionStart??Ie.length;oe(Ie),ue(mt),ii.setIndex(0);const{inputType:It}=U.nativeEvent;Ce(It==="insertFromPaste"||It==="insertFromDrop"?((ir=Gg(Ie,mt))==null?void 0:ir.from)??null:null)},onKeyUp:U=>{Gp(),ue(U.currentTarget.selectionStart??0)},onClick:U=>{ue(U.currentTarget.selectionStart??0),sa()},onPaste:ec,onDrop:U=>{const Ie=bj(f,U);if(!Ie)return;U.stopPropagation();const mt=U.currentTarget,It=T8(mt,U.clientX,U.clientY)??N.length;ni(mt,It,It,Ie.words)},onScroll:U=>{_s.current&&(_s.current.scrollTop=U.currentTarget.scrollTop)},onKeyDown:U=>{var Ie;if(Zp(U),!U.nativeEvent.isComposing){if(Wn){if(U.key==="Escape"){U.preventDefault(),U.stopPropagation(),Ce((ut==null?void 0:ut.from)??null);return}if(ii.onKeyDown(U))return}if((U.key==="ArrowUp"||U.key==="ArrowDown")&&!U.altKey&&!U.ctrlKey){const mt=U.key==="ArrowUp",It=L.at(-1);if(mt&&!U.metaKey&&!$&&N===""&&g&&!p&&It!==void 0){U.preventDefault(),LT(f,h,g,L.length-1);return}const sr=U.metaKey?mt?"first":"box":mt?"up":"down",ir=g?zK(C,$??null,N,sr):null;if(ir){U.preventDefault(),(ir.walk!==$||ir.text!==N)&&_d(ir);return}}if($&&U.key==="Escape"){U.preventDefault(),U.stopPropagation(),_d({walk:null,text:$.from});return}if(U.key==="Escape"&&Lt&&g&&!p){U.preventDefault(),U.stopPropagation(),h==null||h.send({t:"stop-agent",worktreeId:g});return}if($&&vZ.has(U.key)&&sa(),U.key==="Tab"&&!U.shiftKey&&N===""){const mt=(Ie=U.currentTarget.closest(".composer"))==null?void 0:Ie.querySelector(".composer-verb");if(mt&&!mt.disabled){U.preventDefault(),mt.focus();return}if(bt){U.preventDefault(),u({a:"edit-commit"});return}}U.key==="Enter"&&(O?U.metaKey||U.ctrlKey:!U.shiftKey)?(U.preventDefault(),ac()):U.key==="Backspace"&&N===""&&oa()&&U.preventDefault()}},placeholder:ls||$n?"":ic,disabled:o?o.busy:!e&&!x}),Ts&&d.jsxs("div",{className:"composer-ghost","aria-hidden":"true",children:[d.jsx("span",{className:"picker-typed",children:N}),Ts]}),(g||w)&&Cr===null&&N.includes("@")&&d.jsx("div",{ref:_s,className:"composer-ghost composer-marks","aria-hidden":"true",onClick:U=>Zu(U,e==null?void 0:e.worktree.path,g,{sock:h,dispatch:u}),children:d.jsx(qu,{text:N,worktreeId:g??v,root:e==null?void 0:e.worktree.path,inField:!0})}),(ls||$n)&&d.jsxs("div",{className:"composer-ghost composer-standing","aria-hidden":$n?void 0:"true",children:[d.jsx("span",{className:We("composer-placeholder",oc&&"live-text"),children:vd||($n?d.jsxs(d.Fragment,{children:[d.jsx(Le,{variant:"inline",tone:"strong",className:"composer-verb",disabled:!!$n.ships&&!!bn||ta,...Ot($n.tip,void 0,{placement:"top"}),onClick:()=>{var U;$n.run(),O||(U=io.current)==null||U.focus()},onKeyDown:U=>{U.key==="Tab"&&!U.shiftKey&&bt&&(U.preventDefault(),u({a:"edit-commit"}))},children:$n.word})," ",d.jsx("span",{className:"composer-verb-line",children:wd?wd.map(U=>typeof U=="string"?U:d.jsxs(Le,{variant:"inline",className:"composer-verb-tail",...Ot(U.tip,void 0,{placement:"top"}),onClick:()=>{var Ie;Or(U.url),O||(Ie=io.current)==null||Ie.focus()},...Ge.contextMenu(()=>[{id:"open-link",label:U.open,onClick:()=>Or(U.url)},{id:"copy-link",label:"copy link",onClick:()=>nn(U.url)}]),children:[U.text," ",d.jsx(Tt,{name:"external",className:"icon-inline"})]},U.text)):$n.line})]}):ic)}),ls&&d.jsxs(d.Fragment,{children:[`
|
|
267
|
+
`,d.jsx("span",{className:"composer-subline",children:ls})]})]}),jd&&d.jsx(Dt,{icon:"stop",tone:"danger",className:We("composer-stop",(e==null?void 0:e.stopping)&&"pending"),label:e!=null&&e.stopping?"Stopping: the agent is winding down; press again to send the stop once more":`Stop the agent (context up to here is kept${L.length?"; queued messages go next":""})`,hint:"esc",onClick:()=>g&&(h==null?void 0:h.send({t:"stop-agent",worktreeId:g}))})]}),T&&d.jsx("div",{className:"hint composer-notice",role:"status",children:T}),!te&&d.jsxs("div",{className:"hint composer-knobs",children:[d.jsxs("span",{className:"spawn-left",children:[en?pn.length>1?d.jsx(hq,{agents:pn,agent:ft,model:ht,onChange:In,onClose:vo}):d.jsx(UE,{models:Ut,value:ht,runs:Zt,onChange:ct,onClose:vo}):e&&d.jsx(UE,{models:Ut,value:e.worktree.model??"",current:an,runs:Zt,onChange:U=>h==null?void 0:h.send({t:"set-worktree-model",worktreeId:e.worktree.id,model:U}),onClose:vo}),en?d.jsx(FE,{efforts:zt,value:vn,runs:st,onChange:Tn,onClose:vo}):e&&d.jsx(FE,{efforts:zt,value:e.worktree.effort??"",current:Gn,runs:st,onChange:U=>h==null?void 0:h.send({t:"set-worktree-effort",worktreeId:e.worktree.id,effort:U}),onClose:vo}),at?!o&&d.jsx(BE,{value:ge,onChange:He,onClose:vo}):e&&d.jsx(BE,{value:lt,onChange:U=>h==null?void 0:h.send({t:"set-worktree-mode",worktreeId:e.worktree.id,mode:U}),onClose:vo}),e&&!at&&!w&&Re&&!Fi(e.worktree)&&Object.keys(Re.tier??{}).map(U=>d.jsx(JH,{name:U,wt:e,repo:Re,trunk:Ct,onClose:vo},U)),G&&d.jsxs("span",{className:"usage-knob",onMouseEnter:()=>{_e||(window.clearTimeout(nt.current),nt.current=window.setTimeout(()=>Et(!0),bZ))},onMouseLeave:()=>{window.clearTimeout(nt.current),Et(!1)},onFocus:U=>{_e||!U.target.matches(":focus-visible")||(window.clearTimeout(nt.current),Et(!0))},onBlur:Fn,children:[d.jsx(Dt,{icon:d.jsx(sq,{fraction:xn?xn.used/xn.size:0,level:Hn?g9(Hn,fe):void 0}),tone:"chrome",on:_e,silent:!0,label:xn?`${Math.round(100*xn.used/xn.size)}% of context`:Hn?T1(Hn,fe):"",detail:[...xn&&Hn?[T1(Hn,fe)]:[],...Pr?[Pr]:[]],...Ge.dropdown(K,"left","usage",Nt),...Ge.contextMenu(K,"usage")}),Se&&d.jsx(wZ,{usage:xn,limits:Hn,auth:Ze==null?void 0:Ze.auth,now:fe,onClose:Fn})]})]}),d.jsxs("span",{className:"spawn-tools",children:[v&&(e||x||o)&&d.jsx(Dt,{icon:"attach",tone:"chrome",label:l?"Attach a picture or a file":"Attach a picture or a file, or drop one here",onClick:()=>GT(f,v)}),!s&&!w&&!l&&!o&&d.jsx(Dt,{icon:"terminal",tone:"chrome",on:re,className:"composer-term",disabled:!e,label:Ee?Ee.tip:"Terminal",hint:qt("terminal"),badge:Ee&&d.jsx("span",{className:"composer-term-dot"}),onClick:()=>{u(Ee&&!re&&g?{a:"term-stream",id:g,stream:Ee.stream}:{a:"toggle-terminal"})},...Ge.contextMenu(()=>e&&g?U9(e.procs,g,re,{sock:h,dispatch:f.dispatch}):[])}),!s&&!he&&!w&&!l&&!o&&d.jsx(Dt,{icon:"pick",label:"Pick an element on the page to attach",hint:qt("pick"),on:z==="chat",disabled:!W,onClick:()=>W&&Lu(W,z,u,"chat")}),O&&v&&(e||x||o)&&d.jsx(Dt,{icon:"send",tone:"primary",label:o?"Create the project":"Send",disabled:ta||(o?o.busy:ur),onMouseDown:U=>U.preventDefault(),onClick:ac})]})]}),(pt||de&&Ct||$l.length>0)&&d.jsxs("div",{className:"composer-notes",children:[$l.map(U=>d.jsx("div",{className:"hint composer-note",children:d.jsxs("span",{children:[U.title," starts when"," ","id"in U.after?U.after.id===(e==null?void 0:e.worktree.id)?"this branch":d.jsx(Kr,{id:U.after.id}):EZ(U,U.after.piece,$l)," ","lands"]})},`${U.proposalId}/${U.pieceId}`)),pt&&Ze&&d.jsxs("div",{className:"hint composer-note",role:"status",children:[d.jsx("span",{children:pt.text}),(pt.retry||Ht)&&d.jsxs("span",{className:"composer-note-actions",children:[pt.retry&&d.jsx(Le,{variant:"outline",onClick:()=>h==null?void 0:h.send(Nv(Ze)),children:pt.retry}),Ht&&d.jsxs(Le,{variant:"outline","data-tip":`${Ht.name} is installed and takes this message instead`,onClick:()=>Oe(Ht.id),children:["use ",Ht.name]})]})]}),de&&Ct&&d.jsxs("div",{className:"hint composer-note",children:[d.jsx("span",{children:de}),Bz(Ct)&&d.jsx(Le,{variant:"outline",busy:kn==="pull-main",disabled:!!kn,"data-tip":"Fast-forward main to origin",onClick:()=>Di(h,u,{t:"pull-main",worktreeId:Ct.id}),children:"pull"})]})]})]})}function NZ({children:e,className:t,tip:n,...r}){return d.jsxs("label",{className:We("check",t),"data-tip":n,children:[d.jsx("input",{type:"checkbox",className:"check-box",...r}),d.jsx("span",{children:e})]})}function TZ({draft:e,lead:t}){const n=dt(),r=D(a=>xs(a,t==null?void 0:t.repoId)),o=D(a=>{var l;return((l=Wi(a,t==null?void 0:t.repoId))==null?void 0:l.dirty)??0});return!!t&&!!r&&o>0?d.jsx("div",{className:"draft-intro",children:d.jsx("div",{className:"draft-notes",children:d.jsxs(NZ,{className:"hint draft-note",checked:!!e.carry,tip:`Move the ${o} uncommitted ${o===1?"file":"files"} into the new worktree, leaving ${r.defaultBranch} clean`,onChange:a=>n({a:"draft-carry",v:a.currentTarget.checked}),children:[d.jsxs("span",{className:"badge-dirty",children:["~",o]})," on ",r.defaultBranch," come along"]})})}):null}function jZ({row:e}){const t=Qe(),n=D(a=>a.clientId),r=D(a=>a.home),o=r&&e.path.startsWith(`${r}/`)?`~${e.path.slice(r.length)}`:e.path,s=e.locked?"Toyon would be working in a directory something else is using, so taking it over waits for the lock to go.":"A message sent below takes over this branch.";return d.jsx(cr,{icon:e.locked?"lock":"branch",word:e.locked?"held":"discovered",tone:"quiet",below:s,press:e.locked?void 0:{label:"take over",act:!0,onPress:()=>t==null?void 0:t.send({t:"adopt-worktree",worktreeId:e.id,clientId:n})},children:d.jsxs("span",{className:"daemon-text",children:[e.locked&&`by ${e.lockReason??"another tool"}, at `,d.jsx("span",{className:"tool-hint",children:o})]})})}function _u({placement:e,className:t,width:n,archived:r,found:o}){const s=dt(),a=Ys(),l=F6(),u=Ft(a==null?void 0:a.worktree.id,"sending"),h=hl(),f=e==="centre"&&!r&&(h!=null&&h.assumed)?h:null,p=D(w=>{var x;return((x=w.dragFiles)==null?void 0:x.at)==="chat"}),g=Pn(),y=S.useMemo(()=>({onDragOver:w=>N8(g,w),onDrop:w=>{const x=bj(g,w);x&&zT(g,x.boxId,x.words)}}),[g]),v=d.jsxs(d.Fragment,{children:[!r&&!o&&l&&!u&&d.jsx(TZ,{draft:l,lead:a}),r?d.jsx(Su,{active:null,archived:r,placement:e}):o?d.jsx(Su,{active:null,found:o,placement:e}):d.jsx(Su,{active:a,draft:l,placement:e})]});return d.jsx("div",{className:We(e==="dock"?"chat-dock":e==="centre"?"chat-centre":"chat-screen",t,p&&"drop-over"),style:n===void 0?void 0:{width:n},...y,ref:w=>{var x;w?bu.el=w:(x=bu.el)!=null&&x.isConnected||(bu.el=null)},children:r?d.jsx(Qg,{active:null,archived:r,tail:d.jsx(x9,{item:r}),foot:v}):o?d.jsx(Qg,{active:null,found:o,tail:d.jsx(jZ,{row:o}),foot:v}):d.jsx(Qg,{active:a,lead:f&&d.jsxs("p",{className:"hint chat-centre-note",children:[f.name," has ",d.jsx("code",{children:f.assumed})," and no dev server, so it is chat only for now."," ",d.jsx(Le,{variant:"inline",onClick:()=>s({a:"open",overlay:{kind:"setup",repoId:f.id}}),children:"add a dev server"})]}),foot:v})})}const $Z="modulepreload",AZ=function(e){return"/"+e},tS={},ww=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){let a=function(h){return Promise.all(h.map(f=>Promise.resolve(f).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),u=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=a(n.map(h=>{if(h=AZ(h),h in tS)return;tS[h]=!0;const f=h.endsWith(".css"),p=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${p}`))return;const g=document.createElement("link");if(g.rel=f?"stylesheet":$Z,f||(g.as="script"),g.crossOrigin="",g.href=h,u&&g.setAttribute("nonce",u),document.head.appendChild(g),f)return new Promise((y,v)=>{g.addEventListener("load",y),g.addEventListener("error",()=>v(Error(`Unable to preload CSS for ${h}`)))})}))}function s(a){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=a,window.dispatchEvent(l),!l.defaultPrevented)throw a}return o.then(a=>{for(const l of a||[])l.status==="rejected"&&s(l.reason);return t().catch(s)})},Iv=800;function CZ(e,t,n,r){if(r.version===e.version)return"same";const o=t===e.text&&n===null;return r.version===null?o?"gone":"conflict":r.after===t||r.after===n?"adopt":o?"apply":"conflict"}const Jo=e=>`${e.worktreeId}
|
|
268
|
+
${e.ref??""}
|
|
269
|
+
${e.since??""}
|
|
270
|
+
${e.path}`;class IZ{constructor(t){Rt(this,"files",new Map);Rt(this,"looks",new Map);this.d=t}start(){var s,a;let t=this.d.store.getState();const n=this.d.store.subscribe(()=>{const l=this.d.store.getState(),u=t;t=l,this.follow(u,l)}),r=()=>{const l=this.d.store.getState().editor;l&&!l.loose&&this.refresh(Jo(l))};(s=this.d.win)==null||s.addEventListener("focus",r);const o=()=>{for(const[l,u]of this.files)u.timer!==void 0&&this.saveNow(l)};return(a=this.d.win)==null||a.addEventListener("pagehide",o),()=>{var l,u;n(),(l=this.d.win)==null||l.removeEventListener("focus",r),(u=this.d.win)==null||u.removeEventListener("pagehide",o)}}receive(t){const n=t.t==="file-read"?this.looks.get(t.seq):void 0;if(n&&t.t==="file-read"){this.looks.delete(t.seq),n(t.error||t.binary||t.tooLarge||t.version===null?null:t.after);return}const r=this.files.get(Jo(t));if(!r)return;if(t.t==="file-blame"){this.blamed(r,t);return}const o=r.out;!o||o.seq!==t.seq||(r.out=null,t.t==="file-read"?this.read(r,t):o.write!==void 0&&this.written(r,o.write,t),this.next(r))}look(t,n){if(!this.d.store.getState().connected)return Promise.resolve(null);const r=$o();return new Promise(o=>{this.looks.set(r,o),this.d.send({t:"read-file",worktreeId:t,path:n,seq:r})})}bind(t){const n=Jo(t);return{attach:r=>this.attach(n,r),edited:()=>this.edited(n),saveNow:()=>this.saveNow(n)}}reload(t){var o;const n=this.files.get(Jo(t)),r=n==null?void 0:n.conflict;!n||!r||(this.cancelTimer(n),n.pending=null,n.base={text:r.after,version:r.version},this.setConflict(n,null),r.version===null?this.d.store.dispatch({a:"close-editor"}):(o=n.buffer)==null||o.replace(r.after),this.next(n))}keepMine(t){const n=this.files.get(Jo(t)),r=n==null?void 0:n.conflict;!(n!=null&&n.buffer)||!r||(n.base={text:r.after,version:r.version},this.setConflict(n,null),n.pending=n.buffer.text(),this.next(n))}follow(t,n){var s,a,l,u;t.connected&&!n.connected&&this.dropped();const r=(s=n.editor)!=null&&s.loose?null:n.editor,o=(a=t.editor)!=null&&a.loose?null:t.editor;if(o&&(!r||Jo(o)!==Jo(r))&&this.closed(Jo(o)),r&&(!o||o.seq!==r.seq)&&this.opened(r),!t.connected&&n.connected)for(const h of this.files.values())h.reread=!0,this.next(h);else r&&o&&o.seq===r.seq&&((l=Mr(t,r.worktreeId).git)==null?void 0:l.version)!==((u=Mr(n,r.worktreeId).git)==null?void 0:u.version)&&this.refresh(Jo(r))}opened(t){const n=Jo(t);let r=this.files.get(n);r||(r={file:{worktreeId:t.worktreeId,path:t.path,...t.ref?{ref:t.ref}:{},...t.since?{since:t.since}:{}},open:!0,base:null,out:null,pending:null,reread:!1,writable:!1,conflict:null,buffer:null,timer:void 0,blame:null},this.files.set(n,r)),r.open=!0,r.reread=!0,r.conflict&&this.d.store.dispatch({a:"editor-conflict",file:r.file,theirs:r.conflict}),this.next(r)}closed(t){const n=this.files.get(t);n&&(n.open=!1,this.next(n))}refresh(t){const n=this.files.get(t);!n||n.file.ref||(n.reread=!0,this.next(n))}dropped(){for(const t of this.looks.values())t(null);this.looks.clear();for(const t of this.files.values())t.out&&(t.out.write!==void 0&&(t.pending??(t.pending=t.out.write)),t.out=null,t.reread=!0)}next(t){var a;if(t.out||!this.d.store.getState().connected)return;const{worktreeId:n,path:r,ref:o,since:s}=t.file;if(t.reread){t.reread=!1;const l=$o();t.out={seq:l},this.d.send({t:"read-file",worktreeId:n,path:r,ref:o,since:s,seq:l});return}if(t.pending!==null&&t.base&&t.pending===t.base.text&&(t.pending=null),t.pending!==null&&t.writable&&!t.conflict&&!o){const l=t.pending,u=$o();t.pending=null,t.out={seq:u,write:l},this.d.send({t:"write-file",worktreeId:n,path:r,content:l,base:((a=t.base)==null?void 0:a.version)??null,seq:u});return}!t.open&&!t.buffer&&t.pending===null&&!t.conflict&&this.files.delete(Jo(t.file))}read(t,n){var g,y;const{file:r}=t;if(n.error){t.open&&this.d.store.dispatch({a:"editor-read",file:r,disk:null,error:n.error});return}const{before:o,after:s,version:a,writable:l,binary:u,tooLarge:h}=n;t.writable=l,t.open&&(this.d.store.dispatch({a:"editor-read",file:r,disk:{before:o,after:s,version:a,writable:l,binary:u,tooLarge:h}}),!u&&!h&&(a!==null||r.ref)&&this.askBlame(t,a));const f={after:t.buffer?t.buffer.normalize(s):s,version:a};if(!t.base){t.base={text:f.after,version:a};return}const p=((g=t.buffer)==null?void 0:g.text())??t.pending??t.base.text;switch(CZ(t.base,p,t.pending,f)){case"same":break;case"adopt":t.base={text:f.after,version:a};break;case"apply":(y=t.buffer)==null||y.replace(f.after),t.base={text:f.after,version:a};break;case"gone":t.base={text:"",version:null},t.open&&this.d.store.dispatch({a:"close-editor"});break;case"conflict":this.setConflict(t,f);return}this.setConflict(t,null)}askBlame(t,n){const r=$o();t.blame={seq:r,version:n};const{worktreeId:o,path:s,ref:a}=t.file;this.d.send({t:"blame-file",worktreeId:o,path:s,ref:a,seq:r})}blamed(t,n){const r=t.blame;if(!r||r.seq!==n.seq||(t.blame=null,!t.open))return;const{commits:o,lines:s}=n;this.d.store.dispatch({a:"editor-blame",file:t.file,blame:{commits:o,lines:s,version:r.version}})}written(t,n,r){if(r.ok){t.base={text:n,version:r.version};return}if(r.reason==="changed"){t.pending??(t.pending=n),t.reread=!0;return}t.writable=!1,t.pending=null,this.d.store.dispatch({a:"editor-refused",file:t.file,message:r.message??`not saved: ${t.file.path}`})}setConflict(t,n){t.conflict===n||t.conflict&&n&&t.conflict.version===n.version||(t.conflict=n,t.open&&this.d.store.dispatch({a:"editor-conflict",file:t.file,theirs:n}))}attach(t,n){const r=this.files.get(t);if(r){if(n){r.buffer=n,r.base&&(r.base={...r.base,text:n.normalize(r.base.text)}),r.conflict&&r.pending!==null&&n.replace(r.pending);return}r.buffer&&((r.timer!==void 0||r.conflict)&&(r.pending=r.buffer.text()),this.cancelTimer(r),r.buffer=null,this.next(r))}}edited(t){const n=this.files.get(t);!(n!=null&&n.buffer)||!n.writable||n.file.ref||(this.cancelTimer(n),n.timer=this.d.timers.set(()=>{n.timer=void 0,this.saveNow(t)},Iv))}saveNow(t){const n=this.files.get(t);if(!(n!=null&&n.buffer))return;this.cancelTimer(n);const r=n.buffer.text();r.length>hh||(n.pending=r,this.next(n))}cancelTimer(t){t.timer!==void 0&&(this.d.timers.clear(t.timer),t.timer=void 0)}}const vC={attach:()=>{},edited:()=>{},saveNow:()=>{}},RZ=e=>({timers:{set:(t,n)=>setTimeout(t,n),clear:t=>clearTimeout(t)},win:typeof window>"u"?null:window,send:e}),yw=new Map;function OZ(e){const t=yw.get(e.seq);return t?(yw.delete(e.seq),t(e),!0):!1}function MZ(e,t,n,r){if(e.kind==="bytes"||e.kind==="text"||e.kind==="pr-comments")return vC;if(e.kind==="grant")return LZ(e,t,n,r);const o=e.handle;let s=null,a,l=null,u=Promise.resolve(),h=!1;const f=()=>(l??(l=(async()=>await o.queryPermission({mode:"readwrite"})==="granted"?!0:await o.requestPermission({mode:"readwrite"})==="granted")().catch(()=>!1)),l),p=()=>{a!==void 0&&r.timers.clear(a),a=void 0},g=()=>{h||(h=!0,p(),n(`read-only: the browser would not save ${t}`))},y=async x=>{if(!await f())return g();const N=await o.createWritable();await N.write(x),await N.close()},v=()=>{if(!s||h)return;p();const x=s.text();u=u.then(()=>y(x)).catch(g)},w=()=>{a!==void 0&&v()};return{attach(x){var N,E;if(x){s=x,(N=r.win)==null||N.addEventListener("pagehide",w);return}a!==void 0&&v(),s=null,(E=r.win)==null||E.removeEventListener("pagehide",w)},edited(){!s||h||(f().then(x=>{x||g()}),p(),a=r.timers.set(v,Iv))},saveNow:v}}function LZ(e,t,n,r){let o=null,s,a=e.version,l=!1,u=null,h=!1;const f=()=>{s!==void 0&&r.timers.clear(s),s=void 0},p=w=>{h||(h=!0,f(),u=null,n(w))},g=w=>{if(!r.send)return;const x=$o();l=!0,yw.set(x,N=>{if(l=!1,N.ok?a=N.version:N.reason==="changed"?p(`read-only: ${t} changed on disk; open it again to edit`):p(N.message??`not saved: ${t}`),u!==null&&!h){const E=u;u=null,g(E)}}),r.send({t:"write-loose",id:e.id,content:w,base:a,seq:x})},y=()=>{if(!o||h)return;f();const w=o.text();w.length>hh||(l?u=w:g(w))},v=()=>{s!==void 0&&y()};return{attach(w){var x,N;if(w){o=w,(x=r.win)==null||x.addEventListener("pagehide",v);return}s!==void 0&&y(),o=null,(N=r.win)==null||N.removeEventListener("pagehide",v)},edited(){!o||h||(f(),s=r.timers.set(y,Iv))},saveNow:y}}function bC({className:e}){const t=dt(),n=D(r=>r.zen);return d.jsx(Dt,{icon:"zen",className:e,label:"Full-bleed preview",hint:qt("zen"),tone:"chrome",on:n,tipAlign:"end",onClick:()=>t({a:"toggle-zen",file:Vy("editor")})})}const nS=900;function PZ(){return ks(et.editorSplit,!1,e=>e===null?void 0:e==="1")}const rS=[{id:"file",label:"file",tip:Ot("File: as it is now, with no diff")},{id:"inline",label:"inline",tip:Ot("Inline: old and new in one column")},{id:"split",label:"split",tip:Ot("Split: old beside new, taking the chat's room when the pane is too narrow for both")}];function DZ({at:e,onPick:t,columns:n=!0}){return d.jsx("span",{className:"editor-pair",children:d.jsx(Qa,{items:n?rS:rS.filter(r=>r.id!=="split"),current:e,onPick:r=>{r!==e&&t(r)},segmented:!0,dense:!0,font:"mono",label:"the diff",owner:"pane"})})}function zZ({src:e,path:t,full:n,onFull:r}){const o=wn("editor");return d.jsxs(d.Fragment,{children:[d.jsx("button",{type:"button",className:"editor-image",onClick:()=>r(!0),...o.contextMenu(()=>Ha(e,{open:()=>r(!0)})),children:d.jsx("img",{src:e,alt:t})}),n&&d.jsx(cd,{owner:"editor",onClose:()=>r(!1),menu:()=>Ha(e),children:d.jsx("img",{src:e,alt:t})})]})}function FZ({src:e,path:t}){return d.jsx("div",{className:"editor-video",children:d.jsx("video",{src:e,controls:!0,preload:"metadata",title:t})})}const BZ={image:zZ,video:FZ};function UZ({kind:e,src:t,path:n,openSeq:r,focus:o,full:s,onFull:a}){const l=S.useRef(null);ot([r],()=>{var h;o&&((h=l.current)==null||h.focus())});const u=BZ[e];return d.jsx("div",{ref:l,className:"editor-viewer",tabIndex:-1,children:d.jsx(u,{src:t,path:n,full:s,onFull:a})})}const cl="document-came",ll="document-gone",HZ=4e6;function xC(e,t){let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];)n++;let r=0;for(;r<e.length-n&&r<t.length-n&&e[e.length-1-r]===t[t.length-1-r];)r++;const o=e.length-n-r,s=t.length-n-r,a=[];for(let l=0;l<n;l++)a.push({k:"same",o:l,n:l});if(o*s>HZ){for(let l=0;l<o;l++)a.push({k:"gone",o:n+l});for(let l=0;l<s;l++)a.push({k:"came",n:n+l})}else if(o&&s){const l=Array.from({length:o+1},()=>new Uint16Array(s+1));for(let f=o-1;f>=0;f--)for(let p=s-1;p>=0;p--)l[f][p]=e[n+f]===t[n+p]?l[f+1][p+1]+1:Math.max(l[f+1][p],l[f][p+1]);let u=0,h=0;for(;u<o&&h<s;)e[n+u]===t[n+h]?a.push({k:"same",o:n+u++,n:n+h++}):l[u+1][h]>=l[u][h+1]?a.push({k:"gone",o:n+u++}):a.push({k:"came",n:n+h++});for(;u<o;u++)a.push({k:"gone",o:n+u});for(;h<s;h++)a.push({k:"came",n:n+h})}else{for(let l=0;l<o;l++)a.push({k:"gone",o:n+l});for(let l=0;l<s;l++)a.push({k:"came",n:n+l})}for(let l=0;l<r;l++)a.push({k:"same",o:n+o+l,n:n+s+l});return a}function Kp(e){return e.classList.contains("md-table")?"table":e.tagName==="UL"||e.tagName==="OL"?"list":"leaf"}const Nu=e=>Kp(e)==="table"?Array.from(e.querySelectorAll("tr")):Array.from(e.children),Ph=e=>Array.from(e.children);function oS(e){var n;const t=Kp(e);return t!=="table"?`${e.tagName} ${t}`:`table ${((n=e.querySelector("tr"))==null?void 0:n.children.length)??0}`}function Dh(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT);for(let r=n.nextNode();r;r=n.nextNode())t.push(r.data);return t.join(" ").replace(/\s+/g," ").trim()}const sS=new WeakMap;function iS(e){let t=sS.get(e);if(!t){const n=new Map,r=Dh(e).split(" ").filter(Boolean);for(const o of r)n.set(o,(n.get(o)??0)+1);t={count:r.length,words:n},sS.set(e,t)}return t}function WZ(e,t){if(oS(e)!==oS(t))return 0;if(e.tagName==="TR"&&e.children[0]&&t.children[0]&&Dh(e.children[0])===Dh(t.children[0]))return 1;const[n,r]=[iS(e),iS(t)];if(!n.count||!r.count)return 0;let o=0;for(const[s,a]of n.words)o+=Math.min(a,r.words.get(s)??0);return 2*o/(n.count+r.count)}const aS=.5;function Rv(e,t){const n=s=>`${s.tagName}
|
|
271
|
+
${s.innerHTML}`,r=xC(e.map(n),t.map(n)),o=[];for(let s=0;s<r.length;){const a=r[s];if(a.k==="same"){o.push(a),s++;continue}const l=[],u=[];for(;s<r.length&&r[s].k!=="same";s++){const y=r[s];y.k==="gone"?l.push(y.o):y.k==="came"&&u.push(y.n)}const h=l.map(y=>u.map(v=>WZ(e[y],t[v]))),f=Array.from({length:l.length+1},()=>new Float64Array(u.length+1));for(let y=l.length-1;y>=0;y--)for(let v=u.length-1;v>=0;v--){const w=h[y][v]>=aS?f[y+1][v+1]+h[y][v]:0;f[y][v]=Math.max(f[y+1][v],f[y][v+1],w)}let p=0,g=0;for(;p<l.length&&g<u.length;){const y=h[p][g];y>=aS&&f[p][g]===f[p+1][g+1]+y?o.push({k:"edit",o:l[p++],n:u[g++]}):f[p+1][g]>=f[p][g+1]?o.push({k:"gone",o:l[p++]}):o.push({k:"came",n:u[g++]})}for(;p<l.length;p++)o.push({k:"gone",o:l[p]});for(;g<u.length;g++)o.push({k:"came",n:u[g]})}return o}const KZ=/[\p{L}\p{N}]+(?:['’_-][\p{L}\p{N}]+)*|[^\s\p{L}\p{N}]/gu,EC=new Set(["IMG","INPUT"]),SC=new Set(["A","ABBR","B","BR","CODE","DEL","EM","I","INS","KBD","MARK","S","SMALL","SPAN","STRONG","SUB","SUP","U"]),vw=e=>!!e&&SC.has(e.tagName);function zh(e){const t=[],n=o=>{let s="";for(let a=o.parentNode;a&&a!==e;a=a.parentNode){const l=a;s+=l.tagName==="A"?`A ${l.getAttribute("href")??""}>`:`${l.tagName}>`}return s},r=document.createTreeWalker(e,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT);for(let o=r.nextNode();o;o=r.nextNode()){if(o.nodeType===Node.ELEMENT_NODE){const l=o;EC.has(l.tagName)&&t.push({key:n(l)+l.outerHTML,el:l});continue}const s=o,a=n(s);for(const l of s.data.matchAll(KZ))t.push({key:a+l[0],node:s,start:l.index,end:l.index+l[0].length})}return t}function ek(e,t){const n=e[t-1],r=e[t];return!n||!r||!("node"in n)||!("node"in r)?!0:n.node===r.node?/\s/.test(n.node.data.slice(n.end,r.start)):n.end<n.node.data.length||r.start>0}function _C(e,t){const n=xC(e.map(s=>s.key),t.map(s=>s.key)),r=[];for(const s of n){const a=s.k==="same",l=r[r.length-1];l&&l.same===a?l.ops.push(s):r.push({same:a,ops:[s]})}const o=s=>{const a=s.ops.filter(l=>l.k!=="came").length;return Math.max(a,s.ops.length-(s.same?0:a))};for(let s=1;s<r.length-1;){const[a,l,u]=[r[s-1],r[s],r[s+1]];if(!l.same||o(l)>=Math.min(o(a),o(u))){s++;continue}const h=l.ops.flatMap(f=>f.k==="same"?[{k:"gone",o:f.o},{k:"came",n:f.n}]:[]);r.splice(s-1,3,{same:!1,ops:[...a.ops,...h,...u.ops]}),s=Math.max(1,s-2)}return r.flatMap(s=>s.ops)}function bw(e,t,n,r,o,s=[]){const a=()=>{const p=document.createElement(r);return p.className=o,p},l=new Map,u=p=>{let g=l.get(p);return g||(g=[],l.set(p,g)),g},h=new Map;t.forEach((p,g)=>{if(!n[g])return;if("el"in p){const x=a();p.el.replaceWith(x),x.append(p.el),h.set(p.el,x);return}const y=u(p.node),v=t[g-1],w=y[y.length-1];w&&n[g-1]&&v&&"node"in v&&v.node===p.node?w.end=p.end:y.push({start:p.start,end:p.end})});const f=(p,g)=>{for(let y=g;vw(y)&&y!==e;y=y.parentNode)for(const v of p)if(typeof v!="string")for(const w of v.querySelectorAll(y.tagName))w.replaceWith(...w.childNodes);return p};for(const{before:p,nodes:g,back:y=0}of s){if(!p){e.append(...g);continue}if("el"in p){const x=h.get(p.el)??p.el;x.before(...f(g,x.parentNode));continue}const v=!y&&t.find(x=>"node"in x&&x.node===p.node)===p;let w=p.node;for(;v&&!w.previousSibling&&w.parentNode!==e&&vw(w.parentNode);)w=w.parentNode;f(g,w.parentNode),w!==p.node?w.before(...g):u(p.node).push({start:p.start-y,end:p.start-y,nodes:g})}for(const[p,g]of l){g.sort((y,v)=>v.start-y.start||(y.nodes?1:0)-(v.nodes?1:0));for(const y of g){if(y.nodes){p.splitText(y.start).before(...y.nodes);continue}p.splitText(y.end);const v=p.splitText(y.start),w=a();v.replaceWith(w),w.append(v)}}}function cS(e,t){const[n,r]=[zh(e),zh(t)],o=[],s=[];for(const a of _C(n,r))a.k==="gone"?o[a.o]=!0:a.k==="came"&&(s[a.n]=!0);bw(e,n,o,"del",ll),bw(t,r,s,"ins",cl)}function qZ(e,t,n){const r=document.createRange();"el"in t?r.setStartBefore(t.el):r.setStart(t.node,t.start),"el"in n?r.setEndAfter(n.el):r.setEnd(n.node,n.end);const o=document.createElement("del");o.className=ll;let s=r.cloneContents();if(Array.from(s.querySelectorAll("*")).some(l=>!SC.has(l.tagName)&&!EC.has(l.tagName)))return o.textContent=Dh(s),o;let a=r.commonAncestorContainer;for(a.nodeType===Node.TEXT_NODE&&(a=a.parentNode);vw(a)&&a!==e;a=a.parentNode){const l=a.cloneNode(!1);l.appendChild(s),s=l}return o.append(s),o}function lS(e,t){const n=t.cloneNode(!0),[r,o]=[zh(e),zh(n)],s=_C(r,o),a=[],l=[];for(let u=0,h=0;u<s.length;){const f=s[u];if(f.k==="same"){h=f.n+1,u++;continue}const p=[];for(;u<s.length&&s[u].k!=="same";u++){const N=s[u];N.k==="gone"?p.push(N.o):N.k==="came"&&(a[N.n]=!0)}if(!p.length)continue;const[g,y]=[p[0],p[p.length-1]],v=qZ(e,r[g],r[y]),w=o[h],x=ek(r,g);if(!w||!ek(o,h))l.push({before:w,nodes:x?[" ",v]:[v]});else if(x)l.push({before:w,nodes:ek(r,y+1)||a[h]?[v," "]:[v]});else{const N="node"in w?w.start-w.node.data.slice(0,w.start).trimEnd().length:0;l.push(N?{before:w,nodes:[v],back:N}:{before:w,nodes:[v," "]})}}return bw(n,o,a,"ins",cl,l),n}function NC(e,t){const n=Kp(e);if(n==="leaf"){cS(e,t);return}const[r,o]=[Nu(e),Nu(t)];for(const s of Rv(r,o))if(s.k==="gone")r[s.o].classList.add(ll);else if(s.k==="came")o[s.n].classList.add(cl);else if(s.k==="edit"&&n==="list")NC(r[s.o],o[s.n]);else if(s.k==="edit"){const[a,l]=[Ph(r[s.o]),Ph(o[s.n])];a.forEach((u,h)=>{const f=l[h];f&&u.innerHTML!==f.innerHTML&&cS(u,f)})}}function TC(e,t){const n=Kp(e);if(n==="leaf")return lS(e,t);const r=t.cloneNode(!0),[o,s,a]=[Nu(e),Nu(t),Nu(r)],l=Rv(o,s);return l.forEach((u,h)=>{var y;if(u.k==="same")return;if(u.k==="came"){a[u.n].classList.add(cl);return}if(u.k==="edit"&&n==="list"){a[u.n].replaceWith(TC(o[u.o],s[u.n]));return}if(u.k==="edit"){const v=Ph(o[u.o]);Ph(a[u.n]).forEach((w,x)=>{const N=v[x];N&&N.innerHTML!==w.innerHTML&&w.replaceWith(lS(N,w))});return}const f=o[u.o].cloneNode(!0);f.classList.add(ll);const p=l.slice(h+1).find(v=>v.k!=="gone"),g=p&&a[p.n];if(g&&((y=g.parentElement)==null?void 0:y.tagName)!=="THEAD")g.before(f);else{const v=r.querySelector("tbody")??r.querySelector("table")??r;g?v.prepend(f):v.append(f)}}),r}function uS(e){const t=document.createElement("template");return t.innerHTML=e,Array.from(t.content.childNodes).flatMap(n=>{var o;if(n.nodeType===Node.ELEMENT_NODE)return[n];if(n.nodeType!==Node.TEXT_NODE||!((o=n.textContent)!=null&&o.trim()))return[];const r=document.createElement("p");return r.append(n),[r]})}function ZZ(e,t,n){const r=uS(e),o=uS(t),s=Rv(r,o),a=document.createElement("div");if(!n){for(const h of s)h.k==="edit"?a.append(TC(r[h.o],o[h.n])):h.k==="gone"?(r[h.o].classList.add(ll),a.append(r[h.o])):(h.k==="came"&&o[h.n].classList.add(cl),a.append(o[h.n]));return a.innerHTML}const l=()=>{const h=document.createElement("div"),f=document.createElement("div");return a.append(h,f),{was:h,now:f}};let u=null;for(const h of s){if(h.k==="gone"||h.k==="came"){u??(u=l()),h.k==="gone"?(r[h.o].classList.add(ll),u.was.append(r[h.o])):(o[h.n].classList.add(cl),u.now.append(o[h.n]));continue}u=null,h.k==="edit"&&NC(r[h.o],o[h.n]);const{was:f,now:p}=l();f.append(r[h.o]),p.append(o[h.n])}return a.innerHTML}function GZ(e){const t=[];return e.map(n=>{for(;t.length&&t[t.length-1]>=n;)t.pop();if(n===1)return 0;const r=t.length;return t.push(n),r})}const VZ=12;function YZ(e,t,n){const r=Math.max(0,n/2-VZ);return Math.max(t-r,Math.min((e.top+e.bottom)/2,t+r))}function XZ(e){const t=new Map,n=Array.from(e.querySelectorAll("h1, h2, h3, h4, h5, h6")).filter(o=>!o.closest(".document-gone, .document-split > :nth-child(odd)")),r=GZ(n.map(o=>Number(o.tagName[1])));return n.map((o,s)=>{var u;const a=((u=o.textContent)==null?void 0:u.trim())??"",l=t.get(a)??0;return t.set(a,l+1),{id:`${l}
|
|
272
|
+
${a}`,level:Number(o.tagName[1]),depth:r[s],text:a,el:o}})}const QZ=48,JZ=16;function Ov({html:e,before:t,split:n=!1,openSeq:r=0,focus:o=!0,onLink:s,onChat:a,lead:l}){const u=S.useRef(null),h=S.useRef(null),f=S.useMemo(()=>t===void 0?e:ZZ(t,e,n),[t,e,n]),[p,g]=S.useState([]),[y,v]=S.useState(-1),[w,x]=S.useState(null),N=A=>{var I;if(x(null),A){const $=window.getSelection();$==null||$.removeAllRanges(),$==null||$.addRange(A)}(I=u.current)==null||I.focus()};ot([r],()=>{var A;o&&((A=u.current)==null||A.focus())}),ot([f],()=>{g(h.current?XZ(h.current):[])}),S.useLayoutEffect(()=>{const A=u.current;if(!A)return;let I=0;const $=()=>{if(I=0,A.scrollTop+A.clientHeight>=A.scrollHeight-1){v(p.length-1);return}const L=A.scrollTop+QZ;let P=-1;for(let B=0;B<p.length;B++)p[B].el.offsetTop<=L&&(P=B);v(P)},C=()=>{I||(I=requestAnimationFrame($))};return $(),A.addEventListener("scroll",C),()=>{A.removeEventListener("scroll",C),I&&cancelAnimationFrame(I)}},[p]);const E=A=>{var $,C;const I=($=p[A])==null?void 0:$.el;(C=u.current)==null||C.scrollTo({top:Math.max(0,I?I.offsetTop-JZ:0),behavior:"smooth"})},T=A=>{const I=A.target.closest("a"),$=I==null?void 0:I.getAttribute("href");!$||(I==null?void 0:I.target)==="_blank"||(A.preventDefault(),s==null||s($))},j=A=>{var I;if(Zy(A)){A.preventDefault(),A.stopPropagation();const $=(h.current&&vh(h.current))??"";x(C=>({seed:$||(C==null?void 0:C.seed)||"",seq:((C==null?void 0:C.seq)??0)+1}));return}if(A.key==="Escape"&&w){A.stopPropagation(),N(null);return}if(bT(A)&&h.current){A.preventDefault(),_T(h.current);return}if(a&&((I=XS(A))==null?void 0:I.id)==="composer"&&h.current){const $=vh(h.current);if(!$)return;A.preventDefault(),A.stopPropagation(),a($)}};return d.jsxs(d.Fragment,{children:[d.jsxs("div",{ref:u,className:"document",tabIndex:-1,onClick:T,onKeyDown:j,children:[l,d.jsx("div",{ref:h,className:We("md md-preview",t!==void 0&&n&&"document-split"),dangerouslySetInnerHTML:{__html:f}})]}),w&&d.jsx(Yj,{root:u,body:h,seed:w.seed,seq:w.seq,onClose:N}),d.jsx(eG,{heads:p,at:y,onJump:E})]})}function eG({heads:e,at:t,onJump:n}){const[r,o]=S.useState(null),s=r!==null,a=S.useRef(null),l=S.useRef(null);return S.useLayoutEffect(()=>{const u=s?l.current:null,h=u==null?void 0:u.querySelector('[data-state~="current"]');u&&h&&(u.scrollTop=h.offsetTop-(u.clientHeight-h.offsetHeight)/2)},[s]),e.length<2?null:d.jsxs(d.Fragment,{children:[d.jsx("div",{ref:a,className:"document-outline","aria-hidden":!0,onPointerEnter:u=>{u.pointerType==="mouse"&&o(h=>h??u.clientY)},onClick:u=>o(h=>h===null?u.clientY:null),children:e.map((u,h)=>d.jsx("span",{className:"document-outline-tick","data-level":u.level,"data-state":er({current:h===t})},u.id))}),r!==null&&d.jsx(Js,{className:"document-outline-list",anchor:()=>{var f,p;const u=(f=a.current)==null?void 0:f.getBoundingClientRect();if(!u)return null;const h=YZ(u,r,((p=l.current)==null?void 0:p.offsetHeight)??0);return{left:u.left,right:u.right,top:h,bottom:h}},placement:{side:"right",align:"center",cover:!0},trigger:a.current,boxRef:l,onDismiss:()=>o(null),onPointerLeave:u=>{u.pointerType==="mouse"&&o(null)},children:e.map((u,h)=>d.jsx("button",{type:"button",className:"row document-outline-row","data-level":u.level,"data-state":er({current:h===t}),onClick:()=>n(h),children:d.jsx("span",{className:"document-outline-label",style:{"--outline-depth":u.depth},children:u.text})},u.id))})]})}function jC({text:e,before:t,marks:n=!1,split:r=!1,path:o,worktreeId:s,version:a,openSeq:l,focus:u,onChat:h,lead:f}){Qe();const p=Lr(),g=dt(),y=vB(o),v={keepHtml:!0,base:a===void 0?void 0:{worktreeId:s,dir:y,version:a,urls:p}},w=ol(e,v),x=ol(t??"",v),N=E=>{const T=m$(y,E);T&&Cn({dispatch:g},{worktreeId:s,path:T,view:Hi(T)})};return d.jsx(Ov,{html:w,before:n&&t!==void 0?x:void 0,split:r,openSeq:l,focus:u,onLink:N,onChat:h,lead:f})}function tG({refs:e,worktreeId:t}){const n=Lr();return e.length===0?null:d.jsx("div",{className:"editor-piece-chips",children:e.map(r=>r.kind==="image"?d.jsx(Bp,{className:"in-chat",src:n.attachment(t,r.file),n:r.n,name:r.name,width:r.width,height:r.height,bytes:r.bytes},`image-${r.n}`):r.kind==="file"?d.jsx(zp,{className:"in-chat",name:r.name,bytes:r.bytes,href:r.text?n.attachment(t,r.file):void 0},`file-${r.n}`):r.kind==="paste"?d.jsx(Dp,{className:"in-chat",n:r.n,name:r.name,source:r.source,lines:r.lines,chars:r.chars,preview:r.preview,href:n.attachment(t,r.file)},`paste-${r.n}`):d.jsx(Up,{className:"in-chat",pick:r,worktreeId:t},`pick-${r.n}`))})}function nG(e){const t="repoName"in e&&e.repoName?` in ${e.repoName}`:"";switch(e.kind){case"starting":return"Starting.";case"failed":return`Could not start: ${e.error}`;case"here":return"This worktree's agent does it.";case"skipped":return"Skipped: nothing happened to it.";case"dropped":return e.reason;case"sent":return`Sent to ${e.title??"the worktree"}${t}.`;case"worktree":return`A worktree of its own${t}: ${e.title??"open it from the line above its text"}.`;case"queued":return`Queued until ${e.after?e.after.kind==="branch"?e.after.branch:e.after.title:e.said??"its turn"} lands.`}}function rG(e,t,n,r){const o=D(s=>s.visible);return S.useMemo(()=>{if(!e)return;const s=[];t!==null&&s.push({id:"plan",label:t});for(const a of WT(e)){const l=GF(e,a),u="worktreeId"in l?o.find(h=>h.worktree.id===l.worktreeId):void 0;s.push({id:a.id,lead:u?d.jsx("span",{className:`dot ${Gs(u)}`}):null,label:a.title})}if(!(s.length<2))return{items:s,current:n,onPick:r,owner:"handoff",label:"the plan and what it hands off",segmented:!0}},[e,t,n,r,o])}function oG({tabs:e}){const t=S.useRef(null),[n,r]=S.useState({start:!1,end:!1});return ot([e.items],()=>{var l;const o=(l=t.current)==null?void 0:l.querySelector(".tabs-list");if(!o)return;const s=()=>{const u=o.scrollLeft,h=u>1,f=u+o.clientWidth<o.scrollWidth-1;r(p=>p.start===h&&p.end===f?p:{start:h,end:f})};s(),o.addEventListener("scroll",s,{passive:!0});const a=new ResizeObserver(s);return a.observe(o),()=>{o.removeEventListener("scroll",s),a.disconnect()}}),ot([e.current],()=>{var o,s;(s=(o=t.current)==null?void 0:o.querySelector('.tabs-list [data-state~="current"]'))==null||s.scrollIntoView({block:"nearest",inline:"nearest"})}),d.jsxs("div",{ref:t,className:"editor-handoff-track","data-more-start":n.start?"":void 0,"data-more-end":n.end?"":void 0,children:[d.jsx("span",{className:"editor-handoff-mark",...Ot("Handed off from this plan"),children:d.jsx(Tt,{name:"handoff"})}),d.jsx(Qa,{...e})]})}function sG({item:e,piece:t}){var o,s;const n=Mu(e,t),r="repoName"in n&&n.repoName?` in ${n.repoName}`:"";switch(n.kind){case"starting":return d.jsx("span",{className:"live-text",children:"starting"});case"failed":case"skipped":case"dropped":return d.jsx(d.Fragment,{children:nG(n)});case"sent":return d.jsxs(d.Fragment,{children:["Sent to ",n.worktreeId?d.jsx(Kr,{id:n.worktreeId,title:n.title}):n.title??"the worktree",r,"."]});case"worktree":return d.jsxs(d.Fragment,{children:["A worktree of its own",r,": ",d.jsx(Kr,{id:n.worktreeId,title:n.title}),"."]});case"queued":return d.jsxs(d.Fragment,{children:["Queued until"," ",((o=n.after)==null?void 0:o.kind)==="branch"?d.jsx(Kr,{id:n.after.id,title:n.after.branch}):((s=n.after)==null?void 0:s.title)??n.said??"its turn"," ","lands."]});case"here":{const a=t.after,l=a&&"piece"in a?e.pieces.find(f=>f.id===a.piece):void 0,u=l?Mu(e,l):null,h=a&&"id"in a?d.jsx(Kr,{id:a.id,title:a.title}):u&&(u.kind==="worktree"||u.kind==="sent")&&u.worktreeId?d.jsx(Kr,{id:u.worktreeId,title:u.title??(l==null?void 0:l.title)}):l?l.title:null;return h?d.jsxs(d.Fragment,{children:["This worktree's agent does it, once ",h," lands."]}):d.jsx(d.Fragment,{children:"This worktree's agent does it."})}}}function iG({item:e,piece:t,alone:n,worktreeId:r,path:o,version:s,openSeq:a,focus:l,onChat:u}){const h=Qe(),f=T=>h==null?void 0:h.send(HT(e,r,t.id,T)),p=Qs(e,t),g=od(e,t),y=Ou(e)?ZF(t,e.pieces).filter(T=>T!==p):[],{title:v,rest:w}=S.useMemo(()=>V_(ZD(t)),[t]),x=ol(`# ${v}`),N=VF(e,t,n)&&d.jsx("p",{className:"editor-piece-line hint",children:Ou(e)?d.jsxs(d.Fragment,{children:[e.stale&&"The plan changed since these were read. ",KF(t,p,g),y.length>0&&d.jsxs(d.Fragment,{children:[" ","Instead:"," ",y.map((T,j)=>d.jsxs("span",{children:[j>0&&" · ",d.jsx(Le,{variant:"inline",onClick:()=>f(T),children:T==="send"&&t.to?`send to ${t.to.title}`:WF(t,T)})]},T))]})]}):d.jsx(sG,{item:e,piece:t})}),E=d.jsxs("div",{className:"md md-preview editor-piece-head",children:[d.jsx("div",{dangerouslySetInnerHTML:{__html:x}}),N,d.jsx(tG,{refs:t.attachments,worktreeId:r})]});return d.jsx(jC,{text:w,path:o,worktreeId:r,version:s,openSeq:a,focus:l,onChat:u,lead:E})}function aG(e){return`/${e.replace(/(^|\/)index\.html?$/i,"$1").split("/").map(encodeURIComponent).join("/")}`}const dS=6e4,cG=3e3,lG=e=>e.kind==="worktree"?`w:${e.worktreeId}:${e.path}`:e.kind==="loose"?`g:${e.grantId}`:`t:${e.text}`;function uG({source:e,path:t,version:n,openSeq:r,focus:o}){const s=S.useRef(null);ot([r],()=>{var y;o&&((y=s.current)==null||y.focus())});const a=Lr(),[l,u]=S.useState(null),[h,f]=S.useState(null),p=S.useRef(e);p.current=e;const g=lG(e);return S.useEffect(()=>{let y=!1,v;const w=()=>{kz(a,p.current).then(x=>{if(!y){if(x===null){v=setTimeout(w,cG);return}if(typeof x=="string"){f(x),u(null);return}f(null),u(x.url),v=setTimeout(w,Math.max(x.ms-dS,dS))}})};return w(),()=>{y=!0,clearTimeout(v)}},[a,g,n]),d.jsx("div",{ref:s,className:"editor-viewer",tabIndex:-1,children:h!==null?d.jsx("p",{className:"hint",children:h}):l!==null&&d.jsx("iframe",{className:"editor-frame",title:t,sandbox:"allow-scripts",referrerPolicy:"no-referrer",src:l})})}function dG({worktreeId:e,openSeq:t,focus:n}){const r=Qe(),o=D(p=>{var g;return(g=Xt(p,e))==null?void 0:g.worktree.pr}),s=D(p=>{var g;return(g=Xt(p,e))==null?void 0:g.worktree.prComments}),a=D(p=>Mr(p,e).prComments),l=s==null?void 0:s.version;ot([r,e,l],()=>{r==null||r.send({t:"pr-comments",worktreeId:e})});const u=S.useMemo(()=>pq(a??[]),[a]),h=GA((a==null?void 0:a.length)??0,(s==null?void 0:s.authors)??[]),f=d.jsxs("div",{className:"md md-preview pr-page",children:[d.jsx("h1",{children:o?`PR #${o.number}`:"Pull request"}),d.jsxs("p",{className:"pr-page-byline",children:[a===void 0?"reading what reviewers wrote":a.length===0?"no comments yet":d.jsxs(d.Fragment,{children:[h.count,h.rest]}),o&&d.jsxs(d.Fragment,{children:[" · ",d.jsx(Le,{variant:"inline",tone:"quiet",onClick:()=>Or(o.url),children:"on GitHub"})]})]}),u.reviews.map(p=>d.jsx(fS,{thread:p,worktreeId:e},p.root.id)),u.files.map(p=>d.jsxs("section",{children:[p.path&&d.jsx("h2",{className:"pr-page-path",children:p.path}),p.threads.map(g=>d.jsx(fS,{thread:g,worktreeId:e},g.root.id))]},p.path))]});return d.jsx(Ov,{html:"",openSeq:t,focus:n,lead:f})}function fS({thread:e,worktreeId:t}){const n=Pn();Qe();const{root:r,replies:o}=e,s=D(u=>u.activeId===t&&Ga(Xt(u,t))!==null),a=Tv(r),l=r.review?d.jsx("span",{className:"pr-page-verb","data-review":r.review,children:ZA(r.review)}):r.path&&a?d.jsxs(Le,{variant:"inline","data-tip":"Open the diff at this line",onClick:()=>r.path&&Cn({dispatch:n.dispatch},{worktreeId:t,path:r.path,view:"diff",...r.line?{line:{n:r.line}}:{}}),children:[r.startLine===void 0?"line":"lines"," ",a]}):null;return d.jsxs("div",{className:"pr-page-thread",children:[d.jsxs("div",{className:"pr-page-head",children:[d.jsx("span",{className:"pr-page-author",children:r.author}),l,d.jsx("span",{className:"pr-page-gap"}),d.jsx(hS,{url:r.url}),s&&d.jsx(Le,{variant:"outline",tone:"quiet","data-tip":"Put this in the message box for the agent",onClick:()=>Jf(n,{worktreeId:t,text:mq(e),name:gq(e)}),children:"add to chat"})]}),r.body&&d.jsx(pS,{text:r.body}),o.map(u=>d.jsxs("div",{className:"pr-page-reply",children:[d.jsxs("div",{className:"pr-page-head",children:[d.jsx("span",{className:"pr-page-author",children:u.author}),d.jsx("span",{className:"pr-page-gap"}),d.jsx(hS,{url:u.url})]}),d.jsx(pS,{text:u.body})]},u.id))]})}function hS({url:e}){return d.jsx(Le,{variant:"inline",tone:"quiet",onClick:()=>Or(e),children:"GitHub"})}function pS({text:e}){const t=S.useMemo(()=>Pa(e),[e]);return d.jsx("div",{className:"pr-page-body",onClick:Ay,dangerouslySetInnerHTML:{__html:t}})}function fG({text:e,path:t,openSeq:n,focus:r,full:o,onFull:s}){const a=S.useRef(null);ot([n],()=>{var u;r&&((u=a.current)==null||u.focus())});const l=S.useMemo(()=>`data:image/svg+xml;charset=utf-8,${encodeURIComponent(e)}`,[e]);return d.jsxs("div",{ref:a,className:"editor-viewer editor-svg",tabIndex:-1,children:[d.jsx("button",{type:"button",className:"editor-image",onClick:()=>s(!0),children:d.jsx("img",{src:l,alt:t})}),o&&d.jsx(cd,{owner:"editor",onClose:()=>s(!1),children:d.jsx("img",{className:"editor-svg-full",src:l,alt:t})})]})}function hG(){return ks(et.editorWrap,!1,e=>e===null?void 0:e==="1")}const pG=S.lazy(async()=>{const[e]=await Promise.all([ww(()=>import("./Editor-v7DPr3mY.js").then(t=>t.E),__vite__mapDeps([0,1,2])),ww(()=>import("./grammar-DqAbMw7d.js"),[]).then(t=>t.grammarsReady)]);return e});function mS({what:e}){return aT(!0,3e3)?d.jsx("div",{className:"empty",children:d.jsxs("span",{className:"live-text",children:["loading ",e]})}):null}const mG=()=>{},gG=[],kG=[{id:"preview",label:"preview",tip:Ot("Preview: read it rendered")},{id:"code",label:"code",tip:Ot("Code: read and edit the text")}];function wG({path:e,note:t,title:n,worktreeId:r}){const o=Pn(),s=Np(),a=SN(e),l=n??a.name,u=n?"":a.dir;return d.jsxs("span",{className:"editor-title","data-tip":u||n?e:void 0,draggable:s&&!!r,onDragStart:r?h=>Pu(h,{kind:"paths",worktreeId:r,items:[{path:e,folder:!1}]}):void 0,onDragEnd:r?()=>id(o):void 0,children:[d.jsxs("span",{className:"editor-name",children:[l,t]}),u&&d.jsx("span",{className:"editor-dir row-dim",children:u})]})}function $C({editor:e,height:t,full:n=!1,onToggleFull:r,onDragStart:o,placement:s="stack",headIn:a}){const l=s==="screen",u=dt(),h=Pn(),f=Qe(),p=Lr(),g=xy(),y=wp(),{worktreeId:v,path:w,ref:x,since:N}=e,E=e.loose,T=(E==null?void 0:E.source.kind)==="pr-comments",j=D(Oe=>{var pt;return((pt=Ho(Oe))==null?void 0:pt.id)===v}),A=D(Oe=>{var Ht,an;const pt=(Ht=Xt(Oe,v))==null?void 0:Ht.worktree;return pt?pt.path:(an=Ho(Oe))==null?void 0:an.path}),I=x!==void 0,$=D(Oe=>{var pt;return(pt=Xt(Oe,v))==null?void 0:pt.worktree.plan}),C=!E&&!I&&$===w,L=Sv(C?v:void 0,C?w:void 0),P=D(Oe=>MF(Mr(Oe,v).chat??gG,w,$)),B=I||E||e.view!=="preview"?null:P,[q,ne]=S.useState(null);ot([B==null?void 0:B.id,w],()=>ne(null)),ot([e.seq],()=>{e.piece&&ne(e.piece)});const Q=!!B&&!PF(B),le=B?q!==null&&(q==="plan"?Q:B.pieces.some(Oe=>Oe.id===q))?q:YF(B,Q):"plan",te=B&&le!=="plan"?B.pieces.find(Oe=>Oe.id===le)??null:null,Z=rG(B,Q?"Plan":null,le,ne),R=S.useMemo(()=>E?MZ(E.source,w,Oe=>u({a:"editor-refused",file:{worktreeId:v,path:w},message:Oe}),RZ(f?Oe=>f.send(Oe):null)):(g==null?void 0:g.bind({worktreeId:v,path:w,...x?{ref:x}:{},...N?{since:N}:{}}))??vC,[g,v,w,x,N,E,u,f]),J=D(Oe=>Mr(Oe,v).changedRanges[w]);S.useEffect(()=>{!J&&!I&&!j&&!E&&(f==null||f.send({t:"changed-ranges",worktreeId:v,path:w}))},[v,w,J,I,j,E,f]);const F=(J==null?void 0:J.offset)??0,O=e.disk,W=qa(w),ie=e.view??(W==="markdown"?"preview":"diff"),he=!!O&&(O.before===""||O.before===O.after),ye=(E==null?void 0:E.source.kind)==="grant"?E.source:null,$e=I||j||E&&!ye?null:X4(w),[Be,Ne]=S.useState(!1),H=$e==="image"||ie==="preview"&&W==="svg"&&!!O&&!O.binary&&!O.tooLarge,[ae,X]=hG(),oe=!!O&&!T&&!$e&&!O.binary&&!O.tooLarge&&ie!=="preview",we=ie==="preview"&&W==="markdown"&&!!O&&!T&&!$e&&!O.binary&&!O.tooLarge&&!he&&!te,Pe=we&&e.marks,Re=!T&&!$e&&!(O&&(O.binary||O.tooLarge)),Ke=Re&&!!W,tt=Re&&!E&&!he&&(ie!=="preview"||we),at=ie==="preview"?Pe:ie==="diff",Mt=Oe=>u(ie==="preview"?{a:"editor-marks",v:Oe}:{a:"editor-view",v:Oe?"diff":"file"}),en=Oe=>{Oe!==(ie==="preview"?"preview":"code")&&u(Oe==="preview"?{a:"editor-view",v:"preview",marks:ie==="diff"}:{a:"editor-view",v:he||E||we&&!Pe?"file":"diff"})},[ft,Ze]=PZ(),sn=S.useRef(null),Ut=m6(sn,nS),zt=S.useRef(!1),Zt=D(Oe=>Oe.layout.chat);ot([Zt],()=>{Zt&&(zt.current=!1)});const st=S.useCallback(()=>{if(!zt.current)return;zt.current=!1;const Oe=h.getState();!Oe.layout.chat&&!Ao(Oe)&&u({a:"show-chat"})},[h,u]),ht=Oe=>{var an;if(Ze(Oe),!Oe){st();return}const pt=h.getState(),Ht=((an=sn.current)==null?void 0:an.clientWidth)??Number.POSITIVE_INFINITY;pt.layout.chat&&!Ao(pt)&&!ys(pt)&&Ht<nS&&(zt.current=!0,u({a:"toggle-chat"}))};S.useEffect(()=>st,[st]);const vn=Oe=>{if(Oe==="file"){Mt(!1),st();return}at||Mt(!0),ht(Oe==="split")},xt=e.line&&!e.line.fiber?e.line.n:void 0,ct=D(Oe=>{var pt;return((pt=Iu(Oe))==null?void 0:pt.worktreeId)===v}),Tn=D(ys),pn=ct&&!l&&!I&&!j&&!E&&W==="html",In=()=>{cn.post(v,{type:"navigate",path:aG(w)}),ys(h.getState())?u({a:"zen-page"}):n&&(r==null||r())};return d.jsxs(Yy,{kind:"editor",className:We("editor-pane",n&&"full"),height:n||l?void 0:t,resizable:!n&&!l,onDragStart:o??mG,title:d.jsx(wG,{path:w,note:I?` at ${x==null?void 0:x.slice(0,7)}`:N?", last turn":void 0,title:C&&L?L:void 0,worktreeId:E?void 0:v}),menu:()=>A&&!E?Ws({id:v,dir:A},w,{discard:!I&&!j,kept:j,ref:x,showing:e.view??void 0,noDiff:he},{sock:f,dispatch:u}):[],onClose:Tn?void 0:()=>u({a:"close-editor"}),headIn:a,full:n,onToggleFull:l?void 0:r,actions:d.jsxs(d.Fragment,{children:[oe&&d.jsx(Dt,{icon:"wrap",tone:"chrome",on:ae,"aria-pressed":ae,label:"Wrap lines: fold a long line at the pane's edge",onClick:()=>X(!ae)}),Ke&&d.jsx("span",{className:"editor-pair",children:d.jsx(Qa,{items:kG,current:ie==="preview"?"preview":"code",onPick:en,segmented:!0,dense:!0,font:"mono",label:"the page or its text",owner:"pane"})}),H&&d.jsxs(Le,{variant:"outline",tone:"quiet",mono:!0,className:"deep-link",onClick:()=>Ne(!0),"data-tip":"Full size: see the picture over the window",children:[d.jsx(Tt,{name:"zen",className:"icon-inline"})," full size"]}),tt&&d.jsx(DZ,{at:at?ft&&!l?"split":"inline":"file",onPick:vn,columns:!l}),pn&&d.jsxs(Le,{variant:"outline",tone:"quiet",mono:!0,className:"deep-link",onClick:In,"data-tip":"Run: open the page in the preview, with its scripts on",children:[d.jsx(Tt,{name:"run",className:"icon-inline"})," run"]}),Tn&&!a&&d.jsx(bC,{})]}),children:[O&&d.jsx(yG,{editor:e,disk:O,files:g}),Z&&d.jsx(oG,{tabs:Z}),d.jsx("div",{className:"editor-body",ref:sn,children:T?d.jsx(dG,{worktreeId:v,openSeq:e.seq,focus:e.focus}):O?$e?d.jsx(UZ,{kind:$e,src:ye?p.loose(ye.id,ye.version):p.worktreeFile(v,w,O.version),path:w,openSeq:e.seq,focus:e.focus,full:Be,onFull:Ne}):O.binary?d.jsx("div",{className:"empty",children:"not a text file: open it in another editor"}):O.tooLarge?d.jsx("div",{className:"empty",children:"too large to open here: open it in another editor"}):ie==="preview"&&B&&te?d.jsx(iG,{item:B,piece:te,alone:!Z,worktreeId:v,path:w,version:I||j||E?void 0:O.version,openSeq:e.seq,focus:e.focus,onChat:Oe=>Jf(h,{worktreeId:v,text:Oe,name:w})}):ie==="preview"&&W==="svg"?d.jsx(fG,{text:O.after,path:w,openSeq:e.seq,focus:e.focus,full:Be,onFull:Ne}):ie==="preview"&&W==="html"?d.jsx(uG,{source:ye?{kind:"loose",grantId:ye.id}:I||j||E?{kind:"text",text:O.after}:{kind:"worktree",worktreeId:v,path:w},path:w,version:O.version,openSeq:e.seq,focus:e.focus}):ie==="preview"?d.jsx(jC,{text:O.after,before:we?O.before:void 0,marks:Pe,split:ft&&Ut&&!l,path:w,worktreeId:v,version:I||j||E?void 0:O.version,openSeq:e.seq,focus:e.focus,onChat:Oe=>Jf(h,{worktreeId:v,text:Oe,name:w})}):d.jsx(By,{pane:!0,children:d.jsx(S.Suspense,{fallback:d.jsx(mS,{what:ie}),children:d.jsx(pG,{file:{worktreeId:v,path:w,...x?{ref:x}:{},...N?{since:N}:{}},disk:O,blame:e.blame,view:ie,openSeq:e.seq,line:xt,focus:e.focus,readOnly:I||!O.writable||l,numbers:!l,wrap:ae,split:ft,theme:y,sync:R,onCopy:E?void 0:(Oe,pt,Ht)=>Q6(Ht,{worktreeId:v,path:Oe,...pt,...x?{ref:x}:{}}),onChat:(Oe,pt)=>Jf(h,pt&&(E?{worktreeId:v,text:pt.text,name:Oe}:{worktreeId:v,text:pt.text,source:{path:Oe,startLine:pt.startLine,endLine:pt.endLine,...x?{ref:x}:{}}})),onNew:()=>h.dispatch({a:"open-draft"}),onLineHover:I||E?void 0:Oe=>{Oe==null?cn.post(v,{type:"highlight-clear"}):cn.post(v,{type:"highlight-file",path:w,ranges:[[Oe+F,Oe+F]]})}},`${v}
|
|
273
|
+
${E?"loose":x??N??""}
|
|
274
|
+
${w}`)})}):d.jsx(mS,{what:w},w)})]})}function yG({editor:e,disk:t,files:n}){var h,f;const{worktreeId:r,path:o,ref:s,since:a,conflict:l}=e,u={worktreeId:r,path:o,...s?{ref:s}:{},...a?{since:a}:{}};if(l){const p=l.version===null;return d.jsxs("div",{className:"editor-note",children:[d.jsx("span",{className:"editor-note-text",children:p?"deleted on disk; your edits are not saved":"changed on disk; your edits are not saved"}),d.jsx(Le,{variant:"outline",onClick:()=>n==null?void 0:n.reload(u),"data-tip":p?"Close the file; your edits go with it":"Take the file as it is on disk; undo brings your edits back",children:p?"close":"reload"}),d.jsx(Le,{variant:"outline",tone:"danger",onClick:()=>n==null?void 0:n.keepMine(u),"data-tip":p?"Save your edits as the file again":"Save your edits over the file on disk",children:"keep mine"})]})}return e.refused?d.jsx("div",{className:"editor-note",children:d.jsx("span",{className:"hint",children:e.refused})}):((h=e.loose)==null?void 0:h.source.kind)==="pr-comments"?null:((f=e.loose)==null?void 0:f.source.kind)==="text"&&!t.writable?d.jsx("div",{className:"editor-note",children:d.jsx("span",{className:"hint",children:"read-only: the message as it was sent, kept in the chat and not in a file"})}):e.loose&&!t.writable&&!t.tooLarge&&!t.binary?d.jsx("div",{className:"editor-note",children:d.jsxs("span",{className:"hint",children:["read-only: ",o," is not in a project; drop it on a folder in files to add it"]})}):s===void 0&&!t.writable&&!t.binary&&!t.tooLarge?d.jsx("div",{className:"editor-note",children:d.jsx("span",{className:"hint",children:"read-only: Toyon does not run this worktree"})}):null}function AC(e,t,n=!1){var o;const r=((o=t.find(s=>s.id===(e==null?void 0:e.repoId)))==null?void 0:o.defaultBranch)??"the default branch";return e!=null&&e.building?{text:`Rebuilding Toyon from ${r}`,busy:!0}:e!=null&&e.buildFailed?{text:"Rebuilding Toyon stopped",detail:e.buildFailed,build:"try again",busy:!1}:e!=null&&e.rebuild?{text:`Toyon's shell is behind ${r}`,build:"rebuild",busy:!1}:e!=null&&e.restart?{text:n?`Toyon itself is behind ${r}; this page reloads once it has restarted`:`Toyon itself is behind ${r}`,restart:!0,busy:!1}:n?{text:"Toyon's shell was rebuilt while this page was open",reload:!0,busy:!1}:null}const vG=(e,t)=>{const n=vk(t);switch(e){case"npm":case"bun":return`installed with ${e}. A newer version from ${n} installs itself when nothing is busy; press to check now and install one if it is out`;case"npx":return`run with npx, which fetches the newest version from ${n} itself. Press to check for one now`;case"none":return"run from a checkout, which does not update itself. Press to check for a newer release"}},bG="https://toyon.dev",Fh="https://github.com/toyon-dev/toyon",xG=e=>`${Fh}/releases/tag/v${e}`,EG=`${Fh}/releases/latest`,SG=4e3;function _G(e,t,n,r){if(r==="asking")return{value:`${e} checking`,text:`Asking ${vk(n)} for the newest version`,act:"check",busy:!0};const o=vk(r.registry),s={act:"check",busy:!1};if(r.latest===null)return{...s,value:`${e} no answer`,text:`Could not reach ${o}. Press to ask again`,settles:!0};if(rN(r.latest,e)){const a=t==="none"?"This copy runs from a checkout, so pull to get it":t==="npx"?`This copy runs with npx, so run npx toyon@${r.latest} to use it`:"It installs once no chat is replying";return{...s,value:`${r.latest} out`,text:`Toyon ${r.latest} is out. ${a}`}}return{...s,value:`${e} up to date`,text:`Toyon ${e} is the newest version ${o} lists. Press to ask again`,settles:!0}}function NG(e,t,n,r,o,s=!1,a=null,l=null){if(n){if(n.restarting){const h=n.installed??n.running,f=n.restarting.length>0?pj(n.restarting):"Toyon is restarting; this page reloads when it is back";return{value:`${h} restarting`,text:f,act:"restart",busy:!0}}if(n.installing){const h=n.latest??n.installed??n.running;return{value:`${h} installing`,text:`Installing Toyon ${h}`,act:"update",busy:!0}}if(n.failed){const h=n.failed.line.replace(/\.$/,"");return{value:`${n.running} update failed`,text:`Installing Toyon ${n.failed.version} stopped: ${h}. Press to try again, or run ${n.failed.command}`,act:"update",busy:!1}}if(n.installed)return{value:`${n.installed} ready`,text:`Toyon ${n.installed} is installed and ${n.running} is still running. It restarts onto the new one when nothing is busy; press to restart now`,act:"restart",busy:!1};if(n.latest)return{value:`${n.latest} out`,text:n.method==="npx"?`Toyon ${n.latest} is out. This copy runs with npx, so run npx toyon@${n.latest} to use it`:`Toyon ${n.latest} is out and installs when nothing is busy; press to install now`,act:"update",busy:!1}}const u=AC(r,o,s);return u?u.busy?{value:`${e} rebuilding`,text:u.text,act:"rebuild",busy:!0}:u.reload?{value:`${e} rebuilt`,text:u.text,act:"reload",busy:!1}:u.build==="try again"?{value:`${e} rebuild stopped`,text:u.text,detail:u.detail,act:"rebuild",busy:!1}:{value:`${e} behind`,text:u.text,act:u.build?"rebuild":"restart",busy:!1}:l?_G(e,t,a,l):{value:e,text:`Toyon ${e}, ${vG(t,a)}`,act:"check",busy:!1}}function TG(e,t,n){const r=o=>()=>Or(o);return Ln([t?[{id:"check-update",label:"check for updates",...t.off?{disabled:t.off}:{},onClick:t.run}]:[],[n?{id:"release-notes",label:"release notes",onClick:n}:{id:"release-notes",label:`release notes for ${e}`,onClick:r(xG(e))},{id:"latest-release",label:"latest release",onClick:r(EG)},{id:"site",label:"toyon.dev",onClick:r(bG)},{id:"repo",label:"Toyon on GitHub",onClick:r(Fh)},{id:"report",label:"report a problem",onClick:r(`${Fh}/issues/new`)}],[{id:"copy-version",label:"copy version",onClick:()=>nn(e)}]])}const jG=MR.map(e=>({title:e,rows:DR(e).map(t=>[qt(t),yu[t].label])}));function $G(){const e=dt(),t=Qe(),n=wn("keys"),r=D(g=>g.themePrefs),o=D(g=>g.themes),s=D(g=>g.chatSide),a=D(g=>g.keepAwake),l=by(),u=D(g=>g.agents),h=hl(),f=D(g=>g.rows),p=g=>{e({a:"palette-return",v:{mode:"keys",q:""}}),e(g)};return d.jsxs(Wu,{bare:!0,boxClass:"keys-stack",id:"keys-help",onClose:()=>e({a:"close"}),children:[d.jsxs("div",{className:"keys-card",children:[d.jsxs("div",{children:[h&&d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"section-title keys-h",children:h.name}),d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:"processes"}),d.jsx(Le,{variant:"field",mono:!0,className:"keys-chip","data-tip":`edit the install + start commands in ${h.configFile}`,onClick:()=>e({a:"open",overlay:{kind:"setup",repoId:h.id}}),...n.contextMenu(()=>Ap(h,h.id,{sock:t,dispatch:e},f)),children:d.jsx("span",{className:"keys-v",children:Object.keys(h.config.run).join(" + ")||"not set up"})})]})]}),d.jsx("div",{className:"section-title keys-h",children:"Agents"}),u.map(g=>d.jsx(IG,{agent:g},g.id))]}),d.jsxs("div",{children:[d.jsx("div",{className:"section-title keys-h",children:"Appearance"}),d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:"mode"}),d.jsx(Le,{variant:"field",mono:!0,onClick:()=>p({a:"open",overlay:{kind:"appearance"}}),children:Nh[r.mode]})]}),d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:"theme"}),d.jsx(Le,{variant:"field",mono:!0,onClick:()=>p({a:"open",overlay:{kind:"theme",slot:"theme"}}),children:up(r,o,l).name})]}),d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:"chat side"}),d.jsx(Le,{variant:"field",mono:!0,onClick:()=>e({a:"toggle-chat-side"}),children:s})]}),d.jsx("div",{className:"section-title keys-h",children:"Toyon"}),a!==null&&d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:"keep awake"}),d.jsx(Le,{variant:"field",mono:!0,onClick:()=>p({a:"open",overlay:{kind:"keep-awake"}}),children:Th[a]})]}),d.jsx(AG,{}),d.jsx(CG,{})]})]}),d.jsx("div",{className:"keys-card",children:jG.map(g=>d.jsxs("div",{children:[d.jsx("div",{className:"section-title keys-h",children:g.title}),g.rows.map(([y,v])=>d.jsxs("div",{className:"keys-row",children:[d.jsx(ss,{k:y}),d.jsx("span",{className:"keys-d",children:v})]},y))]},g.title))})]})}function AG(){const e=Qe(),t=dt(),n=wn("keys"),r=D(T=>T.version),o=D(T=>T.install),s=D(T=>T.registry),a=D(T=>T.update),l=D(T=>T.self),u=D(T=>T.rebuilt),h=D(T=>T.repos),f=D(T=>T.managed.updates),p=D(T=>T.updateCheck),g=D(T=>T.frame),y=D(T=>T.newProject!==null),v=NG(r,o,a,l,h,u,s,p),w=!f&&(v.act==="update"||v.act==="check"),x=v.settles&&p&&p!=="asking"?p:null;S.useEffect(()=>{if(!x)return;const T=()=>t({a:"update-check-settle",check:x}),j=setTimeout(T,SG);return()=>{clearTimeout(j),T()}},[x,t]);const N=()=>{v.act==="restart"?e==null||e.send({t:"restart-daemon"}):v.act==="reload"?window.location.reload():v.act==="rebuild"&&l?e==null||e.send({t:"run-after-land",repoId:l.repoId}):v.act==="update"?e==null||e.send({t:"update-now"}):v.act==="check"&&e&&(t({a:"update-check"}),e.send({t:"check-update"}))},E=()=>TG(r,v.act==="check"&&!v.busy?{run:N,...w?{off:"managed by your organization"}:{}}:null,g==="phone"||y?void 0:()=>t({a:"open-release-notes"}));return d.jsxs("div",{className:"keys-setting",...n.contextMenu(E),children:[d.jsx("span",{className:"keys-d",children:"version"}),d.jsx(Le,{variant:"field",mono:!0,busy:v.busy,disabled:w,onClick:N,...Ot(w?"updates are managed by your organization":v.text,void 0,{detail:v.detail}),children:v.value})]})}function CG(){const e=D(n=>n.managed);if(e.source===null)return null;const t=e.problem?"the policy file on this machine is invalid, so everything it governs is off; toyon doctor says why":`managed by your organization: ${ID(e).join(", ")||"nothing turned off"}`;return d.jsx("div",{className:"hint",children:t})}function CC(e){return e.available?e.auth?e.auth.kind==="none"?"not logged in":e.auth.label:e.checkFailed?"not ready":"ready":e.installing?"installing":"not installed"}function IC(e){var n,r;return e.available?e.checkFailed?e.checkFailed:e.auth?[e.auth.detail,(n=e.auth.account)==null?void 0:n.email,(r=e.auth.account)==null?void 0:r.organization].filter(Boolean).join(" · ")||e.auth.label:"installed; it names the account it runs on the first time it runs":Wp(e)}function IG({agent:e}){const t=dt(),n=Qe(),r=wn("keys");return d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:e.name}),d.jsx(Le,{variant:"field",mono:!0,"data-tip":IC(e),...r.contextMenu(()=>_v(e,{sock:n})),onClick:()=>{t({a:"palette-return",v:{mode:"keys",q:""}}),t({a:"open",overlay:{kind:"agent-page",agent:e.id}})},children:CC(e)})]})}function RG({agentId:e}){const t=dt(),n=Qe(),r=hl(),o=D(y=>y.home),s=D(y=>y.agents.find(v=>v.id===e)??null),a=D(y=>y.agentConfigs[e]??null),l=wn("keys");if(S.useEffect(()=>{n==null||n.send({t:"agent-config",agent:e,...r?{repoId:r.id}:{}})},[n,e,r]),yC(n,e,s??void 0),!s)return null;const u=_v(s,{sock:n}).filter(y=>y.id!=="install"),h=nq(s),f=()=>t({a:"close",back:!0}),p=y=>o&&y.startsWith(`${o}/`)?`~${y.slice(o.length)}`:y,g=y=>n==null?void 0:n.send({t:"reveal-agent-file",agent:e,file:y.id,...r?{repoId:r.id}:{}});return d.jsx(Wu,{bare:!0,boxClass:"keys-stack",onClose:f,children:d.jsxs("div",{className:"keys-card keys-settings",children:[d.jsx("div",{className:"agent-page-back",children:d.jsx(Dt,{icon:"back",label:"back to settings",hint:"esc",onClick:f})}),d.jsx("div",{className:"section-title keys-h",children:s.name}),d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:"signed in"}),d.jsx(Le,{variant:"field",mono:!0,"data-tip":IC(s),disabled:u.length===0,...l.dropdown(()=>u,"right"),children:CC(s)})]}),h&&d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:h.text}),h.busy?d.jsx("span",{className:"keys-d live-text",children:"installing"}):d.jsx(Le,{variant:"field",mono:!0,"data-tip":h.why,onClick:()=>n==null?void 0:n.send(Nv(s)),children:h.verb})]}),d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:"commit messages"}),d.jsx("span",{className:"keys-d",children:s.quick?"its quick model writes one after each turn":"none: it offers no small model, so you write them in the changes panel"})]}),d.jsx("div",{className:"section-title keys-h",children:"MCP servers it will load"}),a===null?d.jsx("div",{className:"keys-setting",children:d.jsx("span",{className:"keys-d live-text",children:"reading"})}):a.servers.length===0?d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:"none configured"}),d.jsx("span",{className:"keys-d",children:"add one with the agent's own CLI, or a .mcp.json in the repo"})]}):a.servers.map(y=>d.jsx(OG,{s:y},`${y.scope}:${y.name}`)),a&&a.files.length>0&&d.jsxs(d.Fragment,{children:[d.jsx("div",{className:"section-title keys-h",children:"the files it reads"}),a.files.map(y=>d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{className:"keys-d",children:y.label}),y.exists?d.jsx(Le,{variant:"field",mono:!0,"data-tip":`reveal ${p(y.path)} in Finder`,onClick:()=>g(y),children:p(y.path)}):d.jsxs("span",{className:"keys-d",children:["not present: ",p(y.path)]})]},y.id))]})]})})}function OG({s:e}){return d.jsxs("div",{className:"keys-setting",children:[d.jsx("span",{children:e.name}),d.jsx("span",{className:"keys-d",children:e.detail?`${e.scope} · ${e.detail}`:e.scope})]})}function MG(){const e=dt(),t=Qe(),n=D(o=>o.agents),r=D(o=>o.defaultAgent);return d.jsx(Gr,{items:n,filter:(o,s)=>o.filter(a=>os(s,a.name,a.id)),rowClass:o=>o.available?"picker-row":"picker-row dim",keyOf:o=>o.id,initialIndex:o=>Math.max(0,o.findIndex(s=>s.id===r)),onPick:o=>{o.available&&(t==null||t.send({t:"set-default-agent",agent:o.id}),e({a:"close"}))},onBack:()=>e({a:"close",back:!0}),rowMenu:o=>_v(o,{sock:t}),placeholder:"default agent for new worktrees",row:o=>d.jsx(An,{label:o.name,current:o.id===r,hint:o.available?o.checkFailed??(o.sandboxed?void 0:"unsandboxed"):Wp(o)})})}const LG=["dark","light","system","daylight"],PG=new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"});function DG(){const e=dt(),t=Qe(),n=D(u=>u.themePrefs),r=D(u=>u.themes),o=by(),s=D(u=>u.daylight),a=u=>{var h;return((h=r.find(f=>f.id===n[Jw({...n,mode:u},o)]))==null?void 0:h.name)??""},l=u=>{if(u==="system")return`${o.system?"dark":"light"} now · ${a(u)}`;if(u!=="daylight")return a(u);const h=s&&s.until>Date.now()?` · ${o.daylight?"light":"dark"} at ${PG.format(s.until)}`:"";return`${o.daylight?"dark":"light"} now${h} · ${a(u)}`};return d.jsx(Gr,{items:LG,filter:(u,h)=>u.filter(f=>os(h,Nh[f])),rowClass:()=>"picker-row",keyOf:u=>u,initialIndex:u=>u.indexOf(n.mode),onActive:u=>e({a:"preview-theme",theme:u?up({...n,mode:u},r,o):null}),onPick:u=>{t==null||t.send({t:"set-theme",prefs:{...n,mode:u}}),e({a:"close"})},onBack:()=>e({a:"close",back:!0}),placeholder:"light/dark mode",row:u=>d.jsx(An,{label:Nh[u],current:u===n.mode,hint:l(u)})})}const zG=2,xw=e=>J_(e).join(" ").length<zG,FG=e=>({kind:"chat",id:e.id,name:e.name,hint:e.branch??"",fields:[e.name,e.branch??""]}),BG=e=>({kind:"chat",id:e.id,name:e.title,hint:Wj(e),fields:[e.title,e.branch],prompt:e.prompt,archived:e});function UG(e,t,n){const r=J_(t),o=n==="all"&&!xw(t);return e.filter(s=>{if(s.kind==="hit")return o;const a=n==="names"&&s.prompt?[...s.fields,s.prompt]:s.fields;return r.every(l=>a.some(u=>u.toLowerCase().includes(l)))})}const HG=e=>e.flatMap(([t,n])=>Array.from({length:n},(r,o)=>t+o));function WG({repoId:e,scope:t}){const n=dt(),r=Qe(),o=D(j=>j.clientId),s=D(j=>j.frame),a=D(j=>j.chats[e]),l=Ny(),u=D(j=>j.archived[e]),[h,f]=S.useState(t),p=S.useCallback(()=>f(j=>j==="all"?"names":"all"),[]);S.useEffect(()=>{r==null||r.send({t:"list-archived",repoId:e})},[r,e]);const g=S.useMemo(()=>[...l.filter(j=>!$r(j.worktree)).map(FG),...(u??[]).map(BG)],[l,u]),y=S.useMemo(()=>new Map(g.map(j=>[j.id,j])),[g]),v=S.useMemo(()=>[...g,...((a==null?void 0:a.hits)??[]).map(j=>({kind:"hit",hit:j}))],[g,a]),w=S.useMemo(()=>{const j=new Map;for(const A of(a==null?void 0:a.hits)??[])j.set(A.worktreeId,Math.max(j.get(A.worktreeId)??0,A.ts));return j},[a]),x=S.useCallback((j,A)=>UG(j,A,h),[h]),N=S.useCallback(j=>{h==="all"&&!xw(j)&&(r==null||r.send({t:"search-chats",repoId:e,query:j.trim()}))},[r,e,h]),E=j=>!a||a.query!==j.trim(),T=j=>h==="all"&&!xw(j);return d.jsx(Gr,{items:v,filter:x,onQuery:N,onTab:p,trailing:d.jsx(Le,{tone:"chrome",on:h==="names","aria-pressed":h==="names",onClick:p,children:"names only"}),keyOf:j=>j.kind==="hit"?`h:${j.hit.worktreeId}:${j.hit.seq}`:`w:${j.id}`,rowClass:j=>j.kind==="hit"?"chats-hit":We("picker-row",j.archived&&!j.archived.restorable&&"dim"),rowTitle:j=>{var A;return j.kind==="hit"?j.hit.text:((A=j.archived)==null?void 0:A.prompt)??j.name},groupOf:j=>j.kind==="hit"?`h:${j.hit.worktreeId}`:j.archived?"archived":"open",groupHead:(j,A)=>{if(!j.startsWith("h:"))return`${j} · ${A}`;const I=j.slice(2),$=y.get(I),C=a==null?void 0:a.asks[I],L=w.get(I)??0;return d.jsxs(d.Fragment,{children:[d.jsxs("span",{className:"chats-name",children:[($==null?void 0:$.name)??"a worktree",($==null?void 0:$.archived)&&d.jsxs(d.Fragment,{children:[" ",d.jsx("span",{className:"row-dim",children:"archived"})]})]}),L>0&&d.jsx("span",{className:"picker-group-tail",children:kr(L)}),C&&d.jsx("span",{className:"picker-group-line",children:Tp(C,jj*2)})]})},headAlone:!0,onPick:j=>{const A=j.kind==="hit"?j.hit.worktreeId:j.id,I=j.kind==="hit"?j.hit.archived:!!j.archived;n(I?{a:"open-archived",id:A}:{a:"activate",id:A}),j.kind==="hit"&&n({a:"reveal",id:A,seq:j.hit.seq}),n({a:"close"})},onBack:()=>n({a:"close"}),rowMenu:j=>j.kind==="chat"&&j.archived?th(j.archived,{clientId:o,frame:s},{sock:r,dispatch:n}):[],placeholder:h==="names"?"find a chat by name…":"search in chats…",empty:j=>j.trim()?T(j)?E(j)?d.jsx("span",{className:"live-text",children:"searching"}):"no chat says that":"no chat is named that":u?"no chats yet":d.jsx("span",{className:"live-text",children:"looking"}),footer:(j,A)=>{const I=A.filter($=>$.kind==="hit").length;return a!=null&&a.truncated&&!E(j)&&I>0?d.jsxs("div",{className:"empty",children:["showing the first ",I,"; narrow the search"]}):null},row:j=>j.kind==="chat"?d.jsx(An,{label:j.name,hint:j.hint}):d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"chats-text",children:al(j.hit.text,HG(j.hit.match),0)}),d.jsxs("span",{className:"chats-said row-dim",children:[j.hit.role==="user"?"you":"the agent",j.hit.ts>0&&kr(j.hit.ts)!==kr(w.get(j.hit.worktreeId)??0)?` · ${kr(j.hit.ts)}`:""]})]})})}const ml=function(e,t){let o=e;const s=ku[t];let a=null,l=0,u=null;const h=[],f={},p=function($,C){l=o*4+17,a=(function(L){const P=new Array(L);for(let B=0;B<L;B+=1){P[B]=new Array(L);for(let q=0;q<L;q+=1)P[B][q]=null}return P})(l),g(0,0),g(l-7,0),g(0,l-7),w(),v(),N($,C),o>=7&&x($),u==null&&(u=j(o,s,h)),E(u,C)},g=function($,C){for(let L=-1;L<=7;L+=1)if(!($+L<=-1||l<=$+L))for(let P=-1;P<=7;P+=1)C+P<=-1||l<=C+P||(0<=L&&L<=6&&(P==0||P==6)||0<=P&&P<=6&&(L==0||L==6)||2<=L&&L<=4&&2<=P&&P<=4?a[$+L][C+P]=!0:a[$+L][C+P]=!1)},y=function(){let $=0,C=0;for(let L=0;L<8;L+=1){p(!0,L);const P=Ai.getLostPoint(f);(L==0||$>P)&&($=P,C=L)}return C},v=function(){for(let $=8;$<l-8;$+=1)a[$][6]==null&&(a[$][6]=$%2==0);for(let $=8;$<l-8;$+=1)a[6][$]==null&&(a[6][$]=$%2==0)},w=function(){const $=Ai.getPatternPosition(o);for(let C=0;C<$.length;C+=1)for(let L=0;L<$.length;L+=1){const P=$[C],B=$[L];if(a[P][B]==null)for(let q=-2;q<=2;q+=1)for(let ne=-2;ne<=2;ne+=1)q==-2||q==2||ne==-2||ne==2||q==0&&ne==0?a[P+q][B+ne]=!0:a[P+q][B+ne]=!1}},x=function($){const C=Ai.getBCHTypeNumber(o);for(let L=0;L<18;L+=1){const P=!$&&(C>>L&1)==1;a[Math.floor(L/3)][L%3+l-8-3]=P}for(let L=0;L<18;L+=1){const P=!$&&(C>>L&1)==1;a[L%3+l-8-3][Math.floor(L/3)]=P}},N=function($,C){const L=s<<3|C,P=Ai.getBCHTypeInfo(L);for(let B=0;B<15;B+=1){const q=!$&&(P>>B&1)==1;B<6?a[B][8]=q:B<8?a[B+1][8]=q:a[l-15+B][8]=q}for(let B=0;B<15;B+=1){const q=!$&&(P>>B&1)==1;B<8?a[8][l-B-1]=q:B<9?a[8][15-B-1+1]=q:a[8][15-B-1]=q}a[l-8][8]=!$},E=function($,C){let L=-1,P=l-1,B=7,q=0;const ne=Ai.getMaskFunction(C);for(let Q=l-1;Q>0;Q-=2)for(Q==6&&(Q-=1);;){for(let le=0;le<2;le+=1)if(a[P][Q-le]==null){let te=!1;q<$.length&&(te=($[q]>>>B&1)==1),ne(P,Q-le)&&(te=!te),a[P][Q-le]=te,B-=1,B==-1&&(q+=1,B=7)}if(P+=L,P<0||l<=P){P-=L,L=-L;break}}},T=function($,C){let L=0,P=0,B=0;const q=new Array(C.length),ne=new Array(C.length);for(let Z=0;Z<C.length;Z+=1){const R=C[Z].dataCount,J=C[Z].totalCount-R;P=Math.max(P,R),B=Math.max(B,J),q[Z]=new Array(R);for(let ie=0;ie<q[Z].length;ie+=1)q[Z][ie]=255&$.getBuffer()[ie+L];L+=R;const F=Ai.getErrorCorrectPolynomial(J),W=Yu(q[Z],F.getLength()-1).mod(F);ne[Z]=new Array(F.getLength()-1);for(let ie=0;ie<ne[Z].length;ie+=1){const he=ie+W.getLength()-ne[Z].length;ne[Z][ie]=he>=0?W.getAt(he):0}}let Q=0;for(let Z=0;Z<C.length;Z+=1)Q+=C[Z].totalCount;const le=new Array(Q);let te=0;for(let Z=0;Z<P;Z+=1)for(let R=0;R<C.length;R+=1)Z<q[R].length&&(le[te]=q[R][Z],te+=1);for(let Z=0;Z<B;Z+=1)for(let R=0;R<C.length;R+=1)Z<ne[R].length&&(le[te]=ne[R][Z],te+=1);return le},j=function($,C,L){const P=gS.getRSBlocks($,C),B=kS();for(let ne=0;ne<L.length;ne+=1){const Q=L[ne];B.put(Q.getMode(),4),B.put(Q.getLength(),Ai.getLengthInBits(Q.getMode(),$)),Q.write(B)}let q=0;for(let ne=0;ne<P.length;ne+=1)q+=P[ne].dataCount;if(B.getLengthInBits()>q*8)throw"code length overflow. ("+B.getLengthInBits()+">"+q*8+")";for(B.getLengthInBits()+4<=q*8&&B.put(0,4);B.getLengthInBits()%8!=0;)B.putBit(!1);for(;!(B.getLengthInBits()>=q*8||(B.put(236,8),B.getLengthInBits()>=q*8));)B.put(17,8);return T(B,P)};f.addData=function($,C){C=C||"Byte";let L=null;switch(C){case"Numeric":L=KG($);break;case"Alphanumeric":L=qG($);break;case"Byte":L=ZG($);break;case"Kanji":L=GG($);break;default:throw"mode:"+C}h.push(L),u=null},f.isDark=function($,C){if($<0||l<=$||C<0||l<=C)throw $+","+C;return a[$][C]},f.getModuleCount=function(){return l},f.make=function(){if(o<1){let $=1;for(;$<40;$++){const C=gS.getRSBlocks($,s),L=kS();for(let B=0;B<h.length;B++){const q=h[B];L.put(q.getMode(),4),L.put(q.getLength(),Ai.getLengthInBits(q.getMode(),$)),q.write(L)}let P=0;for(let B=0;B<C.length;B++)P+=C[B].dataCount;if(L.getLengthInBits()<=P*8)break}o=$}p(!1,y())},f.createTableTag=function($,C){$=$||2,C=typeof C>"u"?$*4:C;let L="";L+='<table style="',L+=" border-width: 0px; border-style: none;",L+=" border-collapse: collapse;",L+=" padding: 0px; margin: "+C+"px;",L+='">',L+="<tbody>";for(let P=0;P<f.getModuleCount();P+=1){L+="<tr>";for(let B=0;B<f.getModuleCount();B+=1)L+='<td style="',L+=" border-width: 0px; border-style: none;",L+=" border-collapse: collapse;",L+=" padding: 0px; margin: 0px;",L+=" width: "+$+"px;",L+=" height: "+$+"px;",L+=" background-color: ",L+=f.isDark(P,B)?"#000000":"#ffffff",L+=";",L+='"/>';L+="</tr>"}return L+="</tbody>",L+="</table>",L},f.createSvgTag=function($,C,L,P){let B={};typeof arguments[0]=="object"&&(B=arguments[0],$=B.cellSize,C=B.margin,L=B.alt,P=B.title),$=$||2,C=typeof C>"u"?$*4:C,L=typeof L=="string"?{text:L}:L||{},L.text=L.text||null,L.id=L.text?L.id||"qrcode-description":null,P=typeof P=="string"?{text:P}:P||{},P.text=P.text||null,P.id=P.text?P.id||"qrcode-title":null;const q=f.getModuleCount()*$+C*2;let ne,Q,le,te,Z="",R;for(R="l"+$+",0 0,"+$+" -"+$+",0 0,-"+$+"z ",Z+='<svg version="1.1" xmlns="http://www.w3.org/2000/svg"',Z+=B.scalable?"":' width="'+q+'px" height="'+q+'px"',Z+=' viewBox="0 0 '+q+" "+q+'" ',Z+=' preserveAspectRatio="xMinYMin meet"',Z+=P.text||L.text?' role="img" aria-labelledby="'+A([P.id,L.id].join(" ").trim())+'"':"",Z+=">",Z+=P.text?'<title id="'+A(P.id)+'">'+A(P.text)+"</title>":"",Z+=L.text?'<description id="'+A(L.id)+'">'+A(L.text)+"</description>":"",Z+='<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>',Z+='<path d="',le=0;le<f.getModuleCount();le+=1)for(te=le*$+C,ne=0;ne<f.getModuleCount();ne+=1)f.isDark(le,ne)&&(Q=ne*$+C,Z+="M"+Q+","+te+R);return Z+='" stroke="transparent" fill="black"/>',Z+="</svg>",Z},f.createDataURL=function($,C){$=$||2,C=typeof C>"u"?$*4:C;const L=f.getModuleCount()*$+C*2,P=C,B=L-C;return QG(L,L,function(q,ne){if(P<=q&&q<B&&P<=ne&&ne<B){const Q=Math.floor((q-P)/$),le=Math.floor((ne-P)/$);return f.isDark(le,Q)?0:1}else return 1})},f.createImgTag=function($,C,L){$=$||2,C=typeof C>"u"?$*4:C;const P=f.getModuleCount()*$+C*2;let B="";return B+="<img",B+=' src="',B+=f.createDataURL($,C),B+='"',B+=' width="',B+=P,B+='"',B+=' height="',B+=P,B+='"',L&&(B+=' alt="',B+=A(L),B+='"'),B+="/>",B};const A=function($){let C="";for(let L=0;L<$.length;L+=1){const P=$.charAt(L);switch(P){case"<":C+="<";break;case">":C+=">";break;case"&":C+="&";break;case'"':C+=""";break;default:C+=P;break}}return C},I=function($){$=typeof $>"u"?2:$;const L=f.getModuleCount()*1+$*2,P=$,B=L-$;let q,ne,Q,le,te;const Z={"██":"█","█ ":"▀"," █":"▄"," ":" "},R={"██":"▀","█ ":"▀"," █":" "," ":" "};let J="";for(q=0;q<L;q+=2){for(Q=Math.floor((q-P)/1),le=Math.floor((q+1-P)/1),ne=0;ne<L;ne+=1)te="█",P<=ne&&ne<B&&P<=q&&q<B&&f.isDark(Q,Math.floor((ne-P)/1))&&(te=" "),P<=ne&&ne<B&&P<=q+1&&q+1<B&&f.isDark(le,Math.floor((ne-P)/1))?te+=" ":te+="█",J+=$<1&&q+1>=B?R[te]:Z[te];J+=`
|
|
275
|
+
`}return L%2&&$>0?J.substring(0,J.length-L-1)+Array(L+1).join("▀"):J.substring(0,J.length-1)};return f.createASCII=function($,C){if($=$||1,$<2)return I(C);$-=1,C=typeof C>"u"?$*2:C;const L=f.getModuleCount()*$+C*2,P=C,B=L-C;let q,ne,Q,le;const te=Array($+1).join("██"),Z=Array($+1).join(" ");let R="",J="";for(q=0;q<L;q+=1){for(Q=Math.floor((q-P)/$),J="",ne=0;ne<L;ne+=1)le=1,P<=ne&&ne<B&&P<=q&&q<B&&f.isDark(Q,Math.floor((ne-P)/$))&&(le=0),J+=le?te:Z;for(Q=0;Q<$;Q+=1)R+=J+`
|
|
276
|
+
`}return R.substring(0,R.length-1)},f.renderTo2dContext=function($,C){C=C||2;const L=f.getModuleCount();for(let P=0;P<L;P++)for(let B=0;B<L;B++)$.fillStyle=f.isDark(P,B)?"black":"white",$.fillRect(B*C,P*C,C,C)},f};ml.stringToBytes=function(e){const t=[];for(let n=0;n<e.length;n+=1){const r=e.charCodeAt(n);t.push(r&255)}return t};ml.createStringToBytes=function(e,t){const n=(function(){const o=YG(e),s=function(){const u=o.read();if(u==-1)throw"eof";return u};let a=0;const l={};for(;;){const u=o.read();if(u==-1)break;const h=s(),f=s(),p=s(),g=String.fromCharCode(u<<8|h),y=f<<8|p;l[g]=y,a+=1}if(a!=t)throw a+" != "+t;return l})(),r=63;return function(o){const s=[];for(let a=0;a<o.length;a+=1){const l=o.charCodeAt(a);if(l<128)s.push(l);else{const u=n[o.charAt(a)];typeof u=="number"?(u&255)==u?s.push(u):(s.push(u>>>8),s.push(u&255)):s.push(r)}}return s}};const Wr={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},ku={L:1,M:0,Q:3,H:2},$i={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},Ai=(function(){const e=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],t=1335,n=7973,r=21522,o={},s=function(a){let l=0;for(;a!=0;)l+=1,a>>>=1;return l};return o.getBCHTypeInfo=function(a){let l=a<<10;for(;s(l)-s(t)>=0;)l^=t<<s(l)-s(t);return(a<<10|l)^r},o.getBCHTypeNumber=function(a){let l=a<<12;for(;s(l)-s(n)>=0;)l^=n<<s(l)-s(n);return a<<12|l},o.getPatternPosition=function(a){return e[a-1]},o.getMaskFunction=function(a){switch(a){case $i.PATTERN000:return function(l,u){return(l+u)%2==0};case $i.PATTERN001:return function(l,u){return l%2==0};case $i.PATTERN010:return function(l,u){return u%3==0};case $i.PATTERN011:return function(l,u){return(l+u)%3==0};case $i.PATTERN100:return function(l,u){return(Math.floor(l/2)+Math.floor(u/3))%2==0};case $i.PATTERN101:return function(l,u){return l*u%2+l*u%3==0};case $i.PATTERN110:return function(l,u){return(l*u%2+l*u%3)%2==0};case $i.PATTERN111:return function(l,u){return(l*u%3+(l+u)%2)%2==0};default:throw"bad maskPattern:"+a}},o.getErrorCorrectPolynomial=function(a){let l=Yu([1],0);for(let u=0;u<a;u+=1)l=l.multiply(Yu([1,Ii.gexp(u)],0));return l},o.getLengthInBits=function(a,l){if(1<=l&&l<10)switch(a){case Wr.MODE_NUMBER:return 10;case Wr.MODE_ALPHA_NUM:return 9;case Wr.MODE_8BIT_BYTE:return 8;case Wr.MODE_KANJI:return 8;default:throw"mode:"+a}else if(l<27)switch(a){case Wr.MODE_NUMBER:return 12;case Wr.MODE_ALPHA_NUM:return 11;case Wr.MODE_8BIT_BYTE:return 16;case Wr.MODE_KANJI:return 10;default:throw"mode:"+a}else if(l<41)switch(a){case Wr.MODE_NUMBER:return 14;case Wr.MODE_ALPHA_NUM:return 13;case Wr.MODE_8BIT_BYTE:return 16;case Wr.MODE_KANJI:return 12;default:throw"mode:"+a}else throw"type:"+l},o.getLostPoint=function(a){const l=a.getModuleCount();let u=0;for(let p=0;p<l;p+=1)for(let g=0;g<l;g+=1){let y=0;const v=a.isDark(p,g);for(let w=-1;w<=1;w+=1)if(!(p+w<0||l<=p+w))for(let x=-1;x<=1;x+=1)g+x<0||l<=g+x||w==0&&x==0||v==a.isDark(p+w,g+x)&&(y+=1);y>5&&(u+=3+y-5)}for(let p=0;p<l-1;p+=1)for(let g=0;g<l-1;g+=1){let y=0;a.isDark(p,g)&&(y+=1),a.isDark(p+1,g)&&(y+=1),a.isDark(p,g+1)&&(y+=1),a.isDark(p+1,g+1)&&(y+=1),(y==0||y==4)&&(u+=3)}for(let p=0;p<l;p+=1)for(let g=0;g<l-6;g+=1)a.isDark(p,g)&&!a.isDark(p,g+1)&&a.isDark(p,g+2)&&a.isDark(p,g+3)&&a.isDark(p,g+4)&&!a.isDark(p,g+5)&&a.isDark(p,g+6)&&(u+=40);for(let p=0;p<l;p+=1)for(let g=0;g<l-6;g+=1)a.isDark(g,p)&&!a.isDark(g+1,p)&&a.isDark(g+2,p)&&a.isDark(g+3,p)&&a.isDark(g+4,p)&&!a.isDark(g+5,p)&&a.isDark(g+6,p)&&(u+=40);let h=0;for(let p=0;p<l;p+=1)for(let g=0;g<l;g+=1)a.isDark(g,p)&&(h+=1);const f=Math.abs(100*h/l/l-50)/5;return u+=f*10,u},o})(),Ii=(function(){const e=new Array(256),t=new Array(256);for(let r=0;r<8;r+=1)e[r]=1<<r;for(let r=8;r<256;r+=1)e[r]=e[r-4]^e[r-5]^e[r-6]^e[r-8];for(let r=0;r<255;r+=1)t[e[r]]=r;const n={};return n.glog=function(r){if(r<1)throw"glog("+r+")";return t[r]},n.gexp=function(r){for(;r<0;)r+=255;for(;r>=256;)r-=255;return e[r]},n})(),Yu=function(e,t){if(typeof e.length>"u")throw e.length+"/"+t;const n=(function(){let o=0;for(;o<e.length&&e[o]==0;)o+=1;const s=new Array(e.length-o+t);for(let a=0;a<e.length-o;a+=1)s[a]=e[a+o];return s})(),r={};return r.getAt=function(o){return n[o]},r.getLength=function(){return n.length},r.multiply=function(o){const s=new Array(r.getLength()+o.getLength()-1);for(let a=0;a<r.getLength();a+=1)for(let l=0;l<o.getLength();l+=1)s[a+l]^=Ii.gexp(Ii.glog(r.getAt(a))+Ii.glog(o.getAt(l)));return Yu(s,0)},r.mod=function(o){if(r.getLength()-o.getLength()<0)return r;const s=Ii.glog(r.getAt(0))-Ii.glog(o.getAt(0)),a=new Array(r.getLength());for(let l=0;l<r.getLength();l+=1)a[l]=r.getAt(l);for(let l=0;l<o.getLength();l+=1)a[l]^=Ii.gexp(Ii.glog(o.getAt(l))+s);return Yu(a,0).mod(o)},r},gS=(function(){const e=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],t=function(o,s){const a={};return a.totalCount=o,a.dataCount=s,a},n={},r=function(o,s){switch(s){case ku.L:return e[(o-1)*4+0];case ku.M:return e[(o-1)*4+1];case ku.Q:return e[(o-1)*4+2];case ku.H:return e[(o-1)*4+3];default:return}};return n.getRSBlocks=function(o,s){const a=r(o,s);if(typeof a>"u")throw"bad rs block @ typeNumber:"+o+"/errorCorrectionLevel:"+s;const l=a.length/3,u=[];for(let h=0;h<l;h+=1){const f=a[h*3+0],p=a[h*3+1],g=a[h*3+2];for(let y=0;y<f;y+=1)u.push(t(p,g))}return u},n})(),kS=function(){const e=[];let t=0;const n={};return n.getBuffer=function(){return e},n.getAt=function(r){const o=Math.floor(r/8);return(e[o]>>>7-r%8&1)==1},n.put=function(r,o){for(let s=0;s<o;s+=1)n.putBit((r>>>o-s-1&1)==1)},n.getLengthInBits=function(){return t},n.putBit=function(r){const o=Math.floor(t/8);e.length<=o&&e.push(0),r&&(e[o]|=128>>>t%8),t+=1},n},KG=function(e){const t=Wr.MODE_NUMBER,n=e,r={};r.getMode=function(){return t},r.getLength=function(a){return n.length},r.write=function(a){const l=n;let u=0;for(;u+2<l.length;)a.put(o(l.substring(u,u+3)),10),u+=3;u<l.length&&(l.length-u==1?a.put(o(l.substring(u,u+1)),4):l.length-u==2&&a.put(o(l.substring(u,u+2)),7))};const o=function(a){let l=0;for(let u=0;u<a.length;u+=1)l=l*10+s(a.charAt(u));return l},s=function(a){if("0"<=a&&a<="9")return a.charCodeAt(0)-48;throw"illegal char :"+a};return r},qG=function(e){const t=Wr.MODE_ALPHA_NUM,n=e,r={};r.getMode=function(){return t},r.getLength=function(s){return n.length},r.write=function(s){const a=n;let l=0;for(;l+1<a.length;)s.put(o(a.charAt(l))*45+o(a.charAt(l+1)),11),l+=2;l<a.length&&s.put(o(a.charAt(l)),6)};const o=function(s){if("0"<=s&&s<="9")return s.charCodeAt(0)-48;if("A"<=s&&s<="Z")return s.charCodeAt(0)-65+10;switch(s){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw"illegal char :"+s}};return r},ZG=function(e){const t=Wr.MODE_8BIT_BYTE,n=ml.stringToBytes(e),r={};return r.getMode=function(){return t},r.getLength=function(o){return n.length},r.write=function(o){for(let s=0;s<n.length;s+=1)o.put(n[s],8)},r},GG=function(e){const t=Wr.MODE_KANJI,n=ml.stringToBytes;(function(s,a){const l=n(s);if(l.length!=2||(l[0]<<8|l[1])!=a)throw"sjis not supported."})("友",38726);const r=n(e),o={};return o.getMode=function(){return t},o.getLength=function(s){return~~(r.length/2)},o.write=function(s){const a=r;let l=0;for(;l+1<a.length;){let u=(255&a[l])<<8|255&a[l+1];if(33088<=u&&u<=40956)u-=33088;else if(57408<=u&&u<=60351)u-=49472;else throw"illegal char at "+(l+1)+"/"+u;u=(u>>>8&255)*192+(u&255),s.put(u,13),l+=2}if(l<a.length)throw"illegal char at "+(l+1)},o},RC=function(){const e=[],t={};return t.writeByte=function(n){e.push(n&255)},t.writeShort=function(n){t.writeByte(n),t.writeByte(n>>>8)},t.writeBytes=function(n,r,o){r=r||0,o=o||n.length;for(let s=0;s<o;s+=1)t.writeByte(n[s+r])},t.writeString=function(n){for(let r=0;r<n.length;r+=1)t.writeByte(n.charCodeAt(r))},t.toByteArray=function(){return e},t.toString=function(){let n="";n+="[";for(let r=0;r<e.length;r+=1)r>0&&(n+=","),n+=e[r];return n+="]",n},t},VG=function(){let e=0,t=0,n=0,r="";const o={},s=function(l){r+=String.fromCharCode(a(l&63))},a=function(l){if(l<0)throw"n:"+l;if(l<26)return 65+l;if(l<52)return 97+(l-26);if(l<62)return 48+(l-52);if(l==62)return 43;if(l==63)return 47;throw"n:"+l};return o.writeByte=function(l){for(e=e<<8|l&255,t+=8,n+=1;t>=6;)s(e>>>t-6),t-=6},o.flush=function(){if(t>0&&(s(e<<6-t),e=0,t=0),n%3!=0){const l=3-n%3;for(let u=0;u<l;u+=1)r+="="}},o.toString=function(){return r},o},YG=function(e){const t=e;let n=0,r=0,o=0;const s={};s.read=function(){for(;o<8;){if(n>=t.length){if(o==0)return-1;throw"unexpected end of file./"+o}const u=t.charAt(n);if(n+=1,u=="=")return o=0,-1;if(u.match(/^\s$/))continue;r=r<<6|a(u.charCodeAt(0)),o+=6}const l=r>>>o-8&255;return o-=8,l};const a=function(l){if(65<=l&&l<=90)return l-65;if(97<=l&&l<=122)return l-97+26;if(48<=l&&l<=57)return l-48+52;if(l==43)return 62;if(l==47)return 63;throw"c:"+l};return s},XG=function(e,t){const n=e,r=t,o=new Array(e*t),s={};s.setPixel=function(h,f,p){o[f*n+h]=p},s.write=function(h){h.writeString("GIF87a"),h.writeShort(n),h.writeShort(r),h.writeByte(128),h.writeByte(0),h.writeByte(0),h.writeByte(0),h.writeByte(0),h.writeByte(0),h.writeByte(255),h.writeByte(255),h.writeByte(255),h.writeString(","),h.writeShort(0),h.writeShort(0),h.writeShort(n),h.writeShort(r),h.writeByte(0);const f=2,p=l(f);h.writeByte(f);let g=0;for(;p.length-g>255;)h.writeByte(255),h.writeBytes(p,g,255),g+=255;h.writeByte(p.length-g),h.writeBytes(p,g,p.length-g),h.writeByte(0),h.writeString(";")};const a=function(h){const f=h;let p=0,g=0;const y={};return y.write=function(v,w){if(v>>>w)throw"length over";for(;p+w>=8;)f.writeByte(255&(v<<p|g)),w-=8-p,v>>>=8-p,g=0,p=0;g=v<<p|g,p=p+w},y.flush=function(){p>0&&f.writeByte(g)},y},l=function(h){const f=1<<h,p=(1<<h)+1;let g=h+1;const y=u();for(let E=0;E<f;E+=1)y.add(String.fromCharCode(E));y.add(String.fromCharCode(f)),y.add(String.fromCharCode(p));const v=RC(),w=a(v);w.write(f,g);let x=0,N=String.fromCharCode(o[x]);for(x+=1;x<o.length;){const E=String.fromCharCode(o[x]);x+=1,y.contains(N+E)?N=N+E:(w.write(y.indexOf(N),g),y.size()<4095&&(y.size()==1<<g&&(g+=1),y.add(N+E)),N=E)}return w.write(y.indexOf(N),g),w.write(p,g),w.flush(),v.toByteArray()},u=function(){const h={};let f=0;const p={};return p.add=function(g){if(p.contains(g))throw"dup key:"+g;h[g]=f,f+=1},p.size=function(){return f},p.indexOf=function(g){return h[g]},p.contains=function(g){return typeof h[g]<"u"},p};return s},QG=function(e,t,n){const r=XG(e,t);for(let l=0;l<t;l+=1)for(let u=0;u<e;u+=1)r.setPixel(u,l,n(u,l));const o=RC();r.write(o);const s=VG(),a=o.toByteArray();for(let l=0;l<a.length;l+=1)s.writeByte(a[l]);return s.flush(),"data:image/gif;base64,"+s};ml.stringToBytes;function JG(e){const t=ml(0,"M");t.addData(e,"Byte"),t.make();const n=t.getModuleCount();return Array.from({length:n},(r,o)=>Array.from({length:n},(s,a)=>t.isDark(o,a)))}const gr={title:"Your devices",scan:"Scan with your phone's camera to open this machine there, then let the phone in here.",turnOn:"Turn on, and your phone opens this machine at its tailnet name. Anyone on your tailnet you let in gets a shell here.",hereOff:"Tailscale on this machine is not connected, so nothing on your tailnet can reach it.",noneOnTailnet:"No other device is on your tailnet yet.",noPhone:"No phone has joined your tailnet. Install Tailscale on it and sign in to the same account.",knocking:"Let in the one whose words match the other screen.",missing:"A machine with no Toyon needs the phone button pressed on it, or `toyon remote --tailscale`.",listed:"listed",request:"request access",notAnswering:"not answering right now",offline:"offline",noToyon:"no Toyon",placeholder:"https://",notAnAddress:"That is not a Toyon address. It is https:// and the machine's name, as its screen shows it.",asking:e=>`Asking ${Bh(e)}.`,waiting:(e,t)=>`Toyon on ${Bh(e)} is asking whether to let ${t} in.`,added:e=>`Added ${e}.`,notKept:e=>`Let in, but not listed: ${e}`,add:"add"};function eV(e,t){return e.reached?e.toyon&&!e.toyon.answering?gr.notAnswering:t?gr.listed:e.toyon?null:gr.noToyon:gr.offline}function wS(e){var t;return(t=e.toyon)!=null&&t.answering?0:e.toyon?1:e.reached?2:3}function Bh(e){try{return new URL(e).host}catch{return e}}function OC(e,t,n){const r=Bh(t);switch(e){case"refused":return`${r} did not let ${n} in.`;case"gone":return`${r} stopped waiting. Ask again, and answer there within five minutes.`;case"full":return`${r} has too many devices waiting already. Answer or turn those away there first.`;case"not-toyon":return`${r} is not a Toyon machine, or has no remote name set up.`;case"unreachable":return`${r} did not answer. Is Tailscale on here, and is Toyon running there?`}}function tV(e,t,n){const r=(o,s)=>({word:o,note:s,offer:null});switch(t==null?void 0:t.state){case"not-installed":return r("no Tailscale","Tailscale is not installed on this machine, so nothing on your tailnet can reach it.");case"not-running":return r("Tailscale not running","Tailscale is not running on this machine, so nothing on your tailnet can reach it.");case"disconnected":return{word:null,note:"Tailscale on this machine is switched off, so nothing on your tailnet can reach it.",offer:"connect"};case"signed-out":return{word:null,note:"Tailscale on this machine is signed out, so nothing on your tailnet can reach it.",offer:"sign-in"};case"needs-approval":return r("not approved",t.line)}if(e===null)return r("not asked","Toyon could not ask Tailscale here just now.");if(e!==void 0&&!e.here)return r("not connected",gr.hereOff);if(n===null&&t!==null&&t.state!=="ready")switch(t.state){case"magicdns-off":return r("MagicDNS off",t.line);case"https-off":return r("HTTPS off",t.line);default:return r(null,t.line)}return r(null,null)}const nV=e=>e==="phone"?"phone":"laptop";function yS({rows:e}){return d.jsx("div",{className:"tailnet-list",children:e.map(t=>d.jsxs("div",{className:"tailnet-row",children:[d.jsxs("div",{className:"tailnet-peer",children:[d.jsx("span",{className:We("dot tailnet-dot",t.reached===null?"tailnet-asking":t.reached?"tailnet-reached":"tailnet-unreached"),role:"img","aria-label":t.reached===null?"asking":t.reached?"connected":"not connected"}),d.jsx(Tt,{name:t.icon,className:"tailnet-kind"}),d.jsx("span",{className:"tailnet-name",children:t.name}),t.host&&d.jsx("span",{className:"hint tailnet-host",children:t.host})]}),t.right!==void 0&&t.right!==null&&d.jsx("span",{className:We("tailnet-right",typeof t.right=="string"&&"hint"),children:t.right})]},t.key))})}const vS=(e,t)=>{var n;return{key:e.host||e.name,name:((n=e.toyon)==null?void 0:n.machine)??e.name,host:e.kind==="machine"&&e.host?e.host:void 0,reached:e.reached,icon:nV(e.kind),right:t}},tk=4;function rV({text:e}){const{size:t,d:n}=S.useMemo(()=>{const r=JG(e);let o="";return r.forEach((s,a)=>{s.forEach((l,u)=>{l&&(o+=`M${u+tk} ${a+tk}h1v1h-1z`)})}),{size:r.length+tk*2,d:o}},[e]);return d.jsx("svg",{className:"devices-qr",viewBox:`0 0 ${t} ${t}`,shapeRendering:"crispEdges",role:"img","aria-label":"This machine's address",children:d.jsx("path",{d:n})})}const oV=5e3;function sV(e){return e.from===null?"A device that opened this address":`A Toyon page at ${Bh(e.from)}`}function iV({knock:e,letIn:t,onAnswer:n}){return d.jsxs("div",{className:We("devices-knock",t!==null&&"devices-knock-done"),children:[d.jsxs("div",{className:"devices-knock-line",children:[d.jsx("span",{className:"knock-word",children:e.word}),d.jsx("span",{className:"devices-from",children:t===null?`${sV(e)} wants in.`:t?"is in.":"was turned away."})]}),t===null&&d.jsxs("div",{className:"devices-actions",children:[d.jsx(Le,{tone:"primary",onClick:()=>n(!0),children:"let in"}),d.jsx(Le,{variant:"outline",onClick:()=>n(!1),children:"not now"})]})]})}function aV({host:e,noPhone:t}){return d.jsxs("div",{className:"devices-address",children:[d.jsx("div",{className:"devices-frame",children:d.jsx(rV,{text:ZR(e)})}),d.jsxs("div",{className:"devices-about",children:[d.jsx("p",{className:"devices-line",children:gr.scan}),t&&d.jsx("p",{className:"devices-note",children:gr.noPhone})]})]})}function cV(e){const t=e.devices.filter(r=>r.kind==="phone"),n=e.devices.map((r,o)=>({d:r,i:o})).filter(({d:r})=>r.kind==="machine").sort((r,o)=>wS(r.d)-wS(o.d)||r.i-o.i).map(({d:r})=>r);return[...t,...n]}function lV(){const e=dt(),t=Es(),n=Lr(),r=D(X=>X.frame==="desk"),o=D(X=>{var oe;return((oe=X.remote)==null?void 0:oe.host)??null}),s=D(X=>X.machine),a=D(X=>X.tailscale),l=D(X=>X.knocks),[u,h]=S.useState(""),[f,p]=S.useState({kind:"idle"}),[g,y]=S.useState([]),v=()=>e({a:"close"}),w=f.kind==="asking"||f.kind==="waiting",x=$6(()=>uz(n),oV,!w),N=S.useRef(new AbortController);S.useEffect(()=>()=>N.current.abort(),[]);const E=async X=>{if(w)return;const oe=N.current.signal;p({kind:"asking",origin:X});const we=await uN(X,oe,Ke=>p({kind:"waiting",origin:X,word:Ke}));if(oe.aborted)return;if(typeof we=="string"){p({kind:"failed",line:OC(we,X,"this page")});return}const Pe=t.serving(),Re=await mz(ty(Pe.origin,Pe.token),X,we.token);p(Re?{kind:"failed",line:gr.notKept(Re)}:{kind:"added",name:t.displayName(X)})},T=()=>{const X=GR(u);X?E(X):p({kind:"failed",line:gr.notAnAddress})},j=()=>{N.current.abort(),N.current=new AbortController,p({kind:"idle"})},A=(X,oe)=>{y(we=>we.some(Pe=>Pe.knock.id===X.id)?we:[...we,{knock:X,letIn:oe}]),gz(n,X.id,oe)},I=l.filter(X=>!g.some(oe=>oe.knock.id===X.id)),$=[...g,...I.map(X=>({knock:X,letIn:null}))],[C,L]=S.useState(!1),[P,B]=S.useState(null),q=async X=>{L(!0),B(null);const oe=await(X?dz(n):fz(n));L(!1),oe&&B(oe)},ne=(x==null?void 0:x.here)===!0,Q=tV(x,a,o),le=o!==null,te=r&&(ne||x===void 0)?d.jsx(Le,{variant:"outline",size:"sm",on:le,"aria-pressed":le,busy:C,disabled:!le&&(a==null?void 0:a.state)!=="ready",onClick:()=>void q(!le),...Ot(le?"Take this machine's name off your tailnet":"Give this machine a name on your tailnet"),children:le?"on":"off"}):null,[Z,R]=S.useState(!1),[J,F]=S.useState(null),O=X=>{window.open(X,"_blank","noopener")===null?F(X):F(null)},W=async X=>{if(R(!0),B(null),X==="connect"){const oe=await hz(n);oe&&B(oe)}else{const oe=await pz(n);"url"in oe?O(oe.url):B(oe.why)}R(!1)},ie=r&&Q.offer!==null?J!==null?d.jsx(Le,{variant:"outline",size:"sm",onClick:()=>O(J),children:"open the sign-in page"}):d.jsx(Le,{variant:"outline",size:"sm",busy:Z,onClick:()=>void W(Q.offer??"connect"),...Q.note?Ot(Q.note):{},children:Q.offer==="connect"?"connect":"sign in"}):null,he=Q.word===null&&te===null&&ie===null?"this machine":d.jsxs(d.Fragment,{children:[Q.word&&d.jsx("span",{className:"hint",children:Q.word}),te??ie]}),ye=[{key:"self",name:s??"This machine",host:o??void 0,reached:x===void 0?null:ne,icon:"laptop",right:he}],$e=x?cV(x).map(X=>{if(X.kind==="phone"||X.host==="")return vS(X,X.reached?void 0:"not answering");const oe=`https://${X.host}`,we=eV(X,t.get(oe)!==null);return vS(X,we??d.jsx(Le,{variant:"outline",size:"sm",disabled:w,onClick:()=>void E(oe),children:gr.request}))}):[],Be=r&&o!==null&&x!==null&&(x===void 0||x.here),Ne=x==null?void 0:x.devices.some(X=>X.kind==="machine"&&X.host!==""&&X.reached&&X.toyon===null),H=Be&&x!==void 0&&!x.devices.some(X=>X.kind==="phone"),ae=(()=>{switch(f.kind){case"asking":return gr.asking(f.origin);case"waiting":return gr.waiting(f.origin,f.word);case"added":return gr.added(f.name);case"failed":return f.line;case"idle":return null}})();return d.jsxs(Wu,{boxClass:"devices-card",onClose:v,children:[d.jsx("div",{className:"devices-title",children:gr.title}),d.jsx(yS,{rows:ye}),Q.note&&Q.offer===null&&d.jsx("p",{className:"devices-note",children:Q.note}),P&&d.jsx("p",{className:"devices-note",children:P}),r&&!le&&(a==null?void 0:a.state)==="ready"&&d.jsx("p",{className:"devices-note",children:gr.turnOn}),Be&&o!==null&&d.jsx(aV,{host:o,noPhone:H}),f.kind==="waiting"&&d.jsx("div",{className:"knock-word devices-word",children:f.word}),ae&&d.jsx("p",{className:We("devices-line",f.kind==="failed"&&"devices-failed"),children:ae}),x!==void 0&&d.jsxs(d.Fragment,{children:[$e.length>0&&d.jsx("div",{className:"devices-others",children:d.jsx(yS,{rows:$e})}),(x==null?void 0:x.devices.length)===0&&d.jsx("p",{className:"devices-note",children:gr.noneOnTailnet}),Ne&&d.jsx("p",{className:"devices-note",children:gr.missing})]}),!w&&d.jsxs("form",{className:"devices-form",onSubmit:X=>{X.preventDefault(),T()},children:[d.jsx(Uo,{size:"md",font:"ui",value:u,placeholder:gr.placeholder,"aria-label":"Address of the other machine",onChange:X=>h(X.target.value),className:"devices-field"}),d.jsx(Le,{type:"submit",variant:"outline",disabled:!u.trim(),children:gr.add})]}),w&&d.jsx("div",{className:"devices-actions",children:d.jsx(Le,{tone:"quiet",onClick:j,children:"cancel"})}),I.length>0&&d.jsx("p",{className:"devices-line devices-centred",children:gr.knocking}),$.map(X=>d.jsx(iV,{knock:X.knock,letIn:X.letIn,onAnswer:oe=>A(X.knock,oe)},X.knock.id))]})}function uV({worktreeId:e,hits:t}){const n=dt(),r=Qe(),o=D(l=>l.layout.changes),s=D(l=>{var h;const u=(h=Xt(l,e))==null?void 0:h.worktree;return u?u.path:null}),a=S.useCallback((l,u)=>{const h=u.trim().toLowerCase();return h?l.filter(f=>`${f.path}:${f.line} ${f.text}`.toLowerCase().includes(h)):l},[]);return d.jsx(Gr,{items:t,filter:a,keyOf:l=>`${l.path}:${l.line}`,rowClass:()=>"search-hit",rowTitle:l=>`${l.path}:${l.line}`,onPick:l=>{Cn({dispatch:n},{worktreeId:e,path:l.path,view:"file",line:{n:l.line}}),o||n({a:"toggle-changes"}),n({a:"close"})},onBack:()=>n({a:"close"}),rowMenu:l=>s?Ws({id:e,dir:s},l.path,{},{sock:r,dispatch:n}):[],placeholder:"lines that could write this element",row:l=>d.jsxs(d.Fragment,{children:[d.jsxs("span",{className:"search-loc",children:[l.path,":",l.line]}),d.jsx("span",{className:"search-text",children:l.text})]})})}function dV({project:e}){const t=dt(),n=Qe(),r=D(h=>h.paths),o=D(h=>h.home),s=S.useCallback(h=>{Bu(h)&&(n==null||n.send({t:"browse-path",path:h}))},[n]),a=S.useCallback((h,f)=>V9({query:f,entries:r.entries,target:r.target,answered:r.query,home:o}),[r,o]),l=Cu(e.name)?null:e.name.trim(),u=h=>`${h.replace(/\/+$/,"")}/`;return d.jsx(Gr,{initialQuery:u(e.parent),lead:d.jsx("span",{className:"picker-chip",children:l??"new project"}),items:[],filter:a,keyOf:h=>h.kind==="dir"?`d:${h.entry.path}`:`${h.kind}:${h.path}`,rowClass:()=>"picker-row folder-row",onQuery:s,completionOf:h=>h.kind==="dir"?u(h.entry.path):null,narrowTo:h=>h.kind==="dir"?u(h.entry.path):h.kind==="up"?u(h.path):null,onPick:h=>{h.kind==="here"&&(t({a:"new-project-set",v:{mode:e.mode==="init"?"create":e.mode,parent:h.path}}),t({a:"close"}))},onBack:()=>t({a:"close"}),placeholder:"type a folder path",empty:"no such folder",row:h=>h.kind==="here"?d.jsx(An,{label:`put ${l??"it"} in ${Yk(h.path,o)}`,hint:d.jsx("bdi",{children:l?i$(h.path,l):h.path})}):h.kind==="up"?d.jsx(An,{label:`up to ${Yk(h.path,o)}`,hint:d.jsx("bdi",{children:h.path})}):d.jsx(An,{label:h.entry.name})})}function fV({worktreeId:e}){const t=dt(),n=Qe(),r=D(g=>g.clientId),o=D(g=>Xt(g,e)),s=D(g=>g.repos),l=Ft(e,"draft").trim(),u=o==null?void 0:o.worktree.repoId,h=S.useMemo(()=>[...s.filter(g=>g.id===u),...s.filter(g=>g.id!==u)],[s,u]),f=()=>t({a:"close"}),p=g=>{if(!o)return f();n==null||n.send({t:"handoff-ask",worktreeId:e,repoId:g.id,...l?{text:l}:{}}),l&&(n==null||n.send({t:"set-draft",boxId:e,text:"",clientId:r}),t({a:"set-draft",id:e,text:""})),f()};return d.jsx(Gr,{lead:d.jsx("span",{className:"picker-chip",children:(o==null?void 0:o.worktree.title)??"worktree"}),items:h,filter:(g,y)=>g.filter(v=>v.id===u&&os(y,"here")||os(y,v.name,v.path)),keyOf:g=>g.id,row:g=>d.jsx(An,{label:g.id===u?"a new worktree here":g.name,hint:g.path}),onPick:p,onBack:()=>t({a:"close",back:!0}),placeholder:"continue where?",empty:"no project is open",footer:l?()=>d.jsxs("div",{className:"empty",children:["with your message: ",l.split(`
|
|
277
|
+
`)[0]]}):void 0})}const hV={use:"an agent working, a question waiting, a phone connected",always:"whenever Toyon runs, on battery too",off:"the Mac sleeps when it would anyway"};function pV(){const e=dt(),t=Qe(),n=D(r=>r.keepAwake);return d.jsx(Gr,{items:[...mR],filter:(r,o)=>r.filter(s=>os(o,Th[s])),rowClass:()=>"picker-row",keyOf:r=>r,initialIndex:r=>Math.max(0,n?r.indexOf(n):0),onPick:r=>{t==null||t.send({t:"set-keep-awake",mode:r}),e({a:"close"})},onBack:()=>e({a:"close",back:!0}),placeholder:"keep awake",row:r=>d.jsx(An,{label:Th[r],current:r===n,hint:hV[r]})})}function mV(e,t){if(t.incompatible)return`update Toyon on ${e}`;if(t.suspended)return"sleeping";if(!t.connected)return t.connectFailure?"not answering":"connecting";const n=Zk(t.rows,null);return n?`${n.n} ${n.tier==="waiting"?"waiting":"unread"}`:"all quiet"}function Ew(e){try{return VR(new URL(e).hostname)}catch{return!1}}function gV(e){const t=new Set,n=e.build({...e.serving,serving:!0}),r=[];let o=n,s=[n];const a=()=>{s=[n,...r];for(const v of t)v()},l=new Map,u=v=>{var x;if(v.serving)return;(((x=v.store.getState().remote)==null?void 0:x.front)==="edge"||Ew(v.origin))&&v!==o?v.sock.suspend():v.sock.resume()},h=v=>{var x;let w=(x=v.store.getState().remote)==null?void 0:x.front;l.set(v.origin,v.store.subscribe(()=>{var E;const N=(E=v.store.getState().remote)==null?void 0:E.front;N!==w&&(w=N,u(v))}))},f=()=>s,p={list:f,active:()=>o,serving:()=>n,get:v=>f().find(w=>w.origin===v)??null,displayName(v){const w=f().find(N=>N.origin===v);return w?f().filter(N=>N.name===w.name).length>1?`${w.name} (${new URL(w.origin).host})`:w.name:v},activate(v){const w=f().find(N=>N.origin===v);if(!w||w===o)return;const x=o;o=w,u(x),u(w),a()},add(v){var N;const w=r.find(E=>E.origin===v.origin);if(v.origin===n.origin)return n;if(w){if(w.token===v.token)return w;(N=l.get(w.origin))==null||N(),w.dispose(),r.splice(r.indexOf(w),1),o===w&&(o=n)}const x=e.build({...v,serving:!1});return r.push(x),h(x),Ew(x.origin)&&x.sock.suspend(),a(),x},remove(v){var x;const w=r.find(N=>N.origin===v);w&&((x=l.get(v))==null||x(),l.delete(v),w.dispose(),w.storage.clear(),w.forget(),r.splice(r.indexOf(w),1),o===w&&(o=n),a())},broadcast(v){for(const w of f())w.store.dispatch(v)},subscribe(v){return t.add(v),()=>t.delete(v)}},g=v=>{for(const w of v)p.add(w);for(const w of[...r])v.some(x=>x.origin===w.origin)||p.remove(w.origin)};let y=n.store.getState().handed;return n.store.subscribe(()=>{const v=n.store.getState().handed;v!==y&&(y=v,g(y))}),g(y),p}function Mv({form:e,anchored:t}){var Z;const n=dt(),r=Qe(),o=Es(),s=Vs(),a=o.displayName(s.origin),l=D(R=>R.repos),u=D(R=>R.newProject?null:R.activeRepoId),h=D(R=>R.rows),f=D(R=>R.paths),p=D(R=>R.home),g=D(R=>R.pending),y=D(R=>R.folderDialog),v=e==="url",w=S.useRef(""),x=S.useMemo(()=>Rb(l,h),[l,h]),N=sT(),E=iT(),T=S.useMemo(()=>N.map(R=>{var J;return{...R,repos:Rb(R.repos,((J=E.find(F=>F.origin===R.origin))==null?void 0:J.rows)??[])}}),[N,E]),j=S.useCallback(R=>{w.current=R,Bu(R)&&(r==null||r.send({t:"browse-path",path:R}))},[r]),A=S.useCallback((R,J)=>G9({query:J,repos:x,pending:g,entries:[...f.entries].sort((F,O)=>Number(O.isRepo)-Number(F.isRepo)),target:f.target,answered:f.query,home:p,others:T,current:u,urlOnly:v}),[x,f,g,p,T,u,v]),I=()=>n({a:"close"}),$=()=>n({a:"close",back:!0}),C={sock:r,dispatch:n},L=R=>Fu(C,{t:"register-repo",path:R}),P=(R,J)=>Fu(C,{t:"create-repo",mode:"create",parent:R,name:J}),B=(R,J,F)=>n({a:"new-project",v:pp({mode:R,name:J,parent:Z9(l,u,p),...F})}),q=()=>n({a:"open",overlay:{kind:"projects",form:"disk"}}),ne=()=>n({a:"open",overlay:{kind:"projects",form:"url"}}),Q=()=>{const R=w.current.trim(),J=R.lastIndexOf("/"),F=Bu(R)&&J>=0?R.slice(0,J)||"/":"~";r==null||r.send({t:"choose-file",start:F}),I()},le=()=>n({a:"open",overlay:{kind:"devices"}}),te=(R,J)=>{const F=o.get(R);F&&(F.store.dispatch({a:"activate-repo",id:J}),o.activate(R))};return d.jsx(Gr,{anchored:e==="pill"&&(t??!0),initialQuery:e==="disk"?"~/":"",lead:e==="disk"||v?void 0:d.jsx("span",{className:"picker-chip",children:((Z=l.find(R=>R.id===u))==null?void 0:Z.name)??"no project"}),trailing:v?void 0:e==="disk"?y?d.jsx(Dt,{icon:"file",label:"Open a file from Finder",onClick:Q}):void 0:d.jsx(Dt,{icon:"folder",label:"Find a project or file on disk",onClick:q}),items:[],filter:A,initialIndex:R=>R.findIndex(J=>J.kind==="repo"&&!J.machine&&J.repo.id===u),groupOf:R=>R.kind==="machine"||R.kind==="repo"&&R.machine?R.machine.origin:s.origin,groupHead:R=>R===s.origin?a:d.jsx(kV,{origin:R}),keyOf:R=>R.kind==="repo"?R.machine?`${R.machine.origin}:${R.repo.id}`:R.repo.id:R.kind==="dir"?`d:${R.entry.path}`:R.kind==="file"?`f:${R.entry.path}`:R.kind==="open"?`open:${R.path}`:R.kind==="init"?`init:${R.path}`:R.kind==="pending"?`p:${R.pending.id}`:R.kind==="clone"?`clone:${R.url}`:R.kind==="new"?"new-project":R.kind==="disk"?"open-folder":R.kind==="from-url"?"from-url":R.kind==="add-machine"?"add-machine":R.kind==="machine"?`machine:${R.machine.origin}`:`new:${R.parent??""}/${R.name}`,rowClass:R=>We("picker-row",(R.kind==="new"||R.kind==="disk"||R.kind==="from-url"||R.kind==="add-machine")&&"new-project-row"),onQuery:j,completionOf:R=>R.kind==="dir"?R.entry.isRepo?R.entry.path:`${R.entry.path}/`:R.kind==="file"?R.entry.path:null,narrowTo:R=>R.kind==="dir"&&!R.entry.isRepo?`${R.entry.path}/`:null,onPick:R=>{if(R.kind==="clone")return B("clone",R.name,{url:R.url,...R.branch?{branch:R.branch}:{}});if(R.kind==="create"&&!R.parent)return B("create",R.name);if(R.kind==="new")return B("create","");if(R.kind==="disk")return q();if(R.kind==="from-url")return ne();if(R.kind==="add-machine")return le();R.kind==="machine"?o.activate(R.machine.origin):R.kind==="pending"?n({a:"watch-import",id:R.pending.id}):R.kind==="repo"&&R.machine?te(R.machine.origin,R.repo.id):R.kind==="repo"?n({a:"activate-repo",id:R.repo.id}):R.kind==="open"?L(R.path):R.kind==="file"?Q9(r,R.entry.path):R.kind==="init"?t$(C,R.path):R.kind==="dir"?L(R.entry.path):R.parent&&P(R.parent,R.name),I()},onBack:$,rowMenu:R=>R.kind==="machine"||R.kind==="repo"&&R.machine?Gk(o,R.machine.origin):R.kind==="repo"?Ap(R.repo,u,C,h):R.kind==="pending"?H9(R.pending,C):[],placeholder:v?"paste a git URL, like https://github.com/you/app":l.length>1?"switch project, or type a name or path":"type a name or a path to start",empty:v?R=>R.trim()?"not a git URL yet; paste the address of a repository, or of a page on GitHub, GitLab or Codeberg":"the address of a repository, or of a branch, file or pull request on GitHub, GitLab or Codeberg":"nothing here; keep typing a path (~/… or /…)",row:R=>R.kind==="repo"?d.jsx(An,{label:R.repo.name,current:!R.machine&&R.repo.id===u}):R.kind==="pending"?d.jsx(An,{label:R.pending.name,hint:R.pending.error?"import failed":d.jsx("span",{className:"live-text",children:"importing"})}):R.kind==="dir"?d.jsx(An,{label:R.entry.name,hint:R.entry.isRepo?"git repo":void 0}):R.kind==="file"?d.jsx(An,{label:R.entry.name,hint:"file"}):R.kind==="open"?d.jsx(An,{label:`open ${R.path}`,hint:"register with this daemon"}):R.kind==="init"?d.jsx(An,{label:`open ${R.path}`,hint:"no git yet; starts it here with the files in it"}):R.kind==="clone"?d.jsx(An,{label:`clone ${R.name}`,hint:R.branch?`${bS(R.url)} · ${R.branch}`:bS(R.url)}):R.kind==="new"?d.jsx(An,{label:d.jsxs(d.Fragment,{children:[d.jsx(Tt,{name:"plus",className:"icon-inline"}),"new project"]})}):R.kind==="disk"?d.jsx(An,{label:d.jsxs(d.Fragment,{children:[d.jsx(Tt,{name:"folder",className:"icon-inline"}),"open folder or file"]})}):R.kind==="from-url"?d.jsx(An,{label:d.jsxs(d.Fragment,{children:[d.jsx(Tt,{name:"globe",className:"icon-inline"}),"clone from a URL"]})}):R.kind==="add-machine"?d.jsx(An,{label:d.jsxs(d.Fragment,{children:[d.jsx(Tt,{name:"devices",className:"icon-inline"}),"add a machine"]})}):R.kind==="machine"?d.jsx(An,{label:`switch to ${o.displayName(R.machine.origin)}`}):d.jsx(An,{label:`create ${R.name}`,hint:R.parent?`in ${R.parent}`:"new project"})})}function kV({origin:e}){const t=Es(),n=t.get(e)??t.active(),r=ou(n,p=>p.rows),o=ou(n,p=>p.connected),s=ou(n,p=>p.connectFailure),a=ou(n,p=>p.incompatible),l=ou(n,p=>{var g;return(g=p.remote)==null?void 0:g.front}),u=t.displayName(e),h=mV(u,{rows:r.filter(Sn),connected:o,connectFailure:s,incompatible:a,suspended:(l==="edge"||Ew(e))&&!o}),f=/^\d+ /.test(h);return d.jsxs(d.Fragment,{children:[u,d.jsx("span",{className:We("picker-group-tail",f&&"picker-group-owed"),children:h})]})}function bS(e){const t=e.match(/^[a-z+]+:\/\/(?:[^@/]*@)?([^/:]+)/i)??e.match(/^[^@]+@([^:]+):/);return(t==null?void 0:t[1])??"git remote"}function wV(e){const t=[];if(e.pr){const r=e.pr.url;t.push({id:"open-pr",label:"open on GitHub",onClick:()=>Or(r)}),t.push({id:"copy-link",label:"copy link",onClick:()=>nn(r)})}const n=[{id:"copy-ref",label:e.kind==="pr"?"copy PR number":"copy branch name",onClick:()=>nn(e.ref)}];return Ln([t,n])}const yV=[],vV={branch:"branch",remote:"globe",pr:"pr"},xS={pr:0,branch:1,remote:2},bV={pr:"pull requests",branch:"branches",remote:"remote branches"};function xV({repoId:e}){const t=dt(),n=Qe(),r=D(p=>p.clientId),o=D(p=>p.refs[e]),s=D(p=>p.rows),a=p=>{var g;return((g=s.find(y=>y.id===p))==null?void 0:g.name)??"a worktree"},l=S.useCallback(p=>[...p].sort((g,y)=>xS[g.kind]-xS[y.kind]),[]),u=S.useCallback(p=>n==null?void 0:n.send({t:"search-refs",repoId:e,query:p.trim()}),[n,e]),h=p=>!o||o.query!==p.trim(),f=p=>p.openIn?`open in ${a(p.openIn)}`:p.merged?"merged":p.pr?`${p.pr.author}${p.pr.draft?" · draft":""}${p.pr.fork?" · fork":""}`:p.subject??"";return d.jsx(Gr,{items:(o==null?void 0:o.refs)??yV,filter:l,onQuery:u,keyOf:p=>`${p.kind}:${p.ref}`,rowClass:()=>"picker-row ref-row",onPick:p=>{p.openIn?t({a:"activate",id:p.openIn}):n==null||n.send({t:"open-ref",repoId:e,kind:p.kind,ref:p.ref,clientId:r,...p.pr?{pr:{title:p.pr.title,url:p.pr.url}}:{}}),t({a:"close"})},onBack:()=>t({a:"close"}),rowMenu:wV,groupOf:p=>p.kind,groupHead:(p,g)=>`${bV[p]} · ${g}`,placeholder:"open a branch or PR…",empty:p=>h(p)?d.jsx("span",{className:"live-text",children:"looking"}):p.trim()?"no branch or PR matches":"no unmerged branches or open PRs",row:p=>d.jsx(An,{label:d.jsxs(d.Fragment,{children:[d.jsx(Tt,{name:vV[p.kind],className:"icon-inline"}),d.jsx("span",{className:"ref-name",children:p.name})]}),hint:f(p)})})}const ES=[],nk=2;function EV(e,t){const n=t.trim().toLowerCase(),r=e.toLowerCase();if(!n||r.length!==e.length)return null;const o=[];for(let s=r.indexOf(n);s!==-1;s=r.indexOf(n,s+n.length))for(let a=0;a<n.length;a++)o.push(s+a);return o.length?o:null}function SV({worktreeId:e}){const t=dt(),n=Qe(),r=gT(e).search,o=D(h=>h.layout.changes),s=D(h=>{var p;const f=(p=Xt(h,e))==null?void 0:p.worktree;return f?f.path:null}),a=S.useCallback((h,f)=>f.trim().length>=nk?h:ES,[]),l=S.useCallback(h=>{const f=h.trim();f.length>=nk&&(n==null||n.send({t:"search",worktreeId:e,query:f}))},[n,e]),u=h=>!r||r.query.trim()!==h.trim();return S.useEffect(()=>()=>n==null?void 0:n.send({t:"search-stop"}),[n]),d.jsx(Gr,{items:(r==null?void 0:r.hits)??ES,filter:a,onQuery:l,keyOf:h=>`${h.path}:${h.line}`,rowClass:()=>"search-hit",rowTitle:h=>`${h.path}:${h.line}`,onPick:h=>{Cn({dispatch:t},{worktreeId:e,path:h.path,view:"file",line:{n:h.line}}),o||t({a:"toggle-changes"}),t({a:"close"})},onBack:()=>t({a:"close"}),rowMenu:h=>s?Ws({id:e,dir:s},h.path,{},{sock:n,dispatch:t}):[],placeholder:"search in files…",empty:h=>h.trim().length<nk?"type at least two characters":u(h)?d.jsx("span",{className:"live-text",children:"searching"}):"no matches",footer:(h,f)=>r!=null&&r.truncated&&!u(h)&&f.length>0?d.jsx("div",{className:"empty",children:"not every match is shown; narrow the search"}):null,row:(h,f,p)=>d.jsxs(d.Fragment,{children:[d.jsxs("span",{className:"search-loc",children:[h.path,":",h.line]}),d.jsx("span",{className:"search-text",children:al(h.text,EV(h.text,p),0)})]})})}const SS=e=>e.source==="file"?"~/.toyon/themes":e.source==="vscode"?"VS Code":"";function _V({slot:e}){const t=dt(),n=Qe(),r=D(E=>E.themePrefs),o=D(E=>E.themes),s=by(),a=Jw(r,s),l=r[e==="theme"?a:e],u=()=>t({a:"close"}),h=()=>t({a:"close",back:!0}),f=E=>t({a:"preview-theme",theme:E}),[p,g]=S.useState(null),[y,v]=S.useState(null),w=(E,T)=>E[T??a]??E.dark??E.light??null,x=S.useMemo(()=>W4(o),[o]),N=S.useMemo(()=>o.filter(E=>E.kind===e),[o,e]);return ot([p,y],()=>{e==="theme"&&f(p?w(p,y):null)}),e!=="theme"?d.jsx(Gr,{items:N,filter:(E,T)=>E.filter(j=>os(T,j.name,j.id)),rowClass:()=>"picker-row",keyOf:E=>E.id,initialIndex:E=>E.findIndex(T=>T.id===l),onActive:f,onPick:E=>{n==null||n.send({t:"set-theme",prefs:{...r,[e]:E.id}}),u()},onBack:h,placeholder:`${e} slot override`,empty:"no matching theme",row:E=>d.jsx(An,{label:E.name,current:E.id===l,hint:SS(E)})}):d.jsx(Gr,{items:x,filter:(E,T)=>E.filter(j=>{var A,I;return os(T,j.name,(A=j.dark)==null?void 0:A.name,(I=j.light)==null?void 0:I.name)}),rowClass:()=>"picker-row",keyOf:E=>{var T,j;return E.name+(((T=E.dark)==null?void 0:T.id)??((j=E.light)==null?void 0:j.id))},initialIndex:E=>E.findIndex(T=>{var j,A;return((j=T.dark)==null?void 0:j.id)===l||((A=T.light)==null?void 0:A.id)===l}),onActive:g,onSide:E=>{var T;E.dark&&E.light&&v((((T=w(E,y))==null?void 0:T.kind)??a)==="dark"?"light":"dark")},onPick:E=>{n==null||n.send({t:"set-theme",prefs:K4(r,E)}),u()},onBack:h,placeholder:"theme",empty:"no matching theme",row:(E,T)=>{var $,C;const j=w(E,T?y:null),A=SS(E.dark??E.light),I=(($=E.dark)==null?void 0:$.id)===l||((C=E.light)==null?void 0:C.id)===l;return d.jsx(An,{label:E.name,current:I,hint:d.jsxs("span",{className:"theme-kinds",children:[A&&d.jsx("span",{children:A}),d.jsx("span",{className:"kind","data-state":er({current:T&&(j==null?void 0:j.kind)==="dark"}),children:E.dark?"dark":""}),d.jsx("span",{className:"kind","data-state":er({current:T&&(j==null?void 0:j.kind)==="light"}),children:E.light?"light":""})]})})}})}function MC(){const e=D6(),t=D(s=>s.frame==="phone"),n=fl(),r=D(s=>s.activeRepoId),o=D(s=>s.newProject);return d.jsxs(d.Fragment,{children:[(e==null?void 0:e.kind)==="quick-open"&&n&&d.jsx(Gq,{worktreeId:n}),(e==null?void 0:e.kind)==="search"&&n&&d.jsx(SV,{worktreeId:n}),(e==null?void 0:e.kind)==="element-sources"&&d.jsx(uV,{worktreeId:e.worktreeId,hits:e.hits}),(e==null?void 0:e.kind)==="refs"&&r&&d.jsx(xV,{repoId:r}),(e==null?void 0:e.kind)==="chats"&&r&&d.jsx(WG,{repoId:r,scope:e.names?"names":"all"}),(e==null?void 0:e.kind)==="keys"&&d.jsx($G,{}),(e==null?void 0:e.kind)==="devices"&&d.jsx(lV,{}),(e==null?void 0:e.kind)==="theme"&&d.jsx(_V,{slot:e.slot}),(e==null?void 0:e.kind)==="appearance"&&d.jsx(DG,{}),(e==null?void 0:e.kind)==="keep-awake"&&d.jsx(pV,{}),(e==null?void 0:e.kind)==="agent"&&d.jsx(MG,{}),(e==null?void 0:e.kind)==="agent-page"&&d.jsx(RG,{agentId:e.agent}),(e==null?void 0:e.kind)==="handoff"&&d.jsx(fV,{worktreeId:e.worktreeId}),(e==null?void 0:e.kind)==="commands"&&!t&&d.jsx(iC,{}),(e==null?void 0:e.kind)==="projects"&&e.form!=="pill"&&d.jsx(Mv,{form:e.form},e.form),(e==null?void 0:e.kind)==="choose-folder"&&o&&d.jsx(dV,{project:o})]})}const sh="Lost the daemon; retrying",_S="Not answering";function NV(e,t){return e!=="down"&&e!=="blocked"?sh:t===null?_S:`${_S}; as of ${jo(kr(t))}`}const TV="Not run by Toyon",LC="new worktree",PC=e=>`started from ${e}`,jV=(e,t)=>`in ${e}, ${PC(t)}`,$V=e=>`in ${e}, here while it needs you`,AV=new Set(["waiting","stopping","working","background","starting","preparing","failed","crashed"]);function Sw(e,t){if(!Sn(e))return e.locked?`Held by ${e.lockReason??"another tool"}`:t.path;if(t.op)return ay(t.op);if($r(e.worktree))return LC;const n=sy(e,t.needsSetup),r=e.worktree.lastTurn;return!AV.has(Gs(e))&&r?Ky(r):t.at&&t.at!=="now"?`${n} · ${t.at}`:n}function CV(e,t){if(!Sn(e)||t)return!1;const n=Gs(e);return(n==="idle"||n==="asleep")&&!e.unseen}function IV(e){const t=e.worktree.lastTurn,n=e.worktree.landed?Uy(e.worktree.lands):[],r=t?(is(e.agent)?U8:Ky)(t):void 0,o=ep(e.worktree),s=o&&!e.worktree.landed?Fs(o):void 0;return[...n,r,s].filter(a=>!!a)}function RV(e,t,n,r){let o;const s=(f,p)=>{const g=p==null?void 0:p[p.length-1];g&&(!o||g.at>o.mark.at)&&(o={title:f,mark:g})};for(const f of e)f.worktree&&s(f.worktree.title,f.worktree.lands);for(const f of t)s(f.title,f.lands);const a=o&&$j(o.mark),l=o?`Landed ${o.title} ${jo(kr(o.mark.at))}${a?`: ${oo(a)}`:"."}`:void 0,u=n?wN(r,n):null,h=u?oo(`${u.charAt(0).toUpperCase()}${u.slice(1)}`):n!=null&&n.fetchedAt?`Level with origin, fetched ${jo(kr(n.fetchedAt))}.`:void 0;return[l,h].filter(f=>!!f)}function OV(e){const t=e.prompt?Tp(e.prompt):"";return[...t?[t]:[],...Uy(e.lands)]}function MV(e){const n=[e.auto&&LV(e.auto,!!e.landed),e.cost!==void 0?ad(e.cost):void 0].filter(r=>!!r);return n.length?n:void 0}function LV(e,t){const{what:n,idle:r}=bR(e);return r?`${t?"":`${n}, `}${r} idle`:n}const NS=25;function PV(e,t){if(e.length<=NS+1)return{shown:e,rest:0};const n=e.slice(0,NS),r=t?e.find(o=>o.id===t):void 0;return r&&!n.includes(r)&&n.push(r),{shown:n,rest:e.length-n.length}}function DV(e,t,n){const r=e.indexOf(t);return r<0?null:e[r+(n?1:-1)]??null}const zV=.5;function FV(e){const t=e.usage,n=t&&t.size>0?t.used/t.size:0,r=[n>=zV?`${Math.round(100*n)}% of context`:void 0,e.queued?`${e.queued} queued`:void 0,(t==null?void 0:t.cost)!==void 0?ad(t.cost):void 0].filter(o=>!!o);return r.length?r:void 0}function BV(e){const t=e.filter(vs).find(n=>n.id==="archive")??null;return[...t?[{id:"archive",label:t.label,icon:"archive",item:t}]:[],{id:"more",label:"more",icon:"more",item:null}]}function DC(e){return e.altKey?"Alt":e.ctrlKey?"Control":e.metaKey?"Meta":null}function _w(e,t){return t==="Alt"?e.altKey:t==="Control"?e.ctrlKey:e.metaKey}const UV=200,zC={set:(e,t)=>setTimeout(e,t),clear:e=>clearTimeout(e)};function HV(){let e=null;return{press(t){e=DC(t)},holds(t){return e!==null&&_w(t,e)},keyup(t){e&&t===e&&(e=null)},mods(t){e&&!_w(t,e)&&(e=null)}}}function WV(e,t=zC){let n=null,r=!1,o=null;const s=()=>{r||(r=!0,e(!0))},a=()=>{o!==null&&(t.clear(o),o=null)},l=()=>{a(),n=null,r&&(r=!1,e(!1))};return{press(u){const h=n!==null;n=DC(u),a(),n&&(h?s():o=t.set(()=>{o=null,s()},UV))},keyup(u){n&&u===n&&l()},mods(u){n&&!_w(u,n)&&l()},end:l}}const KV=350,qV=80,ZV=2e3;function GV(e,t=zC){let n=!1,r=null,o=null,s=null,a=null;const l=()=>{r&&(t.clear(r.pending),r=null)},u=()=>{s!==null&&t.clear(s),a!==null&&t.clear(a),s=null,a=null},h=()=>{l(),u(),o=null,n&&(n=!1,e(!1))};return{over(f){u(),a=t.set(h,ZV),n||(n=!0,e(!0)),(r==null?void 0:r.id)!==(f==null?void 0:f.id)&&(l(),!(!f||f.id===o)&&(o=null,r={id:f.id,pending:t.set(()=>{r=null,o=f.id,f.land()},KV)}))},leave(){n&&(s!==null&&t.clear(s),s=t.set(h,qV))},end:h}}const Hf=e=>e>999?"1k+":String(e);function FC({width:e,placement:t="strip"}){const n=t==="screen",r=Xs(),o=Np(),s=nd("chat"),a=dt(),l=Qe(),{host:u}=Lr(),h=Ny(),f=h[0]&&$r(h[0].worktree)?h[0]:null,p=f?h.slice(1):h,g=D(ee=>Wi(ee,ee.activeRepoId)),y=ee=>f&&ee.id===f.id&&g?{behind:g.behind,dirty:g.dirty}:ee,[,v]=S.useState(0);S.useEffect(()=>{const ee=setInterval(()=>v(ge=>ge+1),6e4);return()=>clearInterval(ee)},[]);const w=C6(),x=I6(),N=R6(),E=O6(),T=(ee,ge,He)=>{ee.key!=="ArrowLeft"&&ee.key!=="ArrowRight"||ee.shiftKey||ee.altKey||ee.metaKey||ee.ctrlKey||(ee.preventDefault(),_p([{depth:0,open:ge}],0,ee.key)&&a({a:He}))},j=Ya(),A=D(ee=>ee.notesPage),I=D(ee=>ee.clientId),$=D(ee=>ee.frame),C=D(ee=>ee.activeRepoId),L=D(ee=>ee.connected),P=D(ee=>ee.repos.map(ge=>ge.id).join(" "));S.useEffect(()=>{if(!(!l||!L||!P))for(const ee of P.split(" "))l.send({t:"list-archived",repoId:ee})},[l,L,P]);const B=fl(),q=hT(),ne=D(ee=>ee.layout),Q=D(ee=>ee.railOpen),le=D(ee=>ee.railPeek),te=S.useRef(null),[Z,R]=S.useState(!1);ot([le],()=>{var ee;le&&!n&&!r&&!((ee=te.current)!=null&&ee.matches(":hover"))&&R(!0)}),S.useEffect(()=>{if(!Z)return;let ee=null;const ge=He=>{if(!ee){ee={x:He.clientX,y:He.clientY};return}Math.abs(He.clientX-ee.x)+Math.abs(He.clientY-ee.y)<3||R(!1)};return window.addEventListener("pointermove",ge),()=>window.removeEventListener("pointermove",ge)},[Z]);const[J,F]=S.useState(!1),O=S.useMemo(()=>GV(F),[]);S.useEffect(()=>()=>O.end(),[O]);const W=D(ee=>{var ge;return((ge=ee.dragFiles)==null?void 0:ge.at)==="rail"?ee.dragFiles.worktreeId:null}),ie=D(ee=>ee.focusRail),he=S.useRef(ie),ye=S.useRef(null);ot([ie],()=>{if(ie===he.current)return;he.current=ie;const ee=requestAnimationFrame(()=>{var ge,He;return(He=(ge=ye.current)==null?void 0:ge.querySelector('[data-state~="current"]'))==null?void 0:He.focus()});return()=>cancelAnimationFrame(ee)});const $e=D(ee=>ee.showRow);ot([$e,B,j==null?void 0:j.id,A],()=>{var ee,ge;(ge=(ee=ye.current)==null?void 0:ee.querySelector('[data-state~="current"]'))==null||ge.scrollIntoView({block:"nearest"})});const Be=(ee,ge,He,lt,z)=>{var Ee,Ge;if(ee.key!=="ArrowUp"&&ee.key!=="ArrowDown"||ee.altKey||ee.ctrlKey||ee.metaKey)return;ee.preventDefault();const re=DV(ge,He,ee.key==="ArrowDown");re!==null&&(z(re),(Ge=(Ee=ye.current)==null?void 0:Ee.querySelector(`[${lt}="${re}"]`))==null||Ge.focus())},Ne=D(ee=>ee.repos),H=D(ee=>ee.shipping),ae=D(ee=>ee.rows),X=ee=>Ne.find(ge=>ge.id===ee.repoId)??null,oe=ee=>C?ky(ee,C,ae):null,we=ee=>C&&ee.repoId!==C?X(ee):null,Pe=wn("rail"),Re=Pn(),Ke=$y(),tt=D(ee=>ee.home),at=ee=>{const ge=ee.worktree?ee.worktree.path:ee.path;return tt&&ge.startsWith(`${tt}/`)?`~${ge.slice(tt.length)}`:ge},[Mt,en]=S.useState(!1),[ft,Ze]=S.useState([]),sn=ee=>{!Zf(ee.worktree)||we(ee)||(en(!0),Ze(ge=>ge.includes(ee.worktree.id)?ge.filter(He=>He!==ee.worktree.id):[...ge,ee.worktree.id]))},Ut=()=>{en(!1),Ze([])};ot([Mt],()=>{const ee=ge=>ge.key==="Escape"&&Ut();return Mt&&window.addEventListener("keydown",ee),()=>window.removeEventListener("keydown",ee)});const zt={sock:l,dispatch:a},Zt=ee=>my(Re.getState(),ee),st=ee=>{en(!0),Ze(ge=>ee===B||ge.includes(ee)?ge:[...ge,ee])},ht=ee=>Sn(ee)?Nj(ee,X(ee),{layout:ne,shipping:H,frame:$,drafted:Zt},zt,{...we(ee)?{}:{graft:st},hostname:u}):$8(ee,{clientId:I,frame:$},zt,u),[vn,xt]=S.useState(null),ct=ee=>Sn(ee)?BV(ht(ee)):[],Tn=D(ee=>ee.left);fj(ye,{rowOf:ee=>{if(!n||Mt||UN({left:Tn},Date.now()))return null;const ge=ee.closest(".slide"),He=ge==null?void 0:ge.dataset.row,lt=He?h.find(z=>z.id===He):void 0;return ge&&He&<?{el:ge,key:He,rungs:ct(lt).length}:null},onSlide:xt,onPick:(ee,ge)=>{var z;const He=h.find(re=>re.id===ee),lt=He?ct(He)[ge-1]:void 0;if(!(!He||!lt)){if(lt.id==="more"){const re=(z=ye.current)==null?void 0:z.querySelector(`.slide[data-row="${ee}"]`);re&&Pe.openUnder(re,()=>ht(He),ee)}else if(lt.item&&!lt.item.disabled){const re=lt.item.onClick;window.setTimeout(re,uj)}}}});const pn=PV(N,(j==null?void 0:j.id)??null),In=pn.shown.some(ee=>(ee.dirty??0)>0),Oe=ee=>d.jsxs("button",{type:"button",className:We("row row-edge row-quiet rail-disc-item rail-arch-item",(Ke==null?void 0:Ke.owner)==="rail"&&Ke.key===ee.id&&"menu-open"),"data-state":er({current:!n&&(j==null?void 0:j.id)===ee.id}),"data-arch":ee.id,...Ot(v9(ee),void 0,{placement:s,card:!0,detail:OV(ee),aside:MV(ee)}),onClick:()=>a({a:"open-archived",id:ee.id}),onKeyDown:ge=>Be(ge,pn.shown.map(He=>He.id),ee.id,"data-arch",He=>a({a:"open-archived",id:He})),...Pe.contextMenu(()=>th(ee,{clientId:I,frame:$},zt),ee.id),children:[d.jsxs("span",{className:"rail-gut",onClick:r?ge=>{ge.stopPropagation(),Pe.openUnder(ge.currentTarget,()=>th(ee,{clientId:I,frame:$},zt),ee.id)}:void 0,children:[d.jsx("span",{className:"rail-at row-dim",children:kr(ee.archivedAt)}),d.jsx("span",{className:"rail-more",...Ot("Actions"),onClick:ge=>{ge.stopPropagation(),Pe.openUnder(ge.currentTarget,()=>th(ee,{clientId:I,frame:$},zt),ee.id)},children:d.jsx(Tt,{name:"more"})})]}),d.jsx("span",{className:"branch",children:ee.title}),In&&d.jsx("span",{className:"rail-counts",children:d.jsx("span",{className:"rail-count row-dim","data-tip":ee.dirty?`${ee.dirty} uncommitted, kept`:void 0,children:ee.dirty?`~${Hf(ee.dirty)}`:""})}),ee.auto?d.jsx("span",{className:"rail-glyph rail-auto row-dim",children:d.jsx(Tt,{name:"clock",className:"icon-inline"})}):d.jsx("span",{className:"dot"}),n&&d.jsx("span",{className:"rail-at rail-at-end row-dim",children:kr(ee.archivedAt)})]},ee.id),pt=[...h,...w].map(y),Ht=["ahead","dirty","behind"].filter(ee=>pt.some(ge=>(ge[ee]??0)>0)),an=ee=>{const ge=Ht.findIndex(He=>(ee[He]??0)>0);return new Set(ge<0?[]:Ht.slice(ge))},Gn=ee=>{var bn;const ge=Sn(ee)?ee:null,He=!!ge&&$r(ge.worktree),lt=y(ee),z=Ne.find(Kt=>Kt.id===ee.repoId)??null,re=z?Jh(z):"main",Ee=z&&lO(z)&&(g!=null&&g.fetchedAt)?` as of ${fp(g.fetchedAt)}`:"",Ge=an(lt),_t=!!lt.ahead&&!lt.dirty,kt=ee.id,De=(Ke==null?void 0:Ke.owner)==="rail"&&Ke.key===kt,ze=ge?oe(ge):null,qe=ge?we(ge):null,Yt=ge&&!qe?E3(ge,ae,N):null,Wt=ge&&!qe&&Mt&&Zf(ge.worktree)&&kt!==B,Rn=ge&&ge.worktree.kind==="worktree"&&!qe?{title:ge.worktree.title,branch:ge.worktree.branch}:null,un=hp(ee,(bn=H[kt])==null?void 0:bn.op),Vn=d.jsxs("button",{type:"button",className:We("row row-edge",ge?"rail-item":"row-quiet rail-disc-item",n&&CV(ee,un)&&"row-quiet",De&&"menu-open",W===kt&&"drop-over"),"data-state":er({current:!n&&kt===B&&!j&&!A,checked:ft.includes(kt)}),...ge?Ot(q?sh:xN(ee,un,kh(X(ge))),void 0,{placement:s,card:!0,aside:FV(ee),detail:$r(ge.worktree)?RV(h,N,g,re):[...qe?[ze?jV(qe.name,ze.worktree.title):$V(qe.name)]:Yt?[PC(Yt)]:[],...IV(ge)],dot:q?void 0:bN(ee,un)}):Ot(q?sh:ee.locked?`Held by ${ee.lockReason??"another tool"}`:TV,void 0,{placement:s,card:!0,detail:at(ee),dot:q||ee.locked?void 0:"discovered"}),"data-wt":kt,draggable:o&&Rn!==null,onDragStart:Rn!==null?Kt=>Pu(Kt,{kind:"worktree",worktreeId:kt,...Rn}):void 0,onDragEnd:()=>id(Re),onKeyDown:Kt=>{if(Mt)return;const Ct=(ge?h:w).map(kn=>kn.id);Be(Kt,Ct,kt,"data-wt",kn=>a({a:"activate",id:kn}))},onClick:Kt=>{ge&&!qe&&(Mt||Kt.shiftKey)?kt===B?en(!0):sn(ge):He&&!n?a({a:"open-draft"}):(a({a:"activate",id:kt}),ge&&!r&&a({a:"walked"}))},...Pe.contextMenu(()=>ht(ee),kt),children:[d.jsx("span",{className:"rail-gut",onClick:r&&!Mt?Kt=>{Kt.stopPropagation(),Pe.openUnder(Kt.currentTarget,()=>ht(ee),kt)}:void 0,children:Wt?d.jsx("input",{type:"checkbox",className:"rail-graft-check",checked:ft.includes(kt),readOnly:!0,tabIndex:-1}):!Mt&&d.jsxs(d.Fragment,{children:[ge&&!He&&d.jsx("span",{className:"rail-at row-dim",children:kr(za(ge.worktree))}),d.jsx("span",{className:"rail-more",...Ot("Actions"),onClick:Kt=>{Kt.stopPropagation(),Pe.openUnder(Kt.currentTarget,()=>ht(ee),kt)},children:d.jsx(Tt,{name:"more"})})]})}),He?d.jsxs("span",{className:"branch rail-main-label",children:[d.jsx(Tt,{name:"plus",className:"icon-inline"}),"new worktree"]}):d.jsx("span",{className:We("branch",(ge==null?void 0:ge.worktree.unnamed)&&"row-dim"),children:Sk(ee,ge?X(ge):null)}),(ge==null?void 0:ge.worktree.mode)&&ge.worktree.mode!=="auto"&&d.jsx("span",{className:"rail-badge badge-mode","data-tip":`${ge.worktree.mode} mode: the agent waits for you`,children:ge.worktree.mode}),qe&&d.jsx("span",{className:"rail-guest row-dim",children:qe.name}),d.jsxs("span",{className:"rail-counts",children:[Ge.has("ahead")&&d.jsx("span",{className:"rail-count badge-ahead","data-tip":lt.ahead?`${lt.ahead} ahead of ${re}`:void 0,children:lt.ahead?`+${Hf(lt.ahead)}`:""}),Ge.has("dirty")&&!_t&&d.jsx("span",{className:"rail-count badge-dirty","data-tip":lt.dirty?`${lt.dirty} uncommitted${He?" on main":""}`:void 0,children:lt.dirty?`~${Hf(lt.dirty)}`:""}),Ge.has("behind")&&d.jsx("span",{className:"rail-count rail-behind row-dim","data-tip":lt.behind?`${lt.behind} behind ${He?"origin":re}${He?"":Ee}`:void 0,children:lt.behind?Hf(lt.behind):""}),n&&ge&&d.jsx("span",{className:"rail-at row-dim",children:He?"":kr(za(ge.worktree))})]}),(()=>{if(un)return d.jsx("span",{className:"dot background"});if(ee.locked)return d.jsx("span",{className:"rail-glyph rail-lock row-dim",children:d.jsx(Tt,{name:"lock",className:"icon-inline"})});if(!ge)return d.jsx("span",{className:"dot discovered"});const Kt=Mt||q?null:EN(ee.procs),Ct=ee.unseen?" unseen":"",kn=Gs(ee);return He&&!Kt&&kn!=="crashed"&&!q?d.jsxs(d.Fragment,{children:[d.jsx("span",{className:`dot ${kn} rail-main-dot`}),d.jsx("span",{className:"rail-glyph rail-main-strip",children:d.jsx(Tt,{name:"plus"})})]}):!Kt||kn!=="crashed"?d.jsx("span",{className:`dot ${kn}${Ct}`}):d.jsx("span",{className:`dot crashed clickable${Ct}`,...Ot(Kt.tip),onClick:de=>{de.stopPropagation(),a({a:"activate",id:kt}),a({a:"term-stream",id:kt,stream:Kt.stream})}})})(),n&&d.jsx("span",{className:"rail-say row-dim",children:Sw(ee,{needsSetup:kh(ge?X(ge):null),path:at(ee),op:un})})]},kt);if(!n||!ge)return Vn;const rn=(vn==null?void 0:vn.key)===kt?vn.step:null,Jt=rn===null?null:ct(ee)[Math.max(0,rn-1)],rr=!!Jt&&rn!==null&&rn>0&&(Jt.id==="more"||!!Jt.item&&!Jt.item.disabled);return d.jsxs("div",{className:"slide","data-row":kt,children:[Vn,Jt&&d.jsxs("span",{className:"slide-verb","data-rung":rr?Jt.id:void 0,"aria-hidden":"true",children:[d.jsx("span",{className:"slide-word",children:Jt.label}),d.jsx(Tt,{name:Jt.icon})]})]},kt)};return d.jsx("div",{ref:te,className:We("rail",n&&"rail-screen",!n&&(Mt||(Ke==null?void 0:Ke.owner)==="rail"||le||J)&&"hold",Z&&"quiet",(n||Q)&&"pinned",q&&"offline"),style:e!==void 0&&!n?{"--rail-width":`${e}px`}:void 0,onClick:r&&!n&&!Q?ee=>{ee.target instanceof Element&&ee.target.closest("button, .rail-gut")||a({a:"toggle-rail"})}:void 0,onDragOver:ee=>{var z;if(!zk(ee.dataTransfer))return;const ge=ee.target instanceof Element?(z=ee.target.closest("[data-wt]"))==null?void 0:z.dataset.wt:void 0,He=ge?[...h,...w].find(re=>re.id===ge):void 0;if(!He||Mt||He.id===B)return O.over(null);const lt=!n&&Sn(He)&&$r(He.worktree);O.over({id:He.id,land:()=>a(lt?{a:"open-draft"}:{a:"activate",id:He.id})})},onDragLeave:O.leave,onDrop:O.end,children:d.jsx("div",{className:"rail-panel","data-tip":q?sh:void 0,"data-tip-placement":"follow",children:d.jsxs("div",{className:"rail-list",ref:ye,children:[f&&!n&&Gn(f),p.map(Gn),Mt&&d.jsxs("div",{className:"rail-graft",children:[(()=>{const ee=h.find(lt=>lt.worktree.id===B&&Zf(lt.worktree)&&!we(lt)),ge=ft.filter(lt=>lt!==(ee==null?void 0:ee.worktree.id)),He=ge.map(lt=>{var z;return((z=h.find(re=>re.worktree.id===lt))==null?void 0:z.worktree.title)??lt}).join(", ");return d.jsxs(Le,{size:"md",tone:"primary",disabled:!ee||ge.length===0,"data-tip":ee?`Merge the checked worktrees into ${ee.worktree.title} and remove them`:"Select a worktree to graft onto",onClick:()=>{ee&&window.confirm(`Graft ${He} onto ${ee.worktree.title}?
|
|
278
|
+
|
|
279
|
+
Their branches are merged in, then their directories and branches are removed.`)&&(l==null||l.send({t:"graft",targetId:ee.worktree.id,sourceIds:ge}),Ut())},children:["graft ",ge.length]})})(),d.jsxs(Le,{size:"md",disabled:!ft.some(ee=>{var ge;return(((ge=h.find(He=>He.worktree.id===ee))==null?void 0:ge.behind)??0)>0}),"data-tip":"Pull main into every selected worktree that's behind",onClick:()=>{for(const ee of ft){const ge=h.find(He=>He.worktree.id===ee);((ge==null?void 0:ge.behind)??0)>0&&Di(l,a,{t:"sync-main",worktreeId:ee})}Ut()},children:[d.jsx(Tt,{name:"pull",className:"icon-inline"})," sync"]}),d.jsx(Le,{size:"md",tone:"danger",disabled:ft.length===0,"data-tip":"Archive all selected worktrees; their chats and work are kept",onClick:()=>{window.confirm(`Archive ${ft.length} worktree(s)?
|
|
280
|
+
|
|
281
|
+
Their directories and branches go. The chats, commits and any uncommitted changes are kept, and each can be restored.`)&&(Gc(l,a,ft),Ut())},children:"archive…"}),d.jsx(Dt,{icon:"close",label:"Cancel",hint:"esc",onClick:Ut})]}),!Mt&&w.length>0&&d.jsxs(d.Fragment,{children:[d.jsxs("button",{className:"section-title section-row section-fold rail-disc-head","aria-expanded":x,...Ot(`${w.length} worktree${w.length===1?"":"s"} here that Toyon did not make`,void 0,{placement:s}),onClick:()=>a({a:"toggle-discovered"}),onKeyDown:ee=>T(ee,x,"toggle-discovered"),children:[d.jsx("span",{className:"rail-gut",children:d.jsx(Tt,{name:"caret",className:We("icon-inline disc-caret",!x&&"shut")})}),d.jsx("span",{className:"rail-label",children:"discovered"})]}),x&&w.map(Gn)]}),!Mt&&N.length>0&&d.jsxs(d.Fragment,{children:[d.jsxs("button",{type:"button",className:"section-title section-row section-fold rail-disc-head","aria-expanded":E,...Ot(`${N.length} archived worktree${N.length===1?"":"s"}, kept with ${N.length===1?"its chat":"their chats"}`,void 0,{placement:s}),onClick:()=>a({a:"toggle-archived"}),onKeyDown:ee=>T(ee,E,"toggle-archived"),children:[d.jsx("span",{className:"rail-gut",children:d.jsx(Tt,{name:"caret",className:We("icon-inline disc-caret",!E&&"shut")})}),d.jsx("span",{className:"rail-label",children:"archived"})]}),E&&pn.shown.map(Oe),E&&pn.rest>0&&C&&d.jsxs("button",{type:"button",className:"row row-quiet rail-disc-item rail-arch-item",...Ot("Find an older one by its name, branch or first message",void 0,{placement:s}),onClick:()=>a({a:"open",overlay:{kind:"chats",names:!0}}),children:[d.jsx("span",{className:"rail-gut"}),d.jsxs("span",{className:"branch row-dim",children:[pn.rest," more"]}),d.jsx("span",{className:"dot"})]})]})]})})})}const Uh=["home","chat","preview","changes"],VV=(e,t)=>Uh.indexOf(t)<Uh.indexOf(e)?"left":"right";function YV(e,t,n,r=null){if(e==="home")return t!=="left"||!r||r==="home"?null:r==="preview"&&!n?"chat":r;const o=Uh.filter(a=>a!=="preview"||n),s=o.indexOf(e);return s<0?null:o[s+(t==="right"?-1:1)]??null}function XV({screen:e,tabs:t,fold:n,beside:r=!1,away:o=!1}){const s=dt(),a=Es(),l=Vs(),u=D(he=>he.reading),h=D(he=>he.typing),f=P6(),p=hl(),g=D(he=>he.repos),y=Ys(),v=fl(),w=Ya(),x=Ty(),N=Ny(),E=hT(),T=D(he=>he.connectFailure),j=D(he=>he.recalledAt??he.heardAt);Pi(E&&j!==null?j:void 0);const A=NV(T,j),I=iT(),$=F9(N,v,I),C=N.find(he=>$r(he.worktree)),L=e==="home",P=!L&&!w&&!!y&&$r(y.worktree),B=D(he=>{var ye;return P&&y?hp(y,(ye=he.shipping[y.id])==null?void 0:ye.op):null}),q=vy().length,ne=a.displayName(l.origin),Q=L?(f==null?void 0:f.name)??ne:P?LC:(w==null?void 0:w.title)??(y==null?void 0:y.worktree.title)??(x==null?void 0:x.name)??null,le=N.filter(he=>!$r(he.worktree)).length,te=le===0?"no worktrees yet":`${le} ${le===1?"worktree":"worktrees"}`,Z=D(he=>he.sharing),R=L?E?A:Z||(f&&q>1?`${ne} · ${te}`:te):w?Wj(w):E?A:P?B?ay(B):(f==null?void 0:f.name)??null:y?Sw(y,{needsSetup:kh(p),path:y.worktree.path,at:kr(za(y.worktree))}):x?Sw(x,{needsSetup:!1,path:x.path}):null,J=!L&&!w&&!!y&&Gs(y)==="waiting",F=D(he=>{var ye;return((ye=he.overlay)==null?void 0:ye.kind)==="projects"&&he.overlay.form==="pill"})&&!r,O=D(he=>{var ye;return((ye=he.overlay)==null?void 0:ye.kind)==="commands"})&&!r,W=d.jsxs("div",{className:"phone-title",children:[L&&(g.length>1||q>1)?d.jsxs("span",{className:"phone-drop phone-switch",children:[d.jsxs(Le,{tone:"chrome",on:F,onClick:()=>s({a:"toggle",overlay:{kind:"projects",form:"pill"}}),children:[d.jsx("span",{className:"phone-name",children:Q}),d.jsx(Tt,{name:"caret",className:"icon-inline"})]}),F&&d.jsx(Mv,{form:"pill",anchored:{margin:6}})]}):d.jsx("span",{className:"phone-name",children:Q}),R&&d.jsx("span",{className:We("phone-sub",J&&"phone-sub-asks"),children:R})]}),ie=$&&d.jsxs(Le,{size:"md",tone:"primary",onClick:()=>{const he=B9(N,v,I);if(!he)return;if(he.origin===null)return s({a:"activate",id:he.activate});const ye=a.get(he.origin);ye&&(ye.store.dispatch({a:"activate",id:he.activate}),a.activate(he.origin))},children:[$.n," ",$.tier]});return d.jsxs("div",{className:"phone-bar",children:[d.jsxs("div",{className:"phone-bar-row",children:[!L&&d.jsx(Dt,{icon:"back",label:"Worktrees",tone:"chrome",onClick:()=>s({a:"screen",to:"home"})}),t?d.jsx("div",{className:"phone-tabs",children:t}):W,!t&&ie,L&&C&&d.jsx(Dt,{icon:"plus",label:"New worktree",tone:"chrome",onClick:()=>s({a:"activate",id:C.id})}),d.jsxs("span",{className:"phone-drop",children:[d.jsx(Dt,{icon:"more",label:"Menu",tone:"chrome",on:O,onClick:()=>s({a:"toggle",overlay:{kind:"commands"}})}),O&&d.jsx(iC,{anchored:{flip:"align",margin:6},trailing:d.jsx(Dt,{icon:"close",label:"Close",tone:"chrome",onClick:()=>s({a:"close"})})})]})]}),t&&!n&&d.jsx("div",{className:"phone-title-seat","data-away":u||h||o||void 0,children:d.jsxs("div",{className:"phone-title-strip",children:[W,ie]})})]})}const ih="toyonDepth",BC="toyonOver",rk=-1;function ok(e){return e.frame!=="phone"||!e.heard&&e.recalledAt===null?null:e.screen!=="home"&&(Zr(e,e.activeId)!==null||Ho(e)!==null)?1+(e.editor?1:0):0}const UC=(()=>{const e=new Set;return{watch(t){return e.add(t),()=>e.delete(t)},tell(t){for(const n of e)n(t)}}})(),sk=e=>{const t=e&&typeof e=="object"?e[ih]:void 0;return typeof t=="number"?t:null},QV=e=>!!e&&typeof e=="object"&&e[BC]===!0;function JV(e,t=window,n=nl,r=UC){const o=t.history;let s=sk(o.state)??rk,a=sk(o.state)!==null,l=null;const u=()=>{const T=n.open();l&&!T.includes(l)&&(l=null);for(let j=T.length-1;j>=0;j--){const A=T[j];if(A!=null&&A.dismiss&&A!==l)return A}return null};let h=!1;const f=()=>{const T=ok(e.getState());if(T===null||h)return;a||(o.replaceState({[ih]:rk},""),a=!0);const j=T+(u()?1:0);if(j!==s)if(j>s){for(let A=s+1;A<=j;A++)o.pushState({[ih]:A,[BC]:A>T},"");s=j}else o.go(-1),h=!0};let p=!1;const g=()=>{p||(p=!0,queueMicrotask(()=>{p=!1,f()}))},y=(T,j)=>{const A=u();if(A){l=A,n.shut(A);return}const I=j===0?"home":T.screen;e.dispatch({a:"screen",to:I})},v=T=>{const j=h;h=!1,s=sk(T.state)??rk;const A=e.getState(),I=ok(A);if(I===null)return;if(s<0){o.pushState({[ih]:0},""),s=0,f();return}if(j){f();return}const $=I+(u()?1:0);$!==s&&($>s?y(A,s):$===0&&A.activeId&&!QV(T.state)&&e.dispatch({a:"screen",to:"chat"}),f())},w=T=>{if(h){h=!1,f();return}const j=e.getState(),A=ok(j);A===null||A===0||j.screen==="preview"&&!j.editor&&A===1||T.dir==="forward"||y(j,A+(u()?1:0)-1)};t.addEventListener("popstate",v);const x=e.subscribe(f),N=n.watch(g),E=r.watch(w);return f(),()=>{t.removeEventListener("popstate",v),x(),N(),E()}}function eY({gated:e,active:t,url:n,onTouch:r}){const o=gp(t),s=j5(Vs(),o?n:null,e),a=S.useRef(null),l=S.useRef(r);return l.current=r,S.useEffect(()=>{if(!s)return;const u=new URL(s,location.href).origin,h=f=>{var y,v;const p=(y=a.current)==null?void 0:y.contentWindow;if(!p||f.source!==p||f.origin!==u||!((v=f.data)!=null&&v.__toyon))return;const g=Q_(f.data);(g==null?void 0:g.type)==="traversed"?UC.tell({dir:g.dir??null}):(g==null?void 0:g.type)==="touch"?l.current(g):(g==null?void 0:g.type)==="loaded"&&p.postMessage({__toyon:!0,type:"touches",on:!0},u)};return window.addEventListener("message",h),()=>window.removeEventListener("message",h)},[s]),d.jsx("div",{className:"phone-preview",children:o&&s?d.jsx("iframe",{ref:a,className:"phone-preview-frame",src:s,title:t.worktree.title}):d.jsx(Ss,{wide:!0,children:d.jsx("p",{className:"status-line",children:sy(t)})})})}function tY(e){return e.incompatible?{kind:"updated",foreign:e.serving?null:e.machine}:e.said?{kind:"say"}:e.onWorktree?e.editor?{kind:"editor"}:{kind:"tab",tab:e.tab}:{kind:"home"}}const nY=mh(),rY=!tj(),oY={current:null};function sY(){const e=S.useRef(null),t=S.useRef(null),n=S.useRef(null);N6(e),T6(e);const r=dt(),o=D(ie=>ie.screen),s=Ys(),a=Ya(),l=Ty(),u=D(ie=>ie.editor),h=D(ie=>ie.left),f=D(ie=>ie.remote),p=td(),g=D(ie=>ie.connected),y=D(ie=>ie.heard),v=D(ie=>ie.recalledAt!==null||ie.heard),w=D(ie=>ie.connectFailure),x=Xs(),N=Vs(),E=Es(),[T,j]=S.useState(null),[A,I]=S.useState(null),$=D(ie=>ie.incompatible),C=gj({connected:g,heard:y,standing:v,connectFailure:w,hasToken:N.serving?nY:!0,projectChord:qt("project"),title:(s==null?void 0:s.worktree.title)??null,machine:N.serving?null:E.displayName(N.origin)}),L=o!=="home"&&(s!==null||a!==null||l!==null),P=!L&&T!==null&&T!=="home",B=!p&&!a?s:null,q=L||P?B:null,{host:ne}=Lr(),Q=q?yN(q.worktree.id,q.worktree.proxyPort,f,ne):null,le=o==="preview"&&!q?"chat":o,te=tY({incompatible:$,serving:N.serving,machine:E.displayName(N.origin),said:C!==null,onWorktree:L,editor:u!==null,tab:le}),Z=te.kind==="home"?"home":te.kind==="tab"?te.tab:null,R=q!==null&&Q!==null,J=d8(rY?e:oY,{take:(ie,he)=>{if(T!==null)return null;const ye=te.kind==="tab"?te.tab:te.kind==="home"?"home":null;if(!ye)return null;const $e=ye==="home"?UN({left:h},Date.now()):null;if(he==="left"&&!$e&&ie.closest(".slide"))return null;const Be=YV(ye,he,B!==null,$e);return Be?(j(Be),(Be==="home"||ye==="home"?t:n).current):null},onSettle:ie=>{ie&&T&&I(T)},onEnd:ie=>{ie&&T&&r({a:"screen",to:T}),j(null),I(null)}}),F=(ie,he)=>d.jsx(XV,{screen:ie==="home"?"home":"chat",beside:he,fold:ie!=="chat"||u!==null,away:!he&&T!==null&&T!=="home",tabs:ie!=="home"&&C===null&&d.jsx(Qa,{fill:!0,segmented:!0,owner:"phone-tabs",label:"worktree",items:W,current:A&&A!=="home"?A:ie,onPick:ye=>r({a:"screen",to:ye})})}),O=te.kind==="updated"?d.jsx(mj,{foreign:te.foreign??void 0}):te.kind==="say"&&C?d.jsx(Ss,{wide:!0,children:d.jsx("p",{className:We("status-line",C.live&&"live-text"),children:C.text})}):te.kind==="editor"&&u?d.jsx($C,{editor:u,placement:"screen"}):null,W=[{id:"chat",label:"chat"},...q&&Q?[{id:"preview",label:"preview",trail:d.jsx(Dt,{icon:"external",label:"Open in browser",tone:"chrome",onClick:()=>$5(N,Q,Fk(N,f))})}]:[],{id:"changes",label:"code"}];return d.jsxs("div",{ref:e,className:"app phone","data-chat-side":"left","data-touch":x||void 0,"data-hover":!x||void 0,children:[d.jsx(sj,{}),d.jsx(lj,{}),d.jsx("div",{className:"phone-screen",children:d.jsxs("div",{className:"center-root",children:[d.jsxs("div",{className:"phone-track",ref:t,children:[(!L||T==="home")&&d.jsxs("div",{className:"phone-face","data-side":L?"left":void 0,children:[F("home",L),!L&&Z===null?O:d.jsx(FC,{placement:"screen"})]},"home"),(L||P)&&d.jsxs("div",{className:"phone-face","data-side":P?"right":void 0,children:[F(P&&T?T:le,P),d.jsxs("div",{className:"phone-track",ref:n,children:[Z===null&&d.jsx("div",{className:"phone-face",children:O},"cover"),Uh.map(ie=>{if(ie==="home")return null;const he=P?ie===T:ie===Z,ye=ie===T&&!he;return!he&&!ye&&!(ie==="preview"&&R)?null:d.jsx("div",{className:"phone-face",hidden:!he&&!ye,"data-side":ye&&Z?VV(Z,ie):void 0,children:ie==="chat"?d.jsx(_u,{placement:"screen",archived:a,found:l}):ie==="changes"?d.jsx(Bj,{placement:"screen"}):q&&Q?d.jsx(eY,{gated:Fk(N,f),active:q,url:Q,onTouch:J},q.worktree.id):null},ie)})]})]},"worktree")]}),d.jsx(MC,{})]})})]})}function iY(){try{const e=localStorage.getItem(et.theme);if(e){const t=JSON.parse(e);if(t!=null&&t.colors&&typeof t.colors.surface0=="string")return t}}catch{}return Qu}function aY(){if(Fy()!=="phone")return"surface0";try{const e=sessionStorage.getItem(et.ground);if(e==="surface0"||e==="surface1")return e}catch{}return"surface1"}function HC(e,t={}){var s,a;const n=document.documentElement;for(const[l,u]of Object.entries(z4(e)))n.style.setProperty(l,u);n.style.colorScheme=e.kind,n.dataset.theme=e.kind;const r=t.ground??aY();n.dataset.ground=r;const o=Fy()==="phone"?e.colors[r]:e.colors.surface1;if((s=document.querySelector('meta[name="theme-color"]'))==null||s.setAttribute("content",o),(a=document.querySelector('link[rel="manifest"]'))==null||a.setAttribute("href",t.black?"/manifest.json?black=1":"/manifest.json"),t.remember!==!1)try{localStorage.setItem(et.theme,JSON.stringify(e))}catch{}}function WC(e){const t=Qw(e);return{type:"theme",accent:t,accentFg:V4(t)}}function cY(){var e;return((e=window.matchMedia)==null?void 0:e.call(window,"(prefers-color-scheme: dark)").matches)??!0}const lY=12*36e5;function uY(){try{const e=localStorage.getItem(et.daylight);if(!e)return null;const t=JSON.parse(e);if(typeof(t==null?void 0:t.dark)!="boolean"||typeof t.until!="number")return null;const n=Date.now()-t.until;return n<0?t:n<lY?{dark:!t.dark,until:0}:null}catch{return null}}function dY(e){try{localStorage.setItem(et.daylight,JSON.stringify(e))}catch{}}function fY(e){var r;const t=(r=window.matchMedia)==null?void 0:r.call(window,"(prefers-color-scheme: dark)");if(!t)return()=>{};const n=o=>e(o.matches);return t.addEventListener("change",n),()=>t.removeEventListener("change",n)}function hY(e,t){return{word:`what's new in ${t}`,text:`Toyon updated from ${e} to ${t} since you last opened it here. Press to read what changed`}}function TS(e,t){return t==="reading"?"Reading the release notes":`No release notes could be read from Toyon ${e}.`}function pY(){const e=Lr(),t=D(s=>s.version),[n,r]=S.useState(void 0);S.useEffect(()=>{let s=!0;return cz(e).then(a=>{s&&r(a)}),()=>{s=!1}},[e]);const o=ol(n??"",{keepHtml:!0});return n?d.jsx("div",{className:"notes-page",children:d.jsx(Ov,{html:o})}):d.jsx(Ss,{wide:!0,children:d.jsx("p",{className:"status-line",children:n===void 0?d.jsx("span",{className:"live-text",children:TS(t,"reading")}):TS(t,"missing")})})}function Nw(e,t){return[{id:"copy-name",label:"copy name",detail:e,onClick:()=>nn(e)},{id:"copy-value",label:"copy value",detail:t,onClick:()=>nn(t)}]}function Tw(e){return[{id:"copy-value",label:"copy value",detail:e,onClick:()=>nn(e)}]}function mY(e,t,{sock:n},r){return t?Ln([[{id:"source",label:"open source",onClick:r}],Wo(()=>n==null?void 0:n.send({t:"reveal",worktreeId:e.id,path:t}),ro(n)),[{id:"copy-path",label:"copy path",onClick:()=>nn(t)}]]):[]}function Xu(e){const t=/^#([0-9a-f]{3,8})$/i.exec(e.trim());if(!t)return null;const n=t[1],r=n.length===3||n.length===4?[...n].map(s=>s+s).join(""):n;if(r.length!==6&&r.length!==8)return null;const o=Number.parseInt(r.slice(0,6),16);return[o>>16&255,o>>8&255,o&255]}function gY(e){const t=/^#([0-9a-f]{3,8})$/i.exec(e.trim());return t?t[1].length===4||t[1].length===8:!1}function jS([e,t,n]){const r=o=>{const s=o/255;return s<=.03928?s/12.92:((s+.055)/1.055)**2.4};return .2126*r(e)+.7152*r(t)+.0722*r(n)}function KC(e,t){if(gY(e))return null;const n=Xu(e);if(!n)return null;const r=Xu(t);if(!r)return null;const[o,s]=[jS(n),jS(r)];return`${((Math.max(o,s)+.05)/(Math.min(o,s)+.05)).toFixed(2)}:1`}function kY({worktreeId:e,height:t,full:n,onToggleFull:r,onDragStart:o}){const s=dt(),a=Qe(),l=D(h=>Mr(h,e).design);S.useEffect(()=>{l||a==null||a.send({t:"design-scan",worktreeId:e})},[l,e,a]),S.useEffect(()=>()=>cn.post(e,{type:"highlight-clear"}),[e]);const u={outline:h=>cn.post(e,h),clear:()=>cn.post(e,{type:"highlight-clear"}),open:h=>Cn({dispatch:s},{worktreeId:e,path:h})};return d.jsx(Yy,{kind:"design",className:We("design-pane",n&&"full"),height:n?void 0:t,resizable:!n,onDragStart:o,title:l?d.jsx("span",{children:bY(l)}):void 0,onClose:()=>s({a:"toggle-design"}),closeHint:qt("design"),full:n,onToggleFull:r,actions:d.jsxs(Le,{variant:"outline",onClick:()=>a==null?void 0:a.send({t:"design-scan",worktreeId:e}),"data-tip":"Scan this worktree again",children:[d.jsx(Tt,{name:"reload",className:"icon-inline"})," rescan"]}),children:l?d.jsxs("div",{className:"design-body",style:vY,onMouseLeave:u.clear,children:[l.tokens.length===0&&l.literals.length>0?d.jsx(TY,{literals:l.literals,outline:u.outline,clear:u.clear}):d.jsx(_Y,{tokens:l.tokens,coverage:l.coverage,outline:u.outline,clear:u.clear}),d.jsx(LY,{index:l,outline:u.outline,clear:u.clear,onOpen:u.open}),d.jsx(PY,{index:l,outline:u.outline,clear:u.clear,onOpen:u.open})]}):d.jsx("div",{className:"empty",children:d.jsx("span",{className:"live-text",children:"reading the design system"})})})}const wY=720,yY=132,vY={"--design-column":`${wY}px`,"--design-cell":`${yY}px`};function bY(e){const t=Object.values(e.coverage.files).reduce((r,o)=>r+o,0),n=e.coverage.stylesheets;return`${t} file${t===1?"":"s"} read, ${n} stylesheet${n===1?"":"s"}`}const Uc=e=>`${e} use${e===1?"":"s"}`;function qp({title:e,note:t,children:n}){return d.jsxs("section",{className:"design-section",children:[d.jsxs("h2",{className:"design-h",children:[e,t&&d.jsx("span",{className:"design-note",children:t})]}),n]})}function Hh({children:e}){return d.jsx("p",{className:"design-gap",children:e})}const xY=[{kind:"font",label:"type"},{kind:"color",label:"color"},{kind:"length",label:"size & radius"},{kind:"shadow",label:"shadow"},{kind:"other",label:"computed"}];function EY(e){return e.find(t=>t.kind==="color"&&Xu(t.resolved??t.value)!==null)}function SY(e){if(e.stylesheets===0)return"No stylesheet was read, so there is no palette or type scale to show.";const t=e.files,n=(t.scss??0)+(t.sass??0)+(t.less??0)+(t.styl??0),r="No custom properties, and no colors or sizes written out in the stylesheets.";return n>0?`${r} Sass, Less and Stylus variables are not read yet.`:r}function _Y({tokens:e,coverage:t,outline:n,clear:r}){const o=EY(e),s=o&&(o.resolved??o.value),a=new Map;for(const u of e){const h=(u.resolved??u.value).trim().toLowerCase();a.set(h,[...a.get(h)??[],u.name])}const l=u=>(a.get((u.resolved??u.value).trim().toLowerCase())??[]).filter(h=>h!==u.name);return d.jsx(qp,{title:"Tokens",children:e.length===0?d.jsx(Hh,{children:SY(t)}):xY.map(({kind:u,label:h})=>{const f=e.filter(g=>g.kind===u);if(f.length===0)return null;const p=ZC(f.map(g=>g.value));return d.jsxs("div",{className:"design-group",children:[u!=="font"&&d.jsx("span",{className:"design-group-name",children:h}),u==="font"?d.jsx(GC,{groups:IY(f),outline:n,clear:r}):d.jsx("div",{className:"design-breakout",style:qC(f.length),children:d.jsx("div",{className:"design-grid",children:f.map(g=>{const y=g.resolved??g.value,v=g.kind==="color"&&s?KC(y,s):null;return d.jsx(VC,{kind:g.kind,name:g.name,lines:g.resolved?[g.value,g.resolved]:[g.value],actual:y,ratio:v,largest:p,tipText:OY(g,v,o,l(g)),menu:()=>Nw(g.name,y),outline:n,clear:r},g.name)})})})]},u)})})}const NY=[{role:"color",kind:"color",label:"color"},{role:"radius",kind:"length",label:"radius"},{role:"shadow",kind:"shadow",label:"shadow"}];function TY({literals:e,outline:t,clear:n}){const r=e.find(s=>s.ground&&Xu(s.value)!==null),o=RY(e);return d.jsxs(qp,{title:"Values",note:"written out in the rules; no custom properties",children:[o.length>0&&d.jsx("div",{className:"design-group",children:d.jsx(GC,{groups:o,outline:t,clear:n})}),NY.map(({role:s,kind:a,label:l})=>{const u=e.filter(f=>f.role===s);if(u.length===0)return null;const h=ZC(u.map(f=>f.value));return d.jsxs("div",{className:"design-group",children:[d.jsx("span",{className:"design-group-name",children:l}),d.jsx("div",{className:"design-breakout",style:qC(u.length),children:d.jsx("div",{className:"design-grid",children:u.map(f=>{const p=a==="color"&&r?KC(f.value,r.value):null;return d.jsx(VC,{kind:a,name:f.value,lines:[Uc(f.uses)],actual:f.value,ratio:p,largest:h,tipText:MY(f,p,r),menu:()=>Tw(f.value),outline:t,clear:n},f.value)})})})]},s)})]})}function qC(e){const t="var(--design-cell)",n=`min(round(down, 100%, ${t}), calc(${e} * ${t}))`,r=`round(down, var(--design-column), ${t})`,o=`round(down, max(0px, calc((${n} - ${r}) / 2)), ${t})`;return{width:n,marginLeft:`max(0px, calc((100% - var(--design-column)) / 2 - ${o}))`}}function ZC(e){return e.reduce((t,n)=>Math.max(t,Math.abs(Number.parseFloat(n))||0),0)}const jY=["color","background-color","border-top-color","border-right-color","border-bottom-color","border-left-color","outline-color"];function $Y(e,t){if(!e)return[];const n=getComputedStyle(e);return t.map(r=>[r,n.getPropertyValue(r)])}const jw=e=>(e.split(",")[0]??e).replace(/["']/g,"").trim();function AY(e){const t=/^[1-9]00\s+([\d.]+)px(?:\s*\/\s*([\d.]+)(px)?)?\s+(.+)$/.exec(e.trim());if(!t)return{family:jw(e),size:null,lead:null};const n=Number(t[1]),r=t[2]?Number(t[2]):null,o=r===null?null:Math.round((t[3]?r:n*r)*100)/100;return{family:jw(t[4]??""),size:n,lead:o}}function ik(e){const t=Number.parseFloat(e);return e.endsWith("em")?t*16:e.endsWith("pt")?t*4/3:e.endsWith("%")?t/100*16:t}function CY(e,t){if(!e)return null;const n=Number.parseFloat(e),r=/^[\d.]+$/.test(e)?t*n:e.endsWith("px")?n:null;return r===null?null:Math.round(r*100)/100}function IY(e){const t=e.map(n=>({token:n,actual:n.resolved??n.value,...AY(n.resolved??n.value)}));return[...new Set(t.map(n=>n.family))].map(n=>{const r=t.filter(s=>s.family===n),o=r.find(s=>s.size===null);return{family:n,stack:o?o.actual:n,name:o==null?void 0:o.token.name,label:o?o.token.name:n,tipText:o?`${o.token.name}
|
|
282
|
+
${o.actual}`:void 0,menu:()=>o?Nw(o.token.name,o.actual):[],rows:r.filter(s=>s.size!==null).sort((s,a)=>(a.size??0)-(s.size??0)).map(s=>({key:s.token.name,sample:`${s.family} ${s.size}${s.lead===null?"":`/${s.lead}`}`,style:{font:s.actual},name:s.token.name,label:s.token.name,tipText:`${s.token.name}
|
|
283
|
+
${s.actual}`,menu:()=>Nw(s.token.name,s.actual)}))}})}function RY(e){const t=e.filter(o=>o.role==="family"),n=e.filter(o=>o.role==="size");return[...new Set([...t.map(o=>o.value),...n.map(o=>o.family??"initial")])].map(o=>{const s=t.find(l=>l.value===o),a=o==="initial"?"default face":jw(o);return{family:a,stack:o,name:s?Uc(s.uses):void 0,label:a,tipText:s?`${s.value}
|
|
284
|
+
${Uc(s.uses)}: ${s.selectors.join(", ")}`:void 0,menu:()=>s?Tw(s.value):[],rows:n.filter(l=>(l.family??"initial")===o).sort((l,u)=>ik(u.value)-ik(l.value)).map(l=>{const u=ik(l.value),h=CY(l.lead,u),f=l.value.endsWith("px")?`${u}`:l.value;return{key:`${l.value}/${l.lead??""}`,sample:`${a} ${f}${h===null?"":`/${h}`}`,style:{fontFamily:o,fontSize:l.value,lineHeight:l.lead},name:Uc(l.uses),label:l.value,tipText:`${l.value}${l.lead?` / ${l.lead}`:""}
|
|
285
|
+
${Uc(l.uses)}: ${l.selectors.join(", ")}`,menu:()=>Tw(l.value)}})}})}function GC({groups:e,outline:t,clear:n}){const r=(s,a,l)=>t({type:"highlight-computed",props:$Y(s.currentTarget.querySelector(".design-face-sample"),a?["font-family","font-size","line-height"]:["font-family"]),match:"all",label:l}),o=wn("design");return d.jsx("div",{className:"design-faces",children:e.map(s=>d.jsxs("div",{className:"design-face-group",children:[d.jsxs("div",{className:"design-face-head row-edge",onMouseEnter:a=>r(a,!1,s.label),onMouseLeave:n,...o.contextMenu(s.menu),...s.tipText?Ot(s.tipText,void 0,{placement:"follow"}):{},children:[d.jsx("span",{className:"design-face-sample design-face-family",style:{fontFamily:s.stack},children:s.family}),s.name&&d.jsx("span",{className:"design-face-name row-dim",children:s.name})]}),s.rows.map(a=>d.jsxs("div",{className:"design-face row-edge",onMouseEnter:l=>r(l,!0,a.label),onMouseLeave:n,...o.contextMenu(a.menu),...Ot(a.tipText,void 0,{placement:"follow"}),children:[d.jsx("span",{className:"design-face-sample",style:a.style,children:a.sample}),d.jsx("span",{className:"design-face-name row-dim",children:a.name})]},a.key))]},s.stack))})}function VC({kind:e,name:t,lines:n,actual:r,ratio:o,largest:s,tipText:a,menu:l,outline:u,clear:h}){const f=e==="color"&&Xu(r)!==null,p=e==="length"?Number.parseFloat(r):Number.NaN,g=wn("design");return d.jsxs("div",{className:"design-cell","data-kind":e,...g.contextMenu(l),onMouseEnter:f?y=>{const v=y.currentTarget.querySelector(".design-fill"),w=v?getComputedStyle(v).backgroundColor:"";u({type:"highlight-computed",props:jY.map(x=>[x,w]),match:"any",label:t})}:void 0,onMouseLeave:f?h:void 0,...Ot(a),children:[e==="color"&&d.jsx("div",{className:"design-sample",children:f&&d.jsx("span",{className:"design-fill",style:{background:r}})}),d.jsxs("div",{className:"design-plate",children:[d.jsx("span",{className:"design-cell-name",children:t}),n.map((y,v)=>d.jsxs("span",{className:"design-cell-line",children:[d.jsx("span",{className:"design-cell-value",children:y}),v===0&&o&&d.jsx("span",{className:"design-cell-note",children:o})]},y)),Number.isFinite(p)&&s>0&&d.jsx("span",{className:"design-scale",style:{width:`${Math.max(2,Math.abs(p)/s*100)}%`}})]})]})}function OY(e,t,n,r=[]){const o=[e.name,e.resolved?`${e.value} resolves to ${e.resolved}`:e.value];if(r.length>0&&o.push(`same value as ${r.join(", ")}`),t&&n){const s=e.name===n.name;o.push(s?"the ground these ratios are measured against":`${t} against ${n.name}`)}return o.join(`
|
|
286
|
+
`)}function MY(e,t,n){const r=[e.value,`${Uc(e.uses)}: ${e.selectors.join(", ")}`];return t&&n&&r.push(e===n?"the page background these ratios are measured against":`${t} against the page background`),r.join(`
|
|
287
|
+
`)}function YC({shared:e,rest:t}){return e.length===0?d.jsx("ul",{className:"design-rows",children:t}):d.jsxs(d.Fragment,{children:[d.jsx("ul",{className:"design-rows",children:e}),t.length>0&&d.jsxs("details",{className:"design-tail",children:[d.jsxs("summary",{className:"row-edge",children:[d.jsx("span",{className:"design-count row-dim",children:t.length}),"used once or never"]}),d.jsx("ul",{className:"design-rows",children:t})]})]})}function LY({index:e,outline:t,clear:n,onOpen:r}){const{components:o,typed:s}=e;if(o.length===0)return null;const a=o.filter(h=>h.imports>=2),l=o.filter(h=>h.imports<2),u=h=>d.jsx(XC,{count:h.imports,name:h.name,path:h.path,onEnter:()=>t({type:"highlight-file",path:h.path,ranges:null}),onLeave:n,onOpen:()=>r(h.path),children:h.variants.length>0&&d.jsx("span",{className:"design-variants",children:h.variants.map(f=>d.jsxs("span",{className:"design-variant",children:[f.prop,": ",f.values.join(" · ")]},f.prop))})},`${h.path}:${h.name}`);return d.jsxs(qp,{title:"Components",note:`${a.length} reused of ${o.length}`,children:[!s&&d.jsx(Hh,{children:"No TypeScript in this project, so the values each prop allows are not listed."}),d.jsx(YC,{shared:a.map(u),rest:l.map(u)})]})}function PY({index:e,outline:t,clear:n,onOpen:r}){const{classes:o,coverage:s}=e,a=o.filter(g=>g.uses>0),l=o.filter(g=>g.uses>=2),u=o.filter(g=>g.uses<2),h=l.filter(g=>g.unwrapped).length,f=o.length?`${l.length} reused of ${o.length}`+(h?`, ${h} with no component of their name`:""):void 0,p=g=>d.jsx(DY,{cls:g,outline:t,clear:n,onOpen:r},g.name);return d.jsx(qp,{title:"Classes",note:f,children:o.length===0?d.jsx(Hh,{children:"No stylesheet in this project defines a class. Utility-first CSS generates its own."}):a.length===0?d.jsx(Hh,{children:s.classAttrs>0?`${s.classAttrs} class attributes were read, and none names a class this scan can follow. That is what a CSS Modules project looks like from here.`:"No class attribute anywhere in the source that was read. The markup may live in a file type this scan does not open."}):d.jsx(YC,{shared:l.map(p),rest:u.map(p)})})}function DY({cls:e,outline:t,clear:n,onOpen:r}){return d.jsx(XC,{count:e.uses,name:`.${e.name}`,path:e.path,onEnter:()=>t({type:"highlight-selector",selector:`.${e.name}`,label:`.${e.name}`}),onLeave:n,onOpen:()=>e.path&&r(e.path),children:e.unwrapped&&d.jsx("span",{className:"design-tag",children:"no component"})})}function XC({count:e,name:t,path:n,onEnter:r,onLeave:o,onOpen:s,children:a}){const l=Ys(),u=Qe();dt();const h=wn("design");return d.jsx("li",{children:d.jsxs("button",{type:"button",className:"design-row row-edge",onMouseEnter:r,onFocus:r,onMouseLeave:o,onBlur:o,onClick:s,disabled:!n,...h.contextMenu(()=>l?mY({id:l.worktree.id},n,{sock:u},s):[]),children:[d.jsx("span",{className:"design-count row-dim",children:e}),d.jsx("span",{className:"design-name",children:t}),d.jsx("span",{className:"design-path row-dim",children:n}),a]})})}function zY(e,t){const n=[`${e.name} runs on main for every worktree; this one reaches it at its usual address.`];return t>0&&n.push(`${Jc(t,e.name)[0].toUpperCase()}${Jc(t,e.name).slice(1)}.`),Zh(e.status)||n.push(`Main's ${e.name} is ${iy(e.status).toLowerCase()}.`),n.join(" ")}function FY({procs:e,borrowed:t,pointed:n,dirty:r}){return[...e.map(o=>({kind:"proc",proc:o})),...t.map(o=>({kind:"borrowed",name:o.name,dot:Zh(o.status)?"borrowed":o.status,tip:zY(o,r)})),...Object.entries(n).map(([o,s])=>({kind:"pointed",name:o,remote:s,tip:`${o} points at ${s} for this worktree`}))]}function BY({worktreeId:e,procs:t,borrowed:n,pointed:r,dirty:o,login:s,current:a,onRestart:l}){const u=Qe();dt();const h={sock:u},f=(g,y)=>d.jsx(Dt,{icon:"reload",label:y,onClick:()=>l(g)}),p={id:qs,label:"login",tip:Ot("The agent's login; it closes once you are in",void 0,{placement:"top"}),trail:f(qs,"Run the login again")};return s&&a===qs?[p]:[{id:Fo,label:"shell",tip:Ot("A shell in this worktree",void 0,{placement:"top"}),menu:()=>e$(e,h),trail:f(Fo,"Restart the shell")},...s?[p]:[],...FY({procs:t,borrowed:n,pointed:r,dirty:o}).map(g=>{if(g.kind==="proc"){const y=g.proc;return{id:y.name,label:y.name,lead:d.jsx("span",{className:`dot ${y.status}`}),tip:Ot(iy(y.status),void 0,{placement:"top",dot:y.status,name:y.name,detail:y.command,aside:[`:${y.port}`]}),menu:()=>Xy(y,e,h),trail:f(y.name,`Restart ${y.name}`)}}return{id:g.name,label:g.name,lead:d.jsx("span",{className:`dot ${g.kind==="borrowed"?g.dot:"borrowed"}`}),tip:Ot(g.tip,void 0,{placement:"top"})}})]}const UY=S.lazy(()=>ww(()=>import("./XTerm-CxU9R8q7.js"),__vite__mapDeps([3,4]))),HY=[],WY={};function KY({worktreeId:e,opened:t,height:n,onDragStart:r}){const o=dt(),s=Qe(),a=wp(),l=D(te=>te.connected),u=D(te=>te.focusTerm),h=Ys(),f=(h==null?void 0:h.procs)??[],p=(h==null?void 0:h.borrowed)??HY,g=S.useMemo(()=>{const te={};for(const[Z,R]of Object.entries((h==null?void 0:h.worktree.sources)??{})){const J=t_(R.at);J!==void 0&&(te[Z]=J)}return Object.keys(te).length>0?te:WY},[h==null?void 0:h.worktree.sources]),y=(h==null?void 0:h.login)??!1,v=D(te=>{var Z;return((Z=Wi(te,h==null?void 0:h.repoId))==null?void 0:Z.dirty)??0}),w=D(te=>xs(te,h==null?void 0:h.repoId)),x=Ft(e,"termStream"),N=D(te=>{var Z;return((Z=te.termRun)==null?void 0:Z.id)===e&&x===Fo?te.termRun.command:null}),[E,T]=S.useState(null),j=p.find(te=>te.name===x),A=j!==void 0,I=g[x];S.useEffect(()=>{x===Fo||(x===qs?y:f.some(Z=>Z.name===x)||p.some(Z=>Z.name===x)||x in g)||o({a:"term-stream",id:e,stream:Fo})},[f,p,g,y,x,e,o]);const $=te=>{te!==x&&(T(null),o({a:"term-stream",id:e,stream:te}))},C=S.useRef(!1),[L,P]=S.useState(0),B=te=>{te===Fo&&te===x&&(C.current=!0),s==null||s.send({t:"term-restart",worktreeId:e,stream:te}),te===qs&&te===x&&(T(null),P(Z=>Z+1))},q=(te,Z)=>{if(te)return T(null);if(C.current){C.current=!1,P(R=>R+1);return}T({code:Z})},ne=BY({worktreeId:e,procs:f,borrowed:p,pointed:g,dirty:v,login:y,current:x,onRestart:B}),Q=S.useRef(!t),le=!Q.current;return S.useEffect(()=>{Q.current=!1},[]),d.jsxs(Yy,{kind:"terminal",className:"term-pane",height:n,onDragStart:r,tabs:{items:ne,current:x,onPick:$,font:"mono",owner:"terminal",label:"terminal streams"},onClose:()=>o({a:"toggle-terminal"}),closeHint:qt("terminal"),children:[d.jsxs("div",{className:"term-body",children:[j&&d.jsx(Zc,{pane:!0,title:`${x} runs on main`,body:["Every worktree reaches main's copy until its own changes touch it, or until asked.",...v>0?[`${Jc(v,x)[0].toUpperCase()}${Jc(v,x).slice(1)}.`]:[],...Zh(j.status)?[]:[`Main's ${x} is ${j.status}; every worktree reaching it is down until it is back.`]].join(" "),action:d.jsx(Le,{variant:"outline",onClick:()=>s==null?void 0:s.send({t:"set-proc-source",worktreeId:e,name:x,source:"here"}),children:"run it here"})}),I!==void 0&&!A&&d.jsx(Zc,{pane:!0,title:`${x} points at ${I}`,body:`The page here talks to ${e_((w==null?void 0:w.config.run[x])??"")[I]??I}; nothing runs here.`,action:d.jsx(Le,{variant:"outline",onClick:()=>s==null?void 0:s.send({t:"set-proc-source",worktreeId:e,name:x,source:"here"}),children:"run it here"})}),d.jsx(By,{pane:!0,children:d.jsx(S.Suspense,{fallback:d.jsx("div",{className:"empty",children:d.jsx("span",{className:"live-text",children:"loading terminal"})}),children:d.jsx(UY,{worktreeId:e,stream:x,theme:a,sock:s,connected:l,focusOnMount:le,focusReq:u,onAlive:q,run:N,onRan:()=>o({a:"term-ran"}),onEscape:()=>o({a:"toggle-terminal"})},`${x}:${L}`)})})]}),E!==null&&!A&&I===void 0&&d.jsx(Zc,{pane:!0,title:x===Fo?"the shell exited":x===qs?"the login did not finish":`${x} exited`,body:E.code===void 0?void 0:`exit code ${E.code}`,action:d.jsx(Le,{variant:"outline",onClick:()=>B(x),children:"restart"})})]})}function qY(e){return e==="reserved"?"checking out a fresh worktree":e==="warming"?"copying dependencies and running setup":"starting dev servers"}const ZY="preview off; it starts when the agent writes a file";function GY({worktree:e,log:t}){const n=Qe(),r=dt(),o=e.procs,s=w=>n==null?void 0:n.send({t:"term-restart",worktreeId:e.id,stream:w.name}),a=o.some(w=>w.status==="crashed"||w.status==="unreachable"),l=D(w=>w.clientId),u=zu(e,"setup"),h=u&&u.status!=="terminated"?u:null,f=Pi(qy(h??void 0)?h==null?void 0:h.since:void 0),p=!!e.worktree.parked&&o.length===0,g=()=>n==null?void 0:n.send({t:"preview-start",worktreeId:e.id}),y=h&&(h.status==="running"||h.status==="detached"),v=()=>n==null?void 0:n.send({t:"fix-preview",worktreeId:e.id,clientId:l});return d.jsxs(Ss,{wide:!0,children:[o.length===0?d.jsx("div",{className:"status-line",children:h?d.jsx("span",{className:"live-text","data-tip":Wk[h.status],children:Sh("setup",h,f)}):p?ZY:d.jsx("span",{className:"live-text",children:qY(e.worktree.phase)})}):d.jsx("ul",{className:"boot-procs",children:o.map(w=>d.jsxs("li",{className:We("boot-proc",(w.status==="crashed"||w.status==="unreachable")&&"boot-bad"),children:[d.jsx("span",{className:"boot-name",children:w.name}),d.jsx("span",{className:"boot-status",children:VY(w)}),(w.status==="crashed"||w.status==="unreachable")&&d.jsx(Le,{variant:"outline",onClick:()=>s(w),children:"restart"}),w.detail&&w.status!=="asleep"&&d.jsx("div",{className:"boot-detail",children:w.detail})]},w.name))}),p&&d.jsx("div",{className:"status-actions",children:d.jsx(Le,{variant:"outline",size:"lg",onClick:g,children:"start preview"})}),y&&d.jsx("div",{className:"status-actions",children:d.jsx(Le,{variant:"outline","data-tip":Dj("setup"),onClick:()=>n==null?void 0:n.send({t:"run-stop",worktreeId:e.id,kind:"setup"}),children:"stop setup"})}),a&&d.jsxs("div",{className:"status-actions",children:[e.agent==="idle"&&d.jsx(Le,{variant:"outline",size:"lg",onClick:v,children:"ask the agent to fix it"}),d.jsx(Le,{onClick:()=>r({a:"open",overlay:{kind:"setup",repoId:e.repoId}}),children:"edit setup"})]}),t.length>0&&d.jsx("pre",{className:"status-tail",children:t.slice(-30).map(w=>`[${w.proc}] ${w.line}`).join(`
|
|
288
|
+
`)})]})}function VY(e){switch(e.status){case"preparing":return`setting up for :${e.port}`;case"starting":return`starting on :${e.port}`;case"running":return`running on :${e.boundPort??e.port}`;case"unreachable":return"never answered";case"crashed":return e.exitCode!=null?`crashed (exit ${e.exitCode})`:"crashed";case"stopped":return"stopped";case"asleep":return`asleep${e.detail?`: ${e.detail}`:""}; opens when you look`}}function YY(e){const{leaving:t,arriving:n}=e;return!t||!n||t===n||n!==e.carryTo?null:e.repoOf(t)===e.repoOf(n)?t:null}function $S(e){if(!e)return"/";try{const t=new URL(e);return`${t.pathname}${t.search}${t.hash}`}catch{return"/"}}function XY(e){return e.previewId===null?null:e.painted?e.previewId:e.ready?e.carry&&e.mounted.includes(e.carry)?e.carry:e.previewId:null}function QY({active:e}){const t=dt(),n=Qe(),r=hl(),o=D(l=>l.home),s=e.worktree.title,a=()=>{r!=null&&r.made&&(t({a:"new-project",v:{...pp({mode:r.made==="git"?"init":"create",name:r.name,parent:a$(r.path,o)??r.path}),phase:"unmaking",repoId:r.id}}),t({a:"move-box",from:e.worktree.id,to:el}),n==null||n.send({t:"unmake-repo",repoId:r.id}))};return d.jsx(Ss,{anchor:"line",foot:d.jsx("div",{className:"composer view-foot",children:d.jsx(Su,{active:e,greenfield:!0})}),children:d.jsx("p",{className:"form-title",children:r!=null&&r.made?d.jsx(Le,{variant:"inline",onClick:a,...Ot("Rename or move this project"),children:s}):s})})}function JY({pending:e}){const t=dt(),n=Qe(),r=!!e.error,o=()=>{n==null||n.send({t:"cancel-import",id:e.id}),t({a:"watch-import",id:null})},s=S.useRef(null);return S.useEffect(()=>{var a;return(a=s.current)==null?void 0:a.scrollTo({top:s.current.scrollHeight})},[e.lines.length]),d.jsxs(Ss,{wide:!0,children:[d.jsxs("p",{className:"status-line",children:[r?"could not import":"importing"," ",e.name]}),d.jsxs("p",{children:["from ",d.jsx("code",{children:e.url}),e.branch&&d.jsxs(d.Fragment,{children:[" ","on ",d.jsx("code",{children:e.branch})]})," ","into ",d.jsx("code",{children:e.parent})]}),r?d.jsx("p",{className:"import-error",children:e.error}):d.jsx("p",{className:"hint",children:"the whole history is cloned, so worktrees, land and graft all work on it straight away."}),d.jsx("div",{className:"status-tail",ref:s,children:e.lines.length===0&&!r?d.jsx("span",{className:"live-text",children:"starting git"}):e.lines.map((a,l)=>d.jsx("div",{children:a},l))}),d.jsx("div",{className:"status-actions",children:d.jsx(Le,{variant:"outline",size:"lg",onClick:o,children:r?"dismiss":"stop"})})]})}const eX=150,tX=/^[^\s@]+@[^\s@]+$/,nX=14;function rX({project:e}){var J;const t=dt(),n=Qe(),r=D(F=>F.repos),o=D(F=>F.home),s=D(F=>F.folderDialog),a=D(F=>F.gitIdentity),l=D(F=>F.choosingFolder),u=D(F=>F.chosenFolder),h=D(F=>F.paths),[f,p]=S.useState({name:"",email:""}),[g,y]=S.useState(null),v=S.useRef(null),{mode:w,name:x,parent:N}=e,E=w==="clone",T=w==="init",j=e.phase==="editing",A=x.trim(),I=T||!A?null:Cu(x),$=!T&&A&&!I?i$(N,A):null,C=Yk(N,o),L=$!==null&&h.query===$&&((J=h.target)==null?void 0:J.exists)===!0,P=!a&&!E,B=!P||f.name.trim()!==""&&tX.test(f.email.trim()),q=j?g?"the folder you chose is already a project: open it, or choose another":!T&&!A?"name the project first":I??(L?`${C} already has a folder called ${A}`:B?null:"git needs your name and email first"):null;S.useEffect(()=>{if(!$)return;const F=setTimeout(()=>n==null?void 0:n.send({t:"browse-path",path:$}),eX);return()=>clearTimeout(F)},[$,n]),ot([e.phase],()=>{var F;e.phase==="editing"&&((F=v.current)==null||F.focus())}),ot([e.error],()=>{e.error&&t({a:"notice",id:el,text:e.error})});const ne={sock:n,dispatch:t},Q=()=>{q||!j||(t({a:"new-project-set",v:{phase:"creating"}}),Fu(ne,{t:"create-repo",mode:w,parent:N.trim(),name:A,...E&&e.url?{url:e.url,...e.branch?{branch:e.branch}:{}}:{},...P?{identity:{name:f.name.trim(),email:f.email.trim()}}:{}}))},le=F=>{const O=r.find(W=>W.path===rl(F,o));O?t({a:"activate-repo",id:O.id}):Fu(ne,{t:"register-repo",path:F})},te=F=>{const O=Jy(F);t({a:"new-project-set",v:{mode:"init",parent:O.parent,name:O.name}})},Z=F=>{s?(t({a:"choosing-folder",v:F}),n==null||n.send({t:"choose-folder",start:N,purpose:F})):t(F==="location"?{a:"open",overlay:{kind:"choose-folder"}}:{a:"open",overlay:{kind:"projects",form:"disk"}})};ot([u==null?void 0:u.seq],()=>{var O,W;if(!l||!u)return;t({a:"choosing-folder",v:!1});const F=u.folder;if(!F){(O=v.current)==null||O.focus();return}if(l==="open"){F.kind==="project"?le(F.path):P?te(F.path):t$(ne,F.path);return}if(y(F.kind==="project"?F.path:null),F.kind!=="project"){if(F.kind==="empty"&&!E){te(F.path);return}t({a:"new-project-set",v:{mode:E?"clone":"create",parent:F.path}}),(W=v.current)==null||W.focus()}});const R=T?"the folder you chose becomes the project":g?null:L?`${C} already has a folder called ${A}`:I;return d.jsxs(Ss,{anchor:"line",foot:d.jsx("div",{className:"composer view-foot",children:d.jsx(Su,{active:null,project:{name:A,why:q,busy:!j,create:Q}})}),children:[E&&d.jsxs("p",{className:"new-project-url",children:[e.url,e.branch&&d.jsxs("span",{className:"hint",children:[" on ",e.branch]})]}),d.jsxs("div",{className:"form-head",children:[T?d.jsx("p",{className:"form-title",children:x}):d.jsx(Uo,{ref:v,bare:!0,font:"lead",className:"new-project-field",autoFocus:!0,spellCheck:!1,autoComplete:"off",value:x,placeholder:"Project name",disabled:!j,style:{width:`${Math.max(x.length+1,nX)}ch`},onChange:F=>t({a:"new-project-set",v:{name:F.target.value}}),onKeyDown:F=>{F.key==="Enter"&&(F.preventDefault(),t({a:"focus-chat"}))}}),d.jsxs("span",{className:"new-project-where",children:[d.jsx("span",{className:"hint",children:"in"}),d.jsx("span",{className:"new-project-parent",...Ot(N),children:C}),d.jsx(Dt,{icon:"folder",label:s?"Choose in Finder":"Choose a folder",className:"new-project-folder",on:l==="location",disabled:!j,onClick:()=>Z("location")})]})]}),R&&d.jsx("p",{className:"hint",children:R}),g&&d.jsxs("p",{className:"hint",children:["the folder you chose is already a project:"," ",d.jsx(Le,{variant:"inline",autoFocus:!0,onClick:()=>le(g),children:"open it"}),", or choose another"]}),P&&d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"new-project-identity",children:[d.jsx(Uo,{size:"md",font:"ui",rule:!0,value:f.name,placeholder:"Your name",autoComplete:"name",disabled:!j,onChange:F=>p({...f,name:F.target.value})}),d.jsx(Uo,{size:"md",font:"ui",rule:!0,type:"email",value:f.email,placeholder:"Email",autoComplete:"email",disabled:!j,onChange:F=>p({...f,email:F.target.value})})]}),d.jsx("p",{className:"hint",children:"git labels the work you save with these, and asks only once"})]}),!E&&j&&d.jsx(Le,{tone:"quiet",className:"new-project-open",onClick:()=>Z("open"),children:"or open a folder you already have"})]})}function Rc({label:e,hint:t,children:n}){return d.jsxs("label",{className:"form-row",children:[d.jsx("span",{className:"form-label",children:e}),d.jsxs("div",{className:"form-control",children:[n,t&&d.jsx("span",{className:"hint",children:t})]})]})}function oX(e,t,n,r){const o=[n.envUrl?`\`${n.envUrl.name}\` in \`${n.envUrl.file}\``:null,n.compose?`the compose stack in \`${n.compose}\``:null].filter(Boolean).join(" and "),s=r[0]??"api",a=r.length>0?`the shared command${r.length>1?"s":""} \`${r.join("`, `")}\``:"the command that serves the database";return[`Toyon runs several worktrees of this repo (${e.name}) at once, each with its own copy of the code, and right now they would all share ${o}: a migration run in one worktree changes the database every other worktree is using.`,"",`Give each worktree its own. Every command Toyon runs gets \`TOYON_WORKTREE\` (the worktree's id, empty in the main checkout) and \`TOYON_ROOT\` (the main checkout). A command's own \`setup\` and \`teardown\` run where that command runs: never on main, in a worktree once it runs its own, and nowhere while the worktree points the command at a remote. Edit \`${t}\` so that ${a} carries the recipe, in this shape:`,"```json",`{ "run": { "${s}": { "cmd": "<its command>", "setup": ["uv sync", "createdb -T app_template \\"app_$TOYON_WORKTREE\\""], "teardown": ["dropdb --if-exists \\"app_$TOYON_WORKTREE\\""] } } }`,"```",'- `setup` makes the worktree\'s own database with the same schema and seed data. Postgres refuses to copy a database with connections open, so copy from a template nothing serves: `createdb -T <db>_template "<db>_$TOYON_WORKTREE"`, making `<db>_template` once from the seed if it does not exist. Keep it seed-sized, since every worktree copies it. A hosted database that branches (the repo already uses one, or its README says so) gets a branch named for the worktree instead. A compose stack: bring it up under `-p "<name>_$TOYON_WORKTREE"` and seed it the way the README does.',"- `teardown` drops it again (`dropdb --if-exists ...`, the branch deleted, or `docker compose -p ... down -v`).","- the command points at it, with the base database on main: put the URL in front of `cmd`, named `<db>${TOYON_WORKTREE:+_$TOYON_WORKTREE}`. `setup` does not see what `cmd` sets, so a migration step in `setup` needs the URL in front of it too.",'- a database container every worktree shares (each with its own database inside it) is `{ "cmd": "docker compose up db", "paths": [] }` in `run`: main runs it once for everyone and no worktree ever runs its own.',"- the top-level `setup` is for the page: leave the install there and put what the backend needs under the backend's own `setup`.","","Read the README and the existing env files for the database's name and credentials. Do not run any migration yourself, and do not start any server; Toyon picks the file up as soon as it is written."].join(`
|
|
289
|
+
`)}function sX(e,t){return[`This repo (${e.name}) has no Toyon settings yet, so Toyon does not know how to install its dependencies or start its dev server.`,"",`Work it out from the repo itself (package manager, scripts, framework, a README) and write \`${t}\` in this shape:`,"```json",'{ "setup": ["<install command>"], "run": { "web": "<start command>" } }',"```",'`setup` runs once in each new worktree. A worktree starts with the branch\'s files only: `node_modules` and the `.env` files are copied in for it, but any other gitignored file the project needs (a local database, a test cache such as `.testmondata`) is not, so add a `cp` from `$TOYON_ROOT`, the main checkout, when you find one in `.gitignore`. Never copy a virtualenv or another dependency tree that holds absolute paths; reinstall it instead. Every command in `run` must run in the foreground and listen on the port in the PORT environment variable, which Toyon sets per worktree; a tool that takes its port from a flag needs the flag (Vite: `--port $PORT --strictPort`, and with npm the `--` before it). Name one entry per server if there are several. If the project has nothing to run (a library, a CLI), write `"run": {}` and say so. Do not start any server yourself; toyon picks the file up as soon as it is written.'].join(`
|
|
290
|
+
`)}const iX=[{id:"auto",label:"auto",chip:"shared: auto",description:"main runs it for every worktree when the command names a folder Toyon can watch; a worktree that changes it runs its own"},{id:"trunk",label:"always",chip:"shared: always",description:"main runs it for every worktree; a worktree that changes a folder the command names runs its own, and nothing flips a command that names none"},{id:"copy",label:"never",chip:"shared: never",description:"every worktree runs its own"}];function aX(e,t,n,r){var a;const o=r.config.run[e.trim()];if(o===void 0||JS(o)!==t.trim()||n==="copy")return null;const s=(a=r.tier)==null?void 0:a[e.trim()];return s&&s.paths.length>0?`main runs it; a worktree that changes ${s.paths.join(", ")} runs its own`:s||n==="trunk"?"main runs it for every worktree; no change here flips it":"every worktree runs its own: the command names nothing Toyon can watch"}let cX=1;const Wh=(e,t,n="auto",r={})=>({id:cX++,name:e,cmd:t,from:n,rest:r});function lX(e,t){if(typeof t=="string")return Wh(e,t);const{cmd:n,from:r,...o}=t;return Wh(e,n,r??"auto",o)}const AS=[{id:"shared",label:"committed",description:"in the repo; everyone who opens it gets these settings"},{id:"local",label:"kept local",description:"in a file git never sees; for when only you use Toyon here"}];function uX({repo:e,onClose:t}){var Ne;const n=Qe(),r=Pn(),o=D(H=>H.clientId),s=D(H=>H.rows.find(ae=>{var X;return Sn(ae)&&ae.id===((X=Wi(H,e.id))==null?void 0:X.id)})??null),a=D(H=>{var ae;return((ae=Wi(H,e.id))==null?void 0:ae.id)??null});S.useEffect(()=>{if(!t)return;const H=ae=>ae.key==="Escape"&&t();return window.addEventListener("keydown",H),()=>window.removeEventListener("keydown",H)},[t]);const[l]=S.useState(()=>Object.keys(e.config.run).length>0),[u,h]=S.useState(()=>{const H=Object.entries(e.config.run).map(([ae,X])=>lX(ae,X));return H.length>0?H:[Wh("web","")]}),[f,p]=S.useState(()=>(e.config.setup??[]).join(`
|
|
291
|
+
`)),[g,y]=S.useState(()=>(e.config.teardown??[]).join(`
|
|
292
|
+
`)),[v,w]=S.useState(()=>e.config.check??""),[x,N]=S.useState(()=>Mi(e.config).land),[E,T]=S.useState(()=>Mi(e.config).automerge),[j,A]=S.useState(()=>Mi(e.config).merge??"default"),[I,$]=S.useState(()=>KR(e.configFile)),C=qR(e.configFile,I),L=!!e.remote&&x==="pr",P=u.length>1,B=u.some(H=>H.name.trim()&&H.cmd.trim()),ne=!!s&&!t&&!l&&!B,Q=(H,ae)=>h(u.map((X,oe)=>oe===H?{...X,...ae}:X)),le=H=>H.split(`
|
|
293
|
+
`).map(ae=>ae.trim()).filter(Boolean),te=()=>le(f),Z=()=>le(g),R=()=>{const{check:H,land:ae,teardown:X,...oe}=e.config,we=e.remote?x:uk,Pe=j==="default"||we!=="pr"&&j===dk?void 0:j,Re={...we!==uk?{route:we}:{},...we==="pr"&&E?{automerge:!0}:{},...Pe?{method:Pe}:{}};return{...oe,setup:te(),...Z().length>0?{teardown:Z()}:{},...v.trim()?{check:v.trim()}:{},...Object.keys(Re).length>0?{land:Re}:{}}},J=()=>{n==null||n.send({t:"confirm-config",repoId:e.id,config:{...R(),run:Object.fromEntries(u.filter(H=>H.name.trim()&&H.cmd.trim()).map((H,ae)=>{const X={...H.rest,cmd:H.cmd.trim(),...ae>0&&H.from!=="auto"?{from:H.from}:{}};return[H.name.trim(),Object.keys(X).length===1?X.cmd:X]}))},kind:I}),t==null||t()},F=()=>{n==null||n.send({t:"confirm-config",repoId:e.id,config:{...R(),run:{}},kind:I}),t==null||t()},O=()=>n==null?void 0:n.send({t:"create-worktree",clientId:o,repoId:e.id,prompt:sX(e,C)}),W=e.services,ie=[f,g,...u.flatMap(H=>[H.cmd,...H.rest.setup??[],...H.rest.teardown??[]])].some(H=>H.includes("TOYON_WORKTREE"))||HR(e.config),he=W?[W.envUrl?`the database at ${W.envUrl.name} in ${W.envUrl.file}`:null,W.compose?`the stack in ${W.compose}`:null].filter(Boolean).join(" and "):"",ye=u.filter((H,ae)=>ae>0&&H.from!=="copy"&&H.name.trim()).map(H=>H.name.trim()),$e=()=>W&&(n==null?void 0:n.send({t:"create-worktree",clientId:o,repoId:e.id,prompt:oX(e,C,W,ye)})),Be=(H,ae)=>d.jsxs("div",{className:"setup-proc",children:[P&&d.jsx(Uo,{size:"md",rule:!0,className:"setup-name",value:H.name,placeholder:"name",...Ot("Process name, shown in the status bar"),onChange:X=>Q(ae,{name:X.target.value})}),d.jsx(Uo,{size:"md",rule:!0,className:"setup-cmd",value:H.cmd,placeholder:"npm run dev",onChange:X=>Q(ae,{cmd:X.target.value})}),P&&d.jsx(Dt,{icon:"close",label:"Remove",onClick:()=>h(u.filter((X,oe)=>oe!==ae))}),P&&ae>0&&d.jsxs("div",{className:"setup-source",children:[d.jsx(Us,{className:"form-pick",answer:!0,value:H.from,options:iX,onChange:X=>Q(ae,{from:X}),hint:"whether main runs it once for every worktree",placeholder:"who runs it"}),(()=>{const X=aX(H.name,H.cmd,H.from,e);return X?d.jsx("span",{className:"hint",children:X}):null})()]})]},H.id);return d.jsxs(Ss,{children:[d.jsxs("p",{className:"form-title",children:["how does ",e.name," start?"]}),W&&!ie&&d.jsxs("p",{className:"hint setup-shared-note",children:["Worktrees will share ",he,", migrations included."," ",d.jsx(Le,{variant:"inline",disabled:!s,onClick:$e,children:"ask the agent to keep them apart"})]}),d.jsx(Rc,{label:"install",hint:"once per new worktree; one command per line",children:d.jsx(Du,{size:"md",rule:!0,rows:Math.max(1,f.split(`
|
|
294
|
+
`).length),value:f,placeholder:"bun install",onChange:H=>p(H.target.value)})}),d.jsx(Rc,{label:"remove",hint:"once when a worktree goes, before its directory does; one command per line",children:d.jsx(Du,{size:"md",rule:!0,rows:Math.max(1,g.split(`
|
|
295
|
+
`).length),value:g,placeholder:'dropdb --if-exists "app_$TOYON_WORKTREE"',onChange:H=>y(H.target.value)})}),d.jsx(Rc,{label:"check",hint:"runs after each of the agent's turns; the work lands only when it passes",children:d.jsx(Uo,{size:"md",rule:!0,value:v,placeholder:"bun run check",onChange:H=>w(H.target.value)})}),e.remote&&d.jsx(Rc,{label:"land",hint:"where a worktree's finished work goes; one way per repo",children:d.jsxs("div",{className:"form-picks",children:[d.jsx(Us,{className:"form-pick",answer:!0,value:x,options:iO.map(H=>({id:H.id,label:H.name,description:H.description})),onChange:N,hint:"where the work goes",placeholder:"where work lands"}),L&&d.jsx(Us,{answer:!0,value:E?"github":"you",options:cO.map(H=>({id:H.id,label:H.name,description:H.description})),onChange:H=>T(H==="github"),hint:"who merges the pull request",placeholder:"who merges it"})]})}),d.jsx(Rc,{label:"merge",hint:L?"how GitHub merges the pull request; only what the repo allows":"how the commits arrive on main",children:d.jsx("div",{className:"form-picks",children:d.jsx(Us,{className:"form-pick",answer:!0,value:j==="default"&&!L?dk:j,options:[...L?[{id:"default",label:"what the repo allows",description:"the repo's allowed methods on GitHub: squash, else a merge commit, else rebase"}]:[],...aO.map(H=>({id:H.id,label:H.name,description:H.description}))],onChange:A,hint:"how the commits arrive on main",placeholder:"how the commits arrive"})})}),d.jsxs("div",{className:"form-row",children:[d.jsx("span",{className:"form-label",children:"start"}),d.jsxs("div",{className:"form-control",children:[d.jsx("div",{className:"setup-procs",children:u.map(Be)}),!P&&d.jsx("span",{className:"hint",children:"one command: every worktree runs its own"}),d.jsxs("div",{className:"setup-close",children:[d.jsxs(Le,{tone:"quiet",className:"form-pick",onClick:()=>h([...u,Wh("","")]),children:[d.jsx(Tt,{name:"plus",className:"icon-inline"})," another process"]}),d.jsxs("span",{className:"hint",children:["must listen on ",d.jsx("code",{...Ot("Toyon sets a different port for each worktree"),children:"$PORT"}),e.guess&&a&&d.jsxs(d.Fragment,{children:[" · from ",d.jsx(Le,{variant:"inline",mono:!0,...Ot(`open ${e.guess} in the editor pane`),onClick:()=>La(r,n,a,e.guess??"",1),children:e.guess})]})]})]})]})]}),d.jsx(Rc,{label:"file",hint:(Ne=AS.find(H=>H.id===I))==null?void 0:Ne.description,children:d.jsxs("div",{className:"form-picks",children:[d.jsx(Us,{className:"form-pick",answer:!0,value:I,options:AS,onChange:$,hint:"whether the settings file is committed with the repo or kept out of git",placeholder:"committed or kept local"}),d.jsx("span",{className:"form-sign",children:C})]})}),d.jsxs("div",{className:"form-knobs setup-foot",children:[t&&d.jsx(Le,{onClick:t,children:"cancel"}),(!l||t)&&d.jsx(Le,{...Ot("This project has no dev server: chat, changes and the terminal work, the preview stays empty"),onClick:F,children:"no dev server"}),ne&&s?d.jsx(Le,{variant:"outline",size:"lg",disabled:s.agent!=="idle",...Ot("The agent reads the repo and writes the settings file; the daemon picks it up as soon as it lands"),onClick:O,children:"let the agent work it out"}):d.jsxs(Le,{variant:"outline",size:"lg",disabled:!B,...t?Ot("Restarts every worktree of this repo. Other keys in the file are kept."):{},onClick:J,children:[t?"save + restart":"start"," ",d.jsx(Tt,{name:"forward",className:"icon-inline"})]})]})]})}function dX(e){return`${Math.round(e.w)} × ${Math.round(e.h)}`}function fX(e){return e.w>0&&e.h>0}function hX(e,t,n){S.useEffect(()=>{if(!e||!t){n(null);return}const r=new ResizeObserver(o=>{var l;const s=(l=o[o.length-1])==null?void 0:l.contentRect;if(!s)return;const a={w:s.width,h:s.height};n(fX(a)?dX(a):null)});return r.observe(e),()=>{r.disconnect(),n(null)}},[e,t,n])}const pX=1500,mX={set:(e,t)=>setTimeout(e,t),clear:e=>clearTimeout(e)};class gX{constructor(t,n,r=mX){Rt(this,"frames",new Map);this.send=t,this.sendTitle=n,this.timers=r}note(t,n,r){const o=this.frame(t);o.timer!==null&&(this.timers.clear(o.timer),o.timer=null),o.pending=null,r!==void 0&&(o.title=_x(r));const s=cp(n);if(!s){o.sent=null;return}if(s===o.sent){this.renamed(t,o);return}o.pending=s,o.timer=this.timers.set(()=>{o.timer=null,o.pending=null,o.sent=s,o.sentTitle=o.title,this.send(t,s,o.title)},pX)}title(t,n){const r=this.frame(t);r.title=_x(n),r.pending===null&&this.renamed(t,r)}dispose(){for(const t of this.frames.values())t.timer!==null&&this.timers.clear(t.timer);this.frames.clear()}frame(t){let n=this.frames.get(t);return n||(n={sent:null,pending:null,timer:null},this.frames.set(t,n)),n}renamed(t,n){!n.sent||!n.title||n.title===n.sentTitle||(n.sentTitle=n.title,this.sendTitle(t,n.sent,n.title))}}const kX=mh(),wX=2*6e4;function CS(e){e==null||e.setAttribute("src",e.src)}const yX=8e3;function vX(e,t){try{const n=new URL(e,t);return n.origin===new URL(t).origin?n.href:null}catch{return null}}function bX({onRoot:e,fileHead:t}){const n=S.useRef(null),r=S.useCallback(de=>{n.current=de,e(de)},[e]),o=dt(),s=Pn(),a=Qe(),l=S.useRef(a);l.current=a;const[u]=S.useState(()=>new gX((de,Fe,wt)=>{var Ye,Lt;(Ye=l.current)==null||Ye.send({t:"visit",worktreeId:de,path:Fe,title:wt}),TN((Lt=s.getState().local[de])==null?void 0:Lt.pages)&&cn.post(de,{type:"links"})},(de,Fe,wt)=>{var Ye;return(Ye=l.current)==null?void 0:Ye.send({t:"page-title",worktreeId:de,path:Fe,title:wt})}));S.useEffect(()=>()=>u.dispose(),[u]);const h=mT(),f=fl(),p=Ys(),g=D(de=>de.connected),y=D(de=>de.heard),v=D(de=>de.recalledAt!==null),w=D(de=>de.connectFailure),x=D(de=>de.remote),{host:N}=Lr(),E=Vs(),T=Es(),j=D(de=>de.editor),A=kT(),I=z6(),$=D(de=>de.notesPage),C=ed(),L=D(de=>de.layout.term)&&!C,P=D(de=>de.focusTerm),B=S.useRef(!1),q=S.useRef(P),ne=!B.current||P!==q.current;S.useEffect(()=>{B.current=L&&!!f,q.current=P});const Q=td(),le=D(de=>de.layout.design)&&!C&&!Q,te=D(de=>de.reloadReq),Z=wp(),R=S.useRef(Z);R.current=Z;const J=D(de=>de.zen),F=D(ys),O=D(de=>{var Fe;return((Fe=de.dragFiles)==null?void 0:Fe.at)==="centre"}),W=S.useRef(J);W.current=J;const ie=Ft(f,"log"),he=D(de=>de.incompatible),ye=B6(),$e=D(de=>{var Fe;return((Fe=de.overlay)==null?void 0:Fe.kind)==="setup"?de.repos.find(wt=>wt.id===de.overlay.repoId)??null:null}),Be=(p==null?void 0:p.worktree.empty)===!0,Ne=is(p==null?void 0:p.agent),H=ye&&!Be&&!Ne?ye:null,ae=H??$e,X=D(de=>de.pending.find(Fe=>Fe.id===de.activeImportId)??null),[oe,we]=S.useState([]),Pe=S.useMemo(()=>oe.map(de=>de.id),[oe]),Re=S.useRef(new Map),Ke=S.useRef(new Map),[tt,at]=S.useState([]),Mt=S.useRef(new Set),en=S.useRef(new Set),ft=S.useRef(de=>CS(Re.current.get(de)));S.useEffect(()=>{cn.post=(de,Fe)=>{var wt,Ye;if(Fe.type==="reload"&&Mt.current.has(de))return ft.current(de);(Ye=(wt=Re.current.get(de))==null?void 0:wt.contentWindow)==null||Ye.postMessage({__toyon:!0,...Fe},Ke.current.get(de)??"*")},cn.broadcast=de=>{var Fe;for(const[wt,Ye]of Re.current)(Fe=Ye.contentWindow)==null||Fe.postMessage({__toyon:!0,...de},Ke.current.get(wt)??"*")}},[]),S.useEffect(()=>{let de=null;const Fe=Lt=>{Lt.target instanceof HTMLElement&&Lt.target.tagName!=="IFRAME"&&(de=Lt.target)},wt=Lt=>{Lt.relatedTarget===null&&setTimeout(()=>{document.activeElement===document.body&&(de=null)},0)},Ye=Lt=>{var On,Qt,hr,ur,jn;if((On=Lt.data)!=null&&On.__toyon)for(const[vt,je]of Re.current){if(je.contentWindow!==Lt.source)continue;if(Lt.origin!==Ke.current.get(vt))return;const xe=Q_(Lt.data);if(!xe)return;switch(xe.type){case"key":window.dispatchEvent(new KeyboardEvent(xe.up?"keyup":"keydown",{key:xe.key,code:xe.code,metaKey:xe.meta,ctrlKey:!!xe.ctrl,shiftKey:!!xe.shift,altKey:!!xe.alt}));break;case"hmr":o({a:"hmr",id:vt}),(Qt=l.current)==null||Qt.send({t:"page-loaded",worktreeId:vt});break;case"loaded":Mt.current.delete(vt),en.current.add(vt),at(bt=>bt.includes(vt)?bt:[...bt,vt]),cn.post(vt,WC(R.current)),cn.post(vt,{type:"zen",on:W.current}),o({a:"hmr",id:vt}),o({a:"page",id:vt,url:xe.url,title:xe.title}),(hr=l.current)==null||hr.send({t:"page-loaded",worktreeId:vt}),u.note(vt,xe.url,xe.title);break;case"navigated":o({a:"page",id:vt,url:xe.url,...xe.title!==void 0?{title:xe.title}:{}}),u.note(vt,xe.url,xe.title);break;case"title":o({a:"page",id:vt,title:xe.title}),u.title(vt,xe.title);break;case"links":o({a:"links",id:vt,links:xe.links});break;case"page-error":{const bt=Uz(xe);bt&&((ur=l.current)==null||ur.send({t:"page-error",worktreeId:vt,message:bt}));break}case"picked":{const{type:bt,verb:jt,site:mn,...Gt}=xe,Yn=mn==="call"?{file:Gt.callFile,line:Gt.callLine}:{file:Gt.file,line:Gt.line};if(jt==="code"){o({a:"set-picking",v:!1});const Dn=(jn=Xt(s.getState(),vt))==null?void 0:jn.worktree;Yn.file?La(s,a,vt,vN(Yn.file,Dn==null?void 0:Dn.path),Yn.line??1):a==null||a.send({t:"find-element",worktreeId:vt,seq:$o(),element:Gt.element})}else $F(s,vt,Gt);break}case"pick-cancel":o({a:"set-picking",v:!1});break;case"drag-files":xe.over?Dy(s,s.getState().activeId?{at:"centre"}:null):ZT(s);break;case"drop-files":XT(s,a,s.getState().activeId?{at:"centre"}:null,g5(xe.files));break;case"focus":xe.gesture?de=null:document.activeElement===je&&(de!=null&&de.isConnected)&&de!==document.body&&de.focus();break;case"highlight-miss":console.warn(`[toyon] highlight miss on ${xe.path}: ${xe.fileMatched} elements from this file, ${xe.withSource} elements with source info on page, ranges=${JSON.stringify(xe.ranges)}`);break}return}};return window.addEventListener("message",Ye),document.addEventListener("focusin",Fe),document.addEventListener("focusout",wt),()=>{window.removeEventListener("message",Ye),document.removeEventListener("focusin",Fe),document.removeEventListener("focusout",wt)}},[o,s,a,u]),S.useEffect(()=>{cn.broadcast({type:"zen",on:J})},[J]);const Ze=S.useRef(new Map);ot([te==null?void 0:te.id,te==null?void 0:te.n],()=>{if(!te)return;const{id:de}=te;clearTimeout(Ze.current.get(de)),Ze.current.set(de,setTimeout(()=>{Ze.current.delete(de),cn.post(de,{type:"reload"})},1200))});const sn=_y(),Ut=sn&&!Sn(sn)?sn:null,zt=Ya(),Zt=!!p&&p.procs.some(de=>de.status==="running"),st=jy(),ht=st!==null&&st===f&&Zt;S.useEffect(()=>{var de;if(st&&ht&&!Pe.includes(st)){const Fe=$S((de=s.getState().local[st])==null?void 0:de.page.url);we(wt=>[...wt,{id:st,path:Fe}])}},[st,ht,Pe,s]);const vn=h.filter(de=>Sn(de)&&de.procs.some(Fe=>Fe.status==="asleep")).map(de=>de.id).join(" ");S.useEffect(()=>{const de=new Set(vn.split(" ").filter(Boolean));Pe.some(Fe=>de.has(Fe))&&we(Fe=>Fe.filter(wt=>!de.has(wt.id)))},[vn,Pe]);const xt=Pe.join(" ");S.useEffect(()=>{const de=xt.split(" ").filter(Fe=>Fe&&Fe!==st).map(Fe=>setTimeout(()=>we(wt=>wt.filter(Ye=>Ye.id!==Fe)),wX));return()=>{for(const Fe of de)clearTimeout(Fe)}},[xt,st]),S.useEffect(()=>{at(de=>de.every(Fe=>Pe.includes(Fe))?de:de.filter(Fe=>Pe.includes(Fe)))},[Pe]);const ct=S.useMemo(()=>h.filter(Sn).flatMap(de=>{const Fe=oe.find(Ye=>Ye.id===de.id);if(!Fe)return[];const wt=yN(de.worktree.id,de.worktree.proxyPort,x,N);return[{id:de.worktree.id,port:de.worktree.proxyPort,title:de.worktree.title,url:vX(Fe.path,wt)??wt}]}),[h,oe,x,N]),Tn=Fk(E,x),pn=rj(E,ct,Tn);ft.current=de=>{var wt;const Fe=$S((wt=s.getState().local[de])==null?void 0:wt.page.url);if(oe.some(Ye=>Ye.id===de&&Ye.path!==Fe)){we(Ye=>Ye.map(Lt=>Lt.id===de?{...Lt,path:Fe}:Lt));return}Tn?pn.renew(de):CS(Re.current.get(de))};const In=ct.filter(de=>{var Fe;return(Fe=h.find(wt=>wt.id===de.id))==null?void 0:Fe.procs.some(wt=>wt.status==="running")}).map(de=>de.id).join(" ");ot([In],()=>{for(const de of In.split(" "))Mt.current.has(de)&&ft.current(de)});const Oe=D(de=>de.carryTo),[pt,Ht]=S.useState(null),[an,Gn]=S.useState(st),ee=S.useRef(null);an!==st&&(Gn(st),Ht(YY({leaving:ee.current,arriving:st,carryTo:Oe,repoOf:de=>{var Fe;return((Fe=h.find(wt=>wt.id===de))==null?void 0:Fe.repoId)??null}}))),S.useEffect(()=>{if(!pt)return;const de=setTimeout(()=>Ht(null),yX);return()=>clearTimeout(de)},[pt]);const ge=st!==null&&tt.includes(st),He=XY({previewId:st,painted:ge,ready:ht,carry:pt,mounted:Pe}),lt=He!==null&&He!==st;S.useEffect(()=>{ee.current=He});const z=He!==null&&!ae&&!X&&!$&&!C&&!Q,[re,Ee]=S.useState(null),Ge=S.useCallback(de=>o({a:"preview-size",text:de}),[o]);hX(re,z,Ge);const[_t,kt]=ks(et.editorHeight,0,de=>{const Fe=Number(de);return Number.isFinite(Fe)&&Fe>=120?Fe:0}),[De,ze]=ks(et.designHeight,0,de=>{const Fe=Number(de);return Number.isFinite(Fe)&&Fe>0?Fe:0}),[qe,Yt]=ks(et.designFull,!1,de=>de===null?void 0:de==="1"),[Wt,Rn]=ks(et.editorFull,!1,de=>de===null?void 0:de==="1"),[un,Vn]=ks(et.termHeight,240,de=>{const Fe=Number(de);return Number.isFinite(Fe)&&Fe>=140?Fe:void 0}),rn=D(de=>de.termTall);ot([rn],()=>{const de=n.current;rn&&de&&Vn(Math.max(un,Math.round(de.clientHeight/2)))});const Jt=de=>(Fe,wt)=>{const Ye=wt.parentElement,Lt=n.current;if(!Ye||!Lt)return null;let On=0;for(const hr of Array.from(Lt.querySelectorAll(":scope > .pane")))hr!==Ye&&!hr.classList.contains("full")&&(On+=hr.offsetHeight);const Qt=Math.max(Lt.clientHeight-On-80,de);return Math.min(Math.max(Ye.getBoundingClientRect().bottom-Fe.clientY,de),Qt)},rr=qc(Jt(120),de=>kt(Math.round(de))),bn=qc(Jt(160),de=>ze(Math.round(de))),Kt=qc(Jt(140),de=>Vn(Math.round(de))),Ct=D(de=>{var Fe,wt;return p&&$r(p.worktree)?((wt=(Fe=de.rows.find(Ye=>{var Lt;return Ye.repoId===p.worktree.repoId&&((Lt=Ye.worktree)==null?void 0:Lt.kind)==="worktree"}))==null?void 0:Fe.worktree)==null?void 0:wt.title)??null:null}),kn=E8({connected:g,heard:y,standing:v,connectFailure:w,hasToken:E.serving?kX:!0,projectChord:qt("project"),title:(p==null?void 0:p.worktree.title)??null,machine:E.serving?null:T.displayName(E.origin),needsSetup:!!ye,busy:Ne,treeEmpty:Be,landsFrom:Ct});return d.jsxs("div",{className:"center-root",ref:r,children:[d.jsx("div",{className:We("center-area",O&&"drop-over"),style:{display:F||!(J&&!Q)&&!zt&&!$&&(j&&Wt||le&&qe)?"none":void 0},children:d.jsxs("div",{className:"frames-wrap",ref:Ee,children:[ct.map(de=>d.jsx("iframe",{ref:Fe=>{Fe?(Re.current.set(de.id,Fe),Ke.current.set(de.id,new URL(de.url).origin)):(Re.current.delete(de.id),Ke.current.delete(de.id),Mt.current.delete(de.id),en.current.delete(de.id))},onLoad:()=>{en.current.delete(de.id)?Mt.current.delete(de.id):Mt.current.add(de.id)},src:pn.urlOf(de.id)??void 0,title:de.title,style:{display:z&&de.id===He?"block":"none"}},de.id)),I?d.jsx(rX,{project:I}):$?d.jsx(pY,{}):d.jsxs(d.Fragment,{children:[X&&d.jsx(JY,{pending:X},X.id),A&&p&&!X&&d.jsx(QY,{active:p},p.worktree.id),ae&&!X&&!A&&d.jsx(uX,{repo:ae,onClose:H?void 0:()=>o({a:"close"})},`${ae.id}:${JSON.stringify(ae.config)}`),Ut&&!ae&&!X&&!zt&&d.jsx(_u,{placement:"centre",found:Ut},Ut.id),zt&&!ae&&!X&&d.jsx(_u,{placement:"centre",archived:zt},zt.id),!Zt&&!Ut&&!zt&&!ae&&!X&&!A&&he&&d.jsx(mj,{foreign:E.serving?void 0:T.displayName(E.origin)}),!Zt&&!Ut&&!zt&&!ae&&!X&&!A&&!he&&(kn!==null?d.jsx(Ss,{wide:!0,children:d.jsx("p",{className:We("status-line",kn.live&&"live-text"),children:kn.text})}):Q?d.jsx(_u,{placement:"centre"}):lt?null:p&&d.jsx(GY,{worktree:p,log:ie}))]})]})}),j&&d.jsx($C,{editor:j,height:Wt?"100%":_t>0?_t:"45%",full:Wt||F,onToggleFull:F?void 0:()=>Rn(!Wt),onDragStart:rr,headIn:F?t:null}),le&&f&&!zt&&!$&&d.jsx(kY,{worktreeId:f,height:qe?"100%":De>0?De:"55%",full:qe,onToggleFull:()=>Yt(!qe),onDragStart:bn},`design:${f}`),L&&f&&!zt&&!$&&d.jsx(KY,{worktreeId:f,opened:ne,height:un,onDragStart:Kt},`term:${f}`),d.jsx(MC,{})]})}function xX({width:e}){const t=D(r=>r.layout.chat),n=ed();return d.jsx(_u,{placement:"dock",className:!t||n?"collapsed":void 0,width:e})}function EX(e,t){const n=[];return e&&(n.push($T(e)),n.push({id:"copy-url",label:"copy URL",onClick:()=>nn(e)})),Ln([n,[{id:"reload",label:"reload preview",key:qt("reload"),onClick:t.reload}]])}const SX=520,IS=8,_X=20;function NX({winW:e,centre:t,leadRight:n,toolsLeft:r}){const o=t.right-t.left,s=Math.max(0,Math.min(SX,Math.floor(e*.4),o-2*IS)),a=t.left+(o-s)/2,l=n+IS,u=r-_X-s,h=Math.max(Math.min(a,u),l);return{left:Math.round(h),width:s}}const TX="(display-mode: window-controls-overlay)";function jX({center:e,onFileHead:t}){const n=g6(),r=uT(e),o=S.useRef(null);j6(o);const s=D5(),[a,l]=Zx(),[u,h]=Zx(),f=NX({winW:n,centre:r,leadRight:l.right,toolsLeft:h.left}),p=dt(),g=Qe(),y=Pn(),v=wn("bar"),w=Ys(),x=td(),N=D(ys),E=k6(TX),T=N&&E,j=D(J=>J.layout.changes),A=D(J=>J.layout.chat),I=ed(),$=D(J=>{var F;return((F=J.overlay)==null?void 0:F.kind)==="keys"}),C=HA(),L=(w==null?void 0:w.worktree.id)??null,P=D(J=>J.archivedPage!==null||J.notesPage),B=!!w&&gp(w)&&!P,q=D(J=>J.chatSide)==="left",ne={tipAlign:"start"},Q={tipAlign:"end"},le=!I&&d.jsx(Dt,{icon:"branch",label:"Changes panel",hint:qt("changes"),tone:"chrome",on:j,...q?Q:ne,onClick:()=>p({a:"toggle-changes"})}),te=!I&&!x&&d.jsx(Dt,{icon:"chat",label:"Chat panel",hint:qt("composer"),tone:"chrome",on:A,...q?ne:Q,onClick:()=>p({a:"toggle-chat"})}),Z=D(J=>J.railOpen),R=!I&&d.jsx(Dt,{icon:"worktrees",label:"Worktree panel",hint:qt("rail"),tone:"chrome",on:Z,...q?ne:Q,onClick:()=>p({a:"toggle-rail"})});return d.jsxs("div",{className:"top-bar",ref:o,"data-float-up":s||void 0,children:[d.jsxs("span",{className:"bar-lead",ref:a,children:[q?R:le,q&&te,d.jsx($X,{}),C&&d.jsx(dd,{icon:"download","data-tip":"Install Toyon as an app (own window, dock icon)",onClick:()=>void C.prompt(),children:"install app"}),d.jsx(CX,{}),d.jsx(IX,{}),d.jsx(RX,{})]}),T?d.jsx("span",{className:"bar-file",ref:t}):d.jsxs(d.Fragment,{children:[!x&&d.jsx(AX,{worktreeId:L,repoId:(w==null?void 0:w.repoId)??null,ready:B,left:f.left,width:f.width}),d.jsx("span",{className:"bar-grow"})]}),d.jsxs("span",{className:"bar-tools",ref:u,children:[d.jsx(OX,{}),d.jsx(Dt,{icon:"settings",label:"Settings & shortcuts",hint:qt("keys"),tone:"chrome",on:$,...Q,"aria-controls":"keys-help","aria-expanded":$,onClick:()=>p({a:"toggle",overlay:{kind:"keys"}}),...v.contextMenu(()=>n$(y.getState(),{sock:g,dispatch:p}))}),q?le:te,!q&&R,!x&&d.jsx(bC,{className:"bar-zen"})]})]})}function $X(){const e=dt(),t=Qe(),n=hl(),r=D(p=>p.activeRepoId),o=D(p=>p.rows),s=D(p=>p.repos),a=wn("bar"),l=()=>Ln([[{id:"project",label:s.length>1?"switch project…":"open project…",key:qt("project"),onClick:()=>e({a:"open",overlay:{kind:"projects",form:"pill"}})},{id:"project-disk",label:"find a project on disk…",onClick:()=>e({a:"open",overlay:{kind:"projects",form:"disk"}})}],n?Ap(n,r,{sock:t,dispatch:e},o):[]]),u=D(p=>{var g;return((g=p.overlay)==null?void 0:g.kind)==="projects"&&p.overlay.form==="pill"}),h=D(p=>p.heard),f=D(p=>p.newProject!==null);return d.jsxs("span",{className:"bar-project",children:[d.jsx(Le,{tone:"chrome",className:"bar-pill",on:u,...Ot(s.length>1?"Switch project":"Open a project",qt("project")),onClick:()=>e({a:"toggle",overlay:{kind:"projects",form:"pill"}}),...a.contextMenu(l),children:d.jsx("span",{className:"bar-project-name",children:f?"new project":(n==null?void 0:n.name)??(h?"open project":"")})}),u&&d.jsx(Mv,{form:"pill"})]})}function AX({worktreeId:e,repoId:t,ready:n,left:r,width:o}){const s=Ft(e,"page").url,a=dt(),l=D(y=>{var v;return((v=y.overlay)==null?void 0:v.kind)==="routes"}),u=D(y=>y.previewSize);ot([e,n],()=>{l&&a({a:"close"})});const f=wn("bar").contextMenu(()=>n?EX(s,{reload:()=>e&&cn.post(e,{type:"reload"})}):[]),p=D(y=>y.picking),g=jy();return d.jsxs("div",{className:"bar-center",style:{left:r,width:o},children:[d.jsx(Dt,{icon:"back",label:"Back",hint:qt("back"),disabled:!n,onClick:()=>e&&cn.post(e,{type:"back"}),...f}),d.jsx(Dt,{icon:"forward",label:"Forward",hint:qt("forward"),disabled:!n,onClick:()=>e&&cn.post(e,{type:"forward"}),...f}),d.jsx(Dt,{icon:"reload",label:"Reload preview",hint:qt("reload"),disabled:!n,onClick:()=>e&&cn.post(e,{type:"reload"}),...f}),d.jsxs("span",{className:"bar-route",children:[n&&e&&t?d.jsx(Uq,{worktreeId:e,repoId:t,url:s,open:l},e):d.jsx(Uo,{className:"bar-path",value:"",readOnly:!0,disabled:!0}),u&&d.jsx("span",{className:"bar-size",children:u})]}),d.jsx(Dt,{icon:"inspect",className:"bar-inspect",label:"Pick an element to open its code",hint:qt("inspect"),also:{text:"Add an element to chat",key:qt("pick")},on:p==="code",disabled:!n||!g,onClick:()=>g&&Lu(g,p,a,"code")})]})}function dd({icon:e,busy:t,children:n,...r}){return d.jsxs(Le,{disabled:t,...r,children:[!t&&d.jsx(Tt,{name:e,className:"icon-inline"}),d.jsx("span",{className:We(t&&"live-text"),children:n})]})}function CX(){const e=D(u=>u.self),t=D(u=>u.rebuilt),n=D(u=>u.repos),r=Qe(),o=D(u=>{var h;return((h=u.update)==null?void 0:h.restarting)!=null}),s=AC(e,n,t);if(!s||o)return null;const a=s.busy?"rebuilding":s.reload?"reload Toyon":s.build==="rebuild"?"rebuild Toyon":s.build??"restart Toyon",l=()=>{s.reload?window.location.reload():e&&(r==null||r.send(s.build?{t:"run-after-land",repoId:e.repoId}:{t:"restart-daemon"}))};return d.jsx(dd,{icon:"reload",busy:s.busy,onClick:l,...Ot(s.text,void 0,{detail:s.detail}),children:a})}function IX(){const e=D(o=>o.update),t=D(o=>o.managed.updates),n=Qe(),r=m8(e);return!r||!t?null:d.jsx(dd,{icon:"reload",busy:r.busy,onClick:()=>{r.retry&&(n==null||n.send({t:"update-now"}))},...Ot(r.text),children:r.word})}function RX(){const e=dt(),t=D(j3),n=D(a=>a.ranBefore),r=D(a=>a.newProject!==null);if(!t||!n||r)return null;const{word:o,text:s}=hY(n,t);return d.jsx(dd,{icon:"book",onClick:()=>e({a:"open-release-notes"}),...Ot(s),children:o})}function OX(){const e=dt(),t=D(W3),n=D(s=>s.letIn),r=D(s=>{var a;return((a=s.overlay)==null?void 0:a.kind)==="devices"});if(!t)return null;const o=()=>e({a:"toggle",overlay:{kind:"devices"}});return n?d.jsx(Dt,{icon:"devices",label:"Your devices",tone:"chrome",on:r,tipAlign:"end","aria-expanded":r,onClick:o}):d.jsx(dd,{icon:"devices","aria-expanded":r,onClick:o,...Ot("Open this machine on your phone, and let it in"),children:"open on phone"})}function MX(e,t,n){return t==="left"?n-e.left:e.right-n}const LX="input, textarea, [contenteditable], .monaco-editor, .xterm, iframe";function PX(){const e=Pn(),t=dt(),n=Qe(),r=ed(),o=Xs(),s=td(),a=D(W=>W.zen)&&!s,l=D(ys),u=Ya(),h=D(W=>W.notesPage),f=!!Ty()||!!u||h,p=D(W=>W.layout.changes)&&!r,g=D(W=>W.layout.chat)&&!r&&!s&&!f,y=D(W=>W.chatSide),v=D(W=>W.railOpen),[w,x]=ks(et.changesWidth,220,W=>W?$f(Number(W),220):void 0),[N,E]=ks(et.chatWidth,380,W=>W?$f(Number(W),380):void 0),[T,j]=ks(et.railWidth,280,W=>W?$f(Number(W),280):void 0),A=(W,ie,he)=>{const ye=ie.classList.contains("left")?"left":"right",$e=ye==="left"?ie.previousElementSibling:ie.nextElementSibling;return $e?$f(MX($e.getBoundingClientRect(),ye,W.clientX),he):null},I=qc((W,ie)=>A(W,ie,220),x),$=qc((W,ie)=>A(W,ie,380),E),C=qc((W,ie)=>A(W,ie,280),j),[L,P]=S.useState(null),[B,q]=S.useState(null),Q=wn("app").contextMenu(()=>Jj(e.getState(),{sock:n,dispatch:t})),le=d.jsx(Bj,{width:w}),te=!s&&!f&&d.jsx(xX,{width:N}),Z=!r&&d.jsx(FC,{width:T}),R=W=>!r&&v&&d.jsx("div",{className:`dock-resize ${W}`,onPointerDown:C}),J=y==="left",F=J?{dock:te,open:g,drag:$}:{dock:le,open:p,drag:I},O=J?{dock:le,open:p,drag:I}:{dock:te,open:g,drag:$};return d.jsxs("div",{className:We("app",a&&"zen",l&&"zen-file"),"data-chat-side":y,"data-touch":o||void 0,"data-hover":!o||void 0,onContextMenu:W=>{W.defaultPrevented||W.target instanceof Element&&W.target.closest(LX)||Q.onContextMenu(W)},children:[d.jsx(sj,{}),d.jsx(lj,{}),d.jsx(jX,{center:L,onFileHead:q}),d.jsxs("div",{className:"docks",children:[J&&Z,J&&R("left"),F.dock,F.open&&d.jsx("div",{className:"dock-resize left",onPointerDown:F.drag}),d.jsx(bX,{onRoot:P,fileHead:B}),O.open&&d.jsx("div",{className:"dock-resize right",onPointerDown:O.drag}),O.dock,!J&&R("right"),!J&&Z]})]})}function DX(e,t,n,r){if(!n)return null;const o=e.findIndex(u=>u.id===n);if(o>=0){const u=e[(o+r+e.length)%e.length];return u&&u.id!==n?{activate:u.id}:null}const s=t.findIndex(u=>u.id===n);if(s<0)return null;const a=t[s+r];if(a)return{activate:a.id};const l=e[e.length-1];return r<0&&l?{activate:l.id}:null}const zX=new Set(["design","chats"]),FX=new Set(["back","forward"]),BX=new Set(["wt-back","wt-forward"]),UX=new Set(["project","commands","keys","zen"]);function HX(){const e=Pn(),t=Qe();S.useEffect(()=>{const n=WV(p=>e.dispatch({a:"rail-peek",on:p})),r=n.end,o=p=>{e.getState().railOpen||n.press(p)},s=HV(),a=p=>{n.keyup(p.key),s.keyup(p.key)},l=p=>{n.mods(p),s.mods(p)},u=()=>{var v,w;const p=e.getState();if(ys(p)){e.dispatch({a:"close-editor"});return}const y=((w=(v=document.activeElement)==null?void 0:v.closest("[data-pane]"))==null?void 0:w.dataset.pane)??(p.layout.term?"terminal":p.editor?"editor":p.layout.design?"design":null);y==="terminal"?e.dispatch({a:"toggle-terminal"}):y==="editor"?e.dispatch({a:"close-editor"}):y==="design"&&e.dispatch({a:"toggle-design"})},h=p=>{p.key!=="Escape"||!e.getState().choosingFolder||(p.stopImmediatePropagation(),t==null||t.send({t:"cancel-folder"}),e.dispatch({a:"choosing-folder",v:!1}))},f=p=>{var I,$,C,L;l(p),$R(p)&&!p.defaultPrevented&&p.preventDefault();const g=e.getState(),{dispatch:y}=e,v=(P,B={a:"activate",id:P})=>{const q=document.activeElement,ne=!q||q===document.body||!!q.closest(".rail, .chat-input");y(B),ne&&y({a:"walked"})},w=XS(p,{guest:!!((I=document.activeElement)!=null&&I.closest(".xterm"))}),x=ys(g),N=g.zen&&!Ao(g)&&!x,E=N?jR(w):w;if(N&&!g.overlay&&!g.picking&&!(E&&NR.has(E.id)))return;const T=P=>P&&!x;if((E==null?void 0:E.id)==="close"&&!uy()||!!(($=document.activeElement)!=null&&$.closest(".monaco-editor"))&&E&&zX.has(E.id))return;const A=E&&BX.has(E.id)&&s.holds(p);if(!(E&&!A&&OR(E.id,document.activeElement))&&!(E&&FX.has(E.id)&&!(zc(g)&&Iu(g)))&&!((E==null?void 0:E.id)==="reload"&&!jk(g))){if(E){const P=p.defaultPrevented;if(p.preventDefault(),g.newProject&&!UX.has(E.id))return;switch(E.id){case"worktree":{const B=CR(E.digit,g.visible.length),q=B===null?void 0:g.visible[B];q&&v(q.id);break}case"wt-prev":case"wt-next":{const B=DX(g.visible,g.visibleDiscovered,g.activeId,E.id==="wt-next"?1:-1);B&&v(B.activate),o(p);break}case"wt-unseen-prev":case"wt-unseen-next":{const B=Gy(g.visible,g.activeId,E.id==="wt-unseen-next"?1:-1);B&&v(B.activate),o(p);break}case"wt-back":case"wt-forward":{const B=p3(g.viewed,yh(g),Qf(g),E.id==="wt-forward"?1:-1);B&&(v(B.id,{a:"viewed-land",at:B.at}),s.press(p)),o(p);break}case"mark-unread":g.activeId&&!g.draft&&g.visible.some(B=>B.id===g.activeId)&&Sj(t,y,g.activeId);break;case"wt-archive":{if(p.repeat||P)break;const B=g.draft||g.archivedPage?void 0:g.visible.find(q=>q.id===g.activeId);B&&_j(t,y,q=>my(g,q)).archive(B);break}case"new":y({a:"open-draft"});break;case"project":y({a:"toggle",overlay:{kind:"projects",form:"center"}});break;case"quick-open":((C=g.overlay)==null?void 0:C.kind)==="quick-open"?y({a:"close"}):g.activeId&&y({a:"open",overlay:{kind:"quick-open"}});break;case"routes":((L=g.overlay)==null?void 0:L.kind)==="routes"?y({a:"close"}):Iu(g)&&y({a:"open",overlay:{kind:"routes"}});break;case"reload":{const B=jk(g);if(!B)break;B.act==="frame"?cn.post(B.id,{type:"reload"}):t==null||t.send({t:"preview-start",worktreeId:B.id});break}case"back":case"forward":{const B=zc(g);B&&cn.post(B,{type:E.id});break}case"pick":case"inspect":{const B=zc(g);B&&Lu(B,g.picking,y,E.id==="pick"?"chat":"code");break}case"search":g.activeId&&y({a:"toggle",overlay:{kind:"search"}});break;case"refs":g.activeRepoId&&y({a:"toggle",overlay:{kind:"refs"}});break;case"chats":g.activeRepoId&&y({a:"toggle",overlay:{kind:"chats"}});break;case"commands":y({a:"toggle",overlay:{kind:"commands"}});break;case"zen":y({a:"toggle-zen",file:Vy("editor")});break;case"close":!N&&!g.overlay&&u();break;case"changes":y(T(g.layout.changes)&&(tl(g)==="changes"||Ho(g)!==null)?{a:"toggle-changes"}:{a:"focus-changes",tab:"changes"});break;case"files":y(T(g.layout.changes)&&tl(g)==="files"?{a:"toggle-changes"}:{a:"focus-changes",tab:"files"});break;case"panel-tab-prev":case"panel-tab-next":if(mp(g))break;y(g.layout.changes?{a:"focus-changes",tab:T3(g,E.id==="panel-tab-next"?1:-1)}:{a:"focus-changes"});break;case"composer":y(x?{a:"focus-chat"}:MN(g));break;case"rail":y(T(g.railOpen)?{a:"toggle-rail"}:{a:"focus-rail"});break;case"keys":y({a:"toggle",overlay:{kind:"keys"}});break;case"terminal":y(T(g.layout.term)?{a:"toggle-terminal"}:{a:"focus-terminal"});break;case"design":y(x&&g.layout.design?{a:"toggle-zen"}:{a:"toggle-design"});break;case"term-tab":{if(x){y({a:"focus-terminal"});break}const B=g.rows.find(le=>le.id===g.activeId);if(!B)break;const q=Mr(g,g.activeId).termStream;if(B.login&&q===qs)break;const ne=[Fo,...B.login?[qs]:[],...B.procs.map(le=>le.name)],Q=ne.indexOf(q);y({a:"term-stream",id:B.id,stream:ne[(Q+1)%ne.length]??Fo});break}}}else if(p.key==="Escape")if(g.newProject)g.newProject.phase==="editing"&&y({a:"close-new-project"});else if(g.picking){const P=zc(g);P&&cn.post(P,{type:"pick-cancel"}),y({a:"set-picking",v:!1})}else g.notesPage?y({a:"close-release-notes"}):g.archivedPage?y({a:"close-archived"}):g.activeImportId?y({a:"watch-import",id:null}):u()}};return window.addEventListener("keydown",h,!0),window.addEventListener("keydown",f),window.addEventListener("keyup",a),window.addEventListener("pointermove",l),window.addEventListener("pointerdown",l),window.addEventListener("blur",r),()=>{window.removeEventListener("keydown",h,!0),window.removeEventListener("keydown",f),window.removeEventListener("keyup",a),window.removeEventListener("pointermove",l),window.removeEventListener("pointerdown",l),window.removeEventListener("blur",r),r()}},[e,t]),S.useEffect(()=>{const n=r=>{if(r.key!=="Alt"&&r.key!=="Shift")return;const o=e.getState();o.picking&&o.activeId&&cn.post(o.activeId,{type:"pick-mods",alt:r.altKey,shift:r.shiftKey})};return window.addEventListener("keydown",n),window.addEventListener("keyup",n),()=>{window.removeEventListener("keydown",n),window.removeEventListener("keyup",n)}},[e])}const WX=3,KX=2e3,qX=200,ZX=5e3;function GX(){const e=dt(),t=Qe(),n=Vs(),{storage:r}=n,o=fl(),s=D(H=>H.activeRepoId),a=Ys(),l=_y(),u=D(H=>H.connected),h=D(H=>H.daylight),f=D(H=>{var ae;return((ae=H.daylight)==null?void 0:ae.until)??0}),p=Ya(),g=D(H=>H.notesPage),y=D(H=>H.version),v=D(H=>H.railOpen),w=D(H=>H.chatSide),x=D(H=>H.layouts),N=D(H=>H.lastActive),E=D(H=>H.discoveredOpen),T=D(H=>H.archivedOpen),j=D(H=>H.committedShut),A=D(H=>H.turnOpen),I=D(H=>H.treeOpen),$=wp(),C=D(H=>H.previewTheme!==null),L=D(H=>H.openUrl),P=mT();S.useEffect(()=>nl.install(window),[]);const B=S.useRef([]),q=S.useCallback(H=>t==null?void 0:t.send({t:"subscribe",worktreeId:H,since:n.since(H)}),[t,n]);S.useEffect(()=>{if(!t||!u||!o)return;const H=[o,...B.current.filter(ae=>ae!==o)];for(const ae of H.splice(WX))t.send({t:"unsubscribe",worktreeId:ae});B.current.includes(o)||q(o),B.current=H},[o,u,t,q]),S.useEffect(()=>{if(!(!t||!u))for(const H of B.current)q(H)},[u,t,q]);const ne=S.useRef(void 0);S.useEffect(()=>{if(!t||!u)return;let H;const ae=()=>{const we=document.visibilityState==="visible"?o:null;t.send({t:"view",worktreeId:we}),ne.current=we},X=()=>{clearTimeout(H),H=setTimeout(ae,qX)};ne.current===void 0||ne.current===o||document.visibilityState!=="visible"?ae():X();const oe=()=>document.visibilityState==="visible"?X():ae();return document.addEventListener("visibilitychange",oe),()=>{clearTimeout(H),document.removeEventListener("visibilitychange",oe)}},[o,u,t]),S.useEffect(()=>{const H=new Set(P.map(X=>X.id)),ae=B.current.filter(X=>!H.has(X));if(ae.length!==0&&(B.current=B.current.filter(X=>H.has(X)),!(!t||!u)))for(const X of ae)t.send({t:"unsubscribe",worktreeId:X})},[P,u,t]);const Q=(p==null?void 0:p.id)??null,le=D(H=>Q!==null&&H.archiving.includes(Q));S.useEffect(()=>{if(!(!t||!u||!Q)&&!(le&&B.current.includes(Q)))return q(Q),()=>t.send({t:"unsubscribe",worktreeId:Q})},[Q,le,u,t,q]);const te=g?"Release notes":(p==null?void 0:p.title)??(l==null?void 0:l.name)??null;S.useEffect(()=>{document.title=te?`${te} · Toyon`:"Toyon"},[te]);const Z=!!(a!=null&&a.unseen),R=D(H=>H.unreadHold!==null&&H.unreadHold===H.activeId);S.useEffect(()=>{if(!t||!o||!Z||R)return;let H;const ae=()=>document.visibilityState==="visible"&&document.hasFocus(),X=()=>{clearTimeout(H),ae()&&(H=setTimeout(()=>{ae()&&t.send({t:"seen",worktreeId:o})},KX))},oe=()=>clearTimeout(H);return X(),window.addEventListener("focus",X),window.addEventListener("blur",oe),()=>{oe(),window.removeEventListener("focus",X),window.removeEventListener("blur",oe)}},[t,o,Z,R]);const J=S.useRef(0),F=D(H=>gy(H));S.useEffect(()=>{if(!t||!u||!s)return;const H=()=>{Date.now()-J.current<ZX||(J.current=Date.now(),t.send({t:"refresh-git",repoId:s}),F&&F!==s&&t.send({t:"refresh-git",repoId:F}))};return window.addEventListener("focus",H),()=>window.removeEventListener("focus",H)},[t,u,s,F]);const O=D(H=>H.frame==="phone"&&H.screen==="home"?"surface1":"surface0");S.useEffect(()=>{try{sessionStorage.setItem(et.ground,O)}catch{}},[O]);const W=D(H=>H.frame==="phone"),ie=D(H=>H.blackGround),he=S.useMemo(()=>W&&ie?P4($):$,[W,ie,$]);S.useEffect(()=>{try{localStorage.setItem(et.blackGround,ie?"1":"0")}catch{}},[ie]),S.useEffect(()=>{HC(he,{remember:!C,ground:O,black:he!==$}),cn.broadcast(WC(he))},[he,$,C,O]);const ye=S.useCallback(()=>{t==null||t.send({t:"zone",tz:Intl.DateTimeFormat().resolvedOptions().timeZone})},[t]);S.useEffect(()=>{if(!u)return;ye();const H=()=>{document.visibilityState==="visible"&&ye()};return document.addEventListener("visibilitychange",H),()=>document.removeEventListener("visibilitychange",H)},[u,ye]),S.useEffect(()=>{if(!u||f<=Date.now())return;const H=setTimeout(ye,f-Date.now()+1e3);return()=>clearTimeout(H)},[u,f,ye]),S.useEffect(()=>{h&&h.until>0&&dY(h)},[h]),S.useEffect(()=>{o&&r.set(et.active,o)},[o,r]),S.useEffect(()=>{y&&r.set(et.version,y)},[y,r]);const $e=D(H=>H.frame==="phone"?H.screen!=="home":null);S.useEffect(()=>{$e!==null&&r.session.set(et.phoneRow,$e?"1":"0")},[$e,r]),S.useEffect(()=>{s&&r.set(et.repo,s)},[s,r]),S.useEffect(()=>{try{localStorage.setItem(et.rail,v?"1":"0")}catch{}},[v]),S.useEffect(()=>{try{localStorage.setItem(et.chatSide,w)}catch{}},[w]),S.useEffect(()=>{try{localStorage.setItem(et.layouts,JSON.stringify(x))}catch{}},[x]),S.useEffect(()=>{r.set(et.lastActive,JSON.stringify(N))},[N,r]),S.useEffect(()=>{r.set(et.discoveredOpen,JSON.stringify(E))},[E,r]),S.useEffect(()=>{r.set(et.archivedOpen,JSON.stringify(T))},[T,r]),S.useEffect(()=>{r.set(et.committedShut,JSON.stringify(j))},[j,r]),S.useEffect(()=>{r.set(et.turnOpen,JSON.stringify(A))},[A,r]),S.useEffect(()=>{r.set(et.treeOpen,JSON.stringify(I))},[I,r]),HX(),b5();const Be=S.useRef(null);return S.useEffect(()=>{!L||Be.current===L||(Be.current=L,Or(L),e({a:"opened-url"}))},[L,e]),D(H=>H.frame)==="phone"?d.jsx(sY,{}):d.jsx(PX,{})}function VX({origin:e,machine:t,onToken:n}){const[r,o]=S.useState({kind:"asking"}),[s,a]=S.useState(0),l=URL.canParse(e)&&Qh(new URL(e).hostname);return ot([s],()=>{const u=new AbortController;return o({kind:"asking"}),uN(e,u.signal,h=>o({kind:"waiting",word:h})).then(h=>{if(!u.signal.aborted){if(typeof h=="string"){o({kind:"failed",failure:h});return}o({kind:"in"}),n(h.token)}}),()=>u.abort()}),d.jsxs(Ss,{children:[r.kind==="waiting"&&d.jsx("div",{className:"knock-word",children:r.word}),d.jsx("p",{className:"status-line",children:r.kind==="asking"?`Asking Toyon on ${t} to let this device in.`:r.kind==="waiting"?`Toyon on ${t} is asking whether to let these two words in. Say yes there.`:r.kind==="in"?"Let in. Opening.":OC(r.failure,e,"this device")}),l&&r.kind!=="in"&&d.jsxs("p",{className:"status-line",children:["This is the machine Toyon runs on, so a terminal here can do it too: ",d.jsx("code",{children:"toyon"})," opens the shell already let in."]}),r.kind==="failed"&&d.jsx("div",{className:"status-actions",children:d.jsx(Le,{variant:"outline",onClick:()=>a(u=>u+1),children:"ask again"})})]})}const ak="toyon-shared",YX="x-toyon-name";async function XX(e=globalThis.caches){var t;try{if(!e||!await e.has(ak))return[];const n=await e.open(ak),r=[];for(const o of await n.keys()){const s=await n.match(o);if(!s)continue;const a=decodeURIComponent(s.headers.get(YX)??"")||"shared",l=((t=(s.headers.get("content-type")??"").split(";")[0])==null?void 0:t.trim())??"";r.push(new File([await s.blob()],a,{type:l}))}return await e.delete(ak),r}catch{return[]}}function RS(e,t=()=>!0){const n=()=>t()?Xa(e):null;return new Promise(r=>{const o=n();if(o)return r(o);const s=e.subscribe(()=>{const a=n();a&&(s(),r(a))})})}function QX(e){const[t]=e;if(e.length===1&&t)return`pick a chat for ${t.name}`;const n=e.every(r=>r.type.startsWith("image/"))?"images":"files";return`pick a chat for ${e.length} ${n}`}async function JX(e,t){const n=await XX(t);if(n.length===0)return;if(e.getState().frame!=="phone"){bh(e,await RS(e),n);return}e.dispatch({a:"screen",to:"home"}),e.dispatch({a:"sharing",v:QX(n)});const r=await RS(e,()=>e.getState().screen!=="home");e.dispatch({a:"sharing",v:null}),bh(e,r,n)}function eQ(){const e=new Map;return{on(t,n){let r=e.get(t);return r||(r=new Set,e.set(t,r)),r.add(n),()=>{r.delete(n),r.size===0&&e.delete(t)}},deliver(t){for(const n of e.get(hR(t.worktreeId,t.stream))??[])n(t)}}}const tQ=2e3,nQ=1500;function rQ(e,t,n,r={}){const o=r.timers??{set:(I,$)=>setTimeout(I,$),clear:I=>clearTimeout(I)},s=r.now??(()=>Date.now()),a=r.win??(typeof window>"u"?null:window),l=new Map,u=I=>{let $=l.get(I);return $||($=new f3,l.set(I,$)),$},h=new Map,f=new Map,p=I=>{var P;o.clear(f.get(I)),f.delete(I);const $=e.getState();if(I===""){if(!$.heard)return;const B=s3($,s());if(!B)return;const q=d3(Object.fromEntries([...h].map(([ne,Q])=>[ne,{at:Q}])),$.rows);for(const ne of q)h.delete(ne),l.delete(ne);t.putHello(n,B).then(()=>q.length?t.dropChats(n,q):void 0);return}const C=l.get(I);if(!C||!$.rows.some(B=>B.id===I))return;const L=s();h.set(I,L),t.putChat(n,I,C.snapshot((P=$.local[I])==null?void 0:P.draft,L))},g=I=>{f.has(I)||f.set(I,o.set(()=>p(I),tQ))},y=()=>{for(const I of[...f.keys()])p(I)};let v=e.getState();const w=new Map,x=e.subscribe(()=>{var $;const I=e.getState();if(I.heard&&(!v.heard||I.rows!==v.rows||I.repos!==v.repos||I.trunks!==v.trunks||I.handed!==v.handed||I.visits!==v.visits)&&g(""),I.local!==v.local)for(const C of l.keys()){const L=(($=I.local[C])==null?void 0:$.draft)??"";(w.get(C)??"")!==L&&(w.set(C,L),g(C))}v=I}),N=()=>{var I;((I=a==null?void 0:a.document)==null?void 0:I.visibilityState)==="hidden"&&y()};a==null||a.addEventListener("visibilitychange",N),a==null||a.addEventListener("pagehide",y);const E=Promise.all([t.hello(n),t.chats(n)]);let T;const j=new Promise(I=>{T=o.set(()=>I(null),nQ)});return{recalled:Promise.race([E,j]).then(I=>{if(o.clear(T),!I)return;const[$,C]=I;for(const[P,B]of Object.entries(C))h.set(P,B.at);if(!$||!Lx($)||e.getState().heard)return;const L={};for(const[P,B]of Object.entries(C))Lx(B)&&(L[P]=B);try{e.dispatch({a:"recall",hello:$,chats:L})}catch(P){console.error("the last-known machine could not be recalled; dropping it",P),h.clear(),t.clear(n);return}for(const[P,B]of Object.entries(L))u(P).reset(B.events,B.seq,!1),w.set(P,B.draft??"")}).catch(I=>{console.error("the last-known machine could not be read",I)}),hear(I){var $;if(I.t==="backfill"){const C=u(I.worktreeId);g(I.worktreeId);const L=((($=e.getState().local[I.worktreeId])==null?void 0:$.chat.length)??0)>0;if(I.after!==void 0&&I.after===C.since()&&L)return C.extend(I.events,I.last),I;if(C.reset(I.events,I.last,I.after===void 0),I.after===void 0)return I;const{after:P,...B}=I;return B}return I.t==="agent"&&(u(I.worktreeId).add(I.seq,I.event),g(I.worktreeId)),I},since:I=>{var $;return($=l.get(I))==null?void 0:$.since()},forget(){for(const I of[...f.keys()])o.clear(f.get(I)),f.delete(I);l.clear(),h.clear(),t.clear(n)},dispose(){x(),a==null||a.removeEventListener("visibilitychange",N),a==null||a.removeEventListener("pagehide",y),y()}}}function oQ(){const e=new Map,t=n=>{const r=ko.chats(n),o={};for(const[s,a]of e)s.startsWith(r)&&(o[s.slice(r.length)]=a);return o};return{hello:async n=>e.get(ko.hello(n))??null,putHello:async(n,r)=>void e.set(ko.hello(n),r),chats:async n=>t(n),putChat:async(n,r,o)=>void e.set(ko.chat(n,r),o),dropChats:async(n,r)=>{for(const o of r)e.delete(ko.chat(n,o))},clear:async n=>{e.delete(ko.hello(n));for(const r of[...e.keys()])r.startsWith(ko.chats(n))&&e.delete(r)}}}function QC(){if(typeof indexedDB>"u")return oQ();let e=null;const t=()=>(e??(e=new Promise((s,a)=>{const l=indexedDB.open(ez,1);l.onupgradeneeded=()=>l.result.createObjectStore(nu),l.onsuccess=()=>s(l.result),l.onerror=()=>a(l.error),l.onblocked=()=>a(new Error("blocked"))}).catch(s=>{throw e=null,s})),e),n=async(s,a)=>{const l=(await t()).transaction(nu,s).objectStore(nu);return new Promise((u,h)=>{const f=a(l);f.onsuccess=()=>u(f.result),f.onerror=()=>h(f.error)})},r=s=>{const a=ko.chats(s);return IDBKeyRange.bound(a,`${a}`)},o=async(s,a)=>{try{return await s}catch{return a}};return{hello:s=>o(n("readonly",a=>a.get(ko.hello(s))),void 0).then(a=>a??null),putHello:(s,a)=>o(n("readwrite",l=>l.put(a,ko.hello(s))),void 0).then(()=>{}),chats:async s=>{const a=ko.chats(s),[l,u]=await o((async()=>{const f=(await t()).transaction(nu,"readonly").objectStore(nu),p=g=>new Promise((y,v)=>{g.onsuccess=()=>y(g.result),g.onerror=()=>v(g.error)});return Promise.all([p(f.getAllKeys(r(s))),p(f.getAll(r(s)))])})(),[[],[]]),h={};return l.forEach((f,p)=>{const g=u[p];typeof f=="string"&&g&&(h[f.slice(a.length)]=g)}),h},putChat:(s,a,l)=>o(n("readwrite",u=>u.put(l,ko.chat(s,a))),void 0).then(()=>{}),dropChats:async(s,a)=>{for(const l of a)await o(n("readwrite",u=>u.delete(ko.chat(s,l))),void 0)},clear:async s=>{await o(n("readwrite",a=>a.delete(ko.hello(s))),void 0),await o(n("readwrite",a=>a.delete(r(s))),void 0)}}}function sQ(e){try{const t=new URL(e),n=t.hostname.split(".")[0]??t.hostname;return t.port&&(n==="127"||n==="localhost")?`${t.hostname}:${t.port}`:n}catch{return e}}function iQ(e){const t={};try{const n=JSON.parse(e??"{}");if(!n||typeof n!="object")return t;for(const[r,o]of Object.entries(n))k3(o)&&(t[r]=o)}catch{}return t}function aQ(e){const t={};try{const n=JSON.parse(e??"{}");if(!n||typeof n!="object")return t;for(const[r,o]of Object.entries(n))typeof o=="string"&&o&&(t[r]=o)}catch{}return t}function Wf(e){const t={};try{const n=JSON.parse(e??"{}");if(!n||typeof n!="object")return t;for(const[r,o]of Object.entries(n))typeof o=="boolean"&&(t[r]=o)}catch{}return t}function cQ(e){const t={};try{const n=JSON.parse(e??"{}");if(!n||typeof n!="object")return t;for(const[r,o]of Object.entries(n))Array.isArray(o)&&o.every(s=>typeof s=="string")&&o.length>0&&(t[r]=o)}catch{}return t}const lQ=400,uQ=2e3;function JC(){const e=new Map;return{another(t,n=0){return(e.get(t)??0)===n?!1:(e.set(t,n),!0)}}}function eI(e,t,n){const r=e.getState(),o=[];for(const[s,a]of t){if(a===n||r.local[s])continue;const l=ws(s);l&&l.clientId!==r.clientId||o.push(s)}return o}function dQ(e,t){const n=new Map,r=new Map,o=JC(),s=u=>{var f,p;clearTimeout((f=r.get(u))==null?void 0:f.timer),r.delete(u);const h=e.getState().local[u];!h||((p=h.mark)==null?void 0:p.by)==="walk"||(n.get(u)??"")!==h.draft&&(n.set(u,h.draft),t.send({t:"set-draft",boxId:u,text:h.draft,clientId:e.getState().clientId}))},a=()=>{for(const u of[...r.keys()])s(u)},l=e.subscribe(()=>{var u,h,f;for(const[p,g]of Object.entries(e.getState().local)){if(o.another(p,g.sent)&&(clearTimeout((u=r.get(p))==null?void 0:u.timer),r.delete(p),n.set(p,"")),((h=g.mark)==null?void 0:h.by)==="walk"||(n.get(p)??"")===g.draft)continue;if(!g.draft){s(p);continue}const y=r.get(p);if((y==null?void 0:y.text)===g.draft)continue;clearTimeout(y==null?void 0:y.timer);const v=(y==null?void 0:y.since)??Date.now(),w=Math.max(0,Math.min(lQ,v+uQ-Date.now()));r.set(p,{text:g.draft,timer:setTimeout(s,w,p),since:v})}for(const p of eI(e,n,""))clearTimeout((f=r.get(p))==null?void 0:f.timer),r.delete(p),n.set(p,""),t.send({t:"set-draft",boxId:p,text:"",clientId:e.getState().clientId})});return window.addEventListener("focusout",a),window.addEventListener("pagehide",a),{hello(u){n.clear();for(const[h,f]of Object.entries(u))n.set(h,f)},heard(u,h){return r.has(u)?!1:(n.set(u,h),!0)},dispose(){l();for(const u of r.values())clearTimeout(u.timer);r.clear(),window.removeEventListener("focusout",a),window.removeEventListener("pagehide",a)}}}function fQ(e,t){const n=new Map,r=new Map,o=JC(),s=e.subscribe(()=>{const a=[];for(const[l,u]of Object.entries(e.getState().local)){if(o.another(l,u.sent)&&r.set(l,"[]"),n.get(l)===u.attachments)continue;n.set(l,u.attachments);const h=hy(u.attachments),f=JSON.stringify(h),p=r.get(l)??"[]";p!==f&&(r.set(l,f),a.push({id:l,items:h,before:jN(JSON.parse(p))}))}for(const l of eI(e,r,"[]"))r.set(l,"[]"),a.push({id:l,items:[],before:[]});for(const l of n3(a))t.send({t:"set-attachments",boxId:l.id,items:l.items,clientId:e.getState().clientId})});return{hello(a){r.clear(),n.clear();for(const[l,u]of Object.entries(a))r.set(l,JSON.stringify(u))},heard(a,l){r.set(a,JSON.stringify(l))},dispose:s}}function hQ(e,t){return e.subscribe(()=>{for(const n of t3(e.getState().outbox,e.getState().local)){const r=e.getState(),o=r.local[n];o!=null&&o.outgoing&&(t.send({t:"set-draft",boxId:n,text:o.draft,clientId:r.clientId}),t.send(fu(o.outgoing.frame,n,o.draft,o.attachments)),e.dispatch({a:"sent-out",id:n}))}})}const OS="not sent: the page reloaded while an upload was on its way; attach it again and send";function MS(e,t,n){var a;const r=e.getState(),o=new Set([...Object.keys(n.drafts),...Object.keys(n.attachments)]),s=[];for(const l of o){const u=ws(l);if((u==null?void 0:u.clientId)!==r.clientId||(a=r.local[l])!=null&&a.outgoing)continue;const h=n.drafts[l]??"",f=n.attachments[l]??[],p=n.drafts[u.source]??"",g=[...f,...n.attachments[u.source]??[]],y=p||h,v=r.clientId;g.length&&t.send({t:"set-attachments",boxId:u.source,items:g,clientId:v}),y!==p&&t.send({t:"set-draft",boxId:u.source,text:y,clientId:v}),t.send({t:"set-attachments",boxId:l,items:[],clientId:v}),t.send({t:"set-draft",boxId:l,text:"",clientId:v}),delete n.drafts[l],delete n.attachments[l],y&&(n.drafts[u.source]=y),g.length&&(n.attachments[u.source]=g),s.push(u.source)}return s}function pQ(e,t){const n=(t.storage??tz)(e.origin),r=u6(y3({cached:t.cached,systemDark:t.systemDark,daylight:t.daylight,storedActive:n.get(et.active),storedPhoneRow:n.session.get(et.phoneRow)==="1",storedRepo:n.get(et.repo),storedVersion:n.get(et.version),storedRailOpen:Kf(et.rail)==="1",storedChatSide:Kf(et.chatSide)==="right"?"right":"left",storedBlackGround:Kf(et.blackGround)==="1",storedLayouts:iQ(Kf(et.layouts)),storedLastActive:aQ(n.get(et.lastActive)),storedDiscoveredOpen:Wf(n.get(et.discoveredOpen)),storedArchivedOpen:Wf(n.get(et.archivedOpen)),storedCommittedShut:Wf(n.get(et.committedShut)),storedTurnOpen:Wf(n.get(et.turnOpen)),storedTreeOpen:cQ(n.get(et.treeOpen)),clientId:t.clientId,frame:t.frame,touch:t.touch})),o=eQ(),s={version:null,protocol:null},a=s7(w=>r.dispatch({a:"server",msg:w}));let l,u,h;const f=rQ(r,t.snapshots??QC(),e.origin);let p=[];const g=new Sz(e,w=>{if(w.t==="hello"){if(s.protocol=w.protocol,e.serving){const{rebuilt:N,update:E}=r.getState(),T=N&&(E==null?void 0:E.restarting)!=null;if(s.version!==null&&(T||w.version!==s.version||w.protocol!==ja)){g.dispose(),t.reload();return}if(w.protocol!==ja){r.dispatch({a:"incompatible"}),g.dispose();return}}else if(w.protocol!==ja){r.dispatch({a:"incompatible"}),g.suspend();return}else r.getState().incompatible&&r.dispatch({a:"incompatible",v:!1});s.version=w.version;const x=new Set(g.sentWhileDown());if(x.size){const N=E=>Object.fromEntries(Object.entries(E).filter(([T])=>!x.has(T)));w.drafts=N(w.drafts),w.attachments=N(w.attachments)}p=MS(r,g,w),l.hello(w.drafts),u.hello(w.attachments)}if(w.t==="attachments"&&w.clientId!==r.getState().clientId&&u.heard(w.boxId,w.items),!(w.t==="draft"&&w.clientId!==r.getState().clientId&&!l.heard(w.boxId,w.text))){if(FD(w)){o.deliver(w);return}if(BD(w)){if(w.t==="file-written"&&vF(w))return;h.receive(w);return}if(w.t==="loose-written"){OZ(w);return}if(Y9(w)){eB(r,g,w);return}if(w.t==="open-refused"){J9(r,w);return}a(f.hear(w));for(const x of p.splice(0))r.dispatch({a:"notice",id:x,text:OS})}},(w,x)=>r.dispatch({a:"connected",v:w,failure:x}),{},{known:()=>o6(r.getState()),held:e.serving});SF(r,g.urls),h=new IZ({store:r,send:w=>g.send(w),timers:{set:(w,x)=>setTimeout(w,x),clear:w=>clearTimeout(w)},win:window});const y=h.start();l=dQ(r,g),u=fQ(r,g);const v=hQ(r,g);return{origin:e.origin,serving:e.serving,token:e.token,get name(){return r.getState().machine??sQ(e.origin)},store:r,sock:g,files:h,terminals:o,storage:n,heard:s,recalled:f.recalled,forget:()=>f.forget(),boot(w){try{if((w==null?void 0:w.t)==="hello"&&w.protocol===ja){s.version??(s.version=w.version);const x=MS(r,g,w);u.hello(w.attachments),r.dispatch({a:"server",msg:w});for(const N of x)r.dispatch({a:"notice",id:N,text:OS})}}finally{g.resume()}},since:w=>{var x;return(x=r.getState().local[w])!=null&&x.chat.length?f.since(w):void 0},dispose(){g.dispose(),y(),l.dispose(),u.dispose(),v(),f.dispose()}}}function Kf(e){try{return localStorage.getItem(e)}catch{return null}}window.__toyonShell=!0;const tI=tj();tI&&(document.documentElement.dataset.framed="");rz(location.origin);const nI=iY();HC(nI);function mQ(e,t){try{return e.getItem(t)}catch{return null}}function gQ(){const e=mQ(sessionStorage,et.client);if(e)return e;const t=Math.random().toString(36).slice(2,10);try{sessionStorage.setItem(et.client,t)}catch{}return t}const kQ={cached:nI,systemDark:cY(),daylight:uY(),clientId:gQ(),frame:Fy(),touch:_5(),reload:()=>window.location.reload(),snapshots:QC()},bs=gV({serving:{origin:location.origin,token:oN()},build:e=>pQ(e,kQ)});N5({dispatch:e=>bs.broadcast(e)});fY(e=>bs.broadcast({a:"system-dark",v:e}));const rI=e=>tI?()=>{}:JV(e);let LS=rI(bs.active().store),PS=bs.active();bs.subscribe(()=>{const e=bs.active();e!==PS&&(PS=e,LS(),e.store.getState().frame==="phone"&&e.store.dispatch({a:"screen",to:"home"}),LS=rI(e.store))});window.addEventListener("vite:preloadError",g8);const wQ=Promise.all([(window.toyonBoot??Promise.resolve(null)).then(e=>{const t=e;bs.active().boot(t&&typeof t=="object"&&t.t==="hello"?t:null)}),bs.active().recalled]).catch(e=>{console.error("boot",e)});function yQ(e){sN(e),window.location.reload()}const vQ=sR.createRoot(document.getElementById("root"));wQ.then(()=>{var e;Aw.flushSync(()=>vQ.render(d.jsx(eR.StrictMode,{children:d.jsx(By,{children:mh()?d.jsx(f6,{machines:bs,children:d.jsx(GX,{})}):d.jsx(VX,{origin:location.origin,machine:location.host,onToken:yQ})})}))),document.documentElement.style.removeProperty("background"),document.documentElement.style.removeProperty("--boot-ink"),(e=document.getElementById("boot"))==null||e.remove(),mh()&&JX(bs.active().store)});"serviceWorker"in navigator&&navigator.serviceWorker.register("/sw.js").catch(()=>{});export{Js as F,NT as S,ww as _,kr as a,Qw as b,NQ as c,ot as d,nS as e,jQ as f,SQ as g,q4 as h,Qu as i,d as j,EQ as k,XS as l,no as m,QS as n,Or as o,_Q as p,hR as q,S as r,D4 as s,bp as t,TQ as u,T9 as v,jx as w,Zy as x,xQ as y};
|