openfox 2.0.83 → 2.0.85
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/dist/{chat-handler-6KBOE4YA.js → chat-handler-3CWMOIOR.js} +15 -14
- package/dist/{chunk-3D3N2PXI.js → chunk-2KKFOVK7.js} +2 -2
- package/dist/{chunk-JKZPMRH2.js → chunk-3JYPDZT2.js} +2 -2
- package/dist/{chunk-JXTHW3YX.js → chunk-7PZBCATU.js} +18 -4
- package/dist/chunk-7WAOMWR3.js +7 -0
- package/dist/{chunk-IIRXKSB5.js → chunk-ACL4YUJH.js} +10 -2
- package/dist/{chunk-7ROIY3QN.js → chunk-DLJYYWM2.js} +169 -111
- package/dist/{chunk-D324ULDG.js → chunk-FTJ7U3VN.js} +20 -17
- package/dist/chunk-FYYPQ27K.js +399 -0
- package/dist/{chunk-KMGVUOLT.js → chunk-GLRTJJOB.js} +23 -20
- package/dist/{chunk-FVY2JOTO.js → chunk-H765CIHN.js} +2 -2
- package/dist/{chunk-AANVMTYU.js → chunk-L4S5N3WV.js} +8 -3
- package/dist/{chunk-VB23QPW3.js → chunk-M6X72DYZ.js} +3 -3
- package/dist/{chunk-SBSQD7MG.js → chunk-MTZ3PC6K.js} +2 -2
- package/dist/{chunk-NH2PVB6R.js → chunk-N54PQSCH.js} +33 -24
- package/dist/{chunk-A2IZ4PWQ.js → chunk-OHKBGMLO.js} +15 -4
- package/dist/{chunk-OBQN5ATP.js → chunk-RSO2HKNH.js} +98 -365
- package/dist/{chunk-WL6AOKRD.js → chunk-SGFQWQCE.js} +10 -8
- package/dist/{chunk-CNJ63FXJ.js → chunk-STFIEU5F.js} +3 -2
- package/dist/{chunk-BUXIESO5.js → chunk-V5LOH363.js} +6 -74
- package/dist/{chunk-5ZHVQOI3.js → chunk-W23S3TU5.js} +2 -2
- package/dist/{chunk-DQP5HSDS.js → chunk-WVMOGE7U.js} +3 -3
- package/dist/{chunk-HLZUN7OR.js → chunk-XXII6DS3.js} +7 -7
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-TA2VD4LR.js → client-C2P67MA4.js} +4 -4
- package/dist/{compactor-YKESKGHL.js → compactor-2YT66FDZ.js} +10 -8
- package/dist/{config-EN3WEH4A.js → config-JN6MW5SL.js} +2 -2
- package/dist/{events-GF2WNELM.js → events-OEDAFNEI.js} +7 -4
- package/dist/{folding-UACKBHUZ.js → folding-FGTCP73N.js} +7 -2
- package/dist/{http-client-QZY7W36Q.js → http-client-I52X7GQB.js} +3 -3
- package/dist/{manager-WOUOQVLV.js → manager-TD2UT62O.js} +4 -4
- package/dist/{orchestrator-BO62JYFM.js → orchestrator-6RYJYR3T.js} +14 -13
- package/dist/package.json +1 -1
- package/dist/{path-security-AWDNKRZ4.js → path-security-7ZNIG3ZE.js} +8 -5
- package/dist/{platform-7AK5MB4K.js → platform-OYKGQ7Z3.js} +3 -3
- package/dist/{processor-BLGEVOPK.js → processor-IGRFA3KA.js} +15 -14
- package/dist/{protocol-9WP7lLec.d.ts → protocol-5NJx1N4c.d.ts} +1 -1
- package/dist/provider/index.d.ts +4 -4
- package/dist/{provider-QVVJ6XNZ.js → provider-YNYYAR6C.js} +7 -7
- package/dist/{provider-manager-7246YSJT.js → provider-manager-3DW3A2VC.js} +5 -5
- package/dist/{serve-HXV2RX3Q.js → serve-LFC7D5B7.js} +21 -20
- package/dist/server/index.d.ts +4 -4
- package/dist/server/index.js +20 -19
- package/dist/{server-V4VA4A2E.js → server-E5IA4SK7.js} +16 -15
- package/dist/{sessions-SFG42M4W.js → sessions-V3BF2OTU.js} +5 -2
- package/dist/{settings-6TJIHDVX.js → settings-AGNYWEIE.js} +2 -2
- package/dist/shared/index.d.ts +3 -3
- package/dist/{tools-X4YLRR2Y.js → tools-ZUTPBREL.js} +13 -12
- package/dist/{types-ulRvCqQX.d.ts → types-B4wa_vGm.d.ts} +2 -0
- package/dist/{types-BtY5XChg.d.ts → types-CrLD4iRS.d.ts} +1 -1
- package/dist/{update-MFOCAROI.js → update-KDMUVXXI.js} +2 -2
- package/dist/web/assets/{index-DfmXvFVe.css → index-CsWZt1m8.css} +1 -1
- package/dist/web/assets/index-mJ_RQ-yF.js +305 -0
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/dist/{workspace-N2PIBOJV.js → workspace-MMV6V5P4.js} +4 -2
- package/package.json +1 -1
- package/dist/chunk-2X3V4SQC.js +0 -7
- package/dist/web/assets/index-C9jXZWzN.js +0 -305
|
@@ -1,305 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-DA-rfuFy.js","assets/html-pp8916En.js","assets/javascript-wDzz0qaB.js","assets/css-CLj8gQPS.js","assets/angular-ts-BrjP3tb8.js","assets/scss-D5BDwBP9.js","assets/apl-CORt7UWP.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/json-Cp-IABpG.js","assets/astro-HNnZUWAn.js","assets/typescript-BPQ3VLAy.js","assets/postcss-CXtECtnM.js","assets/tsx-COt5Ahok.js","assets/blade-2xfisSek.js","assets/html-derivative-DlHx6ybY.js","assets/sql-CRqJ_cUM.js","assets/bsl-BO_Y6i37.js","assets/sdbl-DVxCFoDh.js","assets/cairo-KRGpt6FW.js","assets/python-B6aJPvgy.js","assets/cobol-nBiQ_Alo.js","assets/coffee-Ch7k5sss.js","assets/cpp-UfJy6YNI.js","assets/regexp-CDVJQ6XC.js","assets/glsl-DplSGwfg.js","assets/c-BIGW1oBm.js","assets/crystal-DGywbUpC.js","assets/shellscript-Yzrsuije.js","assets/edge-FbVlp4U3.js","assets/elixir-CkH2-t6x.js","assets/elm-DbKCFpqz.js","assets/erb-Dm6A9KJ5.js","assets/ruby-DyJCeAvU.js","assets/haml-D5jkg6IW.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/lua-BaeVxFsk.js","assets/yaml-Buea-lGh.js","assets/erlang-DsQrWhSR.js","assets/markdown-Cvjx9yec.js","assets/fortran-fixed-form-CkoXwp7k.js","assets/fortran-free-form-BxgE0vQu.js","assets/fsharp-CXgrBDvD.js","assets/gdresource-BOOCDP_w.js","assets/gdshader-DkwncUOv.js","assets/gdscript-C5YyOfLZ.js","assets/git-commit-F4YmCXRG.js","assets/diff-D97Zzqfu.js","assets/git-rebase-r7XF79zn.js","assets/glimmer-js-ByusRIyA.js","assets/glimmer-ts-BfAWNZQY.js","assets/hack-DbPARsA_.js","assets/handlebars-BpdQsYii.js","assets/http-jrhK8wxY.js","assets/hurl-irOxFIW8.js","assets/csv-fuZLfV_i.js","assets/hxml-Bvhsp5Yf.js","assets/haxe-CzTSHFRz.js","assets/jinja-f2NsQr07.js","assets/jison-wvAkD_A8.js","assets/julia-D7OTSIA_.js","assets/r-Dspwwk_N.js","assets/just-CUsbIsdP.js","assets/perl-B9cMNwum.js","assets/latex-CaSxy8MP.js","assets/tex-idrVyKtj.js","assets/liquid-C0sCDyMI.js","assets/marko-DjSrsDqO.js","assets/less-B1dDrJ26.js","assets/mdc-DTYItulj.js","assets/nextflow-C-mBbutL.js","assets/nextflow-groovy-vE_lwT2v.js","assets/nginx-BpAMiNFr.js","assets/nim-BIad80T-.js","assets/php-Csjmro_R.js","assets/pug-DKIMFp6K.js","assets/qml-3beO22l8.js","assets/razor-BjBPvh-w.js","assets/csharp-DSvCPggb.js","assets/rst-CpCqk9r5.js","assets/cmake-D1j8_8rp.js","assets/sas-DEy46yEz.js","assets/shaderlab-Dg9Lc6iA.js","assets/hlsl-D3lLCCz7.js","assets/shellsession-BADoaaVG.js","assets/soy-8wufbnw4.js","assets/sparql-rVzFXLq3.js","assets/turtle-BsS91CYL.js","assets/stata-DI20mbqo.js","assets/surrealql-Bq5Q-fJD.js","assets/svelte-Cy7k_4gC.js","assets/templ-DhtptRzy.js","assets/go-C27-OAKa.js","assets/ts-tags-D351s5mN.js","assets/twig-CW1WmMYd.js","assets/vue-D2xRrEX4.js","assets/vue-html-AaS7Mt5G.js","assets/vue-vine-BoDAl6tE.js","assets/stylus-BEDo0Tqx.js","assets/xsl-CtQFsRM5.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var i2=Object.defineProperty;var a2=Object.getPrototypeOf;var o2=Reflect.get;var Dv=e=>{throw TypeError(e)};var l2=(e,t,n)=>t in e?i2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var ve=(e,t,n)=>l2(e,typeof t!="symbol"?t+"":t,n),Wf=(e,t,n)=>t.has(e)||Dv("Cannot "+n);var Mn=(e,t,n)=>(Wf(e,t,"read from private field"),n?n.call(e):t.get(e)),ji=(e,t,n)=>t.has(e)?Dv("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Nr=(e,t,n,r)=>(Wf(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),qf=(e,t,n)=>(Wf(e,t,"access private method"),n);var Rv=(e,t,n)=>o2(a2(e),n,t);function c2(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const a in r)if(a!=="default"&&!(a in e)){const l=Object.getOwnPropertyDescriptor(r,a);l&&Object.defineProperty(e,a,l.get?l:{enumerable:!0,get:()=>r[a]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))r(a);new MutationObserver(a=>{for(const l of a)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function n(a){const l={};return a.integrity&&(l.integrity=a.integrity),a.referrerPolicy&&(l.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?l.credentials="include":a.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(a){if(a.ep)return;a.ep=!0;const l=n(a);fetch(a.href,l)}})();function sd(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Kf={exports:{}},el={};/**
|
|
3
|
-
* @license React
|
|
4
|
-
* react-jsx-runtime.production.js
|
|
5
|
-
*
|
|
6
|
-
* Copyright (c) Meta Platforms, Inc. and 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 Ov;function u2(){if(Ov)return el;Ov=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,a,l){var u=null;if(l!==void 0&&(u=""+l),a.key!==void 0&&(u=""+a.key),"key"in a){l={};for(var c in a)c!=="key"&&(l[c]=a[c])}else l=a;return a=l.ref,{$$typeof:e,type:r,key:u,ref:a!==void 0?a:null,props:l}}return el.Fragment=t,el.jsx=n,el.jsxs=n,el}var Iv;function d2(){return Iv||(Iv=1,Kf.exports=u2()),Kf.exports}var i=d2(),Yf={exports:{}},rt={};/**
|
|
11
|
-
* @license React
|
|
12
|
-
* react.production.js
|
|
13
|
-
*
|
|
14
|
-
* Copyright (c) Meta Platforms, Inc. and 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 Mv;function h2(){if(Mv)return rt;Mv=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),u=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),m=Symbol.for("react.activity"),x=Symbol.iterator;function y(B){return B===null||typeof B!="object"?null:(B=x&&B[x]||B["@@iterator"],typeof B=="function"?B:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,_={};function S(B,K,P){this.props=B,this.context=K,this.refs=_,this.updater=P||w}S.prototype.isReactComponent={},S.prototype.setState=function(B,K){if(typeof B!="object"&&typeof B!="function"&&B!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,B,K,"setState")},S.prototype.forceUpdate=function(B){this.updater.enqueueForceUpdate(this,B,"forceUpdate")};function v(){}v.prototype=S.prototype;function b(B,K,P){this.props=B,this.context=K,this.refs=_,this.updater=P||w}var E=b.prototype=new v;E.constructor=b,C(E,S.prototype),E.isPureReactComponent=!0;var j=Array.isArray;function T(){}var D={H:null,A:null,T:null,S:null},L=Object.prototype.hasOwnProperty;function R(B,K,P){var ee=P.ref;return{$$typeof:e,type:B,key:K,ref:ee!==void 0?ee:null,props:P}}function M(B,K){return R(B.type,K,B.props)}function V(B){return typeof B=="object"&&B!==null&&B.$$typeof===e}function U(B){var K={"=":"=0",":":"=2"};return"$"+B.replace(/[=:]/g,function(P){return K[P]})}var O=/\/+/g;function H(B,K){return typeof B=="object"&&B!==null&&B.key!=null?U(""+B.key):K.toString(36)}function F(B){switch(B.status){case"fulfilled":return B.value;case"rejected":throw B.reason;default:switch(typeof B.status=="string"?B.then(T,T):(B.status="pending",B.then(function(K){B.status==="pending"&&(B.status="fulfilled",B.value=K)},function(K){B.status==="pending"&&(B.status="rejected",B.reason=K)})),B.status){case"fulfilled":return B.value;case"rejected":throw B.reason}}throw B}function G(B,K,P,ee,Q){var te=typeof B;(te==="undefined"||te==="boolean")&&(B=null);var Y=!1;if(B===null)Y=!0;else switch(te){case"bigint":case"string":case"number":Y=!0;break;case"object":switch(B.$$typeof){case e:case t:Y=!0;break;case p:return Y=B._init,G(Y(B._payload),K,P,ee,Q)}}if(Y)return Q=Q(B),Y=ee===""?"."+H(B,0):ee,j(Q)?(P="",Y!=null&&(P=Y.replace(O,"$&/")+"/"),G(Q,K,P,"",function(se){return se})):Q!=null&&(V(Q)&&(Q=M(Q,P+(Q.key==null||B&&B.key===Q.key?"":(""+Q.key).replace(O,"$&/")+"/")+Y)),K.push(Q)),1;Y=0;var W=ee===""?".":ee+":";if(j(B))for(var ne=0;ne<B.length;ne++)ee=B[ne],te=W+H(ee,ne),Y+=G(ee,K,P,te,Q);else if(ne=y(B),typeof ne=="function")for(B=ne.call(B),ne=0;!(ee=B.next()).done;)ee=ee.value,te=W+H(ee,ne++),Y+=G(ee,K,P,te,Q);else if(te==="object"){if(typeof B.then=="function")return G(F(B),K,P,ee,Q);throw K=String(B),Error("Objects are not valid as a React child (found: "+(K==="[object Object]"?"object with keys {"+Object.keys(B).join(", ")+"}":K)+"). If you meant to render a collection of children, use an array instead.")}return Y}function Z(B,K,P){if(B==null)return B;var ee=[],Q=0;return G(B,ee,"","",function(te){return K.call(P,te,Q++)}),ee}function q(B){if(B._status===-1){var K=B._result;K=K(),K.then(function(P){(B._status===0||B._status===-1)&&(B._status=1,B._result=P)},function(P){(B._status===0||B._status===-1)&&(B._status=2,B._result=P)}),B._status===-1&&(B._status=0,B._result=K)}if(B._status===1)return B._result.default;throw B._result}var z=typeof reportError=="function"?reportError:function(B){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var K=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof B=="object"&&B!==null&&typeof B.message=="string"?String(B.message):String(B),error:B});if(!window.dispatchEvent(K))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",B);return}console.error(B)},I={map:Z,forEach:function(B,K,P){Z(B,function(){K.apply(this,arguments)},P)},count:function(B){var K=0;return Z(B,function(){K++}),K},toArray:function(B){return Z(B,function(K){return K})||[]},only:function(B){if(!V(B))throw Error("React.Children.only expected to receive a single React element child.");return B}};return rt.Activity=m,rt.Children=I,rt.Component=S,rt.Fragment=n,rt.Profiler=a,rt.PureComponent=b,rt.StrictMode=r,rt.Suspense=d,rt.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=D,rt.__COMPILER_RUNTIME={__proto__:null,c:function(B){return D.H.useMemoCache(B)}},rt.cache=function(B){return function(){return B.apply(null,arguments)}},rt.cacheSignal=function(){return null},rt.cloneElement=function(B,K,P){if(B==null)throw Error("The argument must be a React element, but you passed "+B+".");var ee=C({},B.props),Q=B.key;if(K!=null)for(te in K.key!==void 0&&(Q=""+K.key),K)!L.call(K,te)||te==="key"||te==="__self"||te==="__source"||te==="ref"&&K.ref===void 0||(ee[te]=K[te]);var te=arguments.length-2;if(te===1)ee.children=P;else if(1<te){for(var Y=Array(te),W=0;W<te;W++)Y[W]=arguments[W+2];ee.children=Y}return R(B.type,Q,ee)},rt.createContext=function(B){return B={$$typeof:u,_currentValue:B,_currentValue2:B,_threadCount:0,Provider:null,Consumer:null},B.Provider=B,B.Consumer={$$typeof:l,_context:B},B},rt.createElement=function(B,K,P){var ee,Q={},te=null;if(K!=null)for(ee in K.key!==void 0&&(te=""+K.key),K)L.call(K,ee)&&ee!=="key"&&ee!=="__self"&&ee!=="__source"&&(Q[ee]=K[ee]);var Y=arguments.length-2;if(Y===1)Q.children=P;else if(1<Y){for(var W=Array(Y),ne=0;ne<Y;ne++)W[ne]=arguments[ne+2];Q.children=W}if(B&&B.defaultProps)for(ee in Y=B.defaultProps,Y)Q[ee]===void 0&&(Q[ee]=Y[ee]);return R(B,te,Q)},rt.createRef=function(){return{current:null}},rt.forwardRef=function(B){return{$$typeof:c,render:B}},rt.isValidElement=V,rt.lazy=function(B){return{$$typeof:p,_payload:{_status:-1,_result:B},_init:q}},rt.memo=function(B,K){return{$$typeof:f,type:B,compare:K===void 0?null:K}},rt.startTransition=function(B){var K=D.T,P={};D.T=P;try{var ee=B(),Q=D.S;Q!==null&&Q(P,ee),typeof ee=="object"&&ee!==null&&typeof ee.then=="function"&&ee.then(T,z)}catch(te){z(te)}finally{K!==null&&P.types!==null&&(K.types=P.types),D.T=K}},rt.unstable_useCacheRefresh=function(){return D.H.useCacheRefresh()},rt.use=function(B){return D.H.use(B)},rt.useActionState=function(B,K,P){return D.H.useActionState(B,K,P)},rt.useCallback=function(B,K){return D.H.useCallback(B,K)},rt.useContext=function(B){return D.H.useContext(B)},rt.useDebugValue=function(){},rt.useDeferredValue=function(B,K){return D.H.useDeferredValue(B,K)},rt.useEffect=function(B,K){return D.H.useEffect(B,K)},rt.useEffectEvent=function(B){return D.H.useEffectEvent(B)},rt.useId=function(){return D.H.useId()},rt.useImperativeHandle=function(B,K,P){return D.H.useImperativeHandle(B,K,P)},rt.useInsertionEffect=function(B,K){return D.H.useInsertionEffect(B,K)},rt.useLayoutEffect=function(B,K){return D.H.useLayoutEffect(B,K)},rt.useMemo=function(B,K){return D.H.useMemo(B,K)},rt.useOptimistic=function(B,K){return D.H.useOptimistic(B,K)},rt.useReducer=function(B,K,P){return D.H.useReducer(B,K,P)},rt.useRef=function(B){return D.H.useRef(B)},rt.useState=function(B){return D.H.useState(B)},rt.useSyncExternalStore=function(B,K,P){return D.H.useSyncExternalStore(B,K,P)},rt.useTransition=function(){return D.H.useTransition()},rt.version="19.2.4",rt}var Pv;function id(){return Pv||(Pv=1,Yf.exports=h2()),Yf.exports}var A=id();const ti=sd(A),f2=c2({__proto__:null,default:ti},[A]);var Xf={exports:{}},tl={},Qf={exports:{}},Jf={};/**
|
|
19
|
-
* @license React
|
|
20
|
-
* scheduler.production.js
|
|
21
|
-
*
|
|
22
|
-
* Copyright (c) Meta Platforms, Inc. and 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 Bv;function m2(){return Bv||(Bv=1,(function(e){function t(G,Z){var q=G.length;G.push(Z);e:for(;0<q;){var z=q-1>>>1,I=G[z];if(0<a(I,Z))G[z]=Z,G[q]=I,q=z;else break e}}function n(G){return G.length===0?null:G[0]}function r(G){if(G.length===0)return null;var Z=G[0],q=G.pop();if(q!==Z){G[0]=q;e:for(var z=0,I=G.length,B=I>>>1;z<B;){var K=2*(z+1)-1,P=G[K],ee=K+1,Q=G[ee];if(0>a(P,q))ee<I&&0>a(Q,P)?(G[z]=Q,G[ee]=q,z=ee):(G[z]=P,G[K]=q,z=K);else if(ee<I&&0>a(Q,q))G[z]=Q,G[ee]=q,z=ee;else break e}}return Z}function a(G,Z){var q=G.sortIndex-Z.sortIndex;return q!==0?q:G.id-Z.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,c=u.now();e.unstable_now=function(){return u.now()-c}}var d=[],f=[],p=1,m=null,x=3,y=!1,w=!1,C=!1,_=!1,S=typeof setTimeout=="function"?setTimeout:null,v=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;function E(G){for(var Z=n(f);Z!==null;){if(Z.callback===null)r(f);else if(Z.startTime<=G)r(f),Z.sortIndex=Z.expirationTime,t(d,Z);else break;Z=n(f)}}function j(G){if(C=!1,E(G),!w)if(n(d)!==null)w=!0,T||(T=!0,U());else{var Z=n(f);Z!==null&&F(j,Z.startTime-G)}}var T=!1,D=-1,L=5,R=-1;function M(){return _?!0:!(e.unstable_now()-R<L)}function V(){if(_=!1,T){var G=e.unstable_now();R=G;var Z=!0;try{e:{w=!1,C&&(C=!1,v(D),D=-1),y=!0;var q=x;try{t:{for(E(G),m=n(d);m!==null&&!(m.expirationTime>G&&M());){var z=m.callback;if(typeof z=="function"){m.callback=null,x=m.priorityLevel;var I=z(m.expirationTime<=G);if(G=e.unstable_now(),typeof I=="function"){m.callback=I,E(G),Z=!0;break t}m===n(d)&&r(d),E(G)}else r(d);m=n(d)}if(m!==null)Z=!0;else{var B=n(f);B!==null&&F(j,B.startTime-G),Z=!1}}break e}finally{m=null,x=q,y=!1}Z=void 0}}finally{Z?U():T=!1}}}var U;if(typeof b=="function")U=function(){b(V)};else if(typeof MessageChannel<"u"){var O=new MessageChannel,H=O.port2;O.port1.onmessage=V,U=function(){H.postMessage(null)}}else U=function(){S(V,0)};function F(G,Z){D=S(function(){G(e.unstable_now())},Z)}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(G){G.callback=null},e.unstable_forceFrameRate=function(G){0>G||125<G?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):L=0<G?Math.floor(1e3/G):5},e.unstable_getCurrentPriorityLevel=function(){return x},e.unstable_next=function(G){switch(x){case 1:case 2:case 3:var Z=3;break;default:Z=x}var q=x;x=Z;try{return G()}finally{x=q}},e.unstable_requestPaint=function(){_=!0},e.unstable_runWithPriority=function(G,Z){switch(G){case 1:case 2:case 3:case 4:case 5:break;default:G=3}var q=x;x=G;try{return Z()}finally{x=q}},e.unstable_scheduleCallback=function(G,Z,q){var z=e.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?z+q:z):q=z,G){case 1:var I=-1;break;case 2:I=250;break;case 5:I=1073741823;break;case 4:I=1e4;break;default:I=5e3}return I=q+I,G={id:p++,callback:Z,priorityLevel:G,startTime:q,expirationTime:I,sortIndex:-1},q>z?(G.sortIndex=q,t(f,G),n(d)===null&&G===n(f)&&(C?(v(D),D=-1):C=!0,F(j,q-z))):(G.sortIndex=I,t(d,G),w||y||(w=!0,T||(T=!0,U()))),G},e.unstable_shouldYield=M,e.unstable_wrapCallback=function(G){var Z=x;return function(){var q=x;x=Z;try{return G.apply(this,arguments)}finally{x=q}}}})(Jf)),Jf}var $v;function p2(){return $v||($v=1,Qf.exports=m2()),Qf.exports}var Zf={exports:{}},An={};/**
|
|
27
|
-
* @license React
|
|
28
|
-
* react-dom.production.js
|
|
29
|
-
*
|
|
30
|
-
* Copyright (c) Meta Platforms, Inc. and 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 zv;function g2(){if(zv)return An;zv=1;var e=id();function t(d){var f="https://react.dev/errors/"+d;if(1<arguments.length){f+="?args[]="+encodeURIComponent(arguments[1]);for(var p=2;p<arguments.length;p++)f+="&args[]="+encodeURIComponent(arguments[p])}return"Minified React error #"+d+"; visit "+f+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},a=Symbol.for("react.portal");function l(d,f,p){var m=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:m==null?null:""+m,children:d,containerInfo:f,implementation:p}}var u=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(d,f){if(d==="font")return"";if(typeof f=="string")return f==="use-credentials"?f:""}return An.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,An.createPortal=function(d,f){var p=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!f||f.nodeType!==1&&f.nodeType!==9&&f.nodeType!==11)throw Error(t(299));return l(d,f,null,p)},An.flushSync=function(d){var f=u.T,p=r.p;try{if(u.T=null,r.p=2,d)return d()}finally{u.T=f,r.p=p,r.d.f()}},An.preconnect=function(d,f){typeof d=="string"&&(f?(f=f.crossOrigin,f=typeof f=="string"?f==="use-credentials"?f:"":void 0):f=null,r.d.C(d,f))},An.prefetchDNS=function(d){typeof d=="string"&&r.d.D(d)},An.preinit=function(d,f){if(typeof d=="string"&&f&&typeof f.as=="string"){var p=f.as,m=c(p,f.crossOrigin),x=typeof f.integrity=="string"?f.integrity:void 0,y=typeof f.fetchPriority=="string"?f.fetchPriority:void 0;p==="style"?r.d.S(d,typeof f.precedence=="string"?f.precedence:void 0,{crossOrigin:m,integrity:x,fetchPriority:y}):p==="script"&&r.d.X(d,{crossOrigin:m,integrity:x,fetchPriority:y,nonce:typeof f.nonce=="string"?f.nonce:void 0})}},An.preinitModule=function(d,f){if(typeof d=="string")if(typeof f=="object"&&f!==null){if(f.as==null||f.as==="script"){var p=c(f.as,f.crossOrigin);r.d.M(d,{crossOrigin:p,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0})}}else f==null&&r.d.M(d)},An.preload=function(d,f){if(typeof d=="string"&&typeof f=="object"&&f!==null&&typeof f.as=="string"){var p=f.as,m=c(p,f.crossOrigin);r.d.L(d,p,{crossOrigin:m,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0,type:typeof f.type=="string"?f.type:void 0,fetchPriority:typeof f.fetchPriority=="string"?f.fetchPriority:void 0,referrerPolicy:typeof f.referrerPolicy=="string"?f.referrerPolicy:void 0,imageSrcSet:typeof f.imageSrcSet=="string"?f.imageSrcSet:void 0,imageSizes:typeof f.imageSizes=="string"?f.imageSizes:void 0,media:typeof f.media=="string"?f.media:void 0})}},An.preloadModule=function(d,f){if(typeof d=="string")if(f){var p=c(f.as,f.crossOrigin);r.d.m(d,{as:typeof f.as=="string"&&f.as!=="script"?f.as:void 0,crossOrigin:p,integrity:typeof f.integrity=="string"?f.integrity:void 0})}else r.d.m(d)},An.requestFormReset=function(d){r.d.r(d)},An.unstable_batchedUpdates=function(d,f){return d(f)},An.useFormState=function(d,f,p){return u.H.useFormState(d,f,p)},An.useFormStatus=function(){return u.H.useHostTransitionStatus()},An.version="19.2.4",An}var Hv;function HS(){if(Hv)return Zf.exports;Hv=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(),Zf.exports=g2(),Zf.exports}/**
|
|
35
|
-
* @license React
|
|
36
|
-
* react-dom-client.production.js
|
|
37
|
-
*
|
|
38
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
39
|
-
*
|
|
40
|
-
* This source code is licensed under the MIT license found in the
|
|
41
|
-
* LICENSE file in the root directory of this source tree.
|
|
42
|
-
*/var Uv;function x2(){if(Uv)return tl;Uv=1;var e=p2(),t=id(),n=HS();function r(s){var o="https://react.dev/errors/"+s;if(1<arguments.length){o+="?args[]="+encodeURIComponent(arguments[1]);for(var h=2;h<arguments.length;h++)o+="&args[]="+encodeURIComponent(arguments[h])}return"Minified React error #"+s+"; visit "+o+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(s){return!(!s||s.nodeType!==1&&s.nodeType!==9&&s.nodeType!==11)}function l(s){var o=s,h=s;if(s.alternate)for(;o.return;)o=o.return;else{s=o;do o=s,(o.flags&4098)!==0&&(h=o.return),s=o.return;while(s)}return o.tag===3?h:null}function u(s){if(s.tag===13){var o=s.memoizedState;if(o===null&&(s=s.alternate,s!==null&&(o=s.memoizedState)),o!==null)return o.dehydrated}return null}function c(s){if(s.tag===31){var o=s.memoizedState;if(o===null&&(s=s.alternate,s!==null&&(o=s.memoizedState)),o!==null)return o.dehydrated}return null}function d(s){if(l(s)!==s)throw Error(r(188))}function f(s){var o=s.alternate;if(!o){if(o=l(s),o===null)throw Error(r(188));return o!==s?null:s}for(var h=s,g=o;;){var k=h.return;if(k===null)break;var N=k.alternate;if(N===null){if(g=k.return,g!==null){h=g;continue}break}if(k.child===N.child){for(N=k.child;N;){if(N===h)return d(k),s;if(N===g)return d(k),o;N=N.sibling}throw Error(r(188))}if(h.return!==g.return)h=k,g=N;else{for(var $=!1,X=k.child;X;){if(X===h){$=!0,h=k,g=N;break}if(X===g){$=!0,g=k,h=N;break}X=X.sibling}if(!$){for(X=N.child;X;){if(X===h){$=!0,h=N,g=k;break}if(X===g){$=!0,g=N,h=k;break}X=X.sibling}if(!$)throw Error(r(189))}}if(h.alternate!==g)throw Error(r(190))}if(h.tag!==3)throw Error(r(188));return h.stateNode.current===h?s:o}function p(s){var o=s.tag;if(o===5||o===26||o===27||o===6)return s;for(s=s.child;s!==null;){if(o=p(s),o!==null)return o;s=s.sibling}return null}var m=Object.assign,x=Symbol.for("react.element"),y=Symbol.for("react.transitional.element"),w=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),S=Symbol.for("react.profiler"),v=Symbol.for("react.consumer"),b=Symbol.for("react.context"),E=Symbol.for("react.forward_ref"),j=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),D=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),R=Symbol.for("react.activity"),M=Symbol.for("react.memo_cache_sentinel"),V=Symbol.iterator;function U(s){return s===null||typeof s!="object"?null:(s=V&&s[V]||s["@@iterator"],typeof s=="function"?s:null)}var O=Symbol.for("react.client.reference");function H(s){if(s==null)return null;if(typeof s=="function")return s.$$typeof===O?null:s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case C:return"Fragment";case S:return"Profiler";case _:return"StrictMode";case j:return"Suspense";case T:return"SuspenseList";case R:return"Activity"}if(typeof s=="object")switch(s.$$typeof){case w:return"Portal";case b:return s.displayName||"Context";case v:return(s._context.displayName||"Context")+".Consumer";case E:var o=s.render;return s=s.displayName,s||(s=o.displayName||o.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case D:return o=s.displayName||null,o!==null?o:H(s.type)||"Memo";case L:o=s._payload,s=s._init;try{return H(s(o))}catch{}}return null}var F=Array.isArray,G=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Z=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q={pending:!1,data:null,method:null,action:null},z=[],I=-1;function B(s){return{current:s}}function K(s){0>I||(s.current=z[I],z[I]=null,I--)}function P(s,o){I++,z[I]=s.current,s.current=o}var ee=B(null),Q=B(null),te=B(null),Y=B(null);function W(s,o){switch(P(te,o),P(Q,s),P(ee,null),o.nodeType){case 9:case 11:s=(s=o.documentElement)&&(s=s.namespaceURI)?tv(s):0;break;default:if(s=o.tagName,o=o.namespaceURI)o=tv(o),s=nv(o,s);else switch(s){case"svg":s=1;break;case"math":s=2;break;default:s=0}}K(ee),P(ee,s)}function ne(){K(ee),K(Q),K(te)}function se(s){s.memoizedState!==null&&P(Y,s);var o=ee.current,h=nv(o,s.type);o!==h&&(P(Q,s),P(ee,h))}function pe(s){Q.current===s&&(K(ee),K(Q)),Y.current===s&&(K(Y),Xo._currentValue=q)}var ge,ke;function Be(s){if(ge===void 0)try{throw Error()}catch(h){var o=h.stack.trim().match(/\n( *(at )?)/);ge=o&&o[1]||"",ke=-1<h.stack.indexOf(`
|
|
43
|
-
at`)?" (<anonymous>)":-1<h.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
44
|
-
`+ge+s+ke}var Me=!1;function $e(s,o){if(!s||Me)return"";Me=!0;var h=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var g={DetermineComponentFrameRoot:function(){try{if(o){var Ae=function(){throw Error()};if(Object.defineProperty(Ae.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Ae,[])}catch(ye){var me=ye}Reflect.construct(s,[],Ae)}else{try{Ae.call()}catch(ye){me=ye}s.call(Ae.prototype)}}else{try{throw Error()}catch(ye){me=ye}(Ae=s())&&typeof Ae.catch=="function"&&Ae.catch(function(){})}}catch(ye){if(ye&&me&&typeof ye.stack=="string")return[ye.stack,me.stack]}return[null,null]}};g.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var k=Object.getOwnPropertyDescriptor(g.DetermineComponentFrameRoot,"name");k&&k.configurable&&Object.defineProperty(g.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var N=g.DetermineComponentFrameRoot(),$=N[0],X=N[1];if($&&X){var ie=$.split(`
|
|
45
|
-
`),fe=X.split(`
|
|
46
|
-
`);for(k=g=0;g<ie.length&&!ie[g].includes("DetermineComponentFrameRoot");)g++;for(;k<fe.length&&!fe[k].includes("DetermineComponentFrameRoot");)k++;if(g===ie.length||k===fe.length)for(g=ie.length-1,k=fe.length-1;1<=g&&0<=k&&ie[g]!==fe[k];)k--;for(;1<=g&&0<=k;g--,k--)if(ie[g]!==fe[k]){if(g!==1||k!==1)do if(g--,k--,0>k||ie[g]!==fe[k]){var Ce=`
|
|
47
|
-
`+ie[g].replace(" at new "," at ");return s.displayName&&Ce.includes("<anonymous>")&&(Ce=Ce.replace("<anonymous>",s.displayName)),Ce}while(1<=g&&0<=k);break}}}finally{Me=!1,Error.prepareStackTrace=h}return(h=s?s.displayName||s.name:"")?Be(h):""}function je(s,o){switch(s.tag){case 26:case 27:case 5:return Be(s.type);case 16:return Be("Lazy");case 13:return s.child!==o&&o!==null?Be("Suspense Fallback"):Be("Suspense");case 19:return Be("SuspenseList");case 0:case 15:return $e(s.type,!1);case 11:return $e(s.type.render,!1);case 1:return $e(s.type,!0);case 31:return Be("Activity");default:return""}}function nt(s){try{var o="",h=null;do o+=je(s,h),h=s,s=s.return;while(s);return o}catch(g){return`
|
|
48
|
-
Error generating stack: `+g.message+`
|
|
49
|
-
`+g.stack}}var Ee=Object.prototype.hasOwnProperty,ce=e.unstable_scheduleCallback,oe=e.unstable_cancelCallback,De=e.unstable_shouldYield,Ze=e.unstable_requestPaint,Ye=e.unstable_now,yt=e.unstable_getCurrentPriorityLevel,re=e.unstable_ImmediatePriority,xe=e.unstable_UserBlockingPriority,we=e.unstable_NormalPriority,ze=e.unstable_LowPriority,Ke=e.unstable_IdlePriority,Ge=e.log,tt=e.unstable_setDisableYieldValue,vt=null,Ot=null;function Wt(s){if(typeof Ge=="function"&&tt(s),Ot&&typeof Ot.setStrictMode=="function")try{Ot.setStrictMode(vt,s)}catch{}}var ut=Math.clz32?Math.clz32:Jt,Cn=Math.log,jt=Math.LN2;function Jt(s){return s>>>=0,s===0?32:31-(Cn(s)/jt|0)|0}var Ir=256,be=262144,Ue=4194304;function ae(s){var o=s&42;if(o!==0)return o;switch(s&-s){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return s&261888;case 262144:case 524288:case 1048576:case 2097152:return s&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return s&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return s}}function de(s,o,h){var g=s.pendingLanes;if(g===0)return 0;var k=0,N=s.suspendedLanes,$=s.pingedLanes;s=s.warmLanes;var X=g&134217727;return X!==0?(g=X&~N,g!==0?k=ae(g):($&=X,$!==0?k=ae($):h||(h=X&~s,h!==0&&(k=ae(h))))):(X=g&~N,X!==0?k=ae(X):$!==0?k=ae($):h||(h=g&~s,h!==0&&(k=ae(h)))),k===0?0:o!==0&&o!==k&&(o&N)===0&&(N=k&-k,h=o&-o,N>=h||N===32&&(h&4194048)!==0)?o:k}function Pe(s,o){return(s.pendingLanes&~(s.suspendedLanes&~s.pingedLanes)&o)===0}function mt(s,o){switch(s){case 1:case 2:case 4:case 8:case 64:return o+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return o+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function bn(){var s=Ue;return Ue<<=1,(Ue&62914560)===0&&(Ue=4194304),s}function rn(s){for(var o=[],h=0;31>h;h++)o.push(s);return o}function Se(s,o){s.pendingLanes|=o,o!==268435456&&(s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0)}function Te(s,o,h,g,k,N){var $=s.pendingLanes;s.pendingLanes=h,s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0,s.expiredLanes&=h,s.entangledLanes&=h,s.errorRecoveryDisabledLanes&=h,s.shellSuspendCounter=0;var X=s.entanglements,ie=s.expirationTimes,fe=s.hiddenUpdates;for(h=$&~h;0<h;){var Ce=31-ut(h),Ae=1<<Ce;X[Ce]=0,ie[Ce]=-1;var me=fe[Ce];if(me!==null)for(fe[Ce]=null,Ce=0;Ce<me.length;Ce++){var ye=me[Ce];ye!==null&&(ye.lane&=-536870913)}h&=~Ae}g!==0&&He(s,g,0),N!==0&&k===0&&s.tag!==0&&(s.suspendedLanes|=N&~($&~o))}function He(s,o,h){s.pendingLanes|=o,s.suspendedLanes&=~o;var g=31-ut(o);s.entangledLanes|=o,s.entanglements[g]=s.entanglements[g]|1073741824|h&261930}function We(s,o){var h=s.entangledLanes|=o;for(s=s.entanglements;h;){var g=31-ut(h),k=1<<g;k&o|s[g]&o&&(s[g]|=o),h&=~k}}function at(s,o){var h=o&-o;return h=(h&42)!==0?1:et(h),(h&(s.suspendedLanes|o))!==0?0:h}function et(s){switch(s){case 2:s=1;break;case 8:s=4;break;case 32:s=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:s=128;break;case 268435456:s=134217728;break;default:s=0}return s}function pt(s){return s&=-s,2<s?8<s?(s&134217727)!==0?32:268435456:8:2}function sn(){var s=Z.p;return s!==0?s:(s=window.event,s===void 0?32:kv(s.type))}function Zt(s,o){var h=Z.p;try{return Z.p=s,o()}finally{Z.p=h}}var Vt=Math.random().toString(36).slice(2),an="__reactFiber$"+Vt,zn="__reactProps$"+Vt,Ki="__reactContainer$"+Vt,Md="__reactEvents$"+Vt,Kk="__reactListeners$"+Vt,Yk="__reactHandles$"+Vt,Ug="__reactResources$"+Vt,uo="__reactMarker$"+Vt;function Pd(s){delete s[an],delete s[zn],delete s[Md],delete s[Kk],delete s[Yk]}function Yi(s){var o=s[an];if(o)return o;for(var h=s.parentNode;h;){if(o=h[Ki]||h[an]){if(h=o.alternate,o.child!==null||h!==null&&h.child!==null)for(s=cv(s);s!==null;){if(h=s[an])return h;s=cv(s)}return o}s=h,h=s.parentNode}return null}function Xi(s){if(s=s[an]||s[Ki]){var o=s.tag;if(o===5||o===6||o===13||o===31||o===26||o===27||o===3)return s}return null}function ho(s){var o=s.tag;if(o===5||o===26||o===27||o===6)return s.stateNode;throw Error(r(33))}function Qi(s){var o=s[Ug];return o||(o=s[Ug]={hoistableStyles:new Map,hoistableScripts:new Map}),o}function vn(s){s[uo]=!0}var Fg=new Set,Vg={};function ui(s,o){Ji(s,o),Ji(s+"Capture",o)}function Ji(s,o){for(Vg[s]=o,s=0;s<o.length;s++)Fg.add(o[s])}var Xk=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Gg={},Wg={};function Qk(s){return Ee.call(Wg,s)?!0:Ee.call(Gg,s)?!1:Xk.test(s)?Wg[s]=!0:(Gg[s]=!0,!1)}function ql(s,o,h){if(Qk(o))if(h===null)s.removeAttribute(o);else{switch(typeof h){case"undefined":case"function":case"symbol":s.removeAttribute(o);return;case"boolean":var g=o.toLowerCase().slice(0,5);if(g!=="data-"&&g!=="aria-"){s.removeAttribute(o);return}}s.setAttribute(o,""+h)}}function Kl(s,o,h){if(h===null)s.removeAttribute(o);else{switch(typeof h){case"undefined":case"function":case"symbol":case"boolean":s.removeAttribute(o);return}s.setAttribute(o,""+h)}}function Yr(s,o,h,g){if(g===null)s.removeAttribute(h);else{switch(typeof g){case"undefined":case"function":case"symbol":case"boolean":s.removeAttribute(h);return}s.setAttributeNS(o,h,""+g)}}function cr(s){switch(typeof s){case"bigint":case"boolean":case"number":case"string":case"undefined":return s;case"object":return s;default:return""}}function qg(s){var o=s.type;return(s=s.nodeName)&&s.toLowerCase()==="input"&&(o==="checkbox"||o==="radio")}function Jk(s,o,h){var g=Object.getOwnPropertyDescriptor(s.constructor.prototype,o);if(!s.hasOwnProperty(o)&&typeof g<"u"&&typeof g.get=="function"&&typeof g.set=="function"){var k=g.get,N=g.set;return Object.defineProperty(s,o,{configurable:!0,get:function(){return k.call(this)},set:function($){h=""+$,N.call(this,$)}}),Object.defineProperty(s,o,{enumerable:g.enumerable}),{getValue:function(){return h},setValue:function($){h=""+$},stopTracking:function(){s._valueTracker=null,delete s[o]}}}}function Bd(s){if(!s._valueTracker){var o=qg(s)?"checked":"value";s._valueTracker=Jk(s,o,""+s[o])}}function Kg(s){if(!s)return!1;var o=s._valueTracker;if(!o)return!0;var h=o.getValue(),g="";return s&&(g=qg(s)?s.checked?"true":"false":s.value),s=g,s!==h?(o.setValue(s),!0):!1}function Yl(s){if(s=s||(typeof document<"u"?document:void 0),typeof s>"u")return null;try{return s.activeElement||s.body}catch{return s.body}}var Zk=/[\n"\\]/g;function ur(s){return s.replace(Zk,function(o){return"\\"+o.charCodeAt(0).toString(16)+" "})}function $d(s,o,h,g,k,N,$,X){s.name="",$!=null&&typeof $!="function"&&typeof $!="symbol"&&typeof $!="boolean"?s.type=$:s.removeAttribute("type"),o!=null?$==="number"?(o===0&&s.value===""||s.value!=o)&&(s.value=""+cr(o)):s.value!==""+cr(o)&&(s.value=""+cr(o)):$!=="submit"&&$!=="reset"||s.removeAttribute("value"),o!=null?zd(s,$,cr(o)):h!=null?zd(s,$,cr(h)):g!=null&&s.removeAttribute("value"),k==null&&N!=null&&(s.defaultChecked=!!N),k!=null&&(s.checked=k&&typeof k!="function"&&typeof k!="symbol"),X!=null&&typeof X!="function"&&typeof X!="symbol"&&typeof X!="boolean"?s.name=""+cr(X):s.removeAttribute("name")}function Yg(s,o,h,g,k,N,$,X){if(N!=null&&typeof N!="function"&&typeof N!="symbol"&&typeof N!="boolean"&&(s.type=N),o!=null||h!=null){if(!(N!=="submit"&&N!=="reset"||o!=null)){Bd(s);return}h=h!=null?""+cr(h):"",o=o!=null?""+cr(o):h,X||o===s.value||(s.value=o),s.defaultValue=o}g=g??k,g=typeof g!="function"&&typeof g!="symbol"&&!!g,s.checked=X?s.checked:!!g,s.defaultChecked=!!g,$!=null&&typeof $!="function"&&typeof $!="symbol"&&typeof $!="boolean"&&(s.name=$),Bd(s)}function zd(s,o,h){o==="number"&&Yl(s.ownerDocument)===s||s.defaultValue===""+h||(s.defaultValue=""+h)}function Zi(s,o,h,g){if(s=s.options,o){o={};for(var k=0;k<h.length;k++)o["$"+h[k]]=!0;for(h=0;h<s.length;h++)k=o.hasOwnProperty("$"+s[h].value),s[h].selected!==k&&(s[h].selected=k),k&&g&&(s[h].defaultSelected=!0)}else{for(h=""+cr(h),o=null,k=0;k<s.length;k++){if(s[k].value===h){s[k].selected=!0,g&&(s[k].defaultSelected=!0);return}o!==null||s[k].disabled||(o=s[k])}o!==null&&(o.selected=!0)}}function Xg(s,o,h){if(o!=null&&(o=""+cr(o),o!==s.value&&(s.value=o),h==null)){s.defaultValue!==o&&(s.defaultValue=o);return}s.defaultValue=h!=null?""+cr(h):""}function Qg(s,o,h,g){if(o==null){if(g!=null){if(h!=null)throw Error(r(92));if(F(g)){if(1<g.length)throw Error(r(93));g=g[0]}h=g}h==null&&(h=""),o=h}h=cr(o),s.defaultValue=h,g=s.textContent,g===h&&g!==""&&g!==null&&(s.value=g),Bd(s)}function ea(s,o){if(o){var h=s.firstChild;if(h&&h===s.lastChild&&h.nodeType===3){h.nodeValue=o;return}}s.textContent=o}var eE=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function Jg(s,o,h){var g=o.indexOf("--")===0;h==null||typeof h=="boolean"||h===""?g?s.setProperty(o,""):o==="float"?s.cssFloat="":s[o]="":g?s.setProperty(o,h):typeof h!="number"||h===0||eE.has(o)?o==="float"?s.cssFloat=h:s[o]=(""+h).trim():s[o]=h+"px"}function Zg(s,o,h){if(o!=null&&typeof o!="object")throw Error(r(62));if(s=s.style,h!=null){for(var g in h)!h.hasOwnProperty(g)||o!=null&&o.hasOwnProperty(g)||(g.indexOf("--")===0?s.setProperty(g,""):g==="float"?s.cssFloat="":s[g]="");for(var k in o)g=o[k],o.hasOwnProperty(k)&&h[k]!==g&&Jg(s,k,g)}else for(var N in o)o.hasOwnProperty(N)&&Jg(s,N,o[N])}function Hd(s){if(s.indexOf("-")===-1)return!1;switch(s){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 tE=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),nE=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Xl(s){return nE.test(""+s)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":s}function Xr(){}var Ud=null;function Fd(s){return s=s.target||s.srcElement||window,s.correspondingUseElement&&(s=s.correspondingUseElement),s.nodeType===3?s.parentNode:s}var ta=null,na=null;function ex(s){var o=Xi(s);if(o&&(s=o.stateNode)){var h=s[zn]||null;e:switch(s=o.stateNode,o.type){case"input":if($d(s,h.value,h.defaultValue,h.defaultValue,h.checked,h.defaultChecked,h.type,h.name),o=h.name,h.type==="radio"&&o!=null){for(h=s;h.parentNode;)h=h.parentNode;for(h=h.querySelectorAll('input[name="'+ur(""+o)+'"][type="radio"]'),o=0;o<h.length;o++){var g=h[o];if(g!==s&&g.form===s.form){var k=g[zn]||null;if(!k)throw Error(r(90));$d(g,k.value,k.defaultValue,k.defaultValue,k.checked,k.defaultChecked,k.type,k.name)}}for(o=0;o<h.length;o++)g=h[o],g.form===s.form&&Kg(g)}break e;case"textarea":Xg(s,h.value,h.defaultValue);break e;case"select":o=h.value,o!=null&&Zi(s,!!h.multiple,o,!1)}}}var Vd=!1;function tx(s,o,h){if(Vd)return s(o,h);Vd=!0;try{var g=s(o);return g}finally{if(Vd=!1,(ta!==null||na!==null)&&(Pc(),ta&&(o=ta,s=na,na=ta=null,ex(o),s)))for(o=0;o<s.length;o++)ex(s[o])}}function fo(s,o){var h=s.stateNode;if(h===null)return null;var g=h[zn]||null;if(g===null)return null;h=g[o];e:switch(o){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(g=!g.disabled)||(s=s.type,g=!(s==="button"||s==="input"||s==="select"||s==="textarea")),s=!g;break e;default:s=!1}if(s)return null;if(h&&typeof h!="function")throw Error(r(231,o,typeof h));return h}var Qr=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Gd=!1;if(Qr)try{var mo={};Object.defineProperty(mo,"passive",{get:function(){Gd=!0}}),window.addEventListener("test",mo,mo),window.removeEventListener("test",mo,mo)}catch{Gd=!1}var ks=null,Wd=null,Ql=null;function nx(){if(Ql)return Ql;var s,o=Wd,h=o.length,g,k="value"in ks?ks.value:ks.textContent,N=k.length;for(s=0;s<h&&o[s]===k[s];s++);var $=h-s;for(g=1;g<=$&&o[h-g]===k[N-g];g++);return Ql=k.slice(s,1<g?1-g:void 0)}function Jl(s){var o=s.keyCode;return"charCode"in s?(s=s.charCode,s===0&&o===13&&(s=13)):s=o,s===10&&(s=13),32<=s||s===13?s:0}function Zl(){return!0}function rx(){return!1}function Hn(s){function o(h,g,k,N,$){this._reactName=h,this._targetInst=k,this.type=g,this.nativeEvent=N,this.target=$,this.currentTarget=null;for(var X in s)s.hasOwnProperty(X)&&(h=s[X],this[X]=h?h(N):N[X]);return this.isDefaultPrevented=(N.defaultPrevented!=null?N.defaultPrevented:N.returnValue===!1)?Zl:rx,this.isPropagationStopped=rx,this}return m(o.prototype,{preventDefault:function(){this.defaultPrevented=!0;var h=this.nativeEvent;h&&(h.preventDefault?h.preventDefault():typeof h.returnValue!="unknown"&&(h.returnValue=!1),this.isDefaultPrevented=Zl)},stopPropagation:function(){var h=this.nativeEvent;h&&(h.stopPropagation?h.stopPropagation():typeof h.cancelBubble!="unknown"&&(h.cancelBubble=!0),this.isPropagationStopped=Zl)},persist:function(){},isPersistent:Zl}),o}var di={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(s){return s.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ec=Hn(di),po=m({},di,{view:0,detail:0}),rE=Hn(po),qd,Kd,go,tc=m({},po,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Xd,button:0,buttons:0,relatedTarget:function(s){return s.relatedTarget===void 0?s.fromElement===s.srcElement?s.toElement:s.fromElement:s.relatedTarget},movementX:function(s){return"movementX"in s?s.movementX:(s!==go&&(go&&s.type==="mousemove"?(qd=s.screenX-go.screenX,Kd=s.screenY-go.screenY):Kd=qd=0,go=s),qd)},movementY:function(s){return"movementY"in s?s.movementY:Kd}}),sx=Hn(tc),sE=m({},tc,{dataTransfer:0}),iE=Hn(sE),aE=m({},po,{relatedTarget:0}),Yd=Hn(aE),oE=m({},di,{animationName:0,elapsedTime:0,pseudoElement:0}),lE=Hn(oE),cE=m({},di,{clipboardData:function(s){return"clipboardData"in s?s.clipboardData:window.clipboardData}}),uE=Hn(cE),dE=m({},di,{data:0}),ix=Hn(dE),hE={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},fE={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"},mE={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function pE(s){var o=this.nativeEvent;return o.getModifierState?o.getModifierState(s):(s=mE[s])?!!o[s]:!1}function Xd(){return pE}var gE=m({},po,{key:function(s){if(s.key){var o=hE[s.key]||s.key;if(o!=="Unidentified")return o}return s.type==="keypress"?(s=Jl(s),s===13?"Enter":String.fromCharCode(s)):s.type==="keydown"||s.type==="keyup"?fE[s.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Xd,charCode:function(s){return s.type==="keypress"?Jl(s):0},keyCode:function(s){return s.type==="keydown"||s.type==="keyup"?s.keyCode:0},which:function(s){return s.type==="keypress"?Jl(s):s.type==="keydown"||s.type==="keyup"?s.keyCode:0}}),xE=Hn(gE),yE=m({},tc,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),ax=Hn(yE),bE=m({},po,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Xd}),vE=Hn(bE),_E=m({},di,{propertyName:0,elapsedTime:0,pseudoElement:0}),SE=Hn(_E),wE=m({},tc,{deltaX:function(s){return"deltaX"in s?s.deltaX:"wheelDeltaX"in s?-s.wheelDeltaX:0},deltaY:function(s){return"deltaY"in s?s.deltaY:"wheelDeltaY"in s?-s.wheelDeltaY:"wheelDelta"in s?-s.wheelDelta:0},deltaZ:0,deltaMode:0}),CE=Hn(wE),kE=m({},di,{newState:0,oldState:0}),EE=Hn(kE),jE=[9,13,27,32],Qd=Qr&&"CompositionEvent"in window,xo=null;Qr&&"documentMode"in document&&(xo=document.documentMode);var NE=Qr&&"TextEvent"in window&&!xo,ox=Qr&&(!Qd||xo&&8<xo&&11>=xo),lx=" ",cx=!1;function ux(s,o){switch(s){case"keyup":return jE.indexOf(o.keyCode)!==-1;case"keydown":return o.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function dx(s){return s=s.detail,typeof s=="object"&&"data"in s?s.data:null}var ra=!1;function TE(s,o){switch(s){case"compositionend":return dx(o);case"keypress":return o.which!==32?null:(cx=!0,lx);case"textInput":return s=o.data,s===lx&&cx?null:s;default:return null}}function AE(s,o){if(ra)return s==="compositionend"||!Qd&&ux(s,o)?(s=nx(),Ql=Wd=ks=null,ra=!1,s):null;switch(s){case"paste":return null;case"keypress":if(!(o.ctrlKey||o.altKey||o.metaKey)||o.ctrlKey&&o.altKey){if(o.char&&1<o.char.length)return o.char;if(o.which)return String.fromCharCode(o.which)}return null;case"compositionend":return ox&&o.locale!=="ko"?null:o.data;default:return null}}var LE={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 hx(s){var o=s&&s.nodeName&&s.nodeName.toLowerCase();return o==="input"?!!LE[s.type]:o==="textarea"}function fx(s,o,h,g){ta?na?na.push(g):na=[g]:ta=g,o=Vc(o,"onChange"),0<o.length&&(h=new ec("onChange","change",null,h,g),s.push({event:h,listeners:o}))}var yo=null,bo=null;function DE(s){Yb(s,0)}function nc(s){var o=ho(s);if(Kg(o))return s}function mx(s,o){if(s==="change")return o}var px=!1;if(Qr){var Jd;if(Qr){var Zd="oninput"in document;if(!Zd){var gx=document.createElement("div");gx.setAttribute("oninput","return;"),Zd=typeof gx.oninput=="function"}Jd=Zd}else Jd=!1;px=Jd&&(!document.documentMode||9<document.documentMode)}function xx(){yo&&(yo.detachEvent("onpropertychange",yx),bo=yo=null)}function yx(s){if(s.propertyName==="value"&&nc(bo)){var o=[];fx(o,bo,s,Fd(s)),tx(DE,o)}}function RE(s,o,h){s==="focusin"?(xx(),yo=o,bo=h,yo.attachEvent("onpropertychange",yx)):s==="focusout"&&xx()}function OE(s){if(s==="selectionchange"||s==="keyup"||s==="keydown")return nc(bo)}function IE(s,o){if(s==="click")return nc(o)}function ME(s,o){if(s==="input"||s==="change")return nc(o)}function PE(s,o){return s===o&&(s!==0||1/s===1/o)||s!==s&&o!==o}var Jn=typeof Object.is=="function"?Object.is:PE;function vo(s,o){if(Jn(s,o))return!0;if(typeof s!="object"||s===null||typeof o!="object"||o===null)return!1;var h=Object.keys(s),g=Object.keys(o);if(h.length!==g.length)return!1;for(g=0;g<h.length;g++){var k=h[g];if(!Ee.call(o,k)||!Jn(s[k],o[k]))return!1}return!0}function bx(s){for(;s&&s.firstChild;)s=s.firstChild;return s}function vx(s,o){var h=bx(s);s=0;for(var g;h;){if(h.nodeType===3){if(g=s+h.textContent.length,s<=o&&g>=o)return{node:h,offset:o-s};s=g}e:{for(;h;){if(h.nextSibling){h=h.nextSibling;break e}h=h.parentNode}h=void 0}h=bx(h)}}function _x(s,o){return s&&o?s===o?!0:s&&s.nodeType===3?!1:o&&o.nodeType===3?_x(s,o.parentNode):"contains"in s?s.contains(o):s.compareDocumentPosition?!!(s.compareDocumentPosition(o)&16):!1:!1}function Sx(s){s=s!=null&&s.ownerDocument!=null&&s.ownerDocument.defaultView!=null?s.ownerDocument.defaultView:window;for(var o=Yl(s.document);o instanceof s.HTMLIFrameElement;){try{var h=typeof o.contentWindow.location.href=="string"}catch{h=!1}if(h)s=o.contentWindow;else break;o=Yl(s.document)}return o}function eh(s){var o=s&&s.nodeName&&s.nodeName.toLowerCase();return o&&(o==="input"&&(s.type==="text"||s.type==="search"||s.type==="tel"||s.type==="url"||s.type==="password")||o==="textarea"||s.contentEditable==="true")}var BE=Qr&&"documentMode"in document&&11>=document.documentMode,sa=null,th=null,_o=null,nh=!1;function wx(s,o,h){var g=h.window===h?h.document:h.nodeType===9?h:h.ownerDocument;nh||sa==null||sa!==Yl(g)||(g=sa,"selectionStart"in g&&eh(g)?g={start:g.selectionStart,end:g.selectionEnd}:(g=(g.ownerDocument&&g.ownerDocument.defaultView||window).getSelection(),g={anchorNode:g.anchorNode,anchorOffset:g.anchorOffset,focusNode:g.focusNode,focusOffset:g.focusOffset}),_o&&vo(_o,g)||(_o=g,g=Vc(th,"onSelect"),0<g.length&&(o=new ec("onSelect","select",null,o,h),s.push({event:o,listeners:g}),o.target=sa)))}function hi(s,o){var h={};return h[s.toLowerCase()]=o.toLowerCase(),h["Webkit"+s]="webkit"+o,h["Moz"+s]="moz"+o,h}var ia={animationend:hi("Animation","AnimationEnd"),animationiteration:hi("Animation","AnimationIteration"),animationstart:hi("Animation","AnimationStart"),transitionrun:hi("Transition","TransitionRun"),transitionstart:hi("Transition","TransitionStart"),transitioncancel:hi("Transition","TransitionCancel"),transitionend:hi("Transition","TransitionEnd")},rh={},Cx={};Qr&&(Cx=document.createElement("div").style,"AnimationEvent"in window||(delete ia.animationend.animation,delete ia.animationiteration.animation,delete ia.animationstart.animation),"TransitionEvent"in window||delete ia.transitionend.transition);function fi(s){if(rh[s])return rh[s];if(!ia[s])return s;var o=ia[s],h;for(h in o)if(o.hasOwnProperty(h)&&h in Cx)return rh[s]=o[h];return s}var kx=fi("animationend"),Ex=fi("animationiteration"),jx=fi("animationstart"),$E=fi("transitionrun"),zE=fi("transitionstart"),HE=fi("transitioncancel"),Nx=fi("transitionend"),Tx=new Map,sh="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");sh.push("scrollEnd");function kr(s,o){Tx.set(s,o),ui(o,[s])}var rc=typeof reportError=="function"?reportError:function(s){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var o=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof s=="object"&&s!==null&&typeof s.message=="string"?String(s.message):String(s),error:s});if(!window.dispatchEvent(o))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",s);return}console.error(s)},dr=[],aa=0,ih=0;function sc(){for(var s=aa,o=ih=aa=0;o<s;){var h=dr[o];dr[o++]=null;var g=dr[o];dr[o++]=null;var k=dr[o];dr[o++]=null;var N=dr[o];if(dr[o++]=null,g!==null&&k!==null){var $=g.pending;$===null?k.next=k:(k.next=$.next,$.next=k),g.pending=k}N!==0&&Ax(h,k,N)}}function ic(s,o,h,g){dr[aa++]=s,dr[aa++]=o,dr[aa++]=h,dr[aa++]=g,ih|=g,s.lanes|=g,s=s.alternate,s!==null&&(s.lanes|=g)}function ah(s,o,h,g){return ic(s,o,h,g),ac(s)}function mi(s,o){return ic(s,null,null,o),ac(s)}function Ax(s,o,h){s.lanes|=h;var g=s.alternate;g!==null&&(g.lanes|=h);for(var k=!1,N=s.return;N!==null;)N.childLanes|=h,g=N.alternate,g!==null&&(g.childLanes|=h),N.tag===22&&(s=N.stateNode,s===null||s._visibility&1||(k=!0)),s=N,N=N.return;return s.tag===3?(N=s.stateNode,k&&o!==null&&(k=31-ut(h),s=N.hiddenUpdates,g=s[k],g===null?s[k]=[o]:g.push(o),o.lane=h|536870912),N):null}function ac(s){if(50<Fo)throw Fo=0,gf=null,Error(r(185));for(var o=s.return;o!==null;)s=o,o=s.return;return s.tag===3?s.stateNode:null}var oa={};function UE(s,o,h,g){this.tag=s,this.key=h,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=o,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=g,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Zn(s,o,h,g){return new UE(s,o,h,g)}function oh(s){return s=s.prototype,!(!s||!s.isReactComponent)}function Jr(s,o){var h=s.alternate;return h===null?(h=Zn(s.tag,o,s.key,s.mode),h.elementType=s.elementType,h.type=s.type,h.stateNode=s.stateNode,h.alternate=s,s.alternate=h):(h.pendingProps=o,h.type=s.type,h.flags=0,h.subtreeFlags=0,h.deletions=null),h.flags=s.flags&65011712,h.childLanes=s.childLanes,h.lanes=s.lanes,h.child=s.child,h.memoizedProps=s.memoizedProps,h.memoizedState=s.memoizedState,h.updateQueue=s.updateQueue,o=s.dependencies,h.dependencies=o===null?null:{lanes:o.lanes,firstContext:o.firstContext},h.sibling=s.sibling,h.index=s.index,h.ref=s.ref,h.refCleanup=s.refCleanup,h}function Lx(s,o){s.flags&=65011714;var h=s.alternate;return h===null?(s.childLanes=0,s.lanes=o,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=h.childLanes,s.lanes=h.lanes,s.child=h.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=h.memoizedProps,s.memoizedState=h.memoizedState,s.updateQueue=h.updateQueue,s.type=h.type,o=h.dependencies,s.dependencies=o===null?null:{lanes:o.lanes,firstContext:o.firstContext}),s}function oc(s,o,h,g,k,N){var $=0;if(g=s,typeof s=="function")oh(s)&&($=1);else if(typeof s=="string")$=qj(s,h,ee.current)?26:s==="html"||s==="head"||s==="body"?27:5;else e:switch(s){case R:return s=Zn(31,h,o,k),s.elementType=R,s.lanes=N,s;case C:return pi(h.children,k,N,o);case _:$=8,k|=24;break;case S:return s=Zn(12,h,o,k|2),s.elementType=S,s.lanes=N,s;case j:return s=Zn(13,h,o,k),s.elementType=j,s.lanes=N,s;case T:return s=Zn(19,h,o,k),s.elementType=T,s.lanes=N,s;default:if(typeof s=="object"&&s!==null)switch(s.$$typeof){case b:$=10;break e;case v:$=9;break e;case E:$=11;break e;case D:$=14;break e;case L:$=16,g=null;break e}$=29,h=Error(r(130,s===null?"null":typeof s,"")),g=null}return o=Zn($,h,o,k),o.elementType=s,o.type=g,o.lanes=N,o}function pi(s,o,h,g){return s=Zn(7,s,g,o),s.lanes=h,s}function lh(s,o,h){return s=Zn(6,s,null,o),s.lanes=h,s}function Dx(s){var o=Zn(18,null,null,0);return o.stateNode=s,o}function ch(s,o,h){return o=Zn(4,s.children!==null?s.children:[],s.key,o),o.lanes=h,o.stateNode={containerInfo:s.containerInfo,pendingChildren:null,implementation:s.implementation},o}var Rx=new WeakMap;function hr(s,o){if(typeof s=="object"&&s!==null){var h=Rx.get(s);return h!==void 0?h:(o={value:s,source:o,stack:nt(o)},Rx.set(s,o),o)}return{value:s,source:o,stack:nt(o)}}var la=[],ca=0,lc=null,So=0,fr=[],mr=0,Es=null,Mr=1,Pr="";function Zr(s,o){la[ca++]=So,la[ca++]=lc,lc=s,So=o}function Ox(s,o,h){fr[mr++]=Mr,fr[mr++]=Pr,fr[mr++]=Es,Es=s;var g=Mr;s=Pr;var k=32-ut(g)-1;g&=~(1<<k),h+=1;var N=32-ut(o)+k;if(30<N){var $=k-k%5;N=(g&(1<<$)-1).toString(32),g>>=$,k-=$,Mr=1<<32-ut(o)+k|h<<k|g,Pr=N+s}else Mr=1<<N|h<<k|g,Pr=s}function uh(s){s.return!==null&&(Zr(s,1),Ox(s,1,0))}function dh(s){for(;s===lc;)lc=la[--ca],la[ca]=null,So=la[--ca],la[ca]=null;for(;s===Es;)Es=fr[--mr],fr[mr]=null,Pr=fr[--mr],fr[mr]=null,Mr=fr[--mr],fr[mr]=null}function Ix(s,o){fr[mr++]=Mr,fr[mr++]=Pr,fr[mr++]=Es,Mr=o.id,Pr=o.overflow,Es=s}var kn=null,Ht=null,bt=!1,js=null,pr=!1,hh=Error(r(519));function Ns(s){var o=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw wo(hr(o,s)),hh}function Mx(s){var o=s.stateNode,h=s.type,g=s.memoizedProps;switch(o[an]=s,o[zn]=g,h){case"dialog":ht("cancel",o),ht("close",o);break;case"iframe":case"object":case"embed":ht("load",o);break;case"video":case"audio":for(h=0;h<Go.length;h++)ht(Go[h],o);break;case"source":ht("error",o);break;case"img":case"image":case"link":ht("error",o),ht("load",o);break;case"details":ht("toggle",o);break;case"input":ht("invalid",o),Yg(o,g.value,g.defaultValue,g.checked,g.defaultChecked,g.type,g.name,!0);break;case"select":ht("invalid",o);break;case"textarea":ht("invalid",o),Qg(o,g.value,g.defaultValue,g.children)}h=g.children,typeof h!="string"&&typeof h!="number"&&typeof h!="bigint"||o.textContent===""+h||g.suppressHydrationWarning===!0||Zb(o.textContent,h)?(g.popover!=null&&(ht("beforetoggle",o),ht("toggle",o)),g.onScroll!=null&&ht("scroll",o),g.onScrollEnd!=null&&ht("scrollend",o),g.onClick!=null&&(o.onclick=Xr),o=!0):o=!1,o||Ns(s,!0)}function Px(s){for(kn=s.return;kn;)switch(kn.tag){case 5:case 31:case 13:pr=!1;return;case 27:case 3:pr=!0;return;default:kn=kn.return}}function ua(s){if(s!==kn)return!1;if(!bt)return Px(s),bt=!0,!1;var o=s.tag,h;if((h=o!==3&&o!==27)&&((h=o===5)&&(h=s.type,h=!(h!=="form"&&h!=="button")||Lf(s.type,s.memoizedProps)),h=!h),h&&Ht&&Ns(s),Px(s),o===13){if(s=s.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(r(317));Ht=lv(s)}else if(o===31){if(s=s.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(r(317));Ht=lv(s)}else o===27?(o=Ht,Us(s.type)?(s=Mf,Mf=null,Ht=s):Ht=o):Ht=kn?xr(s.stateNode.nextSibling):null;return!0}function gi(){Ht=kn=null,bt=!1}function fh(){var s=js;return s!==null&&(Gn===null?Gn=s:Gn.push.apply(Gn,s),js=null),s}function wo(s){js===null?js=[s]:js.push(s)}var mh=B(null),xi=null,es=null;function Ts(s,o,h){P(mh,o._currentValue),o._currentValue=h}function ts(s){s._currentValue=mh.current,K(mh)}function ph(s,o,h){for(;s!==null;){var g=s.alternate;if((s.childLanes&o)!==o?(s.childLanes|=o,g!==null&&(g.childLanes|=o)):g!==null&&(g.childLanes&o)!==o&&(g.childLanes|=o),s===h)break;s=s.return}}function gh(s,o,h,g){var k=s.child;for(k!==null&&(k.return=s);k!==null;){var N=k.dependencies;if(N!==null){var $=k.child;N=N.firstContext;e:for(;N!==null;){var X=N;N=k;for(var ie=0;ie<o.length;ie++)if(X.context===o[ie]){N.lanes|=h,X=N.alternate,X!==null&&(X.lanes|=h),ph(N.return,h,s),g||($=null);break e}N=X.next}}else if(k.tag===18){if($=k.return,$===null)throw Error(r(341));$.lanes|=h,N=$.alternate,N!==null&&(N.lanes|=h),ph($,h,s),$=null}else $=k.child;if($!==null)$.return=k;else for($=k;$!==null;){if($===s){$=null;break}if(k=$.sibling,k!==null){k.return=$.return,$=k;break}$=$.return}k=$}}function da(s,o,h,g){s=null;for(var k=o,N=!1;k!==null;){if(!N){if((k.flags&524288)!==0)N=!0;else if((k.flags&262144)!==0)break}if(k.tag===10){var $=k.alternate;if($===null)throw Error(r(387));if($=$.memoizedProps,$!==null){var X=k.type;Jn(k.pendingProps.value,$.value)||(s!==null?s.push(X):s=[X])}}else if(k===Y.current){if($=k.alternate,$===null)throw Error(r(387));$.memoizedState.memoizedState!==k.memoizedState.memoizedState&&(s!==null?s.push(Xo):s=[Xo])}k=k.return}s!==null&&gh(o,s,h,g),o.flags|=262144}function cc(s){for(s=s.firstContext;s!==null;){if(!Jn(s.context._currentValue,s.memoizedValue))return!0;s=s.next}return!1}function yi(s){xi=s,es=null,s=s.dependencies,s!==null&&(s.firstContext=null)}function En(s){return Bx(xi,s)}function uc(s,o){return xi===null&&yi(s),Bx(s,o)}function Bx(s,o){var h=o._currentValue;if(o={context:o,memoizedValue:h,next:null},es===null){if(s===null)throw Error(r(308));es=o,s.dependencies={lanes:0,firstContext:o},s.flags|=524288}else es=es.next=o;return h}var FE=typeof AbortController<"u"?AbortController:function(){var s=[],o=this.signal={aborted:!1,addEventListener:function(h,g){s.push(g)}};this.abort=function(){o.aborted=!0,s.forEach(function(h){return h()})}},VE=e.unstable_scheduleCallback,GE=e.unstable_NormalPriority,on={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function xh(){return{controller:new FE,data:new Map,refCount:0}}function Co(s){s.refCount--,s.refCount===0&&VE(GE,function(){s.controller.abort()})}var ko=null,yh=0,ha=0,fa=null;function WE(s,o){if(ko===null){var h=ko=[];yh=0,ha=Sf(),fa={status:"pending",value:void 0,then:function(g){h.push(g)}}}return yh++,o.then($x,$x),o}function $x(){if(--yh===0&&ko!==null){fa!==null&&(fa.status="fulfilled");var s=ko;ko=null,ha=0,fa=null;for(var o=0;o<s.length;o++)(0,s[o])()}}function qE(s,o){var h=[],g={status:"pending",value:null,reason:null,then:function(k){h.push(k)}};return s.then(function(){g.status="fulfilled",g.value=o;for(var k=0;k<h.length;k++)(0,h[k])(o)},function(k){for(g.status="rejected",g.reason=k,k=0;k<h.length;k++)(0,h[k])(void 0)}),g}var zx=G.S;G.S=function(s,o){wb=Ye(),typeof o=="object"&&o!==null&&typeof o.then=="function"&&WE(s,o),zx!==null&&zx(s,o)};var bi=B(null);function bh(){var s=bi.current;return s!==null?s:It.pooledCache}function dc(s,o){o===null?P(bi,bi.current):P(bi,o.pool)}function Hx(){var s=bh();return s===null?null:{parent:on._currentValue,pool:s}}var ma=Error(r(460)),vh=Error(r(474)),hc=Error(r(542)),fc={then:function(){}};function Ux(s){return s=s.status,s==="fulfilled"||s==="rejected"}function Fx(s,o,h){switch(h=s[h],h===void 0?s.push(o):h!==o&&(o.then(Xr,Xr),o=h),o.status){case"fulfilled":return o.value;case"rejected":throw s=o.reason,Gx(s),s;default:if(typeof o.status=="string")o.then(Xr,Xr);else{if(s=It,s!==null&&100<s.shellSuspendCounter)throw Error(r(482));s=o,s.status="pending",s.then(function(g){if(o.status==="pending"){var k=o;k.status="fulfilled",k.value=g}},function(g){if(o.status==="pending"){var k=o;k.status="rejected",k.reason=g}})}switch(o.status){case"fulfilled":return o.value;case"rejected":throw s=o.reason,Gx(s),s}throw _i=o,ma}}function vi(s){try{var o=s._init;return o(s._payload)}catch(h){throw h!==null&&typeof h=="object"&&typeof h.then=="function"?(_i=h,ma):h}}var _i=null;function Vx(){if(_i===null)throw Error(r(459));var s=_i;return _i=null,s}function Gx(s){if(s===ma||s===hc)throw Error(r(483))}var pa=null,Eo=0;function mc(s){var o=Eo;return Eo+=1,pa===null&&(pa=[]),Fx(pa,s,o)}function jo(s,o){o=o.props.ref,s.ref=o!==void 0?o:null}function pc(s,o){throw o.$$typeof===x?Error(r(525)):(s=Object.prototype.toString.call(o),Error(r(31,s==="[object Object]"?"object with keys {"+Object.keys(o).join(", ")+"}":s)))}function Wx(s){function o(ue,le){if(s){var he=ue.deletions;he===null?(ue.deletions=[le],ue.flags|=16):he.push(le)}}function h(ue,le){if(!s)return null;for(;le!==null;)o(ue,le),le=le.sibling;return null}function g(ue){for(var le=new Map;ue!==null;)ue.key!==null?le.set(ue.key,ue):le.set(ue.index,ue),ue=ue.sibling;return le}function k(ue,le){return ue=Jr(ue,le),ue.index=0,ue.sibling=null,ue}function N(ue,le,he){return ue.index=he,s?(he=ue.alternate,he!==null?(he=he.index,he<le?(ue.flags|=67108866,le):he):(ue.flags|=67108866,le)):(ue.flags|=1048576,le)}function $(ue){return s&&ue.alternate===null&&(ue.flags|=67108866),ue}function X(ue,le,he,Ne){return le===null||le.tag!==6?(le=lh(he,ue.mode,Ne),le.return=ue,le):(le=k(le,he),le.return=ue,le)}function ie(ue,le,he,Ne){var qe=he.type;return qe===C?Ce(ue,le,he.props.children,Ne,he.key):le!==null&&(le.elementType===qe||typeof qe=="object"&&qe!==null&&qe.$$typeof===L&&vi(qe)===le.type)?(le=k(le,he.props),jo(le,he),le.return=ue,le):(le=oc(he.type,he.key,he.props,null,ue.mode,Ne),jo(le,he),le.return=ue,le)}function fe(ue,le,he,Ne){return le===null||le.tag!==4||le.stateNode.containerInfo!==he.containerInfo||le.stateNode.implementation!==he.implementation?(le=ch(he,ue.mode,Ne),le.return=ue,le):(le=k(le,he.children||[]),le.return=ue,le)}function Ce(ue,le,he,Ne,qe){return le===null||le.tag!==7?(le=pi(he,ue.mode,Ne,qe),le.return=ue,le):(le=k(le,he),le.return=ue,le)}function Ae(ue,le,he){if(typeof le=="string"&&le!==""||typeof le=="number"||typeof le=="bigint")return le=lh(""+le,ue.mode,he),le.return=ue,le;if(typeof le=="object"&&le!==null){switch(le.$$typeof){case y:return he=oc(le.type,le.key,le.props,null,ue.mode,he),jo(he,le),he.return=ue,he;case w:return le=ch(le,ue.mode,he),le.return=ue,le;case L:return le=vi(le),Ae(ue,le,he)}if(F(le)||U(le))return le=pi(le,ue.mode,he,null),le.return=ue,le;if(typeof le.then=="function")return Ae(ue,mc(le),he);if(le.$$typeof===b)return Ae(ue,uc(ue,le),he);pc(ue,le)}return null}function me(ue,le,he,Ne){var qe=le!==null?le.key:null;if(typeof he=="string"&&he!==""||typeof he=="number"||typeof he=="bigint")return qe!==null?null:X(ue,le,""+he,Ne);if(typeof he=="object"&&he!==null){switch(he.$$typeof){case y:return he.key===qe?ie(ue,le,he,Ne):null;case w:return he.key===qe?fe(ue,le,he,Ne):null;case L:return he=vi(he),me(ue,le,he,Ne)}if(F(he)||U(he))return qe!==null?null:Ce(ue,le,he,Ne,null);if(typeof he.then=="function")return me(ue,le,mc(he),Ne);if(he.$$typeof===b)return me(ue,le,uc(ue,he),Ne);pc(ue,he)}return null}function ye(ue,le,he,Ne,qe){if(typeof Ne=="string"&&Ne!==""||typeof Ne=="number"||typeof Ne=="bigint")return ue=ue.get(he)||null,X(le,ue,""+Ne,qe);if(typeof Ne=="object"&&Ne!==null){switch(Ne.$$typeof){case y:return ue=ue.get(Ne.key===null?he:Ne.key)||null,ie(le,ue,Ne,qe);case w:return ue=ue.get(Ne.key===null?he:Ne.key)||null,fe(le,ue,Ne,qe);case L:return Ne=vi(Ne),ye(ue,le,he,Ne,qe)}if(F(Ne)||U(Ne))return ue=ue.get(he)||null,Ce(le,ue,Ne,qe,null);if(typeof Ne.then=="function")return ye(ue,le,he,mc(Ne),qe);if(Ne.$$typeof===b)return ye(ue,le,he,uc(le,Ne),qe);pc(le,Ne)}return null}function Fe(ue,le,he,Ne){for(var qe=null,wt=null,Ve=le,ot=le=0,xt=null;Ve!==null&&ot<he.length;ot++){Ve.index>ot?(xt=Ve,Ve=null):xt=Ve.sibling;var Ct=me(ue,Ve,he[ot],Ne);if(Ct===null){Ve===null&&(Ve=xt);break}s&&Ve&&Ct.alternate===null&&o(ue,Ve),le=N(Ct,le,ot),wt===null?qe=Ct:wt.sibling=Ct,wt=Ct,Ve=xt}if(ot===he.length)return h(ue,Ve),bt&&Zr(ue,ot),qe;if(Ve===null){for(;ot<he.length;ot++)Ve=Ae(ue,he[ot],Ne),Ve!==null&&(le=N(Ve,le,ot),wt===null?qe=Ve:wt.sibling=Ve,wt=Ve);return bt&&Zr(ue,ot),qe}for(Ve=g(Ve);ot<he.length;ot++)xt=ye(Ve,ue,ot,he[ot],Ne),xt!==null&&(s&&xt.alternate!==null&&Ve.delete(xt.key===null?ot:xt.key),le=N(xt,le,ot),wt===null?qe=xt:wt.sibling=xt,wt=xt);return s&&Ve.forEach(function(qs){return o(ue,qs)}),bt&&Zr(ue,ot),qe}function Je(ue,le,he,Ne){if(he==null)throw Error(r(151));for(var qe=null,wt=null,Ve=le,ot=le=0,xt=null,Ct=he.next();Ve!==null&&!Ct.done;ot++,Ct=he.next()){Ve.index>ot?(xt=Ve,Ve=null):xt=Ve.sibling;var qs=me(ue,Ve,Ct.value,Ne);if(qs===null){Ve===null&&(Ve=xt);break}s&&Ve&&qs.alternate===null&&o(ue,Ve),le=N(qs,le,ot),wt===null?qe=qs:wt.sibling=qs,wt=qs,Ve=xt}if(Ct.done)return h(ue,Ve),bt&&Zr(ue,ot),qe;if(Ve===null){for(;!Ct.done;ot++,Ct=he.next())Ct=Ae(ue,Ct.value,Ne),Ct!==null&&(le=N(Ct,le,ot),wt===null?qe=Ct:wt.sibling=Ct,wt=Ct);return bt&&Zr(ue,ot),qe}for(Ve=g(Ve);!Ct.done;ot++,Ct=he.next())Ct=ye(Ve,ue,ot,Ct.value,Ne),Ct!==null&&(s&&Ct.alternate!==null&&Ve.delete(Ct.key===null?ot:Ct.key),le=N(Ct,le,ot),wt===null?qe=Ct:wt.sibling=Ct,wt=Ct);return s&&Ve.forEach(function(s2){return o(ue,s2)}),bt&&Zr(ue,ot),qe}function Dt(ue,le,he,Ne){if(typeof he=="object"&&he!==null&&he.type===C&&he.key===null&&(he=he.props.children),typeof he=="object"&&he!==null){switch(he.$$typeof){case y:e:{for(var qe=he.key;le!==null;){if(le.key===qe){if(qe=he.type,qe===C){if(le.tag===7){h(ue,le.sibling),Ne=k(le,he.props.children),Ne.return=ue,ue=Ne;break e}}else if(le.elementType===qe||typeof qe=="object"&&qe!==null&&qe.$$typeof===L&&vi(qe)===le.type){h(ue,le.sibling),Ne=k(le,he.props),jo(Ne,he),Ne.return=ue,ue=Ne;break e}h(ue,le);break}else o(ue,le);le=le.sibling}he.type===C?(Ne=pi(he.props.children,ue.mode,Ne,he.key),Ne.return=ue,ue=Ne):(Ne=oc(he.type,he.key,he.props,null,ue.mode,Ne),jo(Ne,he),Ne.return=ue,ue=Ne)}return $(ue);case w:e:{for(qe=he.key;le!==null;){if(le.key===qe)if(le.tag===4&&le.stateNode.containerInfo===he.containerInfo&&le.stateNode.implementation===he.implementation){h(ue,le.sibling),Ne=k(le,he.children||[]),Ne.return=ue,ue=Ne;break e}else{h(ue,le);break}else o(ue,le);le=le.sibling}Ne=ch(he,ue.mode,Ne),Ne.return=ue,ue=Ne}return $(ue);case L:return he=vi(he),Dt(ue,le,he,Ne)}if(F(he))return Fe(ue,le,he,Ne);if(U(he)){if(qe=U(he),typeof qe!="function")throw Error(r(150));return he=qe.call(he),Je(ue,le,he,Ne)}if(typeof he.then=="function")return Dt(ue,le,mc(he),Ne);if(he.$$typeof===b)return Dt(ue,le,uc(ue,he),Ne);pc(ue,he)}return typeof he=="string"&&he!==""||typeof he=="number"||typeof he=="bigint"?(he=""+he,le!==null&&le.tag===6?(h(ue,le.sibling),Ne=k(le,he),Ne.return=ue,ue=Ne):(h(ue,le),Ne=lh(he,ue.mode,Ne),Ne.return=ue,ue=Ne),$(ue)):h(ue,le)}return function(ue,le,he,Ne){try{Eo=0;var qe=Dt(ue,le,he,Ne);return pa=null,qe}catch(Ve){if(Ve===ma||Ve===hc)throw Ve;var wt=Zn(29,Ve,null,ue.mode);return wt.lanes=Ne,wt.return=ue,wt}finally{}}}var Si=Wx(!0),qx=Wx(!1),As=!1;function _h(s){s.updateQueue={baseState:s.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Sh(s,o){s=s.updateQueue,o.updateQueue===s&&(o.updateQueue={baseState:s.baseState,firstBaseUpdate:s.firstBaseUpdate,lastBaseUpdate:s.lastBaseUpdate,shared:s.shared,callbacks:null})}function Ls(s){return{lane:s,tag:0,payload:null,callback:null,next:null}}function Ds(s,o,h){var g=s.updateQueue;if(g===null)return null;if(g=g.shared,(Et&2)!==0){var k=g.pending;return k===null?o.next=o:(o.next=k.next,k.next=o),g.pending=o,o=ac(s),Ax(s,null,h),o}return ic(s,g,o,h),ac(s)}function No(s,o,h){if(o=o.updateQueue,o!==null&&(o=o.shared,(h&4194048)!==0)){var g=o.lanes;g&=s.pendingLanes,h|=g,o.lanes=h,We(s,h)}}function wh(s,o){var h=s.updateQueue,g=s.alternate;if(g!==null&&(g=g.updateQueue,h===g)){var k=null,N=null;if(h=h.firstBaseUpdate,h!==null){do{var $={lane:h.lane,tag:h.tag,payload:h.payload,callback:null,next:null};N===null?k=N=$:N=N.next=$,h=h.next}while(h!==null);N===null?k=N=o:N=N.next=o}else k=N=o;h={baseState:g.baseState,firstBaseUpdate:k,lastBaseUpdate:N,shared:g.shared,callbacks:g.callbacks},s.updateQueue=h;return}s=h.lastBaseUpdate,s===null?h.firstBaseUpdate=o:s.next=o,h.lastBaseUpdate=o}var Ch=!1;function To(){if(Ch){var s=fa;if(s!==null)throw s}}function Ao(s,o,h,g){Ch=!1;var k=s.updateQueue;As=!1;var N=k.firstBaseUpdate,$=k.lastBaseUpdate,X=k.shared.pending;if(X!==null){k.shared.pending=null;var ie=X,fe=ie.next;ie.next=null,$===null?N=fe:$.next=fe,$=ie;var Ce=s.alternate;Ce!==null&&(Ce=Ce.updateQueue,X=Ce.lastBaseUpdate,X!==$&&(X===null?Ce.firstBaseUpdate=fe:X.next=fe,Ce.lastBaseUpdate=ie))}if(N!==null){var Ae=k.baseState;$=0,Ce=fe=ie=null,X=N;do{var me=X.lane&-536870913,ye=me!==X.lane;if(ye?(gt&me)===me:(g&me)===me){me!==0&&me===ha&&(Ch=!0),Ce!==null&&(Ce=Ce.next={lane:0,tag:X.tag,payload:X.payload,callback:null,next:null});e:{var Fe=s,Je=X;me=o;var Dt=h;switch(Je.tag){case 1:if(Fe=Je.payload,typeof Fe=="function"){Ae=Fe.call(Dt,Ae,me);break e}Ae=Fe;break e;case 3:Fe.flags=Fe.flags&-65537|128;case 0:if(Fe=Je.payload,me=typeof Fe=="function"?Fe.call(Dt,Ae,me):Fe,me==null)break e;Ae=m({},Ae,me);break e;case 2:As=!0}}me=X.callback,me!==null&&(s.flags|=64,ye&&(s.flags|=8192),ye=k.callbacks,ye===null?k.callbacks=[me]:ye.push(me))}else ye={lane:me,tag:X.tag,payload:X.payload,callback:X.callback,next:null},Ce===null?(fe=Ce=ye,ie=Ae):Ce=Ce.next=ye,$|=me;if(X=X.next,X===null){if(X=k.shared.pending,X===null)break;ye=X,X=ye.next,ye.next=null,k.lastBaseUpdate=ye,k.shared.pending=null}}while(!0);Ce===null&&(ie=Ae),k.baseState=ie,k.firstBaseUpdate=fe,k.lastBaseUpdate=Ce,N===null&&(k.shared.lanes=0),Ps|=$,s.lanes=$,s.memoizedState=Ae}}function Kx(s,o){if(typeof s!="function")throw Error(r(191,s));s.call(o)}function Yx(s,o){var h=s.callbacks;if(h!==null)for(s.callbacks=null,s=0;s<h.length;s++)Kx(h[s],o)}var ga=B(null),gc=B(0);function Xx(s,o){s=us,P(gc,s),P(ga,o),us=s|o.baseLanes}function kh(){P(gc,us),P(ga,ga.current)}function Eh(){us=gc.current,K(ga),K(gc)}var er=B(null),gr=null;function Rs(s){var o=s.alternate;P(en,en.current&1),P(er,s),gr===null&&(o===null||ga.current!==null||o.memoizedState!==null)&&(gr=s)}function jh(s){P(en,en.current),P(er,s),gr===null&&(gr=s)}function Qx(s){s.tag===22?(P(en,en.current),P(er,s),gr===null&&(gr=s)):Os()}function Os(){P(en,en.current),P(er,er.current)}function tr(s){K(er),gr===s&&(gr=null),K(en)}var en=B(0);function xc(s){for(var o=s;o!==null;){if(o.tag===13){var h=o.memoizedState;if(h!==null&&(h=h.dehydrated,h===null||Of(h)||If(h)))return o}else if(o.tag===19&&(o.memoizedProps.revealOrder==="forwards"||o.memoizedProps.revealOrder==="backwards"||o.memoizedProps.revealOrder==="unstable_legacy-backwards"||o.memoizedProps.revealOrder==="together")){if((o.flags&128)!==0)return o}else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===s)break;for(;o.sibling===null;){if(o.return===null||o.return===s)return null;o=o.return}o.sibling.return=o.return,o=o.sibling}return null}var ns=0,it=null,At=null,ln=null,yc=!1,xa=!1,wi=!1,bc=0,Lo=0,ya=null,KE=0;function qt(){throw Error(r(321))}function Nh(s,o){if(o===null)return!1;for(var h=0;h<o.length&&h<s.length;h++)if(!Jn(s[h],o[h]))return!1;return!0}function Th(s,o,h,g,k,N){return ns=N,it=o,o.memoizedState=null,o.updateQueue=null,o.lanes=0,G.H=s===null||s.memoizedState===null?Oy:Vh,wi=!1,N=h(g,k),wi=!1,xa&&(N=Zx(o,h,g,k)),Jx(s),N}function Jx(s){G.H=Oo;var o=At!==null&&At.next!==null;if(ns=0,ln=At=it=null,yc=!1,Lo=0,ya=null,o)throw Error(r(300));s===null||cn||(s=s.dependencies,s!==null&&cc(s)&&(cn=!0))}function Zx(s,o,h,g){it=s;var k=0;do{if(xa&&(ya=null),Lo=0,xa=!1,25<=k)throw Error(r(301));if(k+=1,ln=At=null,s.updateQueue!=null){var N=s.updateQueue;N.lastEffect=null,N.events=null,N.stores=null,N.memoCache!=null&&(N.memoCache.index=0)}G.H=Iy,N=o(h,g)}while(xa);return N}function YE(){var s=G.H,o=s.useState()[0];return o=typeof o.then=="function"?Do(o):o,s=s.useState()[0],(At!==null?At.memoizedState:null)!==s&&(it.flags|=1024),o}function Ah(){var s=bc!==0;return bc=0,s}function Lh(s,o,h){o.updateQueue=s.updateQueue,o.flags&=-2053,s.lanes&=~h}function Dh(s){if(yc){for(s=s.memoizedState;s!==null;){var o=s.queue;o!==null&&(o.pending=null),s=s.next}yc=!1}ns=0,ln=At=it=null,xa=!1,Lo=bc=0,ya=null}function In(){var s={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ln===null?it.memoizedState=ln=s:ln=ln.next=s,ln}function tn(){if(At===null){var s=it.alternate;s=s!==null?s.memoizedState:null}else s=At.next;var o=ln===null?it.memoizedState:ln.next;if(o!==null)ln=o,At=s;else{if(s===null)throw it.alternate===null?Error(r(467)):Error(r(310));At=s,s={memoizedState:At.memoizedState,baseState:At.baseState,baseQueue:At.baseQueue,queue:At.queue,next:null},ln===null?it.memoizedState=ln=s:ln=ln.next=s}return ln}function vc(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Do(s){var o=Lo;return Lo+=1,ya===null&&(ya=[]),s=Fx(ya,s,o),o=it,(ln===null?o.memoizedState:ln.next)===null&&(o=o.alternate,G.H=o===null||o.memoizedState===null?Oy:Vh),s}function _c(s){if(s!==null&&typeof s=="object"){if(typeof s.then=="function")return Do(s);if(s.$$typeof===b)return En(s)}throw Error(r(438,String(s)))}function Rh(s){var o=null,h=it.updateQueue;if(h!==null&&(o=h.memoCache),o==null){var g=it.alternate;g!==null&&(g=g.updateQueue,g!==null&&(g=g.memoCache,g!=null&&(o={data:g.data.map(function(k){return k.slice()}),index:0})))}if(o==null&&(o={data:[],index:0}),h===null&&(h=vc(),it.updateQueue=h),h.memoCache=o,h=o.data[o.index],h===void 0)for(h=o.data[o.index]=Array(s),g=0;g<s;g++)h[g]=M;return o.index++,h}function rs(s,o){return typeof o=="function"?o(s):o}function Sc(s){var o=tn();return Oh(o,At,s)}function Oh(s,o,h){var g=s.queue;if(g===null)throw Error(r(311));g.lastRenderedReducer=h;var k=s.baseQueue,N=g.pending;if(N!==null){if(k!==null){var $=k.next;k.next=N.next,N.next=$}o.baseQueue=k=N,g.pending=null}if(N=s.baseState,k===null)s.memoizedState=N;else{o=k.next;var X=$=null,ie=null,fe=o,Ce=!1;do{var Ae=fe.lane&-536870913;if(Ae!==fe.lane?(gt&Ae)===Ae:(ns&Ae)===Ae){var me=fe.revertLane;if(me===0)ie!==null&&(ie=ie.next={lane:0,revertLane:0,gesture:null,action:fe.action,hasEagerState:fe.hasEagerState,eagerState:fe.eagerState,next:null}),Ae===ha&&(Ce=!0);else if((ns&me)===me){fe=fe.next,me===ha&&(Ce=!0);continue}else Ae={lane:0,revertLane:fe.revertLane,gesture:null,action:fe.action,hasEagerState:fe.hasEagerState,eagerState:fe.eagerState,next:null},ie===null?(X=ie=Ae,$=N):ie=ie.next=Ae,it.lanes|=me,Ps|=me;Ae=fe.action,wi&&h(N,Ae),N=fe.hasEagerState?fe.eagerState:h(N,Ae)}else me={lane:Ae,revertLane:fe.revertLane,gesture:fe.gesture,action:fe.action,hasEagerState:fe.hasEagerState,eagerState:fe.eagerState,next:null},ie===null?(X=ie=me,$=N):ie=ie.next=me,it.lanes|=Ae,Ps|=Ae;fe=fe.next}while(fe!==null&&fe!==o);if(ie===null?$=N:ie.next=X,!Jn(N,s.memoizedState)&&(cn=!0,Ce&&(h=fa,h!==null)))throw h;s.memoizedState=N,s.baseState=$,s.baseQueue=ie,g.lastRenderedState=N}return k===null&&(g.lanes=0),[s.memoizedState,g.dispatch]}function Ih(s){var o=tn(),h=o.queue;if(h===null)throw Error(r(311));h.lastRenderedReducer=s;var g=h.dispatch,k=h.pending,N=o.memoizedState;if(k!==null){h.pending=null;var $=k=k.next;do N=s(N,$.action),$=$.next;while($!==k);Jn(N,o.memoizedState)||(cn=!0),o.memoizedState=N,o.baseQueue===null&&(o.baseState=N),h.lastRenderedState=N}return[N,g]}function ey(s,o,h){var g=it,k=tn(),N=bt;if(N){if(h===void 0)throw Error(r(407));h=h()}else h=o();var $=!Jn((At||k).memoizedState,h);if($&&(k.memoizedState=h,cn=!0),k=k.queue,Bh(ry.bind(null,g,k,s),[s]),k.getSnapshot!==o||$||ln!==null&&ln.memoizedState.tag&1){if(g.flags|=2048,ba(9,{destroy:void 0},ny.bind(null,g,k,h,o),null),It===null)throw Error(r(349));N||(ns&127)!==0||ty(g,o,h)}return h}function ty(s,o,h){s.flags|=16384,s={getSnapshot:o,value:h},o=it.updateQueue,o===null?(o=vc(),it.updateQueue=o,o.stores=[s]):(h=o.stores,h===null?o.stores=[s]:h.push(s))}function ny(s,o,h,g){o.value=h,o.getSnapshot=g,sy(o)&&iy(s)}function ry(s,o,h){return h(function(){sy(o)&&iy(s)})}function sy(s){var o=s.getSnapshot;s=s.value;try{var h=o();return!Jn(s,h)}catch{return!0}}function iy(s){var o=mi(s,2);o!==null&&Wn(o,s,2)}function Mh(s){var o=In();if(typeof s=="function"){var h=s;if(s=h(),wi){Wt(!0);try{h()}finally{Wt(!1)}}}return o.memoizedState=o.baseState=s,o.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:rs,lastRenderedState:s},o}function ay(s,o,h,g){return s.baseState=h,Oh(s,At,typeof g=="function"?g:rs)}function XE(s,o,h,g,k){if(kc(s))throw Error(r(485));if(s=o.action,s!==null){var N={payload:k,action:s,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function($){N.listeners.push($)}};G.T!==null?h(!0):N.isTransition=!1,g(N),h=o.pending,h===null?(N.next=o.pending=N,oy(o,N)):(N.next=h.next,o.pending=h.next=N)}}function oy(s,o){var h=o.action,g=o.payload,k=s.state;if(o.isTransition){var N=G.T,$={};G.T=$;try{var X=h(k,g),ie=G.S;ie!==null&&ie($,X),ly(s,o,X)}catch(fe){Ph(s,o,fe)}finally{N!==null&&$.types!==null&&(N.types=$.types),G.T=N}}else try{N=h(k,g),ly(s,o,N)}catch(fe){Ph(s,o,fe)}}function ly(s,o,h){h!==null&&typeof h=="object"&&typeof h.then=="function"?h.then(function(g){cy(s,o,g)},function(g){return Ph(s,o,g)}):cy(s,o,h)}function cy(s,o,h){o.status="fulfilled",o.value=h,uy(o),s.state=h,o=s.pending,o!==null&&(h=o.next,h===o?s.pending=null:(h=h.next,o.next=h,oy(s,h)))}function Ph(s,o,h){var g=s.pending;if(s.pending=null,g!==null){g=g.next;do o.status="rejected",o.reason=h,uy(o),o=o.next;while(o!==g)}s.action=null}function uy(s){s=s.listeners;for(var o=0;o<s.length;o++)(0,s[o])()}function dy(s,o){return o}function hy(s,o){if(bt){var h=It.formState;if(h!==null){e:{var g=it;if(bt){if(Ht){t:{for(var k=Ht,N=pr;k.nodeType!==8;){if(!N){k=null;break t}if(k=xr(k.nextSibling),k===null){k=null;break t}}N=k.data,k=N==="F!"||N==="F"?k:null}if(k){Ht=xr(k.nextSibling),g=k.data==="F!";break e}}Ns(g)}g=!1}g&&(o=h[0])}}return h=In(),h.memoizedState=h.baseState=o,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:dy,lastRenderedState:o},h.queue=g,h=Ly.bind(null,it,g),g.dispatch=h,g=Mh(!1),N=Fh.bind(null,it,!1,g.queue),g=In(),k={state:o,dispatch:null,action:s,pending:null},g.queue=k,h=XE.bind(null,it,k,N,h),k.dispatch=h,g.memoizedState=s,[o,h,!1]}function fy(s){var o=tn();return my(o,At,s)}function my(s,o,h){if(o=Oh(s,o,dy)[0],s=Sc(rs)[0],typeof o=="object"&&o!==null&&typeof o.then=="function")try{var g=Do(o)}catch($){throw $===ma?hc:$}else g=o;o=tn();var k=o.queue,N=k.dispatch;return h!==o.memoizedState&&(it.flags|=2048,ba(9,{destroy:void 0},QE.bind(null,k,h),null)),[g,N,s]}function QE(s,o){s.action=o}function py(s){var o=tn(),h=At;if(h!==null)return my(o,h,s);tn(),o=o.memoizedState,h=tn();var g=h.queue.dispatch;return h.memoizedState=s,[o,g,!1]}function ba(s,o,h,g){return s={tag:s,create:h,deps:g,inst:o,next:null},o=it.updateQueue,o===null&&(o=vc(),it.updateQueue=o),h=o.lastEffect,h===null?o.lastEffect=s.next=s:(g=h.next,h.next=s,s.next=g,o.lastEffect=s),s}function gy(){return tn().memoizedState}function wc(s,o,h,g){var k=In();it.flags|=s,k.memoizedState=ba(1|o,{destroy:void 0},h,g===void 0?null:g)}function Cc(s,o,h,g){var k=tn();g=g===void 0?null:g;var N=k.memoizedState.inst;At!==null&&g!==null&&Nh(g,At.memoizedState.deps)?k.memoizedState=ba(o,N,h,g):(it.flags|=s,k.memoizedState=ba(1|o,N,h,g))}function xy(s,o){wc(8390656,8,s,o)}function Bh(s,o){Cc(2048,8,s,o)}function JE(s){it.flags|=4;var o=it.updateQueue;if(o===null)o=vc(),it.updateQueue=o,o.events=[s];else{var h=o.events;h===null?o.events=[s]:h.push(s)}}function yy(s){var o=tn().memoizedState;return JE({ref:o,nextImpl:s}),function(){if((Et&2)!==0)throw Error(r(440));return o.impl.apply(void 0,arguments)}}function by(s,o){return Cc(4,2,s,o)}function vy(s,o){return Cc(4,4,s,o)}function _y(s,o){if(typeof o=="function"){s=s();var h=o(s);return function(){typeof h=="function"?h():o(null)}}if(o!=null)return s=s(),o.current=s,function(){o.current=null}}function Sy(s,o,h){h=h!=null?h.concat([s]):null,Cc(4,4,_y.bind(null,o,s),h)}function $h(){}function wy(s,o){var h=tn();o=o===void 0?null:o;var g=h.memoizedState;return o!==null&&Nh(o,g[1])?g[0]:(h.memoizedState=[s,o],s)}function Cy(s,o){var h=tn();o=o===void 0?null:o;var g=h.memoizedState;if(o!==null&&Nh(o,g[1]))return g[0];if(g=s(),wi){Wt(!0);try{s()}finally{Wt(!1)}}return h.memoizedState=[g,o],g}function zh(s,o,h){return h===void 0||(ns&1073741824)!==0&&(gt&261930)===0?s.memoizedState=o:(s.memoizedState=h,s=kb(),it.lanes|=s,Ps|=s,h)}function ky(s,o,h,g){return Jn(h,o)?h:ga.current!==null?(s=zh(s,h,g),Jn(s,o)||(cn=!0),s):(ns&42)===0||(ns&1073741824)!==0&&(gt&261930)===0?(cn=!0,s.memoizedState=h):(s=kb(),it.lanes|=s,Ps|=s,o)}function Ey(s,o,h,g,k){var N=Z.p;Z.p=N!==0&&8>N?N:8;var $=G.T,X={};G.T=X,Fh(s,!1,o,h);try{var ie=k(),fe=G.S;if(fe!==null&&fe(X,ie),ie!==null&&typeof ie=="object"&&typeof ie.then=="function"){var Ce=qE(ie,g);Ro(s,o,Ce,sr(s))}else Ro(s,o,g,sr(s))}catch(Ae){Ro(s,o,{then:function(){},status:"rejected",reason:Ae},sr())}finally{Z.p=N,$!==null&&X.types!==null&&($.types=X.types),G.T=$}}function ZE(){}function Hh(s,o,h,g){if(s.tag!==5)throw Error(r(476));var k=jy(s).queue;Ey(s,k,o,q,h===null?ZE:function(){return Ny(s),h(g)})}function jy(s){var o=s.memoizedState;if(o!==null)return o;o={memoizedState:q,baseState:q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:rs,lastRenderedState:q},next:null};var h={};return o.next={memoizedState:h,baseState:h,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:rs,lastRenderedState:h},next:null},s.memoizedState=o,s=s.alternate,s!==null&&(s.memoizedState=o),o}function Ny(s){var o=jy(s);o.next===null&&(o=s.alternate.memoizedState),Ro(s,o.next.queue,{},sr())}function Uh(){return En(Xo)}function Ty(){return tn().memoizedState}function Ay(){return tn().memoizedState}function ej(s){for(var o=s.return;o!==null;){switch(o.tag){case 24:case 3:var h=sr();s=Ls(h);var g=Ds(o,s,h);g!==null&&(Wn(g,o,h),No(g,o,h)),o={cache:xh()},s.payload=o;return}o=o.return}}function tj(s,o,h){var g=sr();h={lane:g,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},kc(s)?Dy(o,h):(h=ah(s,o,h,g),h!==null&&(Wn(h,s,g),Ry(h,o,g)))}function Ly(s,o,h){var g=sr();Ro(s,o,h,g)}function Ro(s,o,h,g){var k={lane:g,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null};if(kc(s))Dy(o,k);else{var N=s.alternate;if(s.lanes===0&&(N===null||N.lanes===0)&&(N=o.lastRenderedReducer,N!==null))try{var $=o.lastRenderedState,X=N($,h);if(k.hasEagerState=!0,k.eagerState=X,Jn(X,$))return ic(s,o,k,0),It===null&&sc(),!1}catch{}finally{}if(h=ah(s,o,k,g),h!==null)return Wn(h,s,g),Ry(h,o,g),!0}return!1}function Fh(s,o,h,g){if(g={lane:2,revertLane:Sf(),gesture:null,action:g,hasEagerState:!1,eagerState:null,next:null},kc(s)){if(o)throw Error(r(479))}else o=ah(s,h,g,2),o!==null&&Wn(o,s,2)}function kc(s){var o=s.alternate;return s===it||o!==null&&o===it}function Dy(s,o){xa=yc=!0;var h=s.pending;h===null?o.next=o:(o.next=h.next,h.next=o),s.pending=o}function Ry(s,o,h){if((h&4194048)!==0){var g=o.lanes;g&=s.pendingLanes,h|=g,o.lanes=h,We(s,h)}}var Oo={readContext:En,use:_c,useCallback:qt,useContext:qt,useEffect:qt,useImperativeHandle:qt,useLayoutEffect:qt,useInsertionEffect:qt,useMemo:qt,useReducer:qt,useRef:qt,useState:qt,useDebugValue:qt,useDeferredValue:qt,useTransition:qt,useSyncExternalStore:qt,useId:qt,useHostTransitionStatus:qt,useFormState:qt,useActionState:qt,useOptimistic:qt,useMemoCache:qt,useCacheRefresh:qt};Oo.useEffectEvent=qt;var Oy={readContext:En,use:_c,useCallback:function(s,o){return In().memoizedState=[s,o===void 0?null:o],s},useContext:En,useEffect:xy,useImperativeHandle:function(s,o,h){h=h!=null?h.concat([s]):null,wc(4194308,4,_y.bind(null,o,s),h)},useLayoutEffect:function(s,o){return wc(4194308,4,s,o)},useInsertionEffect:function(s,o){wc(4,2,s,o)},useMemo:function(s,o){var h=In();o=o===void 0?null:o;var g=s();if(wi){Wt(!0);try{s()}finally{Wt(!1)}}return h.memoizedState=[g,o],g},useReducer:function(s,o,h){var g=In();if(h!==void 0){var k=h(o);if(wi){Wt(!0);try{h(o)}finally{Wt(!1)}}}else k=o;return g.memoizedState=g.baseState=k,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:s,lastRenderedState:k},g.queue=s,s=s.dispatch=tj.bind(null,it,s),[g.memoizedState,s]},useRef:function(s){var o=In();return s={current:s},o.memoizedState=s},useState:function(s){s=Mh(s);var o=s.queue,h=Ly.bind(null,it,o);return o.dispatch=h,[s.memoizedState,h]},useDebugValue:$h,useDeferredValue:function(s,o){var h=In();return zh(h,s,o)},useTransition:function(){var s=Mh(!1);return s=Ey.bind(null,it,s.queue,!0,!1),In().memoizedState=s,[!1,s]},useSyncExternalStore:function(s,o,h){var g=it,k=In();if(bt){if(h===void 0)throw Error(r(407));h=h()}else{if(h=o(),It===null)throw Error(r(349));(gt&127)!==0||ty(g,o,h)}k.memoizedState=h;var N={value:h,getSnapshot:o};return k.queue=N,xy(ry.bind(null,g,N,s),[s]),g.flags|=2048,ba(9,{destroy:void 0},ny.bind(null,g,N,h,o),null),h},useId:function(){var s=In(),o=It.identifierPrefix;if(bt){var h=Pr,g=Mr;h=(g&~(1<<32-ut(g)-1)).toString(32)+h,o="_"+o+"R_"+h,h=bc++,0<h&&(o+="H"+h.toString(32)),o+="_"}else h=KE++,o="_"+o+"r_"+h.toString(32)+"_";return s.memoizedState=o},useHostTransitionStatus:Uh,useFormState:hy,useActionState:hy,useOptimistic:function(s){var o=In();o.memoizedState=o.baseState=s;var h={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return o.queue=h,o=Fh.bind(null,it,!0,h),h.dispatch=o,[s,o]},useMemoCache:Rh,useCacheRefresh:function(){return In().memoizedState=ej.bind(null,it)},useEffectEvent:function(s){var o=In(),h={impl:s};return o.memoizedState=h,function(){if((Et&2)!==0)throw Error(r(440));return h.impl.apply(void 0,arguments)}}},Vh={readContext:En,use:_c,useCallback:wy,useContext:En,useEffect:Bh,useImperativeHandle:Sy,useInsertionEffect:by,useLayoutEffect:vy,useMemo:Cy,useReducer:Sc,useRef:gy,useState:function(){return Sc(rs)},useDebugValue:$h,useDeferredValue:function(s,o){var h=tn();return ky(h,At.memoizedState,s,o)},useTransition:function(){var s=Sc(rs)[0],o=tn().memoizedState;return[typeof s=="boolean"?s:Do(s),o]},useSyncExternalStore:ey,useId:Ty,useHostTransitionStatus:Uh,useFormState:fy,useActionState:fy,useOptimistic:function(s,o){var h=tn();return ay(h,At,s,o)},useMemoCache:Rh,useCacheRefresh:Ay};Vh.useEffectEvent=yy;var Iy={readContext:En,use:_c,useCallback:wy,useContext:En,useEffect:Bh,useImperativeHandle:Sy,useInsertionEffect:by,useLayoutEffect:vy,useMemo:Cy,useReducer:Ih,useRef:gy,useState:function(){return Ih(rs)},useDebugValue:$h,useDeferredValue:function(s,o){var h=tn();return At===null?zh(h,s,o):ky(h,At.memoizedState,s,o)},useTransition:function(){var s=Ih(rs)[0],o=tn().memoizedState;return[typeof s=="boolean"?s:Do(s),o]},useSyncExternalStore:ey,useId:Ty,useHostTransitionStatus:Uh,useFormState:py,useActionState:py,useOptimistic:function(s,o){var h=tn();return At!==null?ay(h,At,s,o):(h.baseState=s,[s,h.queue.dispatch])},useMemoCache:Rh,useCacheRefresh:Ay};Iy.useEffectEvent=yy;function Gh(s,o,h,g){o=s.memoizedState,h=h(g,o),h=h==null?o:m({},o,h),s.memoizedState=h,s.lanes===0&&(s.updateQueue.baseState=h)}var Wh={enqueueSetState:function(s,o,h){s=s._reactInternals;var g=sr(),k=Ls(g);k.payload=o,h!=null&&(k.callback=h),o=Ds(s,k,g),o!==null&&(Wn(o,s,g),No(o,s,g))},enqueueReplaceState:function(s,o,h){s=s._reactInternals;var g=sr(),k=Ls(g);k.tag=1,k.payload=o,h!=null&&(k.callback=h),o=Ds(s,k,g),o!==null&&(Wn(o,s,g),No(o,s,g))},enqueueForceUpdate:function(s,o){s=s._reactInternals;var h=sr(),g=Ls(h);g.tag=2,o!=null&&(g.callback=o),o=Ds(s,g,h),o!==null&&(Wn(o,s,h),No(o,s,h))}};function My(s,o,h,g,k,N,$){return s=s.stateNode,typeof s.shouldComponentUpdate=="function"?s.shouldComponentUpdate(g,N,$):o.prototype&&o.prototype.isPureReactComponent?!vo(h,g)||!vo(k,N):!0}function Py(s,o,h,g){s=o.state,typeof o.componentWillReceiveProps=="function"&&o.componentWillReceiveProps(h,g),typeof o.UNSAFE_componentWillReceiveProps=="function"&&o.UNSAFE_componentWillReceiveProps(h,g),o.state!==s&&Wh.enqueueReplaceState(o,o.state,null)}function Ci(s,o){var h=o;if("ref"in o){h={};for(var g in o)g!=="ref"&&(h[g]=o[g])}if(s=s.defaultProps){h===o&&(h=m({},h));for(var k in s)h[k]===void 0&&(h[k]=s[k])}return h}function By(s){rc(s)}function $y(s){console.error(s)}function zy(s){rc(s)}function Ec(s,o){try{var h=s.onUncaughtError;h(o.value,{componentStack:o.stack})}catch(g){setTimeout(function(){throw g})}}function Hy(s,o,h){try{var g=s.onCaughtError;g(h.value,{componentStack:h.stack,errorBoundary:o.tag===1?o.stateNode:null})}catch(k){setTimeout(function(){throw k})}}function qh(s,o,h){return h=Ls(h),h.tag=3,h.payload={element:null},h.callback=function(){Ec(s,o)},h}function Uy(s){return s=Ls(s),s.tag=3,s}function Fy(s,o,h,g){var k=h.type.getDerivedStateFromError;if(typeof k=="function"){var N=g.value;s.payload=function(){return k(N)},s.callback=function(){Hy(o,h,g)}}var $=h.stateNode;$!==null&&typeof $.componentDidCatch=="function"&&(s.callback=function(){Hy(o,h,g),typeof k!="function"&&(Bs===null?Bs=new Set([this]):Bs.add(this));var X=g.stack;this.componentDidCatch(g.value,{componentStack:X!==null?X:""})})}function nj(s,o,h,g,k){if(h.flags|=32768,g!==null&&typeof g=="object"&&typeof g.then=="function"){if(o=h.alternate,o!==null&&da(o,h,k,!0),h=er.current,h!==null){switch(h.tag){case 31:case 13:return gr===null?Bc():h.alternate===null&&Kt===0&&(Kt=3),h.flags&=-257,h.flags|=65536,h.lanes=k,g===fc?h.flags|=16384:(o=h.updateQueue,o===null?h.updateQueue=new Set([g]):o.add(g),bf(s,g,k)),!1;case 22:return h.flags|=65536,g===fc?h.flags|=16384:(o=h.updateQueue,o===null?(o={transitions:null,markerInstances:null,retryQueue:new Set([g])},h.updateQueue=o):(h=o.retryQueue,h===null?o.retryQueue=new Set([g]):h.add(g)),bf(s,g,k)),!1}throw Error(r(435,h.tag))}return bf(s,g,k),Bc(),!1}if(bt)return o=er.current,o!==null?((o.flags&65536)===0&&(o.flags|=256),o.flags|=65536,o.lanes=k,g!==hh&&(s=Error(r(422),{cause:g}),wo(hr(s,h)))):(g!==hh&&(o=Error(r(423),{cause:g}),wo(hr(o,h))),s=s.current.alternate,s.flags|=65536,k&=-k,s.lanes|=k,g=hr(g,h),k=qh(s.stateNode,g,k),wh(s,k),Kt!==4&&(Kt=2)),!1;var N=Error(r(520),{cause:g});if(N=hr(N,h),Uo===null?Uo=[N]:Uo.push(N),Kt!==4&&(Kt=2),o===null)return!0;g=hr(g,h),h=o;do{switch(h.tag){case 3:return h.flags|=65536,s=k&-k,h.lanes|=s,s=qh(h.stateNode,g,s),wh(h,s),!1;case 1:if(o=h.type,N=h.stateNode,(h.flags&128)===0&&(typeof o.getDerivedStateFromError=="function"||N!==null&&typeof N.componentDidCatch=="function"&&(Bs===null||!Bs.has(N))))return h.flags|=65536,k&=-k,h.lanes|=k,k=Uy(k),Fy(k,s,h,g),wh(h,k),!1}h=h.return}while(h!==null);return!1}var Kh=Error(r(461)),cn=!1;function jn(s,o,h,g){o.child=s===null?qx(o,null,h,g):Si(o,s.child,h,g)}function Vy(s,o,h,g,k){h=h.render;var N=o.ref;if("ref"in g){var $={};for(var X in g)X!=="ref"&&($[X]=g[X])}else $=g;return yi(o),g=Th(s,o,h,$,N,k),X=Ah(),s!==null&&!cn?(Lh(s,o,k),ss(s,o,k)):(bt&&X&&uh(o),o.flags|=1,jn(s,o,g,k),o.child)}function Gy(s,o,h,g,k){if(s===null){var N=h.type;return typeof N=="function"&&!oh(N)&&N.defaultProps===void 0&&h.compare===null?(o.tag=15,o.type=N,Wy(s,o,N,g,k)):(s=oc(h.type,null,g,o,o.mode,k),s.ref=o.ref,s.return=o,o.child=s)}if(N=s.child,!nf(s,k)){var $=N.memoizedProps;if(h=h.compare,h=h!==null?h:vo,h($,g)&&s.ref===o.ref)return ss(s,o,k)}return o.flags|=1,s=Jr(N,g),s.ref=o.ref,s.return=o,o.child=s}function Wy(s,o,h,g,k){if(s!==null){var N=s.memoizedProps;if(vo(N,g)&&s.ref===o.ref)if(cn=!1,o.pendingProps=g=N,nf(s,k))(s.flags&131072)!==0&&(cn=!0);else return o.lanes=s.lanes,ss(s,o,k)}return Yh(s,o,h,g,k)}function qy(s,o,h,g){var k=g.children,N=s!==null?s.memoizedState:null;if(s===null&&o.stateNode===null&&(o.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),g.mode==="hidden"){if((o.flags&128)!==0){if(N=N!==null?N.baseLanes|h:h,s!==null){for(g=o.child=s.child,k=0;g!==null;)k=k|g.lanes|g.childLanes,g=g.sibling;g=k&~N}else g=0,o.child=null;return Ky(s,o,N,h,g)}if((h&536870912)!==0)o.memoizedState={baseLanes:0,cachePool:null},s!==null&&dc(o,N!==null?N.cachePool:null),N!==null?Xx(o,N):kh(),Qx(o);else return g=o.lanes=536870912,Ky(s,o,N!==null?N.baseLanes|h:h,h,g)}else N!==null?(dc(o,N.cachePool),Xx(o,N),Os(),o.memoizedState=null):(s!==null&&dc(o,null),kh(),Os());return jn(s,o,k,h),o.child}function Io(s,o){return s!==null&&s.tag===22||o.stateNode!==null||(o.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),o.sibling}function Ky(s,o,h,g,k){var N=bh();return N=N===null?null:{parent:on._currentValue,pool:N},o.memoizedState={baseLanes:h,cachePool:N},s!==null&&dc(o,null),kh(),Qx(o),s!==null&&da(s,o,g,!0),o.childLanes=k,null}function jc(s,o){return o=Tc({mode:o.mode,children:o.children},s.mode),o.ref=s.ref,s.child=o,o.return=s,o}function Yy(s,o,h){return Si(o,s.child,null,h),s=jc(o,o.pendingProps),s.flags|=2,tr(o),o.memoizedState=null,s}function rj(s,o,h){var g=o.pendingProps,k=(o.flags&128)!==0;if(o.flags&=-129,s===null){if(bt){if(g.mode==="hidden")return s=jc(o,g),o.lanes=536870912,Io(null,s);if(jh(o),(s=Ht)?(s=ov(s,pr),s=s!==null&&s.data==="&"?s:null,s!==null&&(o.memoizedState={dehydrated:s,treeContext:Es!==null?{id:Mr,overflow:Pr}:null,retryLane:536870912,hydrationErrors:null},h=Dx(s),h.return=o,o.child=h,kn=o,Ht=null)):s=null,s===null)throw Ns(o);return o.lanes=536870912,null}return jc(o,g)}var N=s.memoizedState;if(N!==null){var $=N.dehydrated;if(jh(o),k)if(o.flags&256)o.flags&=-257,o=Yy(s,o,h);else if(o.memoizedState!==null)o.child=s.child,o.flags|=128,o=null;else throw Error(r(558));else if(cn||da(s,o,h,!1),k=(h&s.childLanes)!==0,cn||k){if(g=It,g!==null&&($=at(g,h),$!==0&&$!==N.retryLane))throw N.retryLane=$,mi(s,$),Wn(g,s,$),Kh;Bc(),o=Yy(s,o,h)}else s=N.treeContext,Ht=xr($.nextSibling),kn=o,bt=!0,js=null,pr=!1,s!==null&&Ix(o,s),o=jc(o,g),o.flags|=4096;return o}return s=Jr(s.child,{mode:g.mode,children:g.children}),s.ref=o.ref,o.child=s,s.return=o,s}function Nc(s,o){var h=o.ref;if(h===null)s!==null&&s.ref!==null&&(o.flags|=4194816);else{if(typeof h!="function"&&typeof h!="object")throw Error(r(284));(s===null||s.ref!==h)&&(o.flags|=4194816)}}function Yh(s,o,h,g,k){return yi(o),h=Th(s,o,h,g,void 0,k),g=Ah(),s!==null&&!cn?(Lh(s,o,k),ss(s,o,k)):(bt&&g&&uh(o),o.flags|=1,jn(s,o,h,k),o.child)}function Xy(s,o,h,g,k,N){return yi(o),o.updateQueue=null,h=Zx(o,g,h,k),Jx(s),g=Ah(),s!==null&&!cn?(Lh(s,o,N),ss(s,o,N)):(bt&&g&&uh(o),o.flags|=1,jn(s,o,h,N),o.child)}function Qy(s,o,h,g,k){if(yi(o),o.stateNode===null){var N=oa,$=h.contextType;typeof $=="object"&&$!==null&&(N=En($)),N=new h(g,N),o.memoizedState=N.state!==null&&N.state!==void 0?N.state:null,N.updater=Wh,o.stateNode=N,N._reactInternals=o,N=o.stateNode,N.props=g,N.state=o.memoizedState,N.refs={},_h(o),$=h.contextType,N.context=typeof $=="object"&&$!==null?En($):oa,N.state=o.memoizedState,$=h.getDerivedStateFromProps,typeof $=="function"&&(Gh(o,h,$,g),N.state=o.memoizedState),typeof h.getDerivedStateFromProps=="function"||typeof N.getSnapshotBeforeUpdate=="function"||typeof N.UNSAFE_componentWillMount!="function"&&typeof N.componentWillMount!="function"||($=N.state,typeof N.componentWillMount=="function"&&N.componentWillMount(),typeof N.UNSAFE_componentWillMount=="function"&&N.UNSAFE_componentWillMount(),$!==N.state&&Wh.enqueueReplaceState(N,N.state,null),Ao(o,g,N,k),To(),N.state=o.memoizedState),typeof N.componentDidMount=="function"&&(o.flags|=4194308),g=!0}else if(s===null){N=o.stateNode;var X=o.memoizedProps,ie=Ci(h,X);N.props=ie;var fe=N.context,Ce=h.contextType;$=oa,typeof Ce=="object"&&Ce!==null&&($=En(Ce));var Ae=h.getDerivedStateFromProps;Ce=typeof Ae=="function"||typeof N.getSnapshotBeforeUpdate=="function",X=o.pendingProps!==X,Ce||typeof N.UNSAFE_componentWillReceiveProps!="function"&&typeof N.componentWillReceiveProps!="function"||(X||fe!==$)&&Py(o,N,g,$),As=!1;var me=o.memoizedState;N.state=me,Ao(o,g,N,k),To(),fe=o.memoizedState,X||me!==fe||As?(typeof Ae=="function"&&(Gh(o,h,Ae,g),fe=o.memoizedState),(ie=As||My(o,h,ie,g,me,fe,$))?(Ce||typeof N.UNSAFE_componentWillMount!="function"&&typeof N.componentWillMount!="function"||(typeof N.componentWillMount=="function"&&N.componentWillMount(),typeof N.UNSAFE_componentWillMount=="function"&&N.UNSAFE_componentWillMount()),typeof N.componentDidMount=="function"&&(o.flags|=4194308)):(typeof N.componentDidMount=="function"&&(o.flags|=4194308),o.memoizedProps=g,o.memoizedState=fe),N.props=g,N.state=fe,N.context=$,g=ie):(typeof N.componentDidMount=="function"&&(o.flags|=4194308),g=!1)}else{N=o.stateNode,Sh(s,o),$=o.memoizedProps,Ce=Ci(h,$),N.props=Ce,Ae=o.pendingProps,me=N.context,fe=h.contextType,ie=oa,typeof fe=="object"&&fe!==null&&(ie=En(fe)),X=h.getDerivedStateFromProps,(fe=typeof X=="function"||typeof N.getSnapshotBeforeUpdate=="function")||typeof N.UNSAFE_componentWillReceiveProps!="function"&&typeof N.componentWillReceiveProps!="function"||($!==Ae||me!==ie)&&Py(o,N,g,ie),As=!1,me=o.memoizedState,N.state=me,Ao(o,g,N,k),To();var ye=o.memoizedState;$!==Ae||me!==ye||As||s!==null&&s.dependencies!==null&&cc(s.dependencies)?(typeof X=="function"&&(Gh(o,h,X,g),ye=o.memoizedState),(Ce=As||My(o,h,Ce,g,me,ye,ie)||s!==null&&s.dependencies!==null&&cc(s.dependencies))?(fe||typeof N.UNSAFE_componentWillUpdate!="function"&&typeof N.componentWillUpdate!="function"||(typeof N.componentWillUpdate=="function"&&N.componentWillUpdate(g,ye,ie),typeof N.UNSAFE_componentWillUpdate=="function"&&N.UNSAFE_componentWillUpdate(g,ye,ie)),typeof N.componentDidUpdate=="function"&&(o.flags|=4),typeof N.getSnapshotBeforeUpdate=="function"&&(o.flags|=1024)):(typeof N.componentDidUpdate!="function"||$===s.memoizedProps&&me===s.memoizedState||(o.flags|=4),typeof N.getSnapshotBeforeUpdate!="function"||$===s.memoizedProps&&me===s.memoizedState||(o.flags|=1024),o.memoizedProps=g,o.memoizedState=ye),N.props=g,N.state=ye,N.context=ie,g=Ce):(typeof N.componentDidUpdate!="function"||$===s.memoizedProps&&me===s.memoizedState||(o.flags|=4),typeof N.getSnapshotBeforeUpdate!="function"||$===s.memoizedProps&&me===s.memoizedState||(o.flags|=1024),g=!1)}return N=g,Nc(s,o),g=(o.flags&128)!==0,N||g?(N=o.stateNode,h=g&&typeof h.getDerivedStateFromError!="function"?null:N.render(),o.flags|=1,s!==null&&g?(o.child=Si(o,s.child,null,k),o.child=Si(o,null,h,k)):jn(s,o,h,k),o.memoizedState=N.state,s=o.child):s=ss(s,o,k),s}function Jy(s,o,h,g){return gi(),o.flags|=256,jn(s,o,h,g),o.child}var Xh={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Qh(s){return{baseLanes:s,cachePool:Hx()}}function Jh(s,o,h){return s=s!==null?s.childLanes&~h:0,o&&(s|=rr),s}function Zy(s,o,h){var g=o.pendingProps,k=!1,N=(o.flags&128)!==0,$;if(($=N)||($=s!==null&&s.memoizedState===null?!1:(en.current&2)!==0),$&&(k=!0,o.flags&=-129),$=(o.flags&32)!==0,o.flags&=-33,s===null){if(bt){if(k?Rs(o):Os(),(s=Ht)?(s=ov(s,pr),s=s!==null&&s.data!=="&"?s:null,s!==null&&(o.memoizedState={dehydrated:s,treeContext:Es!==null?{id:Mr,overflow:Pr}:null,retryLane:536870912,hydrationErrors:null},h=Dx(s),h.return=o,o.child=h,kn=o,Ht=null)):s=null,s===null)throw Ns(o);return If(s)?o.lanes=32:o.lanes=536870912,null}var X=g.children;return g=g.fallback,k?(Os(),k=o.mode,X=Tc({mode:"hidden",children:X},k),g=pi(g,k,h,null),X.return=o,g.return=o,X.sibling=g,o.child=X,g=o.child,g.memoizedState=Qh(h),g.childLanes=Jh(s,$,h),o.memoizedState=Xh,Io(null,g)):(Rs(o),Zh(o,X))}var ie=s.memoizedState;if(ie!==null&&(X=ie.dehydrated,X!==null)){if(N)o.flags&256?(Rs(o),o.flags&=-257,o=ef(s,o,h)):o.memoizedState!==null?(Os(),o.child=s.child,o.flags|=128,o=null):(Os(),X=g.fallback,k=o.mode,g=Tc({mode:"visible",children:g.children},k),X=pi(X,k,h,null),X.flags|=2,g.return=o,X.return=o,g.sibling=X,o.child=g,Si(o,s.child,null,h),g=o.child,g.memoizedState=Qh(h),g.childLanes=Jh(s,$,h),o.memoizedState=Xh,o=Io(null,g));else if(Rs(o),If(X)){if($=X.nextSibling&&X.nextSibling.dataset,$)var fe=$.dgst;$=fe,g=Error(r(419)),g.stack="",g.digest=$,wo({value:g,source:null,stack:null}),o=ef(s,o,h)}else if(cn||da(s,o,h,!1),$=(h&s.childLanes)!==0,cn||$){if($=It,$!==null&&(g=at($,h),g!==0&&g!==ie.retryLane))throw ie.retryLane=g,mi(s,g),Wn($,s,g),Kh;Of(X)||Bc(),o=ef(s,o,h)}else Of(X)?(o.flags|=192,o.child=s.child,o=null):(s=ie.treeContext,Ht=xr(X.nextSibling),kn=o,bt=!0,js=null,pr=!1,s!==null&&Ix(o,s),o=Zh(o,g.children),o.flags|=4096);return o}return k?(Os(),X=g.fallback,k=o.mode,ie=s.child,fe=ie.sibling,g=Jr(ie,{mode:"hidden",children:g.children}),g.subtreeFlags=ie.subtreeFlags&65011712,fe!==null?X=Jr(fe,X):(X=pi(X,k,h,null),X.flags|=2),X.return=o,g.return=o,g.sibling=X,o.child=g,Io(null,g),g=o.child,X=s.child.memoizedState,X===null?X=Qh(h):(k=X.cachePool,k!==null?(ie=on._currentValue,k=k.parent!==ie?{parent:ie,pool:ie}:k):k=Hx(),X={baseLanes:X.baseLanes|h,cachePool:k}),g.memoizedState=X,g.childLanes=Jh(s,$,h),o.memoizedState=Xh,Io(s.child,g)):(Rs(o),h=s.child,s=h.sibling,h=Jr(h,{mode:"visible",children:g.children}),h.return=o,h.sibling=null,s!==null&&($=o.deletions,$===null?(o.deletions=[s],o.flags|=16):$.push(s)),o.child=h,o.memoizedState=null,h)}function Zh(s,o){return o=Tc({mode:"visible",children:o},s.mode),o.return=s,s.child=o}function Tc(s,o){return s=Zn(22,s,null,o),s.lanes=0,s}function ef(s,o,h){return Si(o,s.child,null,h),s=Zh(o,o.pendingProps.children),s.flags|=2,o.memoizedState=null,s}function eb(s,o,h){s.lanes|=o;var g=s.alternate;g!==null&&(g.lanes|=o),ph(s.return,o,h)}function tf(s,o,h,g,k,N){var $=s.memoizedState;$===null?s.memoizedState={isBackwards:o,rendering:null,renderingStartTime:0,last:g,tail:h,tailMode:k,treeForkCount:N}:($.isBackwards=o,$.rendering=null,$.renderingStartTime=0,$.last=g,$.tail=h,$.tailMode=k,$.treeForkCount=N)}function tb(s,o,h){var g=o.pendingProps,k=g.revealOrder,N=g.tail;g=g.children;var $=en.current,X=($&2)!==0;if(X?($=$&1|2,o.flags|=128):$&=1,P(en,$),jn(s,o,g,h),g=bt?So:0,!X&&s!==null&&(s.flags&128)!==0)e:for(s=o.child;s!==null;){if(s.tag===13)s.memoizedState!==null&&eb(s,h,o);else if(s.tag===19)eb(s,h,o);else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===o)break e;for(;s.sibling===null;){if(s.return===null||s.return===o)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}switch(k){case"forwards":for(h=o.child,k=null;h!==null;)s=h.alternate,s!==null&&xc(s)===null&&(k=h),h=h.sibling;h=k,h===null?(k=o.child,o.child=null):(k=h.sibling,h.sibling=null),tf(o,!1,k,h,N,g);break;case"backwards":case"unstable_legacy-backwards":for(h=null,k=o.child,o.child=null;k!==null;){if(s=k.alternate,s!==null&&xc(s)===null){o.child=k;break}s=k.sibling,k.sibling=h,h=k,k=s}tf(o,!0,h,null,N,g);break;case"together":tf(o,!1,null,null,void 0,g);break;default:o.memoizedState=null}return o.child}function ss(s,o,h){if(s!==null&&(o.dependencies=s.dependencies),Ps|=o.lanes,(h&o.childLanes)===0)if(s!==null){if(da(s,o,h,!1),(h&o.childLanes)===0)return null}else return null;if(s!==null&&o.child!==s.child)throw Error(r(153));if(o.child!==null){for(s=o.child,h=Jr(s,s.pendingProps),o.child=h,h.return=o;s.sibling!==null;)s=s.sibling,h=h.sibling=Jr(s,s.pendingProps),h.return=o;h.sibling=null}return o.child}function nf(s,o){return(s.lanes&o)!==0?!0:(s=s.dependencies,!!(s!==null&&cc(s)))}function sj(s,o,h){switch(o.tag){case 3:W(o,o.stateNode.containerInfo),Ts(o,on,s.memoizedState.cache),gi();break;case 27:case 5:se(o);break;case 4:W(o,o.stateNode.containerInfo);break;case 10:Ts(o,o.type,o.memoizedProps.value);break;case 31:if(o.memoizedState!==null)return o.flags|=128,jh(o),null;break;case 13:var g=o.memoizedState;if(g!==null)return g.dehydrated!==null?(Rs(o),o.flags|=128,null):(h&o.child.childLanes)!==0?Zy(s,o,h):(Rs(o),s=ss(s,o,h),s!==null?s.sibling:null);Rs(o);break;case 19:var k=(s.flags&128)!==0;if(g=(h&o.childLanes)!==0,g||(da(s,o,h,!1),g=(h&o.childLanes)!==0),k){if(g)return tb(s,o,h);o.flags|=128}if(k=o.memoizedState,k!==null&&(k.rendering=null,k.tail=null,k.lastEffect=null),P(en,en.current),g)break;return null;case 22:return o.lanes=0,qy(s,o,h,o.pendingProps);case 24:Ts(o,on,s.memoizedState.cache)}return ss(s,o,h)}function nb(s,o,h){if(s!==null)if(s.memoizedProps!==o.pendingProps)cn=!0;else{if(!nf(s,h)&&(o.flags&128)===0)return cn=!1,sj(s,o,h);cn=(s.flags&131072)!==0}else cn=!1,bt&&(o.flags&1048576)!==0&&Ox(o,So,o.index);switch(o.lanes=0,o.tag){case 16:e:{var g=o.pendingProps;if(s=vi(o.elementType),o.type=s,typeof s=="function")oh(s)?(g=Ci(s,g),o.tag=1,o=Qy(null,o,s,g,h)):(o.tag=0,o=Yh(null,o,s,g,h));else{if(s!=null){var k=s.$$typeof;if(k===E){o.tag=11,o=Vy(null,o,s,g,h);break e}else if(k===D){o.tag=14,o=Gy(null,o,s,g,h);break e}}throw o=H(s)||s,Error(r(306,o,""))}}return o;case 0:return Yh(s,o,o.type,o.pendingProps,h);case 1:return g=o.type,k=Ci(g,o.pendingProps),Qy(s,o,g,k,h);case 3:e:{if(W(o,o.stateNode.containerInfo),s===null)throw Error(r(387));g=o.pendingProps;var N=o.memoizedState;k=N.element,Sh(s,o),Ao(o,g,null,h);var $=o.memoizedState;if(g=$.cache,Ts(o,on,g),g!==N.cache&&gh(o,[on],h,!0),To(),g=$.element,N.isDehydrated)if(N={element:g,isDehydrated:!1,cache:$.cache},o.updateQueue.baseState=N,o.memoizedState=N,o.flags&256){o=Jy(s,o,g,h);break e}else if(g!==k){k=hr(Error(r(424)),o),wo(k),o=Jy(s,o,g,h);break e}else{switch(s=o.stateNode.containerInfo,s.nodeType){case 9:s=s.body;break;default:s=s.nodeName==="HTML"?s.ownerDocument.body:s}for(Ht=xr(s.firstChild),kn=o,bt=!0,js=null,pr=!0,h=qx(o,null,g,h),o.child=h;h;)h.flags=h.flags&-3|4096,h=h.sibling}else{if(gi(),g===k){o=ss(s,o,h);break e}jn(s,o,g,h)}o=o.child}return o;case 26:return Nc(s,o),s===null?(h=fv(o.type,null,o.pendingProps,null))?o.memoizedState=h:bt||(h=o.type,s=o.pendingProps,g=Gc(te.current).createElement(h),g[an]=o,g[zn]=s,Nn(g,h,s),vn(g),o.stateNode=g):o.memoizedState=fv(o.type,s.memoizedProps,o.pendingProps,s.memoizedState),null;case 27:return se(o),s===null&&bt&&(g=o.stateNode=uv(o.type,o.pendingProps,te.current),kn=o,pr=!0,k=Ht,Us(o.type)?(Mf=k,Ht=xr(g.firstChild)):Ht=k),jn(s,o,o.pendingProps.children,h),Nc(s,o),s===null&&(o.flags|=4194304),o.child;case 5:return s===null&&bt&&((k=g=Ht)&&(g=Oj(g,o.type,o.pendingProps,pr),g!==null?(o.stateNode=g,kn=o,Ht=xr(g.firstChild),pr=!1,k=!0):k=!1),k||Ns(o)),se(o),k=o.type,N=o.pendingProps,$=s!==null?s.memoizedProps:null,g=N.children,Lf(k,N)?g=null:$!==null&&Lf(k,$)&&(o.flags|=32),o.memoizedState!==null&&(k=Th(s,o,YE,null,null,h),Xo._currentValue=k),Nc(s,o),jn(s,o,g,h),o.child;case 6:return s===null&&bt&&((s=h=Ht)&&(h=Ij(h,o.pendingProps,pr),h!==null?(o.stateNode=h,kn=o,Ht=null,s=!0):s=!1),s||Ns(o)),null;case 13:return Zy(s,o,h);case 4:return W(o,o.stateNode.containerInfo),g=o.pendingProps,s===null?o.child=Si(o,null,g,h):jn(s,o,g,h),o.child;case 11:return Vy(s,o,o.type,o.pendingProps,h);case 7:return jn(s,o,o.pendingProps,h),o.child;case 8:return jn(s,o,o.pendingProps.children,h),o.child;case 12:return jn(s,o,o.pendingProps.children,h),o.child;case 10:return g=o.pendingProps,Ts(o,o.type,g.value),jn(s,o,g.children,h),o.child;case 9:return k=o.type._context,g=o.pendingProps.children,yi(o),k=En(k),g=g(k),o.flags|=1,jn(s,o,g,h),o.child;case 14:return Gy(s,o,o.type,o.pendingProps,h);case 15:return Wy(s,o,o.type,o.pendingProps,h);case 19:return tb(s,o,h);case 31:return rj(s,o,h);case 22:return qy(s,o,h,o.pendingProps);case 24:return yi(o),g=En(on),s===null?(k=bh(),k===null&&(k=It,N=xh(),k.pooledCache=N,N.refCount++,N!==null&&(k.pooledCacheLanes|=h),k=N),o.memoizedState={parent:g,cache:k},_h(o),Ts(o,on,k)):((s.lanes&h)!==0&&(Sh(s,o),Ao(o,null,null,h),To()),k=s.memoizedState,N=o.memoizedState,k.parent!==g?(k={parent:g,cache:g},o.memoizedState=k,o.lanes===0&&(o.memoizedState=o.updateQueue.baseState=k),Ts(o,on,g)):(g=N.cache,Ts(o,on,g),g!==k.cache&&gh(o,[on],h,!0))),jn(s,o,o.pendingProps.children,h),o.child;case 29:throw o.pendingProps}throw Error(r(156,o.tag))}function is(s){s.flags|=4}function rf(s,o,h,g,k){if((o=(s.mode&32)!==0)&&(o=!1),o){if(s.flags|=16777216,(k&335544128)===k)if(s.stateNode.complete)s.flags|=8192;else if(Tb())s.flags|=8192;else throw _i=fc,vh}else s.flags&=-16777217}function rb(s,o){if(o.type!=="stylesheet"||(o.state.loading&4)!==0)s.flags&=-16777217;else if(s.flags|=16777216,!yv(o))if(Tb())s.flags|=8192;else throw _i=fc,vh}function Ac(s,o){o!==null&&(s.flags|=4),s.flags&16384&&(o=s.tag!==22?bn():536870912,s.lanes|=o,wa|=o)}function Mo(s,o){if(!bt)switch(s.tailMode){case"hidden":o=s.tail;for(var h=null;o!==null;)o.alternate!==null&&(h=o),o=o.sibling;h===null?s.tail=null:h.sibling=null;break;case"collapsed":h=s.tail;for(var g=null;h!==null;)h.alternate!==null&&(g=h),h=h.sibling;g===null?o||s.tail===null?s.tail=null:s.tail.sibling=null:g.sibling=null}}function Ut(s){var o=s.alternate!==null&&s.alternate.child===s.child,h=0,g=0;if(o)for(var k=s.child;k!==null;)h|=k.lanes|k.childLanes,g|=k.subtreeFlags&65011712,g|=k.flags&65011712,k.return=s,k=k.sibling;else for(k=s.child;k!==null;)h|=k.lanes|k.childLanes,g|=k.subtreeFlags,g|=k.flags,k.return=s,k=k.sibling;return s.subtreeFlags|=g,s.childLanes=h,o}function ij(s,o,h){var g=o.pendingProps;switch(dh(o),o.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Ut(o),null;case 1:return Ut(o),null;case 3:return h=o.stateNode,g=null,s!==null&&(g=s.memoizedState.cache),o.memoizedState.cache!==g&&(o.flags|=2048),ts(on),ne(),h.pendingContext&&(h.context=h.pendingContext,h.pendingContext=null),(s===null||s.child===null)&&(ua(o)?is(o):s===null||s.memoizedState.isDehydrated&&(o.flags&256)===0||(o.flags|=1024,fh())),Ut(o),null;case 26:var k=o.type,N=o.memoizedState;return s===null?(is(o),N!==null?(Ut(o),rb(o,N)):(Ut(o),rf(o,k,null,g,h))):N?N!==s.memoizedState?(is(o),Ut(o),rb(o,N)):(Ut(o),o.flags&=-16777217):(s=s.memoizedProps,s!==g&&is(o),Ut(o),rf(o,k,s,g,h)),null;case 27:if(pe(o),h=te.current,k=o.type,s!==null&&o.stateNode!=null)s.memoizedProps!==g&&is(o);else{if(!g){if(o.stateNode===null)throw Error(r(166));return Ut(o),null}s=ee.current,ua(o)?Mx(o):(s=uv(k,g,h),o.stateNode=s,is(o))}return Ut(o),null;case 5:if(pe(o),k=o.type,s!==null&&o.stateNode!=null)s.memoizedProps!==g&&is(o);else{if(!g){if(o.stateNode===null)throw Error(r(166));return Ut(o),null}if(N=ee.current,ua(o))Mx(o);else{var $=Gc(te.current);switch(N){case 1:N=$.createElementNS("http://www.w3.org/2000/svg",k);break;case 2:N=$.createElementNS("http://www.w3.org/1998/Math/MathML",k);break;default:switch(k){case"svg":N=$.createElementNS("http://www.w3.org/2000/svg",k);break;case"math":N=$.createElementNS("http://www.w3.org/1998/Math/MathML",k);break;case"script":N=$.createElement("div"),N.innerHTML="<script><\/script>",N=N.removeChild(N.firstChild);break;case"select":N=typeof g.is=="string"?$.createElement("select",{is:g.is}):$.createElement("select"),g.multiple?N.multiple=!0:g.size&&(N.size=g.size);break;default:N=typeof g.is=="string"?$.createElement(k,{is:g.is}):$.createElement(k)}}N[an]=o,N[zn]=g;e:for($=o.child;$!==null;){if($.tag===5||$.tag===6)N.appendChild($.stateNode);else if($.tag!==4&&$.tag!==27&&$.child!==null){$.child.return=$,$=$.child;continue}if($===o)break e;for(;$.sibling===null;){if($.return===null||$.return===o)break e;$=$.return}$.sibling.return=$.return,$=$.sibling}o.stateNode=N;e:switch(Nn(N,k,g),k){case"button":case"input":case"select":case"textarea":g=!!g.autoFocus;break e;case"img":g=!0;break e;default:g=!1}g&&is(o)}}return Ut(o),rf(o,o.type,s===null?null:s.memoizedProps,o.pendingProps,h),null;case 6:if(s&&o.stateNode!=null)s.memoizedProps!==g&&is(o);else{if(typeof g!="string"&&o.stateNode===null)throw Error(r(166));if(s=te.current,ua(o)){if(s=o.stateNode,h=o.memoizedProps,g=null,k=kn,k!==null)switch(k.tag){case 27:case 5:g=k.memoizedProps}s[an]=o,s=!!(s.nodeValue===h||g!==null&&g.suppressHydrationWarning===!0||Zb(s.nodeValue,h)),s||Ns(o,!0)}else s=Gc(s).createTextNode(g),s[an]=o,o.stateNode=s}return Ut(o),null;case 31:if(h=o.memoizedState,s===null||s.memoizedState!==null){if(g=ua(o),h!==null){if(s===null){if(!g)throw Error(r(318));if(s=o.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(r(557));s[an]=o}else gi(),(o.flags&128)===0&&(o.memoizedState=null),o.flags|=4;Ut(o),s=!1}else h=fh(),s!==null&&s.memoizedState!==null&&(s.memoizedState.hydrationErrors=h),s=!0;if(!s)return o.flags&256?(tr(o),o):(tr(o),null);if((o.flags&128)!==0)throw Error(r(558))}return Ut(o),null;case 13:if(g=o.memoizedState,s===null||s.memoizedState!==null&&s.memoizedState.dehydrated!==null){if(k=ua(o),g!==null&&g.dehydrated!==null){if(s===null){if(!k)throw Error(r(318));if(k=o.memoizedState,k=k!==null?k.dehydrated:null,!k)throw Error(r(317));k[an]=o}else gi(),(o.flags&128)===0&&(o.memoizedState=null),o.flags|=4;Ut(o),k=!1}else k=fh(),s!==null&&s.memoizedState!==null&&(s.memoizedState.hydrationErrors=k),k=!0;if(!k)return o.flags&256?(tr(o),o):(tr(o),null)}return tr(o),(o.flags&128)!==0?(o.lanes=h,o):(h=g!==null,s=s!==null&&s.memoizedState!==null,h&&(g=o.child,k=null,g.alternate!==null&&g.alternate.memoizedState!==null&&g.alternate.memoizedState.cachePool!==null&&(k=g.alternate.memoizedState.cachePool.pool),N=null,g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(N=g.memoizedState.cachePool.pool),N!==k&&(g.flags|=2048)),h!==s&&h&&(o.child.flags|=8192),Ac(o,o.updateQueue),Ut(o),null);case 4:return ne(),s===null&&Ef(o.stateNode.containerInfo),Ut(o),null;case 10:return ts(o.type),Ut(o),null;case 19:if(K(en),g=o.memoizedState,g===null)return Ut(o),null;if(k=(o.flags&128)!==0,N=g.rendering,N===null)if(k)Mo(g,!1);else{if(Kt!==0||s!==null&&(s.flags&128)!==0)for(s=o.child;s!==null;){if(N=xc(s),N!==null){for(o.flags|=128,Mo(g,!1),s=N.updateQueue,o.updateQueue=s,Ac(o,s),o.subtreeFlags=0,s=h,h=o.child;h!==null;)Lx(h,s),h=h.sibling;return P(en,en.current&1|2),bt&&Zr(o,g.treeForkCount),o.child}s=s.sibling}g.tail!==null&&Ye()>Ic&&(o.flags|=128,k=!0,Mo(g,!1),o.lanes=4194304)}else{if(!k)if(s=xc(N),s!==null){if(o.flags|=128,k=!0,s=s.updateQueue,o.updateQueue=s,Ac(o,s),Mo(g,!0),g.tail===null&&g.tailMode==="hidden"&&!N.alternate&&!bt)return Ut(o),null}else 2*Ye()-g.renderingStartTime>Ic&&h!==536870912&&(o.flags|=128,k=!0,Mo(g,!1),o.lanes=4194304);g.isBackwards?(N.sibling=o.child,o.child=N):(s=g.last,s!==null?s.sibling=N:o.child=N,g.last=N)}return g.tail!==null?(s=g.tail,g.rendering=s,g.tail=s.sibling,g.renderingStartTime=Ye(),s.sibling=null,h=en.current,P(en,k?h&1|2:h&1),bt&&Zr(o,g.treeForkCount),s):(Ut(o),null);case 22:case 23:return tr(o),Eh(),g=o.memoizedState!==null,s!==null?s.memoizedState!==null!==g&&(o.flags|=8192):g&&(o.flags|=8192),g?(h&536870912)!==0&&(o.flags&128)===0&&(Ut(o),o.subtreeFlags&6&&(o.flags|=8192)):Ut(o),h=o.updateQueue,h!==null&&Ac(o,h.retryQueue),h=null,s!==null&&s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(h=s.memoizedState.cachePool.pool),g=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(g=o.memoizedState.cachePool.pool),g!==h&&(o.flags|=2048),s!==null&&K(bi),null;case 24:return h=null,s!==null&&(h=s.memoizedState.cache),o.memoizedState.cache!==h&&(o.flags|=2048),ts(on),Ut(o),null;case 25:return null;case 30:return null}throw Error(r(156,o.tag))}function aj(s,o){switch(dh(o),o.tag){case 1:return s=o.flags,s&65536?(o.flags=s&-65537|128,o):null;case 3:return ts(on),ne(),s=o.flags,(s&65536)!==0&&(s&128)===0?(o.flags=s&-65537|128,o):null;case 26:case 27:case 5:return pe(o),null;case 31:if(o.memoizedState!==null){if(tr(o),o.alternate===null)throw Error(r(340));gi()}return s=o.flags,s&65536?(o.flags=s&-65537|128,o):null;case 13:if(tr(o),s=o.memoizedState,s!==null&&s.dehydrated!==null){if(o.alternate===null)throw Error(r(340));gi()}return s=o.flags,s&65536?(o.flags=s&-65537|128,o):null;case 19:return K(en),null;case 4:return ne(),null;case 10:return ts(o.type),null;case 22:case 23:return tr(o),Eh(),s!==null&&K(bi),s=o.flags,s&65536?(o.flags=s&-65537|128,o):null;case 24:return ts(on),null;case 25:return null;default:return null}}function sb(s,o){switch(dh(o),o.tag){case 3:ts(on),ne();break;case 26:case 27:case 5:pe(o);break;case 4:ne();break;case 31:o.memoizedState!==null&&tr(o);break;case 13:tr(o);break;case 19:K(en);break;case 10:ts(o.type);break;case 22:case 23:tr(o),Eh(),s!==null&&K(bi);break;case 24:ts(on)}}function Po(s,o){try{var h=o.updateQueue,g=h!==null?h.lastEffect:null;if(g!==null){var k=g.next;h=k;do{if((h.tag&s)===s){g=void 0;var N=h.create,$=h.inst;g=N(),$.destroy=g}h=h.next}while(h!==k)}}catch(X){Tt(o,o.return,X)}}function Is(s,o,h){try{var g=o.updateQueue,k=g!==null?g.lastEffect:null;if(k!==null){var N=k.next;g=N;do{if((g.tag&s)===s){var $=g.inst,X=$.destroy;if(X!==void 0){$.destroy=void 0,k=o;var ie=h,fe=X;try{fe()}catch(Ce){Tt(k,ie,Ce)}}}g=g.next}while(g!==N)}}catch(Ce){Tt(o,o.return,Ce)}}function ib(s){var o=s.updateQueue;if(o!==null){var h=s.stateNode;try{Yx(o,h)}catch(g){Tt(s,s.return,g)}}}function ab(s,o,h){h.props=Ci(s.type,s.memoizedProps),h.state=s.memoizedState;try{h.componentWillUnmount()}catch(g){Tt(s,o,g)}}function Bo(s,o){try{var h=s.ref;if(h!==null){switch(s.tag){case 26:case 27:case 5:var g=s.stateNode;break;case 30:g=s.stateNode;break;default:g=s.stateNode}typeof h=="function"?s.refCleanup=h(g):h.current=g}}catch(k){Tt(s,o,k)}}function Br(s,o){var h=s.ref,g=s.refCleanup;if(h!==null)if(typeof g=="function")try{g()}catch(k){Tt(s,o,k)}finally{s.refCleanup=null,s=s.alternate,s!=null&&(s.refCleanup=null)}else if(typeof h=="function")try{h(null)}catch(k){Tt(s,o,k)}else h.current=null}function ob(s){var o=s.type,h=s.memoizedProps,g=s.stateNode;try{e:switch(o){case"button":case"input":case"select":case"textarea":h.autoFocus&&g.focus();break e;case"img":h.src?g.src=h.src:h.srcSet&&(g.srcset=h.srcSet)}}catch(k){Tt(s,s.return,k)}}function sf(s,o,h){try{var g=s.stateNode;Nj(g,s.type,h,o),g[zn]=o}catch(k){Tt(s,s.return,k)}}function lb(s){return s.tag===5||s.tag===3||s.tag===26||s.tag===27&&Us(s.type)||s.tag===4}function af(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||lb(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&s.tag!==18;){if(s.tag===27&&Us(s.type)||s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function of(s,o,h){var g=s.tag;if(g===5||g===6)s=s.stateNode,o?(h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h).insertBefore(s,o):(o=h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h,o.appendChild(s),h=h._reactRootContainer,h!=null||o.onclick!==null||(o.onclick=Xr));else if(g!==4&&(g===27&&Us(s.type)&&(h=s.stateNode,o=null),s=s.child,s!==null))for(of(s,o,h),s=s.sibling;s!==null;)of(s,o,h),s=s.sibling}function Lc(s,o,h){var g=s.tag;if(g===5||g===6)s=s.stateNode,o?h.insertBefore(s,o):h.appendChild(s);else if(g!==4&&(g===27&&Us(s.type)&&(h=s.stateNode),s=s.child,s!==null))for(Lc(s,o,h),s=s.sibling;s!==null;)Lc(s,o,h),s=s.sibling}function cb(s){var o=s.stateNode,h=s.memoizedProps;try{for(var g=s.type,k=o.attributes;k.length;)o.removeAttributeNode(k[0]);Nn(o,g,h),o[an]=s,o[zn]=h}catch(N){Tt(s,s.return,N)}}var as=!1,un=!1,lf=!1,ub=typeof WeakSet=="function"?WeakSet:Set,_n=null;function oj(s,o){if(s=s.containerInfo,Tf=Jc,s=Sx(s),eh(s)){if("selectionStart"in s)var h={start:s.selectionStart,end:s.selectionEnd};else e:{h=(h=s.ownerDocument)&&h.defaultView||window;var g=h.getSelection&&h.getSelection();if(g&&g.rangeCount!==0){h=g.anchorNode;var k=g.anchorOffset,N=g.focusNode;g=g.focusOffset;try{h.nodeType,N.nodeType}catch{h=null;break e}var $=0,X=-1,ie=-1,fe=0,Ce=0,Ae=s,me=null;t:for(;;){for(var ye;Ae!==h||k!==0&&Ae.nodeType!==3||(X=$+k),Ae!==N||g!==0&&Ae.nodeType!==3||(ie=$+g),Ae.nodeType===3&&($+=Ae.nodeValue.length),(ye=Ae.firstChild)!==null;)me=Ae,Ae=ye;for(;;){if(Ae===s)break t;if(me===h&&++fe===k&&(X=$),me===N&&++Ce===g&&(ie=$),(ye=Ae.nextSibling)!==null)break;Ae=me,me=Ae.parentNode}Ae=ye}h=X===-1||ie===-1?null:{start:X,end:ie}}else h=null}h=h||{start:0,end:0}}else h=null;for(Af={focusedElem:s,selectionRange:h},Jc=!1,_n=o;_n!==null;)if(o=_n,s=o.child,(o.subtreeFlags&1028)!==0&&s!==null)s.return=o,_n=s;else for(;_n!==null;){switch(o=_n,N=o.alternate,s=o.flags,o.tag){case 0:if((s&4)!==0&&(s=o.updateQueue,s=s!==null?s.events:null,s!==null))for(h=0;h<s.length;h++)k=s[h],k.ref.impl=k.nextImpl;break;case 11:case 15:break;case 1:if((s&1024)!==0&&N!==null){s=void 0,h=o,k=N.memoizedProps,N=N.memoizedState,g=h.stateNode;try{var Fe=Ci(h.type,k);s=g.getSnapshotBeforeUpdate(Fe,N),g.__reactInternalSnapshotBeforeUpdate=s}catch(Je){Tt(h,h.return,Je)}}break;case 3:if((s&1024)!==0){if(s=o.stateNode.containerInfo,h=s.nodeType,h===9)Rf(s);else if(h===1)switch(s.nodeName){case"HEAD":case"HTML":case"BODY":Rf(s);break;default:s.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((s&1024)!==0)throw Error(r(163))}if(s=o.sibling,s!==null){s.return=o.return,_n=s;break}_n=o.return}}function db(s,o,h){var g=h.flags;switch(h.tag){case 0:case 11:case 15:ls(s,h),g&4&&Po(5,h);break;case 1:if(ls(s,h),g&4)if(s=h.stateNode,o===null)try{s.componentDidMount()}catch($){Tt(h,h.return,$)}else{var k=Ci(h.type,o.memoizedProps);o=o.memoizedState;try{s.componentDidUpdate(k,o,s.__reactInternalSnapshotBeforeUpdate)}catch($){Tt(h,h.return,$)}}g&64&&ib(h),g&512&&Bo(h,h.return);break;case 3:if(ls(s,h),g&64&&(s=h.updateQueue,s!==null)){if(o=null,h.child!==null)switch(h.child.tag){case 27:case 5:o=h.child.stateNode;break;case 1:o=h.child.stateNode}try{Yx(s,o)}catch($){Tt(h,h.return,$)}}break;case 27:o===null&&g&4&&cb(h);case 26:case 5:ls(s,h),o===null&&g&4&&ob(h),g&512&&Bo(h,h.return);break;case 12:ls(s,h);break;case 31:ls(s,h),g&4&&mb(s,h);break;case 13:ls(s,h),g&4&&pb(s,h),g&64&&(s=h.memoizedState,s!==null&&(s=s.dehydrated,s!==null&&(h=gj.bind(null,h),Mj(s,h))));break;case 22:if(g=h.memoizedState!==null||as,!g){o=o!==null&&o.memoizedState!==null||un,k=as;var N=un;as=g,(un=o)&&!N?cs(s,h,(h.subtreeFlags&8772)!==0):ls(s,h),as=k,un=N}break;case 30:break;default:ls(s,h)}}function hb(s){var o=s.alternate;o!==null&&(s.alternate=null,hb(o)),s.child=null,s.deletions=null,s.sibling=null,s.tag===5&&(o=s.stateNode,o!==null&&Pd(o)),s.stateNode=null,s.return=null,s.dependencies=null,s.memoizedProps=null,s.memoizedState=null,s.pendingProps=null,s.stateNode=null,s.updateQueue=null}var Ft=null,Un=!1;function os(s,o,h){for(h=h.child;h!==null;)fb(s,o,h),h=h.sibling}function fb(s,o,h){if(Ot&&typeof Ot.onCommitFiberUnmount=="function")try{Ot.onCommitFiberUnmount(vt,h)}catch{}switch(h.tag){case 26:un||Br(h,o),os(s,o,h),h.memoizedState?h.memoizedState.count--:h.stateNode&&(h=h.stateNode,h.parentNode.removeChild(h));break;case 27:un||Br(h,o);var g=Ft,k=Un;Us(h.type)&&(Ft=h.stateNode,Un=!1),os(s,o,h),qo(h.stateNode),Ft=g,Un=k;break;case 5:un||Br(h,o);case 6:if(g=Ft,k=Un,Ft=null,os(s,o,h),Ft=g,Un=k,Ft!==null)if(Un)try{(Ft.nodeType===9?Ft.body:Ft.nodeName==="HTML"?Ft.ownerDocument.body:Ft).removeChild(h.stateNode)}catch(N){Tt(h,o,N)}else try{Ft.removeChild(h.stateNode)}catch(N){Tt(h,o,N)}break;case 18:Ft!==null&&(Un?(s=Ft,iv(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,h.stateNode),La(s)):iv(Ft,h.stateNode));break;case 4:g=Ft,k=Un,Ft=h.stateNode.containerInfo,Un=!0,os(s,o,h),Ft=g,Un=k;break;case 0:case 11:case 14:case 15:Is(2,h,o),un||Is(4,h,o),os(s,o,h);break;case 1:un||(Br(h,o),g=h.stateNode,typeof g.componentWillUnmount=="function"&&ab(h,o,g)),os(s,o,h);break;case 21:os(s,o,h);break;case 22:un=(g=un)||h.memoizedState!==null,os(s,o,h),un=g;break;default:os(s,o,h)}}function mb(s,o){if(o.memoizedState===null&&(s=o.alternate,s!==null&&(s=s.memoizedState,s!==null))){s=s.dehydrated;try{La(s)}catch(h){Tt(o,o.return,h)}}}function pb(s,o){if(o.memoizedState===null&&(s=o.alternate,s!==null&&(s=s.memoizedState,s!==null&&(s=s.dehydrated,s!==null))))try{La(s)}catch(h){Tt(o,o.return,h)}}function lj(s){switch(s.tag){case 31:case 13:case 19:var o=s.stateNode;return o===null&&(o=s.stateNode=new ub),o;case 22:return s=s.stateNode,o=s._retryCache,o===null&&(o=s._retryCache=new ub),o;default:throw Error(r(435,s.tag))}}function Dc(s,o){var h=lj(s);o.forEach(function(g){if(!h.has(g)){h.add(g);var k=xj.bind(null,s,g);g.then(k,k)}})}function Fn(s,o){var h=o.deletions;if(h!==null)for(var g=0;g<h.length;g++){var k=h[g],N=s,$=o,X=$;e:for(;X!==null;){switch(X.tag){case 27:if(Us(X.type)){Ft=X.stateNode,Un=!1;break e}break;case 5:Ft=X.stateNode,Un=!1;break e;case 3:case 4:Ft=X.stateNode.containerInfo,Un=!0;break e}X=X.return}if(Ft===null)throw Error(r(160));fb(N,$,k),Ft=null,Un=!1,N=k.alternate,N!==null&&(N.return=null),k.return=null}if(o.subtreeFlags&13886)for(o=o.child;o!==null;)gb(o,s),o=o.sibling}var Er=null;function gb(s,o){var h=s.alternate,g=s.flags;switch(s.tag){case 0:case 11:case 14:case 15:Fn(o,s),Vn(s),g&4&&(Is(3,s,s.return),Po(3,s),Is(5,s,s.return));break;case 1:Fn(o,s),Vn(s),g&512&&(un||h===null||Br(h,h.return)),g&64&&as&&(s=s.updateQueue,s!==null&&(g=s.callbacks,g!==null&&(h=s.shared.hiddenCallbacks,s.shared.hiddenCallbacks=h===null?g:h.concat(g))));break;case 26:var k=Er;if(Fn(o,s),Vn(s),g&512&&(un||h===null||Br(h,h.return)),g&4){var N=h!==null?h.memoizedState:null;if(g=s.memoizedState,h===null)if(g===null)if(s.stateNode===null){e:{g=s.type,h=s.memoizedProps,k=k.ownerDocument||k;t:switch(g){case"title":N=k.getElementsByTagName("title")[0],(!N||N[uo]||N[an]||N.namespaceURI==="http://www.w3.org/2000/svg"||N.hasAttribute("itemprop"))&&(N=k.createElement(g),k.head.insertBefore(N,k.querySelector("head > title"))),Nn(N,g,h),N[an]=s,vn(N),g=N;break e;case"link":var $=gv("link","href",k).get(g+(h.href||""));if($){for(var X=0;X<$.length;X++)if(N=$[X],N.getAttribute("href")===(h.href==null||h.href===""?null:h.href)&&N.getAttribute("rel")===(h.rel==null?null:h.rel)&&N.getAttribute("title")===(h.title==null?null:h.title)&&N.getAttribute("crossorigin")===(h.crossOrigin==null?null:h.crossOrigin)){$.splice(X,1);break t}}N=k.createElement(g),Nn(N,g,h),k.head.appendChild(N);break;case"meta":if($=gv("meta","content",k).get(g+(h.content||""))){for(X=0;X<$.length;X++)if(N=$[X],N.getAttribute("content")===(h.content==null?null:""+h.content)&&N.getAttribute("name")===(h.name==null?null:h.name)&&N.getAttribute("property")===(h.property==null?null:h.property)&&N.getAttribute("http-equiv")===(h.httpEquiv==null?null:h.httpEquiv)&&N.getAttribute("charset")===(h.charSet==null?null:h.charSet)){$.splice(X,1);break t}}N=k.createElement(g),Nn(N,g,h),k.head.appendChild(N);break;default:throw Error(r(468,g))}N[an]=s,vn(N),g=N}s.stateNode=g}else xv(k,s.type,s.stateNode);else s.stateNode=pv(k,g,s.memoizedProps);else N!==g?(N===null?h.stateNode!==null&&(h=h.stateNode,h.parentNode.removeChild(h)):N.count--,g===null?xv(k,s.type,s.stateNode):pv(k,g,s.memoizedProps)):g===null&&s.stateNode!==null&&sf(s,s.memoizedProps,h.memoizedProps)}break;case 27:Fn(o,s),Vn(s),g&512&&(un||h===null||Br(h,h.return)),h!==null&&g&4&&sf(s,s.memoizedProps,h.memoizedProps);break;case 5:if(Fn(o,s),Vn(s),g&512&&(un||h===null||Br(h,h.return)),s.flags&32){k=s.stateNode;try{ea(k,"")}catch(Fe){Tt(s,s.return,Fe)}}g&4&&s.stateNode!=null&&(k=s.memoizedProps,sf(s,k,h!==null?h.memoizedProps:k)),g&1024&&(lf=!0);break;case 6:if(Fn(o,s),Vn(s),g&4){if(s.stateNode===null)throw Error(r(162));g=s.memoizedProps,h=s.stateNode;try{h.nodeValue=g}catch(Fe){Tt(s,s.return,Fe)}}break;case 3:if(Kc=null,k=Er,Er=Wc(o.containerInfo),Fn(o,s),Er=k,Vn(s),g&4&&h!==null&&h.memoizedState.isDehydrated)try{La(o.containerInfo)}catch(Fe){Tt(s,s.return,Fe)}lf&&(lf=!1,xb(s));break;case 4:g=Er,Er=Wc(s.stateNode.containerInfo),Fn(o,s),Vn(s),Er=g;break;case 12:Fn(o,s),Vn(s);break;case 31:Fn(o,s),Vn(s),g&4&&(g=s.updateQueue,g!==null&&(s.updateQueue=null,Dc(s,g)));break;case 13:Fn(o,s),Vn(s),s.child.flags&8192&&s.memoizedState!==null!=(h!==null&&h.memoizedState!==null)&&(Oc=Ye()),g&4&&(g=s.updateQueue,g!==null&&(s.updateQueue=null,Dc(s,g)));break;case 22:k=s.memoizedState!==null;var ie=h!==null&&h.memoizedState!==null,fe=as,Ce=un;if(as=fe||k,un=Ce||ie,Fn(o,s),un=Ce,as=fe,Vn(s),g&8192)e:for(o=s.stateNode,o._visibility=k?o._visibility&-2:o._visibility|1,k&&(h===null||ie||as||un||ki(s)),h=null,o=s;;){if(o.tag===5||o.tag===26){if(h===null){ie=h=o;try{if(N=ie.stateNode,k)$=N.style,typeof $.setProperty=="function"?$.setProperty("display","none","important"):$.display="none";else{X=ie.stateNode;var Ae=ie.memoizedProps.style,me=Ae!=null&&Ae.hasOwnProperty("display")?Ae.display:null;X.style.display=me==null||typeof me=="boolean"?"":(""+me).trim()}}catch(Fe){Tt(ie,ie.return,Fe)}}}else if(o.tag===6){if(h===null){ie=o;try{ie.stateNode.nodeValue=k?"":ie.memoizedProps}catch(Fe){Tt(ie,ie.return,Fe)}}}else if(o.tag===18){if(h===null){ie=o;try{var ye=ie.stateNode;k?av(ye,!0):av(ie.stateNode,!1)}catch(Fe){Tt(ie,ie.return,Fe)}}}else if((o.tag!==22&&o.tag!==23||o.memoizedState===null||o===s)&&o.child!==null){o.child.return=o,o=o.child;continue}if(o===s)break e;for(;o.sibling===null;){if(o.return===null||o.return===s)break e;h===o&&(h=null),o=o.return}h===o&&(h=null),o.sibling.return=o.return,o=o.sibling}g&4&&(g=s.updateQueue,g!==null&&(h=g.retryQueue,h!==null&&(g.retryQueue=null,Dc(s,h))));break;case 19:Fn(o,s),Vn(s),g&4&&(g=s.updateQueue,g!==null&&(s.updateQueue=null,Dc(s,g)));break;case 30:break;case 21:break;default:Fn(o,s),Vn(s)}}function Vn(s){var o=s.flags;if(o&2){try{for(var h,g=s.return;g!==null;){if(lb(g)){h=g;break}g=g.return}if(h==null)throw Error(r(160));switch(h.tag){case 27:var k=h.stateNode,N=af(s);Lc(s,N,k);break;case 5:var $=h.stateNode;h.flags&32&&(ea($,""),h.flags&=-33);var X=af(s);Lc(s,X,$);break;case 3:case 4:var ie=h.stateNode.containerInfo,fe=af(s);of(s,fe,ie);break;default:throw Error(r(161))}}catch(Ce){Tt(s,s.return,Ce)}s.flags&=-3}o&4096&&(s.flags&=-4097)}function xb(s){if(s.subtreeFlags&1024)for(s=s.child;s!==null;){var o=s;xb(o),o.tag===5&&o.flags&1024&&o.stateNode.reset(),s=s.sibling}}function ls(s,o){if(o.subtreeFlags&8772)for(o=o.child;o!==null;)db(s,o.alternate,o),o=o.sibling}function ki(s){for(s=s.child;s!==null;){var o=s;switch(o.tag){case 0:case 11:case 14:case 15:Is(4,o,o.return),ki(o);break;case 1:Br(o,o.return);var h=o.stateNode;typeof h.componentWillUnmount=="function"&&ab(o,o.return,h),ki(o);break;case 27:qo(o.stateNode);case 26:case 5:Br(o,o.return),ki(o);break;case 22:o.memoizedState===null&&ki(o);break;case 30:ki(o);break;default:ki(o)}s=s.sibling}}function cs(s,o,h){for(h=h&&(o.subtreeFlags&8772)!==0,o=o.child;o!==null;){var g=o.alternate,k=s,N=o,$=N.flags;switch(N.tag){case 0:case 11:case 15:cs(k,N,h),Po(4,N);break;case 1:if(cs(k,N,h),g=N,k=g.stateNode,typeof k.componentDidMount=="function")try{k.componentDidMount()}catch(fe){Tt(g,g.return,fe)}if(g=N,k=g.updateQueue,k!==null){var X=g.stateNode;try{var ie=k.shared.hiddenCallbacks;if(ie!==null)for(k.shared.hiddenCallbacks=null,k=0;k<ie.length;k++)Kx(ie[k],X)}catch(fe){Tt(g,g.return,fe)}}h&&$&64&&ib(N),Bo(N,N.return);break;case 27:cb(N);case 26:case 5:cs(k,N,h),h&&g===null&&$&4&&ob(N),Bo(N,N.return);break;case 12:cs(k,N,h);break;case 31:cs(k,N,h),h&&$&4&&mb(k,N);break;case 13:cs(k,N,h),h&&$&4&&pb(k,N);break;case 22:N.memoizedState===null&&cs(k,N,h),Bo(N,N.return);break;case 30:break;default:cs(k,N,h)}o=o.sibling}}function cf(s,o){var h=null;s!==null&&s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(h=s.memoizedState.cachePool.pool),s=null,o.memoizedState!==null&&o.memoizedState.cachePool!==null&&(s=o.memoizedState.cachePool.pool),s!==h&&(s!=null&&s.refCount++,h!=null&&Co(h))}function uf(s,o){s=null,o.alternate!==null&&(s=o.alternate.memoizedState.cache),o=o.memoizedState.cache,o!==s&&(o.refCount++,s!=null&&Co(s))}function jr(s,o,h,g){if(o.subtreeFlags&10256)for(o=o.child;o!==null;)yb(s,o,h,g),o=o.sibling}function yb(s,o,h,g){var k=o.flags;switch(o.tag){case 0:case 11:case 15:jr(s,o,h,g),k&2048&&Po(9,o);break;case 1:jr(s,o,h,g);break;case 3:jr(s,o,h,g),k&2048&&(s=null,o.alternate!==null&&(s=o.alternate.memoizedState.cache),o=o.memoizedState.cache,o!==s&&(o.refCount++,s!=null&&Co(s)));break;case 12:if(k&2048){jr(s,o,h,g),s=o.stateNode;try{var N=o.memoizedProps,$=N.id,X=N.onPostCommit;typeof X=="function"&&X($,o.alternate===null?"mount":"update",s.passiveEffectDuration,-0)}catch(ie){Tt(o,o.return,ie)}}else jr(s,o,h,g);break;case 31:jr(s,o,h,g);break;case 13:jr(s,o,h,g);break;case 23:break;case 22:N=o.stateNode,$=o.alternate,o.memoizedState!==null?N._visibility&2?jr(s,o,h,g):$o(s,o):N._visibility&2?jr(s,o,h,g):(N._visibility|=2,va(s,o,h,g,(o.subtreeFlags&10256)!==0||!1)),k&2048&&cf($,o);break;case 24:jr(s,o,h,g),k&2048&&uf(o.alternate,o);break;default:jr(s,o,h,g)}}function va(s,o,h,g,k){for(k=k&&((o.subtreeFlags&10256)!==0||!1),o=o.child;o!==null;){var N=s,$=o,X=h,ie=g,fe=$.flags;switch($.tag){case 0:case 11:case 15:va(N,$,X,ie,k),Po(8,$);break;case 23:break;case 22:var Ce=$.stateNode;$.memoizedState!==null?Ce._visibility&2?va(N,$,X,ie,k):$o(N,$):(Ce._visibility|=2,va(N,$,X,ie,k)),k&&fe&2048&&cf($.alternate,$);break;case 24:va(N,$,X,ie,k),k&&fe&2048&&uf($.alternate,$);break;default:va(N,$,X,ie,k)}o=o.sibling}}function $o(s,o){if(o.subtreeFlags&10256)for(o=o.child;o!==null;){var h=s,g=o,k=g.flags;switch(g.tag){case 22:$o(h,g),k&2048&&cf(g.alternate,g);break;case 24:$o(h,g),k&2048&&uf(g.alternate,g);break;default:$o(h,g)}o=o.sibling}}var zo=8192;function _a(s,o,h){if(s.subtreeFlags&zo)for(s=s.child;s!==null;)bb(s,o,h),s=s.sibling}function bb(s,o,h){switch(s.tag){case 26:_a(s,o,h),s.flags&zo&&s.memoizedState!==null&&Kj(h,Er,s.memoizedState,s.memoizedProps);break;case 5:_a(s,o,h);break;case 3:case 4:var g=Er;Er=Wc(s.stateNode.containerInfo),_a(s,o,h),Er=g;break;case 22:s.memoizedState===null&&(g=s.alternate,g!==null&&g.memoizedState!==null?(g=zo,zo=16777216,_a(s,o,h),zo=g):_a(s,o,h));break;default:_a(s,o,h)}}function vb(s){var o=s.alternate;if(o!==null&&(s=o.child,s!==null)){o.child=null;do o=s.sibling,s.sibling=null,s=o;while(s!==null)}}function Ho(s){var o=s.deletions;if((s.flags&16)!==0){if(o!==null)for(var h=0;h<o.length;h++){var g=o[h];_n=g,Sb(g,s)}vb(s)}if(s.subtreeFlags&10256)for(s=s.child;s!==null;)_b(s),s=s.sibling}function _b(s){switch(s.tag){case 0:case 11:case 15:Ho(s),s.flags&2048&&Is(9,s,s.return);break;case 3:Ho(s);break;case 12:Ho(s);break;case 22:var o=s.stateNode;s.memoizedState!==null&&o._visibility&2&&(s.return===null||s.return.tag!==13)?(o._visibility&=-3,Rc(s)):Ho(s);break;default:Ho(s)}}function Rc(s){var o=s.deletions;if((s.flags&16)!==0){if(o!==null)for(var h=0;h<o.length;h++){var g=o[h];_n=g,Sb(g,s)}vb(s)}for(s=s.child;s!==null;){switch(o=s,o.tag){case 0:case 11:case 15:Is(8,o,o.return),Rc(o);break;case 22:h=o.stateNode,h._visibility&2&&(h._visibility&=-3,Rc(o));break;default:Rc(o)}s=s.sibling}}function Sb(s,o){for(;_n!==null;){var h=_n;switch(h.tag){case 0:case 11:case 15:Is(8,h,o);break;case 23:case 22:if(h.memoizedState!==null&&h.memoizedState.cachePool!==null){var g=h.memoizedState.cachePool.pool;g!=null&&g.refCount++}break;case 24:Co(h.memoizedState.cache)}if(g=h.child,g!==null)g.return=h,_n=g;else e:for(h=s;_n!==null;){g=_n;var k=g.sibling,N=g.return;if(hb(g),g===h){_n=null;break e}if(k!==null){k.return=N,_n=k;break e}_n=N}}}var cj={getCacheForType:function(s){var o=En(on),h=o.data.get(s);return h===void 0&&(h=s(),o.data.set(s,h)),h},cacheSignal:function(){return En(on).controller.signal}},uj=typeof WeakMap=="function"?WeakMap:Map,Et=0,It=null,dt=null,gt=0,Nt=0,nr=null,Ms=!1,Sa=!1,df=!1,us=0,Kt=0,Ps=0,Ei=0,hf=0,rr=0,wa=0,Uo=null,Gn=null,ff=!1,Oc=0,wb=0,Ic=1/0,Mc=null,Bs=null,pn=0,$s=null,Ca=null,ds=0,mf=0,pf=null,Cb=null,Fo=0,gf=null;function sr(){return(Et&2)!==0&>!==0?gt&-gt:G.T!==null?Sf():sn()}function kb(){if(rr===0)if((gt&536870912)===0||bt){var s=be;be<<=1,(be&3932160)===0&&(be=262144),rr=s}else rr=536870912;return s=er.current,s!==null&&(s.flags|=32),rr}function Wn(s,o,h){(s===It&&(Nt===2||Nt===9)||s.cancelPendingCommit!==null)&&(ka(s,0),zs(s,gt,rr,!1)),Se(s,h),((Et&2)===0||s!==It)&&(s===It&&((Et&2)===0&&(Ei|=h),Kt===4&&zs(s,gt,rr,!1)),$r(s))}function Eb(s,o,h){if((Et&6)!==0)throw Error(r(327));var g=!h&&(o&127)===0&&(o&s.expiredLanes)===0||Pe(s,o),k=g?fj(s,o):yf(s,o,!0),N=g;do{if(k===0){Sa&&!g&&zs(s,o,0,!1);break}else{if(h=s.current.alternate,N&&!dj(h)){k=yf(s,o,!1),N=!1;continue}if(k===2){if(N=o,s.errorRecoveryDisabledLanes&N)var $=0;else $=s.pendingLanes&-536870913,$=$!==0?$:$&536870912?536870912:0;if($!==0){o=$;e:{var X=s;k=Uo;var ie=X.current.memoizedState.isDehydrated;if(ie&&(ka(X,$).flags|=256),$=yf(X,$,!1),$!==2){if(df&&!ie){X.errorRecoveryDisabledLanes|=N,Ei|=N,k=4;break e}N=Gn,Gn=k,N!==null&&(Gn===null?Gn=N:Gn.push.apply(Gn,N))}k=$}if(N=!1,k!==2)continue}}if(k===1){ka(s,0),zs(s,o,0,!0);break}e:{switch(g=s,N=k,N){case 0:case 1:throw Error(r(345));case 4:if((o&4194048)!==o)break;case 6:zs(g,o,rr,!Ms);break e;case 2:Gn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((o&62914560)===o&&(k=Oc+300-Ye(),10<k)){if(zs(g,o,rr,!Ms),de(g,0,!0)!==0)break e;ds=o,g.timeoutHandle=rv(jb.bind(null,g,h,Gn,Mc,ff,o,rr,Ei,wa,Ms,N,"Throttled",-0,0),k);break e}jb(g,h,Gn,Mc,ff,o,rr,Ei,wa,Ms,N,null,-0,0)}}break}while(!0);$r(s)}function jb(s,o,h,g,k,N,$,X,ie,fe,Ce,Ae,me,ye){if(s.timeoutHandle=-1,Ae=o.subtreeFlags,Ae&8192||(Ae&16785408)===16785408){Ae={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Xr},bb(o,N,Ae);var Fe=(N&62914560)===N?Oc-Ye():(N&4194048)===N?wb-Ye():0;if(Fe=Yj(Ae,Fe),Fe!==null){ds=N,s.cancelPendingCommit=Fe(Ib.bind(null,s,o,N,h,g,k,$,X,ie,Ce,Ae,null,me,ye)),zs(s,N,$,!fe);return}}Ib(s,o,N,h,g,k,$,X,ie)}function dj(s){for(var o=s;;){var h=o.tag;if((h===0||h===11||h===15)&&o.flags&16384&&(h=o.updateQueue,h!==null&&(h=h.stores,h!==null)))for(var g=0;g<h.length;g++){var k=h[g],N=k.getSnapshot;k=k.value;try{if(!Jn(N(),k))return!1}catch{return!1}}if(h=o.child,o.subtreeFlags&16384&&h!==null)h.return=o,o=h;else{if(o===s)break;for(;o.sibling===null;){if(o.return===null||o.return===s)return!0;o=o.return}o.sibling.return=o.return,o=o.sibling}}return!0}function zs(s,o,h,g){o&=~hf,o&=~Ei,s.suspendedLanes|=o,s.pingedLanes&=~o,g&&(s.warmLanes|=o),g=s.expirationTimes;for(var k=o;0<k;){var N=31-ut(k),$=1<<N;g[N]=-1,k&=~$}h!==0&&He(s,h,o)}function Pc(){return(Et&6)===0?(Vo(0),!1):!0}function xf(){if(dt!==null){if(Nt===0)var s=dt.return;else s=dt,es=xi=null,Dh(s),pa=null,Eo=0,s=dt;for(;s!==null;)sb(s.alternate,s),s=s.return;dt=null}}function ka(s,o){var h=s.timeoutHandle;h!==-1&&(s.timeoutHandle=-1,Lj(h)),h=s.cancelPendingCommit,h!==null&&(s.cancelPendingCommit=null,h()),ds=0,xf(),It=s,dt=h=Jr(s.current,null),gt=o,Nt=0,nr=null,Ms=!1,Sa=Pe(s,o),df=!1,wa=rr=hf=Ei=Ps=Kt=0,Gn=Uo=null,ff=!1,(o&8)!==0&&(o|=o&32);var g=s.entangledLanes;if(g!==0)for(s=s.entanglements,g&=o;0<g;){var k=31-ut(g),N=1<<k;o|=s[k],g&=~N}return us=o,sc(),h}function Nb(s,o){it=null,G.H=Oo,o===ma||o===hc?(o=Vx(),Nt=3):o===vh?(o=Vx(),Nt=4):Nt=o===Kh?8:o!==null&&typeof o=="object"&&typeof o.then=="function"?6:1,nr=o,dt===null&&(Kt=1,Ec(s,hr(o,s.current)))}function Tb(){var s=er.current;return s===null?!0:(gt&4194048)===gt?gr===null:(gt&62914560)===gt||(gt&536870912)!==0?s===gr:!1}function Ab(){var s=G.H;return G.H=Oo,s===null?Oo:s}function Lb(){var s=G.A;return G.A=cj,s}function Bc(){Kt=4,Ms||(gt&4194048)!==gt&&er.current!==null||(Sa=!0),(Ps&134217727)===0&&(Ei&134217727)===0||It===null||zs(It,gt,rr,!1)}function yf(s,o,h){var g=Et;Et|=2;var k=Ab(),N=Lb();(It!==s||gt!==o)&&(Mc=null,ka(s,o)),o=!1;var $=Kt;e:do try{if(Nt!==0&&dt!==null){var X=dt,ie=nr;switch(Nt){case 8:xf(),$=6;break e;case 3:case 2:case 9:case 6:er.current===null&&(o=!0);var fe=Nt;if(Nt=0,nr=null,Ea(s,X,ie,fe),h&&Sa){$=0;break e}break;default:fe=Nt,Nt=0,nr=null,Ea(s,X,ie,fe)}}hj(),$=Kt;break}catch(Ce){Nb(s,Ce)}while(!0);return o&&s.shellSuspendCounter++,es=xi=null,Et=g,G.H=k,G.A=N,dt===null&&(It=null,gt=0,sc()),$}function hj(){for(;dt!==null;)Db(dt)}function fj(s,o){var h=Et;Et|=2;var g=Ab(),k=Lb();It!==s||gt!==o?(Mc=null,Ic=Ye()+500,ka(s,o)):Sa=Pe(s,o);e:do try{if(Nt!==0&&dt!==null){o=dt;var N=nr;t:switch(Nt){case 1:Nt=0,nr=null,Ea(s,o,N,1);break;case 2:case 9:if(Ux(N)){Nt=0,nr=null,Rb(o);break}o=function(){Nt!==2&&Nt!==9||It!==s||(Nt=7),$r(s)},N.then(o,o);break e;case 3:Nt=7;break e;case 4:Nt=5;break e;case 7:Ux(N)?(Nt=0,nr=null,Rb(o)):(Nt=0,nr=null,Ea(s,o,N,7));break;case 5:var $=null;switch(dt.tag){case 26:$=dt.memoizedState;case 5:case 27:var X=dt;if($?yv($):X.stateNode.complete){Nt=0,nr=null;var ie=X.sibling;if(ie!==null)dt=ie;else{var fe=X.return;fe!==null?(dt=fe,$c(fe)):dt=null}break t}}Nt=0,nr=null,Ea(s,o,N,5);break;case 6:Nt=0,nr=null,Ea(s,o,N,6);break;case 8:xf(),Kt=6;break e;default:throw Error(r(462))}}mj();break}catch(Ce){Nb(s,Ce)}while(!0);return es=xi=null,G.H=g,G.A=k,Et=h,dt!==null?0:(It=null,gt=0,sc(),Kt)}function mj(){for(;dt!==null&&!De();)Db(dt)}function Db(s){var o=nb(s.alternate,s,us);s.memoizedProps=s.pendingProps,o===null?$c(s):dt=o}function Rb(s){var o=s,h=o.alternate;switch(o.tag){case 15:case 0:o=Xy(h,o,o.pendingProps,o.type,void 0,gt);break;case 11:o=Xy(h,o,o.pendingProps,o.type.render,o.ref,gt);break;case 5:Dh(o);default:sb(h,o),o=dt=Lx(o,us),o=nb(h,o,us)}s.memoizedProps=s.pendingProps,o===null?$c(s):dt=o}function Ea(s,o,h,g){es=xi=null,Dh(o),pa=null,Eo=0;var k=o.return;try{if(nj(s,k,o,h,gt)){Kt=1,Ec(s,hr(h,s.current)),dt=null;return}}catch(N){if(k!==null)throw dt=k,N;Kt=1,Ec(s,hr(h,s.current)),dt=null;return}o.flags&32768?(bt||g===1?s=!0:Sa||(gt&536870912)!==0?s=!1:(Ms=s=!0,(g===2||g===9||g===3||g===6)&&(g=er.current,g!==null&&g.tag===13&&(g.flags|=16384))),Ob(o,s)):$c(o)}function $c(s){var o=s;do{if((o.flags&32768)!==0){Ob(o,Ms);return}s=o.return;var h=ij(o.alternate,o,us);if(h!==null){dt=h;return}if(o=o.sibling,o!==null){dt=o;return}dt=o=s}while(o!==null);Kt===0&&(Kt=5)}function Ob(s,o){do{var h=aj(s.alternate,s);if(h!==null){h.flags&=32767,dt=h;return}if(h=s.return,h!==null&&(h.flags|=32768,h.subtreeFlags=0,h.deletions=null),!o&&(s=s.sibling,s!==null)){dt=s;return}dt=s=h}while(s!==null);Kt=6,dt=null}function Ib(s,o,h,g,k,N,$,X,ie){s.cancelPendingCommit=null;do zc();while(pn!==0);if((Et&6)!==0)throw Error(r(327));if(o!==null){if(o===s.current)throw Error(r(177));if(N=o.lanes|o.childLanes,N|=ih,Te(s,h,N,$,X,ie),s===It&&(dt=It=null,gt=0),Ca=o,$s=s,ds=h,mf=N,pf=k,Cb=g,(o.subtreeFlags&10256)!==0||(o.flags&10256)!==0?(s.callbackNode=null,s.callbackPriority=0,yj(we,function(){return zb(),null})):(s.callbackNode=null,s.callbackPriority=0),g=(o.flags&13878)!==0,(o.subtreeFlags&13878)!==0||g){g=G.T,G.T=null,k=Z.p,Z.p=2,$=Et,Et|=4;try{oj(s,o,h)}finally{Et=$,Z.p=k,G.T=g}}pn=1,Mb(),Pb(),Bb()}}function Mb(){if(pn===1){pn=0;var s=$s,o=Ca,h=(o.flags&13878)!==0;if((o.subtreeFlags&13878)!==0||h){h=G.T,G.T=null;var g=Z.p;Z.p=2;var k=Et;Et|=4;try{gb(o,s);var N=Af,$=Sx(s.containerInfo),X=N.focusedElem,ie=N.selectionRange;if($!==X&&X&&X.ownerDocument&&_x(X.ownerDocument.documentElement,X)){if(ie!==null&&eh(X)){var fe=ie.start,Ce=ie.end;if(Ce===void 0&&(Ce=fe),"selectionStart"in X)X.selectionStart=fe,X.selectionEnd=Math.min(Ce,X.value.length);else{var Ae=X.ownerDocument||document,me=Ae&&Ae.defaultView||window;if(me.getSelection){var ye=me.getSelection(),Fe=X.textContent.length,Je=Math.min(ie.start,Fe),Dt=ie.end===void 0?Je:Math.min(ie.end,Fe);!ye.extend&&Je>Dt&&($=Dt,Dt=Je,Je=$);var ue=vx(X,Je),le=vx(X,Dt);if(ue&&le&&(ye.rangeCount!==1||ye.anchorNode!==ue.node||ye.anchorOffset!==ue.offset||ye.focusNode!==le.node||ye.focusOffset!==le.offset)){var he=Ae.createRange();he.setStart(ue.node,ue.offset),ye.removeAllRanges(),Je>Dt?(ye.addRange(he),ye.extend(le.node,le.offset)):(he.setEnd(le.node,le.offset),ye.addRange(he))}}}}for(Ae=[],ye=X;ye=ye.parentNode;)ye.nodeType===1&&Ae.push({element:ye,left:ye.scrollLeft,top:ye.scrollTop});for(typeof X.focus=="function"&&X.focus(),X=0;X<Ae.length;X++){var Ne=Ae[X];Ne.element.scrollLeft=Ne.left,Ne.element.scrollTop=Ne.top}}Jc=!!Tf,Af=Tf=null}finally{Et=k,Z.p=g,G.T=h}}s.current=o,pn=2}}function Pb(){if(pn===2){pn=0;var s=$s,o=Ca,h=(o.flags&8772)!==0;if((o.subtreeFlags&8772)!==0||h){h=G.T,G.T=null;var g=Z.p;Z.p=2;var k=Et;Et|=4;try{db(s,o.alternate,o)}finally{Et=k,Z.p=g,G.T=h}}pn=3}}function Bb(){if(pn===4||pn===3){pn=0,Ze();var s=$s,o=Ca,h=ds,g=Cb;(o.subtreeFlags&10256)!==0||(o.flags&10256)!==0?pn=5:(pn=0,Ca=$s=null,$b(s,s.pendingLanes));var k=s.pendingLanes;if(k===0&&(Bs=null),pt(h),o=o.stateNode,Ot&&typeof Ot.onCommitFiberRoot=="function")try{Ot.onCommitFiberRoot(vt,o,void 0,(o.current.flags&128)===128)}catch{}if(g!==null){o=G.T,k=Z.p,Z.p=2,G.T=null;try{for(var N=s.onRecoverableError,$=0;$<g.length;$++){var X=g[$];N(X.value,{componentStack:X.stack})}}finally{G.T=o,Z.p=k}}(ds&3)!==0&&zc(),$r(s),k=s.pendingLanes,(h&261930)!==0&&(k&42)!==0?s===gf?Fo++:(Fo=0,gf=s):Fo=0,Vo(0)}}function $b(s,o){(s.pooledCacheLanes&=o)===0&&(o=s.pooledCache,o!=null&&(s.pooledCache=null,Co(o)))}function zc(){return Mb(),Pb(),Bb(),zb()}function zb(){if(pn!==5)return!1;var s=$s,o=mf;mf=0;var h=pt(ds),g=G.T,k=Z.p;try{Z.p=32>h?32:h,G.T=null,h=pf,pf=null;var N=$s,$=ds;if(pn=0,Ca=$s=null,ds=0,(Et&6)!==0)throw Error(r(331));var X=Et;if(Et|=4,_b(N.current),yb(N,N.current,$,h),Et=X,Vo(0,!1),Ot&&typeof Ot.onPostCommitFiberRoot=="function")try{Ot.onPostCommitFiberRoot(vt,N)}catch{}return!0}finally{Z.p=k,G.T=g,$b(s,o)}}function Hb(s,o,h){o=hr(h,o),o=qh(s.stateNode,o,2),s=Ds(s,o,2),s!==null&&(Se(s,2),$r(s))}function Tt(s,o,h){if(s.tag===3)Hb(s,s,h);else for(;o!==null;){if(o.tag===3){Hb(o,s,h);break}else if(o.tag===1){var g=o.stateNode;if(typeof o.type.getDerivedStateFromError=="function"||typeof g.componentDidCatch=="function"&&(Bs===null||!Bs.has(g))){s=hr(h,s),h=Uy(2),g=Ds(o,h,2),g!==null&&(Fy(h,g,o,s),Se(g,2),$r(g));break}}o=o.return}}function bf(s,o,h){var g=s.pingCache;if(g===null){g=s.pingCache=new uj;var k=new Set;g.set(o,k)}else k=g.get(o),k===void 0&&(k=new Set,g.set(o,k));k.has(h)||(df=!0,k.add(h),s=pj.bind(null,s,o,h),o.then(s,s))}function pj(s,o,h){var g=s.pingCache;g!==null&&g.delete(o),s.pingedLanes|=s.suspendedLanes&h,s.warmLanes&=~h,It===s&&(gt&h)===h&&(Kt===4||Kt===3&&(gt&62914560)===gt&&300>Ye()-Oc?(Et&2)===0&&ka(s,0):hf|=h,wa===gt&&(wa=0)),$r(s)}function Ub(s,o){o===0&&(o=bn()),s=mi(s,o),s!==null&&(Se(s,o),$r(s))}function gj(s){var o=s.memoizedState,h=0;o!==null&&(h=o.retryLane),Ub(s,h)}function xj(s,o){var h=0;switch(s.tag){case 31:case 13:var g=s.stateNode,k=s.memoizedState;k!==null&&(h=k.retryLane);break;case 19:g=s.stateNode;break;case 22:g=s.stateNode._retryCache;break;default:throw Error(r(314))}g!==null&&g.delete(o),Ub(s,h)}function yj(s,o){return ce(s,o)}var Hc=null,ja=null,vf=!1,Uc=!1,_f=!1,Hs=0;function $r(s){s!==ja&&s.next===null&&(ja===null?Hc=ja=s:ja=ja.next=s),Uc=!0,vf||(vf=!0,vj())}function Vo(s,o){if(!_f&&Uc){_f=!0;do for(var h=!1,g=Hc;g!==null;){if(s!==0){var k=g.pendingLanes;if(k===0)var N=0;else{var $=g.suspendedLanes,X=g.pingedLanes;N=(1<<31-ut(42|s)+1)-1,N&=k&~($&~X),N=N&201326741?N&201326741|1:N?N|2:0}N!==0&&(h=!0,Wb(g,N))}else N=gt,N=de(g,g===It?N:0,g.cancelPendingCommit!==null||g.timeoutHandle!==-1),(N&3)===0||Pe(g,N)||(h=!0,Wb(g,N));g=g.next}while(h);_f=!1}}function bj(){Fb()}function Fb(){Uc=vf=!1;var s=0;Hs!==0&&Aj()&&(s=Hs);for(var o=Ye(),h=null,g=Hc;g!==null;){var k=g.next,N=Vb(g,o);N===0?(g.next=null,h===null?Hc=k:h.next=k,k===null&&(ja=h)):(h=g,(s!==0||(N&3)!==0)&&(Uc=!0)),g=k}pn!==0&&pn!==5||Vo(s),Hs!==0&&(Hs=0)}function Vb(s,o){for(var h=s.suspendedLanes,g=s.pingedLanes,k=s.expirationTimes,N=s.pendingLanes&-62914561;0<N;){var $=31-ut(N),X=1<<$,ie=k[$];ie===-1?((X&h)===0||(X&g)!==0)&&(k[$]=mt(X,o)):ie<=o&&(s.expiredLanes|=X),N&=~X}if(o=It,h=gt,h=de(s,s===o?h:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),g=s.callbackNode,h===0||s===o&&(Nt===2||Nt===9)||s.cancelPendingCommit!==null)return g!==null&&g!==null&&oe(g),s.callbackNode=null,s.callbackPriority=0;if((h&3)===0||Pe(s,h)){if(o=h&-h,o===s.callbackPriority)return o;switch(g!==null&&oe(g),pt(h)){case 2:case 8:h=xe;break;case 32:h=we;break;case 268435456:h=Ke;break;default:h=we}return g=Gb.bind(null,s),h=ce(h,g),s.callbackPriority=o,s.callbackNode=h,o}return g!==null&&g!==null&&oe(g),s.callbackPriority=2,s.callbackNode=null,2}function Gb(s,o){if(pn!==0&&pn!==5)return s.callbackNode=null,s.callbackPriority=0,null;var h=s.callbackNode;if(zc()&&s.callbackNode!==h)return null;var g=gt;return g=de(s,s===It?g:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),g===0?null:(Eb(s,g,o),Vb(s,Ye()),s.callbackNode!=null&&s.callbackNode===h?Gb.bind(null,s):null)}function Wb(s,o){if(zc())return null;Eb(s,o,!0)}function vj(){Dj(function(){(Et&6)!==0?ce(re,bj):Fb()})}function Sf(){if(Hs===0){var s=ha;s===0&&(s=Ir,Ir<<=1,(Ir&261888)===0&&(Ir=256)),Hs=s}return Hs}function qb(s){return s==null||typeof s=="symbol"||typeof s=="boolean"?null:typeof s=="function"?s:Xl(""+s)}function Kb(s,o){var h=o.ownerDocument.createElement("input");return h.name=o.name,h.value=o.value,s.id&&h.setAttribute("form",s.id),o.parentNode.insertBefore(h,o),s=new FormData(s),h.parentNode.removeChild(h),s}function _j(s,o,h,g,k){if(o==="submit"&&h&&h.stateNode===k){var N=qb((k[zn]||null).action),$=g.submitter;$&&(o=(o=$[zn]||null)?qb(o.formAction):$.getAttribute("formAction"),o!==null&&(N=o,$=null));var X=new ec("action","action",null,g,k);s.push({event:X,listeners:[{instance:null,listener:function(){if(g.defaultPrevented){if(Hs!==0){var ie=$?Kb(k,$):new FormData(k);Hh(h,{pending:!0,data:ie,method:k.method,action:N},null,ie)}}else typeof N=="function"&&(X.preventDefault(),ie=$?Kb(k,$):new FormData(k),Hh(h,{pending:!0,data:ie,method:k.method,action:N},N,ie))},currentTarget:k}]})}}for(var wf=0;wf<sh.length;wf++){var Cf=sh[wf],Sj=Cf.toLowerCase(),wj=Cf[0].toUpperCase()+Cf.slice(1);kr(Sj,"on"+wj)}kr(kx,"onAnimationEnd"),kr(Ex,"onAnimationIteration"),kr(jx,"onAnimationStart"),kr("dblclick","onDoubleClick"),kr("focusin","onFocus"),kr("focusout","onBlur"),kr($E,"onTransitionRun"),kr(zE,"onTransitionStart"),kr(HE,"onTransitionCancel"),kr(Nx,"onTransitionEnd"),Ji("onMouseEnter",["mouseout","mouseover"]),Ji("onMouseLeave",["mouseout","mouseover"]),Ji("onPointerEnter",["pointerout","pointerover"]),Ji("onPointerLeave",["pointerout","pointerover"]),ui("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ui("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ui("onBeforeInput",["compositionend","keypress","textInput","paste"]),ui("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ui("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ui("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Go="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(" "),Cj=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Go));function Yb(s,o){o=(o&4)!==0;for(var h=0;h<s.length;h++){var g=s[h],k=g.event;g=g.listeners;e:{var N=void 0;if(o)for(var $=g.length-1;0<=$;$--){var X=g[$],ie=X.instance,fe=X.currentTarget;if(X=X.listener,ie!==N&&k.isPropagationStopped())break e;N=X,k.currentTarget=fe;try{N(k)}catch(Ce){rc(Ce)}k.currentTarget=null,N=ie}else for($=0;$<g.length;$++){if(X=g[$],ie=X.instance,fe=X.currentTarget,X=X.listener,ie!==N&&k.isPropagationStopped())break e;N=X,k.currentTarget=fe;try{N(k)}catch(Ce){rc(Ce)}k.currentTarget=null,N=ie}}}}function ht(s,o){var h=o[Md];h===void 0&&(h=o[Md]=new Set);var g=s+"__bubble";h.has(g)||(Xb(o,s,2,!1),h.add(g))}function kf(s,o,h){var g=0;o&&(g|=4),Xb(h,s,g,o)}var Fc="_reactListening"+Math.random().toString(36).slice(2);function Ef(s){if(!s[Fc]){s[Fc]=!0,Fg.forEach(function(h){h!=="selectionchange"&&(Cj.has(h)||kf(h,!1,s),kf(h,!0,s))});var o=s.nodeType===9?s:s.ownerDocument;o===null||o[Fc]||(o[Fc]=!0,kf("selectionchange",!1,o))}}function Xb(s,o,h,g){switch(kv(o)){case 2:var k=Jj;break;case 8:k=Zj;break;default:k=Hf}h=k.bind(null,o,h,s),k=void 0,!Gd||o!=="touchstart"&&o!=="touchmove"&&o!=="wheel"||(k=!0),g?k!==void 0?s.addEventListener(o,h,{capture:!0,passive:k}):s.addEventListener(o,h,!0):k!==void 0?s.addEventListener(o,h,{passive:k}):s.addEventListener(o,h,!1)}function jf(s,o,h,g,k){var N=g;if((o&1)===0&&(o&2)===0&&g!==null)e:for(;;){if(g===null)return;var $=g.tag;if($===3||$===4){var X=g.stateNode.containerInfo;if(X===k)break;if($===4)for($=g.return;$!==null;){var ie=$.tag;if((ie===3||ie===4)&&$.stateNode.containerInfo===k)return;$=$.return}for(;X!==null;){if($=Yi(X),$===null)return;if(ie=$.tag,ie===5||ie===6||ie===26||ie===27){g=N=$;continue e}X=X.parentNode}}g=g.return}tx(function(){var fe=N,Ce=Fd(h),Ae=[];e:{var me=Tx.get(s);if(me!==void 0){var ye=ec,Fe=s;switch(s){case"keypress":if(Jl(h)===0)break e;case"keydown":case"keyup":ye=xE;break;case"focusin":Fe="focus",ye=Yd;break;case"focusout":Fe="blur",ye=Yd;break;case"beforeblur":case"afterblur":ye=Yd;break;case"click":if(h.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":ye=sx;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":ye=iE;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":ye=vE;break;case kx:case Ex:case jx:ye=lE;break;case Nx:ye=SE;break;case"scroll":case"scrollend":ye=rE;break;case"wheel":ye=CE;break;case"copy":case"cut":case"paste":ye=uE;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":ye=ax;break;case"toggle":case"beforetoggle":ye=EE}var Je=(o&4)!==0,Dt=!Je&&(s==="scroll"||s==="scrollend"),ue=Je?me!==null?me+"Capture":null:me;Je=[];for(var le=fe,he;le!==null;){var Ne=le;if(he=Ne.stateNode,Ne=Ne.tag,Ne!==5&&Ne!==26&&Ne!==27||he===null||ue===null||(Ne=fo(le,ue),Ne!=null&&Je.push(Wo(le,Ne,he))),Dt)break;le=le.return}0<Je.length&&(me=new ye(me,Fe,null,h,Ce),Ae.push({event:me,listeners:Je}))}}if((o&7)===0){e:{if(me=s==="mouseover"||s==="pointerover",ye=s==="mouseout"||s==="pointerout",me&&h!==Ud&&(Fe=h.relatedTarget||h.fromElement)&&(Yi(Fe)||Fe[Ki]))break e;if((ye||me)&&(me=Ce.window===Ce?Ce:(me=Ce.ownerDocument)?me.defaultView||me.parentWindow:window,ye?(Fe=h.relatedTarget||h.toElement,ye=fe,Fe=Fe?Yi(Fe):null,Fe!==null&&(Dt=l(Fe),Je=Fe.tag,Fe!==Dt||Je!==5&&Je!==27&&Je!==6)&&(Fe=null)):(ye=null,Fe=fe),ye!==Fe)){if(Je=sx,Ne="onMouseLeave",ue="onMouseEnter",le="mouse",(s==="pointerout"||s==="pointerover")&&(Je=ax,Ne="onPointerLeave",ue="onPointerEnter",le="pointer"),Dt=ye==null?me:ho(ye),he=Fe==null?me:ho(Fe),me=new Je(Ne,le+"leave",ye,h,Ce),me.target=Dt,me.relatedTarget=he,Ne=null,Yi(Ce)===fe&&(Je=new Je(ue,le+"enter",Fe,h,Ce),Je.target=he,Je.relatedTarget=Dt,Ne=Je),Dt=Ne,ye&&Fe)t:{for(Je=kj,ue=ye,le=Fe,he=0,Ne=ue;Ne;Ne=Je(Ne))he++;Ne=0;for(var qe=le;qe;qe=Je(qe))Ne++;for(;0<he-Ne;)ue=Je(ue),he--;for(;0<Ne-he;)le=Je(le),Ne--;for(;he--;){if(ue===le||le!==null&&ue===le.alternate){Je=ue;break t}ue=Je(ue),le=Je(le)}Je=null}else Je=null;ye!==null&&Qb(Ae,me,ye,Je,!1),Fe!==null&&Dt!==null&&Qb(Ae,Dt,Fe,Je,!0)}}e:{if(me=fe?ho(fe):window,ye=me.nodeName&&me.nodeName.toLowerCase(),ye==="select"||ye==="input"&&me.type==="file")var wt=mx;else if(hx(me))if(px)wt=ME;else{wt=OE;var Ve=RE}else ye=me.nodeName,!ye||ye.toLowerCase()!=="input"||me.type!=="checkbox"&&me.type!=="radio"?fe&&Hd(fe.elementType)&&(wt=mx):wt=IE;if(wt&&(wt=wt(s,fe))){fx(Ae,wt,h,Ce);break e}Ve&&Ve(s,me,fe),s==="focusout"&&fe&&me.type==="number"&&fe.memoizedProps.value!=null&&zd(me,"number",me.value)}switch(Ve=fe?ho(fe):window,s){case"focusin":(hx(Ve)||Ve.contentEditable==="true")&&(sa=Ve,th=fe,_o=null);break;case"focusout":_o=th=sa=null;break;case"mousedown":nh=!0;break;case"contextmenu":case"mouseup":case"dragend":nh=!1,wx(Ae,h,Ce);break;case"selectionchange":if(BE)break;case"keydown":case"keyup":wx(Ae,h,Ce)}var ot;if(Qd)e:{switch(s){case"compositionstart":var xt="onCompositionStart";break e;case"compositionend":xt="onCompositionEnd";break e;case"compositionupdate":xt="onCompositionUpdate";break e}xt=void 0}else ra?ux(s,h)&&(xt="onCompositionEnd"):s==="keydown"&&h.keyCode===229&&(xt="onCompositionStart");xt&&(ox&&h.locale!=="ko"&&(ra||xt!=="onCompositionStart"?xt==="onCompositionEnd"&&ra&&(ot=nx()):(ks=Ce,Wd="value"in ks?ks.value:ks.textContent,ra=!0)),Ve=Vc(fe,xt),0<Ve.length&&(xt=new ix(xt,s,null,h,Ce),Ae.push({event:xt,listeners:Ve}),ot?xt.data=ot:(ot=dx(h),ot!==null&&(xt.data=ot)))),(ot=NE?TE(s,h):AE(s,h))&&(xt=Vc(fe,"onBeforeInput"),0<xt.length&&(Ve=new ix("onBeforeInput","beforeinput",null,h,Ce),Ae.push({event:Ve,listeners:xt}),Ve.data=ot)),_j(Ae,s,fe,h,Ce)}Yb(Ae,o)})}function Wo(s,o,h){return{instance:s,listener:o,currentTarget:h}}function Vc(s,o){for(var h=o+"Capture",g=[];s!==null;){var k=s,N=k.stateNode;if(k=k.tag,k!==5&&k!==26&&k!==27||N===null||(k=fo(s,h),k!=null&&g.unshift(Wo(s,k,N)),k=fo(s,o),k!=null&&g.push(Wo(s,k,N))),s.tag===3)return g;s=s.return}return[]}function kj(s){if(s===null)return null;do s=s.return;while(s&&s.tag!==5&&s.tag!==27);return s||null}function Qb(s,o,h,g,k){for(var N=o._reactName,$=[];h!==null&&h!==g;){var X=h,ie=X.alternate,fe=X.stateNode;if(X=X.tag,ie!==null&&ie===g)break;X!==5&&X!==26&&X!==27||fe===null||(ie=fe,k?(fe=fo(h,N),fe!=null&&$.unshift(Wo(h,fe,ie))):k||(fe=fo(h,N),fe!=null&&$.push(Wo(h,fe,ie)))),h=h.return}$.length!==0&&s.push({event:o,listeners:$})}var Ej=/\r\n?/g,jj=/\u0000|\uFFFD/g;function Jb(s){return(typeof s=="string"?s:""+s).replace(Ej,`
|
|
50
|
-
`).replace(jj,"")}function Zb(s,o){return o=Jb(o),Jb(s)===o}function Lt(s,o,h,g,k,N){switch(h){case"children":typeof g=="string"?o==="body"||o==="textarea"&&g===""||ea(s,g):(typeof g=="number"||typeof g=="bigint")&&o!=="body"&&ea(s,""+g);break;case"className":Kl(s,"class",g);break;case"tabIndex":Kl(s,"tabindex",g);break;case"dir":case"role":case"viewBox":case"width":case"height":Kl(s,h,g);break;case"style":Zg(s,g,N);break;case"data":if(o!=="object"){Kl(s,"data",g);break}case"src":case"href":if(g===""&&(o!=="a"||h!=="href")){s.removeAttribute(h);break}if(g==null||typeof g=="function"||typeof g=="symbol"||typeof g=="boolean"){s.removeAttribute(h);break}g=Xl(""+g),s.setAttribute(h,g);break;case"action":case"formAction":if(typeof g=="function"){s.setAttribute(h,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof N=="function"&&(h==="formAction"?(o!=="input"&&Lt(s,o,"name",k.name,k,null),Lt(s,o,"formEncType",k.formEncType,k,null),Lt(s,o,"formMethod",k.formMethod,k,null),Lt(s,o,"formTarget",k.formTarget,k,null)):(Lt(s,o,"encType",k.encType,k,null),Lt(s,o,"method",k.method,k,null),Lt(s,o,"target",k.target,k,null)));if(g==null||typeof g=="symbol"||typeof g=="boolean"){s.removeAttribute(h);break}g=Xl(""+g),s.setAttribute(h,g);break;case"onClick":g!=null&&(s.onclick=Xr);break;case"onScroll":g!=null&&ht("scroll",s);break;case"onScrollEnd":g!=null&&ht("scrollend",s);break;case"dangerouslySetInnerHTML":if(g!=null){if(typeof g!="object"||!("__html"in g))throw Error(r(61));if(h=g.__html,h!=null){if(k.children!=null)throw Error(r(60));s.innerHTML=h}}break;case"multiple":s.multiple=g&&typeof g!="function"&&typeof g!="symbol";break;case"muted":s.muted=g&&typeof g!="function"&&typeof g!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(g==null||typeof g=="function"||typeof g=="boolean"||typeof g=="symbol"){s.removeAttribute("xlink:href");break}h=Xl(""+g),s.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",h);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":g!=null&&typeof g!="function"&&typeof g!="symbol"?s.setAttribute(h,""+g):s.removeAttribute(h);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":g&&typeof g!="function"&&typeof g!="symbol"?s.setAttribute(h,""):s.removeAttribute(h);break;case"capture":case"download":g===!0?s.setAttribute(h,""):g!==!1&&g!=null&&typeof g!="function"&&typeof g!="symbol"?s.setAttribute(h,g):s.removeAttribute(h);break;case"cols":case"rows":case"size":case"span":g!=null&&typeof g!="function"&&typeof g!="symbol"&&!isNaN(g)&&1<=g?s.setAttribute(h,g):s.removeAttribute(h);break;case"rowSpan":case"start":g==null||typeof g=="function"||typeof g=="symbol"||isNaN(g)?s.removeAttribute(h):s.setAttribute(h,g);break;case"popover":ht("beforetoggle",s),ht("toggle",s),ql(s,"popover",g);break;case"xlinkActuate":Yr(s,"http://www.w3.org/1999/xlink","xlink:actuate",g);break;case"xlinkArcrole":Yr(s,"http://www.w3.org/1999/xlink","xlink:arcrole",g);break;case"xlinkRole":Yr(s,"http://www.w3.org/1999/xlink","xlink:role",g);break;case"xlinkShow":Yr(s,"http://www.w3.org/1999/xlink","xlink:show",g);break;case"xlinkTitle":Yr(s,"http://www.w3.org/1999/xlink","xlink:title",g);break;case"xlinkType":Yr(s,"http://www.w3.org/1999/xlink","xlink:type",g);break;case"xmlBase":Yr(s,"http://www.w3.org/XML/1998/namespace","xml:base",g);break;case"xmlLang":Yr(s,"http://www.w3.org/XML/1998/namespace","xml:lang",g);break;case"xmlSpace":Yr(s,"http://www.w3.org/XML/1998/namespace","xml:space",g);break;case"is":ql(s,"is",g);break;case"innerText":case"textContent":break;default:(!(2<h.length)||h[0]!=="o"&&h[0]!=="O"||h[1]!=="n"&&h[1]!=="N")&&(h=tE.get(h)||h,ql(s,h,g))}}function Nf(s,o,h,g,k,N){switch(h){case"style":Zg(s,g,N);break;case"dangerouslySetInnerHTML":if(g!=null){if(typeof g!="object"||!("__html"in g))throw Error(r(61));if(h=g.__html,h!=null){if(k.children!=null)throw Error(r(60));s.innerHTML=h}}break;case"children":typeof g=="string"?ea(s,g):(typeof g=="number"||typeof g=="bigint")&&ea(s,""+g);break;case"onScroll":g!=null&&ht("scroll",s);break;case"onScrollEnd":g!=null&&ht("scrollend",s);break;case"onClick":g!=null&&(s.onclick=Xr);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Vg.hasOwnProperty(h))e:{if(h[0]==="o"&&h[1]==="n"&&(k=h.endsWith("Capture"),o=h.slice(2,k?h.length-7:void 0),N=s[zn]||null,N=N!=null?N[h]:null,typeof N=="function"&&s.removeEventListener(o,N,k),typeof g=="function")){typeof N!="function"&&N!==null&&(h in s?s[h]=null:s.hasAttribute(h)&&s.removeAttribute(h)),s.addEventListener(o,g,k);break e}h in s?s[h]=g:g===!0?s.setAttribute(h,""):ql(s,h,g)}}}function Nn(s,o,h){switch(o){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ht("error",s),ht("load",s);var g=!1,k=!1,N;for(N in h)if(h.hasOwnProperty(N)){var $=h[N];if($!=null)switch(N){case"src":g=!0;break;case"srcSet":k=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,o));default:Lt(s,o,N,$,h,null)}}k&&Lt(s,o,"srcSet",h.srcSet,h,null),g&&Lt(s,o,"src",h.src,h,null);return;case"input":ht("invalid",s);var X=N=$=k=null,ie=null,fe=null;for(g in h)if(h.hasOwnProperty(g)){var Ce=h[g];if(Ce!=null)switch(g){case"name":k=Ce;break;case"type":$=Ce;break;case"checked":ie=Ce;break;case"defaultChecked":fe=Ce;break;case"value":N=Ce;break;case"defaultValue":X=Ce;break;case"children":case"dangerouslySetInnerHTML":if(Ce!=null)throw Error(r(137,o));break;default:Lt(s,o,g,Ce,h,null)}}Yg(s,N,X,ie,fe,$,k,!1);return;case"select":ht("invalid",s),g=$=N=null;for(k in h)if(h.hasOwnProperty(k)&&(X=h[k],X!=null))switch(k){case"value":N=X;break;case"defaultValue":$=X;break;case"multiple":g=X;default:Lt(s,o,k,X,h,null)}o=N,h=$,s.multiple=!!g,o!=null?Zi(s,!!g,o,!1):h!=null&&Zi(s,!!g,h,!0);return;case"textarea":ht("invalid",s),N=k=g=null;for($ in h)if(h.hasOwnProperty($)&&(X=h[$],X!=null))switch($){case"value":g=X;break;case"defaultValue":k=X;break;case"children":N=X;break;case"dangerouslySetInnerHTML":if(X!=null)throw Error(r(91));break;default:Lt(s,o,$,X,h,null)}Qg(s,g,k,N);return;case"option":for(ie in h)if(h.hasOwnProperty(ie)&&(g=h[ie],g!=null))switch(ie){case"selected":s.selected=g&&typeof g!="function"&&typeof g!="symbol";break;default:Lt(s,o,ie,g,h,null)}return;case"dialog":ht("beforetoggle",s),ht("toggle",s),ht("cancel",s),ht("close",s);break;case"iframe":case"object":ht("load",s);break;case"video":case"audio":for(g=0;g<Go.length;g++)ht(Go[g],s);break;case"image":ht("error",s),ht("load",s);break;case"details":ht("toggle",s);break;case"embed":case"source":case"link":ht("error",s),ht("load",s);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(fe in h)if(h.hasOwnProperty(fe)&&(g=h[fe],g!=null))switch(fe){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,o));default:Lt(s,o,fe,g,h,null)}return;default:if(Hd(o)){for(Ce in h)h.hasOwnProperty(Ce)&&(g=h[Ce],g!==void 0&&Nf(s,o,Ce,g,h,void 0));return}}for(X in h)h.hasOwnProperty(X)&&(g=h[X],g!=null&&Lt(s,o,X,g,h,null))}function Nj(s,o,h,g){switch(o){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var k=null,N=null,$=null,X=null,ie=null,fe=null,Ce=null;for(ye in h){var Ae=h[ye];if(h.hasOwnProperty(ye)&&Ae!=null)switch(ye){case"checked":break;case"value":break;case"defaultValue":ie=Ae;default:g.hasOwnProperty(ye)||Lt(s,o,ye,null,g,Ae)}}for(var me in g){var ye=g[me];if(Ae=h[me],g.hasOwnProperty(me)&&(ye!=null||Ae!=null))switch(me){case"type":N=ye;break;case"name":k=ye;break;case"checked":fe=ye;break;case"defaultChecked":Ce=ye;break;case"value":$=ye;break;case"defaultValue":X=ye;break;case"children":case"dangerouslySetInnerHTML":if(ye!=null)throw Error(r(137,o));break;default:ye!==Ae&&Lt(s,o,me,ye,g,Ae)}}$d(s,$,X,ie,fe,Ce,N,k);return;case"select":ye=$=X=me=null;for(N in h)if(ie=h[N],h.hasOwnProperty(N)&&ie!=null)switch(N){case"value":break;case"multiple":ye=ie;default:g.hasOwnProperty(N)||Lt(s,o,N,null,g,ie)}for(k in g)if(N=g[k],ie=h[k],g.hasOwnProperty(k)&&(N!=null||ie!=null))switch(k){case"value":me=N;break;case"defaultValue":X=N;break;case"multiple":$=N;default:N!==ie&&Lt(s,o,k,N,g,ie)}o=X,h=$,g=ye,me!=null?Zi(s,!!h,me,!1):!!g!=!!h&&(o!=null?Zi(s,!!h,o,!0):Zi(s,!!h,h?[]:"",!1));return;case"textarea":ye=me=null;for(X in h)if(k=h[X],h.hasOwnProperty(X)&&k!=null&&!g.hasOwnProperty(X))switch(X){case"value":break;case"children":break;default:Lt(s,o,X,null,g,k)}for($ in g)if(k=g[$],N=h[$],g.hasOwnProperty($)&&(k!=null||N!=null))switch($){case"value":me=k;break;case"defaultValue":ye=k;break;case"children":break;case"dangerouslySetInnerHTML":if(k!=null)throw Error(r(91));break;default:k!==N&&Lt(s,o,$,k,g,N)}Xg(s,me,ye);return;case"option":for(var Fe in h)if(me=h[Fe],h.hasOwnProperty(Fe)&&me!=null&&!g.hasOwnProperty(Fe))switch(Fe){case"selected":s.selected=!1;break;default:Lt(s,o,Fe,null,g,me)}for(ie in g)if(me=g[ie],ye=h[ie],g.hasOwnProperty(ie)&&me!==ye&&(me!=null||ye!=null))switch(ie){case"selected":s.selected=me&&typeof me!="function"&&typeof me!="symbol";break;default:Lt(s,o,ie,me,g,ye)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Je in h)me=h[Je],h.hasOwnProperty(Je)&&me!=null&&!g.hasOwnProperty(Je)&&Lt(s,o,Je,null,g,me);for(fe in g)if(me=g[fe],ye=h[fe],g.hasOwnProperty(fe)&&me!==ye&&(me!=null||ye!=null))switch(fe){case"children":case"dangerouslySetInnerHTML":if(me!=null)throw Error(r(137,o));break;default:Lt(s,o,fe,me,g,ye)}return;default:if(Hd(o)){for(var Dt in h)me=h[Dt],h.hasOwnProperty(Dt)&&me!==void 0&&!g.hasOwnProperty(Dt)&&Nf(s,o,Dt,void 0,g,me);for(Ce in g)me=g[Ce],ye=h[Ce],!g.hasOwnProperty(Ce)||me===ye||me===void 0&&ye===void 0||Nf(s,o,Ce,me,g,ye);return}}for(var ue in h)me=h[ue],h.hasOwnProperty(ue)&&me!=null&&!g.hasOwnProperty(ue)&&Lt(s,o,ue,null,g,me);for(Ae in g)me=g[Ae],ye=h[Ae],!g.hasOwnProperty(Ae)||me===ye||me==null&&ye==null||Lt(s,o,Ae,me,g,ye)}function ev(s){switch(s){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Tj(){if(typeof performance.getEntriesByType=="function"){for(var s=0,o=0,h=performance.getEntriesByType("resource"),g=0;g<h.length;g++){var k=h[g],N=k.transferSize,$=k.initiatorType,X=k.duration;if(N&&X&&ev($)){for($=0,X=k.responseEnd,g+=1;g<h.length;g++){var ie=h[g],fe=ie.startTime;if(fe>X)break;var Ce=ie.transferSize,Ae=ie.initiatorType;Ce&&ev(Ae)&&(ie=ie.responseEnd,$+=Ce*(ie<X?1:(X-fe)/(ie-fe)))}if(--g,o+=8*(N+$)/(k.duration/1e3),s++,10<s)break}}if(0<s)return o/s/1e6}return navigator.connection&&(s=navigator.connection.downlink,typeof s=="number")?s:5}var Tf=null,Af=null;function Gc(s){return s.nodeType===9?s:s.ownerDocument}function tv(s){switch(s){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function nv(s,o){if(s===0)switch(o){case"svg":return 1;case"math":return 2;default:return 0}return s===1&&o==="foreignObject"?0:s}function Lf(s,o){return s==="textarea"||s==="noscript"||typeof o.children=="string"||typeof o.children=="number"||typeof o.children=="bigint"||typeof o.dangerouslySetInnerHTML=="object"&&o.dangerouslySetInnerHTML!==null&&o.dangerouslySetInnerHTML.__html!=null}var Df=null;function Aj(){var s=window.event;return s&&s.type==="popstate"?s===Df?!1:(Df=s,!0):(Df=null,!1)}var rv=typeof setTimeout=="function"?setTimeout:void 0,Lj=typeof clearTimeout=="function"?clearTimeout:void 0,sv=typeof Promise=="function"?Promise:void 0,Dj=typeof queueMicrotask=="function"?queueMicrotask:typeof sv<"u"?function(s){return sv.resolve(null).then(s).catch(Rj)}:rv;function Rj(s){setTimeout(function(){throw s})}function Us(s){return s==="head"}function iv(s,o){var h=o,g=0;do{var k=h.nextSibling;if(s.removeChild(h),k&&k.nodeType===8)if(h=k.data,h==="/$"||h==="/&"){if(g===0){s.removeChild(k),La(o);return}g--}else if(h==="$"||h==="$?"||h==="$~"||h==="$!"||h==="&")g++;else if(h==="html")qo(s.ownerDocument.documentElement);else if(h==="head"){h=s.ownerDocument.head,qo(h);for(var N=h.firstChild;N;){var $=N.nextSibling,X=N.nodeName;N[uo]||X==="SCRIPT"||X==="STYLE"||X==="LINK"&&N.rel.toLowerCase()==="stylesheet"||h.removeChild(N),N=$}}else h==="body"&&qo(s.ownerDocument.body);h=k}while(h);La(o)}function av(s,o){var h=s;s=0;do{var g=h.nextSibling;if(h.nodeType===1?o?(h._stashedDisplay=h.style.display,h.style.display="none"):(h.style.display=h._stashedDisplay||"",h.getAttribute("style")===""&&h.removeAttribute("style")):h.nodeType===3&&(o?(h._stashedText=h.nodeValue,h.nodeValue=""):h.nodeValue=h._stashedText||""),g&&g.nodeType===8)if(h=g.data,h==="/$"){if(s===0)break;s--}else h!=="$"&&h!=="$?"&&h!=="$~"&&h!=="$!"||s++;h=g}while(h)}function Rf(s){var o=s.firstChild;for(o&&o.nodeType===10&&(o=o.nextSibling);o;){var h=o;switch(o=o.nextSibling,h.nodeName){case"HTML":case"HEAD":case"BODY":Rf(h),Pd(h);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(h.rel.toLowerCase()==="stylesheet")continue}s.removeChild(h)}}function Oj(s,o,h,g){for(;s.nodeType===1;){var k=h;if(s.nodeName.toLowerCase()!==o.toLowerCase()){if(!g&&(s.nodeName!=="INPUT"||s.type!=="hidden"))break}else if(g){if(!s[uo])switch(o){case"meta":if(!s.hasAttribute("itemprop"))break;return s;case"link":if(N=s.getAttribute("rel"),N==="stylesheet"&&s.hasAttribute("data-precedence"))break;if(N!==k.rel||s.getAttribute("href")!==(k.href==null||k.href===""?null:k.href)||s.getAttribute("crossorigin")!==(k.crossOrigin==null?null:k.crossOrigin)||s.getAttribute("title")!==(k.title==null?null:k.title))break;return s;case"style":if(s.hasAttribute("data-precedence"))break;return s;case"script":if(N=s.getAttribute("src"),(N!==(k.src==null?null:k.src)||s.getAttribute("type")!==(k.type==null?null:k.type)||s.getAttribute("crossorigin")!==(k.crossOrigin==null?null:k.crossOrigin))&&N&&s.hasAttribute("async")&&!s.hasAttribute("itemprop"))break;return s;default:return s}}else if(o==="input"&&s.type==="hidden"){var N=k.name==null?null:""+k.name;if(k.type==="hidden"&&s.getAttribute("name")===N)return s}else return s;if(s=xr(s.nextSibling),s===null)break}return null}function Ij(s,o,h){if(o==="")return null;for(;s.nodeType!==3;)if((s.nodeType!==1||s.nodeName!=="INPUT"||s.type!=="hidden")&&!h||(s=xr(s.nextSibling),s===null))return null;return s}function ov(s,o){for(;s.nodeType!==8;)if((s.nodeType!==1||s.nodeName!=="INPUT"||s.type!=="hidden")&&!o||(s=xr(s.nextSibling),s===null))return null;return s}function Of(s){return s.data==="$?"||s.data==="$~"}function If(s){return s.data==="$!"||s.data==="$?"&&s.ownerDocument.readyState!=="loading"}function Mj(s,o){var h=s.ownerDocument;if(s.data==="$~")s._reactRetry=o;else if(s.data!=="$?"||h.readyState!=="loading")o();else{var g=function(){o(),h.removeEventListener("DOMContentLoaded",g)};h.addEventListener("DOMContentLoaded",g),s._reactRetry=g}}function xr(s){for(;s!=null;s=s.nextSibling){var o=s.nodeType;if(o===1||o===3)break;if(o===8){if(o=s.data,o==="$"||o==="$!"||o==="$?"||o==="$~"||o==="&"||o==="F!"||o==="F")break;if(o==="/$"||o==="/&")return null}}return s}var Mf=null;function lv(s){s=s.nextSibling;for(var o=0;s;){if(s.nodeType===8){var h=s.data;if(h==="/$"||h==="/&"){if(o===0)return xr(s.nextSibling);o--}else h!=="$"&&h!=="$!"&&h!=="$?"&&h!=="$~"&&h!=="&"||o++}s=s.nextSibling}return null}function cv(s){s=s.previousSibling;for(var o=0;s;){if(s.nodeType===8){var h=s.data;if(h==="$"||h==="$!"||h==="$?"||h==="$~"||h==="&"){if(o===0)return s;o--}else h!=="/$"&&h!=="/&"||o++}s=s.previousSibling}return null}function uv(s,o,h){switch(o=Gc(h),s){case"html":if(s=o.documentElement,!s)throw Error(r(452));return s;case"head":if(s=o.head,!s)throw Error(r(453));return s;case"body":if(s=o.body,!s)throw Error(r(454));return s;default:throw Error(r(451))}}function qo(s){for(var o=s.attributes;o.length;)s.removeAttributeNode(o[0]);Pd(s)}var yr=new Map,dv=new Set;function Wc(s){return typeof s.getRootNode=="function"?s.getRootNode():s.nodeType===9?s:s.ownerDocument}var hs=Z.d;Z.d={f:Pj,r:Bj,D:$j,C:zj,L:Hj,m:Uj,X:Vj,S:Fj,M:Gj};function Pj(){var s=hs.f(),o=Pc();return s||o}function Bj(s){var o=Xi(s);o!==null&&o.tag===5&&o.type==="form"?Ny(o):hs.r(s)}var Na=typeof document>"u"?null:document;function hv(s,o,h){var g=Na;if(g&&typeof o=="string"&&o){var k=ur(o);k='link[rel="'+s+'"][href="'+k+'"]',typeof h=="string"&&(k+='[crossorigin="'+h+'"]'),dv.has(k)||(dv.add(k),s={rel:s,crossOrigin:h,href:o},g.querySelector(k)===null&&(o=g.createElement("link"),Nn(o,"link",s),vn(o),g.head.appendChild(o)))}}function $j(s){hs.D(s),hv("dns-prefetch",s,null)}function zj(s,o){hs.C(s,o),hv("preconnect",s,o)}function Hj(s,o,h){hs.L(s,o,h);var g=Na;if(g&&s&&o){var k='link[rel="preload"][as="'+ur(o)+'"]';o==="image"&&h&&h.imageSrcSet?(k+='[imagesrcset="'+ur(h.imageSrcSet)+'"]',typeof h.imageSizes=="string"&&(k+='[imagesizes="'+ur(h.imageSizes)+'"]')):k+='[href="'+ur(s)+'"]';var N=k;switch(o){case"style":N=Ta(s);break;case"script":N=Aa(s)}yr.has(N)||(s=m({rel:"preload",href:o==="image"&&h&&h.imageSrcSet?void 0:s,as:o},h),yr.set(N,s),g.querySelector(k)!==null||o==="style"&&g.querySelector(Ko(N))||o==="script"&&g.querySelector(Yo(N))||(o=g.createElement("link"),Nn(o,"link",s),vn(o),g.head.appendChild(o)))}}function Uj(s,o){hs.m(s,o);var h=Na;if(h&&s){var g=o&&typeof o.as=="string"?o.as:"script",k='link[rel="modulepreload"][as="'+ur(g)+'"][href="'+ur(s)+'"]',N=k;switch(g){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":N=Aa(s)}if(!yr.has(N)&&(s=m({rel:"modulepreload",href:s},o),yr.set(N,s),h.querySelector(k)===null)){switch(g){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(h.querySelector(Yo(N)))return}g=h.createElement("link"),Nn(g,"link",s),vn(g),h.head.appendChild(g)}}}function Fj(s,o,h){hs.S(s,o,h);var g=Na;if(g&&s){var k=Qi(g).hoistableStyles,N=Ta(s);o=o||"default";var $=k.get(N);if(!$){var X={loading:0,preload:null};if($=g.querySelector(Ko(N)))X.loading=5;else{s=m({rel:"stylesheet",href:s,"data-precedence":o},h),(h=yr.get(N))&&Pf(s,h);var ie=$=g.createElement("link");vn(ie),Nn(ie,"link",s),ie._p=new Promise(function(fe,Ce){ie.onload=fe,ie.onerror=Ce}),ie.addEventListener("load",function(){X.loading|=1}),ie.addEventListener("error",function(){X.loading|=2}),X.loading|=4,qc($,o,g)}$={type:"stylesheet",instance:$,count:1,state:X},k.set(N,$)}}}function Vj(s,o){hs.X(s,o);var h=Na;if(h&&s){var g=Qi(h).hoistableScripts,k=Aa(s),N=g.get(k);N||(N=h.querySelector(Yo(k)),N||(s=m({src:s,async:!0},o),(o=yr.get(k))&&Bf(s,o),N=h.createElement("script"),vn(N),Nn(N,"link",s),h.head.appendChild(N)),N={type:"script",instance:N,count:1,state:null},g.set(k,N))}}function Gj(s,o){hs.M(s,o);var h=Na;if(h&&s){var g=Qi(h).hoistableScripts,k=Aa(s),N=g.get(k);N||(N=h.querySelector(Yo(k)),N||(s=m({src:s,async:!0,type:"module"},o),(o=yr.get(k))&&Bf(s,o),N=h.createElement("script"),vn(N),Nn(N,"link",s),h.head.appendChild(N)),N={type:"script",instance:N,count:1,state:null},g.set(k,N))}}function fv(s,o,h,g){var k=(k=te.current)?Wc(k):null;if(!k)throw Error(r(446));switch(s){case"meta":case"title":return null;case"style":return typeof h.precedence=="string"&&typeof h.href=="string"?(o=Ta(h.href),h=Qi(k).hoistableStyles,g=h.get(o),g||(g={type:"style",instance:null,count:0,state:null},h.set(o,g)),g):{type:"void",instance:null,count:0,state:null};case"link":if(h.rel==="stylesheet"&&typeof h.href=="string"&&typeof h.precedence=="string"){s=Ta(h.href);var N=Qi(k).hoistableStyles,$=N.get(s);if($||(k=k.ownerDocument||k,$={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},N.set(s,$),(N=k.querySelector(Ko(s)))&&!N._p&&($.instance=N,$.state.loading=5),yr.has(s)||(h={rel:"preload",as:"style",href:h.href,crossOrigin:h.crossOrigin,integrity:h.integrity,media:h.media,hrefLang:h.hrefLang,referrerPolicy:h.referrerPolicy},yr.set(s,h),N||Wj(k,s,h,$.state))),o&&g===null)throw Error(r(528,""));return $}if(o&&g!==null)throw Error(r(529,""));return null;case"script":return o=h.async,h=h.src,typeof h=="string"&&o&&typeof o!="function"&&typeof o!="symbol"?(o=Aa(h),h=Qi(k).hoistableScripts,g=h.get(o),g||(g={type:"script",instance:null,count:0,state:null},h.set(o,g)),g):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,s))}}function Ta(s){return'href="'+ur(s)+'"'}function Ko(s){return'link[rel="stylesheet"]['+s+"]"}function mv(s){return m({},s,{"data-precedence":s.precedence,precedence:null})}function Wj(s,o,h,g){s.querySelector('link[rel="preload"][as="style"]['+o+"]")?g.loading=1:(o=s.createElement("link"),g.preload=o,o.addEventListener("load",function(){return g.loading|=1}),o.addEventListener("error",function(){return g.loading|=2}),Nn(o,"link",h),vn(o),s.head.appendChild(o))}function Aa(s){return'[src="'+ur(s)+'"]'}function Yo(s){return"script[async]"+s}function pv(s,o,h){if(o.count++,o.instance===null)switch(o.type){case"style":var g=s.querySelector('style[data-href~="'+ur(h.href)+'"]');if(g)return o.instance=g,vn(g),g;var k=m({},h,{"data-href":h.href,"data-precedence":h.precedence,href:null,precedence:null});return g=(s.ownerDocument||s).createElement("style"),vn(g),Nn(g,"style",k),qc(g,h.precedence,s),o.instance=g;case"stylesheet":k=Ta(h.href);var N=s.querySelector(Ko(k));if(N)return o.state.loading|=4,o.instance=N,vn(N),N;g=mv(h),(k=yr.get(k))&&Pf(g,k),N=(s.ownerDocument||s).createElement("link"),vn(N);var $=N;return $._p=new Promise(function(X,ie){$.onload=X,$.onerror=ie}),Nn(N,"link",g),o.state.loading|=4,qc(N,h.precedence,s),o.instance=N;case"script":return N=Aa(h.src),(k=s.querySelector(Yo(N)))?(o.instance=k,vn(k),k):(g=h,(k=yr.get(N))&&(g=m({},h),Bf(g,k)),s=s.ownerDocument||s,k=s.createElement("script"),vn(k),Nn(k,"link",g),s.head.appendChild(k),o.instance=k);case"void":return null;default:throw Error(r(443,o.type))}else o.type==="stylesheet"&&(o.state.loading&4)===0&&(g=o.instance,o.state.loading|=4,qc(g,h.precedence,s));return o.instance}function qc(s,o,h){for(var g=h.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),k=g.length?g[g.length-1]:null,N=k,$=0;$<g.length;$++){var X=g[$];if(X.dataset.precedence===o)N=X;else if(N!==k)break}N?N.parentNode.insertBefore(s,N.nextSibling):(o=h.nodeType===9?h.head:h,o.insertBefore(s,o.firstChild))}function Pf(s,o){s.crossOrigin==null&&(s.crossOrigin=o.crossOrigin),s.referrerPolicy==null&&(s.referrerPolicy=o.referrerPolicy),s.title==null&&(s.title=o.title)}function Bf(s,o){s.crossOrigin==null&&(s.crossOrigin=o.crossOrigin),s.referrerPolicy==null&&(s.referrerPolicy=o.referrerPolicy),s.integrity==null&&(s.integrity=o.integrity)}var Kc=null;function gv(s,o,h){if(Kc===null){var g=new Map,k=Kc=new Map;k.set(h,g)}else k=Kc,g=k.get(h),g||(g=new Map,k.set(h,g));if(g.has(s))return g;for(g.set(s,null),h=h.getElementsByTagName(s),k=0;k<h.length;k++){var N=h[k];if(!(N[uo]||N[an]||s==="link"&&N.getAttribute("rel")==="stylesheet")&&N.namespaceURI!=="http://www.w3.org/2000/svg"){var $=N.getAttribute(o)||"";$=s+$;var X=g.get($);X?X.push(N):g.set($,[N])}}return g}function xv(s,o,h){s=s.ownerDocument||s,s.head.insertBefore(h,o==="title"?s.querySelector("head > title"):null)}function qj(s,o,h){if(h===1||o.itemProp!=null)return!1;switch(s){case"meta":case"title":return!0;case"style":if(typeof o.precedence!="string"||typeof o.href!="string"||o.href==="")break;return!0;case"link":if(typeof o.rel!="string"||typeof o.href!="string"||o.href===""||o.onLoad||o.onError)break;switch(o.rel){case"stylesheet":return s=o.disabled,typeof o.precedence=="string"&&s==null;default:return!0}case"script":if(o.async&&typeof o.async!="function"&&typeof o.async!="symbol"&&!o.onLoad&&!o.onError&&o.src&&typeof o.src=="string")return!0}return!1}function yv(s){return!(s.type==="stylesheet"&&(s.state.loading&3)===0)}function Kj(s,o,h,g){if(h.type==="stylesheet"&&(typeof g.media!="string"||matchMedia(g.media).matches!==!1)&&(h.state.loading&4)===0){if(h.instance===null){var k=Ta(g.href),N=o.querySelector(Ko(k));if(N){o=N._p,o!==null&&typeof o=="object"&&typeof o.then=="function"&&(s.count++,s=Yc.bind(s),o.then(s,s)),h.state.loading|=4,h.instance=N,vn(N);return}N=o.ownerDocument||o,g=mv(g),(k=yr.get(k))&&Pf(g,k),N=N.createElement("link"),vn(N);var $=N;$._p=new Promise(function(X,ie){$.onload=X,$.onerror=ie}),Nn(N,"link",g),h.instance=N}s.stylesheets===null&&(s.stylesheets=new Map),s.stylesheets.set(h,o),(o=h.state.preload)&&(h.state.loading&3)===0&&(s.count++,h=Yc.bind(s),o.addEventListener("load",h),o.addEventListener("error",h))}}var $f=0;function Yj(s,o){return s.stylesheets&&s.count===0&&Qc(s,s.stylesheets),0<s.count||0<s.imgCount?function(h){var g=setTimeout(function(){if(s.stylesheets&&Qc(s,s.stylesheets),s.unsuspend){var N=s.unsuspend;s.unsuspend=null,N()}},6e4+o);0<s.imgBytes&&$f===0&&($f=62500*Tj());var k=setTimeout(function(){if(s.waitingForImages=!1,s.count===0&&(s.stylesheets&&Qc(s,s.stylesheets),s.unsuspend)){var N=s.unsuspend;s.unsuspend=null,N()}},(s.imgBytes>$f?50:800)+o);return s.unsuspend=h,function(){s.unsuspend=null,clearTimeout(g),clearTimeout(k)}}:null}function Yc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Qc(this,this.stylesheets);else if(this.unsuspend){var s=this.unsuspend;this.unsuspend=null,s()}}}var Xc=null;function Qc(s,o){s.stylesheets=null,s.unsuspend!==null&&(s.count++,Xc=new Map,o.forEach(Xj,s),Xc=null,Yc.call(s))}function Xj(s,o){if(!(o.state.loading&4)){var h=Xc.get(s);if(h)var g=h.get(null);else{h=new Map,Xc.set(s,h);for(var k=s.querySelectorAll("link[data-precedence],style[data-precedence]"),N=0;N<k.length;N++){var $=k[N];($.nodeName==="LINK"||$.getAttribute("media")!=="not all")&&(h.set($.dataset.precedence,$),g=$)}g&&h.set(null,g)}k=o.instance,$=k.getAttribute("data-precedence"),N=h.get($)||g,N===g&&h.set(null,k),h.set($,k),this.count++,g=Yc.bind(this),k.addEventListener("load",g),k.addEventListener("error",g),N?N.parentNode.insertBefore(k,N.nextSibling):(s=s.nodeType===9?s.head:s,s.insertBefore(k,s.firstChild)),o.state.loading|=4}}var Xo={$$typeof:b,Provider:null,Consumer:null,_currentValue:q,_currentValue2:q,_threadCount:0};function Qj(s,o,h,g,k,N,$,X,ie){this.tag=1,this.containerInfo=s,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=rn(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=rn(0),this.hiddenUpdates=rn(null),this.identifierPrefix=g,this.onUncaughtError=k,this.onCaughtError=N,this.onRecoverableError=$,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=ie,this.incompleteTransitions=new Map}function bv(s,o,h,g,k,N,$,X,ie,fe,Ce,Ae){return s=new Qj(s,o,h,$,ie,fe,Ce,Ae,X),o=1,N===!0&&(o|=24),N=Zn(3,null,null,o),s.current=N,N.stateNode=s,o=xh(),o.refCount++,s.pooledCache=o,o.refCount++,N.memoizedState={element:g,isDehydrated:h,cache:o},_h(N),s}function vv(s){return s?(s=oa,s):oa}function _v(s,o,h,g,k,N){k=vv(k),g.context===null?g.context=k:g.pendingContext=k,g=Ls(o),g.payload={element:h},N=N===void 0?null:N,N!==null&&(g.callback=N),h=Ds(s,g,o),h!==null&&(Wn(h,s,o),No(h,s,o))}function Sv(s,o){if(s=s.memoizedState,s!==null&&s.dehydrated!==null){var h=s.retryLane;s.retryLane=h!==0&&h<o?h:o}}function zf(s,o){Sv(s,o),(s=s.alternate)&&Sv(s,o)}function wv(s){if(s.tag===13||s.tag===31){var o=mi(s,67108864);o!==null&&Wn(o,s,67108864),zf(s,67108864)}}function Cv(s){if(s.tag===13||s.tag===31){var o=sr();o=et(o);var h=mi(s,o);h!==null&&Wn(h,s,o),zf(s,o)}}var Jc=!0;function Jj(s,o,h,g){var k=G.T;G.T=null;var N=Z.p;try{Z.p=2,Hf(s,o,h,g)}finally{Z.p=N,G.T=k}}function Zj(s,o,h,g){var k=G.T;G.T=null;var N=Z.p;try{Z.p=8,Hf(s,o,h,g)}finally{Z.p=N,G.T=k}}function Hf(s,o,h,g){if(Jc){var k=Uf(g);if(k===null)jf(s,o,g,Zc,h),Ev(s,g);else if(t2(k,s,o,h,g))g.stopPropagation();else if(Ev(s,g),o&4&&-1<e2.indexOf(s)){for(;k!==null;){var N=Xi(k);if(N!==null)switch(N.tag){case 3:if(N=N.stateNode,N.current.memoizedState.isDehydrated){var $=ae(N.pendingLanes);if($!==0){var X=N;for(X.pendingLanes|=2,X.entangledLanes|=2;$;){var ie=1<<31-ut($);X.entanglements[1]|=ie,$&=~ie}$r(N),(Et&6)===0&&(Ic=Ye()+500,Vo(0))}}break;case 31:case 13:X=mi(N,2),X!==null&&Wn(X,N,2),Pc(),zf(N,2)}if(N=Uf(g),N===null&&jf(s,o,g,Zc,h),N===k)break;k=N}k!==null&&g.stopPropagation()}else jf(s,o,g,null,h)}}function Uf(s){return s=Fd(s),Ff(s)}var Zc=null;function Ff(s){if(Zc=null,s=Yi(s),s!==null){var o=l(s);if(o===null)s=null;else{var h=o.tag;if(h===13){if(s=u(o),s!==null)return s;s=null}else if(h===31){if(s=c(o),s!==null)return s;s=null}else if(h===3){if(o.stateNode.current.memoizedState.isDehydrated)return o.tag===3?o.stateNode.containerInfo:null;s=null}else o!==s&&(s=null)}}return Zc=s,null}function kv(s){switch(s){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(yt()){case re:return 2;case xe:return 8;case we:case ze:return 32;case Ke:return 268435456;default:return 32}default:return 32}}var Vf=!1,Fs=null,Vs=null,Gs=null,Qo=new Map,Jo=new Map,Ws=[],e2="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Ev(s,o){switch(s){case"focusin":case"focusout":Fs=null;break;case"dragenter":case"dragleave":Vs=null;break;case"mouseover":case"mouseout":Gs=null;break;case"pointerover":case"pointerout":Qo.delete(o.pointerId);break;case"gotpointercapture":case"lostpointercapture":Jo.delete(o.pointerId)}}function Zo(s,o,h,g,k,N){return s===null||s.nativeEvent!==N?(s={blockedOn:o,domEventName:h,eventSystemFlags:g,nativeEvent:N,targetContainers:[k]},o!==null&&(o=Xi(o),o!==null&&wv(o)),s):(s.eventSystemFlags|=g,o=s.targetContainers,k!==null&&o.indexOf(k)===-1&&o.push(k),s)}function t2(s,o,h,g,k){switch(o){case"focusin":return Fs=Zo(Fs,s,o,h,g,k),!0;case"dragenter":return Vs=Zo(Vs,s,o,h,g,k),!0;case"mouseover":return Gs=Zo(Gs,s,o,h,g,k),!0;case"pointerover":var N=k.pointerId;return Qo.set(N,Zo(Qo.get(N)||null,s,o,h,g,k)),!0;case"gotpointercapture":return N=k.pointerId,Jo.set(N,Zo(Jo.get(N)||null,s,o,h,g,k)),!0}return!1}function jv(s){var o=Yi(s.target);if(o!==null){var h=l(o);if(h!==null){if(o=h.tag,o===13){if(o=u(h),o!==null){s.blockedOn=o,Zt(s.priority,function(){Cv(h)});return}}else if(o===31){if(o=c(h),o!==null){s.blockedOn=o,Zt(s.priority,function(){Cv(h)});return}}else if(o===3&&h.stateNode.current.memoizedState.isDehydrated){s.blockedOn=h.tag===3?h.stateNode.containerInfo:null;return}}}s.blockedOn=null}function eu(s){if(s.blockedOn!==null)return!1;for(var o=s.targetContainers;0<o.length;){var h=Uf(s.nativeEvent);if(h===null){h=s.nativeEvent;var g=new h.constructor(h.type,h);Ud=g,h.target.dispatchEvent(g),Ud=null}else return o=Xi(h),o!==null&&wv(o),s.blockedOn=h,!1;o.shift()}return!0}function Nv(s,o,h){eu(s)&&h.delete(o)}function n2(){Vf=!1,Fs!==null&&eu(Fs)&&(Fs=null),Vs!==null&&eu(Vs)&&(Vs=null),Gs!==null&&eu(Gs)&&(Gs=null),Qo.forEach(Nv),Jo.forEach(Nv)}function tu(s,o){s.blockedOn===o&&(s.blockedOn=null,Vf||(Vf=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,n2)))}var nu=null;function Tv(s){nu!==s&&(nu=s,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){nu===s&&(nu=null);for(var o=0;o<s.length;o+=3){var h=s[o],g=s[o+1],k=s[o+2];if(typeof g!="function"){if(Ff(g||h)===null)continue;break}var N=Xi(h);N!==null&&(s.splice(o,3),o-=3,Hh(N,{pending:!0,data:k,method:h.method,action:g},g,k))}}))}function La(s){function o(ie){return tu(ie,s)}Fs!==null&&tu(Fs,s),Vs!==null&&tu(Vs,s),Gs!==null&&tu(Gs,s),Qo.forEach(o),Jo.forEach(o);for(var h=0;h<Ws.length;h++){var g=Ws[h];g.blockedOn===s&&(g.blockedOn=null)}for(;0<Ws.length&&(h=Ws[0],h.blockedOn===null);)jv(h),h.blockedOn===null&&Ws.shift();if(h=(s.ownerDocument||s).$$reactFormReplay,h!=null)for(g=0;g<h.length;g+=3){var k=h[g],N=h[g+1],$=k[zn]||null;if(typeof N=="function")$||Tv(h);else if($){var X=null;if(N&&N.hasAttribute("formAction")){if(k=N,$=N[zn]||null)X=$.formAction;else if(Ff(k)!==null)continue}else X=$.action;typeof X=="function"?h[g+1]=X:(h.splice(g,3),g-=3),Tv(h)}}}function Av(){function s(N){N.canIntercept&&N.info==="react-transition"&&N.intercept({handler:function(){return new Promise(function($){return k=$})},focusReset:"manual",scroll:"manual"})}function o(){k!==null&&(k(),k=null),g||setTimeout(h,20)}function h(){if(!g&&!navigation.transition){var N=navigation.currentEntry;N&&N.url!=null&&navigation.navigate(N.url,{state:N.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var g=!1,k=null;return navigation.addEventListener("navigate",s),navigation.addEventListener("navigatesuccess",o),navigation.addEventListener("navigateerror",o),setTimeout(h,100),function(){g=!0,navigation.removeEventListener("navigate",s),navigation.removeEventListener("navigatesuccess",o),navigation.removeEventListener("navigateerror",o),k!==null&&(k(),k=null)}}}function Gf(s){this._internalRoot=s}ru.prototype.render=Gf.prototype.render=function(s){var o=this._internalRoot;if(o===null)throw Error(r(409));var h=o.current,g=sr();_v(h,g,s,o,null,null)},ru.prototype.unmount=Gf.prototype.unmount=function(){var s=this._internalRoot;if(s!==null){this._internalRoot=null;var o=s.containerInfo;_v(s.current,2,null,s,null,null),Pc(),o[Ki]=null}};function ru(s){this._internalRoot=s}ru.prototype.unstable_scheduleHydration=function(s){if(s){var o=sn();s={blockedOn:null,target:s,priority:o};for(var h=0;h<Ws.length&&o!==0&&o<Ws[h].priority;h++);Ws.splice(h,0,s),h===0&&jv(s)}};var Lv=t.version;if(Lv!=="19.2.4")throw Error(r(527,Lv,"19.2.4"));Z.findDOMNode=function(s){var o=s._reactInternals;if(o===void 0)throw typeof s.render=="function"?Error(r(188)):(s=Object.keys(s).join(","),Error(r(268,s)));return s=f(o),s=s!==null?p(s):null,s=s===null?null:s.stateNode,s};var r2={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:G,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var su=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!su.isDisabled&&su.supportsFiber)try{vt=su.inject(r2),Ot=su}catch{}}return tl.createRoot=function(s,o){if(!a(s))throw Error(r(299));var h=!1,g="",k=By,N=$y,$=zy;return o!=null&&(o.unstable_strictMode===!0&&(h=!0),o.identifierPrefix!==void 0&&(g=o.identifierPrefix),o.onUncaughtError!==void 0&&(k=o.onUncaughtError),o.onCaughtError!==void 0&&(N=o.onCaughtError),o.onRecoverableError!==void 0&&($=o.onRecoverableError)),o=bv(s,1,!1,null,null,h,g,null,k,N,$,Av),s[Ki]=o.current,Ef(s),new Gf(o)},tl.hydrateRoot=function(s,o,h){if(!a(s))throw Error(r(299));var g=!1,k="",N=By,$=$y,X=zy,ie=null;return h!=null&&(h.unstable_strictMode===!0&&(g=!0),h.identifierPrefix!==void 0&&(k=h.identifierPrefix),h.onUncaughtError!==void 0&&(N=h.onUncaughtError),h.onCaughtError!==void 0&&($=h.onCaughtError),h.onRecoverableError!==void 0&&(X=h.onRecoverableError),h.formState!==void 0&&(ie=h.formState)),o=bv(s,1,!0,o,h??null,g,k,ie,N,$,X,Av),o.context=vv(null),h=o.current,g=sr(),g=et(g),k=Ls(g),k.callback=null,Ds(h,k,g),h=g,o.current.lanes=h,Se(o,h),$r(o),s[Ki]=o.current,Ef(s),new ru(o)},tl.version="19.2.4",tl}var Fv;function y2(){if(Fv)return Xf.exports;Fv=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(),Xf.exports=x2(),Xf.exports}var b2=y2();const v2=sd(b2);function _2(e,t){if(e instanceof RegExp)return{keys:!1,pattern:e};var n,r,a,l,u=[],c="",d=e.split("/");for(d[0]||d.shift();a=d.shift();)n=a[0],n==="*"?(u.push(n),c+=a[1]==="?"?"(?:/(.*))?":"/(.*)"):n===":"?(r=a.indexOf("?",1),l=a.indexOf(".",1),u.push(a.substring(1,~r?r:~l?l:a.length)),c+=~r&&!~l?"(?:/([^/]+?))?":"/([^/]+?)",~l&&(c+=(~r?"?":"")+"\\"+a.substring(l))):c+="/"+a;return{keys:u,pattern:new RegExp("^"+c+(t?"(?=$|/)":"/?$"),"i")}}var em={exports:{}},tm={};/**
|
|
51
|
-
* @license React
|
|
52
|
-
* use-sync-external-store-shim.production.js
|
|
53
|
-
*
|
|
54
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
55
|
-
*
|
|
56
|
-
* This source code is licensed under the MIT license found in the
|
|
57
|
-
* LICENSE file in the root directory of this source tree.
|
|
58
|
-
*/var Vv;function S2(){if(Vv)return tm;Vv=1;var e=id();function t(m,x){return m===x&&(m!==0||1/m===1/x)||m!==m&&x!==x}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,a=e.useEffect,l=e.useLayoutEffect,u=e.useDebugValue;function c(m,x){var y=x(),w=r({inst:{value:y,getSnapshot:x}}),C=w[0].inst,_=w[1];return l(function(){C.value=y,C.getSnapshot=x,d(C)&&_({inst:C})},[m,y,x]),a(function(){return d(C)&&_({inst:C}),m(function(){d(C)&&_({inst:C})})},[m]),u(y),y}function d(m){var x=m.getSnapshot;m=m.value;try{var y=x();return!n(m,y)}catch{return!0}}function f(m,x){return x()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:c;return tm.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,tm}var Gv;function w2(){return Gv||(Gv=1,em.exports=S2()),em.exports}var C2=w2();const k2=f2.useInsertionEffect,E2=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",j2=E2?A.useLayoutEffect:A.useEffect,N2=k2||j2,US=e=>{const t=A.useRef([e,(...n)=>t[0](...n)]).current;return N2(()=>{t[0]=e}),t[1]},T2="popstate",$p="pushState",zp="replaceState",A2="hashchange",Wv=[T2,$p,zp,A2],L2=e=>{for(const t of Wv)addEventListener(t,e);return()=>{for(const t of Wv)removeEventListener(t,e)}},FS=(e,t)=>C2.useSyncExternalStore(L2,e,t),qv=()=>location.search,D2=({ssrSearch:e}={})=>FS(qv,e!=null?()=>e:qv),Kv=()=>location.pathname,R2=({ssrPath:e}={})=>FS(Kv,e!=null?()=>e:Kv),O2=(e,{replace:t=!1,state:n=null}={})=>history[t?zp:$p](n,"",e),I2=(e={})=>[R2(e),O2],Yv=Symbol.for("wouter_v3");if(typeof history<"u"&&typeof window[Yv]>"u"){for(const e of[$p,zp]){const t=history[e];history[e]=function(){const n=t.apply(this,arguments),r=new Event(e);return r.arguments=arguments,dispatchEvent(r),n}}Object.defineProperty(window,Yv,{value:!0})}const M2=(e,t)=>t.toLowerCase().indexOf(e.toLowerCase())?"~"+t:t.slice(e.length)||"/",VS=(e="")=>e==="/"?"":e,P2=(e,t)=>e[0]==="~"?e.slice(1):VS(t)+e,B2=(e="",t)=>M2(Xv(VS(e)),Xv(t)),Xv=e=>{try{return decodeURI(e)}catch{return e}},GS={hook:I2,searchHook:D2,parser:_2,base:"",ssrPath:void 0,ssrSearch:void 0,ssrContext:void 0,hrefs:e=>e,aroundNav:(e,t,n)=>e(t,n)},WS=A.createContext(GS),to=()=>A.useContext(WS),qS={},KS=A.createContext(qS),$2=()=>A.useContext(KS),ad=e=>{const[t,n]=e.hook(e);return[B2(e.base,t),US((r,a)=>e.aroundNav(n,P2(r,e.base),a))]},Bn=()=>ad(to()),Hp=(e,t,n,r)=>{const{pattern:a,keys:l}=t instanceof RegExp?{keys:!1,pattern:t}:e(t||"*",r),u=a.exec(n)||[],[c,...d]=u;return c!==void 0?[!0,(()=>{const f=l!==!1?Object.fromEntries(l.map((m,x)=>[m,d[x]])):u.groups;let p={...d};return f&&Object.assign(p,f),p})(),...r?[c]:[]]:[!1,null]},no=e=>Hp(to().parser,e,Bn()[0]),YS=({children:e,...t})=>{var p,m,x;const n=to(),r=t.hook?GS:n;let a=r;const[l,u=t.ssrSearch??""]=((p=t.ssrPath)==null?void 0:p.split("?"))??[];l&&(t.ssrSearch=u,t.ssrPath=l),t.hrefs=t.hrefs??((m=t.hook)==null?void 0:m.hrefs),t.searchHook=t.searchHook??((x=t.hook)==null?void 0:x.searchHook);let c=A.useRef({}),d=c.current,f=d;for(let y in r){const w=y==="base"?r[y]+(t[y]??""):t[y]??r[y];d===f&&w!==f[y]&&(c.current=f={...f}),f[y]=w,(w!==r[y]||w!==a[y])&&(a=f)}return A.createElement(WS.Provider,{value:a,children:e})},Qv=({children:e,component:t},n)=>t?A.createElement(t,{params:n}):typeof e=="function"?e(n):e,z2=e=>{let t=A.useRef(qS);const n=t.current;return t.current=Object.keys(e).length!==Object.keys(n).length||Object.entries(e).some(([r,a])=>a!==n[r])?e:n},nl=({path:e,nest:t,match:n,...r})=>{const a=to(),[l]=ad(a),[u,c,d]=n??Hp(a.parser,e,l,t),f=z2({...$2(),...c});if(!u)return null;const p=d?A.createElement(YS,{base:d},Qv(r,f)):Qv(r,f);return A.createElement(KS.Provider,{value:f,children:p})},or=A.forwardRef((e,t)=>{const n=to(),[r,a]=ad(n),{to:l="",href:u=l,onClick:c,asChild:d,children:f,className:p,replace:m,state:x,transition:y,...w}=e,C=US(S=>{S.ctrlKey||S.metaKey||S.altKey||S.shiftKey||S.button!==0||(c==null||c(S),S.defaultPrevented||(S.preventDefault(),a(u,e)))}),_=n.hrefs(u[0]==="~"?u.slice(1):n.base+u,n);return d&&A.isValidElement(f)?A.cloneElement(f,{onClick:C,href:_}):A.createElement("a",{...w,onClick:C,href:_,className:p!=null&&p.call?p(r===u):p,children:f,ref:t})}),XS=e=>Array.isArray(e)?e.flatMap(t=>XS(t&&t.type===A.Fragment?t.props.children:t)):[e],H2=({children:e,location:t})=>{const n=to(),[r]=ad(n);for(const a of XS(e)){let l=0;if(A.isValidElement(a)&&(l=Hp(n.parser,a.props.path,t||r,a.props.nest))[0])return A.cloneElement(a,{match:l})}return null},Jv=e=>{let t;const n=new Set,r=(f,p)=>{const m=typeof f=="function"?f(t):f;if(!Object.is(m,t)){const x=t;t=p??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(y=>y(t,x))}},a=()=>t,c={setState:r,getState:a,getInitialState:()=>d,subscribe:f=>(n.add(f),()=>n.delete(f))},d=t=e(r,a,c);return c},U2=(e=>e?Jv(e):Jv),F2=e=>e;function V2(e,t=F2){const n=ti.useSyncExternalStore(e.subscribe,ti.useCallback(()=>t(e.getState()),[e,t]),ti.useCallback(()=>t(e.getInitialState()),[e,t]));return ti.useDebugValue(n),n}const Zv=e=>{const t=U2(e),n=r=>V2(t,r);return Object.assign(n,t),n},$n=(e=>e?Zv(e):Zv);function G2(){if(typeof document>"u")return"";const e=Array.from(document.scripts).find(a=>{const l=new URL(a.src,window.location.href).pathname;return l.includes("/assets/")||l.endsWith("/src/main.tsx")});if(!e)return"";const t=new URL(e.src,window.location.href).pathname,n=t.includes("/assets/")?"/assets/":"/src/",r=t.indexOf(n);return r>0?t.slice(0,r):""}const QS=G2();function Ss(e){return e.startsWith("/")?`${QS}${e}`||"/":e}async function _e(e,t={}){const n=localStorage.getItem("openfox_token"),r={...t.headers instanceof Headers?Object.fromEntries(t.headers.entries()):t.headers,...n?{"x-session-token":n}:{}};return fetch(Ss(e),{...t,headers:r})}async function e_(e,t,n){try{return(await _e(`/api/sessions/${e}/replay`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messageId:t,...n!==void 0?{content:n}:{}})})).ok}catch{return!1}}const Re={GLOBAL_INSTRUCTIONS:"global_instructions",NOTIFICATION_SETTINGS:"notification_settings",DISPLAY_SHOW_THINKING:"display.showThinking",DISPLAY_SHOW_VERBOSE_TOOL_OUTPUT:"display.showVerboseToolOutput",DISPLAY_SHOW_STATS:"display.showStats",DISPLAY_SHOW_AGENT_DEFINITIONS:"display.showAgentDefinitions",DISPLAY_SHOW_WORKFLOW_BARS:"display.showWorkflowBars",DISPLAY_SHOW_SYNTAX_HIGHLIGHTING:"display.showSyntaxHighlighting",DISPLAY_THEME:"display.theme",DISPLAY_USER_PRESETS:"display.userPresets",DISPLAY_FOLLOW_SYSTEM_THEME:"display.followSystemTheme",DISPLAY_SHOW_OPEN_IN_EDITOR:"display.showOpenInEditorLinks",DISPLAY_MAX_VISIBLE_ITEMS:"display.maxVisibleItems",LLM_DYNAMIC_SYSTEM_PROMPT:"llm.dynamicSystemPrompt",CACHE_WARMING:"cache.warming",KEYBINDINGS:"keybindings",RETRY_PATTERNS:"agent.retryPatterns",SKILLS_DIRECTORIES:"skills.directories",SEARCH_ENGINE:"search.engine",SEARCH_TAVILY_API_KEY:"search.tavilyApiKey",SEARCH_SEARXNG_URL:"search.searxngUrl",SEARCH_SEARXNG_API_KEY:"search.searxngApiKey",TOOLS_USE_RTK:"tools.useRtk",TOOLS_SHELL:"tools.shell",CONFIRM_ON_WORKSPACE_ACTIONS:"tools.confirmOnWorkspaceActions",PROXY_URL:"network.proxyUrl"};function iu(e,t){return n=>({loading:{...n.loading,[e]:t}})}function t_(e,t){return n=>({settings:{...n.settings,[e]:t},loading:{...n.loading,[e]:!1}})}const Up=[Re.DISPLAY_SHOW_THINKING,Re.DISPLAY_SHOW_VERBOSE_TOOL_OUTPUT,Re.DISPLAY_SHOW_STATS,Re.DISPLAY_SHOW_AGENT_DEFINITIONS,Re.DISPLAY_SHOW_WORKFLOW_BARS,Re.DISPLAY_SHOW_SYNTAX_HIGHLIGHTING,Re.DISPLAY_FOLLOW_SYSTEM_THEME,Re.DISPLAY_SHOW_OPEN_IN_EDITOR,Re.DISPLAY_MAX_VISIBLE_ITEMS];function Gi(){return{showThinking:Gt(e=>e.settings[Re.DISPLAY_SHOW_THINKING]??"true")==="true",showVerboseToolOutput:Gt(e=>e.settings[Re.DISPLAY_SHOW_VERBOSE_TOOL_OUTPUT]??"true")==="true",showStats:Gt(e=>e.settings[Re.DISPLAY_SHOW_STATS]??"true")==="true",showAgentDefinitions:Gt(e=>e.settings[Re.DISPLAY_SHOW_AGENT_DEFINITIONS]??"true")==="true",showWorkflowBars:Gt(e=>e.settings[Re.DISPLAY_SHOW_WORKFLOW_BARS]??"true")==="true",showSyntaxHighlighting:Gt(e=>e.settings[Re.DISPLAY_SHOW_SYNTAX_HIGHLIGHTING]??"true")==="true",maxVisibleItems:Number(Gt(e=>e.settings[Re.DISPLAY_MAX_VISIBLE_ITEMS]??"300"))}}const Gt=$n(e=>({settings:{},loading:{},getSetting:async t=>{e(iu(t,!0));try{const r=await(await _e(`/api/settings/${t}`)).json();return e(t_(t,r.value??"")),r.value}catch{return e(iu(t,!1)),null}},getSettings:async t=>{if(t.length!==0)try{const r=await(await _e(`/api/settings?keys=${encodeURIComponent(t.join(","))}`)).json();e({settings:r,loading:Object.fromEntries(t.map(a=>[a,!1]))})}catch{e({loading:Object.fromEntries(t.map(n=>[n,!1]))})}},setSetting:async(t,n)=>{e(iu(t,!0));try{const a=await(await _e(`/api/settings/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})})).json();e(t_(t,a.value??""))}catch{e(iu(t,!1))}}})),nm=Object.freeze(Object.defineProperty({__proto__:null,DISPLAY_SETTINGS_KEYS:Up,SETTINGS_KEYS:Re,useDisplaySettings:Gi,useSettingsStore:Gt},Symbol.toStringTag,{value:"Module"}));function W2(){const[e,t]=A.useState({offsetTop:0,height:window.innerHeight,keyboardVisible:!1}),n=A.useRef(window.innerHeight);return A.useEffect(()=>{const r=window.visualViewport;if(!r)return;const a=()=>{const l=r.offsetTop,u=r.height,c=n.current-u>100;t({offsetTop:l,height:u,keyboardVisible:c})};return a(),r.addEventListener("resize",a),r.addEventListener("scroll",a),()=>{r.removeEventListener("resize",a),r.removeEventListener("scroll",a)}},[]),e}function q2(e){return typeof e=="object"&&e!==null&&"type"in e&&"payload"in e}function Au(){if(typeof crypto<"u"&&crypto.randomUUID)try{return crypto.randomUUID()}catch{}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}class K2{constructor(t){ve(this,"ws",null);ve(this,"handlers",new Set);ve(this,"statusHandler",null);ve(this,"baseUrl");ve(this,"isReconnecting",!1);ve(this,"connectingPromise",null);ve(this,"lastCloseCode",0);ve(this,"reconnectAttempts",0);ve(this,"manualReconnectScheduled",!1);ve(this,"pwaRecoveryAttempted",!1);this.baseUrl=t}getUrl(){const t=localStorage.getItem("openfox_token");if(t){const n=this.baseUrl.includes("?")?"&":"?";return`${this.baseUrl}${n}token=${encodeURIComponent(t)}`}return this.baseUrl}setToken(t){localStorage.setItem("openfox_token",t)}clearToken(){localStorage.removeItem("openfox_token")}hasToken(){return!!localStorage.getItem("openfox_token")}getLastCloseCode(){return this.lastCloseCode}onStatusChange(t){this.statusHandler=t}connect(){var t,n,r;return((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN?Promise.resolve():(this.lastCloseCode=0,this.isReconnecting=!1,this.connectingPromise&&((n=this.ws)==null?void 0:n.readyState)===WebSocket.CONNECTING?this.connectingPromise:(this.lastCloseCode=0,this.isReconnecting=!1,this.connectingPromise&&((r=this.ws)==null?void 0:r.readyState)===WebSocket.CONNECTING?(console.warn("[WS CLIENT] Connection already in progress, returning existing promise"),this.connectingPromise):(this.connectingPromise=new Promise((a,l)=>{try{const u=this.getUrl();this.ws=new WebSocket(u);const c=setTimeout(()=>{var d;((d=this.ws)==null?void 0:d.readyState)===WebSocket.CONNECTING&&(this.ws.close(),l(new Error("Connection timeout")))},5e3);this.ws.onopen=()=>{var d;clearTimeout(c),this.isReconnecting=!1,this.reconnectAttempts=0,this.connectingPromise=null,(d=this.statusHandler)==null||d.call(this,"connected"),a()},this.ws.onclose=d=>{var f,p,m;clearTimeout(c),this.lastCloseCode=d.code,((f=this.ws)==null?void 0:f.readyState)===WebSocket.CONNECTING?(this.connectingPromise=null,(p=this.statusHandler)==null||p.call(this,"disconnected"),l(new Error(`Connection closed: ${d.code}`))):(this.connectingPromise=null,(m=this.statusHandler)==null||m.call(this,"disconnected"),this.attemptReconnect())},this.ws.onerror=d=>{clearTimeout(c),console.error("WebSocket error:",d),this.connectingPromise=null,l(d)},this.ws.onmessage=d=>{try{const f=JSON.parse(d.data);q2(f)&&this.handlers.forEach(p=>p(f))}catch(f){console.error("Failed to parse WebSocket message:",f)}}}catch(u){this.connectingPromise=null,l(u)}}),this.connectingPromise)))}async recoverPwaStuckConnection(){if(this.pwaRecoveryAttempted||!window.matchMedia("(display-mode: standalone)").matches||!("serviceWorker"in navigator))return;this.pwaRecoveryAttempted=!0;const n=await navigator.serviceWorker.getRegistrations();n.length!==0&&(console.warn("[WS] PWA mode detected with stale service worker — unregistering and reloading"),await Promise.all(n.map(r=>r.unregister())),window.location.reload())}attemptReconnect(){var r;if(this.lastCloseCode===4e3&&this.hasToken()){console.warn("[WS] Auth failure or initial failure with token - not auto-reconnecting, awaiting user action");return}if(this.isReconnecting||this.manualReconnectScheduled)return;this.isReconnecting=!0,(r=this.statusHandler)==null||r.call(this,"reconnecting");const n=Math.min(1e3*Math.pow(2,this.reconnectAttempts||0),3e4);this.reconnectAttempts=(this.reconnectAttempts||0)+1,setTimeout(()=>{this.isReconnecting=!1,this.manualReconnectScheduled=!1,this.connect().catch(()=>{this.reconnectAttempts>=3&&this.recoverPwaStuckConnection()})},n)}reconnect(){this.manualReconnectScheduled=!0,this.isReconnecting=!1,this.lastCloseCode=0,this.connectingPromise=null,this.connect().catch(()=>{this.recoverPwaStuckConnection()})}disconnect(){this.isReconnecting=!1,this.reconnectAttempts=0,this.ws&&(this.ws.close(),this.ws=null)}resetReconnectAttempts(){this.reconnectAttempts=0}send(t,n){if(!this.ws||this.ws.readyState!==WebSocket.OPEN)throw new Error("WebSocket not connected");const r=Au(),a={id:r,type:t,payload:n};return this.ws.send(JSON.stringify(a)),r}subscribe(t){return this.handlers.add(t),()=>this.handlers.delete(t)}get isConnected(){var t;return((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN}}const Y2=window.location.protocol==="https:"?"wss:":"ws:";let ep=window.location.port;ep||(ep=window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"?"10469":window.location.protocol==="https:"?"443":"80");const X2=`${Y2}//${window.location.hostname}:${ep}${Ss("/ws")}`,Xt=new K2(X2),Q2=3e4;function JS(e){switch(e){case"vllm":return"vLLM";case"sglang":return"SGLang";case"ollama":return"Ollama";case"llamacpp":return"llama.cpp";case"lmstudio":return"LM Studio";case"openai":return"OpenAI";case"anthropic":return"Anthropic";case"opencode-go":return"OpenCode Go";case"unknown":return"Other"}}const Qt=$n((e,t)=>({version:null,model:null,maxContext:2e5,llmUrl:null,llmStatus:"unknown",backend:"unknown",providers:[],activeProviderId:null,defaultModelSelection:null,platform:null,loading:!1,activating:!1,error:null,autoRefreshInterval:null,fetchConfig:async()=>{e({loading:!0,error:null});try{const n=await _e("/api/config");if(!n.ok)throw new Error("Failed to fetch config");const r=await n.json(),a=r.platform&&typeof r.platform=="object"?{isWSL:!!r.platform.isWSL,wslDistro:String(r.platform.wslDistro??"")}:null;e({version:r.version,model:r.model,maxContext:r.maxContext,llmUrl:r.llmUrl,llmStatus:r.llmStatus,backend:r.backend,providers:r.providers??[],activeProviderId:r.activeProviderId??null,defaultModelSelection:r.defaultModelSelection??null,platform:a,loading:!1})}catch(n){e({error:n instanceof Error?n.message:"Unknown error",loading:!1})}},refreshModel:async()=>{try{const n=await _e("/api/model/refresh",{method:"POST"});if(!n.ok)throw new Error("Failed to refresh model");const r=await n.json();e({model:r.model,llmStatus:r.llmStatus,backend:r.backend})}catch(n){console.error("Failed to refresh model:",n)}},activateProvider:async n=>{const{activeProviderId:r,providers:a}=t();if(n===r)return!0;e({activating:!0,error:null});try{const l=await _e(`/api/providers/${n}/activate`,{method:"POST"});if(!l.ok){const c=await l.json();throw new Error(c.error??"Failed to activate provider")}const u=await l.json();return e({activeProviderId:u.activeProviderId,model:u.model,backend:u.backend,providers:a.map(c=>({...c,isActive:c.id===u.activeProviderId})),activating:!1}),!0}catch(l){return e({error:l instanceof Error?l.message:"Failed to switch provider",activating:!1}),!1}},setDefaultModel:async(n,r)=>{const{providers:a}=t();try{const l=await _e("/api/default-model",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerId:n,model:r})});if(!l.ok)return!1;const u=await l.json();return e({activeProviderId:n,model:r,defaultModelSelection:u.defaultModelSelection,providers:a.map(c=>({...c,isActive:c.id===n}))}),!0}catch{return!1}},refreshProviderModels:async n=>{e({activating:!0,error:null});try{const r=await _e(`/api/providers/${n}/refresh`,{method:"POST"});if(!r.ok){const u=await r.json();throw new Error(u.error??"Failed to refresh models")}const a=await r.json(),{providers:l}=t();return e({providers:l.map(u=>u.id===n?{...u,models:a.models,status:a.status}:u),activating:!1}),!0}catch(r){return e({error:r instanceof Error?r.message:"Failed to refresh models",activating:!1}),!1}},startAutoRefresh:()=>{const{autoRefreshInterval:n,refreshModel:r}=t();if(n)return;const a=setInterval(()=>{r()},Q2);e({autoRefreshInterval:a})},stopAutoRefresh:()=>{const{autoRefreshInterval:n}=t();n&&(clearInterval(n),e({autoRefreshInterval:null}))},getActiveProvider:()=>{const{providers:n,activeProviderId:r}=t();return n.find(a=>a.id===r)},getModelContext:n=>{const{providers:r,activeProviderId:a}=t(),l=r.find(c=>c.id===a);if(!l)return 2e5;const u=l.models.find(c=>c.id===n);return(u==null?void 0:u.contextWindow)??2e5}})),zt=$n((e,t)=>({projects:[],currentProject:null,loading:!1,listProjects:async()=>{e({loading:!0});try{const r=await(await _e("/api/projects")).json();e({projects:r.projects??[],loading:!1})}catch(n){console.error("Failed to load projects:",n),e({loading:!1})}},createProject:async(n,r)=>{try{const a=await _e("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:n,workdir:r})});if(!a.ok){const u=await a.json().catch(()=>({}));return{error:{code:u.code||"UNKNOWN",path:u.path,message:u.error}}}const l=await a.json();return await t().listProjects(),l.project}catch{return null}},loadProject:async n=>{try{const r=await _e(`/api/projects/${n}`);if(!r.ok)return null;const a=await r.json();return e({currentProject:a.project}),t().projects.length===0&&await t().listProjects(),a.project}catch{return null}},updateProject:async(n,r)=>{var a;try{const l=await _e(`/api/projects/${n}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!l.ok)return null;const u=await l.json();return((a=t().currentProject)==null?void 0:a.id)===n&&e({currentProject:u.project}),await t().listProjects(),u.project}catch{return null}},deleteProject:async n=>{var r;try{return(await _e(`/api/projects/${n}`,{method:"DELETE"})).ok?(await t().listProjects(),((r=t().currentProject)==null?void 0:r.id)===n&&e({currentProject:null}),!0):!1}catch{return!1}},toggleStar:async(n,r)=>{var a;try{const l=await _e(`/api/projects/${n}/star`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isStarred:r})});if(!l.ok)return!1;if(((a=t().currentProject)==null?void 0:a.id)===n){const u=await l.json();e({currentProject:u.project})}return await t().listProjects(),!0}catch{return!1}},clearProject:()=>{e({currentProject:null})}})),ai=async(e,t,n)=>{try{const r=await _e(t,{method:e,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});return r.ok?{success:!0}:{success:!1,error:(await r.json()).error}}catch{return{success:!1,error:"Network error"}}},od=async(e,t,n)=>{try{const r=await _e(e,{method:"POST",body:n?JSON.stringify({destination:n}):void 0,headers:n?{"Content-Type":"application/json"}:void 0}),a=await r.json();return r.ok?(await t(),{success:!0}):{success:!1,error:a.error??"Failed to duplicate"}}catch{return{success:!1,error:"Network error"}}};function ZS(e){let t=null;function n(){t===null&&(t=requestAnimationFrame(()=>{t=null,e()}))}return n}let au=[];const xl=$n()((e,t)=>{function n(){if(au.length===0)return;const a=au;au=[],e(l=>{const u={...l.logs};for(const c of a){const d=u[c.processId]??[];u[c.processId]=[...d,{offset:d.length,content:c.content,timestamp:Date.now(),stream:c.stream}]}return{logs:u}})}const r=ZS(n);return{processes:[],logs:{},loading:!1,setProcesses:a=>e({processes:a}),addProcess:a=>e(l=>({processes:[...l.processes,a]})),updateProcess:(a,l)=>e(u=>({processes:u.processes.map(c=>c.id===a?{...c,...l}:c)})),removeProcess:a=>e(l=>({processes:l.processes.filter(u=>u.id!==a),logs:Object.fromEntries(Object.entries(l.logs).filter(([u])=>u!==a))})),stopProcess:async(a,l)=>{try{(await _e(`/api/sessions/${l}/background-process/${a}/stop`,{method:"POST"})).ok&&t().removeProcess(a)}catch{}},appendLog:(a,l,u)=>{au.push({processId:a,stream:l,content:u}),r()},setLogs:(a,l)=>e(u=>({logs:{...u.logs,[a]:l}})),clearLogs:a=>e(l=>({logs:{...l.logs,[a]:[]}})),handleMessage:(a,l)=>{switch(a){case"backgroundProcess.started":{const{processId:u,name:c,pid:d,status:f}=l;e(p=>({processes:[...p.processes,{id:u,sessionId:"",name:c,command:"",cwd:"",pid:d,status:f,exitCode:null,createdAt:Date.now(),startedAt:Date.now(),endedAt:null}]}));break}case"backgroundProcess.output":{const u=l.processId,c=l.stream,d=l.content;t().appendLog(u,c,d);break}case"backgroundProcess.exited":{const u=l.processId,c=l.exitCode;e(d=>({processes:d.processes.map(f=>f.id===u?{...f,status:"exited",exitCode:c}:f)}));break}case"backgroundProcess.removed":{const u=l.processId;t().removeProcess(u);break}}}}}),J2={messageId:null,deltaContent:"",thinkingContent:"",toolOutput:[]};let Lu=null;function Z2(e){Lu=e}function Ri(){return J2}function rm(){Lu==null||Lu()}let ou=[];const Vr=$n()((e,t)=>{function n(){if(ou.length===0)return;const a=ou;ou=[],e(l=>({logs:[...l.logs,...a]}))}const r=ZS(n);return{workdir:null,status:null,logs:[],config:null,loading:!1,setWorkdir:a=>{t().workdir!==a&&(e({workdir:a,status:null,logs:[],config:null,loading:!0}),a&&(t().fetchStatus(),t().fetchConfig()))},fetchStatus:async()=>{const a=t().workdir;if(a)try{const u=await(await _e(`/api/dev-server?workdir=${encodeURIComponent(a)}`)).json();e({status:u,loading:!1})}catch{e({loading:!1})}},fetchConfig:async()=>{const a=t().workdir;if(a)try{const u=await(await _e(`/api/dev-server/config?workdir=${encodeURIComponent(a)}`)).json();e({config:u.config??null})}catch{}},fetchLogs:async()=>{const a=t().workdir;if(a)try{const c=(await(await _e(`/api/dev-server/logs?workdir=${encodeURIComponent(a)}`)).json()).logs.map(d=>({stream:d.stream,content:d.content}));e({logs:c})}catch{}},start:async()=>{const a=t().workdir;if(a)try{const u=await(await _e(`/api/dev-server/start?workdir=${encodeURIComponent(a)}`,{method:"POST"})).json();e({status:u,logs:[]})}catch{}},stop:async()=>{const a=t().workdir;if(a)try{const u=await(await _e(`/api/dev-server/stop?workdir=${encodeURIComponent(a)}`,{method:"POST"})).json();e({status:u})}catch{}},restart:async()=>{const a=t().workdir;if(a)try{const u=await(await _e(`/api/dev-server/restart?workdir=${encodeURIComponent(a)}`,{method:"POST"})).json();e({status:u,logs:[]})}catch{}},saveConfig:async a=>{const l=t().workdir;if(l)try{const c=await(await _e(`/api/dev-server/config?workdir=${encodeURIComponent(l)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})).json();e({config:c.config??a}),t().fetchStatus()}catch{}},handleMessage:a=>{const l=t().workdir;if(l)switch(a.type){case"devServer.output":{const u=a.payload;if(u.workdir!==l)return;ou.push({stream:u.stream,content:u.content}),r();break}case"devServer.state":{const u=a.payload;if(u.workdir!==l)return;e(c=>({status:c.status?{...c.status,state:u.state,errorMessage:u.errorMessage}:c.status}));break}}}}}),eN=[{key:"complete",label:"Task Complete",description:"When an agent finishes its work"},{key:"waiting_for_user",label:"Waiting for Input",description:"When the agent needs your input"},{key:"phase_done",label:"Phase Done",description:"When a build phase completes successfully"},{key:"phase_blocked",label:"Phase Blocked",description:"When a build phase is blocked and needs intervention"},{key:"new_message",label:"New Message",description:"When a new assistant message starts arriving"}],tN=[{url:"/sounds/notification.mp3",label:"Notification"},{url:"/sounds/waiting-for-user.mp3",label:"Waiting for User"},{url:"/sounds/achievement.mp3",label:"Achievement"},{url:"/sounds/intervention.mp3",label:"Intervention"},{url:"/sounds/typing.mp3",label:"Typing"}],e1={complete:"/sounds/notification.mp3",waiting_for_user:"/sounds/waiting-for-user.mp3",phase_done:"/sounds/achievement.mp3",phase_blocked:"/sounds/intervention.mp3",new_message:"/sounds/typing.mp3"},ni={soundEnabled:!0,browserNotification:!1,customSoundUrl:null},t1={soundEnabled:!1,browserNotification:!1,customSoundUrl:null},tp={soundEnabled:!0,browserNotificationEnabled:!1,events:{complete:{...ni},waiting_for_user:{...ni},phase_done:{...ni},phase_blocked:{...ni},new_message:{...t1}},agentOverrides:{}};function n1(e,t,n){var l;const r=e.events[t];if(!n)return r;const a=(l=e.agentOverrides[n])==null?void 0:l[t];return a?{soundEnabled:a.soundEnabled??r.soundEnabled,browserNotification:a.browserNotification??r.browserNotification,customSoundUrl:a.customSoundUrl!==void 0?a.customSoundUrl:r.customSoundUrl}:r}const Ii=$n((e,t)=>({settings:tp,loaded:!1,load:()=>{Gt.getState().getSetting(Re.NOTIFICATION_SETTINGS);const r=Gt.subscribe(l=>{const u=l.settings[Re.NOTIFICATION_SETTINGS];if(u!==void 0)try{const c=JSON.parse(u);e({settings:n_(c),loaded:!0})}catch{e({loaded:!0})}}),a=Gt.getState().settings[Re.NOTIFICATION_SETTINGS];if(a)try{const l=JSON.parse(a);e({settings:n_(l),loaded:!0})}catch{e({loaded:!0})}return r},update:n=>{e({settings:n}),sm(n)},updateEvent:(n,r)=>{const a=t().settings,l={...a,events:{...a.events,[n]:{...a.events[n],...r}}};e({settings:l}),sm(l)},updateAgentOverride:(n,r,a)=>{var d;const l=t().settings,u={...l.agentOverrides};if(a===null){if(u[n]){const f={...u[n]};delete f[r],Object.keys(f).length===0?delete u[n]:u[n]=f}}else u[n]={...u[n],[r]:{...((d=u[n])==null?void 0:d[r])??{},...a}};const c={...l,agentOverrides:u};e({settings:c}),sm(c)}}));function sm(e){Gt.getState().setSetting(Re.NOTIFICATION_SETTINGS,JSON.stringify(e))}function n_(e){var t,n,r,a,l;return{soundEnabled:e.soundEnabled??tp.soundEnabled,browserNotificationEnabled:e.browserNotificationEnabled??tp.browserNotificationEnabled,events:{complete:{...ni,...(t=e.events)==null?void 0:t.complete},waiting_for_user:{...ni,...(n=e.events)==null?void 0:n.waiting_for_user},phase_done:{...ni,...(r=e.events)==null?void 0:r.phase_done},phase_blocked:{...ni,...(a=e.events)==null?void 0:a.phase_blocked},new_message:{...t1,...(l=e.events)==null?void 0:l.new_message}},agentOverrides:e.agentOverrides??{}}}const r_=new Map;function nN(e){let t=r_.get(e);return t||(t=new Audio(Ss(e)),t.volume=.5,r_.set(e,t)),t}let r1=typeof Notification<"u"?Notification.permission:"denied";function rN(){return typeof Notification>"u"?Promise.resolve("denied"):Notification.requestPermission().then(e=>(r1=e,e))}const sN={complete:"Task Complete",waiting_for_user:"Waiting for Input",phase_done:"Phase Complete",phase_blocked:"Phase Blocked",new_message:"New Message"},iN={complete:"The agent has finished its work.",waiting_for_user:"The agent needs your input to continue.",phase_done:"The build phase completed successfully.",phase_blocked:"The build phase is blocked and needs intervention.",new_message:"A new assistant message is arriving."};function aN(e){typeof Notification>"u"||r1==="granted"&&(document.hasFocus()||new Notification(sN[e],{body:iN[e],icon:Ss("/fox.svg"),tag:`openfox-${e}`}))}function Ml(e,t){const{settings:n}=Ii.getState(),r=n1(n,e,t);if(n.soundEnabled&&r.soundEnabled){const a=r.customSoundUrl??e1[e],l=nN(a);l.currentTime=0,l.play().catch(()=>{})}n.browserNotificationEnabled&&r.browserNotification&&aN(e)}const oN=e=>Ml("complete",e),lN=e=>Ml("phase_done",e),cN=e=>Ml("phase_blocked",e),im=e=>Ml("waiting_for_user",e),uN=e=>Ml("new_message",e),s_=new Map;function za(e,t){var l;const n=t===((l=e.currentSession)==null?void 0:l.id)?e.currentSession:null,r=e.sessions.find(u=>u.id===t),a=(n==null?void 0:n.mode)??(r==null?void 0:r.mode);return a==="planner"?"planner":a==="builder"?"build":"planner"}function dN(e,t){if(e.type==="chat.done"){const n=e.payload,r=za(t,e.sessionId),a=n.agentType??r;n.reason==="complete"&&oN(a),n.reason==="waiting_for_user"&&im(a);return}if(e.type==="chat.path_confirmation"){const n=za(t,e.sessionId);im(n);return}if(e.type==="session.confirmation_pending"){const n=za(t,e.sessionId);im(n);return}if(e.type==="task.completed"){const n=za(t,e.sessionId);lN(n);return}if(e.type==="phase.changed"&&e.sessionId){const n=e.payload,r=s_.get(e.sessionId)??null;if(s_.set(e.sessionId,n.phase),r===n.phase)return;const a=za(t,e.sessionId);n.phase==="blocked"&&cN(a)}}const am=new Set;function dn(e,t){return t!==null&&e.sessionId===t}function hN(e,t,n){return e.id!==void 0||dn(e,t)||n===!0&&e.sessionId!==void 0}function fN(e,t){return e.includes(t)?e:[...e,t]}function i_(e,t){return e.filter(n=>n!==t)}function mN(e,t){const n=e.find(l=>l.id===t.id),r=t.messageCount??t.messages.length,a=n?{...n,projectId:t.projectId,workdir:t.workdir,workspace:t.workspace,branch:t.branch,mode:t.mode,phase:t.phase,isRunning:t.isRunning&&n.isRunning!==!1,messageCount:r,criteriaCount:t.criteria.length,criteriaCompleted:t.criteria.filter(l=>l.status.type==="passed").length}:{id:t.id,projectId:t.projectId,workdir:t.workdir,workspace:t.workspace,branch:t.branch,mode:t.mode,phase:t.phase,isRunning:t.isRunning,createdAt:"",updatedAt:"",criteriaCount:t.criteria.length,criteriaCompleted:t.criteria.filter(l=>l.status.type==="passed").length,messageCount:r};return n?e.map(l=>l.id===t.id?a:l):[a,...e]}function om(e,t){const n=e.findIndex(r=>r.callId===t.callId);if(n>=0){const r=[...e];return r[n]=t,r}return[...e,t]}function pN(e,t,n){return e.map(r=>{const a=(n==null?void 0:n.id)===r.id?n:null,l=t.find(u=>u.id===r.id);return{...r,title:r.title??(l==null?void 0:l.title),mode:(a==null?void 0:a.mode)??(l==null?void 0:l.mode)??r.mode,phase:(a==null?void 0:a.phase)??(l==null?void 0:l.phase)??r.phase,isRunning:r.isRunning&&(l==null?void 0:l.isRunning)!==!1,messageCount:r.messageCount,recentUserPrompts:r.recentUserPrompts}})}function a_(e,t,n,r){var c;const a=e.sessionId,l=(c=n().currentSession)==null?void 0:c.id,u=a&&a!==l;if(t(d=>({sessions:d.sessions.map(f=>f.id===a?r(f):f)})),!u){const d=n().currentSession;if(d){const f=r(d);t(()=>({currentSession:f}))}}}function o_(e,t,n){var c,d,f,p,m,x,y,w,C,_,S,v,b,E,j,T,D,L,R,M,V,U;const r=n();dN(e,r);const a=((c=r.currentSession)==null?void 0:c.id)??null,l=()=>{const O=e.sessionId;!O||O===a||t(H=>({unreadSessionIds:fN(H.unreadSessionIds,O)}))},u=(O,H,F)=>({messages:O.messages.map(G=>G.id===H?F(G):G)});switch(e.type){case"session.state":{const O=e.payload;if(!hN(e,a,r.pendingSessionCreate))break;const H=n().pendingSessionCreate===!0,F=O.pendingConfirmations??[],G=O.session.id,Z={...n().crossSessionConfirmations};delete Z[G],t({currentSession:O.session,sessions:mN(n().sessions,O.session),unreadSessionIds:i_(n().unreadSessionIds,G),messages:O.messages,hiddenCount:O.hiddenCount??0,currentTodos:[],pendingPathConfirmations:F,crossSessionConfirmations:Z,sessionsWithPendingConfirmations:Object.keys(Z),pendingQuestions:O.pendingQuestions??[],error:null,...H?{pendingSessionCreate:O.session.id}:{}});break}case"session.list":{const O=e.payload;t(H=>({sessions:pN(O.sessions,H.sessions,H.currentSession)}));break}case"session.created":{const O=e.payload;t(H=>({sessions:H.sessions.some(F=>F.id===O.session.id)?H.sessions.map(F=>F.id===O.session.id?{...F,...O.session}:F):[O.session,...H.sessions]}));break}case"session.deleted":{const O=e.payload;t(H=>({unreadSessionIds:i_(H.unreadSessionIds,O.sessionId)})),n().listSessions();break}case"session.deletedAll":{n().listSessions();break}case"session.running":{const O=e.payload;a_(e,t,n,H=>({...H,isRunning:O.isRunning})),O.isRunning||t({abortInProgress:!1,queuedMessages:[]}),O.isRunning&&t({restoredInput:null});break}case"chat.message":{if(!dn(e,((d=n().currentSession)==null?void 0:d.id)??null)){l();break}const O=e.payload;t(H=>{if(H.messages.some(G=>G.id===O.message.id))return H;const F=O.message.role==="user";return{messages:[...H.messages,O.message],sessions:H.sessions.map(G=>G.id===e.sessionId&&F?{...G,messageCount:G.messageCount+1}:G)}});break}case"chat.message_updated":{if(!dn(e,((f=n().currentSession)==null?void 0:f.id)??null)){l();break}const O=e.payload,H=n().messages.find(F=>F.id===O.messageId);O.updates.isStreaming===!1&&(H==null||H.isStreaming),t(F=>({messages:F.messages.map(G=>G.id===O.messageId?{...G,...O.updates}:G)}));break}case"chat.delta":{if(!dn(e,((p=n().currentSession)==null?void 0:p.id)??null)){l();break}const O=e.payload;if(!am.has(O.messageId)){am.add(O.messageId);const F=O.subAgentType?"sub-agent":za(n(),e.sessionId);uN(F)}const H=Ri();H.messageId=O.messageId,H.deltaContent+=O.content,rm();break}case"chat.thinking":{if(!dn(e,((m=n().currentSession)==null?void 0:m.id)??null)){l();break}const O=e.payload,H=Ri();H.messageId=O.messageId,H.thinkingContent+=O.content,rm();break}case"chat.tool_preparing":{if(!dn(e,((x=n().currentSession)==null?void 0:x.id)??null)){l();break}const O=e.payload;t(H=>{var I;const F=H.messages.find(B=>B.id===O.messageId);if(!F)return{};if((I=F.toolCalls)==null?void 0:I.find((B,K)=>K===O.index))return{};const Z=F.preparingToolCalls??[],q=Z.findIndex(B=>B.index===O.index);let z;return q>=0?z=Z.map((B,K)=>K===q?{...B,arguments:O.arguments}:B):z=[...Z,{index:O.index,name:O.name,...O.arguments?{arguments:O.arguments}:{}}],{messages:H.messages.map(B=>B.id===O.messageId?{...B,preparingToolCalls:z}:B)}});break}case"chat.tool_call":{if(!dn(e,((y=n().currentSession)==null?void 0:y.id)??null)){l();break}const O=e.payload,H=F=>{var I;const G=(F.toolCalls??[]).length,Z=(I=F.preparingToolCalls)==null?void 0:I.filter(B=>B.index!==G),q=Ri(),z=q.toolOutput.filter(B=>B.callId===O.callId);return z.length>0&&(q.toolOutput=q.toolOutput.filter(B=>B.callId!==O.callId)),{...F,toolCalls:[...F.toolCalls??[],{id:O.callId,name:O.tool,arguments:O.args,startedAt:Date.now(),...z.length>0?{streamingOutput:z.map(B=>({stream:B.stream,content:B.content,timestamp:Date.now()}))}:{}}],...Z&&Z.length>0?{preparingToolCalls:Z}:{preparingToolCalls:void 0}}};t(F=>u(F,O.messageId,H));break}case"chat.tool_output":{if(!dn(e,((w=n().currentSession)==null?void 0:w.id)??null)){l();break}const O=e.payload,H=Ri();H.messageId=O.messageId,H.toolOutput.push({messageId:O.messageId,callId:O.callId,stream:O.stream,content:O.output}),rm();break}case"chat.tool_result":{if(!dn(e,((C=n().currentSession)==null?void 0:C.id)??null)){l();break}const O=e.payload,H=F=>{var Z;const G=(Z=F.toolCalls)==null?void 0:Z.map(q=>q.id===O.callId?{...q,result:O.result}:q);return{...F,toolCalls:G}};t(F=>u(F,O.messageId,H));break}case"chat.vision_fallback":{if(!dn(e,((_=n().currentSession)==null?void 0:_.id)??null)){l();break}const O=e.payload;t(H=>{const F=`${O.messageId}-${O.attachmentId}`,G={...H.visionFallbackByMessage};return G[F]={type:O.type,attachmentId:O.attachmentId,filename:O.filename,description:O.description},{visionFallbackByMessage:G}});break}case"chat.todo":{if(!dn(e,((S=n().currentSession)==null?void 0:S.id)??null)){l();break}const O=e.payload;t({currentTodos:O.todos});break}case"chat.progress":{if(!dn(e,((v=n().currentSession)==null?void 0:v.id)??null)){l();break}const O=e.payload;console.warn("Progress:",O.message,O.phase);break}case"chat.format_retry":{if(!dn(e,((b=n().currentSession)==null?void 0:b.id)??null)){l();break}const O=e.payload;console.warn("Format retry:",O.attempt,"/",O.maxAttempts);break}case"chat.done":{if(!dn(e,((E=n().currentSession)==null?void 0:E.id)??null)){l();break}const O=Ri();O.messageId=null,O.deltaContent="",O.thinkingContent="",O.toolOutput=[],am.delete(e.payload.messageId);const H=e.payload,F=H.stats;t(G=>({messages:G.messages.map(Z=>Z.id===H.messageId?{...Z,isStreaming:!1,stats:F??Z.stats,completeReason:H.reason,preparingToolCalls:void 0}:Z),visionFallbackByMessage:{}}));break}case"chat.error":{if(!dn(e,((j=n().currentSession)==null?void 0:j.id)??null)){l();break}const O=Ri(),H=e.payload;console.error("Chat error:",H.error,"recoverable:",H.recoverable),H.recoverable||(O.messageId=null,O.deltaContent="",O.thinkingContent="",O.toolOutput=[]),t(F=>({error:{code:"CHAT_ERROR",message:H.error},...H.recoverable?{}:{messages:F.messages}}));break}case"chat.path_confirmation":{const O=e.sessionId,H=O===(((T=n().currentSession)==null?void 0:T.id)??null),F=e.payload,G={callId:F.callId,tool:F.tool,paths:F.paths,workdir:F.workdir,reason:F.reason};if(!H){l(),O&&t(Z=>({crossSessionConfirmations:{...Z.crossSessionConfirmations,[O]:om(Z.crossSessionConfirmations[O]??[],G)},sessionsWithPendingConfirmations:Z.sessionsWithPendingConfirmations.includes(O)?Z.sessionsWithPendingConfirmations:[...Z.sessionsWithPendingConfirmations,O]}));break}t(Z=>({pendingPathConfirmations:om(Z.pendingPathConfirmations,G)}));break}case"session.confirmation_pending":{const O=e.sessionId,H=e.payload,F={callId:H.callId,tool:H.tool,paths:H.paths,workdir:H.workdir,reason:H.reason};O&&t(G=>({crossSessionConfirmations:{...G.crossSessionConfirmations,[O]:om(G.crossSessionConfirmations[O]??[],F)},sessionsWithPendingConfirmations:G.sessionsWithPendingConfirmations.includes(O)?G.sessionsWithPendingConfirmations:[...G.sessionsWithPendingConfirmations,O]}));break}case"session.confirmation_resolved":{const O=e.sessionId,H=e.payload;O&&t(F=>{const Z=(F.crossSessionConfirmations[O]??[]).filter(z=>z.callId!==H.callId),q={...F.crossSessionConfirmations};return Z.length===0?delete q[O]:q[O]=Z,{crossSessionConfirmations:q,sessionsWithPendingConfirmations:Object.keys(q)}});break}case"chat.ask_user":{if(!dn(e,((D=n().currentSession)==null?void 0:D.id)??null)){l();return}const O=e.payload,H={callId:O.callId,question:O.question,type:O.type??"text",options:O.options??void 0};t(F=>({pendingQuestions:[...F.pendingQuestions.filter(G=>G.callId!==O.callId),H]}));break}case"mode.changed":{if(!dn(e,((L=n().currentSession)==null?void 0:L.id)??null)){l();break}const O=e.payload;t(H=>({currentSession:H.currentSession?{...H.currentSession,mode:O.mode}:null}));break}case"phase.changed":{const O=e.payload;a_(e,t,n,H=>({...H,phase:O.phase}));break}case"criteria.updated":{if(!dn(e,((R=n().currentSession)==null?void 0:R.id)??null)){l();break}const O=e.payload;t(H=>({currentSession:H.currentSession?{...H.currentSession,criteria:O.criteria}:null}));break}case"metadata.updated":{if(!dn(e,((M=n().currentSession)==null?void 0:M.id)??null)){l();break}const O=e.payload;t(H=>({currentSession:H.currentSession?{...H.currentSession,metadataEntries:{...H.currentSession.metadataEntries,[O.key]:O.entries}}:null}));break}case"context.state":{const O=e.payload,H=dn(e,((V=n().currentSession)==null?void 0:V.id)??null);O.subAgentId?H&&n().updateSubAgentContextState(O.subAgentId,O.context):H?t({contextState:O.context}):l();break}case"session.name_generated":{const O=e.payload,H=e.sessionId,F=(U=n().currentSession)==null?void 0:U.id;t(G=>{const Z=G.sessions.map(z=>z.id===H?{...z,title:O.name,updatedAt:new Date().toISOString()}:z),q=F===H?G.currentSession?{...G.currentSession,title:O.name,updatedAt:new Date().toISOString()}:null:G.currentSession;return{sessions:Z,currentSession:q}});break}case"queue.state":{const O=e.payload;t({queuedMessages:O.messages??[]});break}case"mcp.servers.changed":{window.dispatchEvent(new CustomEvent("mcp-servers-changed"));break}case"git.status":{const O=e.payload;t({gitStatus:{branch:O.branch,diff:O.diff}});break}case"devServer.output":case"devServer.state":{Vr.getState().handleMessage(e);break}case"backgroundProcess.started":case"backgroundProcess.output":case"backgroundProcess.exited":case"backgroundProcess.removed":{xl.getState().handleMessage(e.type,e.payload);break}case"error":{const O=e.payload;console.error("Server error:",O),t({error:{code:O.code,message:O.message}});break}}}let rl=!1,zr=null;const lm=new Set,lu=new Map;function l_(e,t,n){return e==null?void 0:e.map(r=>{const a=t.filter(l=>l.callId===r.id);return a.length===0?r:(n.add(r.id),{...r,streamingOutput:[...r.streamingOutput??[],...a.map(l=>({stream:l.stream,content:l.content,timestamp:Date.now()}))]})})}async function c_(e,t,n,r,a){try{const u=await(await _e(`/api/sessions/${e}/message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t,attachments:n,messageKind:r})})).json();u.queueState&&a({queuedMessages:u.queueState})}catch(l){console.error("Error queueing message:",l)}}const Le=$n((e,t)=>(Z2(()=>{const n=Ri();if(!n.messageId)return;const r=n.deltaContent.length>0,a=n.thinkingContent.length>0,l=n.toolOutput.length>0;if(!r&&!a&&!l)return;const u=n.deltaContent,c=n.thinkingContent,d=n.toolOutput;n.deltaContent="",n.thinkingContent="",n.toolOutput=[],e(f=>{const p=f.messages.find(m=>m.id===n.messageId);if(p){const m={...p};if(r&&(m.content=m.content+u),a&&(m.thinkingContent=(m.thinkingContent??"")+c),l){const x=new Set;m.toolCalls=l_(m.toolCalls,d,x);const y=d.filter(w=>!x.has(w.callId));y.length>0&&n.toolOutput.push(...y)}return{messages:f.messages.map(x=>x.id===n.messageId?m:x)}}if(l){const m=new Set,x=f.messages.map(w=>w.id!==n.messageId?w:{...w,toolCalls:l_(w.toolCalls,d,m)}),y=d.filter(w=>!m.has(w.callId));return y.length>0&&n.toolOutput.push(...y),{messages:x}}return f})}),{connectionStatus:"disconnected",showPasswordModal:!1,passwordModalRetry:!1,sessions:[],currentSession:null,unreadSessionIds:[],messages:[],hiddenCount:0,currentTodos:[],contextState:null,subAgentContextStates:{},pendingPathConfirmations:[],crossSessionConfirmations:{},sessionsWithPendingConfirmations:[],pendingQuestions:[],visionFallbackByMessage:{},gitStatus:null,queuedMessages:[],abortInProgress:!1,restoredInput:null,error:null,sessionsHasMore:!0,sessionsPaginationLoading:!1,pendingSessionCreate:!1,connect:async()=>{if(t().connectionStatus==="connected")return;e({connectionStatus:"reconnecting"});let r=!1;try{r=(await(await _e("/api/auth")).json()).requiresAuth}catch{}if(r&&!Xt.hasToken()){e({showPasswordModal:!0,passwordModalRetry:!1,connectionStatus:"reconnecting"});return}Xt.onStatusChange(a=>{var l;if(e({connectionStatus:a}),a==="connected"){t().listSessions(void 0),zt.getState().listProjects();const u=(l=t().currentSession)==null?void 0:l.id;u&&t().loadSession(u)}});try{await Xt.connect(),rl||(rl=!0,zr=Xt.subscribe(a=>{o_(a,e,t)}))}catch(a){console.error("Failed to connect:",a);const l=Xt.getLastCloseCode();if(!Xt.hasToken()&&(l===1006||l===4e3)){e({showPasswordModal:!0,passwordModalRetry:!0,connectionStatus:"reconnecting"});return}zr&&(zr(),zr=null),rl=!1,e({connectionStatus:"disconnected"})}},reconnect:()=>{Xt.disconnect(),zr&&(zr(),zr=null),rl=!1,e({connectionStatus:"disconnected"}),t().connect()},disconnect:()=>{Xt.disconnect(),zr&&(zr(),zr=null),rl=!1,e({connectionStatus:"disconnected",showPasswordModal:!1})},submitPassword:async n=>{try{const r=await fetch(Ss("/api/auth/login"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:n})});if(!r.ok){e({showPasswordModal:!0,passwordModalRetry:!0,connectionStatus:"reconnecting"});return}const{token:a}=await r.json();Xt.setToken(a),e({showPasswordModal:!1}),t().connect();const{listProjects:l}=zt.getState(),{fetchConfig:u}=Qt.getState();l(),u(),t().connect()}catch{e({showPasswordModal:!0,passwordModalRetry:!0,connectionStatus:"reconnecting"})}},cancelPassword:()=>{Xt.clearToken(),e({showPasswordModal:!1,connectionStatus:"disconnected"})},createSession:async(n,r)=>{if(t().pendingSessionCreate)return null;try{e({pendingSessionCreate:!0});const l=await _e("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:n,title:r})});if(!l.ok)return e({pendingSessionCreate:!1}),null;const u=await l.json();try{Xt.send("session.load",{sessionId:u.session.id})}catch{}return u.session}catch{return e({pendingSessionCreate:!1}),null}},loadSession:async n=>{if(!lm.has(n)){lm.add(n);try{const r=t().currentSession;if(!r||r.id!==n){const d=r==null?void 0:r.id,f=t().pendingPathConfirmations,m={...t().crossSessionConfirmations};d&&f.length>0&&(m[d]=[...m[d]??[],...f]),e({currentSession:null,unreadSessionIds:t().unreadSessionIds.filter(x=>x!==n),subAgentContextStates:{},messages:[],currentTodos:[],contextState:null,pendingPathConfirmations:[],pendingQuestions:[],queuedMessages:[],abortInProgress:!1,restoredInput:null,error:null,gitStatus:null,pendingSessionCreate:!1,crossSessionConfirmations:m,sessionsWithPendingConfirmations:Object.keys(m)})}else e({unreadSessionIds:t().unreadSessionIds.filter(d=>d!==n)});const a=await _e(`/api/sessions/${n}`);if(!a.ok)return;const l=await a.json(),u=l.messages??[],c={...t().crossSessionConfirmations};delete c[n],e({currentSession:l.session,messages:u,hiddenCount:l.hiddenCount??0,contextState:l.contextState,queuedMessages:l.queueState??[],pendingPathConfirmations:l.pendingConfirmations??[],pendingQuestions:l.pendingQuestions??[],crossSessionConfirmations:c,sessionsWithPendingConfirmations:Object.keys(c)}),Xt.send("session.load",{sessionId:n});try{const d=await _e(`/api/sessions/${n}/background-processes`);if(d.ok){const f=await d.json();xl.getState().setProcesses(f.processes??[])}}catch{}}catch{}finally{lm.delete(n)}}},listSessions:async(n,r=20)=>{const a=n??"global";if(lu.has(a))return lu.get(a);const l=(async()=>{var u;try{const c=new URLSearchParams;c.set("limit",String(r)),n&&c.set("projectId",n);const f=await(await _e(`/api/sessions?${c.toString()}`)).json(),p=f.sessions??[];e(x=>({sessions:p.map(y=>{var C,_;const w=x.sessions.find(S=>S.id===y.id);return{...y,title:y.title??(w==null?void 0:w.title),mode:((C=x.currentSession)==null?void 0:C.id)===y.id?x.currentSession.mode:(w==null?void 0:w.mode)??y.mode,phase:((_=x.currentSession)==null?void 0:_.id)===y.id?x.currentSession.phase:(w==null?void 0:w.phase)??y.phase,isRunning:y.isRunning&&(w==null?void 0:w.isRunning)!==!1,messageCount:y.messageCount,recentUserPrompts:y.recentUserPrompts}}),sessionsHasMore:n?f.hasMore??!1:!0}));const m=f.pendingConfirmationsBySession;if(m){const x=(u=t().currentSession)==null?void 0:u.id,y={};for(const[w,C]of Object.entries(m))w!==x&&(y[w]=C);e({crossSessionConfirmations:y,sessionsWithPendingConfirmations:Object.keys(y)})}}catch{}finally{lu.delete(a)}})();return lu.set(a,l),l},loadMoreSessions:async n=>{const r=t();if(!(r.sessionsPaginationLoading||!r.sessionsHasMore)){e({sessionsPaginationLoading:!0});try{const a=new URLSearchParams;a.set("limit","20"),a.set("offset",String(r.sessions.length)),a.set("projectId",n);const u=await(await _e(`/api/sessions?${a.toString()}`)).json(),c=u.sessions??[];e(d=>({sessions:[...d.sessions,...c.map(f=>{const p=d.sessions.find(m=>m.id===f.id);return(p==null?void 0:p.isRunning)===!1?{...f,isRunning:!1}:f})],sessionsHasMore:u.hasMore??!1,sessionsPaginationLoading:!1}))}catch{e({sessionsPaginationLoading:!1})}}},deleteSession:async n=>{var r;try{return(await _e(`/api/sessions/${n}`,{method:"DELETE"})).ok?(await t().listSessions(),((r=t().currentSession)==null?void 0:r.id)===n&&t().clearSession(),!0):!1}catch{return!1}},renameSession:async(n,r)=>{var a;try{const l=await _e(`/api/sessions/${n}/title`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:r})});if(!l.ok)return!1;if(await t().listSessions(),((a=t().currentSession)==null?void 0:a.id)===n){const c=await l.json();c.session&&e({currentSession:c.session})}return!0}catch{return!1}},deleteAllSessions:async n=>{try{return(await _e(`/api/projects/${n}/sessions`,{method:"DELETE"})).ok?(await t().listSessions(),!0):!1}catch{return!1}},clearSession:()=>{e(n=>({currentSession:null,messages:[],hiddenCount:0,currentTodos:[],contextState:null,restoredInput:null,pendingSessionCreate:!1,unreadSessionIds:n.currentSession?n.unreadSessionIds.filter(r=>r!==n.currentSession.id):n.unreadSessionIds}))},sendMessage:async(n,r,a)=>{var u;const l=(u=t().currentSession)==null?void 0:u.id;if(l)try{const c=n==null?void 0:n.trim(),d=r&&r.length>0,f={};c&&(f.content=n),d&&(f.attachments=r),a!=null&&a.messageKind&&(f.messageKind=a.messageKind);const m=await(await _e(`/api/sessions/${l}/message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)})).json();m.queueState&&e({queuedMessages:m.queueState})}catch(c){console.error("Error sending message:",c)}},stopGeneration:async()=>{var r;const n=(r=t().currentSession)==null?void 0:r.id;if(n&&!t().abortInProgress){e({abortInProgress:!0});try{const l=await(await _e(`/api/sessions/${n}/stop`,{method:"POST"})).json();if(l.queuedMessages&&l.queuedMessages.length>0){const u=l.queuedMessages.map(c=>c.content).join(`
|
|
59
|
-
`);e({restoredInput:u})}}catch(a){console.error("Error stopping generation:",a)}}},continueGeneration:async()=>{var r;const n=(r=t().currentSession)==null?void 0:r.id;if(n)try{await _e(`/api/sessions/${n}/continue`,{method:"POST"})}catch(a){console.error("Error continuing generation:",a)}},launchWorkflow:(n,r,a,l)=>{const u={};n!=null&&n.trim()&&(u.content=n),r&&r.length>0&&(u.attachments=r),a&&(u.workflowId=a),l&&(u.subGroup=l),Xt.send("runner.launch",u)},switchMode:async n=>{var a;const r=(a=t().currentSession)==null?void 0:a.id;if(r)try{const l=await _e(`/api/sessions/${r}/mode`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:n})});if(!l.ok){console.error("Failed to switch mode:",await l.json());return}const u=await l.json();u.session&&e({currentSession:u.session}),u.messages&&e({messages:u.messages,hiddenCount:u.hiddenCount??0})}catch(l){console.error("Error switching mode:",l)}},switchDangerLevel:async n=>{var a;const r=(a=t().currentSession)==null?void 0:a.id;if(r)try{const l=await _e(`/api/sessions/${r}/danger-level`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({dangerLevel:n})});if(!l.ok){console.error("Failed to switch danger level:",await l.json());return}const u=await l.json();u.session&&e({currentSession:u.session})}catch(l){console.error("Error switching danger level:",l)}},editCriteria:async n=>{var a;const r=(a=t().currentSession)==null?void 0:a.id;if(r)try{const l=await _e(`/api/sessions/${r}/criteria`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({criteria:n})});l.ok||console.error("Failed to update criteria:",await l.json())}catch(l){console.error("Error updating criteria:",l)}},compactContext:()=>{Xt.send("context.compact",{})},setSessionProvider:async(n,r)=>{var a;try{const l=(a=t().currentSession)==null?void 0:a.id;if(!l)return null;const u=await _e(`/api/sessions/${l}/provider`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerId:n,...r?{model:r}:{}})});if(!u.ok)return null;const c=await u.json();return e({currentSession:c.session,messages:c.messages??[],hiddenCount:c.hiddenCount??0,contextState:c.contextState}),c.session}catch{return null}},updateContextState:n=>{e({contextState:n})},updateSubAgentContextState:(n,r)=>{e(a=>({subAgentContextStates:{...a.subAgentContextStates,[n]:r}}))},clearSubAgentContextState:n=>{e(r=>{const a={...r.subAgentContextStates};return delete a[n],{subAgentContextStates:a}})},confirmPath:async(n,r,a=!1)=>{var u;const l=(u=t().currentSession)==null?void 0:u.id;if(l)try{const c=await _e(`/api/sessions/${l}/confirm-path`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({callId:n,approved:r,alwaysAllow:a})});if(!c.ok){const d=await c.json().catch(()=>({}));console.error("Error confirming path:",d.error??`HTTP ${c.status}`)}}catch(c){console.error("Error confirming path:",c)}},answerQuestion:async(n,r,a)=>{var u;const l=(u=t().currentSession)==null?void 0:u.id;if(l){try{await _e(`/api/sessions/${l}/answer`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({callId:n,answer:r,skip:a})})}catch(c){console.error("Error answering question:",c)}e(c=>({pendingQuestions:c.pendingQuestions.filter(d=>d.callId!==n)}))}},queueAsap:async(n,r,a)=>{var u;const l=(u=t().currentSession)==null?void 0:u.id;l&&await c_(l,n,r,a,e)},queueCompletion:async(n,r,a)=>{var u;const l=(u=t().currentSession)==null?void 0:u.id;l&&await c_(l,n,r,a,e)},cancelQueued:async n=>{var a;const r=(a=t().currentSession)==null?void 0:a.id;if(r)try{const u=await(await _e(`/api/sessions/${r}/queue/${n}`,{method:"DELETE"})).json();u.queueState&&e({queuedMessages:u.queueState})}catch(l){console.error("Error canceling queued message:",l)}},clearError:()=>{e({error:null})},clearRestoredInput:()=>{e({restoredInput:null})},resetPendingSessionCreate:()=>{e({pendingSessionCreate:!1})},handleServerMessage:n=>{o_(n,e,t)}}));function ld(){return Le(e=>{var t;return((t=e.currentSession)==null?void 0:t.isRunning)??!1})}function gN(){return Le(e=>e.abortInProgress)}function xN(){const e=Le(a=>a.connect),t=Le(a=>a.connectionStatus),n=Ii(a=>a.load),r=no("/p/:projectId/s/:sessionId/readonly")[0];return A.useEffect(()=>{r||e()},[e,r]),A.useEffect(()=>{r||t==="connected"&&n()},[t,n,r]),{connectionStatus:t}}const yN="modulepreload",bN=function(e){return"/"+e},u_={},J=function(t,n,r){let a=Promise.resolve();if(n&&n.length>0){let u=function(f){return Promise.all(f.map(p=>Promise.resolve(p).then(m=>({status:"fulfilled",value:m}),m=>({status:"rejected",reason:m}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),d=(c==null?void 0:c.nonce)||(c==null?void 0:c.getAttribute("nonce"));a=u(n.map(f=>{if(f=bN(f),f in u_)return;u_[f]=!0;const p=f.endsWith(".css"),m=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${f}"]${m}`))return;const x=document.createElement("link");if(x.rel=p?"stylesheet":yN,p||(x.as="script"),x.crossOrigin="",x.href=f,d&&x.setAttribute("nonce",d),document.head.appendChild(x),p)return new Promise((y,w)=>{x.addEventListener("load",y),x.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${f}`)))})}))}function l(u){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=u,window.dispatchEvent(c),!c.defaultPrevented)throw u}return a.then(u=>{for(const c of u||[])c.status==="rejected"&&l(c.reason);return t().catch(l)})},vN=[{key:"color-bg-primary",category:"background",label:"Primary Background",defaultValue:"13 17 23"},{key:"color-bg-secondary",category:"background",label:"Secondary Background",defaultValue:"22 27 34"},{key:"color-bg-tertiary",category:"background",label:"Tertiary Background",defaultValue:"33 38 45"},{key:"color-primary",category:"surface",label:"Primary Surface",defaultValue:"10 10 10"},{key:"color-secondary",category:"surface",label:"Secondary Surface",defaultValue:"20 20 20"},{key:"color-text-primary",category:"text",label:"Primary Text",defaultValue:"139 148 158"},{key:"color-text-secondary",category:"text",label:"Secondary Text",defaultValue:"139 148 158"},{key:"color-text-muted",category:"text",label:"Muted Text",defaultValue:"72 79 88"},{key:"color-accent-primary",category:"accent",label:"Primary Accent",defaultValue:"88 166 255"},{key:"color-accent-success",category:"accent",label:"Success Accent",defaultValue:"63 185 80"},{key:"color-accent-warning",category:"accent",label:"Warning Accent",defaultValue:"210 153 34"},{key:"color-accent-error",category:"accent",label:"Error Accent",defaultValue:"248 81 73"},{key:"color-border",category:"border",label:"Border",defaultValue:"48 53 60"}],_N=[{id:"system",name:"System",tokens:{}},{id:"dark",name:"Dark",tokens:{"color-bg-primary":"13 17 23","color-bg-secondary":"22 27 34","color-bg-tertiary":"33 38 45","color-primary":"10 10 10","color-secondary":"20 20 20","color-text-primary":"255 255 255","color-text-secondary":"139 148 158","color-text-muted":"72 79 88","color-accent-primary":"88 166 255","color-accent-success":"63 185 80","color-accent-warning":"210 153 34","color-accent-error":"248 81 73","color-border":"48 53 60"}},{id:"light",name:"Light",tokens:{"color-bg-primary":"255 255 255","color-bg-secondary":"250 251 252","color-bg-tertiary":"243 244 246","color-primary":"245 245 245","color-secondary":"229 229 229","color-text-primary":"15 23 42","color-text-secondary":"30 41 59","color-text-muted":"100 116 139","color-accent-primary":"37 99 235","color-accent-success":"22 163 74","color-accent-warning":"217 119 6","color-accent-error":"220 38 38","color-border":"203 213 225"}},{id:"monokai",name:"Monokai",tokens:{"color-bg-primary":"39 40 34","color-bg-secondary":"30 31 28","color-bg-tertiary":"62 61 50","color-primary":"30 31 28","color-secondary":"45 46 39","color-text-primary":"248 248 242","color-text-secondary":"207 207 194","color-text-muted":"117 113 94","color-accent-primary":"102 217 239","color-accent-success":"166 226 46","color-accent-warning":"230 219 116","color-accent-error":"249 38 114","color-border":"73 72 62"}},{id:"dracula",name:"Dracula",tokens:{"color-bg-primary":"40 42 54","color-bg-secondary":"33 34 44","color-bg-tertiary":"68 71 90","color-primary":"30 31 41","color-secondary":"44 46 61","color-text-primary":"248 248 242","color-text-secondary":"230 230 230","color-text-muted":"98 114 164","color-accent-primary":"189 147 249","color-accent-success":"80 250 123","color-accent-warning":"255 184 108","color-accent-error":"255 85 85","color-border":"68 71 90"}},{id:"nord",name:"Nord",tokens:{"color-bg-primary":"46 52 64","color-bg-secondary":"59 66 82","color-bg-tertiary":"67 76 94","color-primary":"46 52 64","color-secondary":"59 66 82","color-text-primary":"236 239 244","color-text-secondary":"229 233 240","color-text-muted":"76 86 106","color-accent-primary":"129 161 193","color-accent-success":"163 190 140","color-accent-warning":"235 203 139","color-accent-error":"191 97 106","color-border":"76 86 106"}}],s1={tokens:vN,presets:_N},i1=s1.tokens,Wr=s1.presets;function d_(){try{const e=localStorage.getItem("openfox:userPresets");if(e)return JSON.parse(e)}catch{}return[]}const Yt=$n((e,t)=>({currentPreset:"dark",basePreset:"",customTokens:{},isCustom:!1,isCustomizing:!1,userPresets:d_(),followSystemTheme:!0,isSystem:!1,applySavedTheme:()=>{const{getSavedTheme:n,applyPreset:r,applyTokens:a}=t(),l=n();if(l)try{const u=JSON.parse(l);u.preset&&u.tokens?(r(u.preset),e({basePreset:u.preset}),a(u.tokens)):u.preset?r(u.preset):u.tokens&&a(u.tokens)}catch{r("dark")}else r("dark")},applyPreset:n=>{if(Wr.find(a=>a.id===n))if(n==="system"){const l=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";e({basePreset:"system",currentPreset:l,customTokens:{},isCustom:!1,isCustomizing:!1,isSystem:!0}),t().applyTheme()}else e({currentPreset:n,basePreset:"",customTokens:{},isCustom:!1,isCustomizing:!1,isSystem:!1}),t().applyTheme()},startCustomizing:()=>{var a;const{currentPreset:n}=t(),r=((a=Wr.find(l=>l.id===n))==null?void 0:a.tokens)??{};e({basePreset:n,customTokens:{...r},isCustom:!0,isCustomizing:!0})},setCustomToken:(n,r)=>{e(a=>({customTokens:{...a.customTokens,[n]:r}})),t().applyTheme()},cancelCustomizing:()=>{t().applyPreset(t().basePreset||t().currentPreset)},saveCustomTheme:()=>{const{customTokens:n}=t();t().saveTheme(JSON.stringify({tokens:n})).catch(()=>{}),e({isCustomizing:!1})},applyTokens:n=>{e({customTokens:n,isCustom:!0,isCustomizing:!1}),t().applyTheme()},getActiveTheme:()=>{var u,c;const{basePreset:n,customTokens:r,isCustom:a}=t();if(a&&n)return{...((u=Wr.find(f=>f.id===n))==null?void 0:u.tokens)??{},...r};if(a)return{...i1.reduce((d,f)=>({...d,[f.key]:f.defaultValue}),{}),...r};const l=Wr.find(d=>d.id===t().currentPreset);return(l==null?void 0:l.tokens)??((c=Wr[0])==null?void 0:c.tokens)??{}},applyTheme:()=>{if(typeof document>"u")return;const n=t().getActiveTheme(),r=document.documentElement;Object.entries(n).forEach(([a,l])=>{r.style.setProperty(`--${a}`,l)})},getSavedTheme:()=>{try{const n=localStorage.getItem("openfox:theme");if(!n)return null;if(n[0]!=="{")return JSON.stringify({preset:n});const r=JSON.parse(n);if(r.preset)return JSON.stringify({preset:r.preset});if(r.tokens)return JSON.stringify({tokens:r.tokens})}catch{return null}return null},saveTheme:async n=>{localStorage.setItem("openfox:theme",n);const{useSettingsStore:r}=await J(async()=>{const{useSettingsStore:a}=await Promise.resolve().then(()=>nm);return{useSettingsStore:a}},void 0);await r.getState().setSetting(Re.DISPLAY_THEME,n)},clearCustomTheme:()=>{localStorage.removeItem("openfox:theme"),e({isCustom:!1,isCustomizing:!1,basePreset:""})},setFollowSystemTheme:n=>{e({followSystemTheme:n}),J(async()=>{const{useSettingsStore:r,SETTINGS_KEYS:a}=await Promise.resolve().then(()=>nm);return{useSettingsStore:r,SETTINGS_KEYS:a}},void 0).then(({useSettingsStore:r,SETTINGS_KEYS:a})=>{r.getState().setSetting(a.DISPLAY_FOLLOW_SYSTEM_THEME,String(n))})},initSystemThemeListener:()=>{if(typeof window>"u")return()=>{};const n=window.matchMedia("(prefers-color-scheme: dark)"),r=l=>{const{followSystemTheme:u}=t();u&&(t().applyPreset(l?"dark":"light"),t().saveTheme(JSON.stringify({preset:l?"dark":"light"})))},a=l=>r(l.matches);return n.addEventListener("change",a),()=>n.removeEventListener("change",a)},reset:()=>{e({currentPreset:"dark",basePreset:"",customTokens:{},isCustom:!1,isCustomizing:!1,userPresets:[],followSystemTheme:!0})},addUserPreset:n=>{const{basePreset:r,customTokens:a,currentPreset:l}=t(),u={id:"custom-"+Date.now(),name:n,basePreset:r||l,tokens:{...a}},c=[...t().userPresets,u];e({userPresets:c}),t().saveUserPresets()},applyUserPreset:n=>{const r=t().userPresets[n];r&&(e({currentPreset:r.basePreset,basePreset:r.basePreset,customTokens:{...r.tokens},isCustom:!0,isCustomizing:!1}),t().applyTheme(),t().saveTheme(JSON.stringify({preset:r.basePreset,tokens:r.tokens})).catch(()=>{}))},deleteUserPreset:n=>{const r=t().userPresets.filter((a,l)=>l!==n);e({userPresets:r}),t().saveUserPresets()},loadUserPresets:()=>{e({userPresets:d_()})},saveUserPresets:()=>{localStorage.setItem("openfox:userPresets",JSON.stringify(t().userPresets)),J(async()=>{const{useSettingsStore:n}=await Promise.resolve().then(()=>nm);return{useSettingsStore:n}},void 0).then(({useSettingsStore:n})=>{n.getState().setSetting(Re.DISPLAY_USER_PRESETS,JSON.stringify(t().userPresets)).catch(()=>{})})}}));function SN({canLoad:e,projectId:t,currentProjectId:n}){const r=zt(u=>u.loadProject),a=Le(u=>u.listSessions),l=Le(u=>u.clearSession);A.useEffect(()=>{e&&t&&(n!==t&&r(t),a(t),l())},[e,t,n,r,a,l])}function wN({canLoad:e,projectId:t,sessionId:n,currentProjectId:r,currentSessionId:a}){const l=Le(f=>f.loadSession),u=zt(f=>f.loadProject),c=Le(f=>f.listSessions),d=Le(f=>f.pendingSessionCreate);A.useEffect(()=>{e&&t&&r!==t&&u(t)},[e,t,r,u]),A.useEffect(()=>{e&&n&&a!==n&&l(n),e&&t&&c(t)},[e,n,a,l,c,d,t])}function CN({className:e="w-5 h-5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}function a1({className:e="w-3.5 h-3.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M14 5l7 7m0 0l-7 7m7-7H3"})})}function kN({className:e="w-5 h-5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13"})})}function EN({className:e="w-3 h-3 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})})}function Du({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"currentColor",children:i.jsx("path",{d:"M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"})})}function Or({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}function Yn({className:e="w-3 h-3 text-text-muted",rotate:t}){return i.jsx("svg",{className:e,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,style:t!==void 0?{transform:`rotate(${t}deg)`}:void 0,children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})}function jN({className:e="w-4 h-4"}){return i.jsxs("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[i.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2"}),i.jsx("path",{d:"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1",strokeWidth:"2"})]})}function Fp({className:e="w-3.5 h-3.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})}function o1({className:e="w-3 h-3"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})})}function l1({className:e="w-4 h-4"}){return i.jsxs("svg",{className:e,fill:"currentColor",viewBox:"0 0 24 24",children:[i.jsx("circle",{cx:"12",cy:"5",r:"2"}),i.jsx("circle",{cx:"12",cy:"12",r:"2"}),i.jsx("circle",{cx:"12",cy:"19",r:"2"})]})}function Vp({className:e="w-3.5 h-3.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})})}function qr({className:e="w-5 h-5 text-accent-primary"}){return i.jsx("svg",{className:e,fill:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{d:"M10 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"})})}function NN({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 9V4.5M9 9H4.5M9 9L3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5l5.25 5.25"})})}function TN({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"})})}function AN({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"currentColor",children:i.jsx("path",{d:"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.1-.303c.652-.18 1.37.008 1.755.653a8.043 8.043 0 0 1 .683 1.18c.227.568.096 1.26-.378 1.726l-.812.804a.312.312 0 0 0-.081.283c.024.166.04.335.04.507s-.016.341-.04.507a.312.312 0 0 0 .08.283l.813.804c.474.466.605 1.158.378 1.726a8.07 8.07 0 0 1-.683 1.18c-.385.645-1.103.833-1.755.653l-1.1-.303c-.066-.019-.176-.011-.299.071a5.1 5.1 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.107c-.168.645-.714 1.196-1.458 1.26a8.094 8.094 0 0 1-1.402 0c-.744-.064-1.29-.615-1.458-1.26l-.29-1.107a.426.426 0 0 0-.211-.224 5.11 5.11 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.1.303c-.652.18-1.37-.008-1.755-.653a8.044 8.044 0 0 1-.683-1.18c-.227-.568-.096-1.26.378-1.726l.812-.804a.312.312 0 0 0 .081-.283A5.18 5.18 0 0 1 2.3 8c0-.172.016-.341.04-.507a.312.312 0 0 0-.08-.283l-.813-.804C.973 5.94.842 5.248 1.069 4.68c.181-.452.395-.882.683-1.18.385-.645 1.103-.833 1.755-.653l1.1.303c.066.019.176.011.299-.071.214-.143.437-.272.668-.386a.426.426 0 0 0 .211-.224l.29-1.107C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm0 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z"})})}function Gp({className:e="w-3 h-3"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}function LN({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})})}function h_({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}function c1({className:e="w-[18px] h-[18px]"}){return i.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[i.jsx("circle",{cx:"12",cy:"5",r:"1.5",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"12",cy:"12",r:"1.5",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"12",cy:"19",r:"1.5",fill:"currentColor",stroke:"none"})]})}function DN({className:e="w-4 h-4"}){return i.jsxs("svg",{className:e,viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[i.jsx("path",{d:"M6.5 3.5H3a1 1 0 0 0-1 1V13a1 1 0 0 0 1 1h8.5a1 1 0 0 0 1-1V9.5"}),i.jsx("path",{d:"M9.5 2h4.5v4.5"}),i.jsx("path",{d:"M14 2L7.5 8.5"})]})}function RN({className:e="w-3 h-3",color:t}){return i.jsx("svg",{className:e,fill:t??"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{d:"M8 5v14l11-7z"})})}function ws({className:e="w-3 h-3 text-accent-primary"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}function ON({className:e="w-5 h-5"}){return i.jsx("svg",{className:e,viewBox:"0 0 20 20",fill:"currentColor",children:i.jsx("path",{fillRule:"evenodd",d:"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z",clipRule:"evenodd"})})}function cd({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})}function IN({className:e="w-4 h-4"}){return i.jsxs("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]})}function MN({className:e="w-3 h-3 text-blue-400 animate-spin flex-shrink-0"}){return i.jsxs("svg",{"aria-label":"Session running",className:e,viewBox:"0 0 24 24",fill:"none",children:[i.jsx("title",{children:"Running"}),i.jsx("circle",{className:"opacity-30",cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"3"}),i.jsx("path",{d:"M21 12a9 9 0 00-9-9",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"})]})}function u1({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{d:"M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.007 5.404.433c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.433 2.082-5.006z"})})}function d1({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z"})})}function Wp({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"currentColor",children:i.jsx("rect",{x:"3",y:"3",width:"10",height:"10",rx:"1"})})}function PN({className:e="w-3.5 h-3.5 shrink-0",color:t}){return i.jsx("svg",{className:e,fill:"none",stroke:t,viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})}function BN({className:e="w-4 h-4"}){return i.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[i.jsx("polyline",{points:"4 17 10 11 4 5"}),i.jsx("line",{x1:"12",y1:"19",x2:"20",y2:"19"})]})}function ro({className:e="w-3.5 h-3.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}function Xa({className:e="w-3.5 h-3.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})}function $N({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}function np({className:e="w-2.5 h-2.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}function oi({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,viewBox:"0 0 20 20",fill:"currentColor",children:i.jsx("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})}function qp({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"currentColor",children:i.jsx("path",{d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.55.55 0 0 1 0-.708z"})})}function zN({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})})}function HN({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"})})}function f_({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})})}function rp(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function m_(e,t){const n=Xt.ws;!n||n.readyState!==WebSocket.OPEN||n.send(JSON.stringify({id:rp(),type:e,payload:t}))}const Ar=$n((e,t)=>({isOpen:!1,sessions:[],workdir:null,setOpen:n=>e({isOpen:n}),toggleOpen:()=>e(n=>({isOpen:!n.isOpen})),setWorkdir:n=>e({workdir:n}),fetchSessions:async n=>{if(!n){e({sessions:[]});return}try{const r=await _e(`/api/terminals?projectId=${encodeURIComponent(n)}`);if(r.ok){const a=await r.json();e({sessions:a});const l=Xt.ws;if(l&&l.readyState===WebSocket.OPEN)for(const u of a)l.send(JSON.stringify({id:rp(),type:"terminal.subscribe",payload:{sessionId:u.id}}))}}catch(r){console.error("Failed to fetch terminals:",r)}},createSession:async(n,r)=>{try{const a=await _e("/api/terminals",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workdir:n??t().workdir??void 0,projectId:r})});if(a.ok){const l=await a.json();e(c=>({sessions:[...c.sessions,l]}));const u=Xt.ws;u&&u.readyState===WebSocket.OPEN&&u.send(JSON.stringify({id:rp(),type:"terminal.subscribe",payload:{sessionId:l.id}}))}}catch(a){console.error("Failed to create terminal:",a)}},writeSession:(n,r)=>{m_("terminal.write",{sessionId:n,data:r})},resizeSession:(n,r,a)=>{m_("terminal.resize",{sessionId:n,cols:r,rows:a})},killSession:async n=>{try{(await _e(`/api/terminals/${n}`,{method:"DELETE"})).ok&&e(a=>({sessions:a.sessions.filter(l=>l.id!==n)}))}catch(r){console.error("Failed to kill terminal:",r)}},handleMessage:n=>{switch(n.type){case"terminal.exit":{const{sessionId:r}=n.payload||{};r&&e(a=>{const l=a.sessions.filter(u=>u.id!==r);return l.length===0&&a.isOpen?{sessions:[],isOpen:!1}:{sessions:l}});break}}}}));Xt.subscribe(e=>{var t;(t=e.type)!=null&&t.startsWith("terminal.")&&Ar.getState().handleMessage(e)});const _s=$n((e,t)=>({status:"idle",current:null,latest:null,check:async n=>{if(!(!n&&t().status==="checking")){e({status:"checking"});try{const r=await fetch(Ss(`/api/auto-update/check${n?"?force=true":""}`));if(!r.ok)throw new Error(`HTTP ${r.status}`);const a=await r.json();e({status:a.isUpdateAvailable?"available":"upToDate",current:a.current,latest:a.latest})}catch{e({status:"error"})}}}})),Js={terminalToggle:{type:"double-press",key:"Control",threshold:300},quickAction:{type:"double-press",key:"Shift",threshold:300},modelSelector:{type:"chord",key:"m",modifiers:["ctrl"]},agentSwitching:[{type:"chord",key:"1",modifiers:["ctrl"]},{type:"chord",key:"2",modifiers:["ctrl"]},{type:"chord",key:"3",modifiers:["ctrl"]},{type:"chord",key:"4",modifiers:["ctrl"]}]};function sp(e){if(!e)return structuredClone(Js);try{const t=JSON.parse(e),n=r=>t[r]===void 0?structuredClone(Js[r]):t[r];return{terminalToggle:n("terminalToggle"),quickAction:n("quickAction"),modelSelector:n("modelSelector"),agentSwitching:n("agentSwitching")}}catch{return structuredClone(Js)}}function p_(e){return e.code.startsWith("Digit")?e.code.slice(-1):/^[a-zA-Z]$/.test(e.key)?e.key.toLowerCase():e.key}function h1(e){if(e.type==="double-press")return`Double ${e.key==="Control"?"Ctrl":e.key==="Shift"?"Shift":e.key==="Alt"?"Alt":e.key==="Meta"?"Meta":e.key}`;const t=e.modifiers.map(r=>{switch(r){case"ctrl":return"Ctrl";case"meta":return"⌘";case"alt":return"Alt";case"shift":return"Shift"}}),n=e.key.length===1?e.key.toUpperCase():e.key;return[...t,n].join("+")}function UN(e){return e.type==="double-press"}function f1(e){return e.type==="chord"}function FN(e,t){return t.length===1&&/^[a-z]$/i.test(t)?e.key.toLowerCase()===t.toLowerCase():t.length===1&&/^[0-9]$/.test(t)?e.code===`Digit${t}`:e.key.toLowerCase()===t.toLowerCase()}function m1(e,t){const n=t.modifiers.includes("ctrl"),r=t.modifiers.includes("meta"),a=t.modifiers.includes("alt"),l=t.modifiers.includes("shift");return FN(e,t.key)&&e.ctrlKey===n&&e.metaKey===r&&e.altKey===a&&e.shiftKey===l}function ud(){const e=Gt(t=>t.settings[Re.KEYBINDINGS]);return sp(e)}function VN(e,t,n){const r=A.useRef(0),a=A.useRef(t);a.current=t,A.useEffect(()=>{if(!e)return;const l=e.threshold??300,u=c=>{if(c.key!==e.key)return;const d=e.key==="Control",f=e.key==="Shift",p=e.key==="Alt",m=e.key==="Meta";if(!d&&c.ctrlKey||!f&&c.shiftKey||!p&&c.altKey||!m&&c.metaKey)return;const x=Date.now();x-r.current<l?(c.preventDefault(),c.stopPropagation(),a.current(),r.current=0):r.current=x};return window.addEventListener("keydown",u,n!=null&&n.capture?!0:void 0),()=>window.removeEventListener("keydown",u,n!=null&&n.capture?!0:void 0)},[e,n==null?void 0:n.capture])}function GN(e,t){const n=A.useRef(t);n.current=t,A.useEffect(()=>{if(!e)return;const r=a=>{m1(a,e)&&(a.preventDefault(),n.current())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e])}function Kp(e,t,n){VN(e&&UN(e)?e:void 0,t,n),GN(e&&f1(e)?e:void 0,t)}function WN(e,t,n){const r=A.useRef(n);r.current=n,A.useEffect(()=>{const a=l=>{for(let u=0;u<e.length;u++){const c=e[u];if(!c)continue;const d=t[u];if(d&&f1(c)&&m1(l,c)){l.preventDefault(),r.current(d.id);return}}};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e,t])}var so=HS();const dd=A.forwardRef(({icon:e,iconSize:t="w-3.5 h-3.5",className:n="",...r},a)=>i.jsx("button",{ref:a,type:"button",className:`p-1 rounded text-text-muted hover:text-text-primary hover:bg-bg-primary transition-colors ${n}`,...r,children:i.jsx("svg",{className:t,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:e})})}));dd.displayName="IconButton";const qN="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z",Ui=A.forwardRef((e,t)=>i.jsx(dd,{ref:t,icon:qN,title:"Edit",...e}));Ui.displayName="EditButton";const KN="M6 18L18 6M6 6l12 12",Yp=A.forwardRef((e,t)=>i.jsx(dd,{ref:t,icon:KN,...e}));Yp.displayName="CloseButton";const YN={sm:"max-w-sm",md:"max-w-md",lg:"max-w-2xl",xl:"max-w-4xl",full:"max-w-[95vw] h-[90vh] flex-1"};function St({label:e,title:t,headerRight:n,size:r="md",minHeight:a,children:l,footer:u,className:c,onClose:d,isOpen:f,closeOnBackdropClick:p=!0,closeOnEscape:m=!0,showCloseButton:x=!0,scrollable:y=!0}){const[w,C]=A.useState(!1),_=f!==void 0,S=_?f:w,v=A.useCallback(()=>{_||C(!0)},[_]),b=A.useCallback(()=>{_||C(!1),d==null||d()},[_,d]);A.useEffect(()=>{if(!S||!m)return;const j=T=>{if(T.key==="Escape"){const D=document.activeElement;if(D&&(D.tagName==="INPUT"||D.tagName==="TEXTAREA"))return;T.stopPropagation(),b()}};return document.addEventListener("keydown",j),()=>document.removeEventListener("keydown",j)},[S,b,m]);const E=e&&(typeof e=="string"?i.jsx("button",{type:"button",onClick:v,className:c,children:e}):i.jsx("span",{onClick:v,className:c,style:{cursor:"pointer"},children:e}));return i.jsxs(i.Fragment,{children:[E,S&&(typeof document<"u"?so.createPortal(i.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[i.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:p?b:void 0}),i.jsxs("div",{role:"dialog",className:`relative w-full ${YN[r]} max-h-[90vh] bg-bg-secondary border border-border rounded shadow-xl flex flex-col`,children:[(t||n||x)&&i.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border",children:[t&&i.jsx("h2",{className:"text-lg font-semibold text-text-primary",children:t}),i.jsxs("div",{className:"flex items-center gap-2 ml-auto",children:[n,x&&i.jsx(Yp,{onClick:b,"aria-label":"Close"})]})]}),i.jsx("div",{className:`p-4 flex-1 min-h-0${y?" overflow-y-auto":" overflow-hidden flex flex-col"}`,style:a?{minHeight:a}:void 0,children:l}),u&&i.jsx("div",{className:"px-4 py-3 border-t border-border",children:u})]})]}),document.body):null)]})}function XN({value:e,defaultUrl:t,disabled:n,onChange:r}){const a=e??t;return i.jsxs("div",{className:"relative",children:[i.jsx("select",{value:a,disabled:n,onChange:l=>{const u=l.target.value;r(u===t?null:u)},className:"appearance-none bg-bg-tertiary border border-border rounded px-1.5 pr-5 text-xs focus:outline-none focus:ring-1 focus:ring-accent-primary disabled:opacity-40 cursor-pointer",style:{width:"60px"},children:tN.map(({url:l,label:u})=>i.jsx("option",{value:l,title:u,children:u.split(" ")[0]},l))}),i.jsx(Yn,{className:"absolute right-0.5 top-1/2 -translate-y-1/2 w-3 h-3 pointer-events-none text-text-muted"})]})}const g_=[{key:"general",label:"General"},{key:"build",label:"Agent"},{key:"sub-agent",label:"Sub-agent"}];function QN(){const e=Ii(d=>d.settings),t=Ii(d=>d.update),n=Ii(d=>d.updateEvent),r=Ii(d=>d.updateAgentOverride),a=Ii(d=>d.load);A.useEffect(()=>{a()},[a]);const l=async()=>{await rN()==="granted"&&t({...e,browserNotificationEnabled:!0})},u=(d,f,p,m)=>{d==="general"?n(f,{[p]:m}):r(d,f,{[p]:m})},c=(d,f,p)=>{d==="general"?n(f,{customSoundUrl:p}):r(d,f,{customSoundUrl:p})};return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"Master Controls"}),i.jsx(x_,{label:"Sound notifications",description:"Play sounds when events occur",checked:e.soundEnabled,onChange:d=>t({...e,soundEnabled:d})}),i.jsx(x_,{label:"Browser notifications",description:"Show desktop notifications when the window is not focused",checked:e.browserNotificationEnabled,onChange:d=>{d&&typeof Notification<"u"&&Notification.permission!=="granted"?l():t({...e,browserNotificationEnabled:d})}}),typeof Notification<"u"&&Notification.permission==="denied"&&e.browserNotificationEnabled&&i.jsx("p",{className:"text-xs text-accent-error ml-6",children:"Browser notifications are blocked. Please enable them in your browser settings."})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"Notification Settings"}),i.jsx("div",{className:"border border-border rounded overflow-hidden",children:i.jsxs("table",{className:"w-full text-sm",children:[i.jsx("thead",{className:"sticky top-0 bg-bg-tertiary",children:i.jsxs("tr",{className:"border-b border-border",children:[i.jsx("th",{className:"text-left px-3 py-2 text-text-primary font-medium w-40",children:"Event"}),g_.map(d=>i.jsx("th",{className:"text-center px-2 py-2 text-text-primary font-medium",children:d.label},d.key))]})}),i.jsx("tbody",{children:eN.map(d=>i.jsxs("tr",{className:"border-b border-border last:border-b-0 hover:bg-bg-secondary/50",children:[i.jsx("td",{className:"px-3 py-2",children:i.jsx("div",{className:"text-text-primary text-xs",children:d.label})}),g_.map(f=>{const p=n1(e,d.key,f.key==="general"?void 0:f.key),m=e1[d.key];return i.jsx("td",{className:"px-2 py-2 align-top",children:i.jsxs("div",{className:"flex flex-col items-center gap-1",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("label",{className:"flex items-center gap-1 text-text-secondary",children:i.jsx("input",{type:"checkbox",checked:p.soundEnabled,onChange:x=>u(f.key,d.key,"soundEnabled",x.target.checked),disabled:!e.soundEnabled,className:"rounded border-border",title:"Sound"})}),i.jsx("label",{className:"flex items-center gap-1 text-text-secondary",children:i.jsx("input",{type:"checkbox",checked:p.browserNotification,onChange:x=>u(f.key,d.key,"browserNotification",x.target.checked),disabled:!e.browserNotificationEnabled,className:"rounded border-border",title:"Browser"})})]}),p.soundEnabled&&e.soundEnabled&&i.jsx(XN,{value:p.customSoundUrl,defaultUrl:m,disabled:!e.soundEnabled,onChange:x=>c(f.key,d.key,x)})]})},f.key)})]},d.key))})]})})]})]})}function x_({label:e,description:t,checked:n,onChange:r}){return i.jsxs("label",{className:"flex items-start justify-between gap-3 cursor-pointer group",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"text-sm text-text-primary group-hover:text-accent-primary transition-colors",children:e}),i.jsx("div",{className:"text-xs text-text-muted mt-0.5",children:t})]}),i.jsx("div",{className:"flex-shrink-0 pt-0.5",children:i.jsx("div",{className:`relative w-9 h-5 rounded-full transition-colors ${n?"bg-accent-primary":"bg-bg-tertiary border border-border"}`,onClick:a=>{a.preventDefault(),r(!n)},children:i.jsx("div",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-white shadow transition-transform ${n?"translate-x-4":"translate-x-0.5"}`})})})]})}const Qe=A.forwardRef(({variant:e="secondary",size:t="md",className:n="",children:r,...a},l)=>{const u="rounded font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed",c={primary:"bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40",secondary:"bg-bg-tertiary text-text-primary hover:bg-border",danger:"bg-accent-error text-white hover:bg-accent-error/80"},d={sm:"px-1.5 py-1 text-xs",md:"px-3 py-1.5 text-sm",lg:"px-4 py-2 text-base"};return i.jsx("button",{ref:l,className:`${u} ${c[e]} ${d[t]} ${n}`,...a,children:r})});Qe.displayName="Button";async function y_(e,t,n){try{const r=await _e(e,t);return r.ok?(await n(),{success:!0}):{success:!1,error:(await r.json()).error}}catch{return{success:!1,error:"Network error"}}}const Tn=$n((e,t)=>({defaults:[],userItems:[],projectItems:[],items:[],selectedDirectory:null,diagnostics:[],loading:!1,fetchSkills:async()=>{e({loading:!0});try{const r=await(await _e("/api/skills")).json();e({defaults:r.defaults??[],userItems:r.userItems??[],projectItems:r.projectItems??[],items:r.items??[],selectedDirectory:r.selectedDirectory??null,diagnostics:r.diagnostics??[],loading:!1})}catch{e({loading:!1})}},toggleSkill:async n=>{try{const a=await(await _e(`/api/skills/${n}/toggle`,{method:"POST"})).json();e(l=>({defaults:l.defaults.map(u=>u.id===n?{...u,enabled:a.enabled}:u),userItems:l.userItems.map(u=>u.id===n?{...u,enabled:a.enabled}:u),projectItems:l.projectItems.map(u=>u.id===n?{...u,enabled:a.enabled}:u),items:l.items.map(u=>u.id===n?{...u,enabled:a.enabled}:u)}))}catch{}},fetchSkill:async n=>{try{const r=await _e(`/api/skills/${n}`);return r.ok?await r.json():null}catch{return null}},fetchDefaultContent:async n=>{try{const r=await _e(`/api/skills/defaults/${n}`);return r.ok?await r.json():null}catch{return null}},createSkill:async(n,r)=>{const a=await ai("POST","/api/skills",{...n,destination:r});return a.success&&await t().fetchSkills(),a},updateSkill:async(n,r)=>{const a=await ai("PUT",`/api/skills/${n}`,r);return a.success&&await t().fetchSkills(),a},deleteSkill:async n=>{try{const r=await _e(`/api/skills/${n}`,{method:"DELETE"}),a=await r.json();return r.ok?(e(l=>({userItems:l.userItems.filter(u=>u.id!==n)})),{success:!0}):{success:!1,error:a.error??"Failed to delete"}}catch{return{success:!1,error:"Network error"}}},duplicateSkill:async(n,r)=>od(`/api/skills/${n}/duplicate`,()=>t().fetchSkills(),r),selectDirectory:async n=>y_("/api/skills/library",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n})},t().fetchSkills),removeDirectory:async()=>{await _e("/api/skills/library",{method:"DELETE"}),await t().fetchSkills()},installSkill:async n=>{const r=new FormData;r.append("packageName",n.packageName),r.append("paths",JSON.stringify(n.files.map(a=>a.path)));for(const a of n.files)r.append("files",a.file,a.file.name);return y_("/api/skills/install",{method:"POST",body:r},t().fetchSkills)}}));function hd(){const[e,t]=A.useState({id:null,type:null}),n=A.useCallback(l=>t({id:l,type:"delete"}),[]),r=A.useCallback(()=>t({id:null,type:null}),[]),a=A.useCallback((l,u)=>e.id===l&&e.type===u,[e.id,e.type]);return{requestDelete:n,clearConfirm:r,isConfirming:a}}function Xp({onConfirm:e,onCancel:t}){return i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("button",{onClick:e,className:"px-1.5 py-0.5 rounded text-xs hover:opacity-90 transition-colors bg-accent-error/20 text-accent-error hover:bg-accent-error/30",children:"Delete"}),i.jsx("button",{onClick:t,className:"px-1.5 py-0.5 rounded text-text-muted text-xs hover:bg-bg-primary transition-colors",children:"Cancel"})]})}function Qp({onClick:e}){return i.jsx("button",{onClick:e,className:"p-1.5 rounded hover:bg-bg-primary text-text-muted hover:text-accent-error transition-colors",title:"Delete",children:i.jsx(ro,{})})}function Bu({onClick:e}){return i.jsx("button",{onClick:e,className:"p-1.5 rounded hover:bg-bg-primary text-text-muted hover:text-text-primary transition-colors",title:"Duplicate",children:i.jsx(Fp,{})})}function wr({label:e,value:t,onChange:n,placeholder:r,readOnly:a,hint:l,mono:u}){return i.jsxs("div",{children:[i.jsxs("label",{className:"block text-xs text-text-secondary mb-1",children:[e,l&&i.jsx("span",{className:"text-text-muted ml-1",children:l})]}),i.jsx("input",{value:t,onChange:c=>n(c.target.value),readOnly:a,placeholder:r,className:`w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary ${u?"font-mono":""} ${a?"opacity-60":""}`})]})}function JN({onCancel:e,onSave:t,saving:n,saveDisabled:r}){return i.jsxs("div",{className:"flex justify-end gap-2 pt-2 border-t border-border",children:[i.jsx(Qe,{variant:"secondary",onClick:e,children:"Cancel"}),i.jsx(Qe,{variant:"primary",onClick:t,disabled:n||r,children:n?"Saving...":"Save"})]})}function Wa({message:e}){return i.jsx("div",{className:"text-accent-error text-sm px-3 py-2 bg-accent-error/10 rounded",children:e})}function p1({description:e,onNew:t,loading:n,hasItems:r,children:a}){return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsx("p",{className:"text-text-secondary text-sm",children:e}),i.jsx("div",{className:"flex items-center gap-2 flex-shrink-0 ml-3",children:i.jsx(Qe,{variant:"primary",size:"sm",onClick:t,children:"+ New"})})]}),n&&!r?i.jsx("div",{className:"text-text-muted text-sm",children:"Loading..."}):r?a:i.jsx("div",{className:"text-text-muted text-sm",children:"No items defined."})]})}function g1({label:e="Custom",children:t}){return i.jsxs("div",{children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:e}),i.jsx("div",{className:"space-y-2",children:t})]})}function x1({description:e,onNew:t,newLabel:n="+ New"}){return i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsx("p",{className:"text-text-secondary text-sm",children:e}),i.jsx("div",{className:"flex items-center gap-2 flex-shrink-0 ml-3",children:i.jsx(Qe,{variant:"primary",size:"sm",onClick:t,children:n})})]})}function Jp({loading:e,hasItems:t,loadingLabel:n,emptyLabel:r,children:a}){return e&&!t?i.jsx("div",{className:"text-text-muted text-sm",children:n}):t?i.jsx("div",{className:"space-y-4",children:a}):r?i.jsx("div",{className:"text-text-muted text-sm",children:r}):null}function y1({name:e,id:t,nameLabel:n="Name",idLabel:r="ID",namePlaceholder:a="My Item",idPlaceholder:l="my-item",nameHint:u,readOnlyId:c=!1,readOnlyHint:d="(read-only)",onNameChange:f,onIdChange:p}){return i.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[i.jsx(wr,{label:n,value:e,onChange:f,placeholder:a,hint:u}),i.jsx(wr,{label:r,value:t,onChange:p,readOnly:c,placeholder:l,hint:c?d:void 0,mono:!0})]})}function b1(e={}){const{initialData:t={}}=e,[n,r]=A.useState("list"),[a,l]=A.useState(null),[u,c]=A.useState(""),[d,f]=A.useState(!1),[p,m]=A.useState(t),x=A.useCallback(()=>{m(t),c(""),l(null)},[t]),y=A.useCallback(S=>{r(S),S==="list"&&x()},[x]),w=A.useCallback(S=>{m(v=>typeof S=="function"?S(v):S)},[]),C=A.useCallback((S,v={})=>{l(S),r("edit"),m({...v}),c("")},[]),_=A.useCallback(()=>{l(null),r("edit"),m(t),c("")},[t]);return{view:n,editingId:a,formError:u,saving:d,formData:p,setView:y,setEditingId:l,setFormError:c,setFormData:w,setSaving:f,resetForm:x,startEditing:C,startNew:_}}function kl({isOpen:e,onClose:t,onConfirm:n,title:r,message:a,confirmLabel:l="Confirm",confirmVariant:u="primary",disabled:c=!1}){return i.jsx(St,{isOpen:e,onClose:t,title:r,size:"sm",children:i.jsxs("div",{className:"space-y-4",children:[i.jsx("div",{className:"text-text-secondary",children:a}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(Qe,{variant:"secondary",onClick:t,disabled:c,children:"Cancel"}),i.jsx(Qe,{variant:u,onClick:n,disabled:c,autoFocus:!0,children:l})]})]})})}const ZN={sm:"w-4 h-4",md:"w-8 h-8",lg:"w-12 h-12"};function li({size:e="md",className:t=""}){return i.jsx("div",{className:`animate-spin border-2 border-accent-primary border-t-transparent rounded-full ${ZN[e]} ${t}`})}function eT({text:e,...t}){return i.jsxs("div",{className:"text-center",children:[i.jsx(li,{...t,className:"mx-auto mb-4"}),e&&i.jsx("div",{className:"text-text-secondary",children:e})]})}function v1(e){return e.split(/[\\/]/).filter(Boolean).pop()??""}function tT(e){const t=e.includes("\\")?"\\":"/";return e.split(/[\\/]/).filter(Boolean).map((n,r,a)=>({name:n,path:t==="/"?"/"+a.slice(0,r+1).join("/"):a.slice(0,r+1).join("\\")+(r===0?"\\":"")}))}function _1(e,t=28){if(e.length<=t)return e;const n=e.split("/").filter(Boolean);if(n.length<=2)return e;const r=n[0],a=n[n.length-1],l=n.slice(1,-1).join("/"),u=t-r.length-a.length-3;if(u<0)return e;const c=l.slice(0,Math.floor(u/2)),d=l.slice(-Math.ceil(u/2));return`/${r}/${c}...${d}/${a}`}const ri=A.forwardRef(({className:e="",...t},n)=>i.jsx("input",{ref:n,className:`bg-bg-tertiary border border-border rounded px-3 py-2 text-text-primary placeholder-text-muted focus:outline-none focus:ring-2 focus:ring-accent-primary/50 focus:border-accent-primary ${e}`,...t}));ri.displayName="Input";function fd({onSelect:e,onClose:t,initialPath:n}){const[r,a]=A.useState(null),[l,u]=A.useState(!0),[c,d]=A.useState(""),[f,p]=A.useState(-1),m=A.useRef(null),x=A.useRef(null),y=A.useCallback(async b=>{u(!0),d(""),p(-1);try{const E=b?`/api/directories?path=${encodeURIComponent(b)}`:"/api/directories",T=await(await _e(E)).json();a(T)}catch(E){console.error("Failed to load directories:",E)}finally{u(!1)}},[]);A.useEffect(()=>{y(n)},[n,y]);const w=tT((r==null?void 0:r.current)??""),C=(r==null?void 0:r.directories.filter(b=>c===""||b.name.toLowerCase().includes(c.toLowerCase())))??[],_=[...!c&&(r!=null&&r.parent)?[{type:"parent",path:r.parent,name:".."}]:[],...C.map(b=>({type:"dir",path:b.path,name:b.name}))];A.useEffect(()=>{p(c?0:-1)},[c,C.length]),A.useEffect(()=>{if(f>=0&&x.current){const b=x.current.querySelector(`[data-index="${f}"]`);b==null||b.scrollIntoView({block:"nearest"})}},[f]);const S=b=>{var E;if(b.key==="ArrowDown")b.preventDefault(),p(j=>Math.min(j+1,_.length-1));else if(b.key==="ArrowUp")b.preventDefault(),p(j=>Math.max(j-1,0));else if(b.key==="Enter"){if(f<0||!_[f]||b.target instanceof HTMLElement&&b.target.dataset.select==="true")return;b.preventDefault(),b.shiftKey?y(_[f].path):e(_[f].path)}else b.key==="Escape"&&(d(""),(E=m.current)==null||E.focus())},v=i.jsx("div",{className:"flex flex-col gap-2",children:i.jsx("button",{onClick:t,className:"w-full text-center text-text-muted hover:text-text-secondary text-sm",children:"Cancel"})});return i.jsx(St,{isOpen:!0,onClose:t,title:"Select Folder",size:"lg",footer:v,scrollable:!1,children:i.jsxs("div",{ref:x,className:"flex flex-col flex-1 min-h-0 -m-4",onKeyDown:S,children:[i.jsxs("div",{className:"flex-shrink-0 bg-bg-secondary border-b border-border",children:[r&&i.jsx("div",{className:"px-3 pt-3 pb-1",children:i.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[i.jsxs("div",{className:"flex items-center flex-wrap min-w-0",children:[w.map((b,E)=>i.jsxs("span",{className:"flex items-center shrink-0",children:[i.jsx("span",{className:"text-text-muted",children:"/"}),i.jsx("button",{onClick:()=>y(b.path),className:`px-1 ${E===w.length-1?"text-accent-primary font-medium":"text-text-secondary hover:text-accent-primary"}`,children:b.name})]},b.path)),w.length===0&&i.jsx("button",{onClick:()=>y("/"),className:"text-text-muted hover:text-accent-primary",children:"/"})]}),(r==null?void 0:r.current)&&i.jsx("button",{onClick:()=>e(r.current),className:"ml-auto shrink-0 px-4 py-2 text-sm font-medium rounded-lg bg-accent-primary text-text-primary hover:bg-accent-primary/90",children:"Select"})]})}),i.jsx("div",{className:"px-4 py-2",children:i.jsxs("div",{className:"relative",children:[i.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-text-muted pointer-events-none flex items-center justify-center",children:i.jsx(Xa,{})}),i.jsx(ri,{autoFocus:!0,ref:m,value:c,onChange:b=>d(b.target.value),placeholder:"Filter directories...",className:"w-full pl-9"})]})})]}),i.jsx("div",{className:"flex-1 overflow-y-auto",children:l?i.jsx("div",{className:"p-8 text-center",children:i.jsx(li,{size:"sm"})}):_.length===0?i.jsx("div",{className:"p-8 text-center text-text-muted text-sm",children:c?"No matching directories":"No subdirectories"}):i.jsx("div",{className:"divide-y divide-border",children:_.map((b,E)=>i.jsxs("div",{"data-index":E,className:`group flex items-center ${E===f?"bg-accent-primary/20":"hover:bg-bg-tertiary/50"}`,children:[i.jsxs("button",{onClick:()=>{y(b.path)},className:"flex-1 flex items-center gap-3 p-3 text-left min-w-0",tabIndex:-1,children:[b.type==="parent"?i.jsx(CN,{className:"w-5 h-5 text-text-muted shrink-0"}):i.jsx(qr,{className:"w-5 h-5 shrink-0"}),i.jsx("span",{className:"truncate",children:b.name}),b.type==="dir"&&i.jsx(Yn,{className:`w-5 h-5 text-text-muted shrink-0 ml-1 ${E===f?"opacity-100":"opacity-0 group-hover:opacity-100"}`,rotate:-90})]}),b.type==="dir"&&i.jsx("button",{"data-select":"true",tabIndex:E===f?0:-1,onClick:j=>{j.stopPropagation(),e(b.path)},className:`mr-2 shrink-0 px-4 py-2 text-sm font-medium rounded-lg bg-accent-primary text-text-primary hover:bg-accent-primary/90 ${E===f?"opacity-100":"opacity-0 group-hover:opacity-100"}`,"aria-label":`Select ${b.name}`,children:"Select"})]},b.path))})})]})})}function S1(e,t){if(!e||!t.some(n=>n.path==="SKILL.md"))throw new Error("Drop one folder containing SKILL.md.");return{packageName:e,files:t}}function nT(e){const t=[...e];if(!t.length)throw new Error("Choose one skill folder.");const n=new Set(t.map(a=>a.webkitRelativePath.split("/")[0]).filter(Boolean));if(n.size!==1)throw new Error("Choose exactly one skill folder.");const r=[...n][0];return S1(r,t.map(a=>({path:a.webkitRelativePath.slice(r.length+1),file:a})))}function rT(e){return new Promise((t,n)=>e.file(t,n))}async function w1(e,t=""){const n=e.createReader(),r=[];for(;;){const l=await new Promise((u,c)=>n.readEntries(u,c));if(!l.length)break;r.push(...l)}return(await Promise.all(r.map(async l=>{const u=t?`${t}/${l.name}`:l.name;return l.isDirectory?w1(l,u):[{path:u,file:await rT(l)}]}))).flat()}async function sT(e){const t=[...e.items].filter(r=>r.kind==="file").map(r=>{var a;return((a=r.webkitGetAsEntry)==null?void 0:a.call(r))??null}).filter(r=>!!r);if(t.length!==1||!t[0].isDirectory)throw new Error("Drop exactly one skill folder.");const n=t[0];return S1(n.name,await w1(n))}function iT({selectedDirectory:e,onSelect:t,onRemove:n,onRefresh:r,onInstall:a}){const[l,u]=A.useState(!1),[c,d]=A.useState(!1),[f,p]=A.useState(""),[m,x]=A.useState(null),[y,w]=A.useState(!1),C=A.useRef(null);A.useEffect(()=>{var E;(E=C.current)==null||E.setAttribute("webkitdirectory","")},[]);const _=E=>{x(E)},S=async()=>{if(!m||y)return;w(!0);const E=await t(m);if(E&&!E.success){p(E.error??"Cannot use selected folder."),w(!1);return}x(null),u(!1),w(!1)},v=async E=>{d(!0),p("");const j=await a(E);d(!1),j.success||p(j.error??"Failed to install skill package.")},b=async E=>{if(E.preventDefault(),!(!(e!=null&&e.available)||c))try{await v(await sT(E.dataTransfer))}catch(j){p(j instanceof Error?j.message:"Invalid skill folder.")}};return i.jsxs("section",{className:"mb-4 rounded border border-border bg-bg-tertiary/30 p-3",children:[i.jsxs("div",{className:"flex items-start justify-between gap-3",children:[i.jsxs("div",{className:"min-w-0",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"Skills folder"}),i.jsx("p",{className:"mt-1 truncate text-xs text-text-muted",children:(e==null?void 0:e.configuredPath)??"No shared folder selected"})]}),i.jsxs("div",{className:"flex shrink-0 gap-2",children:[i.jsx(Qe,{variant:"secondary",onClick:()=>u(!0),children:"Change folder"}),e&&i.jsxs(i.Fragment,{children:[i.jsx(Qe,{variant:"secondary",onClick:r,children:"Refresh"}),e.custom&&i.jsx(Qe,{variant:"secondary",onClick:n,children:"Use default"})]})]})]}),i.jsx("button",{type:"button",disabled:!(e!=null&&e.available)||c,onClick:()=>{var E;return(E=C.current)==null?void 0:E.click()},onDragOver:E=>E.preventDefault(),onDrop:b,className:"mt-3 w-full rounded border border-dashed border-border px-4 py-5 text-center text-xs text-text-secondary disabled:cursor-not-allowed disabled:opacity-50",children:e!=null&&e.available?c?"Installing skill package...":"Drop one skill folder here":"Choose a skills folder to enable drag and drop."}),i.jsx("input",{ref:C,hidden:!0,type:"file",multiple:!0,onChange:E=>{var j;if((j=E.target.files)!=null&&j.length)try{v(nT(E.target.files))}catch(T){p(T instanceof Error?T.message:"Invalid skill folder.")}finally{E.target.value=""}}}),f&&i.jsx("p",{className:"mt-2 text-xs text-error",children:f}),l&&i.jsx(fd,{initialPath:(e==null?void 0:e.resolvedPath)??void 0,onSelect:_,onClose:()=>u(!1)}),i.jsx(kl,{isOpen:m!==null,onClose:()=>x(null),onConfirm:S,title:"Trust this folder?",message:"Skills may contain instructions and scripts. Select this folder for discovery without executing package content?",confirmLabel:"Trust folder",disabled:y})]})}function yl({enabled:e,onClick:t,label:n}){return i.jsx("button",{type:"button",role:"switch","aria-checked":e,"aria-label":n,onClick:t,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${e?"bg-accent-primary":"bg-bg-tertiary"}`,children:i.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${e?"translate-x-6":"translate-x-1"}`})})}function C1({isBuiltIn:e,isConfirmingDelete:t,onView:n,onEdit:r,onDuplicate:a,onDelete:l,actions:u,children:c}){return i.jsxs("div",{className:"flex items-center justify-between p-3 rounded border border-border bg-bg-tertiary",children:[i.jsx("div",{className:"min-w-0 flex-1 mr-3",children:c}),i.jsxs("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:[e&&n&&i.jsx("button",{onClick:n,className:"p-1.5 rounded text-text-muted hover:text-text-primary hover:bg-bg-primary transition-colors",title:"View",children:i.jsx(Vp,{})}),i.jsx(Bu,{onClick:a}),!e&&r&&i.jsx(Ui,{onClick:r}),!e&&l&&(t?i.jsx(Xp,{onConfirm:()=>{l==null||l()},onCancel:()=>{}}):i.jsx(Qp,{onClick:()=>l==null?void 0:l()})),u]})]})}function aT({id:e,name:t,description:n,isBuiltIn:r,isConfirmingDelete:a,onView:l,onEdit:u,onDuplicate:c,onDelete:d,actions:f}){return i.jsxs(C1,{isBuiltIn:r,isConfirmingDelete:a,onView:l,onEdit:u,onDuplicate:c,onDelete:d,actions:f,children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-primary text-sm font-medium",children:t}),i.jsx("span",{className:"text-text-muted text-xs font-mono",children:e})]}),n&&i.jsx("p",{className:"text-text-muted text-xs truncate",children:n})]})}function b_({skill:e,isBuiltIn:t,isConfirmingDelete:n,onView:r,onEdit:a,onDuplicate:l,onDelete:u,onToggle:c,readOnly:d=!1}){return i.jsx(aT,{id:e.id,name:e.name,description:e.description,isBuiltIn:t,isConfirmingDelete:n,onView:r,onEdit:d?void 0:a,onDuplicate:l,onDelete:d?void 0:u,actions:i.jsx(yl,{enabled:e.enabled,onClick:c,label:`Activation for ${e.name}`})})}function oT({skill:e,deleting:t,error:n,onClose:r,onConfirm:a}){return i.jsxs(St,{isOpen:e!==null,onClose:r,title:"Delete skill?",size:"sm",closeOnBackdropClick:!t,closeOnEscape:!t,footer:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(Qe,{variant:"secondary",onClick:r,disabled:t,children:"Cancel"}),i.jsx(Qe,{variant:"danger",onClick:a,disabled:t,children:t?"Deleting...":"Delete skill"})]}),children:[i.jsx("p",{className:"text-sm font-medium text-text-primary",children:"This skill files will be deleted."}),i.jsx("p",{className:"mt-2 text-sm text-text-secondary",children:"The full skill folder and all its contents will be removed."}),e&&i.jsx("p",{className:"mt-3 break-all font-mono text-xs text-text-muted",children:e.path}),n&&i.jsx("p",{className:"mt-3 text-sm text-error",children:n})]})}function lT({isOpen:e}){const t=Tn(ne=>ne.defaults),n=Tn(ne=>ne.userItems),r=Tn(ne=>ne.projectItems),a=Tn(ne=>ne.items),l=Tn(ne=>ne.selectedDirectory),u=Tn(ne=>ne.diagnostics),c=Tn(ne=>ne.loading),d=Tn(ne=>ne.fetchSkills),f=Tn(ne=>ne.fetchSkill),p=Tn(ne=>ne.fetchDefaultContent),m=Tn(ne=>ne.createSkill),x=Tn(ne=>ne.updateSkill),y=Tn(ne=>ne.deleteSkill),w=Tn(ne=>ne.selectDirectory),C=Tn(ne=>ne.removeDirectory),_=Tn(ne=>ne.installSkill),S=Tn(ne=>ne.toggleSkill),[v,b]=A.useState(null),[E,j]=A.useState(!1),[T,D]=A.useState(""),{view:L,editingId:R,formError:M,saving:V,formData:U,setView:O,setEditingId:H,setFormError:F,setFormData:G,setSaving:Z}=b1(),{clearConfirm:q}=hd();A.useEffect(()=>{e&&(d(),O("list"),H(null),q())},[e,d,q]);const z=(ne,se,pe,ge)=>{G({name:ge??ne.metadata.name,id:pe??ne.metadata.id,description:ne.metadata.description??"",version:ne.metadata.version??"1.0.0",prompt:ne.prompt,isReadOnly:se,destination:"user"})},I=async ne=>{if(t.some(pe=>pe.id===ne)){const pe=await p(ne);if(!pe)return;z(pe,!0),H(ne),F(""),O("edit")}else{const pe=await f(ne);if(!pe)return;z(pe,!0),H(ne),F(""),O("edit")}},B=async ne=>{const pe=t.some(ke=>ke.id===ne)?await p(ne):await f(ne);if(!pe)return;const ge=`${ne}-copy-${Date.now()}`;z(pe,!1,ge,`${pe.metadata.name} (copy)`),H(null),F(""),O("edit")},K=()=>{G({name:"",id:"",description:"",version:"1.0.0",prompt:"",isReadOnly:!1,destination:"user"}),O("edit")},P=async ne=>{const se=await f(ne);se&&(z(se,!1),H(ne),F(""),O("edit"))},ee=async()=>{if(!v)return;j(!0),D("");const ne=await y(v.id);if(j(!1),!ne.success){D(ne.error??"Failed to delete skill.");return}await d(),b(null),q()},Q=async()=>{const ne=R??U.id;if(!ne||!U.name||!U.prompt){F("Name, ID, and prompt are required.");return}Z(!0),F("");const se={metadata:{id:ne,name:U.name,description:U.description,version:U.version},prompt:U.prompt},pe=R?await x(R,se):await m(se,U.destination);if(Z(!1),!pe.success){F(pe.error??"Failed to save skill.");return}O("list")},te=ne=>{G(se=>({...se,name:ne})),R||G(se=>({...se,id:ne.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}))},Y=U.isReadOnly;if(L==="edit")return i.jsxs("div",{className:"flex flex-col h-full",children:[i.jsxs("div",{className:"flex justify-between items-center mb-3",children:[i.jsx("h2",{className:"text-lg font-semibold text-text-primary",children:Y?U.name:R?"Edit Skill":"New Skill"}),i.jsx("button",{onClick:()=>O("list"),className:"text-text-muted hover:text-text-primary",children:"Cancel"})]}),M&&i.jsx(Wa,{message:M}),i.jsxs("div",{className:"space-y-3 mb-3",children:[i.jsx(y1,{name:U.name,id:U.id,nameLabel:"Name",idLabel:"ID",namePlaceholder:"My Skill",idPlaceholder:"my-skill",readOnlyId:!0,onNameChange:te,onIdChange:()=>{}}),i.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[i.jsx(wr,{label:"Description",value:U.description,onChange:ne=>G(se=>({...se,description:ne})),placeholder:"What this skill does...",readOnly:Y}),i.jsx(wr,{label:"Version",value:U.version,onChange:ne=>G(se=>({...se,version:ne})),placeholder:"1.0.0",readOnly:Y})]})]}),i.jsxs("div",{className:"flex-1 min-h-[120px] border-t border-border pt-3 flex flex-col",children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Prompt"}),i.jsx("textarea",{value:U.prompt,onChange:ne=>G(se=>({...se,prompt:ne.target.value})),readOnly:Y,placeholder:"The system prompt for this skill...",className:"h-80 w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-y focus:outline-none focus:ring-1 focus:ring-accent-primary"})]}),!R&&i.jsxs("div",{className:"flex items-center gap-2 pt-2",children:[i.jsx("label",{className:"text-xs text-text-secondary",children:"Save to:"}),i.jsxs("select",{value:U.destination,onChange:ne=>G(se=>({...se,destination:ne.target.value})),className:"px-2 py-1 bg-bg-tertiary border border-border rounded text-xs focus:outline-none focus:ring-1 focus:ring-accent-primary",children:[i.jsx("option",{value:"user",children:"Global config"}),i.jsx("option",{value:"project",children:"Project (.openfox/)"})]})]}),i.jsxs("div",{className:"flex justify-end gap-2 pt-3 border-t border-border flex-shrink-0",children:[i.jsx(Qe,{variant:"secondary",onClick:()=>O("list"),children:"Cancel"}),Y?i.jsx(Qe,{variant:"primary",onClick:()=>{G(ne=>({...ne,name:ne.name+" (copy)",id:`${R}-copy-${Date.now()}`,isReadOnly:!1})),H(null)},children:"Duplicate & Customize"}):i.jsx(Qe,{variant:"primary",onClick:Q,disabled:V||!U.name||!U.id||!U.prompt,children:V?"Saving...":"Save"})]})]});function W({items:ne}){return ne.map(se=>i.jsx(b_,{skill:se,isBuiltIn:!1,isConfirmingDelete:!1,onView:()=>I(se.id),onEdit:()=>P(se.id),onDuplicate:()=>B(se.id),onDelete:()=>{D(""),b(se)},onToggle:()=>S(se.id),readOnly:se.readOnly},se.id))}return i.jsxs("div",{children:[i.jsx(oT,{skill:v,deleting:E,error:T,onClose:()=>{E||b(null)},onConfirm:ee}),i.jsx(iT,{selectedDirectory:l,onSelect:w,onRemove:C,onRefresh:d,onInstall:_}),u.length>0&&i.jsx("div",{className:"mb-3 rounded border border-accent-warning/40 bg-accent-warning/10 p-2 text-xs text-text-secondary",children:u.map((ne,se)=>i.jsx("p",{children:ne},`${ne}-${se}`))}),i.jsx(x1,{description:"Skills provide domain-specific knowledge that agents can load on demand.",onNew:K}),i.jsxs(Jp,{loading:c,hasItems:t.length>0||n.length>0,loadingLabel:"Loading skills...",emptyLabel:"No skills created yet.",children:[t.length>0&&i.jsxs("div",{children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Built-in"}),i.jsx("div",{className:"space-y-2",children:t.map(ne=>i.jsx(b_,{skill:ne,isBuiltIn:!0,isConfirmingDelete:!1,onView:()=>I(ne.id),onDuplicate:()=>B(ne.id),onToggle:()=>S(ne.id)},ne.id))})]}),n.length>0&&i.jsx(g1,{children:i.jsx(W,{items:n})}),a.some(ne=>["global-shared","selected","project-shared"].includes(ne.source))&&i.jsxs("div",{className:"mt-4",children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Shared"}),i.jsx("div",{className:"space-y-2",children:i.jsx(W,{items:a.filter(ne=>["global-shared","selected","project-shared"].includes(ne.source))})})]}),r.length>0&&i.jsxs("div",{className:"mt-4",children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Project"}),i.jsx("div",{className:"space-y-2",children:i.jsx(W,{items:r})})]})]})]})}function Pl(){const e=Gt(a=>a.settings),t=Gt(a=>a.loading),n=Gt(a=>a.getSetting),r=Gt(a=>a.setSetting);return{settings:e,loading:t,getSetting:n,setSetting:r}}function cT({isOpen:e}){const{settings:t,loading:n,getSetting:r,setSetting:a}=Pl(),l=t[Re.GLOBAL_INSTRUCTIONS]??"",u=n[Re.GLOBAL_INSTRUCTIONS]??!1,[c,d]=A.useState(l),[f,p]=A.useState(!1),[m,x]=A.useState(!1);A.useEffect(()=>{e&&r(Re.GLOBAL_INSTRUCTIONS)},[e,r]),A.useEffect(()=>{d(l),p(!1)},[l]);const y=async()=>{x(!0),await a(Re.GLOBAL_INSTRUCTIONS,c),x(!1),p(!1)},w=()=>{d(l),p(!1)},C=u||m;return i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-2",children:"Global Instructions"}),i.jsx("p",{className:"text-sm text-text-muted mb-2",children:"These instructions are injected into every prompt, regardless of project."}),i.jsx("textarea",{value:c,onChange:_=>{d(_.target.value),p(!0)},placeholder:"Enter global instructions that apply to all projects...",className:"w-full min-h-80 px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-y focus:outline-none focus:ring-1 focus:ring-accent-primary",disabled:C})]}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(Qe,{variant:"secondary",onClick:w,disabled:!f,children:"Discard"}),i.jsx(Qe,{variant:"primary",onClick:y,disabled:!f||C,children:m?"Saving...":"Save"})]})]})}function uT(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(t){const n=parseInt(t[1]??"0",16),r=parseInt(t[2]??"0",16),a=parseInt(t[3]??"0",16);return`${n} ${r} ${a}`}return e}function Oi(e){const t=e.split(" ").map(n=>parseInt(n,10));return t.length===3&&t.every(n=>!isNaN(n))?`#${t.map(n=>(n??0).toString(16).padStart(2,"0")).join("")}`:e}function dT({isOpen:e,isNew:t,basePresetId:n,presetName:r,initialTokens:a,onClose:l,onSave:u}){const[c,d]=A.useState(a),[f,p]=A.useState(r);A.useEffect(()=>{d(a),p(r)},[a,r]);const m=(_,S)=>{const v=S.startsWith("#")?uT(S):S;d(b=>({...b,[_]:v}))},x=()=>{u(f.trim()||"Untitled",{...c})},y=i1.reduce((_,S)=>{const v=S.category;return _[v]||(_[v]=[]),_[v].push(S),_},{}),w={background:"Backgrounds",surface:"Surfaces",text:"Text",accent:"Accents",border:"Border"},C=Wr.find(_=>_.id===n);return i.jsx(St,{isOpen:e,onClose:l,size:"lg",title:t?"New Theme":"Edit Theme",closeOnBackdropClick:!0,closeOnEscape:!0,footer:i.jsxs("div",{className:"flex gap-2 justify-end",children:[i.jsx("button",{type:"button",onClick:l,className:"px-4 py-2 border border-border rounded text-sm text-text-primary hover:bg-bg-tertiary transition-colors",children:"Cancel"}),i.jsx("button",{type:"button",onClick:x,className:"px-4 py-2 bg-accent-primary text-white rounded hover:bg-accent-primary/80 transition-colors text-sm",children:"Save"})]}),children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-muted block mb-1",children:"Name"}),i.jsx("input",{type:"text",value:f,onChange:_=>p(_.target.value),className:"w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm text-text-primary focus:outline-none focus:ring-1 focus:ring-accent-primary"})]}),!t&&i.jsxs("div",{className:"text-xs text-text-muted",children:["Based on ",i.jsx("span",{className:"text-text-primary",children:C==null?void 0:C.name})]}),Object.entries(y).map(([_,S])=>i.jsxs("div",{className:"space-y-3",children:[i.jsx("h4",{className:"text-xs font-medium text-text-muted uppercase",children:w[_]??_}),i.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:S.map(v=>i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsx("label",{htmlFor:v.key,className:"text-xs text-text-muted",children:v.label}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("input",{type:"color",id:v.key,value:Oi(c[v.key]??v.defaultValue),onChange:b=>m(v.key,b.target.value),className:"w-8 h-8 rounded cursor-pointer border border-border bg-transparent flex-shrink-0"}),i.jsx("input",{type:"text",value:c[v.key]??v.defaultValue,onChange:b=>m(v.key,b.target.value),className:"flex-1 min-w-0 px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary font-mono focus:outline-none focus:ring-1 focus:ring-accent-primary"})]})]},v.key))})]},_))]})})}function hT(){const[e,t]=A.useState(null),n=Yt(b=>b.currentPreset),r=Yt(b=>b.isCustom),a=Yt(b=>b.basePreset),l=Yt(b=>b.isSystem),u=Yt(b=>b.applyPreset),c=Yt(b=>b.applyUserPreset),d=Yt(b=>b.deleteUserPreset),f=Yt(b=>b.saveTheme),p=Yt(b=>b.userPresets),m=b=>{b==="system"?(u(b),f(JSON.stringify({preset:"system"})).catch(()=>{})):(u(b),f(JSON.stringify({preset:b})).catch(()=>{}))},x=b=>{c(b)},y=b=>{const E=Wr.find(j=>j.id===b);E&&t({type:"new",presetIndex:p.length,basePresetId:b,presetName:E.name+" Copy",tokens:{...E.tokens}})},w=b=>{const E=p[b];if(!E)return;const j=Wr.find(D=>D.id===E.basePreset),T=j?{...j.tokens,...E.tokens}:E.tokens;t({type:"edit",presetIndex:b,basePresetId:E.basePreset,presetName:E.name,tokens:T})},C=(b,E)=>{if(!e)return;const j=[...p];if(e.type==="new"){const T={id:"custom-"+Date.now(),name:b,basePreset:e.basePresetId,tokens:E};j.push(T);const D=j.length-1;Yt.setState({userPresets:j}),Yt.getState().saveUserPresets(),Yt.getState().applyUserPreset(D)}else{const T=j[e.presetIndex];T&&(j[e.presetIndex]={...T,name:b,tokens:E}),Yt.setState({userPresets:j}),Yt.getState().saveUserPresets(),Yt.getState().applyUserPreset(e.presetIndex)}t(null)},_=()=>{t(null)},S=(b,E)=>{b.stopPropagation(),d(E)},v=l?"system":r?a:n;return i.jsxs("div",{className:"space-y-4",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"Theme"}),i.jsx("div",{className:"flex flex-wrap gap-2 pb-2",children:Wr.map(b=>{const E=b.id===v&&!r;return i.jsxs("div",{className:"relative group",children:[i.jsxs("button",{type:"button",onClick:()=>m(b.id),className:`flex flex-col items-center gap-2 px-3 py-3 rounded-lg border transition-colors min-w-[80px] ${E?"border-accent-primary bg-bg-tertiary text-text-primary":"border-border bg-bg-secondary text-text-muted hover:border-text-muted"}`,children:[i.jsx("div",{className:"w-8 h-8 rounded border flex items-center justify-center",style:{backgroundColor:b.id==="system"?"transparent":Oi(b.tokens["color-bg-primary"]??"#000"),borderColor:Oi(b.tokens["color-border"]??"#000")},children:b.id==="system"?i.jsx("div",{className:"w-4 h-4 rounded-full",style:{background:"linear-gradient(135deg, #000 50%, #fff 50%)"}}):i.jsx("div",{className:"w-3 h-3 rounded-full",style:{backgroundColor:Oi(b.tokens["color-text-primary"]??"#fff")}})}),i.jsx("span",{className:"text-xs",children:b.name})]}),b.id!=="system"&&i.jsx("button",{type:"button",onClick:j=>{j.stopPropagation(),y(b.id)},className:"absolute top-1 right-1 w-6 h-6 rounded bg-bg-tertiary border border-border flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity z-10 hover:border-text-muted",title:"Create custom theme based on this",children:i.jsx("span",{className:"text-xs",children:"✎"})})]},b.id)})}),p.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("h4",{className:"text-xs font-medium text-text-muted uppercase",children:"My Themes"}),i.jsx("div",{className:"grid grid-cols-5 gap-2",children:p.map((b,E)=>{const j=Wr.find(D=>D.id===b.basePreset),T=j?{...j.tokens,...b.tokens}:b.tokens;return i.jsxs("div",{className:"relative group",children:[i.jsxs("button",{type:"button",onClick:()=>x(E),className:`w-full flex flex-col items-center gap-2 px-3 py-3 rounded-lg border transition-colors ${r&&a===b.basePreset&&v===b.basePreset?"border-accent-primary bg-bg-tertiary text-text-primary":"border-border bg-bg-secondary text-text-muted hover:border-text-muted"}`,children:[i.jsx("div",{className:"w-8 h-8 rounded border flex items-center justify-center",style:{backgroundColor:Oi(T["color-bg-primary"]??"#000"),borderColor:Oi(T["color-border"]??"#000")},children:i.jsx("div",{className:"w-3 h-3 rounded-full",style:{backgroundColor:Oi(T["color-text-primary"]??"#fff")}})}),i.jsx("span",{className:"text-xs truncate w-full text-center",children:b.name})]}),i.jsx("button",{type:"button",onClick:D=>{D.stopPropagation(),w(E)},className:"absolute top-1 right-1 w-6 h-6 rounded bg-bg-tertiary border border-border flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity z-10 hover:border-text-muted",title:"Edit",children:i.jsx("span",{className:"text-xs",children:"✎"})}),i.jsx("button",{type:"button",onClick:D=>S(D,E),className:"absolute -top-1 -left-1 w-5 h-5 rounded-full bg-accent-error text-white flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity z-20",children:i.jsx(oi,{className:"w-3 h-3"})})]},b.id)})})]}),e&&i.jsx(dT,{isOpen:!0,isNew:e.type==="new",presetIndex:e.presetIndex,basePresetId:e.basePresetId,presetName:e.presetName,initialTokens:e.tokens,onClose:_,onSave:C})]})}function fT(){return i.jsx(hT,{})}function mT(){const{settings:e,loading:t,getSetting:n,setSetting:r}=Pl(),a=t[Re.DISPLAY_SHOW_THINKING]??!1,l=e[Re.DISPLAY_MAX_VISIBLE_ITEMS]??"300",[u,c]=A.useState(l);A.useEffect(()=>{n(Re.DISPLAY_MAX_VISIBLE_ITEMS)},[n]),A.useEffect(()=>{c(l)},[l]);const d=()=>{const w=parseInt(u,10),C=isNaN(w)||w<0?0:Math.min(w,9999);c(String(C)),r(Re.DISPLAY_MAX_VISIBLE_ITEMS,String(C))},f=[{key:Re.DISPLAY_SHOW_THINKING,label:"Show thinking blocks",description:"Display AI reasoning content in the feed"},{key:Re.DISPLAY_SHOW_VERBOSE_TOOL_OUTPUT,label:"Show expanded tool output",description:"Always show full tool call details instead of compact view"},{key:Re.DISPLAY_SHOW_STATS,label:"Show stats bar",description:"Display model, tokens, and timing information"},{key:Re.DISPLAY_SHOW_AGENT_DEFINITIONS,label:"Show agent definitions",description:"Display agent definition injections in the feed"},{key:Re.DISPLAY_SHOW_WORKFLOW_BARS,label:"Show workflow bars",description:"Display workflow start and end markers"},{key:Re.DISPLAY_SHOW_SYNTAX_HIGHLIGHTING,label:"Show syntax highlighting",description:"Nicer formatting, but costly - applies to code blocks, diffs, and file previews"}],p=Object.fromEntries(f.map(w=>[w.key,e[w.key]??"true"])),[m,x]=A.useState(()=>Object.fromEntries(f.map(w=>[w.key,p[w.key]==="true"])));A.useEffect(()=>{f.forEach(w=>n(w.key))},[n]),A.useEffect(()=>{x(Object.fromEntries(f.map(w=>[w.key,p[w.key]==="true"])))},[JSON.stringify(p)]);const y=async w=>{const C=String(!m[w]);x(_=>({..._,[w]:!_[w]})),await r(w,C)};return a?i.jsx("div",{className:"text-sm text-text-muted",children:"Loading..."}):i.jsxs("div",{className:"space-y-6",children:[i.jsx(fT,{}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-4",children:"Feed Display"}),i.jsx("div",{className:"space-y-4",children:f.map(({key:w,label:C,description:_})=>i.jsxs("label",{className:"flex items-start justify-between gap-3 cursor-pointer",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"text-sm text-text-primary font-medium",children:C}),i.jsx("div",{className:"text-xs text-text-muted mt-0.5",children:_})]}),i.jsx("button",{type:"button",onClick:()=>y(w),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${m[w]?"bg-accent-primary":"bg-bg-tertiary"}`,children:i.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${m[w]?"translate-x-6":"translate-x-1"}`})})]},w))})]}),i.jsx("div",{className:"border-t border-border pt-4",children:i.jsxs("label",{className:"flex items-center justify-between gap-3",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"text-sm text-text-primary font-medium",children:"Max visible items"}),i.jsx("div",{className:"text-xs text-text-muted mt-0.5",children:"Keep only the last N items in the feed. Set to 0 to show all."})]}),i.jsx("input",{type:"number",min:0,max:9999,value:u,onChange:w=>{const C=w.target.value.replace(/[^0-9]/g,"");c(C)},onBlur:d,onKeyDown:w=>{w.key==="Enter"&&d()},className:"w-20 px-2 py-1 text-sm text-text-primary bg-bg-tertiary border border-border rounded text-right"})]})})]})}function ip(){const[e,t]=A.useState("Test"),[n,r]=A.useState(""),[a,l]=A.useState(!1),u=A.useCallback(async c=>{t("Testing..."),r(""),l(!1);try{const d=await c();d.success?(t("Success"),l(!0),setTimeout(()=>{t("Test"),l(!1)},3e3)):(r(d.error??"Test failed"),t("Test"))}catch{r("Connection error"),t("Test")}},[]);return[e,n,a,u]}function pT(e){try{return new RegExp(e),!0}catch{return!1}}function gT({value:e,onChange:t}){const[n,r]=A.useState({}),a=(d,f)=>{const p=e.patterns.map((m,x)=>x===d?{...m,...f}:m);t({...e,patterns:p})},l=d=>{const f=e.patterns.filter((p,m)=>m!==d);t({...e,patterns:f})},u=()=>{const d={field:"content",pattern:"",action:"retry",active:!0};t({...e,patterns:[...e.patterns,d]})},c=(d,f)=>{r(p=>({...p,[d]:f.length>0&&!pT(f)})),a(d,{pattern:f})};return i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-sm font-medium text-text-primary",children:"Max Retries Per Turn"}),i.jsx("input",{type:"number",min:1,max:100,value:e.maxRetriesPerTurn,onChange:d=>{const f=parseInt(d.target.value,10),p=isNaN(f)?10:Math.max(1,Math.min(100,f));t({...e,maxRetriesPerTurn:p})},className:"mt-1 block w-24 px-2 py-1 text-sm bg-bg-secondary border border-border rounded"})]}),e.patterns.length===0?i.jsx("p",{className:"text-sm text-text-muted",children:"No retry patterns configured."}):i.jsxs("table",{className:"w-full text-sm",children:[i.jsx("thead",{children:i.jsxs("tr",{className:"text-left text-text-muted border-b border-border",children:[i.jsx("th",{className:"pb-2 pr-2 w-12",children:"Active"}),i.jsx("th",{className:"pb-2 pr-2",children:"Field"}),i.jsx("th",{className:"pb-2 pr-2",children:"Pattern"}),i.jsx("th",{className:"pb-2 pr-2",children:"Action"}),i.jsx("th",{className:"pb-2 w-8"})]})}),i.jsx("tbody",{children:e.patterns.map((d,f)=>i.jsxs("tr",{className:"border-b border-border",children:[i.jsx("td",{className:"py-2 pr-2",children:i.jsx("input",{type:"checkbox",checked:d.active,onChange:()=>a(f,{active:!d.active}),className:"accent-accent-primary","aria-label":`Toggle pattern ${f+1}`})}),i.jsx("td",{className:"py-2 pr-2",children:i.jsxs("select",{value:d.field,onChange:p=>a(f,{field:p.target.value}),className:"px-2 py-1 bg-bg-secondary border border-border rounded text-sm",children:[i.jsx("option",{value:"content",children:"content"}),i.jsx("option",{value:"thinking",children:"thinking"}),i.jsx("option",{value:"both",children:"both"})]})}),i.jsx("td",{className:"py-2 pr-2",children:i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("input",{type:"text",value:d.pattern,onChange:p=>c(f,p.target.value),placeholder:"regex pattern",className:"flex-1 px-2 py-1 bg-bg-secondary border border-border rounded text-sm font-mono"}),d.pattern.length>0&&i.jsx("span",{className:`text-sm ${n[f]?"text-red-500":"text-green-500"}`,children:n[f]?"✗":"✓"})]})}),i.jsx("td",{className:"py-2 pr-2 text-text-muted",children:"retry"}),i.jsx("td",{className:"py-2",children:i.jsx("button",{onClick:()=>l(f),title:"Remove pattern",className:"text-text-muted hover:text-red-500 transition-colors",children:"×"})})]},f))})]}),i.jsx(Qe,{variant:"secondary",onClick:u,children:"Add Pattern"})]})}function k1({isOpen:e,onClose:t,versionInfo:n}){const[r,a]=A.useState("ready"),[l,u]=A.useState(""),[c,d]=A.useState(n),[f,p]=A.useState(null),[m,x]=A.useState(null);A.useEffect(()=>{!e||n||fetch(Ss("/api/auto-update/check")).then(S=>S.json()).then(S=>{d({current:S.current,latest:S.latest})}).catch(()=>{})},[e]),A.useEffect(()=>{if(!e||r!=="updating"&&r!=="restarting")return;const S=setInterval(()=>{u(v=>v.length>=3?"":v+".")},400);return()=>clearInterval(S)},[e,r]);const y=A.useCallback(async()=>{a("updating"),x(null);try{const v=await(await _e("/api/auto-update",{method:"POST"})).json();if(v.success){const b=v.version??"unknown";p(b),localStorage.setItem("openfox_updated_to",b),localStorage.setItem("update_pending","true"),v.isService?(a("restarting"),await _e("/api/auto-update/restart",{method:"POST"}).catch(()=>{}),setTimeout(()=>window.location.reload(),5e3)):a("complete")}else x(v.error??"Update failed"),a("failed")}catch(S){x(S instanceof Error?S.message:"Update request failed"),a("failed")}},[]);A.useEffect(()=>{e&&(a("ready"),u(""),p(null),x(null))},[e]);const w=r!=="updating"&&r!=="restarting",C=S=>S,_=r==="failed"?"Update Failed":r==="complete"||r==="restarting"?"Update Complete":"New OpenFox version available";return i.jsxs(St,{isOpen:e,onClose:w?t:void 0,title:_,size:"md",closeOnBackdropClick:w,showCloseButton:w,children:[i.jsxs("div",{className:"flex flex-col gap-4",children:[c&&i.jsxs("div",{className:"flex justify-between text-sm",children:[i.jsx("span",{className:"text-text-muted",children:"Current version"}),i.jsx("span",{className:"text-text-primary font-mono",children:C(c.current)})]}),c&&i.jsxs("div",{className:"flex justify-between text-sm pb-2",children:[i.jsx("span",{className:"text-text-muted",children:"Latest version"}),i.jsx("span",{className:"text-accent-primary font-mono font-semibold",children:c.latest})]}),(r==="updating"||r==="restarting")&&i.jsxs("div",{className:"flex flex-col gap-2 mt-2",children:[i.jsx("div",{className:"h-1.5 bg-bg-tertiary rounded-full overflow-hidden",children:i.jsx("div",{className:"h-full bg-accent-primary animate-pulse w-full"})}),i.jsxs("p",{className:"text-xs text-text-muted text-center",children:[r==="restarting"?"Restarting":"Updating",l]})]}),r==="complete"&&i.jsx("div",{className:"flex flex-col gap-3 mt-2",children:i.jsxs("div",{className:"bg-bg-tertiary rounded px-3 py-2 text-xs text-text-secondary",children:["OpenFox has been updated to v",f??(c==null?void 0:c.latest),"."," Please restart OpenFox to use the new version."]})}),r==="failed"&&i.jsxs("div",{className:"flex flex-col gap-3 mt-2",children:[i.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-accent-danger/10 border border-accent-danger/30 rounded text-xs",children:[i.jsx("span",{children:"⚠️"}),i.jsx("p",{className:"text-text-secondary",children:m})]}),i.jsx("div",{className:"bg-bg-tertiary rounded px-3 py-2 text-xs font-mono text-text-secondary",children:"openfox update"}),i.jsx("p",{className:"text-xs text-text-muted",children:"Run this command in your terminal to complete the update."})]})]}),r==="ready"&&i.jsx("button",{onClick:y,className:"w-full px-3 py-2 text-sm rounded bg-accent-primary hover:brightness-110 transition-all text-white font-medium",children:"Update OpenFox"}),(r==="complete"||r==="failed")&&i.jsx("button",{onClick:t,className:"w-full px-3 py-2 text-sm rounded bg-bg-tertiary hover:bg-bg-secondary transition-colors text-text-primary font-medium mt-2",children:"Close"})]})}function xT({onClose:e}){const[,t]=Bn(),{settings:n,getSetting:r,setSetting:a}=Pl(),l=n[Re.DISPLAY_SHOW_OPEN_IN_EDITOR]==="true",u=n[Re.LLM_DYNAMIC_SYSTEM_PROMPT]==="true",c=n[Re.CACHE_WARMING]==="true",[d,f]=A.useState({openInEditor:l,dynamicPrompt:u,cacheWarming:c}),[p,m]=A.useState({patterns:[],maxRetriesPerTurn:10}),[x,y]=A.useState(""),[w,C,_,S]=ip(),[v,b]=A.useState(!1),E=Qt(q=>q.version),j=_s(q=>q.status),T=_s(q=>q.latest),D=_s(q=>q.check),L=E&&T?{current:E,latest:T}:null,[R,M]=A.useState(!1);A.useEffect(()=>{f({openInEditor:l,dynamicPrompt:u,cacheWarming:c})},[l,u,c]),A.useEffect(()=>{r(Re.DISPLAY_SHOW_OPEN_IN_EDITOR),r(Re.LLM_DYNAMIC_SYSTEM_PROMPT),r(Re.CACHE_WARMING),r(Re.RETRY_PATTERNS),r(Re.PROXY_URL)},[r]),A.useEffect(()=>{const q=n[Re.RETRY_PATTERNS];if(q)try{m(JSON.parse(q))}catch{}},[n]),A.useEffect(()=>{const q=n[Re.PROXY_URL];q!==void 0&&y(q)},[n]);const V=A.useCallback(q=>{m(q),a(Re.RETRY_PATTERNS,JSON.stringify(q))},[a]),U=q=>{y(q),a(Re.PROXY_URL,q)};function O(){S(async()=>(await _e("/api/proxy/test",{method:"POST"})).json())}const H=()=>{const q=!d.openInEditor;f(z=>({...z,openInEditor:q})),a(Re.DISPLAY_SHOW_OPEN_IN_EDITOR,String(q))},F=()=>{const q=!d.dynamicPrompt;f(z=>({...z,dynamicPrompt:q})),a(Re.LLM_DYNAMIC_SYSTEM_PROMPT,String(q))},G=()=>{const q=!d.cacheWarming;f(z=>({...z,cacheWarming:q})),a(Re.CACHE_WARMING,String(q))};function Z(){e(),t("/onboarding")}return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{children:[i.jsxs("h3",{className:"text-sm font-medium text-text-primary mb-1",children:[j==="available"&&i.jsx("span",{className:"inline-block w-1.5 h-1.5 rounded-full bg-accent-primary mr-1.5 align-middle"}),"Updates"]}),i.jsx("p",{className:"text-sm text-text-muted mb-4",children:E?i.jsxs(i.Fragment,{children:["Current version: ",i.jsxs("span",{className:"font-mono",children:["v",E]})]}):"Check for a new OpenFox version."}),i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx(Qe,{variant:"secondary",onClick:()=>{M(!0),D()},disabled:j==="checking",children:j==="checking"?"Checking…":"Check for Updates"}),R&&j==="upToDate"&&i.jsx("span",{className:"text-sm text-text-muted",children:"Up to date"}),j==="error"&&i.jsx("span",{className:"text-sm text-text-muted",children:"Update check failed"}),j==="available"&&i.jsxs("button",{onClick:()=>b(!0),className:"text-sm text-accent-primary hover:underline",children:["Update to v",T," →"]})]})]}),i.jsx(k1,{isOpen:v,onClose:()=>b(!1),versionInfo:L}),i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Onboarding"}),i.jsx("p",{className:"text-sm text-text-muted mb-4",children:"Manage providers, workdir and vision fallback."}),i.jsx(Qe,{variant:"secondary",onClick:Z,children:"Launch Onboarding"})]}),i.jsx("hr",{className:"border-border"}),i.jsx("div",{children:i.jsx(cm,{title:'Show "Open in VSCode" links',description:"Display a link on file reads to open the file directly in VS Code.",enabled:d.openInEditor,onToggle:H})}),i.jsx("hr",{className:"border-border"}),i.jsx(cm,{title:"Speculative Cache Warming",description:"On first keystroke in an empty session, prefill the LLM KV cache to reduce time-to-first-token.",enabled:d.cacheWarming,onToggle:G,boldTitle:!0}),i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"HTTP Proxy"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"Proxy server for LLM API requests. Leave empty for direct connection."}),i.jsxs("div",{className:"flex gap-2 items-center",children:[i.jsx(ri,{type:"text",value:x,onChange:q=>U(q.target.value),placeholder:"http://proxy:8080",className:"flex-1"}),i.jsx(Qe,{variant:"secondary",onClick:O,style:_?{color:"rgb(63, 185, 80)"}:void 0,children:w})]}),C&&i.jsx("p",{className:"text-xs text-red-500 mt-1",children:C})]}),i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Auto-Retry Patterns"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:'Define regex patterns that, when matched against LLM responses mid-stream, trigger an automatic retry with a "continue" prompt. The content that triggered the match is preserved in the chat feed.'}),i.jsx(gT,{value:p,onChange:V})]}),i.jsx("hr",{className:"border-border"}),i.jsx(cm,{title:"Dynamic System Prompt",description:"Rebuild the system prompt on every turn. Recommended value: off.",enabled:d.dynamicPrompt,onToggle:F,boldTitle:!0})]})}function cm({title:e,description:t,enabled:n,onToggle:r,boldTitle:a}){return i.jsxs("label",{className:"flex items-start justify-between gap-3 cursor-pointer",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:`text-sm ${a?"font-medium":""} text-text-primary`,children:e}),i.jsx("div",{className:"text-sm text-text-muted mt-0.5",children:t})]}),i.jsx("div",{className:"flex-shrink-0",children:i.jsx(yl,{enabled:n,onClick:r})})]})}function yT(e,t){return e===null&&t===null?!0:e===null||t===null?!1:JSON.stringify(e)===JSON.stringify(t)}function bT({label:e,binding:t,defaultBinding:n,isRecording:r,onStartRecording:a,onBindingRecorded:l,onClear:u,onReset:c,onCancelRecording:d}){const f=A.useRef(null),p=A.useRef(0),m=A.useRef("");return A.useEffect(()=>{if(!r)return;const x=new Set(["Control","Shift","Alt","Meta"]);let y=[];const w=_=>{if(_.preventDefault(),_.stopPropagation(),_.key==="Escape"){d();return}if(x.has(_.key)){const b=Date.now();if(_.key===m.current&&b-p.current<400){l({type:"double-press",key:_.key,threshold:300});return}p.current=b,m.current=_.key,_.ctrlKey&&!y.includes("ctrl")&&y.push("ctrl"),_.metaKey&&!y.includes("meta")&&y.push("meta"),_.altKey&&!y.includes("alt")&&y.push("alt"),_.shiftKey&&!y.includes("shift")&&y.push("shift");return}if(y.length>0||_.ctrlKey||_.metaKey||_.altKey||_.shiftKey){const b=[...y];_.ctrlKey&&!b.includes("ctrl")&&b.push("ctrl"),_.metaKey&&!b.includes("meta")&&b.push("meta"),_.altKey&&!b.includes("alt")&&b.push("alt"),_.shiftKey&&!b.includes("shift")&&b.push("shift"),l({type:"chord",key:p_(_),modifiers:b});return}const S=Date.now(),v=p_(_);if(v===m.current&&S-p.current<400){l({type:"double-press",key:v,threshold:300});return}p.current=S,m.current=v},C=_=>{_.key==="Control"&&(y=y.filter(S=>S!=="ctrl")),_.key==="Shift"&&(y=y.filter(S=>S!=="shift")),_.key==="Alt"&&(y=y.filter(S=>S!=="alt")),_.key==="Meta"&&(y=y.filter(S=>S!=="meta"))};return window.addEventListener("keydown",w,!0),window.addEventListener("keyup",C,!0),()=>{window.removeEventListener("keydown",w,!0),window.removeEventListener("keyup",C,!0)}},[r,l,d]),i.jsxs("div",{ref:f,className:`flex items-center justify-between px-3 py-2 rounded transition-colors ${r?"bg-accent-primary/10 ring-1 ring-accent-primary":"hover:bg-bg-tertiary"}`,children:[i.jsx("span",{className:"text-sm text-text-primary",children:e}),i.jsx("div",{className:"flex items-center gap-2",children:r?i.jsx("span",{className:"text-xs text-accent-primary font-medium animate-pulse",children:"Press shortcut..."}):i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",onClick:a,className:"px-2 py-0.5 text-xs font-mono bg-bg-tertiary text-text-secondary rounded border border-border hover:border-accent-primary hover:text-accent-primary transition-colors",children:t?h1(t):"None"}),t&&i.jsx("button",{type:"button",onClick:u,title:"Remove shortcut","aria-label":`Remove shortcut for ${e}`,className:"p-1 text-text-muted rounded hover:text-accent-error hover:bg-bg-tertiary transition-colors",children:i.jsx(qp,{className:"w-3.5 h-3.5"})}),!yT(t,n)&&i.jsx("button",{type:"button",onClick:c,title:"Reset to default","aria-label":`Reset ${e} to default`,className:"p-1 text-text-muted rounded hover:text-accent-primary hover:bg-bg-tertiary transition-colors",children:i.jsx(cd,{className:"w-3.5 h-3.5"})})]})})]})}function vT(){const{settings:e,loading:t,setSetting:n}=Pl(),r=e[Re.KEYBINDINGS],a=t[Re.KEYBINDINGS]??!1,l=sp(r),[u,c]=A.useState(null),d=[{id:"terminalToggle",label:"Toggle Terminal",binding:l.terminalToggle,defaultBinding:Js.terminalToggle},{id:"quickAction",label:"Quick Action",binding:l.quickAction,defaultBinding:Js.quickAction},{id:"modelSelector",label:"Select Model",binding:l.modelSelector,defaultBinding:Js.modelSelector},...l.agentSwitching.map((y,w)=>({id:`agentSwitching.${w}`,label:`Switch to Agent ${w+1}`,binding:y,defaultBinding:Js.agentSwitching[w]??null}))],f=y=>{c(y)},p=A.useCallback((y,w)=>{const C=sp(r);if(y.startsWith("agentSwitching.")){const _=parseInt(y.split(".")[1],10);C.agentSwitching[_]=w}else y==="terminalToggle"?C.terminalToggle=w:y==="quickAction"?C.quickAction=w:y==="modelSelector"&&(C.modelSelector=w);n(Re.KEYBINDINGS,JSON.stringify(C))},[r,n]),m=A.useCallback(y=>{u&&(c(null),p(u,y))},[u,p]),x=()=>{n(Re.KEYBINDINGS,JSON.stringify(Js))};return i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between mb-2",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"Keyboard Shortcuts"}),i.jsx("button",{type:"button",onClick:x,disabled:a,className:"text-xs text-text-muted hover:text-text-primary px-2 py-1 rounded hover:bg-bg-tertiary transition-colors disabled:opacity-30",children:"Reset to defaults"})]}),a?i.jsx("div",{className:"text-sm text-text-muted",children:"Loading..."}):i.jsx("div",{className:"space-y-1",children:d.map(y=>i.jsx(bT,{label:y.label,binding:y.binding,defaultBinding:y.defaultBinding,isRecording:u===y.id,onStartRecording:()=>f(y.id),onBindingRecorded:m,onClear:()=>p(y.id,null),onReset:()=>p(y.id,y.defaultBinding),onCancelRecording:()=>c(null)},y.id))})]})}function v_(e){const t={};return e.split(`
|
|
60
|
-
`).filter(Boolean).forEach(n=>{const r=n.indexOf("=");r>0&&(t[n.slice(0,r).trim()]=n.slice(r+1).trim())}),t}function __({formData:e,onChange:t}){return i.jsxs(i.Fragment,{children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Transport"}),i.jsxs("div",{className:"flex gap-1",children:[i.jsx("button",{onClick:()=>t({...e,transport:"stdio"}),className:`px-3 py-1.5 rounded text-xs font-medium transition-colors ${e.transport==="stdio"?"bg-accent-primary text-white":"bg-bg-tertiary text-text-secondary hover:bg-bg-primary"}`,children:"Stdio"}),i.jsx("button",{onClick:()=>t({...e,transport:"http"}),className:`px-3 py-1.5 rounded text-xs font-medium transition-colors ${e.transport==="http"?"bg-accent-primary text-white":"bg-bg-tertiary text-text-secondary hover:bg-bg-primary"}`,children:"HTTP"})]})]}),e.transport==="stdio"?i.jsxs(i.Fragment,{children:[i.jsx(wr,{label:"Command",value:e.command,onChange:n=>t({...e,command:n}),placeholder:"e.g. npx"}),i.jsx(wr,{label:"Arguments",value:e.args,onChange:n=>t({...e,args:n}),placeholder:"space-separated args"}),i.jsxs("div",{children:[i.jsxs("label",{className:"block text-xs text-text-secondary mb-1",children:["Environment variables ",i.jsx("span",{className:"text-text-muted",children:"(KEY=VALUE, one per line)"})]}),i.jsx("textarea",{value:e.env,onChange:n=>t({...e,env:n.target.value}),placeholder:"API_KEY=xxx",className:"w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-accent-primary",rows:3})]})]}):i.jsxs(i.Fragment,{children:[i.jsx(wr,{label:"URL",value:e.url,onChange:n=>t({...e,url:n}),placeholder:"e.g. https://mcp.example.com/mcp"}),i.jsxs("div",{children:[i.jsxs("label",{className:"block text-xs text-text-secondary mb-1",children:["Headers ",i.jsx("span",{className:"text-text-muted",children:"(KEY=VALUE, one per line)"})]}),i.jsx("textarea",{value:e.headers,onChange:n=>t({...e,headers:n.target.value}),placeholder:"X-API-Key=xxx",className:"w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-accent-primary",rows:3})]})]}),i.jsx(wr,{label:"Timeout (seconds)",value:e.timeout,onChange:n=>t({...e,timeout:n}),placeholder:"optional, e.g. 30"})]})}function S_(e){return e>=1e3?`~${(e/1e3).toFixed(1)}K`:`~${e}`}function um(e,t,n,r=250){const a=A.useRef(!0);A.useEffect(()=>{if(a.current){a.current=!1;return}const l=setTimeout(()=>{n(t,e)},r);return()=>clearTimeout(l)},[e,t,r,n])}function w_({saving:e,saveLabel:t,savingLabel:n,onCancel:r,onSave:a}){return i.jsxs("div",{className:"flex justify-end gap-2 pt-2 border-t border-border",children:[i.jsx(Qe,{variant:"secondary",onClick:r,disabled:e,children:"Cancel"}),i.jsx(Qe,{variant:"primary",onClick:a,disabled:e,children:e?n:t})]})}function _T(){const{settings:e,getSetting:t,setSetting:n}=Pl(),[r,a]=A.useState(""),[l,u]=A.useState(""),[c,d]=A.useState(""),[f,p]=A.useState("");um(l,Re.SEARCH_TAVILY_API_KEY,n),um(c,Re.SEARCH_SEARXNG_URL,n),um(f,Re.SEARCH_SEARXNG_API_KEY,n);const[m,x,y,w]=ip(),[C,_,S,v]=ip();A.useEffect(()=>{t(Re.SEARCH_ENGINE),t(Re.SEARCH_TAVILY_API_KEY),t(Re.SEARCH_SEARXNG_URL),t(Re.SEARCH_SEARXNG_API_KEY),t(Re.TOOLS_USE_RTK),t(Re.CONFIRM_ON_WORKSPACE_ACTIONS)},[t]),A.useEffect(()=>{e[Re.SEARCH_ENGINE]!==void 0&&(a(e[Re.SEARCH_ENGINE]??""),u(e[Re.SEARCH_TAVILY_API_KEY]??""),d(e[Re.SEARCH_SEARXNG_URL]??""),p(e[Re.SEARCH_SEARXNG_API_KEY]??""))},[e]);function b(re){a(re),n(Re.SEARCH_ENGINE,re)}function E(){w(async()=>(await _e("/api/search/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({engine:"tavily",tavilyApiKey:l||void 0})})).json())}function j(){v(async()=>(await _e("/api/search/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({engine:"searxng",searxngUrl:c||void 0,searxngApiKey:f||void 0})})).json())}const[T,D]=A.useState("checking");A.useEffect(()=>{_e("/api/tools/rtk-check").then(re=>re.json()).then(re=>D(re.available?"available":"unavailable")).catch(()=>D("unavailable"))},[]);const[L,R]=A.useState([]);A.useEffect(()=>{t(Re.TOOLS_SHELL),_e("/api/tools/shells").then(re=>re.json()).then(re=>R(re.shells??[])).catch(()=>R([]))},[t]);const M=e[Re.TOOLS_SHELL]||"cmd",[V,U]=A.useState([]),[O,H]=A.useState(!0),[F,G]=A.useState(!1),[Z,q]=A.useState(null),[z,I]=A.useState(new Set),[B,K]=A.useState(new Set),[P,ee]=A.useState({name:"",transport:"stdio",command:"",args:"",env:"",url:"",headers:"",timeout:""}),[Q,te]=A.useState(""),[Y,W]=A.useState(""),[ne,se]=A.useState(!1),{requestDelete:pe,clearConfirm:ge,isConfirming:ke}=hd(),Be=A.useCallback(async()=>{try{const xe=await(await _e("/api/mcp/servers")).json();U(xe.servers??[])}catch{}H(!1)},[]);A.useEffect(()=>{Be()},[Be]),A.useEffect(()=>{const re=()=>Be();return window.addEventListener("mcp-servers-changed",re),()=>window.removeEventListener("mcp-servers-changed",re)},[Be]);const Me=re=>{I(xe=>{const we=new Set(xe);return we.has(re)?we.delete(re):we.add(re),we})};function $e(){if(P.transport==="stdio"&&!P.command)return"Command is required for stdio transport";if(P.transport==="http"&&!P.url)return"URL is required for HTTP transport";if(P.timeout){const re=parseFloat(P.timeout);if(isNaN(re)||re<=0)return"Timeout must be a positive number"}return null}function je(re){const xe=re?{name:P.name,transport:P.transport}:{transport:P.transport};if(P.transport==="stdio"?(xe.command=P.command,xe.args=P.args?P.args.split(" ").filter(Boolean):[],xe.env=v_(P.env)):(xe.url=P.url,xe.headers=v_(P.headers)),P.timeout){const we=parseFloat(P.timeout);!isNaN(we)&&we>0&&(xe.timeout=we)}return xe}const nt={name:"",transport:"stdio",command:"",args:"",env:"",url:"",headers:"",timeout:""},Ee=async()=>{if(te(""),!P.name){te("Name is required");return}const re=$e();if(re){te(re);return}se(!0);try{const xe=je(!0),we=await _e("/api/mcp/servers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(xe)});if(!we.ok){const ze=await we.json();throw new Error(ze.error??"Failed to add server")}G(!1),ee(nt),await Be()}catch(xe){te(xe instanceof Error?xe.message:String(xe))}finally{se(!1)}},ce=re=>{var xe;ee({name:re.name,transport:re.config.transport,command:re.config.command??"",args:((xe=re.config.args)==null?void 0:xe.join(" "))??"",env:re.config.env?Object.entries(re.config.env).map(([we,ze])=>`${we}=${ze}`).join(`
|
|
61
|
-
`):"",url:re.config.url??"",headers:re.config.headers?Object.entries(re.config.headers).map(([we,ze])=>`${we}=${ze}`).join(`
|
|
62
|
-
`):"",timeout:re.config.timeout!==void 0?String(re.config.timeout):""}),te(""),q(re.name)},oe=async()=>{te("");const re=$e();if(re){te(re);return}se(!0);try{const xe=je(!1),we=await _e(`/api/mcp/servers/${encodeURIComponent(Z)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(xe)});if(!we.ok){const ze=await we.json();throw new Error(ze.error??"Failed to update server")}q(null),ee(nt),await Be()}catch(xe){te(xe instanceof Error?xe.message:String(xe))}finally{se(!1)}},De=async re=>{try{const xe=await _e(`/api/mcp/servers/${encodeURIComponent(re)}`,{method:"DELETE"});if(!xe.ok){const we=await xe.json().catch(()=>({}));throw new Error(we.error??"Failed to remove server")}ge(),W(""),await Be()}catch(xe){W(xe instanceof Error?xe.message:String(xe))}},Ze=async(re,xe,we)=>{try{const ze=await _e(`/api/mcp/servers/${encodeURIComponent(re)}/tools/${encodeURIComponent(xe)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:we})});if(!ze.ok){const Ke=await ze.json().catch(()=>({}));throw new Error(Ke.error??"Failed to toggle tool")}W(""),await Be()}catch(ze){W(ze instanceof Error?ze.message:String(ze))}},Ye=re=>{switch(re){case"connected":return"text-accent-success";case"error":return"text-accent-error";default:return"text-text-muted"}},yt=re=>{switch(re){case"connected":return"●";case"error":return"●";default:return"○"}};return i.jsxs("div",{className:"space-y-8",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Search Engine"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"Configure a web search engine for the web_search tool."}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs font-medium text-text-primary mb-1",children:"Engine"}),i.jsx("div",{className:"flex gap-2",children:["","tavily","searxng"].map(re=>i.jsx("button",{onClick:()=>b(re),className:`px-3 py-1.5 rounded text-sm border transition-colors ${r===re?"bg-accent-primary/10 border-accent-primary text-accent-primary":"border-border text-text-muted hover:text-text-primary"}`,children:re||"Off"},re))})]}),r==="tavily"&&i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs font-medium text-text-primary mb-1",children:"Tavily API Key"}),i.jsxs("div",{className:"flex gap-2 items-center",children:[i.jsx(ri,{type:"password",value:l,onChange:re=>u(re.target.value),placeholder:"tvly-...",className:"flex-1"}),i.jsx(Qe,{variant:"secondary",onClick:E,style:y?{color:"rgb(63, 185, 80)"}:void 0,children:m})]}),x&&i.jsx("p",{className:"text-xs text-red-500 mt-1",children:x}),i.jsxs("p",{className:"text-xs text-text-muted mt-1",children:["Get a free API key at"," ",i.jsx("a",{href:"https://app.tavily.com",target:"_blank",rel:"noopener noreferrer",className:"text-accent-primary hover:underline",children:"tavily.com"})]})]}),r==="searxng"&&i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs font-medium text-text-primary mb-1",children:"SearXNG URL"}),i.jsx(ri,{type:"url",value:c,onChange:re=>d(re.target.value),placeholder:"http://localhost:4000",className:"w-full"})]}),i.jsxs("div",{children:[i.jsxs("label",{className:"block text-xs font-medium text-text-primary mb-1",children:["API Key ",i.jsx("span",{className:"text-text-muted",children:"(optional)"})]}),i.jsx(ri,{type:"password",value:f,onChange:re=>p(re.target.value),placeholder:"Optional API key",className:"w-full"})]}),i.jsx(Qe,{variant:"secondary",onClick:j,style:S?{color:"rgb(63, 185, 80)"}:void 0,children:C}),_&&i.jsx("p",{className:"text-xs text-red-500",children:_})]})]})]}),L.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Shell"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"Shell used to run agent commands and integrated terminals. Git Bash gives the agent a Unix-like toolset (grep, sed, ls…) and usually works better than cmd.exe."}),i.jsx("div",{className:"flex gap-2",children:L.map(re=>i.jsxs("button",{onClick:()=>n(Re.TOOLS_SHELL,re.id),disabled:!re.available,title:re.available?void 0:"Not found on this machine",className:`px-3 py-1.5 rounded text-sm border transition-colors ${M===re.id?"bg-accent-primary/10 border-accent-primary text-accent-primary":re.available?"border-border text-text-muted hover:text-text-primary":"border-border text-text-muted opacity-50 cursor-not-allowed"}`,children:[re.label,!re.available&&" (not found)"]},re.id))}),i.jsx("p",{className:"text-xs text-text-muted mt-2",children:"Applies to new commands and newly opened terminals. Running terminals keep their current shell."})]})]}),i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Token Optimization"}),i.jsxs("p",{className:"text-sm text-text-muted mb-3",children:["Reduce token consumption by filtering command output through RTK. See the"," ",i.jsx("a",{href:"https://github.com/rtk-ai/rtk",target:"_blank",rel:"noopener noreferrer",className:"text-accent-primary hover:underline",children:"README"})," ","for installation."]}),i.jsxs("div",{className:"flex items-center justify-between py-2",children:[i.jsx("div",{className:"flex-1",children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-sm text-text-primary",children:"Enable RTK auto-rewrite"}),T==="checking"&&i.jsx("span",{className:"text-xs text-text-muted animate-pulse",children:"checking…"}),T==="available"&&i.jsx("span",{className:"text-xs text-accent-success",children:"● installed"}),T==="unavailable"&&i.jsx("span",{className:"text-xs text-accent-error",children:"○ not found"})]})}),i.jsx(yl,{enabled:e[Re.TOOLS_USE_RTK]==="true",onClick:()=>n(Re.TOOLS_USE_RTK,e[Re.TOOLS_USE_RTK]==="true"?"false":"true")})]})]}),i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Agent Confirmations"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"Require confirmation for workspace changes and git mutations. When disabled, the agent proceeds without interruption."}),i.jsxs("div",{className:"flex items-center justify-between py-2",children:[i.jsx("div",{className:"flex-1",children:i.jsx("span",{className:"text-sm text-text-primary",children:"Confirm on workspace & git actions"})}),i.jsx(yl,{enabled:e[Re.CONFIRM_ON_WORKSPACE_ACTIONS]==="true",onClick:()=>n(Re.CONFIRM_ON_WORKSPACE_ACTIONS,e[Re.CONFIRM_ON_WORKSPACE_ACTIONS]==="true"?"false":"true")})]})]}),i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center justify-between mb-3",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"MCP Servers"}),i.jsx(Qe,{variant:"primary",size:"sm",onClick:()=>G(!0),children:"+ Add Server"})]}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"MCP servers provide external tools that extend OpenFox's capabilities."}),Y&&i.jsx(Wa,{message:Y}),i.jsx(Jp,{loading:O,hasItems:V.length>0,loadingLabel:"Loading MCP servers...",emptyLabel:"No MCP servers configured.",children:V.map(re=>{var xe;return i.jsxs("div",{className:"rounded border border-border bg-bg-tertiary overflow-hidden",children:[i.jsxs("div",{className:"flex items-center justify-between p-3 cursor-pointer hover:bg-bg-primary/50 transition-colors",onClick:()=>Me(re.name),children:[i.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[i.jsx("span",{className:`text-sm ${Ye(re.status)}`,children:yt(re.status)}),i.jsx("span",{className:"text-sm font-medium text-text-primary",children:re.name}),i.jsx("span",{className:"text-xs text-text-muted",children:re.config.transport}),i.jsxs("span",{className:"text-xs text-text-muted",children:["(",re.tools.length," tools)"]}),i.jsxs("span",{className:"text-xs text-text-muted",children:[S_(re.estimatedTokens)," tokens"]})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[re.status==="error"&&re.error&&i.jsx("span",{className:"text-xs text-accent-error truncate max-w-[200px]",title:re.error,children:re.error}),z.has(re.name)&&(ke(re.name,"delete")?i.jsxs(i.Fragment,{children:[i.jsx("button",{onClick:we=>{we.stopPropagation(),De(re.name)},className:"px-2 py-1 rounded text-xs font-medium hover:opacity-90 transition-colors bg-accent-error/20 text-accent-error hover:bg-accent-error/30",children:"Delete"}),i.jsx("button",{onClick:we=>{we.stopPropagation(),ge()},className:"px-2 py-1 rounded text-xs text-text-muted hover:bg-bg-primary transition-colors",children:"Cancel"})]}):i.jsxs(i.Fragment,{children:[i.jsx("button",{onClick:we=>{we.stopPropagation(),ce(re)},className:"px-2 py-1 rounded text-xs font-medium text-text-muted hover:text-text-primary hover:bg-bg-primary transition-colors",children:"Edit"}),i.jsx("button",{onClick:we=>{we.stopPropagation(),pe(re.name)},className:"px-2 py-1 rounded text-xs font-medium text-accent-error/80 hover:text-accent-error hover:bg-accent-error/10 transition-colors",children:"Remove"})]})),i.jsx("span",{className:"text-xs text-text-muted",children:z.has(re.name)?"▲":"▼"})]})]}),z.has(re.name)&&i.jsxs("div",{className:"border-t border-border px-3 py-2 space-y-1.5",children:[re.config.command&&i.jsxs("div",{className:"text-xs text-text-muted font-mono",children:[re.config.command," ",((xe=re.config.args)==null?void 0:xe.join(" "))??""]}),re.config.url&&i.jsx("div",{className:"text-xs text-text-muted font-mono",children:re.config.url}),re.config.timeout!==void 0&&i.jsxs("div",{className:"text-xs text-text-muted",children:["Timeout: ",re.config.timeout,"s"]}),re.tools.length===0?i.jsx("div",{className:"text-xs text-text-muted",children:"No tools available"}):i.jsx("div",{className:"space-y-1",children:re.tools.map(we=>i.jsxs("div",{className:"py-1",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"min-w-0 flex-1 mr-2",children:[i.jsx("span",{className:"text-xs text-text-primary font-mono",children:we.name}),we.description&&we.description.length>80?i.jsxs("button",{onClick:()=>{const ze=`${re.name}:${we.name}`;K(Ke=>{const Ge=new Set(Ke);return Ge.has(ze)?Ge.delete(ze):Ge.add(ze),Ge})},className:"inline-flex items-center gap-0.5 text-xs text-text-muted hover:text-text-primary transition-colors ml-2",children:[i.jsx("span",{className:"truncate max-w-[300px]",children:we.description}),i.jsx(Yn,{rotate:B.has(`${re.name}:${we.name}`)?180:0,className:"w-3 h-3 flex-shrink-0"})]}):we.description?i.jsx("span",{className:"text-xs text-text-muted ml-2",children:we.description}):null]}),i.jsx("span",{className:"text-xs text-text-muted mr-2 flex-shrink-0",children:S_(we.estimatedTokens)}),i.jsx(yl,{enabled:we.enabled,onClick:()=>Ze(re.name,we.name,!we.enabled)})]}),we.description&&we.description.length>80&&B.has(`${re.name}:${we.name}`)&&i.jsx("div",{className:"text-xs text-text-muted mt-1 ml-1",children:we.description})]},we.name))})]})]},re.name)})}),F&&i.jsx(St,{isOpen:F,onClose:()=>{G(!1),te("")},title:"Add MCP Server",size:"sm",children:i.jsxs("div",{className:"space-y-3",children:[i.jsx(wr,{label:"Name",value:P.name,onChange:re=>ee({...P,name:re}),placeholder:"e.g. filesystem"}),i.jsx(__,{formData:P,onChange:ee}),Q&&i.jsx(Wa,{message:Q}),i.jsx(w_,{saving:ne,saveLabel:"Add",savingLabel:"Adding...",onCancel:()=>{G(!1),te(""),se(!1),ee(nt)},onSave:Ee})]})}),Z!==null&&i.jsx(St,{isOpen:!0,onClose:()=>{q(null),te("")},title:`Edit MCP Server: ${Z}`,size:"sm",children:i.jsxs("div",{className:"space-y-3",children:[i.jsx(__,{formData:P,onChange:ee}),Q&&i.jsx(Wa,{message:Q}),i.jsx(w_,{saving:ne,saveLabel:"Save",savingLabel:"Saving...",onCancel:()=>{q(null),te(""),se(!1),ee(nt)},onSave:oe})]})})]})]})}const E1="openfox_user_plugins";function ST(e){const t=e.match(/github\.com\/([^/]+)\/([^/]+?)(?:\/|$)/);return t?{owner:t[1],repo:t[2].replace(/\.git$/,"")}:null}async function dm(e){const t=ST(e);if(!t)return null;try{const n=await fetch(`https://api.github.com/repos/${t.owner}/${t.repo}/releases/latest`,{signal:AbortSignal.timeout(5e3)});return n.ok?(await n.json()).tag_name??null:null}catch{return null}}function cu(){try{return JSON.parse(localStorage.getItem(E1)??"[]")}catch{return[]}}function C_(e){localStorage.setItem(E1,JSON.stringify(e))}function wT({onAdd:e}){const[t,n]=A.useState(""),[r,a]=A.useState(""),[l,u]=A.useState(!1),c=d=>{d.preventDefault(),!(!t.trim()||!r.trim())&&(e({name:t.trim(),displayName:t.trim(),description:"User-added plugin",githubUrl:r.trim()}),n(""),a(""),u(!0),setTimeout(()=>u(!1),2e3))};return i.jsxs("form",{onSubmit:c,className:"flex gap-2 items-end",children:[i.jsxs("div",{className:"flex-1",children:[i.jsx("label",{className:"text-xs text-text-muted block mb-1",children:"Name"}),i.jsx("input",{type:"text",value:t,onChange:d=>n(d.target.value),placeholder:"my-plugin",className:"w-full px-2 py-1 text-sm text-text-primary bg-bg-tertiary border border-border rounded"})]}),i.jsxs("div",{className:"flex-[2]",children:[i.jsx("label",{className:"text-xs text-text-muted block mb-1",children:"GitHub URL"}),i.jsx("input",{type:"text",value:r,onChange:d=>a(d.target.value),placeholder:"https://github.com/user/repo",className:"w-full px-2 py-1 text-sm text-text-primary bg-bg-tertiary border border-border rounded"})]}),i.jsx(Qe,{type:"submit",variant:"primary",size:"sm",children:l?"Added":"Add"})]})}function CT({plugin:e,initiallyInstalled:t,installedVersion:n,onRemove:r,onOpenFolder:a}){const[l,u]=A.useState(t?"installed":"idle"),[c,d]=A.useState(!1),[f,p]=A.useState(""),[m,x]=A.useState(n),[y,w]=A.useState(!1),[C,_]=A.useState(!1);A.useEffect(()=>{x(n)},[n]);const S=A.useCallback(async()=>{const M=await _e("/api/plugins/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({githubUrl:e.githubUrl})}),V=await M.json();if(M.ok)u("installed"),e.latestVersion&&x(e.latestVersion),V.loaded||p(V.loadError??"Plugin installed but failed to load");else throw new Error(V.error??"Install failed")},[e.githubUrl,e.name]),v=async()=>{u("installing"),p("");try{await S()}catch(M){u("error"),p(M instanceof Error?M.message:"Connection error")}},b=()=>{w(!0)},E=async()=>{_(!0);try{(await _e(`/api/plugins/${e.name}`,{method:"DELETE"})).ok&&(u("idle"),r(e.name))}catch{}_(!1),w(!1)},j=async()=>{d(!0),p("");try{await S()}catch(M){p(M instanceof Error?M.message:"Update failed")}d(!1)},T=m??n,D=e.latestVersion&&T&&T!=="unknown"&&e.latestVersion!==T,L=l==="installing"?"Installing…":c?"Updating…":l==="installed"?"Installed ✓":"Install",R=l==="installing"||l==="installed"||c;return i.jsxs("div",{className:"border border-border rounded-lg p-4",children:[i.jsxs("div",{className:"flex items-start justify-between gap-4",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:e.displayName}),i.jsxs("span",{className:"text-xs text-text-muted",children:["(",e.name,")"]})]}),i.jsx("p",{className:"text-xs text-text-muted mt-1",children:e.description}),i.jsxs("div",{className:"flex items-center gap-3 mt-2 text-xs",children:[e.githubUrl&&i.jsx("a",{href:e.githubUrl,target:"_blank",rel:"noreferrer",className:"text-accent-primary hover:underline",children:"GitHub"}),e.versionLoading?i.jsx("span",{className:"text-text-muted",children:"Loading version…"}):e.latestVersion?i.jsxs("span",{className:"text-text-muted",children:["v",e.latestVersion]}):null,T&&T!=="unknown"&&i.jsxs("span",{className:"text-text-muted",children:["installed: v",T]})]}),l==="error"&&f&&i.jsx("p",{className:"text-xs text-accent-error mt-1",children:f})]}),i.jsxs("div",{className:"flex flex-col items-end gap-1",children:[i.jsxs("div",{className:"flex gap-1",children:[e.githubUrl&&i.jsx(Qe,{variant:l==="installed"?"secondary":"primary",size:"sm",onClick:v,disabled:R,children:L}),D&&i.jsx(Qe,{variant:"primary",size:"sm",onClick:j,children:"Update"}),l==="installed"&&i.jsx(Qe,{variant:"danger",size:"sm",onClick:b,children:"Remove"})]}),l==="installed"&&i.jsx("button",{onClick:()=>a(e.name),className:"text-xs text-accent-primary hover:underline",children:"Open folder"})]})]}),i.jsx(kl,{isOpen:y,onClose:()=>w(!1),onConfirm:E,title:`Remove "${e.displayName}"?`,message:`Remove the "${e.displayName}" plugin from your installation.`,confirmLabel:"Remove",confirmVariant:"danger",disabled:C})]})}function kT(){const[e,t]=A.useState([]),[n,r]=A.useState([]),[a,l]=A.useState({}),[u,c]=A.useState(!0),[d,f]=A.useState(""),[p,m]=A.useState("");A.useEffect(()=>{let S=!1;Promise.all([_e("/api/plugins/registry").then(b=>{if(!b.ok)throw new Error(`HTTP ${b.status}`);return b.json()}),_e("/api/plugins/installed").then(b=>b.ok?b.json():{installed:[]})]).then(([b,E])=>{if(S)return;const j={},T=E.installed;for(const V of T)j[V.name]=V.version;l(j);const D=b.plugins.map(V=>({...V,latestVersion:null,versionLoading:!0}));t(D),D.forEach(V=>{dm(V.githubUrl).then(U=>{S||t(O=>O.map(H=>H.name===V.name?{...H,latestVersion:U,versionLoading:!1}:H))})});const L=new Set(D.map(V=>V.name)),R=cu(),M=[];for(const V of T)!L.has(V.name)&&!R.some(U=>U.name===V.name)&&M.push({name:V.name,displayName:V.name,description:"Found on disk",githubUrl:"",latestVersion:null,versionLoading:!1});M.length>0&&r(V=>[...V,...M])}).catch(b=>{S||f(b instanceof Error?b.message:"Failed to load plugins")}).finally(()=>{S||c(!1)});const v=cu();return v.length>0&&(r(v.map(b=>({...b,latestVersion:null,versionLoading:!0}))),v.forEach(b=>{dm(b.githubUrl).then(E=>{S||r(j=>j.map(T=>T.name===b.name?{...T,latestVersion:E,versionLoading:!1}:T))})})),()=>{S=!0}},[]);const x=async S=>{try{S?await _e(`/api/plugins/${S}/open-folder`):await _e("/api/plugins/open-folder")}catch{}},y=A.useCallback(S=>{l(E=>{const j={...E};return delete j[S],j});const v=cu(),b=v.filter(E=>E.name!==S);b.length!==v.length&&C_(b),r(E=>E.filter(j=>j.name!==S))},[]),w=A.useCallback(S=>{if(new Set(e.map(E=>E.name)).has(S.name)){m(`"${S.displayName}" is already listed in the registry and won't be added again.`);return}const b=cu();C_([...b,S]),r(E=>[...E,{...S,latestVersion:null,versionLoading:!0}]),dm(S.githubUrl).then(E=>{r(j=>j.map(T=>T.name===S.name?{...T,latestVersion:E,versionLoading:!1}:T))})},[e]),C=new Set,_=[...e,...n].filter(S=>C.has(S.name)?!1:(C.add(S.name),!0));return u?i.jsx("div",{className:"text-sm text-text-muted",children:"Loading plugins..."}):i.jsxs("div",{className:"space-y-4",children:[d&&i.jsxs("div",{className:"text-sm text-accent-error bg-accent-error/10 border border-accent-error/30 rounded-lg p-3",children:["Failed to load plugin registry: ",d]}),p&&i.jsxs("div",{className:"text-sm text-accent-warning bg-accent-warning/10 border border-accent-warning/30 rounded-lg p-3 flex justify-between items-center",children:[i.jsx("span",{children:p}),i.jsx("button",{onClick:()=>m(""),className:"text-text-muted hover:text-text-primary ml-2",children:"×"})]}),i.jsxs("div",{className:"border border-border rounded-lg p-4",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Add Plugin"}),i.jsx(wT,{onAdd:w})]}),_.length===0&&!d&&i.jsx("div",{className:"text-sm text-text-muted",children:"No plugins found."}),_.map(S=>i.jsx(CT,{plugin:S,initiallyInstalled:S.name in a,installedVersion:a[S.name]??null,onRemove:y,onOpenFolder:x},S.name))]})}function ET({isOpen:e,onClose:t}){const[n,r]=A.useState("instructions"),a=_s(u=>u.status==="available"),l=()=>{try{Xt.send("context.checkDynamic",{})}catch{}t()};return i.jsx(St,{isOpen:e,onClose:l,title:"Settings",size:"xl",minHeight:"500px",children:i.jsxs("div",{"data-global-settings":!0,className:"flex flex-col h-full",children:[i.jsxs("div",{className:"flex border-b border-border mb-4 -mt-1 overflow-x-auto scrollbar-hide",children:[i.jsx(Ks,{label:"Instructions",active:n==="instructions",onClick:()=>r("instructions")}),i.jsx(Ks,{label:"Tools",active:n==="tools",onClick:()=>r("tools")}),i.jsx(Ks,{label:"Skills",active:n==="skills",onClick:()=>r("skills")}),i.jsx(Ks,{label:"Plugins",active:n==="plugins",onClick:()=>r("plugins")}),i.jsx(Ks,{label:"Notifications",active:n==="notifications",onClick:()=>r("notifications")}),i.jsx(Ks,{label:"Display",active:n==="display",onClick:()=>r("display")}),i.jsx(Ks,{label:"Keybindings",active:n==="keybindings",onClick:()=>r("keybindings")}),i.jsx(Ks,{label:"Advanced",active:n==="advanced",onClick:()=>r("advanced"),showDot:a})]}),n==="instructions"&&i.jsx(cT,{isOpen:e}),n==="skills"&&i.jsx(lT,{isOpen:e}),n==="plugins"&&i.jsx("div",{className:"max-h-[60vh] overflow-y-auto",children:i.jsx(kT,{})}),n==="notifications"&&i.jsx("div",{className:"max-h-[60vh] overflow-y-auto",children:i.jsx(QN,{})}),n==="display"&&i.jsx(mT,{}),n==="keybindings"&&i.jsx(vT,{}),n==="tools"&&i.jsx("div",{className:"max-h-[60vh] overflow-y-auto",children:i.jsx(_T,{})}),n==="advanced"&&i.jsx(xT,{onClose:t})]})})}function Ks({label:e,active:t,onClick:n,showDot:r}){return i.jsxs("button",{onClick:n,className:`relative px-4 py-2 text-sm font-medium border-b-2 transition-colors whitespace-nowrap ${t?"border-accent-primary text-accent-primary":"border-transparent text-text-muted hover:text-text-secondary hover:border-border"}`,children:[e,r&&i.jsx("span",{className:"absolute top-1 right-1 w-1.5 h-1.5 rounded-full bg-accent-primary"})]})}var hm={exports:{}},k_;function jT(){return k_||(k_=1,(function(e,t){(function(n,r){e.exports=r()})(globalThis,(()=>(()=>{var n={4567:function(u,c,d){var f=this&&this.__decorate||function(v,b,E,j){var T,D=arguments.length,L=D<3?b:j===null?j=Object.getOwnPropertyDescriptor(b,E):j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(v,b,E,j);else for(var R=v.length-1;R>=0;R--)(T=v[R])&&(L=(D<3?T(L):D>3?T(b,E,L):T(b,E))||L);return D>3&&L&&Object.defineProperty(b,E,L),L},p=this&&this.__param||function(v,b){return function(E,j){b(E,j,v)}};Object.defineProperty(c,"__esModule",{value:!0}),c.AccessibilityManager=void 0;const m=d(9042),x=d(9924),y=d(844),w=d(4725),C=d(2585),_=d(3656);let S=c.AccessibilityManager=class extends y.Disposable{constructor(v,b,E,j){super(),this._terminal=v,this._coreBrowserService=E,this._renderService=j,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let T=0;T<this._terminal.rows;T++)this._rowElements[T]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[T]);if(this._topBoundaryFocusListener=T=>this._handleBoundaryFocus(T,0),this._bottomBoundaryFocusListener=T=>this._handleBoundaryFocus(T,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new x.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize((T=>this._handleResize(T.rows)))),this.register(this._terminal.onRender((T=>this._refreshRows(T.start,T.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((T=>this._handleChar(T)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
|
|
63
|
-
`)))),this.register(this._terminal.onA11yTab((T=>this._handleTab(T)))),this.register(this._terminal.onKey((T=>this._handleKey(T.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this.register((0,_.addDisposableDomListener)(document,"selectionchange",(()=>this._handleSelectionChange()))),this.register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,y.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(v){for(let b=0;b<v;b++)this._handleChar(" ")}_handleChar(v){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==v&&(this._charsToAnnounce+=v):this._charsToAnnounce+=v,v===`
|
|
64
|
-
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=m.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(v){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(v)||this._charsToConsume.push(v)}_refreshRows(v,b){this._liveRegionDebouncer.refresh(v,b,this._terminal.rows)}_renderRows(v,b){const E=this._terminal.buffer,j=E.lines.length.toString();for(let T=v;T<=b;T++){const D=E.lines.get(E.ydisp+T),L=[],R=(D==null?void 0:D.translateToString(!0,void 0,void 0,L))||"",M=(E.ydisp+T+1).toString(),V=this._rowElements[T];V&&(R.length===0?(V.innerText=" ",this._rowColumns.set(V,[0,1])):(V.textContent=R,this._rowColumns.set(V,L)),V.setAttribute("aria-posinset",M),V.setAttribute("aria-setsize",j))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(v,b){const E=v.target,j=this._rowElements[b===0?1:this._rowElements.length-2];if(E.getAttribute("aria-posinset")===(b===0?"1":`${this._terminal.buffer.lines.length}`)||v.relatedTarget!==j)return;let T,D;if(b===0?(T=E,D=this._rowElements.pop(),this._rowContainer.removeChild(D)):(T=this._rowElements.shift(),D=E,this._rowContainer.removeChild(T)),T.removeEventListener("focus",this._topBoundaryFocusListener),D.removeEventListener("focus",this._bottomBoundaryFocusListener),b===0){const L=this._createAccessibilityTreeNode();this._rowElements.unshift(L),this._rowContainer.insertAdjacentElement("afterbegin",L)}else{const L=this._createAccessibilityTreeNode();this._rowElements.push(L),this._rowContainer.appendChild(L)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(b===0?-1:1),this._rowElements[b===0?1:this._rowElements.length-2].focus(),v.preventDefault(),v.stopImmediatePropagation()}_handleSelectionChange(){var R;if(this._rowElements.length===0)return;const v=document.getSelection();if(!v)return;if(v.isCollapsed)return void(this._rowContainer.contains(v.anchorNode)&&this._terminal.clearSelection());if(!v.anchorNode||!v.focusNode)return void console.error("anchorNode and/or focusNode are null");let b={node:v.anchorNode,offset:v.anchorOffset},E={node:v.focusNode,offset:v.focusOffset};if((b.node.compareDocumentPosition(E.node)&Node.DOCUMENT_POSITION_PRECEDING||b.node===E.node&&b.offset>E.offset)&&([b,E]=[E,b]),b.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(b={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(b.node))return;const j=this._rowElements.slice(-1)[0];if(E.node.compareDocumentPosition(j)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(E={node:j,offset:((R=j.textContent)==null?void 0:R.length)??0}),!this._rowContainer.contains(E.node))return;const T=({node:M,offset:V})=>{const U=M instanceof Text?M.parentNode:M;let O=parseInt(U==null?void 0:U.getAttribute("aria-posinset"),10)-1;if(isNaN(O))return console.warn("row is invalid. Race condition?"),null;const H=this._rowColumns.get(U);if(!H)return console.warn("columns is null. Race condition?"),null;let F=V<H.length?H[V]:H.slice(-1)[0]+1;return F>=this._terminal.cols&&(++O,F=0),{row:O,column:F}},D=T(b),L=T(E);if(D&&L){if(D.row>L.row||D.row===L.row&&D.column>=L.column)throw new Error("invalid range");this._terminal.select(D.column,D.row,(L.row-D.row)*this._terminal.cols-D.column+L.column)}}_handleResize(v){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let b=this._rowContainer.children.length;b<this._terminal.rows;b++)this._rowElements[b]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[b]);for(;this._rowElements.length>v;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const v=this._coreBrowserService.mainDocument.createElement("div");return v.setAttribute("role","listitem"),v.tabIndex=-1,this._refreshRowDimensions(v),v}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let v=0;v<this._terminal.rows;v++)this._refreshRowDimensions(this._rowElements[v])}}_refreshRowDimensions(v){v.style.height=`${this._renderService.dimensions.css.cell.height}px`}};c.AccessibilityManager=S=f([p(1,C.IInstantiationService),p(2,w.ICoreBrowserService),p(3,w.IRenderService)],S)},3614:(u,c)=>{function d(x){return x.replace(/\r?\n/g,"\r")}function f(x,y){return y?"\x1B[200~"+x+"\x1B[201~":x}function p(x,y,w,C){x=f(x=d(x),w.decPrivateModes.bracketedPasteMode&&C.rawOptions.ignoreBracketedPasteMode!==!0),w.triggerDataEvent(x,!0),y.value=""}function m(x,y,w){const C=w.getBoundingClientRect(),_=x.clientX-C.left-10,S=x.clientY-C.top-10;y.style.width="20px",y.style.height="20px",y.style.left=`${_}px`,y.style.top=`${S}px`,y.style.zIndex="1000",y.focus()}Object.defineProperty(c,"__esModule",{value:!0}),c.rightClickHandler=c.moveTextAreaUnderMouseCursor=c.paste=c.handlePasteEvent=c.copyHandler=c.bracketTextForPaste=c.prepareTextForTerminal=void 0,c.prepareTextForTerminal=d,c.bracketTextForPaste=f,c.copyHandler=function(x,y){x.clipboardData&&x.clipboardData.setData("text/plain",y.selectionText),x.preventDefault()},c.handlePasteEvent=function(x,y,w,C){x.stopPropagation(),x.clipboardData&&p(x.clipboardData.getData("text/plain"),y,w,C)},c.paste=p,c.moveTextAreaUnderMouseCursor=m,c.rightClickHandler=function(x,y,w,C,_){m(x,y,w),_&&C.rightClickSelect(x),y.value=C.selectionText,y.select()}},7239:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.ColorContrastCache=void 0;const f=d(1505);c.ColorContrastCache=class{constructor(){this._color=new f.TwoKeyMap,this._css=new f.TwoKeyMap}setCss(p,m,x){this._css.set(p,m,x)}getCss(p,m){return this._css.get(p,m)}setColor(p,m,x){this._color.set(p,m,x)}getColor(p,m){return this._color.get(p,m)}clear(){this._color.clear(),this._css.clear()}}},3656:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.addDisposableDomListener=void 0,c.addDisposableDomListener=function(d,f,p,m){d.addEventListener(f,p,m);let x=!1;return{dispose:()=>{x||(x=!0,d.removeEventListener(f,p,m))}}}},3551:function(u,c,d){var f=this&&this.__decorate||function(S,v,b,E){var j,T=arguments.length,D=T<3?v:E===null?E=Object.getOwnPropertyDescriptor(v,b):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(S,v,b,E);else for(var L=S.length-1;L>=0;L--)(j=S[L])&&(D=(T<3?j(D):T>3?j(v,b,D):j(v,b))||D);return T>3&&D&&Object.defineProperty(v,b,D),D},p=this&&this.__param||function(S,v){return function(b,E){v(b,E,S)}};Object.defineProperty(c,"__esModule",{value:!0}),c.Linkifier=void 0;const m=d(3656),x=d(8460),y=d(844),w=d(2585),C=d(4725);let _=c.Linkifier=class extends y.Disposable{get currentLink(){return this._currentLink}constructor(S,v,b,E,j){super(),this._element=S,this._mouseService=v,this._renderService=b,this._bufferService=E,this._linkProviderService=j,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new x.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new x.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,y.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,y.toDisposable)((()=>{var T;this._lastMouseEvent=void 0,(T=this._activeProviderReplies)==null||T.clear()}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this.register((0,m.addDisposableDomListener)(this._element,"mouseleave",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,m.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,m.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,m.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(S){this._lastMouseEvent=S;const v=this._positionFromMouseEvent(S,this._element,this._mouseService);if(!v)return;this._isMouseOut=!1;const b=S.composedPath();for(let E=0;E<b.length;E++){const j=b[E];if(j.classList.contains("xterm"))break;if(j.classList.contains("xterm-hover"))return}this._lastBufferCell&&v.x===this._lastBufferCell.x&&v.y===this._lastBufferCell.y||(this._handleHover(v),this._lastBufferCell=v)}_handleHover(S){if(this._activeLine!==S.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(S,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,S)||(this._clearCurrentLink(),this._askForLink(S,!0))}_askForLink(S,v){var E,j;this._activeProviderReplies&&v||((E=this._activeProviderReplies)==null||E.forEach((T=>{T==null||T.forEach((D=>{D.link.dispose&&D.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=S.y);let b=!1;for(const[T,D]of this._linkProviderService.linkProviders.entries())v?(j=this._activeProviderReplies)!=null&&j.get(T)&&(b=this._checkLinkProviderResult(T,S,b)):D.provideLinks(S.y,(L=>{var M,V;if(this._isMouseOut)return;const R=L==null?void 0:L.map((U=>({link:U})));(M=this._activeProviderReplies)==null||M.set(T,R),b=this._checkLinkProviderResult(T,S,b),((V=this._activeProviderReplies)==null?void 0:V.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(S.y,this._activeProviderReplies)}))}_removeIntersectingLinks(S,v){const b=new Set;for(let E=0;E<v.size;E++){const j=v.get(E);if(j)for(let T=0;T<j.length;T++){const D=j[T],L=D.link.range.start.y<S?0:D.link.range.start.x,R=D.link.range.end.y>S?this._bufferService.cols:D.link.range.end.x;for(let M=L;M<=R;M++){if(b.has(M)){j.splice(T--,1);break}b.add(M)}}}}_checkLinkProviderResult(S,v,b){var T;if(!this._activeProviderReplies)return b;const E=this._activeProviderReplies.get(S);let j=!1;for(let D=0;D<S;D++)this._activeProviderReplies.has(D)&&!this._activeProviderReplies.get(D)||(j=!0);if(!j&&E){const D=E.find((L=>this._linkAtPosition(L.link,v)));D&&(b=!0,this._handleNewLink(D))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!b)for(let D=0;D<this._activeProviderReplies.size;D++){const L=(T=this._activeProviderReplies.get(D))==null?void 0:T.find((R=>this._linkAtPosition(R.link,v)));if(L){b=!0,this._handleNewLink(L);break}}return b}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(S){if(!this._currentLink)return;const v=this._positionFromMouseEvent(S,this._element,this._mouseService);v&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,v)&&this._currentLink.link.activate(S,this._currentLink.link.text)}_clearCurrentLink(S,v){this._currentLink&&this._lastMouseEvent&&(!S||!v||this._currentLink.link.range.start.y>=S&&this._currentLink.link.range.end.y<=v)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,y.disposeArray)(this._linkCacheDisposables))}_handleNewLink(S){if(!this._lastMouseEvent)return;const v=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);v&&this._linkAtPosition(S.link,v)&&(this._currentLink=S,this._currentLink.state={decorations:{underline:S.link.decorations===void 0||S.link.decorations.underline,pointerCursor:S.link.decorations===void 0||S.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,S.link,this._lastMouseEvent),S.link.decorations={},Object.defineProperties(S.link.decorations,{pointerCursor:{get:()=>{var b,E;return(E=(b=this._currentLink)==null?void 0:b.state)==null?void 0:E.decorations.pointerCursor},set:b=>{var E;(E=this._currentLink)!=null&&E.state&&this._currentLink.state.decorations.pointerCursor!==b&&(this._currentLink.state.decorations.pointerCursor=b,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",b))}},underline:{get:()=>{var b,E;return(E=(b=this._currentLink)==null?void 0:b.state)==null?void 0:E.decorations.underline},set:b=>{var E,j,T;(E=this._currentLink)!=null&&E.state&&((T=(j=this._currentLink)==null?void 0:j.state)==null?void 0:T.decorations.underline)!==b&&(this._currentLink.state.decorations.underline=b,this._currentLink.state.isHovered&&this._fireUnderlineEvent(S.link,b))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((b=>{if(!this._currentLink)return;const E=b.start===0?0:b.start+1+this._bufferService.buffer.ydisp,j=this._bufferService.buffer.ydisp+1+b.end;if(this._currentLink.link.range.start.y>=E&&this._currentLink.link.range.end.y<=j&&(this._clearCurrentLink(E,j),this._lastMouseEvent)){const T=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);T&&this._askForLink(T,!1)}}))))}_linkHover(S,v,b){var E;(E=this._currentLink)!=null&&E.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(v,!0),this._currentLink.state.decorations.pointerCursor&&S.classList.add("xterm-cursor-pointer")),v.hover&&v.hover(b,v.text)}_fireUnderlineEvent(S,v){const b=S.range,E=this._bufferService.buffer.ydisp,j=this._createLinkUnderlineEvent(b.start.x-1,b.start.y-E-1,b.end.x,b.end.y-E-1,void 0);(v?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(j)}_linkLeave(S,v,b){var E;(E=this._currentLink)!=null&&E.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(v,!1),this._currentLink.state.decorations.pointerCursor&&S.classList.remove("xterm-cursor-pointer")),v.leave&&v.leave(b,v.text)}_linkAtPosition(S,v){const b=S.range.start.y*this._bufferService.cols+S.range.start.x,E=S.range.end.y*this._bufferService.cols+S.range.end.x,j=v.y*this._bufferService.cols+v.x;return b<=j&&j<=E}_positionFromMouseEvent(S,v,b){const E=b.getCoords(S,v,this._bufferService.cols,this._bufferService.rows);if(E)return{x:E[0],y:E[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(S,v,b,E,j){return{x1:S,y1:v,x2:b,y2:E,cols:this._bufferService.cols,fg:j}}};c.Linkifier=_=f([p(1,C.IMouseService),p(2,C.IRenderService),p(3,w.IBufferService),p(4,C.ILinkProviderService)],_)},9042:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.tooMuchOutput=c.promptLabel=void 0,c.promptLabel="Terminal input",c.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(u,c,d){var f=this&&this.__decorate||function(C,_,S,v){var b,E=arguments.length,j=E<3?_:v===null?v=Object.getOwnPropertyDescriptor(_,S):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(C,_,S,v);else for(var T=C.length-1;T>=0;T--)(b=C[T])&&(j=(E<3?b(j):E>3?b(_,S,j):b(_,S))||j);return E>3&&j&&Object.defineProperty(_,S,j),j},p=this&&this.__param||function(C,_){return function(S,v){_(S,v,C)}};Object.defineProperty(c,"__esModule",{value:!0}),c.OscLinkProvider=void 0;const m=d(511),x=d(2585);let y=c.OscLinkProvider=class{constructor(C,_,S){this._bufferService=C,this._optionsService=_,this._oscLinkService=S}provideLinks(C,_){var R;const S=this._bufferService.buffer.lines.get(C-1);if(!S)return void _(void 0);const v=[],b=this._optionsService.rawOptions.linkHandler,E=new m.CellData,j=S.getTrimmedLength();let T=-1,D=-1,L=!1;for(let M=0;M<j;M++)if(D!==-1||S.hasContent(M)){if(S.loadCell(M,E),E.hasExtendedAttrs()&&E.extended.urlId){if(D===-1){D=M,T=E.extended.urlId;continue}L=E.extended.urlId!==T}else D!==-1&&(L=!0);if(L||D!==-1&&M===j-1){const V=(R=this._oscLinkService.getLinkData(T))==null?void 0:R.uri;if(V){const U={start:{x:D+1,y:C},end:{x:M+(L||M!==j-1?0:1),y:C}};let O=!1;if(!(b!=null&&b.allowNonHttpProtocols))try{const H=new URL(V);["http:","https:"].includes(H.protocol)||(O=!0)}catch{O=!0}O||v.push({text:V,range:U,activate:(H,F)=>b?b.activate(H,F,U):w(0,F),hover:(H,F)=>{var G;return(G=b==null?void 0:b.hover)==null?void 0:G.call(b,H,F,U)},leave:(H,F)=>{var G;return(G=b==null?void 0:b.leave)==null?void 0:G.call(b,H,F,U)}})}L=!1,E.hasExtendedAttrs()&&E.extended.urlId?(D=M,T=E.extended.urlId):(D=-1,T=-1)}}_(v)}};function w(C,_){if(confirm(`Do you want to navigate to ${_}?
|
|
65
|
-
|
|
66
|
-
WARNING: This link could potentially be dangerous`)){const S=window.open();if(S){try{S.opener=null}catch{}S.location.href=_}else console.warn("Opening link blocked as opener could not be cleared")}}c.OscLinkProvider=y=f([p(0,x.IBufferService),p(1,x.IOptionsService),p(2,x.IOscLinkService)],y)},6193:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.RenderDebouncer=void 0,c.RenderDebouncer=class{constructor(d,f){this._renderCallback=d,this._coreBrowserService=f,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(d){return this._refreshCallbacks.push(d),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(d,f,p){this._rowCount=p,d=d!==void 0?d:0,f=f!==void 0?f:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,d):d,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,f):f,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();const d=Math.max(this._rowStart,0),f=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(d,f),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const d of this._refreshCallbacks)d(0);this._refreshCallbacks=[]}}},3236:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.Terminal=void 0;const f=d(3614),p=d(3656),m=d(3551),x=d(9042),y=d(3730),w=d(1680),C=d(3107),_=d(5744),S=d(2950),v=d(1296),b=d(428),E=d(4269),j=d(5114),T=d(8934),D=d(3230),L=d(9312),R=d(4725),M=d(6731),V=d(8055),U=d(8969),O=d(8460),H=d(844),F=d(6114),G=d(8437),Z=d(2584),q=d(7399),z=d(5941),I=d(9074),B=d(2585),K=d(5435),P=d(4567),ee=d(779);class Q extends U.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(Y={}){super(Y),this.browser=F,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new H.MutableDisposable),this._onCursorMove=this.register(new O.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new O.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new O.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new O.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new O.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new O.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new O.EventEmitter),this._onBlur=this.register(new O.EventEmitter),this._onA11yCharEmitter=this.register(new O.EventEmitter),this._onA11yTabEmitter=this.register(new O.EventEmitter),this._onWillOpen=this.register(new O.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(I.DecorationService),this._instantiationService.setService(B.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(ee.LinkProviderService),this._instantiationService.setService(R.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(y.OscLinkProvider)),this.register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this.register(this._inputHandler.onRequestRefreshRows(((W,ne)=>this.refresh(W,ne)))),this.register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register(this._inputHandler.onRequestWindowsOptionsReport((W=>this._reportWindowsOptions(W)))),this.register(this._inputHandler.onColor((W=>this._handleColorEvent(W)))),this.register((0,O.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,O.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,O.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,O.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize((W=>this._afterResize(W.cols,W.rows)))),this.register((0,H.toDisposable)((()=>{var W,ne;this._customKeyEventHandler=void 0,(ne=(W=this.element)==null?void 0:W.parentNode)==null||ne.removeChild(this.element)})))}_handleColorEvent(Y){if(this._themeService)for(const W of Y){let ne,se="";switch(W.index){case 256:ne="foreground",se="10";break;case 257:ne="background",se="11";break;case 258:ne="cursor",se="12";break;default:ne="ansi",se="4;"+W.index}switch(W.type){case 0:const pe=V.color.toColorRGB(ne==="ansi"?this._themeService.colors.ansi[W.index]:this._themeService.colors[ne]);this.coreService.triggerDataEvent(`${Z.C0.ESC}]${se};${(0,z.toRgbString)(pe)}${Z.C1_ESCAPED.ST}`);break;case 1:if(ne==="ansi")this._themeService.modifyColors((ge=>ge.ansi[W.index]=V.channels.toColor(...W.color)));else{const ge=ne;this._themeService.modifyColors((ke=>ke[ge]=V.channels.toColor(...W.color)))}break;case 2:this._themeService.restoreColor(W.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(Y){Y?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(P.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(Y){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Z.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var Y;return(Y=this.textarea)==null?void 0:Y.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Z.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const Y=this.buffer.ybase+this.buffer.y,W=this.buffer.lines.get(Y);if(!W)return;const ne=Math.min(this.buffer.x,this.cols-1),se=this._renderService.dimensions.css.cell.height,pe=W.getWidth(ne),ge=this._renderService.dimensions.css.cell.width*pe,ke=this.buffer.y*this._renderService.dimensions.css.cell.height,Be=ne*this._renderService.dimensions.css.cell.width;this.textarea.style.left=Be+"px",this.textarea.style.top=ke+"px",this.textarea.style.width=ge+"px",this.textarea.style.height=se+"px",this.textarea.style.lineHeight=se+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,p.addDisposableDomListener)(this.element,"copy",(W=>{this.hasSelection()&&(0,f.copyHandler)(W,this._selectionService)})));const Y=W=>(0,f.handlePasteEvent)(W,this.textarea,this.coreService,this.optionsService);this.register((0,p.addDisposableDomListener)(this.textarea,"paste",Y)),this.register((0,p.addDisposableDomListener)(this.element,"paste",Y)),F.isFirefox?this.register((0,p.addDisposableDomListener)(this.element,"mousedown",(W=>{W.button===2&&(0,f.rightClickHandler)(W,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this.register((0,p.addDisposableDomListener)(this.element,"contextmenu",(W=>{(0,f.rightClickHandler)(W,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),F.isLinux&&this.register((0,p.addDisposableDomListener)(this.element,"auxclick",(W=>{W.button===1&&(0,f.moveTextAreaUnderMouseCursor)(W,this.textarea,this.screenElement)})))}_bindKeys(){this.register((0,p.addDisposableDomListener)(this.textarea,"keyup",(Y=>this._keyUp(Y)),!0)),this.register((0,p.addDisposableDomListener)(this.textarea,"keydown",(Y=>this._keyDown(Y)),!0)),this.register((0,p.addDisposableDomListener)(this.textarea,"keypress",(Y=>this._keyPress(Y)),!0)),this.register((0,p.addDisposableDomListener)(this.textarea,"compositionstart",(()=>this._compositionHelper.compositionstart()))),this.register((0,p.addDisposableDomListener)(this.textarea,"compositionupdate",(Y=>this._compositionHelper.compositionupdate(Y)))),this.register((0,p.addDisposableDomListener)(this.textarea,"compositionend",(()=>this._compositionHelper.compositionend()))),this.register((0,p.addDisposableDomListener)(this.textarea,"input",(Y=>this._inputEvent(Y)),!0)),this.register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(Y){var ne;if(!Y)throw new Error("Terminal requires a parent element.");if(Y.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((ne=this.element)==null?void 0:ne.ownerDocument.defaultView)&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=Y.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),Y.appendChild(this.element);const W=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),W.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,p.addDisposableDomListener)(this.screenElement,"mousemove",(se=>this.updateCursorStyle(se)))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),W.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",x.promptLabel),F.isChromeOS||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._coreBrowserService=this.register(this._instantiationService.createInstance(j.CoreBrowserService,this.textarea,Y.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(R.ICoreBrowserService,this._coreBrowserService),this.register((0,p.addDisposableDomListener)(this.textarea,"focus",(se=>this._handleTextAreaFocus(se)))),this.register((0,p.addDisposableDomListener)(this.textarea,"blur",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(b.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(R.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(M.ThemeService),this._instantiationService.setService(R.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(E.CharacterJoinerService),this._instantiationService.setService(R.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(D.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(R.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange((se=>this._onRender.fire(se)))),this.onResize((se=>this._renderService.resize(se.cols,se.rows))),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(S.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(T.MouseService),this._instantiationService.setService(R.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(m.Linkifier,this.screenElement)),this.element.appendChild(W);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(w.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines((se=>this.scrollLines(se.amount,se.suppressScrollEvent,1))),this.register(this._inputHandler.onRequestSyncScrollBar((()=>this.viewport.syncScrollArea()))),this.register(this.viewport),this.register(this.onCursorMove((()=>{this._renderService.handleCursorMove(),this._syncTextArea()}))),this.register(this.onResize((()=>this._renderService.handleResize(this.cols,this.rows)))),this.register(this.onBlur((()=>this._renderService.handleBlur()))),this.register(this.onFocus((()=>this._renderService.handleFocus()))),this.register(this._renderService.onDimensionsChange((()=>this.viewport.syncScrollArea()))),this._selectionService=this.register(this._instantiationService.createInstance(L.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(R.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((se=>this.scrollLines(se.amount,se.suppressScrollEvent)))),this.register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this.register(this._selectionService.onRequestRedraw((se=>this._renderService.handleSelectionChanged(se.start,se.end,se.columnSelectMode)))),this.register(this._selectionService.onLinuxMouseSelection((se=>{this.textarea.value=se,this.textarea.focus(),this.textarea.select()}))),this.register(this._onScroll.event((se=>{this.viewport.syncScrollArea(),this._selectionService.refresh()}))),this.register((0,p.addDisposableDomListener)(this._viewportElement,"scroll",(()=>this._selectionService.refresh()))),this.register(this._instantiationService.createInstance(C.BufferDecorationRenderer,this.screenElement)),this.register((0,p.addDisposableDomListener)(this.element,"mousedown",(se=>this._selectionService.handleMouseDown(se)))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(P.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",(se=>this._handleScreenReaderModeOptionChange(se)))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(_.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",(se=>{!this._overviewRulerRenderer&&se&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(_.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(v.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const Y=this,W=this.element;function ne(ge){const ke=Y._mouseService.getMouseReportCoords(ge,Y.screenElement);if(!ke)return!1;let Be,Me;switch(ge.overrideType||ge.type){case"mousemove":Me=32,ge.buttons===void 0?(Be=3,ge.button!==void 0&&(Be=ge.button<3?ge.button:3)):Be=1&ge.buttons?0:4&ge.buttons?1:2&ge.buttons?2:3;break;case"mouseup":Me=0,Be=ge.button<3?ge.button:3;break;case"mousedown":Me=1,Be=ge.button<3?ge.button:3;break;case"wheel":if(Y._customWheelEventHandler&&Y._customWheelEventHandler(ge)===!1||Y.viewport.getLinesScrolled(ge)===0)return!1;Me=ge.deltaY<0?0:1,Be=4;break;default:return!1}return!(Me===void 0||Be===void 0||Be>4)&&Y.coreMouseService.triggerMouseEvent({col:ke.col,row:ke.row,x:ke.x,y:ke.y,button:Be,action:Me,ctrl:ge.ctrlKey,alt:ge.altKey,shift:ge.shiftKey})}const se={mouseup:null,wheel:null,mousedrag:null,mousemove:null},pe={mouseup:ge=>(ne(ge),ge.buttons||(this._document.removeEventListener("mouseup",se.mouseup),se.mousedrag&&this._document.removeEventListener("mousemove",se.mousedrag)),this.cancel(ge)),wheel:ge=>(ne(ge),this.cancel(ge,!0)),mousedrag:ge=>{ge.buttons&&ne(ge)},mousemove:ge=>{ge.buttons||ne(ge)}};this.register(this.coreMouseService.onProtocolChange((ge=>{ge?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(ge)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&ge?se.mousemove||(W.addEventListener("mousemove",pe.mousemove),se.mousemove=pe.mousemove):(W.removeEventListener("mousemove",se.mousemove),se.mousemove=null),16&ge?se.wheel||(W.addEventListener("wheel",pe.wheel,{passive:!1}),se.wheel=pe.wheel):(W.removeEventListener("wheel",se.wheel),se.wheel=null),2&ge?se.mouseup||(se.mouseup=pe.mouseup):(this._document.removeEventListener("mouseup",se.mouseup),se.mouseup=null),4&ge?se.mousedrag||(se.mousedrag=pe.mousedrag):(this._document.removeEventListener("mousemove",se.mousedrag),se.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,p.addDisposableDomListener)(W,"mousedown",(ge=>{if(ge.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(ge))return ne(ge),se.mouseup&&this._document.addEventListener("mouseup",se.mouseup),se.mousedrag&&this._document.addEventListener("mousemove",se.mousedrag),this.cancel(ge)}))),this.register((0,p.addDisposableDomListener)(W,"wheel",(ge=>{if(!se.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(ge)===!1)return!1;if(!this.buffer.hasScrollback){const ke=this.viewport.getLinesScrolled(ge);if(ke===0)return;const Be=Z.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(ge.deltaY<0?"A":"B");let Me="";for(let $e=0;$e<Math.abs(ke);$e++)Me+=Be;return this.coreService.triggerDataEvent(Me,!0),this.cancel(ge,!0)}return this.viewport.handleWheel(ge)?this.cancel(ge):void 0}}),{passive:!1})),this.register((0,p.addDisposableDomListener)(W,"touchstart",(ge=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(ge),this.cancel(ge)}),{passive:!0})),this.register((0,p.addDisposableDomListener)(W,"touchmove",(ge=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(ge)?void 0:this.cancel(ge)}),{passive:!1}))}refresh(Y,W){var ne;(ne=this._renderService)==null||ne.refreshRows(Y,W)}updateCursorStyle(Y){var W;(W=this._selectionService)!=null&&W.shouldColumnSelect(Y)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(Y,W,ne=0){var se;ne===1?(super.scrollLines(Y,W,ne),this.refresh(0,this.rows-1)):(se=this.viewport)==null||se.scrollLines(Y)}paste(Y){(0,f.paste)(Y,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(Y){this._customKeyEventHandler=Y}attachCustomWheelEventHandler(Y){this._customWheelEventHandler=Y}registerLinkProvider(Y){return this._linkProviderService.registerLinkProvider(Y)}registerCharacterJoiner(Y){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const W=this._characterJoinerService.register(Y);return this.refresh(0,this.rows-1),W}deregisterCharacterJoiner(Y){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(Y)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(Y){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+Y)}registerDecoration(Y){return this._decorationService.registerDecoration(Y)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(Y,W,ne){this._selectionService.setSelection(Y,W,ne)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var Y;(Y=this._selectionService)==null||Y.clearSelection()}selectAll(){var Y;(Y=this._selectionService)==null||Y.selectAll()}selectLines(Y,W){var ne;(ne=this._selectionService)==null||ne.selectLines(Y,W)}_keyDown(Y){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(Y)===!1)return!1;const W=this.browser.isMac&&this.options.macOptionIsMeta&&Y.altKey;if(!W&&!this._compositionHelper.keydown(Y))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;W||Y.key!=="Dead"&&Y.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const ne=(0,q.evaluateKeyboardEvent)(Y,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(Y),ne.type===3||ne.type===2){const se=this.rows-1;return this.scrollLines(ne.type===2?-se:se),this.cancel(Y,!0)}return ne.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,Y)||(ne.cancel&&this.cancel(Y,!0),!ne.key||!!(Y.key&&!Y.ctrlKey&&!Y.altKey&&!Y.metaKey&&Y.key.length===1&&Y.key.charCodeAt(0)>=65&&Y.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(ne.key!==Z.C0.ETX&&ne.key!==Z.C0.CR||(this.textarea.value=""),this._onKey.fire({key:ne.key,domEvent:Y}),this._showCursor(),this.coreService.triggerDataEvent(ne.key,!0),!this.optionsService.rawOptions.screenReaderMode||Y.altKey||Y.ctrlKey?this.cancel(Y,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(Y,W){const ne=Y.isMac&&!this.options.macOptionIsMeta&&W.altKey&&!W.ctrlKey&&!W.metaKey||Y.isWindows&&W.altKey&&W.ctrlKey&&!W.metaKey||Y.isWindows&&W.getModifierState("AltGraph");return W.type==="keypress"?ne:ne&&(!W.keyCode||W.keyCode>47)}_keyUp(Y){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(Y)===!1||((function(W){return W.keyCode===16||W.keyCode===17||W.keyCode===18})(Y)||this.focus(),this.updateCursorStyle(Y),this._keyPressHandled=!1)}_keyPress(Y){let W;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(Y)===!1)return!1;if(this.cancel(Y),Y.charCode)W=Y.charCode;else if(Y.which===null||Y.which===void 0)W=Y.keyCode;else{if(Y.which===0||Y.charCode===0)return!1;W=Y.which}return!(!W||(Y.altKey||Y.ctrlKey||Y.metaKey)&&!this._isThirdLevelShift(this.browser,Y)||(W=String.fromCharCode(W),this._onKey.fire({key:W,domEvent:Y}),this._showCursor(),this.coreService.triggerDataEvent(W,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(Y){if(Y.data&&Y.inputType==="insertText"&&(!Y.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const W=Y.data;return this.coreService.triggerDataEvent(W,!0),this.cancel(Y),!0}return!1}resize(Y,W){Y!==this.cols||W!==this.rows?super.resize(Y,W):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(Y,W){var ne,se;(ne=this._charSizeService)==null||ne.measure(),(se=this.viewport)==null||se.syncScrollArea(!0)}clear(){var Y;if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let W=1;W<this.rows;W++)this.buffer.lines.push(this.buffer.getBlankLine(G.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),(Y=this.viewport)==null||Y.reset(),this.refresh(0,this.rows-1)}}reset(){var W,ne;this.options.rows=this.rows,this.options.cols=this.cols;const Y=this._customKeyEventHandler;this._setup(),super.reset(),(W=this._selectionService)==null||W.reset(),this._decorationService.reset(),(ne=this.viewport)==null||ne.reset(),this._customKeyEventHandler=Y,this.refresh(0,this.rows-1)}clearTextureAtlas(){var Y;(Y=this._renderService)==null||Y.clearTextureAtlas()}_reportFocus(){var Y;(Y=this.element)!=null&&Y.classList.contains("focus")?this.coreService.triggerDataEvent(Z.C0.ESC+"[I"):this.coreService.triggerDataEvent(Z.C0.ESC+"[O")}_reportWindowsOptions(Y){if(this._renderService)switch(Y){case K.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const W=this._renderService.dimensions.css.canvas.width.toFixed(0),ne=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${Z.C0.ESC}[4;${ne};${W}t`);break;case K.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const se=this._renderService.dimensions.css.cell.width.toFixed(0),pe=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${Z.C0.ESC}[6;${pe};${se}t`)}}cancel(Y,W){if(this.options.cancelEvents||W)return Y.preventDefault(),Y.stopPropagation(),!1}}c.Terminal=Q},9924:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.TimeBasedDebouncer=void 0,c.TimeBasedDebouncer=class{constructor(d,f=1e3){this._renderCallback=d,this._debounceThresholdMS=f,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(d,f,p){this._rowCount=p,d=d!==void 0?d:0,f=f!==void 0?f:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,d):d,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,f):f;const m=Date.now();if(m-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=m,this._innerRefresh();else if(!this._additionalRefreshRequested){const x=m-this._lastRefreshMs,y=this._debounceThresholdMS-x;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),y)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const d=Math.max(this._rowStart,0),f=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(d,f)}}},1680:function(u,c,d){var f=this&&this.__decorate||function(S,v,b,E){var j,T=arguments.length,D=T<3?v:E===null?E=Object.getOwnPropertyDescriptor(v,b):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(S,v,b,E);else for(var L=S.length-1;L>=0;L--)(j=S[L])&&(D=(T<3?j(D):T>3?j(v,b,D):j(v,b))||D);return T>3&&D&&Object.defineProperty(v,b,D),D},p=this&&this.__param||function(S,v){return function(b,E){v(b,E,S)}};Object.defineProperty(c,"__esModule",{value:!0}),c.Viewport=void 0;const m=d(3656),x=d(4725),y=d(8460),w=d(844),C=d(2585);let _=c.Viewport=class extends w.Disposable{constructor(S,v,b,E,j,T,D,L){super(),this._viewportElement=S,this._scrollArea=v,this._bufferService=b,this._optionsService=E,this._charSizeService=j,this._renderService=T,this._coreBrowserService=D,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new y.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,m.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((R=>this._activeBuffer=R.activeBuffer))),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange((R=>this._renderDimensions=R))),this._handleThemeChange(L.colors),this.register(L.onChangeColors((R=>this._handleThemeChange(R)))),this.register(this._optionsService.onSpecificOptionChange("scrollback",(()=>this.syncScrollArea()))),setTimeout((()=>this.syncScrollArea()))}_handleThemeChange(S){this._viewportElement.style.backgroundColor=S.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame((()=>this.syncScrollArea()))}_refresh(S){if(S)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const v=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==v&&(this._lastRecordedBufferHeight=v,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const S=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==S&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=S),this._refreshAnimationFrame=null}syncScrollArea(S=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(S);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(S)}_handleScroll(S){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const v=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:v,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const S=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(S*(this._smoothScrollState.target-this._smoothScrollState.origin)),S<1?this._coreBrowserService.window.requestAnimationFrame((()=>this._smoothScroll())):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(S,v){const b=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(v<0&&this._viewportElement.scrollTop!==0||v>0&&b<this._lastRecordedBufferHeight)||(S.cancelable&&S.preventDefault(),!1)}handleWheel(S){const v=this._getPixelsScrolled(S);return v!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+v:this._smoothScrollState.target+=v,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=v,this._bubbleScroll(S,v))}scrollLines(S){if(S!==0)if(this._optionsService.rawOptions.smoothScrollDuration){const v=S*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+v,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:S,suppressScrollEvent:!1})}_getPixelsScrolled(S){if(S.deltaY===0||S.shiftKey)return 0;let v=this._applyScrollModifier(S.deltaY,S);return S.deltaMode===WheelEvent.DOM_DELTA_LINE?v*=this._currentRowHeight:S.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(v*=this._currentRowHeight*this._bufferService.rows),v}getBufferElements(S,v){var L;let b,E="";const j=[],T=v??this._bufferService.buffer.lines.length,D=this._bufferService.buffer.lines;for(let R=S;R<T;R++){const M=D.get(R);if(!M)continue;const V=(L=D.get(R+1))==null?void 0:L.isWrapped;if(E+=M.translateToString(!V),!V||R===D.length-1){const U=document.createElement("div");U.textContent=E,j.push(U),E.length>0&&(b=U),E=""}}return{bufferElements:j,cursorElement:b}}getLinesScrolled(S){if(S.deltaY===0||S.shiftKey)return 0;let v=this._applyScrollModifier(S.deltaY,S);return S.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(v/=this._currentRowHeight+0,this._wheelPartialScroll+=v,v=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):S.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(v*=this._bufferService.rows),v}_applyScrollModifier(S,v){const b=this._optionsService.rawOptions.fastScrollModifier;return b==="alt"&&v.altKey||b==="ctrl"&&v.ctrlKey||b==="shift"&&v.shiftKey?S*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:S*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(S){this._lastTouchY=S.touches[0].pageY}handleTouchMove(S){const v=this._lastTouchY-S.touches[0].pageY;return this._lastTouchY=S.touches[0].pageY,v!==0&&(this._viewportElement.scrollTop+=v,this._bubbleScroll(S,v))}};c.Viewport=_=f([p(2,C.IBufferService),p(3,C.IOptionsService),p(4,x.ICharSizeService),p(5,x.IRenderService),p(6,x.ICoreBrowserService),p(7,x.IThemeService)],_)},3107:function(u,c,d){var f=this&&this.__decorate||function(C,_,S,v){var b,E=arguments.length,j=E<3?_:v===null?v=Object.getOwnPropertyDescriptor(_,S):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(C,_,S,v);else for(var T=C.length-1;T>=0;T--)(b=C[T])&&(j=(E<3?b(j):E>3?b(_,S,j):b(_,S))||j);return E>3&&j&&Object.defineProperty(_,S,j),j},p=this&&this.__param||function(C,_){return function(S,v){_(S,v,C)}};Object.defineProperty(c,"__esModule",{value:!0}),c.BufferDecorationRenderer=void 0;const m=d(4725),x=d(844),y=d(2585);let w=c.BufferDecorationRenderer=class extends x.Disposable{constructor(C,_,S,v,b){super(),this._screenElement=C,this._bufferService=_,this._coreBrowserService=S,this._decorationService=v,this._renderService=b,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange((()=>this._doRefreshDecorations()))),this.register(this._renderService.onDimensionsChange((()=>{this._dimensionsChanged=!0,this._queueRefresh()}))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt}))),this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh()))),this.register(this._decorationService.onDecorationRemoved((E=>this._removeDecoration(E)))),this.register((0,x.toDisposable)((()=>{this._container.remove(),this._decorationElements.clear()})))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback((()=>{this._doRefreshDecorations(),this._animationFrame=void 0})))}_doRefreshDecorations(){for(const C of this._decorationService.decorations)this._renderDecoration(C);this._dimensionsChanged=!1}_renderDecoration(C){this._refreshStyle(C),this._dimensionsChanged&&this._refreshXPosition(C)}_createElement(C){var v;const _=this._coreBrowserService.mainDocument.createElement("div");_.classList.add("xterm-decoration"),_.classList.toggle("xterm-decoration-top-layer",((v=C==null?void 0:C.options)==null?void 0:v.layer)==="top"),_.style.width=`${Math.round((C.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,_.style.height=(C.options.height||1)*this._renderService.dimensions.css.cell.height+"px",_.style.top=(C.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",_.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const S=C.options.x??0;return S&&S>this._bufferService.cols&&(_.style.display="none"),this._refreshXPosition(C,_),_}_refreshStyle(C){const _=C.marker.line-this._bufferService.buffers.active.ydisp;if(_<0||_>=this._bufferService.rows)C.element&&(C.element.style.display="none",C.onRenderEmitter.fire(C.element));else{let S=this._decorationElements.get(C);S||(S=this._createElement(C),C.element=S,this._decorationElements.set(C,S),this._container.appendChild(S),C.onDispose((()=>{this._decorationElements.delete(C),S.remove()}))),S.style.top=_*this._renderService.dimensions.css.cell.height+"px",S.style.display=this._altBufferIsActive?"none":"block",C.onRenderEmitter.fire(S)}}_refreshXPosition(C,_=C.element){if(!_)return;const S=C.options.x??0;(C.options.anchor||"left")==="right"?_.style.right=S?S*this._renderService.dimensions.css.cell.width+"px":"":_.style.left=S?S*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(C){var _;(_=this._decorationElements.get(C))==null||_.remove(),this._decorationElements.delete(C),C.dispose()}};c.BufferDecorationRenderer=w=f([p(1,y.IBufferService),p(2,m.ICoreBrowserService),p(3,y.IDecorationService),p(4,m.IRenderService)],w)},5871:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.ColorZoneStore=void 0,c.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(d){if(d.options.overviewRulerOptions){for(const f of this._zones)if(f.color===d.options.overviewRulerOptions.color&&f.position===d.options.overviewRulerOptions.position){if(this._lineIntersectsZone(f,d.marker.line))return;if(this._lineAdjacentToZone(f,d.marker.line,d.options.overviewRulerOptions.position))return void this._addLineToZone(f,d.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=d.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=d.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=d.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=d.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:d.options.overviewRulerOptions.color,position:d.options.overviewRulerOptions.position,startBufferLine:d.marker.line,endBufferLine:d.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(d){this._linePadding=d}_lineIntersectsZone(d,f){return f>=d.startBufferLine&&f<=d.endBufferLine}_lineAdjacentToZone(d,f,p){return f>=d.startBufferLine-this._linePadding[p||"full"]&&f<=d.endBufferLine+this._linePadding[p||"full"]}_addLineToZone(d,f){d.startBufferLine=Math.min(d.startBufferLine,f),d.endBufferLine=Math.max(d.endBufferLine,f)}}},5744:function(u,c,d){var f=this&&this.__decorate||function(b,E,j,T){var D,L=arguments.length,R=L<3?E:T===null?T=Object.getOwnPropertyDescriptor(E,j):T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(b,E,j,T);else for(var M=b.length-1;M>=0;M--)(D=b[M])&&(R=(L<3?D(R):L>3?D(E,j,R):D(E,j))||R);return L>3&&R&&Object.defineProperty(E,j,R),R},p=this&&this.__param||function(b,E){return function(j,T){E(j,T,b)}};Object.defineProperty(c,"__esModule",{value:!0}),c.OverviewRulerRenderer=void 0;const m=d(5871),x=d(4725),y=d(844),w=d(2585),C={full:0,left:0,center:0,right:0},_={full:0,left:0,center:0,right:0},S={full:0,left:0,center:0,right:0};let v=c.OverviewRulerRenderer=class extends y.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(b,E,j,T,D,L,R){var V;super(),this._viewportElement=b,this._screenElement=E,this._bufferService=j,this._decorationService=T,this._renderService=D,this._optionsService=L,this._coreBrowserService=R,this._colorZoneStore=new m.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(V=this._viewportElement.parentElement)==null||V.insertBefore(this._canvas,this._viewportElement);const M=this._canvas.getContext("2d");if(!M)throw new Error("Ctx cannot be null");this._ctx=M,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,y.toDisposable)((()=>{var U;(U=this._canvas)==null||U.remove()})))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this.register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0))))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"}))),this.register(this._bufferService.onScroll((()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",(()=>this._queueRefresh(!0)))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh(!0)))),this._queueRefresh(!0)}_refreshDrawConstants(){const b=Math.floor(this._canvas.width/3),E=Math.ceil(this._canvas.width/3);_.full=this._canvas.width,_.left=b,_.center=E,_.right=b,this._refreshDrawHeightConstants(),S.full=0,S.left=0,S.center=_.left,S.right=_.left+_.center}_refreshDrawHeightConstants(){C.full=Math.round(2*this._coreBrowserService.dpr);const b=this._canvas.height/this._bufferService.buffer.lines.length,E=Math.round(Math.max(Math.min(b,12),6)*this._coreBrowserService.dpr);C.left=E,C.center=E,C.right=E}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*C.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*C.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*C.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*C.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const E of this._decorationService.decorations)this._colorZoneStore.addDecoration(E);this._ctx.lineWidth=1;const b=this._colorZoneStore.zones;for(const E of b)E.position!=="full"&&this._renderColorZone(E);for(const E of b)E.position==="full"&&this._renderColorZone(E);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(b){this._ctx.fillStyle=b.color,this._ctx.fillRect(S[b.position||"full"],Math.round((this._canvas.height-1)*(b.startBufferLine/this._bufferService.buffers.active.lines.length)-C[b.position||"full"]/2),_[b.position||"full"],Math.round((this._canvas.height-1)*((b.endBufferLine-b.startBufferLine)/this._bufferService.buffers.active.lines.length)+C[b.position||"full"]))}_queueRefresh(b,E){this._shouldUpdateDimensions=b||this._shouldUpdateDimensions,this._shouldUpdateAnchor=E||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};c.OverviewRulerRenderer=v=f([p(2,w.IBufferService),p(3,w.IDecorationService),p(4,x.IRenderService),p(5,w.IOptionsService),p(6,x.ICoreBrowserService)],v)},2950:function(u,c,d){var f=this&&this.__decorate||function(C,_,S,v){var b,E=arguments.length,j=E<3?_:v===null?v=Object.getOwnPropertyDescriptor(_,S):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(C,_,S,v);else for(var T=C.length-1;T>=0;T--)(b=C[T])&&(j=(E<3?b(j):E>3?b(_,S,j):b(_,S))||j);return E>3&&j&&Object.defineProperty(_,S,j),j},p=this&&this.__param||function(C,_){return function(S,v){_(S,v,C)}};Object.defineProperty(c,"__esModule",{value:!0}),c.CompositionHelper=void 0;const m=d(4725),x=d(2585),y=d(2584);let w=c.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(C,_,S,v,b,E){this._textarea=C,this._compositionView=_,this._bufferService=S,this._optionsService=v,this._coreService=b,this._renderService=E,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(C){this._compositionView.textContent=C.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(C){if(this._isComposing||this._isSendingComposition){if(C.keyCode===229||C.keyCode===16||C.keyCode===17||C.keyCode===18)return!1;this._finalizeComposition(!1)}return C.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(C){if(this._compositionView.classList.remove("active"),this._isComposing=!1,C){const _={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let S;this._isSendingComposition=!1,_.start+=this._dataAlreadySent.length,S=this._isComposing?this._textarea.value.substring(_.start,_.end):this._textarea.value.substring(_.start),S.length>0&&this._coreService.triggerDataEvent(S,!0)}}),0)}else{this._isSendingComposition=!1;const _=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(_,!0)}}_handleAnyTextareaChanges(){const C=this._textarea.value;setTimeout((()=>{if(!this._isComposing){const _=this._textarea.value,S=_.replace(C,"");this._dataAlreadySent=S,_.length>C.length?this._coreService.triggerDataEvent(S,!0):_.length<C.length?this._coreService.triggerDataEvent(`${y.C0.DEL}`,!0):_.length===C.length&&_!==C&&this._coreService.triggerDataEvent(_,!0)}}),0)}updateCompositionElements(C){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const _=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),S=this._renderService.dimensions.css.cell.height,v=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,b=_*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=b+"px",this._compositionView.style.top=v+"px",this._compositionView.style.height=S+"px",this._compositionView.style.lineHeight=S+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";const E=this._compositionView.getBoundingClientRect();this._textarea.style.left=b+"px",this._textarea.style.top=v+"px",this._textarea.style.width=Math.max(E.width,1)+"px",this._textarea.style.height=Math.max(E.height,1)+"px",this._textarea.style.lineHeight=E.height+"px"}C||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};c.CompositionHelper=w=f([p(2,x.IBufferService),p(3,x.IOptionsService),p(4,x.ICoreService),p(5,m.IRenderService)],w)},9806:(u,c)=>{function d(f,p,m){const x=m.getBoundingClientRect(),y=f.getComputedStyle(m),w=parseInt(y.getPropertyValue("padding-left")),C=parseInt(y.getPropertyValue("padding-top"));return[p.clientX-x.left-w,p.clientY-x.top-C]}Object.defineProperty(c,"__esModule",{value:!0}),c.getCoords=c.getCoordsRelativeToElement=void 0,c.getCoordsRelativeToElement=d,c.getCoords=function(f,p,m,x,y,w,C,_,S){if(!w)return;const v=d(f,p,m);return v?(v[0]=Math.ceil((v[0]+(S?C/2:0))/C),v[1]=Math.ceil(v[1]/_),v[0]=Math.min(Math.max(v[0],1),x+(S?1:0)),v[1]=Math.min(Math.max(v[1],1),y),v):void 0}},9504:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.moveToCellSequence=void 0;const f=d(2584);function p(_,S,v,b){const E=_-m(_,v),j=S-m(S,v),T=Math.abs(E-j)-(function(D,L,R){let M=0;const V=D-m(D,R),U=L-m(L,R);for(let O=0;O<Math.abs(V-U);O++){const H=x(D,L)==="A"?-1:1,F=R.buffer.lines.get(V+H*O);F!=null&&F.isWrapped&&M++}return M})(_,S,v);return C(T,w(x(_,S),b))}function m(_,S){let v=0,b=S.buffer.lines.get(_),E=b==null?void 0:b.isWrapped;for(;E&&_>=0&&_<S.rows;)v++,b=S.buffer.lines.get(--_),E=b==null?void 0:b.isWrapped;return v}function x(_,S){return _>S?"A":"B"}function y(_,S,v,b,E,j){let T=_,D=S,L="";for(;T!==v||D!==b;)T+=E?1:-1,E&&T>j.cols-1?(L+=j.buffer.translateBufferLineToString(D,!1,_,T),T=0,_=0,D++):!E&&T<0&&(L+=j.buffer.translateBufferLineToString(D,!1,0,_+1),T=j.cols-1,_=T,D--);return L+j.buffer.translateBufferLineToString(D,!1,_,T)}function w(_,S){const v=S?"O":"[";return f.C0.ESC+v+_}function C(_,S){_=Math.floor(_);let v="";for(let b=0;b<_;b++)v+=S;return v}c.moveToCellSequence=function(_,S,v,b){const E=v.buffer.x,j=v.buffer.y;if(!v.buffer.hasScrollback)return(function(L,R,M,V,U,O){return p(R,V,U,O).length===0?"":C(y(L,R,L,R-m(R,U),!1,U).length,w("D",O))})(E,j,0,S,v,b)+p(j,S,v,b)+(function(L,R,M,V,U,O){let H;H=p(R,V,U,O).length>0?V-m(V,U):R;const F=V,G=(function(Z,q,z,I,B,K){let P;return P=p(z,I,B,K).length>0?I-m(I,B):q,Z<z&&P<=I||Z>=z&&P<I?"C":"D"})(L,R,M,V,U,O);return C(y(L,H,M,F,G==="C",U).length,w(G,O))})(E,j,_,S,v,b);let T;if(j===S)return T=E>_?"D":"C",C(Math.abs(E-_),w(T,b));T=j>S?"D":"C";const D=Math.abs(j-S);return C((function(L,R){return R.cols-L})(j>S?_:E,v)+(D-1)*v.cols+1+((j>S?E:_)-1),w(T,b))}},1296:function(u,c,d){var f=this&&this.__decorate||function(O,H,F,G){var Z,q=arguments.length,z=q<3?H:G===null?G=Object.getOwnPropertyDescriptor(H,F):G;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")z=Reflect.decorate(O,H,F,G);else for(var I=O.length-1;I>=0;I--)(Z=O[I])&&(z=(q<3?Z(z):q>3?Z(H,F,z):Z(H,F))||z);return q>3&&z&&Object.defineProperty(H,F,z),z},p=this&&this.__param||function(O,H){return function(F,G){H(F,G,O)}};Object.defineProperty(c,"__esModule",{value:!0}),c.DomRenderer=void 0;const m=d(3787),x=d(2550),y=d(2223),w=d(6171),C=d(6052),_=d(4725),S=d(8055),v=d(8460),b=d(844),E=d(2585),j="xterm-dom-renderer-owner-",T="xterm-rows",D="xterm-fg-",L="xterm-bg-",R="xterm-focus",M="xterm-selection";let V=1,U=c.DomRenderer=class extends b.Disposable{constructor(O,H,F,G,Z,q,z,I,B,K,P,ee,Q){super(),this._terminal=O,this._document=H,this._element=F,this._screenElement=G,this._viewportElement=Z,this._helperContainer=q,this._linkifier2=z,this._charSizeService=B,this._optionsService=K,this._bufferService=P,this._coreBrowserService=ee,this._themeService=Q,this._terminalClass=V++,this._rowElements=[],this._selectionRenderModel=(0,C.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new v.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(T),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(M),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,w.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._themeService.onChangeColors((te=>this._injectCss(te)))),this._injectCss(this._themeService.colors),this._rowFactory=I.createInstance(m.DomRendererRowFactory,document),this._element.classList.add(j+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline((te=>this._handleLinkHover(te)))),this.register(this._linkifier2.onHideLinkUnderline((te=>this._handleLinkLeave(te)))),this.register((0,b.toDisposable)((()=>{this._element.classList.remove(j+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new x.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const O=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*O,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*O),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/O),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/O),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const F of this._rowElements)F.style.width=`${this.dimensions.css.canvas.width}px`,F.style.height=`${this.dimensions.css.cell.height}px`,F.style.lineHeight=`${this.dimensions.css.cell.height}px`,F.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const H=`${this._terminalSelector} .${T} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=H,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(O){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let H=`${this._terminalSelector} .${T} { color: ${O.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;H+=`${this._terminalSelector} .${T} .xterm-dim { color: ${S.color.multiplyOpacity(O.foreground,.5).css};}`,H+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;const F=`blink_underline_${this._terminalClass}`,G=`blink_bar_${this._terminalClass}`,Z=`blink_block_${this._terminalClass}`;H+=`@keyframes ${F} { 50% { border-bottom-style: hidden; }}`,H+=`@keyframes ${G} { 50% { box-shadow: none; }}`,H+=`@keyframes ${Z} { 0% { background-color: ${O.cursor.css}; color: ${O.cursorAccent.css}; } 50% { background-color: inherit; color: ${O.cursor.css}; }}`,H+=`${this._terminalSelector} .${T}.${R} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${F} 1s step-end infinite;}${this._terminalSelector} .${T}.${R} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${G} 1s step-end infinite;}${this._terminalSelector} .${T}.${R} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${Z} 1s step-end infinite;}${this._terminalSelector} .${T} .xterm-cursor.xterm-cursor-block { background-color: ${O.cursor.css}; color: ${O.cursorAccent.css};}${this._terminalSelector} .${T} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${O.cursor.css} !important; color: ${O.cursorAccent.css} !important;}${this._terminalSelector} .${T} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${O.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${T} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${O.cursor.css} inset;}${this._terminalSelector} .${T} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${O.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,H+=`${this._terminalSelector} .${M} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${M} div { position: absolute; background-color: ${O.selectionBackgroundOpaque.css};}${this._terminalSelector} .${M} div { position: absolute; background-color: ${O.selectionInactiveBackgroundOpaque.css};}`;for(const[q,z]of O.ansi.entries())H+=`${this._terminalSelector} .${D}${q} { color: ${z.css}; }${this._terminalSelector} .${D}${q}.xterm-dim { color: ${S.color.multiplyOpacity(z,.5).css}; }${this._terminalSelector} .${L}${q} { background-color: ${z.css}; }`;H+=`${this._terminalSelector} .${D}${y.INVERTED_DEFAULT_COLOR} { color: ${S.color.opaque(O.background).css}; }${this._terminalSelector} .${D}${y.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${S.color.multiplyOpacity(S.color.opaque(O.background),.5).css}; }${this._terminalSelector} .${L}${y.INVERTED_DEFAULT_COLOR} { background-color: ${O.foreground.css}; }`,this._themeStyleElement.textContent=H}_setDefaultSpacing(){const O=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${O}px`,this._rowFactory.defaultSpacing=O}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(O,H){for(let F=this._rowElements.length;F<=H;F++){const G=this._document.createElement("div");this._rowContainer.appendChild(G),this._rowElements.push(G)}for(;this._rowElements.length>H;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(O,H){this._refreshRowElements(O,H),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(R),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(R),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(O,H,F){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(O,H,F),this.renderRows(0,this._bufferService.rows-1),!O||!H)return;this._selectionRenderModel.update(this._terminal,O,H,F);const G=this._selectionRenderModel.viewportStartRow,Z=this._selectionRenderModel.viewportEndRow,q=this._selectionRenderModel.viewportCappedStartRow,z=this._selectionRenderModel.viewportCappedEndRow;if(q>=this._bufferService.rows||z<0)return;const I=this._document.createDocumentFragment();if(F){const B=O[0]>H[0];I.appendChild(this._createSelectionElement(q,B?H[0]:O[0],B?O[0]:H[0],z-q+1))}else{const B=G===q?O[0]:0,K=q===Z?H[0]:this._bufferService.cols;I.appendChild(this._createSelectionElement(q,B,K));const P=z-q-1;if(I.appendChild(this._createSelectionElement(q+1,0,this._bufferService.cols,P)),q!==z){const ee=Z===z?H[0]:this._bufferService.cols;I.appendChild(this._createSelectionElement(z,0,ee))}}this._selectionContainer.appendChild(I)}_createSelectionElement(O,H,F,G=1){const Z=this._document.createElement("div"),q=H*this.dimensions.css.cell.width;let z=this.dimensions.css.cell.width*(F-H);return q+z>this.dimensions.css.canvas.width&&(z=this.dimensions.css.canvas.width-q),Z.style.height=G*this.dimensions.css.cell.height+"px",Z.style.top=O*this.dimensions.css.cell.height+"px",Z.style.left=`${q}px`,Z.style.width=`${z}px`,Z}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const O of this._rowElements)O.replaceChildren()}renderRows(O,H){const F=this._bufferService.buffer,G=F.ybase+F.y,Z=Math.min(F.x,this._bufferService.cols-1),q=this._optionsService.rawOptions.cursorBlink,z=this._optionsService.rawOptions.cursorStyle,I=this._optionsService.rawOptions.cursorInactiveStyle;for(let B=O;B<=H;B++){const K=B+F.ydisp,P=this._rowElements[B],ee=F.lines.get(K);if(!P||!ee)break;P.replaceChildren(...this._rowFactory.createRow(ee,K,K===G,z,I,Z,q,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${j}${this._terminalClass}`}_handleLinkHover(O){this._setCellUnderline(O.x1,O.x2,O.y1,O.y2,O.cols,!0)}_handleLinkLeave(O){this._setCellUnderline(O.x1,O.x2,O.y1,O.y2,O.cols,!1)}_setCellUnderline(O,H,F,G,Z,q){F<0&&(O=0),G<0&&(H=0);const z=this._bufferService.rows-1;F=Math.max(Math.min(F,z),0),G=Math.max(Math.min(G,z),0),Z=Math.min(Z,this._bufferService.cols);const I=this._bufferService.buffer,B=I.ybase+I.y,K=Math.min(I.x,Z-1),P=this._optionsService.rawOptions.cursorBlink,ee=this._optionsService.rawOptions.cursorStyle,Q=this._optionsService.rawOptions.cursorInactiveStyle;for(let te=F;te<=G;++te){const Y=te+I.ydisp,W=this._rowElements[te],ne=I.lines.get(Y);if(!W||!ne)break;W.replaceChildren(...this._rowFactory.createRow(ne,Y,Y===B,ee,Q,K,P,this.dimensions.css.cell.width,this._widthCache,q?te===F?O:0:-1,q?(te===G?H:Z)-1:-1))}}};c.DomRenderer=U=f([p(7,E.IInstantiationService),p(8,_.ICharSizeService),p(9,E.IOptionsService),p(10,E.IBufferService),p(11,_.ICoreBrowserService),p(12,_.IThemeService)],U)},3787:function(u,c,d){var f=this&&this.__decorate||function(T,D,L,R){var M,V=arguments.length,U=V<3?D:R===null?R=Object.getOwnPropertyDescriptor(D,L):R;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")U=Reflect.decorate(T,D,L,R);else for(var O=T.length-1;O>=0;O--)(M=T[O])&&(U=(V<3?M(U):V>3?M(D,L,U):M(D,L))||U);return V>3&&U&&Object.defineProperty(D,L,U),U},p=this&&this.__param||function(T,D){return function(L,R){D(L,R,T)}};Object.defineProperty(c,"__esModule",{value:!0}),c.DomRendererRowFactory=void 0;const m=d(2223),x=d(643),y=d(511),w=d(2585),C=d(8055),_=d(4725),S=d(4269),v=d(6171),b=d(3734);let E=c.DomRendererRowFactory=class{constructor(T,D,L,R,M,V,U){this._document=T,this._characterJoinerService=D,this._optionsService=L,this._coreBrowserService=R,this._coreService=M,this._decorationService=V,this._themeService=U,this._workCell=new y.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(T,D,L){this._selectionStart=T,this._selectionEnd=D,this._columnSelectMode=L}createRow(T,D,L,R,M,V,U,O,H,F,G){const Z=[],q=this._characterJoinerService.getJoinedCharacters(D),z=this._themeService.colors;let I,B=T.getNoBgTrimmedLength();L&&B<V+1&&(B=V+1);let K=0,P="",ee=0,Q=0,te=0,Y=!1,W=0,ne=!1,se=0;const pe=[],ge=F!==-1&&G!==-1;for(let ke=0;ke<B;ke++){T.loadCell(ke,this._workCell);let Be=this._workCell.getWidth();if(Be===0)continue;let Me=!1,$e=ke,je=this._workCell;if(q.length>0&&ke===q[0][0]){Me=!0;const tt=q.shift();je=new S.JoinedCellData(this._workCell,T.translateToString(!0,tt[0],tt[1]),tt[1]-tt[0]),$e=tt[1]-1,Be=je.getWidth()}const nt=this._isCellInSelection(ke,D),Ee=L&&ke===V,ce=ge&&ke>=F&&ke<=G;let oe=!1;this._decorationService.forEachDecorationAtCell(ke,D,void 0,(tt=>{oe=!0}));let De=je.getChars()||x.WHITESPACE_CELL_CHAR;if(De===" "&&(je.isUnderline()||je.isOverline())&&(De=" "),se=Be*O-H.get(De,je.isBold(),je.isItalic()),I){if(K&&(nt&&ne||!nt&&!ne&&je.bg===ee)&&(nt&&ne&&z.selectionForeground||je.fg===Q)&&je.extended.ext===te&&ce===Y&&se===W&&!Ee&&!Me&&!oe){je.isInvisible()?P+=x.WHITESPACE_CELL_CHAR:P+=De,K++;continue}K&&(I.textContent=P),I=this._document.createElement("span"),K=0,P=""}else I=this._document.createElement("span");if(ee=je.bg,Q=je.fg,te=je.extended.ext,Y=ce,W=se,ne=nt,Me&&V>=ke&&V<=$e&&(V=ke),!this._coreService.isCursorHidden&&Ee&&this._coreService.isCursorInitialized){if(pe.push("xterm-cursor"),this._coreBrowserService.isFocused)U&&pe.push("xterm-cursor-blink"),pe.push(R==="bar"?"xterm-cursor-bar":R==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(M)switch(M){case"outline":pe.push("xterm-cursor-outline");break;case"block":pe.push("xterm-cursor-block");break;case"bar":pe.push("xterm-cursor-bar");break;case"underline":pe.push("xterm-cursor-underline")}}if(je.isBold()&&pe.push("xterm-bold"),je.isItalic()&&pe.push("xterm-italic"),je.isDim()&&pe.push("xterm-dim"),P=je.isInvisible()?x.WHITESPACE_CELL_CHAR:je.getChars()||x.WHITESPACE_CELL_CHAR,je.isUnderline()&&(pe.push(`xterm-underline-${je.extended.underlineStyle}`),P===" "&&(P=" "),!je.isUnderlineColorDefault()))if(je.isUnderlineColorRGB())I.style.textDecorationColor=`rgb(${b.AttributeData.toColorRGB(je.getUnderlineColor()).join(",")})`;else{let tt=je.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&je.isBold()&&tt<8&&(tt+=8),I.style.textDecorationColor=z.ansi[tt].css}je.isOverline()&&(pe.push("xterm-overline"),P===" "&&(P=" ")),je.isStrikethrough()&&pe.push("xterm-strikethrough"),ce&&(I.style.textDecoration="underline");let Ze=je.getFgColor(),Ye=je.getFgColorMode(),yt=je.getBgColor(),re=je.getBgColorMode();const xe=!!je.isInverse();if(xe){const tt=Ze;Ze=yt,yt=tt;const vt=Ye;Ye=re,re=vt}let we,ze,Ke,Ge=!1;switch(this._decorationService.forEachDecorationAtCell(ke,D,void 0,(tt=>{tt.options.layer!=="top"&&Ge||(tt.backgroundColorRGB&&(re=50331648,yt=tt.backgroundColorRGB.rgba>>8&16777215,we=tt.backgroundColorRGB),tt.foregroundColorRGB&&(Ye=50331648,Ze=tt.foregroundColorRGB.rgba>>8&16777215,ze=tt.foregroundColorRGB),Ge=tt.options.layer==="top")})),!Ge&&nt&&(we=this._coreBrowserService.isFocused?z.selectionBackgroundOpaque:z.selectionInactiveBackgroundOpaque,yt=we.rgba>>8&16777215,re=50331648,Ge=!0,z.selectionForeground&&(Ye=50331648,Ze=z.selectionForeground.rgba>>8&16777215,ze=z.selectionForeground)),Ge&&pe.push("xterm-decoration-top"),re){case 16777216:case 33554432:Ke=z.ansi[yt],pe.push(`xterm-bg-${yt}`);break;case 50331648:Ke=C.channels.toColor(yt>>16,yt>>8&255,255&yt),this._addStyle(I,`background-color:#${j((yt>>>0).toString(16),"0",6)}`);break;default:xe?(Ke=z.foreground,pe.push(`xterm-bg-${m.INVERTED_DEFAULT_COLOR}`)):Ke=z.background}switch(we||je.isDim()&&(we=C.color.multiplyOpacity(Ke,.5)),Ye){case 16777216:case 33554432:je.isBold()&&Ze<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(Ze+=8),this._applyMinimumContrast(I,Ke,z.ansi[Ze],je,we,void 0)||pe.push(`xterm-fg-${Ze}`);break;case 50331648:const tt=C.channels.toColor(Ze>>16&255,Ze>>8&255,255&Ze);this._applyMinimumContrast(I,Ke,tt,je,we,ze)||this._addStyle(I,`color:#${j(Ze.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(I,Ke,z.foreground,je,we,ze)||xe&&pe.push(`xterm-fg-${m.INVERTED_DEFAULT_COLOR}`)}pe.length&&(I.className=pe.join(" "),pe.length=0),Ee||Me||oe?I.textContent=P:K++,se!==this.defaultSpacing&&(I.style.letterSpacing=`${se}px`),Z.push(I),ke=$e}return I&&K&&(I.textContent=P),Z}_applyMinimumContrast(T,D,L,R,M,V){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,v.treatGlyphAsBackgroundColor)(R.getCode()))return!1;const U=this._getContrastCache(R);let O;if(M||V||(O=U.getColor(D.rgba,L.rgba)),O===void 0){const H=this._optionsService.rawOptions.minimumContrastRatio/(R.isDim()?2:1);O=C.color.ensureContrastRatio(M||D,V||L,H),U.setColor((M||D).rgba,(V||L).rgba,O??null)}return!!O&&(this._addStyle(T,`color:${O.css}`),!0)}_getContrastCache(T){return T.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(T,D){T.setAttribute("style",`${T.getAttribute("style")||""}${D};`)}_isCellInSelection(T,D){const L=this._selectionStart,R=this._selectionEnd;return!(!L||!R)&&(this._columnSelectMode?L[0]<=R[0]?T>=L[0]&&D>=L[1]&&T<R[0]&&D<=R[1]:T<L[0]&&D>=L[1]&&T>=R[0]&&D<=R[1]:D>L[1]&&D<R[1]||L[1]===R[1]&&D===L[1]&&T>=L[0]&&T<R[0]||L[1]<R[1]&&D===R[1]&&T<R[0]||L[1]<R[1]&&D===L[1]&&T>=L[0])}};function j(T,D,L){for(;T.length<L;)T=D+T;return T}c.DomRendererRowFactory=E=f([p(1,_.ICharacterJoinerService),p(2,w.IOptionsService),p(3,_.ICoreBrowserService),p(4,w.ICoreService),p(5,w.IDecorationService),p(6,_.IThemeService)],E)},2550:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.WidthCache=void 0,c.WidthCache=class{constructor(d,f){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=d.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";const p=d.createElement("span");p.classList.add("xterm-char-measure-element");const m=d.createElement("span");m.classList.add("xterm-char-measure-element"),m.style.fontWeight="bold";const x=d.createElement("span");x.classList.add("xterm-char-measure-element"),x.style.fontStyle="italic";const y=d.createElement("span");y.classList.add("xterm-char-measure-element"),y.style.fontWeight="bold",y.style.fontStyle="italic",this._measureElements=[p,m,x,y],this._container.appendChild(p),this._container.appendChild(m),this._container.appendChild(x),this._container.appendChild(y),f.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(d,f,p,m){d===this._font&&f===this._fontSize&&p===this._weight&&m===this._weightBold||(this._font=d,this._fontSize=f,this._weight=p,this._weightBold=m,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${p}`,this._measureElements[1].style.fontWeight=`${m}`,this._measureElements[2].style.fontWeight=`${p}`,this._measureElements[3].style.fontWeight=`${m}`,this.clear())}get(d,f,p){let m=0;if(!f&&!p&&d.length===1&&(m=d.charCodeAt(0))<256){if(this._flat[m]!==-9999)return this._flat[m];const w=this._measure(d,0);return w>0&&(this._flat[m]=w),w}let x=d;f&&(x+="B"),p&&(x+="I");let y=this._holey.get(x);if(y===void 0){let w=0;f&&(w|=1),p&&(w|=2),y=this._measure(d,w),y>0&&this._holey.set(x,y)}return y}_measure(d,f){const p=this._measureElements[f];return p.textContent=d.repeat(32),p.offsetWidth/32}}},2223:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.TEXT_BASELINE=c.DIM_OPACITY=c.INVERTED_DEFAULT_COLOR=void 0;const f=d(6114);c.INVERTED_DEFAULT_COLOR=257,c.DIM_OPACITY=.5,c.TEXT_BASELINE=f.isFirefox||f.isLegacyEdge?"bottom":"ideographic"},6171:(u,c)=>{function d(p){return 57508<=p&&p<=57558}function f(p){return p>=128512&&p<=128591||p>=127744&&p<=128511||p>=128640&&p<=128767||p>=9728&&p<=9983||p>=9984&&p<=10175||p>=65024&&p<=65039||p>=129280&&p<=129535||p>=127462&&p<=127487}Object.defineProperty(c,"__esModule",{value:!0}),c.computeNextVariantOffset=c.createRenderDimensions=c.treatGlyphAsBackgroundColor=c.allowRescaling=c.isEmoji=c.isRestrictedPowerlineGlyph=c.isPowerlineGlyph=c.throwIfFalsy=void 0,c.throwIfFalsy=function(p){if(!p)throw new Error("value must not be falsy");return p},c.isPowerlineGlyph=d,c.isRestrictedPowerlineGlyph=function(p){return 57520<=p&&p<=57527},c.isEmoji=f,c.allowRescaling=function(p,m,x,y){return m===1&&x>Math.ceil(1.5*y)&&p!==void 0&&p>255&&!f(p)&&!d(p)&&!(function(w){return 57344<=w&&w<=63743})(p)},c.treatGlyphAsBackgroundColor=function(p){return d(p)||(function(m){return 9472<=m&&m<=9631})(p)},c.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},c.computeNextVariantOffset=function(p,m,x=0){return(p-(2*Math.round(m)-x))%(2*Math.round(m))}},6052:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.createSelectionRenderModel=void 0;class d{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(p,m,x,y=!1){if(this.selectionStart=m,this.selectionEnd=x,!m||!x||m[0]===x[0]&&m[1]===x[1])return void this.clear();const w=p.buffers.active.ydisp,C=m[1]-w,_=x[1]-w,S=Math.max(C,0),v=Math.min(_,p.rows-1);S>=p.rows||v<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=y,this.viewportStartRow=C,this.viewportEndRow=_,this.viewportCappedStartRow=S,this.viewportCappedEndRow=v,this.startCol=m[0],this.endCol=x[0])}isCellSelected(p,m,x){return!!this.hasSelection&&(x-=p.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?m>=this.startCol&&x>=this.viewportCappedStartRow&&m<this.endCol&&x<=this.viewportCappedEndRow:m<this.startCol&&x>=this.viewportCappedStartRow&&m>=this.endCol&&x<=this.viewportCappedEndRow:x>this.viewportStartRow&&x<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&x===this.viewportStartRow&&m>=this.startCol&&m<this.endCol||this.viewportStartRow<this.viewportEndRow&&x===this.viewportEndRow&&m<this.endCol||this.viewportStartRow<this.viewportEndRow&&x===this.viewportStartRow&&m>=this.startCol)}}c.createSelectionRenderModel=function(){return new d}},456:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.SelectionModel=void 0,c.SelectionModel=class{constructor(d){this._bufferService=d,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const d=this.selectionStart[0]+this.selectionStartLength;return d>this._bufferService.cols?d%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(d/this._bufferService.cols)-1]:[d%this._bufferService.cols,this.selectionStart[1]+Math.floor(d/this._bufferService.cols)]:[d,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const d=this.selectionStart[0]+this.selectionStartLength;return d>this._bufferService.cols?[d%this._bufferService.cols,this.selectionStart[1]+Math.floor(d/this._bufferService.cols)]:[Math.max(d,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const d=this.selectionStart,f=this.selectionEnd;return!(!d||!f)&&(d[1]>f[1]||d[1]===f[1]&&d[0]>f[0])}handleTrim(d){return this.selectionStart&&(this.selectionStart[1]-=d),this.selectionEnd&&(this.selectionEnd[1]-=d),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(u,c,d){var f=this&&this.__decorate||function(v,b,E,j){var T,D=arguments.length,L=D<3?b:j===null?j=Object.getOwnPropertyDescriptor(b,E):j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(v,b,E,j);else for(var R=v.length-1;R>=0;R--)(T=v[R])&&(L=(D<3?T(L):D>3?T(b,E,L):T(b,E))||L);return D>3&&L&&Object.defineProperty(b,E,L),L},p=this&&this.__param||function(v,b){return function(E,j){b(E,j,v)}};Object.defineProperty(c,"__esModule",{value:!0}),c.CharSizeService=void 0;const m=d(2585),x=d(8460),y=d(844);let w=c.CharSizeService=class extends y.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(v,b,E){super(),this._optionsService=E,this.width=0,this.height=0,this._onCharSizeChange=this.register(new x.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new S(this._optionsService))}catch{this._measureStrategy=this.register(new _(v,b,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],(()=>this.measure())))}measure(){const v=this._measureStrategy.measure();v.width===this.width&&v.height===this.height||(this.width=v.width,this.height=v.height,this._onCharSizeChange.fire())}};c.CharSizeService=w=f([p(2,m.IOptionsService)],w);class C extends y.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(b,E){b!==void 0&&b>0&&E!==void 0&&E>0&&(this._result.width=b,this._result.height=E)}}class _ extends C{constructor(b,E,j){super(),this._document=b,this._parentElement=E,this._optionsService=j,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class S extends C{constructor(b){super(),this._optionsService=b,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const E=this._ctx.measureText("W");if(!("width"in E&&"fontBoundingBoxAscent"in E&&"fontBoundingBoxDescent"in E))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const b=this._ctx.measureText("W");return this._validateAndSet(b.width,b.fontBoundingBoxAscent+b.fontBoundingBoxDescent),this._result}}},4269:function(u,c,d){var f=this&&this.__decorate||function(S,v,b,E){var j,T=arguments.length,D=T<3?v:E===null?E=Object.getOwnPropertyDescriptor(v,b):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(S,v,b,E);else for(var L=S.length-1;L>=0;L--)(j=S[L])&&(D=(T<3?j(D):T>3?j(v,b,D):j(v,b))||D);return T>3&&D&&Object.defineProperty(v,b,D),D},p=this&&this.__param||function(S,v){return function(b,E){v(b,E,S)}};Object.defineProperty(c,"__esModule",{value:!0}),c.CharacterJoinerService=c.JoinedCellData=void 0;const m=d(3734),x=d(643),y=d(511),w=d(2585);class C extends m.AttributeData{constructor(v,b,E){super(),this.content=0,this.combinedData="",this.fg=v.fg,this.bg=v.bg,this.combinedData=b,this._width=E}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(v){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}c.JoinedCellData=C;let _=c.CharacterJoinerService=class j1{constructor(v){this._bufferService=v,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new y.CellData}register(v){const b={id:this._nextCharacterJoinerId++,handler:v};return this._characterJoiners.push(b),b.id}deregister(v){for(let b=0;b<this._characterJoiners.length;b++)if(this._characterJoiners[b].id===v)return this._characterJoiners.splice(b,1),!0;return!1}getJoinedCharacters(v){if(this._characterJoiners.length===0)return[];const b=this._bufferService.buffer.lines.get(v);if(!b||b.length===0)return[];const E=[],j=b.translateToString(!0);let T=0,D=0,L=0,R=b.getFg(0),M=b.getBg(0);for(let V=0;V<b.getTrimmedLength();V++)if(b.loadCell(V,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==R||this._workCell.bg!==M){if(V-T>1){const U=this._getJoinedRanges(j,L,D,b,T);for(let O=0;O<U.length;O++)E.push(U[O])}T=V,L=D,R=this._workCell.fg,M=this._workCell.bg}D+=this._workCell.getChars().length||x.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-T>1){const V=this._getJoinedRanges(j,L,D,b,T);for(let U=0;U<V.length;U++)E.push(V[U])}return E}_getJoinedRanges(v,b,E,j,T){const D=v.substring(b,E);let L=[];try{L=this._characterJoiners[0].handler(D)}catch(R){console.error(R)}for(let R=1;R<this._characterJoiners.length;R++)try{const M=this._characterJoiners[R].handler(D);for(let V=0;V<M.length;V++)j1._mergeRanges(L,M[V])}catch(M){console.error(M)}return this._stringRangesToCellRanges(L,j,T),L}_stringRangesToCellRanges(v,b,E){let j=0,T=!1,D=0,L=v[j];if(L){for(let R=E;R<this._bufferService.cols;R++){const M=b.getWidth(R),V=b.getString(R).length||x.WHITESPACE_CELL_CHAR.length;if(M!==0){if(!T&&L[0]<=D&&(L[0]=R,T=!0),L[1]<=D){if(L[1]=R,L=v[++j],!L)break;L[0]<=D?(L[0]=R,T=!0):T=!1}D+=V}}L&&(L[1]=this._bufferService.cols)}}static _mergeRanges(v,b){let E=!1;for(let j=0;j<v.length;j++){const T=v[j];if(E){if(b[1]<=T[0])return v[j-1][1]=b[1],v;if(b[1]<=T[1])return v[j-1][1]=Math.max(b[1],T[1]),v.splice(j,1),v;v.splice(j,1),j--}else{if(b[1]<=T[0])return v.splice(j,0,b),v;if(b[1]<=T[1])return T[0]=Math.min(b[0],T[0]),v;b[0]<T[1]&&(T[0]=Math.min(b[0],T[0]),E=!0)}}return E?v[v.length-1][1]=b[1]:v.push(b),v}};c.CharacterJoinerService=_=f([p(0,w.IBufferService)],_)},5114:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.CoreBrowserService=void 0;const f=d(844),p=d(8460),m=d(3656);class x extends f.Disposable{constructor(C,_,S){super(),this._textarea=C,this._window=_,this.mainDocument=S,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new y(this._window),this._onDprChange=this.register(new p.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new p.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange((v=>this._screenDprMonitor.setWindow(v)))),this.register((0,p.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",(()=>this._isFocused=!0)),this._textarea.addEventListener("blur",(()=>this._isFocused=!1))}get window(){return this._window}set window(C){this._window!==C&&(this._window=C,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask((()=>this._cachedIsFocused=void 0))),this._cachedIsFocused}}c.CoreBrowserService=x;class y extends f.Disposable{constructor(C){super(),this._parentWindow=C,this._windowResizeListener=this.register(new f.MutableDisposable),this._onDprChange=this.register(new p.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,f.toDisposable)((()=>this.clearListener())))}setWindow(C){this._parentWindow=C,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,m.addDisposableDomListener)(this._parentWindow,"resize",(()=>this._setDprAndFireIfDiffers()))}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var C;this._outerListener&&((C=this._resolutionMediaMatchList)==null||C.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},779:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.LinkProviderService=void 0;const f=d(844);class p extends f.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,f.toDisposable)((()=>this.linkProviders.length=0)))}registerLinkProvider(x){return this.linkProviders.push(x),{dispose:()=>{const y=this.linkProviders.indexOf(x);y!==-1&&this.linkProviders.splice(y,1)}}}}c.LinkProviderService=p},8934:function(u,c,d){var f=this&&this.__decorate||function(w,C,_,S){var v,b=arguments.length,E=b<3?C:S===null?S=Object.getOwnPropertyDescriptor(C,_):S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(w,C,_,S);else for(var j=w.length-1;j>=0;j--)(v=w[j])&&(E=(b<3?v(E):b>3?v(C,_,E):v(C,_))||E);return b>3&&E&&Object.defineProperty(C,_,E),E},p=this&&this.__param||function(w,C){return function(_,S){C(_,S,w)}};Object.defineProperty(c,"__esModule",{value:!0}),c.MouseService=void 0;const m=d(4725),x=d(9806);let y=c.MouseService=class{constructor(w,C){this._renderService=w,this._charSizeService=C}getCoords(w,C,_,S,v){return(0,x.getCoords)(window,w,C,_,S,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,v)}getMouseReportCoords(w,C){const _=(0,x.getCoordsRelativeToElement)(window,w,C);if(this._charSizeService.hasValidSize)return _[0]=Math.min(Math.max(_[0],0),this._renderService.dimensions.css.canvas.width-1),_[1]=Math.min(Math.max(_[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(_[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(_[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(_[0]),y:Math.floor(_[1])}}};c.MouseService=y=f([p(0,m.IRenderService),p(1,m.ICharSizeService)],y)},3230:function(u,c,d){var f=this&&this.__decorate||function(v,b,E,j){var T,D=arguments.length,L=D<3?b:j===null?j=Object.getOwnPropertyDescriptor(b,E):j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(v,b,E,j);else for(var R=v.length-1;R>=0;R--)(T=v[R])&&(L=(D<3?T(L):D>3?T(b,E,L):T(b,E))||L);return D>3&&L&&Object.defineProperty(b,E,L),L},p=this&&this.__param||function(v,b){return function(E,j){b(E,j,v)}};Object.defineProperty(c,"__esModule",{value:!0}),c.RenderService=void 0;const m=d(6193),x=d(4725),y=d(8460),w=d(844),C=d(7226),_=d(2585);let S=c.RenderService=class extends w.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(v,b,E,j,T,D,L,R){super(),this._rowCount=v,this._charSizeService=j,this._renderer=this.register(new w.MutableDisposable),this._pausedResizeTask=new C.DebouncedIdleTask,this._observerDisposable=this.register(new w.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this.register(new y.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new y.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new y.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new y.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new m.RenderDebouncer(((M,V)=>this._renderRows(M,V)),L),this.register(this._renderDebouncer),this.register(L.onDprChange((()=>this.handleDevicePixelRatioChange()))),this.register(D.onResize((()=>this._fullRefresh()))),this.register(D.buffers.onBufferActivate((()=>{var M;return(M=this._renderer.value)==null?void 0:M.clear()}))),this.register(E.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this.register(T.onDecorationRegistered((()=>this._fullRefresh()))),this.register(T.onDecorationRemoved((()=>this._fullRefresh()))),this.register(E.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],(()=>{this.clear(),this.handleResize(D.cols,D.rows),this._fullRefresh()}))),this.register(E.onMultipleOptionChange(["cursorBlink","cursorStyle"],(()=>this.refreshRows(D.buffer.y,D.buffer.y,!0)))),this.register(R.onChangeColors((()=>this._fullRefresh()))),this._registerIntersectionObserver(L.window,b),this.register(L.onWindowChange((M=>this._registerIntersectionObserver(M,b))))}_registerIntersectionObserver(v,b){if("IntersectionObserver"in v){const E=new v.IntersectionObserver((j=>this._handleIntersectionChange(j[j.length-1])),{threshold:0});E.observe(b),this._observerDisposable.value=(0,w.toDisposable)((()=>E.disconnect()))}}_handleIntersectionChange(v){this._isPaused=v.isIntersecting===void 0?v.intersectionRatio===0:!v.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(v,b,E=!1){this._isPaused?this._needsFullRefresh=!0:(E||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(v,b,this._rowCount))}_renderRows(v,b){this._renderer.value&&(v=Math.min(v,this._rowCount-1),b=Math.min(b,this._rowCount-1),this._renderer.value.renderRows(v,b),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:v,end:b}),this._onRender.fire({start:v,end:b}),this._isNextRenderRedrawOnly=!0)}resize(v,b){this._rowCount=b,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(v){this._renderer.value=v,this._renderer.value&&(this._renderer.value.onRequestRedraw((b=>this.refreshRows(b.start,b.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(v){return this._renderDebouncer.addRefreshCallback(v)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var v,b;this._renderer.value&&((b=(v=this._renderer.value).clearTextureAtlas)==null||b.call(v),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(v,b){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>{var E;return(E=this._renderer.value)==null?void 0:E.handleResize(v,b)})):this._renderer.value.handleResize(v,b),this._fullRefresh())}handleCharSizeChanged(){var v;(v=this._renderer.value)==null||v.handleCharSizeChanged()}handleBlur(){var v;(v=this._renderer.value)==null||v.handleBlur()}handleFocus(){var v;(v=this._renderer.value)==null||v.handleFocus()}handleSelectionChanged(v,b,E){var j;this._selectionState.start=v,this._selectionState.end=b,this._selectionState.columnSelectMode=E,(j=this._renderer.value)==null||j.handleSelectionChanged(v,b,E)}handleCursorMove(){var v;(v=this._renderer.value)==null||v.handleCursorMove()}clear(){var v;(v=this._renderer.value)==null||v.clear()}};c.RenderService=S=f([p(2,_.IOptionsService),p(3,x.ICharSizeService),p(4,_.IDecorationService),p(5,_.IBufferService),p(6,x.ICoreBrowserService),p(7,x.IThemeService)],S)},9312:function(u,c,d){var f=this&&this.__decorate||function(L,R,M,V){var U,O=arguments.length,H=O<3?R:V===null?V=Object.getOwnPropertyDescriptor(R,M):V;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")H=Reflect.decorate(L,R,M,V);else for(var F=L.length-1;F>=0;F--)(U=L[F])&&(H=(O<3?U(H):O>3?U(R,M,H):U(R,M))||H);return O>3&&H&&Object.defineProperty(R,M,H),H},p=this&&this.__param||function(L,R){return function(M,V){R(M,V,L)}};Object.defineProperty(c,"__esModule",{value:!0}),c.SelectionService=void 0;const m=d(9806),x=d(9504),y=d(456),w=d(4725),C=d(8460),_=d(844),S=d(6114),v=d(4841),b=d(511),E=d(2585),j=" ",T=new RegExp(j,"g");let D=c.SelectionService=class extends _.Disposable{constructor(L,R,M,V,U,O,H,F,G){super(),this._element=L,this._screenElement=R,this._linkifier=M,this._bufferService=V,this._coreService=U,this._mouseService=O,this._optionsService=H,this._renderService=F,this._coreBrowserService=G,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new b.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new C.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new C.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new C.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new C.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=Z=>this._handleMouseMove(Z),this._mouseUpListener=Z=>this._handleMouseUp(Z),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((Z=>this._handleTrim(Z))),this.register(this._bufferService.buffers.onBufferActivate((Z=>this._handleBufferActivate(Z)))),this.enable(),this._model=new y.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,_.toDisposable)((()=>{this._removeMouseDownListeners()})))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const L=this._model.finalSelectionStart,R=this._model.finalSelectionEnd;return!(!L||!R||L[0]===R[0]&&L[1]===R[1])}get selectionText(){const L=this._model.finalSelectionStart,R=this._model.finalSelectionEnd;if(!L||!R)return"";const M=this._bufferService.buffer,V=[];if(this._activeSelectionMode===3){if(L[0]===R[0])return"";const U=L[0]<R[0]?L[0]:R[0],O=L[0]<R[0]?R[0]:L[0];for(let H=L[1];H<=R[1];H++){const F=M.translateBufferLineToString(H,!0,U,O);V.push(F)}}else{const U=L[1]===R[1]?R[0]:void 0;V.push(M.translateBufferLineToString(L[1],!0,L[0],U));for(let O=L[1]+1;O<=R[1]-1;O++){const H=M.lines.get(O),F=M.translateBufferLineToString(O,!0);H!=null&&H.isWrapped?V[V.length-1]+=F:V.push(F)}if(L[1]!==R[1]){const O=M.lines.get(R[1]),H=M.translateBufferLineToString(R[1],!0,0,R[0]);O&&O.isWrapped?V[V.length-1]+=H:V.push(H)}}return V.map((U=>U.replace(T," "))).join(S.isWindows?`\r
|
|
67
|
-
`:`
|
|
68
|
-
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(L){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),S.isLinux&&L&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(L){const R=this._getMouseBufferCoords(L),M=this._model.finalSelectionStart,V=this._model.finalSelectionEnd;return!!(M&&V&&R)&&this._areCoordsInSelection(R,M,V)}isCellInSelection(L,R){const M=this._model.finalSelectionStart,V=this._model.finalSelectionEnd;return!(!M||!V)&&this._areCoordsInSelection([L,R],M,V)}_areCoordsInSelection(L,R,M){return L[1]>R[1]&&L[1]<M[1]||R[1]===M[1]&&L[1]===R[1]&&L[0]>=R[0]&&L[0]<M[0]||R[1]<M[1]&&L[1]===M[1]&&L[0]<M[0]||R[1]<M[1]&&L[1]===R[1]&&L[0]>=R[0]}_selectWordAtCursor(L,R){var U,O;const M=(O=(U=this._linkifier.currentLink)==null?void 0:U.link)==null?void 0:O.range;if(M)return this._model.selectionStart=[M.start.x-1,M.start.y-1],this._model.selectionStartLength=(0,v.getRangeLength)(M,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const V=this._getMouseBufferCoords(L);return!!V&&(this._selectWordAt(V,R),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(L,R){this._model.clearSelection(),L=Math.max(L,0),R=Math.min(R,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,L],this._model.selectionEnd=[this._bufferService.cols,R],this.refresh(),this._onSelectionChange.fire()}_handleTrim(L){this._model.handleTrim(L)&&this.refresh()}_getMouseBufferCoords(L){const R=this._mouseService.getCoords(L,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(R)return R[0]--,R[1]--,R[1]+=this._bufferService.buffer.ydisp,R}_getMouseEventScrollAmount(L){let R=(0,m.getCoordsRelativeToElement)(this._coreBrowserService.window,L,this._screenElement)[1];const M=this._renderService.dimensions.css.canvas.height;return R>=0&&R<=M?0:(R>M&&(R-=M),R=Math.min(Math.max(R,-50),50),R/=50,R/Math.abs(R)+Math.round(14*R))}shouldForceSelection(L){return S.isMac?L.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:L.shiftKey}handleMouseDown(L){if(this._mouseDownTimeStamp=L.timeStamp,(L.button!==2||!this.hasSelection)&&L.button===0){if(!this._enabled){if(!this.shouldForceSelection(L))return;L.stopPropagation()}L.preventDefault(),this._dragScrollAmount=0,this._enabled&&L.shiftKey?this._handleIncrementalClick(L):L.detail===1?this._handleSingleClick(L):L.detail===2?this._handleDoubleClick(L):L.detail===3&&this._handleTripleClick(L),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval((()=>this._dragScroll()),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(L){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(L))}_handleSingleClick(L){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(L)?3:0,this._model.selectionStart=this._getMouseBufferCoords(L),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const R=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);R&&R.length!==this._model.selectionStart[0]&&R.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(L){this._selectWordAtCursor(L,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(L){const R=this._getMouseBufferCoords(L);R&&(this._activeSelectionMode=2,this._selectLineAt(R[1]))}shouldColumnSelect(L){return L.altKey&&!(S.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(L){if(L.stopImmediatePropagation(),!this._model.selectionStart)return;const R=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(L),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(L),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const M=this._bufferService.buffer;if(this._model.selectionEnd[1]<M.lines.length){const V=M.lines.get(this._model.selectionEnd[1]);V&&V.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}R&&R[0]===this._model.selectionEnd[0]&&R[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(this._model.selectionEnd&&this._model.selectionStart&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});const L=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(L.ydisp+this._bufferService.rows,L.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=L.ydisp),this.refresh()}}_handleMouseUp(L){const R=L.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&R<500&&L.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const M=this._mouseService.getCoords(L,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(M&&M[0]!==void 0&&M[1]!==void 0){const V=(0,x.moveToCellSequence)(M[0]-1,M[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(V,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const L=this._model.finalSelectionStart,R=this._model.finalSelectionEnd,M=!(!L||!R||L[0]===R[0]&&L[1]===R[1]);M?L&&R&&(this._oldSelectionStart&&this._oldSelectionEnd&&L[0]===this._oldSelectionStart[0]&&L[1]===this._oldSelectionStart[1]&&R[0]===this._oldSelectionEnd[0]&&R[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(L,R,M)):this._oldHasSelection&&this._fireOnSelectionChange(L,R,M)}_fireOnSelectionChange(L,R,M){this._oldSelectionStart=L,this._oldSelectionEnd=R,this._oldHasSelection=M,this._onSelectionChange.fire()}_handleBufferActivate(L){this.clearSelection(),this._trimListener.dispose(),this._trimListener=L.activeBuffer.lines.onTrim((R=>this._handleTrim(R)))}_convertViewportColToCharacterIndex(L,R){let M=R;for(let V=0;R>=V;V++){const U=L.loadCell(V,this._workCell).getChars().length;this._workCell.getWidth()===0?M--:U>1&&R!==V&&(M+=U-1)}return M}setSelection(L,R,M){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[L,R],this._model.selectionStartLength=M,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(L){this._isClickInSelection(L)||(this._selectWordAtCursor(L,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(L,R,M=!0,V=!0){if(L[0]>=this._bufferService.cols)return;const U=this._bufferService.buffer,O=U.lines.get(L[1]);if(!O)return;const H=U.translateBufferLineToString(L[1],!1);let F=this._convertViewportColToCharacterIndex(O,L[0]),G=F;const Z=L[0]-F;let q=0,z=0,I=0,B=0;if(H.charAt(F)===" "){for(;F>0&&H.charAt(F-1)===" ";)F--;for(;G<H.length&&H.charAt(G+1)===" ";)G++}else{let ee=L[0],Q=L[0];O.getWidth(ee)===0&&(q++,ee--),O.getWidth(Q)===2&&(z++,Q++);const te=O.getString(Q).length;for(te>1&&(B+=te-1,G+=te-1);ee>0&&F>0&&!this._isCharWordSeparator(O.loadCell(ee-1,this._workCell));){O.loadCell(ee-1,this._workCell);const Y=this._workCell.getChars().length;this._workCell.getWidth()===0?(q++,ee--):Y>1&&(I+=Y-1,F-=Y-1),F--,ee--}for(;Q<O.length&&G+1<H.length&&!this._isCharWordSeparator(O.loadCell(Q+1,this._workCell));){O.loadCell(Q+1,this._workCell);const Y=this._workCell.getChars().length;this._workCell.getWidth()===2?(z++,Q++):Y>1&&(B+=Y-1,G+=Y-1),G++,Q++}}G++;let K=F+Z-q+I,P=Math.min(this._bufferService.cols,G-F+q+z-I-B);if(R||H.slice(F,G).trim()!==""){if(M&&K===0&&O.getCodePoint(0)!==32){const ee=U.lines.get(L[1]-1);if(ee&&O.isWrapped&&ee.getCodePoint(this._bufferService.cols-1)!==32){const Q=this._getWordAt([this._bufferService.cols-1,L[1]-1],!1,!0,!1);if(Q){const te=this._bufferService.cols-Q.start;K-=te,P+=te}}}if(V&&K+P===this._bufferService.cols&&O.getCodePoint(this._bufferService.cols-1)!==32){const ee=U.lines.get(L[1]+1);if(ee!=null&&ee.isWrapped&&ee.getCodePoint(0)!==32){const Q=this._getWordAt([0,L[1]+1],!1,!1,!0);Q&&(P+=Q.length)}}return{start:K,length:P}}}_selectWordAt(L,R){const M=this._getWordAt(L,R);if(M){for(;M.start<0;)M.start+=this._bufferService.cols,L[1]--;this._model.selectionStart=[M.start,L[1]],this._model.selectionStartLength=M.length}}_selectToWordAt(L){const R=this._getWordAt(L,!0);if(R){let M=L[1];for(;R.start<0;)R.start+=this._bufferService.cols,M--;if(!this._model.areSelectionValuesReversed())for(;R.start+R.length>this._bufferService.cols;)R.length-=this._bufferService.cols,M++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?R.start:R.start+R.length,M]}}_isCharWordSeparator(L){return L.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(L.getChars())>=0}_selectLineAt(L){const R=this._bufferService.buffer.getWrappedRangeForLine(L),M={start:{x:0,y:R.first},end:{x:this._bufferService.cols-1,y:R.last}};this._model.selectionStart=[0,R.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,v.getRangeLength)(M,this._bufferService.cols)}};c.SelectionService=D=f([p(3,E.IBufferService),p(4,E.ICoreService),p(5,w.IMouseService),p(6,E.IOptionsService),p(7,w.IRenderService),p(8,w.ICoreBrowserService)],D)},4725:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.ILinkProviderService=c.IThemeService=c.ICharacterJoinerService=c.ISelectionService=c.IRenderService=c.IMouseService=c.ICoreBrowserService=c.ICharSizeService=void 0;const f=d(8343);c.ICharSizeService=(0,f.createDecorator)("CharSizeService"),c.ICoreBrowserService=(0,f.createDecorator)("CoreBrowserService"),c.IMouseService=(0,f.createDecorator)("MouseService"),c.IRenderService=(0,f.createDecorator)("RenderService"),c.ISelectionService=(0,f.createDecorator)("SelectionService"),c.ICharacterJoinerService=(0,f.createDecorator)("CharacterJoinerService"),c.IThemeService=(0,f.createDecorator)("ThemeService"),c.ILinkProviderService=(0,f.createDecorator)("LinkProviderService")},6731:function(u,c,d){var f=this&&this.__decorate||function(D,L,R,M){var V,U=arguments.length,O=U<3?L:M===null?M=Object.getOwnPropertyDescriptor(L,R):M;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")O=Reflect.decorate(D,L,R,M);else for(var H=D.length-1;H>=0;H--)(V=D[H])&&(O=(U<3?V(O):U>3?V(L,R,O):V(L,R))||O);return U>3&&O&&Object.defineProperty(L,R,O),O},p=this&&this.__param||function(D,L){return function(R,M){L(R,M,D)}};Object.defineProperty(c,"__esModule",{value:!0}),c.ThemeService=c.DEFAULT_ANSI_COLORS=void 0;const m=d(7239),x=d(8055),y=d(8460),w=d(844),C=d(2585),_=x.css.toColor("#ffffff"),S=x.css.toColor("#000000"),v=x.css.toColor("#ffffff"),b=x.css.toColor("#000000"),E={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};c.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const D=[x.css.toColor("#2e3436"),x.css.toColor("#cc0000"),x.css.toColor("#4e9a06"),x.css.toColor("#c4a000"),x.css.toColor("#3465a4"),x.css.toColor("#75507b"),x.css.toColor("#06989a"),x.css.toColor("#d3d7cf"),x.css.toColor("#555753"),x.css.toColor("#ef2929"),x.css.toColor("#8ae234"),x.css.toColor("#fce94f"),x.css.toColor("#729fcf"),x.css.toColor("#ad7fa8"),x.css.toColor("#34e2e2"),x.css.toColor("#eeeeec")],L=[0,95,135,175,215,255];for(let R=0;R<216;R++){const M=L[R/36%6|0],V=L[R/6%6|0],U=L[R%6];D.push({css:x.channels.toCss(M,V,U),rgba:x.channels.toRgba(M,V,U)})}for(let R=0;R<24;R++){const M=8+10*R;D.push({css:x.channels.toCss(M,M,M),rgba:x.channels.toRgba(M,M,M)})}return D})());let j=c.ThemeService=class extends w.Disposable{get colors(){return this._colors}constructor(D){super(),this._optionsService=D,this._contrastCache=new m.ColorContrastCache,this._halfContrastCache=new m.ColorContrastCache,this._onChangeColors=this.register(new y.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:_,background:S,cursor:v,cursorAccent:b,selectionForeground:void 0,selectionBackgroundTransparent:E,selectionBackgroundOpaque:x.color.blend(S,E),selectionInactiveBackgroundTransparent:E,selectionInactiveBackgroundOpaque:x.color.blend(S,E),ansi:c.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this.register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",(()=>this._contrastCache.clear()))),this.register(this._optionsService.onSpecificOptionChange("theme",(()=>this._setTheme(this._optionsService.rawOptions.theme))))}_setTheme(D={}){const L=this._colors;if(L.foreground=T(D.foreground,_),L.background=T(D.background,S),L.cursor=T(D.cursor,v),L.cursorAccent=T(D.cursorAccent,b),L.selectionBackgroundTransparent=T(D.selectionBackground,E),L.selectionBackgroundOpaque=x.color.blend(L.background,L.selectionBackgroundTransparent),L.selectionInactiveBackgroundTransparent=T(D.selectionInactiveBackground,L.selectionBackgroundTransparent),L.selectionInactiveBackgroundOpaque=x.color.blend(L.background,L.selectionInactiveBackgroundTransparent),L.selectionForeground=D.selectionForeground?T(D.selectionForeground,x.NULL_COLOR):void 0,L.selectionForeground===x.NULL_COLOR&&(L.selectionForeground=void 0),x.color.isOpaque(L.selectionBackgroundTransparent)&&(L.selectionBackgroundTransparent=x.color.opacity(L.selectionBackgroundTransparent,.3)),x.color.isOpaque(L.selectionInactiveBackgroundTransparent)&&(L.selectionInactiveBackgroundTransparent=x.color.opacity(L.selectionInactiveBackgroundTransparent,.3)),L.ansi=c.DEFAULT_ANSI_COLORS.slice(),L.ansi[0]=T(D.black,c.DEFAULT_ANSI_COLORS[0]),L.ansi[1]=T(D.red,c.DEFAULT_ANSI_COLORS[1]),L.ansi[2]=T(D.green,c.DEFAULT_ANSI_COLORS[2]),L.ansi[3]=T(D.yellow,c.DEFAULT_ANSI_COLORS[3]),L.ansi[4]=T(D.blue,c.DEFAULT_ANSI_COLORS[4]),L.ansi[5]=T(D.magenta,c.DEFAULT_ANSI_COLORS[5]),L.ansi[6]=T(D.cyan,c.DEFAULT_ANSI_COLORS[6]),L.ansi[7]=T(D.white,c.DEFAULT_ANSI_COLORS[7]),L.ansi[8]=T(D.brightBlack,c.DEFAULT_ANSI_COLORS[8]),L.ansi[9]=T(D.brightRed,c.DEFAULT_ANSI_COLORS[9]),L.ansi[10]=T(D.brightGreen,c.DEFAULT_ANSI_COLORS[10]),L.ansi[11]=T(D.brightYellow,c.DEFAULT_ANSI_COLORS[11]),L.ansi[12]=T(D.brightBlue,c.DEFAULT_ANSI_COLORS[12]),L.ansi[13]=T(D.brightMagenta,c.DEFAULT_ANSI_COLORS[13]),L.ansi[14]=T(D.brightCyan,c.DEFAULT_ANSI_COLORS[14]),L.ansi[15]=T(D.brightWhite,c.DEFAULT_ANSI_COLORS[15]),D.extendedAnsi){const R=Math.min(L.ansi.length-16,D.extendedAnsi.length);for(let M=0;M<R;M++)L.ansi[M+16]=T(D.extendedAnsi[M],c.DEFAULT_ANSI_COLORS[M+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(D){this._restoreColor(D),this._onChangeColors.fire(this.colors)}_restoreColor(D){if(D!==void 0)switch(D){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[D]=this._restoreColors.ansi[D]}else for(let L=0;L<this._restoreColors.ansi.length;++L)this._colors.ansi[L]=this._restoreColors.ansi[L]}modifyColors(D){D(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function T(D,L){if(D!==void 0)try{return x.css.toColor(D)}catch{}return L}c.ThemeService=j=f([p(0,C.IOptionsService)],j)},6349:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.CircularList=void 0;const f=d(8460),p=d(844);class m extends p.Disposable{constructor(y){super(),this._maxLength=y,this.onDeleteEmitter=this.register(new f.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new f.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new f.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(y){if(this._maxLength===y)return;const w=new Array(y);for(let C=0;C<Math.min(y,this.length);C++)w[C]=this._array[this._getCyclicIndex(C)];this._array=w,this._maxLength=y,this._startIndex=0}get length(){return this._length}set length(y){if(y>this._length)for(let w=this._length;w<y;w++)this._array[w]=void 0;this._length=y}get(y){return this._array[this._getCyclicIndex(y)]}set(y,w){this._array[this._getCyclicIndex(y)]=w}push(y){this._array[this._getCyclicIndex(this._length)]=y,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(y,w,...C){if(w){for(let _=y;_<this._length-w;_++)this._array[this._getCyclicIndex(_)]=this._array[this._getCyclicIndex(_+w)];this._length-=w,this.onDeleteEmitter.fire({index:y,amount:w})}for(let _=this._length-1;_>=y;_--)this._array[this._getCyclicIndex(_+C.length)]=this._array[this._getCyclicIndex(_)];for(let _=0;_<C.length;_++)this._array[this._getCyclicIndex(y+_)]=C[_];if(C.length&&this.onInsertEmitter.fire({index:y,amount:C.length}),this._length+C.length>this._maxLength){const _=this._length+C.length-this._maxLength;this._startIndex+=_,this._length=this._maxLength,this.onTrimEmitter.fire(_)}else this._length+=C.length}trimStart(y){y>this._length&&(y=this._length),this._startIndex+=y,this._length-=y,this.onTrimEmitter.fire(y)}shiftElements(y,w,C){if(!(w<=0)){if(y<0||y>=this._length)throw new Error("start argument out of range");if(y+C<0)throw new Error("Cannot shift elements in list beyond index 0");if(C>0){for(let S=w-1;S>=0;S--)this.set(y+S+C,this.get(y+S));const _=y+w+C-this._length;if(_>0)for(this._length+=_;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let _=0;_<w;_++)this.set(y+_+C,this.get(y+_))}}_getCyclicIndex(y){return(this._startIndex+y)%this._maxLength}}c.CircularList=m},1439:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.clone=void 0,c.clone=function d(f,p=5){if(typeof f!="object")return f;const m=Array.isArray(f)?[]:{};for(const x in f)m[x]=p<=1?f[x]:f[x]&&d(f[x],p-1);return m}},8055:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.contrastRatio=c.toPaddedHex=c.rgba=c.rgb=c.css=c.color=c.channels=c.NULL_COLOR=void 0;let d=0,f=0,p=0,m=0;var x,y,w,C,_;function S(b){const E=b.toString(16);return E.length<2?"0"+E:E}function v(b,E){return b<E?(E+.05)/(b+.05):(b+.05)/(E+.05)}c.NULL_COLOR={css:"#00000000",rgba:0},(function(b){b.toCss=function(E,j,T,D){return D!==void 0?`#${S(E)}${S(j)}${S(T)}${S(D)}`:`#${S(E)}${S(j)}${S(T)}`},b.toRgba=function(E,j,T,D=255){return(E<<24|j<<16|T<<8|D)>>>0},b.toColor=function(E,j,T,D){return{css:b.toCss(E,j,T,D),rgba:b.toRgba(E,j,T,D)}}})(x||(c.channels=x={})),(function(b){function E(j,T){return m=Math.round(255*T),[d,f,p]=_.toChannels(j.rgba),{css:x.toCss(d,f,p,m),rgba:x.toRgba(d,f,p,m)}}b.blend=function(j,T){if(m=(255&T.rgba)/255,m===1)return{css:T.css,rgba:T.rgba};const D=T.rgba>>24&255,L=T.rgba>>16&255,R=T.rgba>>8&255,M=j.rgba>>24&255,V=j.rgba>>16&255,U=j.rgba>>8&255;return d=M+Math.round((D-M)*m),f=V+Math.round((L-V)*m),p=U+Math.round((R-U)*m),{css:x.toCss(d,f,p),rgba:x.toRgba(d,f,p)}},b.isOpaque=function(j){return(255&j.rgba)==255},b.ensureContrastRatio=function(j,T,D){const L=_.ensureContrastRatio(j.rgba,T.rgba,D);if(L)return x.toColor(L>>24&255,L>>16&255,L>>8&255)},b.opaque=function(j){const T=(255|j.rgba)>>>0;return[d,f,p]=_.toChannels(T),{css:x.toCss(d,f,p),rgba:T}},b.opacity=E,b.multiplyOpacity=function(j,T){return m=255&j.rgba,E(j,m*T/255)},b.toColorRGB=function(j){return[j.rgba>>24&255,j.rgba>>16&255,j.rgba>>8&255]}})(y||(c.color=y={})),(function(b){let E,j;try{const T=document.createElement("canvas");T.width=1,T.height=1;const D=T.getContext("2d",{willReadFrequently:!0});D&&(E=D,E.globalCompositeOperation="copy",j=E.createLinearGradient(0,0,1,1))}catch{}b.toColor=function(T){if(T.match(/#[\da-f]{3,8}/i))switch(T.length){case 4:return d=parseInt(T.slice(1,2).repeat(2),16),f=parseInt(T.slice(2,3).repeat(2),16),p=parseInt(T.slice(3,4).repeat(2),16),x.toColor(d,f,p);case 5:return d=parseInt(T.slice(1,2).repeat(2),16),f=parseInt(T.slice(2,3).repeat(2),16),p=parseInt(T.slice(3,4).repeat(2),16),m=parseInt(T.slice(4,5).repeat(2),16),x.toColor(d,f,p,m);case 7:return{css:T,rgba:(parseInt(T.slice(1),16)<<8|255)>>>0};case 9:return{css:T,rgba:parseInt(T.slice(1),16)>>>0}}const D=T.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(D)return d=parseInt(D[1]),f=parseInt(D[2]),p=parseInt(D[3]),m=Math.round(255*(D[5]===void 0?1:parseFloat(D[5]))),x.toColor(d,f,p,m);if(!E||!j)throw new Error("css.toColor: Unsupported css format");if(E.fillStyle=j,E.fillStyle=T,typeof E.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(E.fillRect(0,0,1,1),[d,f,p,m]=E.getImageData(0,0,1,1).data,m!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:x.toRgba(d,f,p,m),css:T}}})(w||(c.css=w={})),(function(b){function E(j,T,D){const L=j/255,R=T/255,M=D/255;return .2126*(L<=.03928?L/12.92:Math.pow((L+.055)/1.055,2.4))+.7152*(R<=.03928?R/12.92:Math.pow((R+.055)/1.055,2.4))+.0722*(M<=.03928?M/12.92:Math.pow((M+.055)/1.055,2.4))}b.relativeLuminance=function(j){return E(j>>16&255,j>>8&255,255&j)},b.relativeLuminance2=E})(C||(c.rgb=C={})),(function(b){function E(T,D,L){const R=T>>24&255,M=T>>16&255,V=T>>8&255;let U=D>>24&255,O=D>>16&255,H=D>>8&255,F=v(C.relativeLuminance2(U,O,H),C.relativeLuminance2(R,M,V));for(;F<L&&(U>0||O>0||H>0);)U-=Math.max(0,Math.ceil(.1*U)),O-=Math.max(0,Math.ceil(.1*O)),H-=Math.max(0,Math.ceil(.1*H)),F=v(C.relativeLuminance2(U,O,H),C.relativeLuminance2(R,M,V));return(U<<24|O<<16|H<<8|255)>>>0}function j(T,D,L){const R=T>>24&255,M=T>>16&255,V=T>>8&255;let U=D>>24&255,O=D>>16&255,H=D>>8&255,F=v(C.relativeLuminance2(U,O,H),C.relativeLuminance2(R,M,V));for(;F<L&&(U<255||O<255||H<255);)U=Math.min(255,U+Math.ceil(.1*(255-U))),O=Math.min(255,O+Math.ceil(.1*(255-O))),H=Math.min(255,H+Math.ceil(.1*(255-H))),F=v(C.relativeLuminance2(U,O,H),C.relativeLuminance2(R,M,V));return(U<<24|O<<16|H<<8|255)>>>0}b.blend=function(T,D){if(m=(255&D)/255,m===1)return D;const L=D>>24&255,R=D>>16&255,M=D>>8&255,V=T>>24&255,U=T>>16&255,O=T>>8&255;return d=V+Math.round((L-V)*m),f=U+Math.round((R-U)*m),p=O+Math.round((M-O)*m),x.toRgba(d,f,p)},b.ensureContrastRatio=function(T,D,L){const R=C.relativeLuminance(T>>8),M=C.relativeLuminance(D>>8);if(v(R,M)<L){if(M<R){const O=E(T,D,L),H=v(R,C.relativeLuminance(O>>8));if(H<L){const F=j(T,D,L);return H>v(R,C.relativeLuminance(F>>8))?O:F}return O}const V=j(T,D,L),U=v(R,C.relativeLuminance(V>>8));if(U<L){const O=E(T,D,L);return U>v(R,C.relativeLuminance(O>>8))?V:O}return V}},b.reduceLuminance=E,b.increaseLuminance=j,b.toChannels=function(T){return[T>>24&255,T>>16&255,T>>8&255,255&T]}})(_||(c.rgba=_={})),c.toPaddedHex=S,c.contrastRatio=v},8969:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.CoreTerminal=void 0;const f=d(844),p=d(2585),m=d(4348),x=d(7866),y=d(744),w=d(7302),C=d(6975),_=d(8460),S=d(1753),v=d(1480),b=d(7994),E=d(9282),j=d(5435),T=d(5981),D=d(2660);let L=!1;class R extends f.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new _.EventEmitter),this._onScroll.event((V=>{var U;(U=this._onScrollApi)==null||U.fire(V.position)}))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(V){for(const U in V)this.optionsService.options[U]=V[U]}constructor(V){super(),this._windowsWrappingHeuristics=this.register(new f.MutableDisposable),this._onBinary=this.register(new _.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new _.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new _.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new _.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new _.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new _.EventEmitter),this._instantiationService=new m.InstantiationService,this.optionsService=this.register(new w.OptionsService(V)),this._instantiationService.setService(p.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(y.BufferService)),this._instantiationService.setService(p.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(x.LogService)),this._instantiationService.setService(p.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(C.CoreService)),this._instantiationService.setService(p.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(S.CoreMouseService)),this._instantiationService.setService(p.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(v.UnicodeService)),this._instantiationService.setService(p.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(b.CharsetService),this._instantiationService.setService(p.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(D.OscLinkService),this._instantiationService.setService(p.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new j.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,_.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,_.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,_.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,_.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom()))),this.register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],(()=>this._handleWindowsPtyOptionChange()))),this.register(this._bufferService.onScroll((U=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll((U=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this.register(new T.WriteBuffer(((U,O)=>this._inputHandler.parse(U,O)))),this.register((0,_.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(V,U){this._writeBuffer.write(V,U)}writeSync(V,U){this._logService.logLevel<=p.LogLevelEnum.WARN&&!L&&(this._logService.warn("writeSync is unreliable and will be removed soon."),L=!0),this._writeBuffer.writeSync(V,U)}input(V,U=!0){this.coreService.triggerDataEvent(V,U)}resize(V,U){isNaN(V)||isNaN(U)||(V=Math.max(V,y.MINIMUM_COLS),U=Math.max(U,y.MINIMUM_ROWS),this._bufferService.resize(V,U))}scroll(V,U=!1){this._bufferService.scroll(V,U)}scrollLines(V,U,O){this._bufferService.scrollLines(V,U,O)}scrollPages(V){this.scrollLines(V*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(V){const U=V-this._bufferService.buffer.ydisp;U!==0&&this.scrollLines(U)}registerEscHandler(V,U){return this._inputHandler.registerEscHandler(V,U)}registerDcsHandler(V,U){return this._inputHandler.registerDcsHandler(V,U)}registerCsiHandler(V,U){return this._inputHandler.registerCsiHandler(V,U)}registerOscHandler(V,U){return this._inputHandler.registerOscHandler(V,U)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let V=!1;const U=this.optionsService.rawOptions.windowsPty;U&&U.buildNumber!==void 0&&U.buildNumber!==void 0?V=U.backend==="conpty"&&U.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(V=!0),V?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const V=[];V.push(this.onLineFeed(E.updateWindowsModeWrappedState.bind(null,this._bufferService))),V.push(this.registerCsiHandler({final:"H"},(()=>((0,E.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,f.toDisposable)((()=>{for(const U of V)U.dispose()}))}}}c.CoreTerminal=R},8460:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.runAndSubscribe=c.forwardEvent=c.EventEmitter=void 0,c.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=d=>(this._listeners.push(d),{dispose:()=>{if(!this._disposed){for(let f=0;f<this._listeners.length;f++)if(this._listeners[f]===d)return void this._listeners.splice(f,1)}}})),this._event}fire(d,f){const p=[];for(let m=0;m<this._listeners.length;m++)p.push(this._listeners[m]);for(let m=0;m<p.length;m++)p[m].call(void 0,d,f)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},c.forwardEvent=function(d,f){return d((p=>f.fire(p)))},c.runAndSubscribe=function(d,f){return f(void 0),d((p=>f(p)))}},5435:function(u,c,d){var f=this&&this.__decorate||function(q,z,I,B){var K,P=arguments.length,ee=P<3?z:B===null?B=Object.getOwnPropertyDescriptor(z,I):B;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ee=Reflect.decorate(q,z,I,B);else for(var Q=q.length-1;Q>=0;Q--)(K=q[Q])&&(ee=(P<3?K(ee):P>3?K(z,I,ee):K(z,I))||ee);return P>3&&ee&&Object.defineProperty(z,I,ee),ee},p=this&&this.__param||function(q,z){return function(I,B){z(I,B,q)}};Object.defineProperty(c,"__esModule",{value:!0}),c.InputHandler=c.WindowsOptionsReportType=void 0;const m=d(2584),x=d(7116),y=d(2015),w=d(844),C=d(482),_=d(8437),S=d(8460),v=d(643),b=d(511),E=d(3734),j=d(2585),T=d(1480),D=d(6242),L=d(6351),R=d(5941),M={"(":0,")":1,"*":2,"+":3,"-":1,".":2},V=131072;function U(q,z){if(q>24)return z.setWinLines||!1;switch(q){case 1:return!!z.restoreWin;case 2:return!!z.minimizeWin;case 3:return!!z.setWinPosition;case 4:return!!z.setWinSizePixels;case 5:return!!z.raiseWin;case 6:return!!z.lowerWin;case 7:return!!z.refreshWin;case 8:return!!z.setWinSizeChars;case 9:return!!z.maximizeWin;case 10:return!!z.fullscreenWin;case 11:return!!z.getWinState;case 13:return!!z.getWinPosition;case 14:return!!z.getWinSizePixels;case 15:return!!z.getScreenSizePixels;case 16:return!!z.getCellSizePixels;case 18:return!!z.getWinSizeChars;case 19:return!!z.getScreenSizeChars;case 20:return!!z.getIconTitle;case 21:return!!z.getWinTitle;case 22:return!!z.pushTitle;case 23:return!!z.popTitle;case 24:return!!z.setWinLines}return!1}var O;(function(q){q[q.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",q[q.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(O||(c.WindowsOptionsReportType=O={}));let H=0;class F extends w.Disposable{getAttrData(){return this._curAttrData}constructor(z,I,B,K,P,ee,Q,te,Y=new y.EscapeSequenceParser){super(),this._bufferService=z,this._charsetService=I,this._coreService=B,this._logService=K,this._optionsService=P,this._oscLinkService=ee,this._coreMouseService=Q,this._unicodeService=te,this._parser=Y,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new C.StringToUtf32,this._utf8Decoder=new C.Utf8ToUtf32,this._workCell=new b.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=_.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=_.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new S.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new S.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new S.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new S.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new S.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new S.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new S.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new S.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new S.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new S.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new S.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new S.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new S.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new G(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((W=>this._activeBuffer=W.activeBuffer))),this._parser.setCsiHandlerFallback(((W,ne)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(W),params:ne.toArray()})})),this._parser.setEscHandlerFallback((W=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(W)})})),this._parser.setExecuteHandlerFallback((W=>{this._logService.debug("Unknown EXECUTE code: ",{code:W})})),this._parser.setOscHandlerFallback(((W,ne,se)=>{this._logService.debug("Unknown OSC code: ",{identifier:W,action:ne,data:se})})),this._parser.setDcsHandlerFallback(((W,ne,se)=>{ne==="HOOK"&&(se=se.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(W),action:ne,payload:se})})),this._parser.setPrintHandler(((W,ne,se)=>this.print(W,ne,se))),this._parser.registerCsiHandler({final:"@"},(W=>this.insertChars(W))),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(W=>this.scrollLeft(W))),this._parser.registerCsiHandler({final:"A"},(W=>this.cursorUp(W))),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(W=>this.scrollRight(W))),this._parser.registerCsiHandler({final:"B"},(W=>this.cursorDown(W))),this._parser.registerCsiHandler({final:"C"},(W=>this.cursorForward(W))),this._parser.registerCsiHandler({final:"D"},(W=>this.cursorBackward(W))),this._parser.registerCsiHandler({final:"E"},(W=>this.cursorNextLine(W))),this._parser.registerCsiHandler({final:"F"},(W=>this.cursorPrecedingLine(W))),this._parser.registerCsiHandler({final:"G"},(W=>this.cursorCharAbsolute(W))),this._parser.registerCsiHandler({final:"H"},(W=>this.cursorPosition(W))),this._parser.registerCsiHandler({final:"I"},(W=>this.cursorForwardTab(W))),this._parser.registerCsiHandler({final:"J"},(W=>this.eraseInDisplay(W,!1))),this._parser.registerCsiHandler({prefix:"?",final:"J"},(W=>this.eraseInDisplay(W,!0))),this._parser.registerCsiHandler({final:"K"},(W=>this.eraseInLine(W,!1))),this._parser.registerCsiHandler({prefix:"?",final:"K"},(W=>this.eraseInLine(W,!0))),this._parser.registerCsiHandler({final:"L"},(W=>this.insertLines(W))),this._parser.registerCsiHandler({final:"M"},(W=>this.deleteLines(W))),this._parser.registerCsiHandler({final:"P"},(W=>this.deleteChars(W))),this._parser.registerCsiHandler({final:"S"},(W=>this.scrollUp(W))),this._parser.registerCsiHandler({final:"T"},(W=>this.scrollDown(W))),this._parser.registerCsiHandler({final:"X"},(W=>this.eraseChars(W))),this._parser.registerCsiHandler({final:"Z"},(W=>this.cursorBackwardTab(W))),this._parser.registerCsiHandler({final:"`"},(W=>this.charPosAbsolute(W))),this._parser.registerCsiHandler({final:"a"},(W=>this.hPositionRelative(W))),this._parser.registerCsiHandler({final:"b"},(W=>this.repeatPrecedingCharacter(W))),this._parser.registerCsiHandler({final:"c"},(W=>this.sendDeviceAttributesPrimary(W))),this._parser.registerCsiHandler({prefix:">",final:"c"},(W=>this.sendDeviceAttributesSecondary(W))),this._parser.registerCsiHandler({final:"d"},(W=>this.linePosAbsolute(W))),this._parser.registerCsiHandler({final:"e"},(W=>this.vPositionRelative(W))),this._parser.registerCsiHandler({final:"f"},(W=>this.hVPosition(W))),this._parser.registerCsiHandler({final:"g"},(W=>this.tabClear(W))),this._parser.registerCsiHandler({final:"h"},(W=>this.setMode(W))),this._parser.registerCsiHandler({prefix:"?",final:"h"},(W=>this.setModePrivate(W))),this._parser.registerCsiHandler({final:"l"},(W=>this.resetMode(W))),this._parser.registerCsiHandler({prefix:"?",final:"l"},(W=>this.resetModePrivate(W))),this._parser.registerCsiHandler({final:"m"},(W=>this.charAttributes(W))),this._parser.registerCsiHandler({final:"n"},(W=>this.deviceStatus(W))),this._parser.registerCsiHandler({prefix:"?",final:"n"},(W=>this.deviceStatusPrivate(W))),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(W=>this.softReset(W))),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(W=>this.setCursorStyle(W))),this._parser.registerCsiHandler({final:"r"},(W=>this.setScrollRegion(W))),this._parser.registerCsiHandler({final:"s"},(W=>this.saveCursor(W))),this._parser.registerCsiHandler({final:"t"},(W=>this.windowOptions(W))),this._parser.registerCsiHandler({final:"u"},(W=>this.restoreCursor(W))),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(W=>this.insertColumns(W))),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(W=>this.deleteColumns(W))),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(W=>this.selectProtected(W))),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(W=>this.requestMode(W,!0))),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(W=>this.requestMode(W,!1))),this._parser.setExecuteHandler(m.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(m.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(m.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(m.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(m.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(m.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(m.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(m.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(m.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(m.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(m.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(m.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new D.OscHandler((W=>(this.setTitle(W),this.setIconName(W),!0)))),this._parser.registerOscHandler(1,new D.OscHandler((W=>this.setIconName(W)))),this._parser.registerOscHandler(2,new D.OscHandler((W=>this.setTitle(W)))),this._parser.registerOscHandler(4,new D.OscHandler((W=>this.setOrReportIndexedColor(W)))),this._parser.registerOscHandler(8,new D.OscHandler((W=>this.setHyperlink(W)))),this._parser.registerOscHandler(10,new D.OscHandler((W=>this.setOrReportFgColor(W)))),this._parser.registerOscHandler(11,new D.OscHandler((W=>this.setOrReportBgColor(W)))),this._parser.registerOscHandler(12,new D.OscHandler((W=>this.setOrReportCursorColor(W)))),this._parser.registerOscHandler(104,new D.OscHandler((W=>this.restoreIndexedColor(W)))),this._parser.registerOscHandler(110,new D.OscHandler((W=>this.restoreFgColor(W)))),this._parser.registerOscHandler(111,new D.OscHandler((W=>this.restoreBgColor(W)))),this._parser.registerOscHandler(112,new D.OscHandler((W=>this.restoreCursorColor(W)))),this._parser.registerEscHandler({final:"7"},(()=>this.saveCursor())),this._parser.registerEscHandler({final:"8"},(()=>this.restoreCursor())),this._parser.registerEscHandler({final:"D"},(()=>this.index())),this._parser.registerEscHandler({final:"E"},(()=>this.nextLine())),this._parser.registerEscHandler({final:"H"},(()=>this.tabSet())),this._parser.registerEscHandler({final:"M"},(()=>this.reverseIndex())),this._parser.registerEscHandler({final:"="},(()=>this.keypadApplicationMode())),this._parser.registerEscHandler({final:">"},(()=>this.keypadNumericMode())),this._parser.registerEscHandler({final:"c"},(()=>this.fullReset())),this._parser.registerEscHandler({final:"n"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:"o"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:"|"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:"}"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:"~"},(()=>this.setgLevel(1))),this._parser.registerEscHandler({intermediates:"%",final:"@"},(()=>this.selectDefaultCharset())),this._parser.registerEscHandler({intermediates:"%",final:"G"},(()=>this.selectDefaultCharset()));for(const W in x.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:W},(()=>this.selectCharset("("+W))),this._parser.registerEscHandler({intermediates:")",final:W},(()=>this.selectCharset(")"+W))),this._parser.registerEscHandler({intermediates:"*",final:W},(()=>this.selectCharset("*"+W))),this._parser.registerEscHandler({intermediates:"+",final:W},(()=>this.selectCharset("+"+W))),this._parser.registerEscHandler({intermediates:"-",final:W},(()=>this.selectCharset("-"+W))),this._parser.registerEscHandler({intermediates:".",final:W},(()=>this.selectCharset("."+W))),this._parser.registerEscHandler({intermediates:"/",final:W},(()=>this.selectCharset("/"+W)));this._parser.registerEscHandler({intermediates:"#",final:"8"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((W=>(this._logService.error("Parsing error: ",W),W))),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new L.DcsHandler(((W,ne)=>this.requestStatusString(W,ne))))}_preserveStack(z,I,B,K){this._parseStack.paused=!0,this._parseStack.cursorStartX=z,this._parseStack.cursorStartY=I,this._parseStack.decodedLength=B,this._parseStack.position=K}_logSlowResolvingAsync(z){this._logService.logLevel<=j.LogLevelEnum.WARN&&Promise.race([z,new Promise(((I,B)=>setTimeout((()=>B("#SLOW_TIMEOUT")),5e3)))]).catch((I=>{if(I!=="#SLOW_TIMEOUT")throw I;console.warn("async parser handler taking longer than 5000 ms")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(z,I){let B,K=this._activeBuffer.x,P=this._activeBuffer.y,ee=0;const Q=this._parseStack.paused;if(Q){if(B=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,I))return this._logSlowResolvingAsync(B),B;K=this._parseStack.cursorStartX,P=this._parseStack.cursorStartY,this._parseStack.paused=!1,z.length>V&&(ee=this._parseStack.position+V)}if(this._logService.logLevel<=j.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof z=="string"?` "${z}"`:` "${Array.prototype.map.call(z,(W=>String.fromCharCode(W))).join("")}"`),typeof z=="string"?z.split("").map((W=>W.charCodeAt(0))):z),this._parseBuffer.length<z.length&&this._parseBuffer.length<V&&(this._parseBuffer=new Uint32Array(Math.min(z.length,V))),Q||this._dirtyRowTracker.clearRange(),z.length>V)for(let W=ee;W<z.length;W+=V){const ne=W+V<z.length?W+V:z.length,se=typeof z=="string"?this._stringDecoder.decode(z.substring(W,ne),this._parseBuffer):this._utf8Decoder.decode(z.subarray(W,ne),this._parseBuffer);if(B=this._parser.parse(this._parseBuffer,se))return this._preserveStack(K,P,se,W),this._logSlowResolvingAsync(B),B}else if(!Q){const W=typeof z=="string"?this._stringDecoder.decode(z,this._parseBuffer):this._utf8Decoder.decode(z,this._parseBuffer);if(B=this._parser.parse(this._parseBuffer,W))return this._preserveStack(K,P,W,0),this._logSlowResolvingAsync(B),B}this._activeBuffer.x===K&&this._activeBuffer.y===P||this._onCursorMove.fire();const te=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),Y=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);Y<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(Y,this._bufferService.rows-1),Math.min(te,this._bufferService.rows-1))}print(z,I,B){let K,P;const ee=this._charsetService.charset,Q=this._optionsService.rawOptions.screenReaderMode,te=this._bufferService.cols,Y=this._coreService.decPrivateModes.wraparound,W=this._coreService.modes.insertMode,ne=this._curAttrData;let se=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&B-I>0&&se.getWidth(this._activeBuffer.x-1)===2&&se.setCellFromCodepoint(this._activeBuffer.x-1,0,1,ne);let pe=this._parser.precedingJoinState;for(let ge=I;ge<B;++ge){if(K=z[ge],K<127&&ee){const $e=ee[String.fromCharCode(K)];$e&&(K=$e.charCodeAt(0))}const ke=this._unicodeService.charProperties(K,pe);P=T.UnicodeService.extractWidth(ke);const Be=T.UnicodeService.extractShouldJoin(ke),Me=Be?T.UnicodeService.extractWidth(pe):0;if(pe=ke,Q&&this._onA11yChar.fire((0,C.stringFromCodePoint)(K)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+P-Me>te){if(Y){const $e=se;let je=this._activeBuffer.x-Me;for(this._activeBuffer.x=Me,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),se=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),Me>0&&se instanceof _.BufferLine&&se.copyCellsFrom($e,je,0,Me,!1);je<te;)$e.setCellFromCodepoint(je++,0,1,ne)}else if(this._activeBuffer.x=te-1,P===2)continue}if(Be&&this._activeBuffer.x){const $e=se.getWidth(this._activeBuffer.x-1)?1:2;se.addCodepointToCell(this._activeBuffer.x-$e,K,P);for(let je=P-Me;--je>=0;)se.setCellFromCodepoint(this._activeBuffer.x++,0,0,ne)}else if(W&&(se.insertCells(this._activeBuffer.x,P-Me,this._activeBuffer.getNullCell(ne)),se.getWidth(te-1)===2&&se.setCellFromCodepoint(te-1,v.NULL_CELL_CODE,v.NULL_CELL_WIDTH,ne)),se.setCellFromCodepoint(this._activeBuffer.x++,K,P,ne),P>0)for(;--P;)se.setCellFromCodepoint(this._activeBuffer.x++,0,0,ne)}this._parser.precedingJoinState=pe,this._activeBuffer.x<te&&B-I>0&&se.getWidth(this._activeBuffer.x)===0&&!se.hasContent(this._activeBuffer.x)&&se.setCellFromCodepoint(this._activeBuffer.x,0,1,ne),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(z,I){return z.final!=="t"||z.prefix||z.intermediates?this._parser.registerCsiHandler(z,I):this._parser.registerCsiHandler(z,(B=>!U(B.params[0],this._optionsService.rawOptions.windowOptions)||I(B)))}registerDcsHandler(z,I){return this._parser.registerDcsHandler(z,new L.DcsHandler(I))}registerEscHandler(z,I){return this._parser.registerEscHandler(z,I)}registerOscHandler(z,I){return this._parser.registerOscHandler(z,new D.OscHandler(I))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var z;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((z=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&z.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const I=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);I.hasWidth(this._activeBuffer.x)&&!I.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const z=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-z),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(z=this._bufferService.cols-1){this._activeBuffer.x=Math.min(z,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(z,I){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=z,this._activeBuffer.y=this._activeBuffer.scrollTop+I):(this._activeBuffer.x=z,this._activeBuffer.y=I),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(z,I){this._restrictCursor(),this._setCursor(this._activeBuffer.x+z,this._activeBuffer.y+I)}cursorUp(z){const I=this._activeBuffer.y-this._activeBuffer.scrollTop;return I>=0?this._moveCursor(0,-Math.min(I,z.params[0]||1)):this._moveCursor(0,-(z.params[0]||1)),!0}cursorDown(z){const I=this._activeBuffer.scrollBottom-this._activeBuffer.y;return I>=0?this._moveCursor(0,Math.min(I,z.params[0]||1)):this._moveCursor(0,z.params[0]||1),!0}cursorForward(z){return this._moveCursor(z.params[0]||1,0),!0}cursorBackward(z){return this._moveCursor(-(z.params[0]||1),0),!0}cursorNextLine(z){return this.cursorDown(z),this._activeBuffer.x=0,!0}cursorPrecedingLine(z){return this.cursorUp(z),this._activeBuffer.x=0,!0}cursorCharAbsolute(z){return this._setCursor((z.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(z){return this._setCursor(z.length>=2?(z.params[1]||1)-1:0,(z.params[0]||1)-1),!0}charPosAbsolute(z){return this._setCursor((z.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(z){return this._moveCursor(z.params[0]||1,0),!0}linePosAbsolute(z){return this._setCursor(this._activeBuffer.x,(z.params[0]||1)-1),!0}vPositionRelative(z){return this._moveCursor(0,z.params[0]||1),!0}hVPosition(z){return this.cursorPosition(z),!0}tabClear(z){const I=z.params[0];return I===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:I===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(z){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let I=z.params[0]||1;for(;I--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(z){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let I=z.params[0]||1;for(;I--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(z){const I=z.params[0];return I===1&&(this._curAttrData.bg|=536870912),I!==2&&I!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(z,I,B,K=!1,P=!1){const ee=this._activeBuffer.lines.get(this._activeBuffer.ybase+z);ee.replaceCells(I,B,this._activeBuffer.getNullCell(this._eraseAttrData()),P),K&&(ee.isWrapped=!1)}_resetBufferLine(z,I=!1){const B=this._activeBuffer.lines.get(this._activeBuffer.ybase+z);B&&(B.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),I),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+z),B.isWrapped=!1)}eraseInDisplay(z,I=!1){let B;switch(this._restrictCursor(this._bufferService.cols),z.params[0]){case 0:for(B=this._activeBuffer.y,this._dirtyRowTracker.markDirty(B),this._eraseInBufferLine(B++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,I);B<this._bufferService.rows;B++)this._resetBufferLine(B,I);this._dirtyRowTracker.markDirty(B);break;case 1:for(B=this._activeBuffer.y,this._dirtyRowTracker.markDirty(B),this._eraseInBufferLine(B,0,this._activeBuffer.x+1,!0,I),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(B+1).isWrapped=!1);B--;)this._resetBufferLine(B,I);this._dirtyRowTracker.markDirty(0);break;case 2:for(B=this._bufferService.rows,this._dirtyRowTracker.markDirty(B-1);B--;)this._resetBufferLine(B,I);this._dirtyRowTracker.markDirty(0);break;case 3:const K=this._activeBuffer.lines.length-this._bufferService.rows;K>0&&(this._activeBuffer.lines.trimStart(K),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-K,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-K,0),this._onScroll.fire(0))}return!0}eraseInLine(z,I=!1){switch(this._restrictCursor(this._bufferService.cols),z.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,I);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,I);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,I)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(z){this._restrictCursor();let I=z.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const B=this._activeBuffer.ybase+this._activeBuffer.y,K=this._bufferService.rows-1-this._activeBuffer.scrollBottom,P=this._bufferService.rows-1+this._activeBuffer.ybase-K+1;for(;I--;)this._activeBuffer.lines.splice(P-1,1),this._activeBuffer.lines.splice(B,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(z){this._restrictCursor();let I=z.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const B=this._activeBuffer.ybase+this._activeBuffer.y;let K;for(K=this._bufferService.rows-1-this._activeBuffer.scrollBottom,K=this._bufferService.rows-1+this._activeBuffer.ybase-K;I--;)this._activeBuffer.lines.splice(B,1),this._activeBuffer.lines.splice(K,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(z){this._restrictCursor();const I=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return I&&(I.insertCells(this._activeBuffer.x,z.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(z){this._restrictCursor();const I=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return I&&(I.deleteCells(this._activeBuffer.x,z.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(z){let I=z.params[0]||1;for(;I--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(z){let I=z.params[0]||1;for(;I--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(_.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(z){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const I=z.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const K=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);K.deleteCells(0,I,this._activeBuffer.getNullCell(this._eraseAttrData())),K.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(z){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const I=z.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const K=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);K.insertCells(0,I,this._activeBuffer.getNullCell(this._eraseAttrData())),K.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(z){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const I=z.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const K=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);K.insertCells(this._activeBuffer.x,I,this._activeBuffer.getNullCell(this._eraseAttrData())),K.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(z){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const I=z.params[0]||1;for(let B=this._activeBuffer.scrollTop;B<=this._activeBuffer.scrollBottom;++B){const K=this._activeBuffer.lines.get(this._activeBuffer.ybase+B);K.deleteCells(this._activeBuffer.x,I,this._activeBuffer.getNullCell(this._eraseAttrData())),K.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(z){this._restrictCursor();const I=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return I&&(I.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(z.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(z){const I=this._parser.precedingJoinState;if(!I)return!0;const B=z.params[0]||1,K=T.UnicodeService.extractWidth(I),P=this._activeBuffer.x-K,ee=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(P),Q=new Uint32Array(ee.length*B);let te=0;for(let W=0;W<ee.length;){const ne=ee.codePointAt(W)||0;Q[te++]=ne,W+=ne>65535?2:1}let Y=te;for(let W=1;W<B;++W)Q.copyWithin(Y,0,te),Y+=te;return this.print(Q,0,Y),!0}sendDeviceAttributesPrimary(z){return z.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(m.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(m.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(z){return z.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(m.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(m.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(z.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(m.C0.ESC+"[>83;40003;0c")),!0}_is(z){return(this._optionsService.rawOptions.termName+"").indexOf(z)===0}setMode(z){for(let I=0;I<z.length;I++)switch(z.params[I]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(z){for(let I=0;I<z.length;I++)switch(z.params[I]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,x.DEFAULT_CHARSET),this._charsetService.setgCharset(1,x.DEFAULT_CHARSET),this._charsetService.setgCharset(2,x.DEFAULT_CHARSET),this._charsetService.setgCharset(3,x.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(z){for(let I=0;I<z.length;I++)switch(z.params[I]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(z){for(let I=0;I<z.length;I++)switch(z.params[I]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),z.params[I]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(z,I){const B=this._coreService.decPrivateModes,{activeProtocol:K,activeEncoding:P}=this._coreMouseService,ee=this._coreService,{buffers:Q,cols:te}=this._bufferService,{active:Y,alt:W}=Q,ne=this._optionsService.rawOptions,se=Be=>Be?1:2,pe=z.params[0];return ge=pe,ke=I?pe===2?4:pe===4?se(ee.modes.insertMode):pe===12?3:pe===20?se(ne.convertEol):0:pe===1?se(B.applicationCursorKeys):pe===3?ne.windowOptions.setWinLines?te===80?2:te===132?1:0:0:pe===6?se(B.origin):pe===7?se(B.wraparound):pe===8?3:pe===9?se(K==="X10"):pe===12?se(ne.cursorBlink):pe===25?se(!ee.isCursorHidden):pe===45?se(B.reverseWraparound):pe===66?se(B.applicationKeypad):pe===67?4:pe===1e3?se(K==="VT200"):pe===1002?se(K==="DRAG"):pe===1003?se(K==="ANY"):pe===1004?se(B.sendFocus):pe===1005?4:pe===1006?se(P==="SGR"):pe===1015?4:pe===1016?se(P==="SGR_PIXELS"):pe===1048?1:pe===47||pe===1047||pe===1049?se(Y===W):pe===2004?se(B.bracketedPasteMode):0,ee.triggerDataEvent(`${m.C0.ESC}[${I?"":"?"}${ge};${ke}$y`),!0;var ge,ke}_updateAttrColor(z,I,B,K,P){return I===2?(z|=50331648,z&=-16777216,z|=E.AttributeData.fromColorRGB([B,K,P])):I===5&&(z&=-50331904,z|=33554432|255&B),z}_extractColor(z,I,B){const K=[0,0,-1,0,0,0];let P=0,ee=0;do{if(K[ee+P]=z.params[I+ee],z.hasSubParams(I+ee)){const Q=z.getSubParams(I+ee);let te=0;do K[1]===5&&(P=1),K[ee+te+1+P]=Q[te];while(++te<Q.length&&te+ee+1+P<K.length);break}if(K[1]===5&&ee+P>=2||K[1]===2&&ee+P>=5)break;K[1]&&(P=1)}while(++ee+I<z.length&&ee+P<K.length);for(let Q=2;Q<K.length;++Q)K[Q]===-1&&(K[Q]=0);switch(K[0]){case 38:B.fg=this._updateAttrColor(B.fg,K[1],K[3],K[4],K[5]);break;case 48:B.bg=this._updateAttrColor(B.bg,K[1],K[3],K[4],K[5]);break;case 58:B.extended=B.extended.clone(),B.extended.underlineColor=this._updateAttrColor(B.extended.underlineColor,K[1],K[3],K[4],K[5])}return ee}_processUnderline(z,I){I.extended=I.extended.clone(),(!~z||z>5)&&(z=1),I.extended.underlineStyle=z,I.fg|=268435456,z===0&&(I.fg&=-268435457),I.updateExtended()}_processSGR0(z){z.fg=_.DEFAULT_ATTR_DATA.fg,z.bg=_.DEFAULT_ATTR_DATA.bg,z.extended=z.extended.clone(),z.extended.underlineStyle=0,z.extended.underlineColor&=-67108864,z.updateExtended()}charAttributes(z){if(z.length===1&&z.params[0]===0)return this._processSGR0(this._curAttrData),!0;const I=z.length;let B;const K=this._curAttrData;for(let P=0;P<I;P++)B=z.params[P],B>=30&&B<=37?(K.fg&=-50331904,K.fg|=16777216|B-30):B>=40&&B<=47?(K.bg&=-50331904,K.bg|=16777216|B-40):B>=90&&B<=97?(K.fg&=-50331904,K.fg|=16777224|B-90):B>=100&&B<=107?(K.bg&=-50331904,K.bg|=16777224|B-100):B===0?this._processSGR0(K):B===1?K.fg|=134217728:B===3?K.bg|=67108864:B===4?(K.fg|=268435456,this._processUnderline(z.hasSubParams(P)?z.getSubParams(P)[0]:1,K)):B===5?K.fg|=536870912:B===7?K.fg|=67108864:B===8?K.fg|=1073741824:B===9?K.fg|=2147483648:B===2?K.bg|=134217728:B===21?this._processUnderline(2,K):B===22?(K.fg&=-134217729,K.bg&=-134217729):B===23?K.bg&=-67108865:B===24?(K.fg&=-268435457,this._processUnderline(0,K)):B===25?K.fg&=-536870913:B===27?K.fg&=-67108865:B===28?K.fg&=-1073741825:B===29?K.fg&=2147483647:B===39?(K.fg&=-67108864,K.fg|=16777215&_.DEFAULT_ATTR_DATA.fg):B===49?(K.bg&=-67108864,K.bg|=16777215&_.DEFAULT_ATTR_DATA.bg):B===38||B===48||B===58?P+=this._extractColor(z,P,K):B===53?K.bg|=1073741824:B===55?K.bg&=-1073741825:B===59?(K.extended=K.extended.clone(),K.extended.underlineColor=-1,K.updateExtended()):B===100?(K.fg&=-67108864,K.fg|=16777215&_.DEFAULT_ATTR_DATA.fg,K.bg&=-67108864,K.bg|=16777215&_.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",B);return!0}deviceStatus(z){switch(z.params[0]){case 5:this._coreService.triggerDataEvent(`${m.C0.ESC}[0n`);break;case 6:const I=this._activeBuffer.y+1,B=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${m.C0.ESC}[${I};${B}R`)}return!0}deviceStatusPrivate(z){if(z.params[0]===6){const I=this._activeBuffer.y+1,B=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${m.C0.ESC}[?${I};${B}R`)}return!0}softReset(z){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=_.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(z){const I=z.params[0]||1;switch(I){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const B=I%2==1;return this._optionsService.options.cursorBlink=B,!0}setScrollRegion(z){const I=z.params[0]||1;let B;return(z.length<2||(B=z.params[1])>this._bufferService.rows||B===0)&&(B=this._bufferService.rows),B>I&&(this._activeBuffer.scrollTop=I-1,this._activeBuffer.scrollBottom=B-1,this._setCursor(0,0)),!0}windowOptions(z){if(!U(z.params[0],this._optionsService.rawOptions.windowOptions))return!0;const I=z.length>1?z.params[1]:0;switch(z.params[0]){case 14:I!==2&&this._onRequestWindowsOptionsReport.fire(O.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(O.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${m.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:I!==0&&I!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),I!==0&&I!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:I!==0&&I!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),I!==0&&I!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(z){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(z){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(z){return this._windowTitle=z,this._onTitleChange.fire(z),!0}setIconName(z){return this._iconName=z,!0}setOrReportIndexedColor(z){const I=[],B=z.split(";");for(;B.length>1;){const K=B.shift(),P=B.shift();if(/^\d+$/.exec(K)){const ee=parseInt(K);if(Z(ee))if(P==="?")I.push({type:0,index:ee});else{const Q=(0,R.parseColor)(P);Q&&I.push({type:1,index:ee,color:Q})}}}return I.length&&this._onColor.fire(I),!0}setHyperlink(z){const I=z.split(";");return!(I.length<2)&&(I[1]?this._createHyperlink(I[0],I[1]):!I[0]&&this._finishHyperlink())}_createHyperlink(z,I){this._getCurrentLinkId()&&this._finishHyperlink();const B=z.split(":");let K;const P=B.findIndex((ee=>ee.startsWith("id=")));return P!==-1&&(K=B[P].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:K,uri:I}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(z,I){const B=z.split(";");for(let K=0;K<B.length&&!(I>=this._specialColors.length);++K,++I)if(B[K]==="?")this._onColor.fire([{type:0,index:this._specialColors[I]}]);else{const P=(0,R.parseColor)(B[K]);P&&this._onColor.fire([{type:1,index:this._specialColors[I],color:P}])}return!0}setOrReportFgColor(z){return this._setOrReportSpecialColor(z,0)}setOrReportBgColor(z){return this._setOrReportSpecialColor(z,1)}setOrReportCursorColor(z){return this._setOrReportSpecialColor(z,2)}restoreIndexedColor(z){if(!z)return this._onColor.fire([{type:2}]),!0;const I=[],B=z.split(";");for(let K=0;K<B.length;++K)if(/^\d+$/.exec(B[K])){const P=parseInt(B[K]);Z(P)&&I.push({type:2,index:P})}return I.length&&this._onColor.fire(I),!0}restoreFgColor(z){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(z){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(z){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,x.DEFAULT_CHARSET),!0}selectCharset(z){return z.length!==2?(this.selectDefaultCharset(),!0):(z[0]==="/"||this._charsetService.setgCharset(M[z[0]],x.CHARSETS[z[1]]||x.DEFAULT_CHARSET),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const z=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,z,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=_.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=_.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(z){return this._charsetService.setgLevel(z),!0}screenAlignmentPattern(){const z=new b.CellData;z.content=4194373,z.fg=this._curAttrData.fg,z.bg=this._curAttrData.bg,this._setCursor(0,0);for(let I=0;I<this._bufferService.rows;++I){const B=this._activeBuffer.ybase+this._activeBuffer.y+I,K=this._activeBuffer.lines.get(B);K&&(K.fill(z),K.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(z,I){const B=this._bufferService.buffer,K=this._optionsService.rawOptions;return(P=>(this._coreService.triggerDataEvent(`${m.C0.ESC}${P}${m.C0.ESC}\\`),!0))(z==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:z==='"p'?'P1$r61;1"p':z==="r"?`P1$r${B.scrollTop+1};${B.scrollBottom+1}r`:z==="m"?"P1$r0m":z===" q"?`P1$r${{block:2,underline:4,bar:6}[K.cursorStyle]-(K.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(z,I){this._dirtyRowTracker.markRangeDirty(z,I)}}c.InputHandler=F;let G=class{constructor(q){this._bufferService=q,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(q){q<this.start?this.start=q:q>this.end&&(this.end=q)}markRangeDirty(q,z){q>z&&(H=q,q=z,z=H),q<this.start&&(this.start=q),z>this.end&&(this.end=z)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function Z(q){return 0<=q&&q<256}G=f([p(0,j.IBufferService)],G)},844:(u,c)=>{function d(f){for(const p of f)p.dispose();f.length=0}Object.defineProperty(c,"__esModule",{value:!0}),c.getDisposeArrayDisposable=c.disposeArray=c.toDisposable=c.MutableDisposable=c.Disposable=void 0,c.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const f of this._disposables)f.dispose();this._disposables.length=0}register(f){return this._disposables.push(f),f}unregister(f){const p=this._disposables.indexOf(f);p!==-1&&this._disposables.splice(p,1)}},c.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(f){var p;this._isDisposed||f===this._value||((p=this._value)==null||p.dispose(),this._value=f)}clear(){this.value=void 0}dispose(){var f;this._isDisposed=!0,(f=this._value)==null||f.dispose(),this._value=void 0}},c.toDisposable=function(f){return{dispose:f}},c.disposeArray=d,c.getDisposeArrayDisposable=function(f){return{dispose:()=>d(f)}}},1505:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.FourKeyMap=c.TwoKeyMap=void 0;class d{constructor(){this._data={}}set(p,m,x){this._data[p]||(this._data[p]={}),this._data[p][m]=x}get(p,m){return this._data[p]?this._data[p][m]:void 0}clear(){this._data={}}}c.TwoKeyMap=d,c.FourKeyMap=class{constructor(){this._data=new d}set(f,p,m,x,y){this._data.get(f,p)||this._data.set(f,p,new d),this._data.get(f,p).set(m,x,y)}get(f,p,m,x){var y;return(y=this._data.get(f,p))==null?void 0:y.get(m,x)}clear(){this._data.clear()}}},6114:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.isChromeOS=c.isLinux=c.isWindows=c.isIphone=c.isIpad=c.isMac=c.getSafariVersion=c.isSafari=c.isLegacyEdge=c.isFirefox=c.isNode=void 0,c.isNode=typeof process<"u"&&"title"in process;const d=c.isNode?"node":navigator.userAgent,f=c.isNode?"node":navigator.platform;c.isFirefox=d.includes("Firefox"),c.isLegacyEdge=d.includes("Edge"),c.isSafari=/^((?!chrome|android).)*safari/i.test(d),c.getSafariVersion=function(){if(!c.isSafari)return 0;const p=d.match(/Version\/(\d+)/);return p===null||p.length<2?0:parseInt(p[1])},c.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(f),c.isIpad=f==="iPad",c.isIphone=f==="iPhone",c.isWindows=["Windows","Win16","Win32","WinCE"].includes(f),c.isLinux=f.indexOf("Linux")>=0,c.isChromeOS=/\bCrOS\b/.test(d)},6106:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.SortedList=void 0;let d=0;c.SortedList=class{constructor(f){this._getKey=f,this._array=[]}clear(){this._array.length=0}insert(f){this._array.length!==0?(d=this._search(this._getKey(f)),this._array.splice(d,0,f)):this._array.push(f)}delete(f){if(this._array.length===0)return!1;const p=this._getKey(f);if(p===void 0||(d=this._search(p),d===-1)||this._getKey(this._array[d])!==p)return!1;do if(this._array[d]===f)return this._array.splice(d,1),!0;while(++d<this._array.length&&this._getKey(this._array[d])===p);return!1}*getKeyIterator(f){if(this._array.length!==0&&(d=this._search(f),!(d<0||d>=this._array.length)&&this._getKey(this._array[d])===f))do yield this._array[d];while(++d<this._array.length&&this._getKey(this._array[d])===f)}forEachByKey(f,p){if(this._array.length!==0&&(d=this._search(f),!(d<0||d>=this._array.length)&&this._getKey(this._array[d])===f))do p(this._array[d]);while(++d<this._array.length&&this._getKey(this._array[d])===f)}values(){return[...this._array].values()}_search(f){let p=0,m=this._array.length-1;for(;m>=p;){let x=p+m>>1;const y=this._getKey(this._array[x]);if(y>f)m=x-1;else{if(!(y<f)){for(;x>0&&this._getKey(this._array[x-1])===f;)x--;return x}p=x+1}}return p}}},7226:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.DebouncedIdleTask=c.IdleTaskQueue=c.PriorityTaskQueue=void 0;const f=d(6114);class p{constructor(){this._tasks=[],this._i=0}enqueue(y){this._tasks.push(y),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(y){this._idleCallback=void 0;let w=0,C=0,_=y.timeRemaining(),S=0;for(;this._i<this._tasks.length;){if(w=Date.now(),this._tasks[this._i]()||this._i++,w=Math.max(1,Date.now()-w),C=Math.max(w,C),S=y.timeRemaining(),1.5*C>S)return _-w<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(_-w))}ms`),void this._start();_=S}this.clear()}}class m extends p{_requestCallback(y){return setTimeout((()=>y(this._createDeadline(16))))}_cancelCallback(y){clearTimeout(y)}_createDeadline(y){const w=Date.now()+y;return{timeRemaining:()=>Math.max(0,w-Date.now())}}}c.PriorityTaskQueue=m,c.IdleTaskQueue=!f.isNode&&"requestIdleCallback"in window?class extends p{_requestCallback(x){return requestIdleCallback(x)}_cancelCallback(x){cancelIdleCallback(x)}}:m,c.DebouncedIdleTask=class{constructor(){this._queue=new c.IdleTaskQueue}set(x){this._queue.clear(),this._queue.enqueue(x)}flush(){this._queue.flush()}}},9282:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.updateWindowsModeWrappedState=void 0;const f=d(643);c.updateWindowsModeWrappedState=function(p){const m=p.buffer.lines.get(p.buffer.ybase+p.buffer.y-1),x=m==null?void 0:m.get(p.cols-1),y=p.buffer.lines.get(p.buffer.ybase+p.buffer.y);y&&x&&(y.isWrapped=x[f.CHAR_DATA_CODE_INDEX]!==f.NULL_CELL_CODE&&x[f.CHAR_DATA_CODE_INDEX]!==f.WHITESPACE_CELL_CODE)}},3734:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.ExtendedAttrs=c.AttributeData=void 0;class d{constructor(){this.fg=0,this.bg=0,this.extended=new f}static toColorRGB(m){return[m>>>16&255,m>>>8&255,255&m]}static fromColorRGB(m){return(255&m[0])<<16|(255&m[1])<<8|255&m[2]}clone(){const m=new d;return m.fg=this.fg,m.bg=this.bg,m.extended=this.extended.clone(),m}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}c.AttributeData=d;class f{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(m){this._ext=m}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(m){this._ext&=-469762049,this._ext|=m<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(m){this._ext&=-67108864,this._ext|=67108863&m}get urlId(){return this._urlId}set urlId(m){this._urlId=m}get underlineVariantOffset(){const m=(3758096384&this._ext)>>29;return m<0?4294967288^m:m}set underlineVariantOffset(m){this._ext&=536870911,this._ext|=m<<29&3758096384}constructor(m=0,x=0){this._ext=0,this._urlId=0,this._ext=m,this._urlId=x}clone(){return new f(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}c.ExtendedAttrs=f},9092:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.Buffer=c.MAX_BUFFER_SIZE=void 0;const f=d(6349),p=d(7226),m=d(3734),x=d(8437),y=d(4634),w=d(511),C=d(643),_=d(4863),S=d(7116);c.MAX_BUFFER_SIZE=4294967295,c.Buffer=class{constructor(v,b,E){this._hasScrollback=v,this._optionsService=b,this._bufferService=E,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=x.DEFAULT_ATTR_DATA.clone(),this.savedCharset=S.DEFAULT_CHARSET,this.markers=[],this._nullCell=w.CellData.fromCharData([0,C.NULL_CELL_CHAR,C.NULL_CELL_WIDTH,C.NULL_CELL_CODE]),this._whitespaceCell=w.CellData.fromCharData([0,C.WHITESPACE_CELL_CHAR,C.WHITESPACE_CELL_WIDTH,C.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new p.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new f.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(v){return v?(this._nullCell.fg=v.fg,this._nullCell.bg=v.bg,this._nullCell.extended=v.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new m.ExtendedAttrs),this._nullCell}getWhitespaceCell(v){return v?(this._whitespaceCell.fg=v.fg,this._whitespaceCell.bg=v.bg,this._whitespaceCell.extended=v.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new m.ExtendedAttrs),this._whitespaceCell}getBlankLine(v,b){return new x.BufferLine(this._bufferService.cols,this.getNullCell(v),b)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const v=this.ybase+this.y-this.ydisp;return v>=0&&v<this._rows}_getCorrectBufferLength(v){if(!this._hasScrollback)return v;const b=v+this._optionsService.rawOptions.scrollback;return b>c.MAX_BUFFER_SIZE?c.MAX_BUFFER_SIZE:b}fillViewportRows(v){if(this.lines.length===0){v===void 0&&(v=x.DEFAULT_ATTR_DATA);let b=this._rows;for(;b--;)this.lines.push(this.getBlankLine(v))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new f.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(v,b){const E=this.getNullCell(x.DEFAULT_ATTR_DATA);let j=0;const T=this._getCorrectBufferLength(b);if(T>this.lines.maxLength&&(this.lines.maxLength=T),this.lines.length>0){if(this._cols<v)for(let L=0;L<this.lines.length;L++)j+=+this.lines.get(L).resize(v,E);let D=0;if(this._rows<b)for(let L=this._rows;L<b;L++)this.lines.length<b+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new x.BufferLine(v,E)):this.ybase>0&&this.lines.length<=this.ybase+this.y+D+1?(this.ybase--,D++,this.ydisp>0&&this.ydisp--):this.lines.push(new x.BufferLine(v,E)));else for(let L=this._rows;L>b;L--)this.lines.length>b+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(T<this.lines.maxLength){const L=this.lines.length-T;L>0&&(this.lines.trimStart(L),this.ybase=Math.max(this.ybase-L,0),this.ydisp=Math.max(this.ydisp-L,0),this.savedY=Math.max(this.savedY-L,0)),this.lines.maxLength=T}this.x=Math.min(this.x,v-1),this.y=Math.min(this.y,b-1),D&&(this.y+=D),this.savedX=Math.min(this.savedX,v-1),this.scrollTop=0}if(this.scrollBottom=b-1,this._isReflowEnabled&&(this._reflow(v,b),this._cols>v))for(let D=0;D<this.lines.length;D++)j+=+this.lines.get(D).resize(v,E);this._cols=v,this._rows=b,this._memoryCleanupQueue.clear(),j>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let v=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,v=!1);let b=0;for(;this._memoryCleanupPosition<this.lines.length;)if(b+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),b>100)return!0;return v}get _isReflowEnabled(){const v=this._optionsService.rawOptions.windowsPty;return v&&v.buildNumber?this._hasScrollback&&v.backend==="conpty"&&v.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(v,b){this._cols!==v&&(v>this._cols?this._reflowLarger(v,b):this._reflowSmaller(v,b))}_reflowLarger(v,b){const E=(0,y.reflowLargerGetLinesToRemove)(this.lines,this._cols,v,this.ybase+this.y,this.getNullCell(x.DEFAULT_ATTR_DATA));if(E.length>0){const j=(0,y.reflowLargerCreateNewLayout)(this.lines,E);(0,y.reflowLargerApplyNewLayout)(this.lines,j.layout),this._reflowLargerAdjustViewport(v,b,j.countRemoved)}}_reflowLargerAdjustViewport(v,b,E){const j=this.getNullCell(x.DEFAULT_ATTR_DATA);let T=E;for(;T-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<b&&this.lines.push(new x.BufferLine(v,j))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-E,0)}_reflowSmaller(v,b){const E=this.getNullCell(x.DEFAULT_ATTR_DATA),j=[];let T=0;for(let D=this.lines.length-1;D>=0;D--){let L=this.lines.get(D);if(!L||!L.isWrapped&&L.getTrimmedLength()<=v)continue;const R=[L];for(;L.isWrapped&&D>0;)L=this.lines.get(--D),R.unshift(L);const M=this.ybase+this.y;if(M>=D&&M<D+R.length)continue;const V=R[R.length-1].getTrimmedLength(),U=(0,y.reflowSmallerGetNewLineLengths)(R,this._cols,v),O=U.length-R.length;let H;H=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+O):Math.max(0,this.lines.length-this.lines.maxLength+O);const F=[];for(let B=0;B<O;B++){const K=this.getBlankLine(x.DEFAULT_ATTR_DATA,!0);F.push(K)}F.length>0&&(j.push({start:D+R.length+T,newLines:F}),T+=F.length),R.push(...F);let G=U.length-1,Z=U[G];Z===0&&(G--,Z=U[G]);let q=R.length-O-1,z=V;for(;q>=0;){const B=Math.min(z,Z);if(R[G]===void 0)break;if(R[G].copyCellsFrom(R[q],z-B,Z-B,B,!0),Z-=B,Z===0&&(G--,Z=U[G]),z-=B,z===0){q--;const K=Math.max(q,0);z=(0,y.getWrappedLineTrimmedLength)(R,K,this._cols)}}for(let B=0;B<R.length;B++)U[B]<v&&R[B].setCell(U[B],E);let I=O-H;for(;I-- >0;)this.ybase===0?this.y<b-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+T)-b&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+O,this.ybase+b-1)}if(j.length>0){const D=[],L=[];for(let G=0;G<this.lines.length;G++)L.push(this.lines.get(G));const R=this.lines.length;let M=R-1,V=0,U=j[V];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+T);let O=0;for(let G=Math.min(this.lines.maxLength-1,R+T-1);G>=0;G--)if(U&&U.start>M+O){for(let Z=U.newLines.length-1;Z>=0;Z--)this.lines.set(G--,U.newLines[Z]);G++,D.push({index:M+1,amount:U.newLines.length}),O+=U.newLines.length,U=j[++V]}else this.lines.set(G,L[M--]);let H=0;for(let G=D.length-1;G>=0;G--)D[G].index+=H,this.lines.onInsertEmitter.fire(D[G]),H+=D[G].amount;const F=Math.max(0,R+T-this.lines.maxLength);F>0&&this.lines.onTrimEmitter.fire(F)}}translateBufferLineToString(v,b,E=0,j){const T=this.lines.get(v);return T?T.translateToString(b,E,j):""}getWrappedRangeForLine(v){let b=v,E=v;for(;b>0&&this.lines.get(b).isWrapped;)b--;for(;E+1<this.lines.length&&this.lines.get(E+1).isWrapped;)E++;return{first:b,last:E}}setupTabStops(v){for(v!=null?this.tabs[v]||(v=this.prevStop(v)):(this.tabs={},v=0);v<this._cols;v+=this._optionsService.rawOptions.tabStopWidth)this.tabs[v]=!0}prevStop(v){for(v==null&&(v=this.x);!this.tabs[--v]&&v>0;);return v>=this._cols?this._cols-1:v<0?0:v}nextStop(v){for(v==null&&(v=this.x);!this.tabs[++v]&&v<this._cols;);return v>=this._cols?this._cols-1:v<0?0:v}clearMarkers(v){this._isClearing=!0;for(let b=0;b<this.markers.length;b++)this.markers[b].line===v&&(this.markers[b].dispose(),this.markers.splice(b--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let v=0;v<this.markers.length;v++)this.markers[v].dispose(),this.markers.splice(v--,1);this._isClearing=!1}addMarker(v){const b=new _.Marker(v);return this.markers.push(b),b.register(this.lines.onTrim((E=>{b.line-=E,b.line<0&&b.dispose()}))),b.register(this.lines.onInsert((E=>{b.line>=E.index&&(b.line+=E.amount)}))),b.register(this.lines.onDelete((E=>{b.line>=E.index&&b.line<E.index+E.amount&&b.dispose(),b.line>E.index&&(b.line-=E.amount)}))),b.register(b.onDispose((()=>this._removeMarker(b)))),b}_removeMarker(v){this._isClearing||this.markers.splice(this.markers.indexOf(v),1)}}},8437:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.BufferLine=c.DEFAULT_ATTR_DATA=void 0;const f=d(3734),p=d(511),m=d(643),x=d(482);c.DEFAULT_ATTR_DATA=Object.freeze(new f.AttributeData);let y=0;class w{constructor(_,S,v=!1){this.isWrapped=v,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*_);const b=S||p.CellData.fromCharData([0,m.NULL_CELL_CHAR,m.NULL_CELL_WIDTH,m.NULL_CELL_CODE]);for(let E=0;E<_;++E)this.setCell(E,b);this.length=_}get(_){const S=this._data[3*_+0],v=2097151&S;return[this._data[3*_+1],2097152&S?this._combined[_]:v?(0,x.stringFromCodePoint)(v):"",S>>22,2097152&S?this._combined[_].charCodeAt(this._combined[_].length-1):v]}set(_,S){this._data[3*_+1]=S[m.CHAR_DATA_ATTR_INDEX],S[m.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[_]=S[1],this._data[3*_+0]=2097152|_|S[m.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*_+0]=S[m.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[m.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(_){return this._data[3*_+0]>>22}hasWidth(_){return 12582912&this._data[3*_+0]}getFg(_){return this._data[3*_+1]}getBg(_){return this._data[3*_+2]}hasContent(_){return 4194303&this._data[3*_+0]}getCodePoint(_){const S=this._data[3*_+0];return 2097152&S?this._combined[_].charCodeAt(this._combined[_].length-1):2097151&S}isCombined(_){return 2097152&this._data[3*_+0]}getString(_){const S=this._data[3*_+0];return 2097152&S?this._combined[_]:2097151&S?(0,x.stringFromCodePoint)(2097151&S):""}isProtected(_){return 536870912&this._data[3*_+2]}loadCell(_,S){return y=3*_,S.content=this._data[y+0],S.fg=this._data[y+1],S.bg=this._data[y+2],2097152&S.content&&(S.combinedData=this._combined[_]),268435456&S.bg&&(S.extended=this._extendedAttrs[_]),S}setCell(_,S){2097152&S.content&&(this._combined[_]=S.combinedData),268435456&S.bg&&(this._extendedAttrs[_]=S.extended),this._data[3*_+0]=S.content,this._data[3*_+1]=S.fg,this._data[3*_+2]=S.bg}setCellFromCodepoint(_,S,v,b){268435456&b.bg&&(this._extendedAttrs[_]=b.extended),this._data[3*_+0]=S|v<<22,this._data[3*_+1]=b.fg,this._data[3*_+2]=b.bg}addCodepointToCell(_,S,v){let b=this._data[3*_+0];2097152&b?this._combined[_]+=(0,x.stringFromCodePoint)(S):2097151&b?(this._combined[_]=(0,x.stringFromCodePoint)(2097151&b)+(0,x.stringFromCodePoint)(S),b&=-2097152,b|=2097152):b=S|4194304,v&&(b&=-12582913,b|=v<<22),this._data[3*_+0]=b}insertCells(_,S,v){if((_%=this.length)&&this.getWidth(_-1)===2&&this.setCellFromCodepoint(_-1,0,1,v),S<this.length-_){const b=new p.CellData;for(let E=this.length-_-S-1;E>=0;--E)this.setCell(_+S+E,this.loadCell(_+E,b));for(let E=0;E<S;++E)this.setCell(_+E,v)}else for(let b=_;b<this.length;++b)this.setCell(b,v);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,v)}deleteCells(_,S,v){if(_%=this.length,S<this.length-_){const b=new p.CellData;for(let E=0;E<this.length-_-S;++E)this.setCell(_+E,this.loadCell(_+S+E,b));for(let E=this.length-S;E<this.length;++E)this.setCell(E,v)}else for(let b=_;b<this.length;++b)this.setCell(b,v);_&&this.getWidth(_-1)===2&&this.setCellFromCodepoint(_-1,0,1,v),this.getWidth(_)!==0||this.hasContent(_)||this.setCellFromCodepoint(_,0,1,v)}replaceCells(_,S,v,b=!1){if(b)for(_&&this.getWidth(_-1)===2&&!this.isProtected(_-1)&&this.setCellFromCodepoint(_-1,0,1,v),S<this.length&&this.getWidth(S-1)===2&&!this.isProtected(S)&&this.setCellFromCodepoint(S,0,1,v);_<S&&_<this.length;)this.isProtected(_)||this.setCell(_,v),_++;else for(_&&this.getWidth(_-1)===2&&this.setCellFromCodepoint(_-1,0,1,v),S<this.length&&this.getWidth(S-1)===2&&this.setCellFromCodepoint(S,0,1,v);_<S&&_<this.length;)this.setCell(_++,v)}resize(_,S){if(_===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const v=3*_;if(_>this.length){if(this._data.buffer.byteLength>=4*v)this._data=new Uint32Array(this._data.buffer,0,v);else{const b=new Uint32Array(v);b.set(this._data),this._data=b}for(let b=this.length;b<_;++b)this.setCell(b,S)}else{this._data=this._data.subarray(0,v);const b=Object.keys(this._combined);for(let j=0;j<b.length;j++){const T=parseInt(b[j],10);T>=_&&delete this._combined[T]}const E=Object.keys(this._extendedAttrs);for(let j=0;j<E.length;j++){const T=parseInt(E[j],10);T>=_&&delete this._extendedAttrs[T]}}return this.length=_,4*v*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const _=new Uint32Array(this._data.length);return _.set(this._data),this._data=_,1}return 0}fill(_,S=!1){if(S)for(let v=0;v<this.length;++v)this.isProtected(v)||this.setCell(v,_);else{this._combined={},this._extendedAttrs={};for(let v=0;v<this.length;++v)this.setCell(v,_)}}copyFrom(_){this.length!==_.length?this._data=new Uint32Array(_._data):this._data.set(_._data),this.length=_.length,this._combined={};for(const S in _._combined)this._combined[S]=_._combined[S];this._extendedAttrs={};for(const S in _._extendedAttrs)this._extendedAttrs[S]=_._extendedAttrs[S];this.isWrapped=_.isWrapped}clone(){const _=new w(0);_._data=new Uint32Array(this._data),_.length=this.length;for(const S in this._combined)_._combined[S]=this._combined[S];for(const S in this._extendedAttrs)_._extendedAttrs[S]=this._extendedAttrs[S];return _.isWrapped=this.isWrapped,_}getTrimmedLength(){for(let _=this.length-1;_>=0;--_)if(4194303&this._data[3*_+0])return _+(this._data[3*_+0]>>22);return 0}getNoBgTrimmedLength(){for(let _=this.length-1;_>=0;--_)if(4194303&this._data[3*_+0]||50331648&this._data[3*_+2])return _+(this._data[3*_+0]>>22);return 0}copyCellsFrom(_,S,v,b,E){const j=_._data;if(E)for(let D=b-1;D>=0;D--){for(let L=0;L<3;L++)this._data[3*(v+D)+L]=j[3*(S+D)+L];268435456&j[3*(S+D)+2]&&(this._extendedAttrs[v+D]=_._extendedAttrs[S+D])}else for(let D=0;D<b;D++){for(let L=0;L<3;L++)this._data[3*(v+D)+L]=j[3*(S+D)+L];268435456&j[3*(S+D)+2]&&(this._extendedAttrs[v+D]=_._extendedAttrs[S+D])}const T=Object.keys(_._combined);for(let D=0;D<T.length;D++){const L=parseInt(T[D],10);L>=S&&(this._combined[L-S+v]=_._combined[L])}}translateToString(_,S,v,b){S=S??0,v=v??this.length,_&&(v=Math.min(v,this.getTrimmedLength())),b&&(b.length=0);let E="";for(;S<v;){const j=this._data[3*S+0],T=2097151&j,D=2097152&j?this._combined[S]:T?(0,x.stringFromCodePoint)(T):m.WHITESPACE_CELL_CHAR;if(E+=D,b)for(let L=0;L<D.length;++L)b.push(S);S+=j>>22||1}return b&&b.push(S),E}}c.BufferLine=w},4841:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.getRangeLength=void 0,c.getRangeLength=function(d,f){if(d.start.y>d.end.y)throw new Error(`Buffer range end (${d.end.x}, ${d.end.y}) cannot be before start (${d.start.x}, ${d.start.y})`);return f*(d.end.y-d.start.y)+(d.end.x-d.start.x+1)}},4634:(u,c)=>{function d(f,p,m){if(p===f.length-1)return f[p].getTrimmedLength();const x=!f[p].hasContent(m-1)&&f[p].getWidth(m-1)===1,y=f[p+1].getWidth(0)===2;return x&&y?m-1:m}Object.defineProperty(c,"__esModule",{value:!0}),c.getWrappedLineTrimmedLength=c.reflowSmallerGetNewLineLengths=c.reflowLargerApplyNewLayout=c.reflowLargerCreateNewLayout=c.reflowLargerGetLinesToRemove=void 0,c.reflowLargerGetLinesToRemove=function(f,p,m,x,y){const w=[];for(let C=0;C<f.length-1;C++){let _=C,S=f.get(++_);if(!S.isWrapped)continue;const v=[f.get(C)];for(;_<f.length&&S.isWrapped;)v.push(S),S=f.get(++_);if(x>=C&&x<_){C+=v.length-1;continue}let b=0,E=d(v,b,p),j=1,T=0;for(;j<v.length;){const L=d(v,j,p),R=L-T,M=m-E,V=Math.min(R,M);v[b].copyCellsFrom(v[j],T,E,V,!1),E+=V,E===m&&(b++,E=0),T+=V,T===L&&(j++,T=0),E===0&&b!==0&&v[b-1].getWidth(m-1)===2&&(v[b].copyCellsFrom(v[b-1],m-1,E++,1,!1),v[b-1].setCell(m-1,y))}v[b].replaceCells(E,m,y);let D=0;for(let L=v.length-1;L>0&&(L>b||v[L].getTrimmedLength()===0);L--)D++;D>0&&(w.push(C+v.length-D),w.push(D)),C+=v.length-1}return w},c.reflowLargerCreateNewLayout=function(f,p){const m=[];let x=0,y=p[x],w=0;for(let C=0;C<f.length;C++)if(y===C){const _=p[++x];f.onDeleteEmitter.fire({index:C-w,amount:_}),C+=_-1,w+=_,y=p[++x]}else m.push(C);return{layout:m,countRemoved:w}},c.reflowLargerApplyNewLayout=function(f,p){const m=[];for(let x=0;x<p.length;x++)m.push(f.get(p[x]));for(let x=0;x<m.length;x++)f.set(x,m[x]);f.length=p.length},c.reflowSmallerGetNewLineLengths=function(f,p,m){const x=[],y=f.map(((S,v)=>d(f,v,p))).reduce(((S,v)=>S+v));let w=0,C=0,_=0;for(;_<y;){if(y-_<m){x.push(y-_);break}w+=m;const S=d(f,C,p);w>S&&(w-=S,C++);const v=f[C].getWidth(w-1)===2;v&&w--;const b=v?m-1:m;x.push(b),_+=b}return x},c.getWrappedLineTrimmedLength=d},5295:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.BufferSet=void 0;const f=d(8460),p=d(844),m=d(9092);class x extends p.Disposable{constructor(w,C){super(),this._optionsService=w,this._bufferService=C,this._onBufferActivate=this.register(new f.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange("scrollback",(()=>this.resize(this._bufferService.cols,this._bufferService.rows)))),this.register(this._optionsService.onSpecificOptionChange("tabStopWidth",(()=>this.setupTabStops())))}reset(){this._normal=new m.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new m.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(w){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(w),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(w,C){this._normal.resize(w,C),this._alt.resize(w,C),this.setupTabStops(w)}setupTabStops(w){this._normal.setupTabStops(w),this._alt.setupTabStops(w)}}c.BufferSet=x},511:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.CellData=void 0;const f=d(482),p=d(643),m=d(3734);class x extends m.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new m.ExtendedAttrs,this.combinedData=""}static fromCharData(w){const C=new x;return C.setFromCharData(w),C}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,f.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(w){this.fg=w[p.CHAR_DATA_ATTR_INDEX],this.bg=0;let C=!1;if(w[p.CHAR_DATA_CHAR_INDEX].length>2)C=!0;else if(w[p.CHAR_DATA_CHAR_INDEX].length===2){const _=w[p.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=_&&_<=56319){const S=w[p.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=S&&S<=57343?this.content=1024*(_-55296)+S-56320+65536|w[p.CHAR_DATA_WIDTH_INDEX]<<22:C=!0}else C=!0}else this.content=w[p.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|w[p.CHAR_DATA_WIDTH_INDEX]<<22;C&&(this.combinedData=w[p.CHAR_DATA_CHAR_INDEX],this.content=2097152|w[p.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}c.CellData=x},643:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.WHITESPACE_CELL_CODE=c.WHITESPACE_CELL_WIDTH=c.WHITESPACE_CELL_CHAR=c.NULL_CELL_CODE=c.NULL_CELL_WIDTH=c.NULL_CELL_CHAR=c.CHAR_DATA_CODE_INDEX=c.CHAR_DATA_WIDTH_INDEX=c.CHAR_DATA_CHAR_INDEX=c.CHAR_DATA_ATTR_INDEX=c.DEFAULT_EXT=c.DEFAULT_ATTR=c.DEFAULT_COLOR=void 0,c.DEFAULT_COLOR=0,c.DEFAULT_ATTR=256|c.DEFAULT_COLOR<<9,c.DEFAULT_EXT=0,c.CHAR_DATA_ATTR_INDEX=0,c.CHAR_DATA_CHAR_INDEX=1,c.CHAR_DATA_WIDTH_INDEX=2,c.CHAR_DATA_CODE_INDEX=3,c.NULL_CELL_CHAR="",c.NULL_CELL_WIDTH=1,c.NULL_CELL_CODE=0,c.WHITESPACE_CELL_CHAR=" ",c.WHITESPACE_CELL_WIDTH=1,c.WHITESPACE_CELL_CODE=32},4863:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.Marker=void 0;const f=d(8460),p=d(844);class m{get id(){return this._id}constructor(y){this.line=y,this.isDisposed=!1,this._disposables=[],this._id=m._nextId++,this._onDispose=this.register(new f.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,p.disposeArray)(this._disposables),this._disposables.length=0)}register(y){return this._disposables.push(y),y}}c.Marker=m,m._nextId=1},7116:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.DEFAULT_CHARSET=c.CHARSETS=void 0,c.CHARSETS={},c.DEFAULT_CHARSET=c.CHARSETS.B,c.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},c.CHARSETS.A={"#":"£"},c.CHARSETS.B=void 0,c.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},c.CHARSETS.C=c.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},c.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},c.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},c.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},c.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},c.CHARSETS.E=c.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},c.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},c.CHARSETS.H=c.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},c.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(u,c)=>{var d,f,p;Object.defineProperty(c,"__esModule",{value:!0}),c.C1_ESCAPED=c.C1=c.C0=void 0,(function(m){m.NUL="\0",m.SOH="",m.STX="",m.ETX="",m.EOT="",m.ENQ="",m.ACK="",m.BEL="\x07",m.BS="\b",m.HT=" ",m.LF=`
|
|
69
|
-
`,m.VT="\v",m.FF="\f",m.CR="\r",m.SO="",m.SI="",m.DLE="",m.DC1="",m.DC2="",m.DC3="",m.DC4="",m.NAK="",m.SYN="",m.ETB="",m.CAN="",m.EM="",m.SUB="",m.ESC="\x1B",m.FS="",m.GS="",m.RS="",m.US="",m.SP=" ",m.DEL=""})(d||(c.C0=d={})),(function(m){m.PAD="",m.HOP="",m.BPH="",m.NBH="",m.IND="",m.NEL="
",m.SSA="",m.ESA="",m.HTS="",m.HTJ="",m.VTS="",m.PLD="",m.PLU="",m.RI="",m.SS2="",m.SS3="",m.DCS="",m.PU1="",m.PU2="",m.STS="",m.CCH="",m.MW="",m.SPA="",m.EPA="",m.SOS="",m.SGCI="",m.SCI="",m.CSI="",m.ST="",m.OSC="",m.PM="",m.APC=""})(f||(c.C1=f={})),(function(m){m.ST=`${d.ESC}\\`})(p||(c.C1_ESCAPED=p={}))},7399:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.evaluateKeyboardEvent=void 0;const f=d(2584),p={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};c.evaluateKeyboardEvent=function(m,x,y,w){const C={type:0,cancel:!1,key:void 0},_=(m.shiftKey?1:0)|(m.altKey?2:0)|(m.ctrlKey?4:0)|(m.metaKey?8:0);switch(m.keyCode){case 0:m.key==="UIKeyInputUpArrow"?C.key=x?f.C0.ESC+"OA":f.C0.ESC+"[A":m.key==="UIKeyInputLeftArrow"?C.key=x?f.C0.ESC+"OD":f.C0.ESC+"[D":m.key==="UIKeyInputRightArrow"?C.key=x?f.C0.ESC+"OC":f.C0.ESC+"[C":m.key==="UIKeyInputDownArrow"&&(C.key=x?f.C0.ESC+"OB":f.C0.ESC+"[B");break;case 8:C.key=m.ctrlKey?"\b":f.C0.DEL,m.altKey&&(C.key=f.C0.ESC+C.key);break;case 9:if(m.shiftKey){C.key=f.C0.ESC+"[Z";break}C.key=f.C0.HT,C.cancel=!0;break;case 13:C.key=m.altKey?f.C0.ESC+f.C0.CR:f.C0.CR,C.cancel=!0;break;case 27:C.key=f.C0.ESC,m.altKey&&(C.key=f.C0.ESC+f.C0.ESC),C.cancel=!0;break;case 37:if(m.metaKey)break;_?(C.key=f.C0.ESC+"[1;"+(_+1)+"D",C.key===f.C0.ESC+"[1;3D"&&(C.key=f.C0.ESC+(y?"b":"[1;5D"))):C.key=x?f.C0.ESC+"OD":f.C0.ESC+"[D";break;case 39:if(m.metaKey)break;_?(C.key=f.C0.ESC+"[1;"+(_+1)+"C",C.key===f.C0.ESC+"[1;3C"&&(C.key=f.C0.ESC+(y?"f":"[1;5C"))):C.key=x?f.C0.ESC+"OC":f.C0.ESC+"[C";break;case 38:if(m.metaKey)break;_?(C.key=f.C0.ESC+"[1;"+(_+1)+"A",y||C.key!==f.C0.ESC+"[1;3A"||(C.key=f.C0.ESC+"[1;5A")):C.key=x?f.C0.ESC+"OA":f.C0.ESC+"[A";break;case 40:if(m.metaKey)break;_?(C.key=f.C0.ESC+"[1;"+(_+1)+"B",y||C.key!==f.C0.ESC+"[1;3B"||(C.key=f.C0.ESC+"[1;5B")):C.key=x?f.C0.ESC+"OB":f.C0.ESC+"[B";break;case 45:m.shiftKey||m.ctrlKey||(C.key=f.C0.ESC+"[2~");break;case 46:C.key=_?f.C0.ESC+"[3;"+(_+1)+"~":f.C0.ESC+"[3~";break;case 36:C.key=_?f.C0.ESC+"[1;"+(_+1)+"H":x?f.C0.ESC+"OH":f.C0.ESC+"[H";break;case 35:C.key=_?f.C0.ESC+"[1;"+(_+1)+"F":x?f.C0.ESC+"OF":f.C0.ESC+"[F";break;case 33:m.shiftKey?C.type=2:m.ctrlKey?C.key=f.C0.ESC+"[5;"+(_+1)+"~":C.key=f.C0.ESC+"[5~";break;case 34:m.shiftKey?C.type=3:m.ctrlKey?C.key=f.C0.ESC+"[6;"+(_+1)+"~":C.key=f.C0.ESC+"[6~";break;case 112:C.key=_?f.C0.ESC+"[1;"+(_+1)+"P":f.C0.ESC+"OP";break;case 113:C.key=_?f.C0.ESC+"[1;"+(_+1)+"Q":f.C0.ESC+"OQ";break;case 114:C.key=_?f.C0.ESC+"[1;"+(_+1)+"R":f.C0.ESC+"OR";break;case 115:C.key=_?f.C0.ESC+"[1;"+(_+1)+"S":f.C0.ESC+"OS";break;case 116:C.key=_?f.C0.ESC+"[15;"+(_+1)+"~":f.C0.ESC+"[15~";break;case 117:C.key=_?f.C0.ESC+"[17;"+(_+1)+"~":f.C0.ESC+"[17~";break;case 118:C.key=_?f.C0.ESC+"[18;"+(_+1)+"~":f.C0.ESC+"[18~";break;case 119:C.key=_?f.C0.ESC+"[19;"+(_+1)+"~":f.C0.ESC+"[19~";break;case 120:C.key=_?f.C0.ESC+"[20;"+(_+1)+"~":f.C0.ESC+"[20~";break;case 121:C.key=_?f.C0.ESC+"[21;"+(_+1)+"~":f.C0.ESC+"[21~";break;case 122:C.key=_?f.C0.ESC+"[23;"+(_+1)+"~":f.C0.ESC+"[23~";break;case 123:C.key=_?f.C0.ESC+"[24;"+(_+1)+"~":f.C0.ESC+"[24~";break;default:if(!m.ctrlKey||m.shiftKey||m.altKey||m.metaKey)if(y&&!w||!m.altKey||m.metaKey)!y||m.altKey||m.ctrlKey||m.shiftKey||!m.metaKey?m.key&&!m.ctrlKey&&!m.altKey&&!m.metaKey&&m.keyCode>=48&&m.key.length===1?C.key=m.key:m.key&&m.ctrlKey&&(m.key==="_"&&(C.key=f.C0.US),m.key==="@"&&(C.key=f.C0.NUL)):m.keyCode===65&&(C.type=1);else{const S=p[m.keyCode],v=S==null?void 0:S[m.shiftKey?1:0];if(v)C.key=f.C0.ESC+v;else if(m.keyCode>=65&&m.keyCode<=90){const b=m.ctrlKey?m.keyCode-64:m.keyCode+32;let E=String.fromCharCode(b);m.shiftKey&&(E=E.toUpperCase()),C.key=f.C0.ESC+E}else if(m.keyCode===32)C.key=f.C0.ESC+(m.ctrlKey?f.C0.NUL:" ");else if(m.key==="Dead"&&m.code.startsWith("Key")){let b=m.code.slice(3,4);m.shiftKey||(b=b.toLowerCase()),C.key=f.C0.ESC+b,C.cancel=!0}}else m.keyCode>=65&&m.keyCode<=90?C.key=String.fromCharCode(m.keyCode-64):m.keyCode===32?C.key=f.C0.NUL:m.keyCode>=51&&m.keyCode<=55?C.key=String.fromCharCode(m.keyCode-51+27):m.keyCode===56?C.key=f.C0.DEL:m.keyCode===219?C.key=f.C0.ESC:m.keyCode===220?C.key=f.C0.FS:m.keyCode===221&&(C.key=f.C0.GS)}return C}},482:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.Utf8ToUtf32=c.StringToUtf32=c.utf32ToString=c.stringFromCodePoint=void 0,c.stringFromCodePoint=function(d){return d>65535?(d-=65536,String.fromCharCode(55296+(d>>10))+String.fromCharCode(d%1024+56320)):String.fromCharCode(d)},c.utf32ToString=function(d,f=0,p=d.length){let m="";for(let x=f;x<p;++x){let y=d[x];y>65535?(y-=65536,m+=String.fromCharCode(55296+(y>>10))+String.fromCharCode(y%1024+56320)):m+=String.fromCharCode(y)}return m},c.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(d,f){const p=d.length;if(!p)return 0;let m=0,x=0;if(this._interim){const y=d.charCodeAt(x++);56320<=y&&y<=57343?f[m++]=1024*(this._interim-55296)+y-56320+65536:(f[m++]=this._interim,f[m++]=y),this._interim=0}for(let y=x;y<p;++y){const w=d.charCodeAt(y);if(55296<=w&&w<=56319){if(++y>=p)return this._interim=w,m;const C=d.charCodeAt(y);56320<=C&&C<=57343?f[m++]=1024*(w-55296)+C-56320+65536:(f[m++]=w,f[m++]=C)}else w!==65279&&(f[m++]=w)}return m}},c.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(d,f){const p=d.length;if(!p)return 0;let m,x,y,w,C=0,_=0,S=0;if(this.interim[0]){let E=!1,j=this.interim[0];j&=(224&j)==192?31:(240&j)==224?15:7;let T,D=0;for(;(T=63&this.interim[++D])&&D<4;)j<<=6,j|=T;const L=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,R=L-D;for(;S<R;){if(S>=p)return 0;if(T=d[S++],(192&T)!=128){S--,E=!0;break}this.interim[D++]=T,j<<=6,j|=63&T}E||(L===2?j<128?S--:f[C++]=j:L===3?j<2048||j>=55296&&j<=57343||j===65279||(f[C++]=j):j<65536||j>1114111||(f[C++]=j)),this.interim.fill(0)}const v=p-4;let b=S;for(;b<p;){for(;!(!(b<v)||128&(m=d[b])||128&(x=d[b+1])||128&(y=d[b+2])||128&(w=d[b+3]));)f[C++]=m,f[C++]=x,f[C++]=y,f[C++]=w,b+=4;if(m=d[b++],m<128)f[C++]=m;else if((224&m)==192){if(b>=p)return this.interim[0]=m,C;if(x=d[b++],(192&x)!=128){b--;continue}if(_=(31&m)<<6|63&x,_<128){b--;continue}f[C++]=_}else if((240&m)==224){if(b>=p)return this.interim[0]=m,C;if(x=d[b++],(192&x)!=128){b--;continue}if(b>=p)return this.interim[0]=m,this.interim[1]=x,C;if(y=d[b++],(192&y)!=128){b--;continue}if(_=(15&m)<<12|(63&x)<<6|63&y,_<2048||_>=55296&&_<=57343||_===65279)continue;f[C++]=_}else if((248&m)==240){if(b>=p)return this.interim[0]=m,C;if(x=d[b++],(192&x)!=128){b--;continue}if(b>=p)return this.interim[0]=m,this.interim[1]=x,C;if(y=d[b++],(192&y)!=128){b--;continue}if(b>=p)return this.interim[0]=m,this.interim[1]=x,this.interim[2]=y,C;if(w=d[b++],(192&w)!=128){b--;continue}if(_=(7&m)<<18|(63&x)<<12|(63&y)<<6|63&w,_<65536||_>1114111)continue;f[C++]=_}}return C}}},225:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.UnicodeV6=void 0;const f=d(1480),p=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],m=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let x;c.UnicodeV6=class{constructor(){if(this.version="6",!x){x=new Uint8Array(65536),x.fill(1),x[0]=0,x.fill(0,1,32),x.fill(0,127,160),x.fill(2,4352,4448),x[9001]=2,x[9002]=2,x.fill(2,11904,42192),x[12351]=1,x.fill(2,44032,55204),x.fill(2,63744,64256),x.fill(2,65040,65050),x.fill(2,65072,65136),x.fill(2,65280,65377),x.fill(2,65504,65511);for(let y=0;y<p.length;++y)x.fill(0,p[y][0],p[y][1]+1)}}wcwidth(y){return y<32?0:y<127?1:y<65536?x[y]:(function(w,C){let _,S=0,v=C.length-1;if(w<C[0][0]||w>C[v][1])return!1;for(;v>=S;)if(_=S+v>>1,w>C[_][1])S=_+1;else{if(!(w<C[_][0]))return!0;v=_-1}return!1})(y,m)?0:y>=131072&&y<=196605||y>=196608&&y<=262141?2:1}charProperties(y,w){let C=this.wcwidth(y),_=C===0&&w!==0;if(_){const S=f.UnicodeService.extractWidth(w);S===0?_=!1:S>C&&(C=S)}return f.UnicodeService.createPropertyValue(0,C,_)}}},5981:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.WriteBuffer=void 0;const f=d(8460),p=d(844);class m extends p.Disposable{constructor(y){super(),this._action=y,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new f.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(y,w){if(w!==void 0&&this._syncCalls>w)return void(this._syncCalls=0);if(this._pendingData+=y.length,this._writeBuffer.push(y),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let C;for(this._isSyncWriting=!0;C=this._writeBuffer.shift();){this._action(C);const _=this._callbacks.shift();_&&_()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(y,w){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=y.length,this._writeBuffer.push(y),this._callbacks.push(w),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=y.length,this._writeBuffer.push(y),this._callbacks.push(w)}_innerWrite(y=0,w=!0){const C=y||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const _=this._writeBuffer[this._bufferOffset],S=this._action(_,w);if(S){const b=E=>Date.now()-C>=12?setTimeout((()=>this._innerWrite(0,E))):this._innerWrite(C,E);return void S.catch((E=>(queueMicrotask((()=>{throw E})),Promise.resolve(!1)))).then(b)}const v=this._callbacks[this._bufferOffset];if(v&&v(),this._bufferOffset++,this._pendingData-=_.length,Date.now()-C>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((()=>this._innerWrite()))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}c.WriteBuffer=m},5941:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.toRgbString=c.parseColor=void 0;const d=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,f=/^[\da-f]+$/;function p(m,x){const y=m.toString(16),w=y.length<2?"0"+y:y;switch(x){case 4:return y[0];case 8:return w;case 12:return(w+w).slice(0,3);default:return w+w}}c.parseColor=function(m){if(!m)return;let x=m.toLowerCase();if(x.indexOf("rgb:")===0){x=x.slice(4);const y=d.exec(x);if(y){const w=y[1]?15:y[4]?255:y[7]?4095:65535;return[Math.round(parseInt(y[1]||y[4]||y[7]||y[10],16)/w*255),Math.round(parseInt(y[2]||y[5]||y[8]||y[11],16)/w*255),Math.round(parseInt(y[3]||y[6]||y[9]||y[12],16)/w*255)]}}else if(x.indexOf("#")===0&&(x=x.slice(1),f.exec(x)&&[3,6,9,12].includes(x.length))){const y=x.length/3,w=[0,0,0];for(let C=0;C<3;++C){const _=parseInt(x.slice(y*C,y*C+y),16);w[C]=y===1?_<<4:y===2?_:y===3?_>>4:_>>8}return w}},c.toRgbString=function(m,x=16){const[y,w,C]=m;return`rgb:${p(y,x)}/${p(w,x)}/${p(C,x)}`}},5770:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.PAYLOAD_LIMIT=void 0,c.PAYLOAD_LIMIT=1e7},6351:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.DcsHandler=c.DcsParser=void 0;const f=d(482),p=d(8742),m=d(5770),x=[];c.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=x,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=x}registerHandler(w,C){this._handlers[w]===void 0&&(this._handlers[w]=[]);const _=this._handlers[w];return _.push(C),{dispose:()=>{const S=_.indexOf(C);S!==-1&&_.splice(S,1)}}}clearHandler(w){this._handlers[w]&&delete this._handlers[w]}setHandlerFallback(w){this._handlerFb=w}reset(){if(this._active.length)for(let w=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;w>=0;--w)this._active[w].unhook(!1);this._stack.paused=!1,this._active=x,this._ident=0}hook(w,C){if(this.reset(),this._ident=w,this._active=this._handlers[w]||x,this._active.length)for(let _=this._active.length-1;_>=0;_--)this._active[_].hook(C);else this._handlerFb(this._ident,"HOOK",C)}put(w,C,_){if(this._active.length)for(let S=this._active.length-1;S>=0;S--)this._active[S].put(w,C,_);else this._handlerFb(this._ident,"PUT",(0,f.utf32ToString)(w,C,_))}unhook(w,C=!0){if(this._active.length){let _=!1,S=this._active.length-1,v=!1;if(this._stack.paused&&(S=this._stack.loopPosition-1,_=C,v=this._stack.fallThrough,this._stack.paused=!1),!v&&_===!1){for(;S>=0&&(_=this._active[S].unhook(w),_!==!0);S--)if(_ instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=S,this._stack.fallThrough=!1,_;S--}for(;S>=0;S--)if(_=this._active[S].unhook(!1),_ instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=S,this._stack.fallThrough=!0,_}else this._handlerFb(this._ident,"UNHOOK",w);this._active=x,this._ident=0}};const y=new p.Params;y.addParam(0),c.DcsHandler=class{constructor(w){this._handler=w,this._data="",this._params=y,this._hitLimit=!1}hook(w){this._params=w.length>1||w.params[0]?w.clone():y,this._data="",this._hitLimit=!1}put(w,C,_){this._hitLimit||(this._data+=(0,f.utf32ToString)(w,C,_),this._data.length>m.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(w){let C=!1;if(this._hitLimit)C=!1;else if(w&&(C=this._handler(this._data,this._params),C instanceof Promise))return C.then((_=>(this._params=y,this._data="",this._hitLimit=!1,_)));return this._params=y,this._data="",this._hitLimit=!1,C}}},2015:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.EscapeSequenceParser=c.VT500_TRANSITION_TABLE=c.TransitionTable=void 0;const f=d(844),p=d(8742),m=d(6242),x=d(6351);class y{constructor(S){this.table=new Uint8Array(S)}setDefault(S,v){this.table.fill(S<<4|v)}add(S,v,b,E){this.table[v<<8|S]=b<<4|E}addMany(S,v,b,E){for(let j=0;j<S.length;j++)this.table[v<<8|S[j]]=b<<4|E}}c.TransitionTable=y;const w=160;c.VT500_TRANSITION_TABLE=(function(){const _=new y(4095),S=Array.apply(null,Array(256)).map(((D,L)=>L)),v=(D,L)=>S.slice(D,L),b=v(32,127),E=v(0,24);E.push(25),E.push.apply(E,v(28,32));const j=v(0,14);let T;for(T in _.setDefault(1,0),_.addMany(b,0,2,0),j)_.addMany([24,26,153,154],T,3,0),_.addMany(v(128,144),T,3,0),_.addMany(v(144,152),T,3,0),_.add(156,T,0,0),_.add(27,T,11,1),_.add(157,T,4,8),_.addMany([152,158,159],T,0,7),_.add(155,T,11,3),_.add(144,T,11,9);return _.addMany(E,0,3,0),_.addMany(E,1,3,1),_.add(127,1,0,1),_.addMany(E,8,0,8),_.addMany(E,3,3,3),_.add(127,3,0,3),_.addMany(E,4,3,4),_.add(127,4,0,4),_.addMany(E,6,3,6),_.addMany(E,5,3,5),_.add(127,5,0,5),_.addMany(E,2,3,2),_.add(127,2,0,2),_.add(93,1,4,8),_.addMany(b,8,5,8),_.add(127,8,5,8),_.addMany([156,27,24,26,7],8,6,0),_.addMany(v(28,32),8,0,8),_.addMany([88,94,95],1,0,7),_.addMany(b,7,0,7),_.addMany(E,7,0,7),_.add(156,7,0,0),_.add(127,7,0,7),_.add(91,1,11,3),_.addMany(v(64,127),3,7,0),_.addMany(v(48,60),3,8,4),_.addMany([60,61,62,63],3,9,4),_.addMany(v(48,60),4,8,4),_.addMany(v(64,127),4,7,0),_.addMany([60,61,62,63],4,0,6),_.addMany(v(32,64),6,0,6),_.add(127,6,0,6),_.addMany(v(64,127),6,0,0),_.addMany(v(32,48),3,9,5),_.addMany(v(32,48),5,9,5),_.addMany(v(48,64),5,0,6),_.addMany(v(64,127),5,7,0),_.addMany(v(32,48),4,9,5),_.addMany(v(32,48),1,9,2),_.addMany(v(32,48),2,9,2),_.addMany(v(48,127),2,10,0),_.addMany(v(48,80),1,10,0),_.addMany(v(81,88),1,10,0),_.addMany([89,90,92],1,10,0),_.addMany(v(96,127),1,10,0),_.add(80,1,11,9),_.addMany(E,9,0,9),_.add(127,9,0,9),_.addMany(v(28,32),9,0,9),_.addMany(v(32,48),9,9,12),_.addMany(v(48,60),9,8,10),_.addMany([60,61,62,63],9,9,10),_.addMany(E,11,0,11),_.addMany(v(32,128),11,0,11),_.addMany(v(28,32),11,0,11),_.addMany(E,10,0,10),_.add(127,10,0,10),_.addMany(v(28,32),10,0,10),_.addMany(v(48,60),10,8,10),_.addMany([60,61,62,63],10,0,11),_.addMany(v(32,48),10,9,12),_.addMany(E,12,0,12),_.add(127,12,0,12),_.addMany(v(28,32),12,0,12),_.addMany(v(32,48),12,9,12),_.addMany(v(48,64),12,0,11),_.addMany(v(64,127),12,12,13),_.addMany(v(64,127),10,12,13),_.addMany(v(64,127),9,12,13),_.addMany(E,13,13,13),_.addMany(b,13,13,13),_.add(127,13,0,13),_.addMany([27,156,24,26],13,14,0),_.add(w,0,2,0),_.add(w,8,5,8),_.add(w,6,0,6),_.add(w,11,0,11),_.add(w,13,13,13),_})();class C extends f.Disposable{constructor(S=c.VT500_TRANSITION_TABLE){super(),this._transitions=S,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new p.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(v,b,E)=>{},this._executeHandlerFb=v=>{},this._csiHandlerFb=(v,b)=>{},this._escHandlerFb=v=>{},this._errorHandlerFb=v=>v,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,f.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this.register(new m.OscParser),this._dcsParser=this.register(new x.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},(()=>!0))}_identifier(S,v=[64,126]){let b=0;if(S.prefix){if(S.prefix.length>1)throw new Error("only one byte as prefix supported");if(b=S.prefix.charCodeAt(0),b&&60>b||b>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(S.intermediates){if(S.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let j=0;j<S.intermediates.length;++j){const T=S.intermediates.charCodeAt(j);if(32>T||T>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");b<<=8,b|=T}}if(S.final.length!==1)throw new Error("final must be a single byte");const E=S.final.charCodeAt(0);if(v[0]>E||E>v[1])throw new Error(`final must be in range ${v[0]} .. ${v[1]}`);return b<<=8,b|=E,b}identToString(S){const v=[];for(;S;)v.push(String.fromCharCode(255&S)),S>>=8;return v.reverse().join("")}setPrintHandler(S){this._printHandler=S}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(S,v){const b=this._identifier(S,[48,126]);this._escHandlers[b]===void 0&&(this._escHandlers[b]=[]);const E=this._escHandlers[b];return E.push(v),{dispose:()=>{const j=E.indexOf(v);j!==-1&&E.splice(j,1)}}}clearEscHandler(S){this._escHandlers[this._identifier(S,[48,126])]&&delete this._escHandlers[this._identifier(S,[48,126])]}setEscHandlerFallback(S){this._escHandlerFb=S}setExecuteHandler(S,v){this._executeHandlers[S.charCodeAt(0)]=v}clearExecuteHandler(S){this._executeHandlers[S.charCodeAt(0)]&&delete this._executeHandlers[S.charCodeAt(0)]}setExecuteHandlerFallback(S){this._executeHandlerFb=S}registerCsiHandler(S,v){const b=this._identifier(S);this._csiHandlers[b]===void 0&&(this._csiHandlers[b]=[]);const E=this._csiHandlers[b];return E.push(v),{dispose:()=>{const j=E.indexOf(v);j!==-1&&E.splice(j,1)}}}clearCsiHandler(S){this._csiHandlers[this._identifier(S)]&&delete this._csiHandlers[this._identifier(S)]}setCsiHandlerFallback(S){this._csiHandlerFb=S}registerDcsHandler(S,v){return this._dcsParser.registerHandler(this._identifier(S),v)}clearDcsHandler(S){this._dcsParser.clearHandler(this._identifier(S))}setDcsHandlerFallback(S){this._dcsParser.setHandlerFallback(S)}registerOscHandler(S,v){return this._oscParser.registerHandler(S,v)}clearOscHandler(S){this._oscParser.clearHandler(S)}setOscHandlerFallback(S){this._oscParser.setHandlerFallback(S)}setErrorHandler(S){this._errorHandler=S}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(S,v,b,E,j){this._parseStack.state=S,this._parseStack.handlers=v,this._parseStack.handlerPos=b,this._parseStack.transition=E,this._parseStack.chunkPos=j}parse(S,v,b){let E,j=0,T=0,D=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,D=this._parseStack.chunkPos+1;else{if(b===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const L=this._parseStack.handlers;let R=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(b===!1&&R>-1){for(;R>=0&&(E=L[R](this._params),E!==!0);R--)if(E instanceof Promise)return this._parseStack.handlerPos=R,E}this._parseStack.handlers=[];break;case 4:if(b===!1&&R>-1){for(;R>=0&&(E=L[R](),E!==!0);R--)if(E instanceof Promise)return this._parseStack.handlerPos=R,E}this._parseStack.handlers=[];break;case 6:if(j=S[this._parseStack.chunkPos],E=this._dcsParser.unhook(j!==24&&j!==26,b),E)return E;j===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(j=S[this._parseStack.chunkPos],E=this._oscParser.end(j!==24&&j!==26,b),E)return E;j===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,D=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let L=D;L<v;++L){switch(j=S[L],T=this._transitions.table[this.currentState<<8|(j<160?j:w)],T>>4){case 2:for(let O=L+1;;++O){if(O>=v||(j=S[O])<32||j>126&&j<w){this._printHandler(S,L,O),L=O-1;break}if(++O>=v||(j=S[O])<32||j>126&&j<w){this._printHandler(S,L,O),L=O-1;break}if(++O>=v||(j=S[O])<32||j>126&&j<w){this._printHandler(S,L,O),L=O-1;break}if(++O>=v||(j=S[O])<32||j>126&&j<w){this._printHandler(S,L,O),L=O-1;break}}break;case 3:this._executeHandlers[j]?this._executeHandlers[j]():this._executeHandlerFb(j),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:L,code:j,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const R=this._csiHandlers[this._collect<<8|j];let M=R?R.length-1:-1;for(;M>=0&&(E=R[M](this._params),E!==!0);M--)if(E instanceof Promise)return this._preserveStack(3,R,M,T,L),E;M<0&&this._csiHandlerFb(this._collect<<8|j,this._params),this.precedingJoinState=0;break;case 8:do switch(j){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(j-48)}while(++L<v&&(j=S[L])>47&&j<60);L--;break;case 9:this._collect<<=8,this._collect|=j;break;case 10:const V=this._escHandlers[this._collect<<8|j];let U=V?V.length-1:-1;for(;U>=0&&(E=V[U](),E!==!0);U--)if(E instanceof Promise)return this._preserveStack(4,V,U,T,L),E;U<0&&this._escHandlerFb(this._collect<<8|j),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|j,this._params);break;case 13:for(let O=L+1;;++O)if(O>=v||(j=S[O])===24||j===26||j===27||j>127&&j<w){this._dcsParser.put(S,L,O),L=O-1;break}break;case 14:if(E=this._dcsParser.unhook(j!==24&&j!==26),E)return this._preserveStack(6,[],0,T,L),E;j===27&&(T|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let O=L+1;;O++)if(O>=v||(j=S[O])<32||j>127&&j<w){this._oscParser.put(S,L,O),L=O-1;break}break;case 6:if(E=this._oscParser.end(j!==24&&j!==26),E)return this._preserveStack(5,[],0,T,L),E;j===27&&(T|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&T}}}c.EscapeSequenceParser=C},6242:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.OscHandler=c.OscParser=void 0;const f=d(5770),p=d(482),m=[];c.OscParser=class{constructor(){this._state=0,this._active=m,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(x,y){this._handlers[x]===void 0&&(this._handlers[x]=[]);const w=this._handlers[x];return w.push(y),{dispose:()=>{const C=w.indexOf(y);C!==-1&&w.splice(C,1)}}}clearHandler(x){this._handlers[x]&&delete this._handlers[x]}setHandlerFallback(x){this._handlerFb=x}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=m}reset(){if(this._state===2)for(let x=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;x>=0;--x)this._active[x].end(!1);this._stack.paused=!1,this._active=m,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||m,this._active.length)for(let x=this._active.length-1;x>=0;x--)this._active[x].start();else this._handlerFb(this._id,"START")}_put(x,y,w){if(this._active.length)for(let C=this._active.length-1;C>=0;C--)this._active[C].put(x,y,w);else this._handlerFb(this._id,"PUT",(0,p.utf32ToString)(x,y,w))}start(){this.reset(),this._state=1}put(x,y,w){if(this._state!==3){if(this._state===1)for(;y<w;){const C=x[y++];if(C===59){this._state=2,this._start();break}if(C<48||57<C)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+C-48}this._state===2&&w-y>0&&this._put(x,y,w)}}end(x,y=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let w=!1,C=this._active.length-1,_=!1;if(this._stack.paused&&(C=this._stack.loopPosition-1,w=y,_=this._stack.fallThrough,this._stack.paused=!1),!_&&w===!1){for(;C>=0&&(w=this._active[C].end(x),w!==!0);C--)if(w instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=C,this._stack.fallThrough=!1,w;C--}for(;C>=0;C--)if(w=this._active[C].end(!1),w instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=C,this._stack.fallThrough=!0,w}else this._handlerFb(this._id,"END",x);this._active=m,this._id=-1,this._state=0}}},c.OscHandler=class{constructor(x){this._handler=x,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(x,y,w){this._hitLimit||(this._data+=(0,p.utf32ToString)(x,y,w),this._data.length>f.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(x){let y=!1;if(this._hitLimit)y=!1;else if(x&&(y=this._handler(this._data),y instanceof Promise))return y.then((w=>(this._data="",this._hitLimit=!1,w)));return this._data="",this._hitLimit=!1,y}}},8742:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.Params=void 0;const d=2147483647;class f{static fromArray(m){const x=new f;if(!m.length)return x;for(let y=Array.isArray(m[0])?1:0;y<m.length;++y){const w=m[y];if(Array.isArray(w))for(let C=0;C<w.length;++C)x.addSubParam(w[C]);else x.addParam(w)}return x}constructor(m=32,x=32){if(this.maxLength=m,this.maxSubParamsLength=x,x>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(m),this.length=0,this._subParams=new Int32Array(x),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(m),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const m=new f(this.maxLength,this.maxSubParamsLength);return m.params.set(this.params),m.length=this.length,m._subParams.set(this._subParams),m._subParamsLength=this._subParamsLength,m._subParamsIdx.set(this._subParamsIdx),m._rejectDigits=this._rejectDigits,m._rejectSubDigits=this._rejectSubDigits,m._digitIsSub=this._digitIsSub,m}toArray(){const m=[];for(let x=0;x<this.length;++x){m.push(this.params[x]);const y=this._subParamsIdx[x]>>8,w=255&this._subParamsIdx[x];w-y>0&&m.push(Array.prototype.slice.call(this._subParams,y,w))}return m}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(m){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(m<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=m>d?d:m}}addSubParam(m){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(m<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=m>d?d:m,this._subParamsIdx[this.length-1]++}}hasSubParams(m){return(255&this._subParamsIdx[m])-(this._subParamsIdx[m]>>8)>0}getSubParams(m){const x=this._subParamsIdx[m]>>8,y=255&this._subParamsIdx[m];return y-x>0?this._subParams.subarray(x,y):null}getSubParamsAll(){const m={};for(let x=0;x<this.length;++x){const y=this._subParamsIdx[x]>>8,w=255&this._subParamsIdx[x];w-y>0&&(m[x]=this._subParams.slice(y,w))}return m}addDigit(m){let x;if(this._rejectDigits||!(x=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const y=this._digitIsSub?this._subParams:this.params,w=y[x-1];y[x-1]=~w?Math.min(10*w+m,d):m}}c.Params=f},5741:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.AddonManager=void 0,c.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let d=this._addons.length-1;d>=0;d--)this._addons[d].instance.dispose()}loadAddon(d,f){const p={instance:f,dispose:f.dispose,isDisposed:!1};this._addons.push(p),f.dispose=()=>this._wrappedAddonDispose(p),f.activate(d)}_wrappedAddonDispose(d){if(d.isDisposed)return;let f=-1;for(let p=0;p<this._addons.length;p++)if(this._addons[p]===d){f=p;break}if(f===-1)throw new Error("Could not dispose an addon that has not been loaded");d.isDisposed=!0,d.dispose.apply(d.instance),this._addons.splice(f,1)}}},8771:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.BufferApiView=void 0;const f=d(3785),p=d(511);c.BufferApiView=class{constructor(m,x){this._buffer=m,this.type=x}init(m){return this._buffer=m,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(m){const x=this._buffer.lines.get(m);if(x)return new f.BufferLineApiView(x)}getNullCell(){return new p.CellData}}},3785:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.BufferLineApiView=void 0;const f=d(511);c.BufferLineApiView=class{constructor(p){this._line=p}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(p,m){if(!(p<0||p>=this._line.length))return m?(this._line.loadCell(p,m),m):this._line.loadCell(p,new f.CellData)}translateToString(p,m,x){return this._line.translateToString(p,m,x)}}},8285:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.BufferNamespaceApi=void 0;const f=d(8771),p=d(8460),m=d(844);class x extends m.Disposable{constructor(w){super(),this._core=w,this._onBufferChange=this.register(new p.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new f.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new f.BufferApiView(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate((()=>this._onBufferChange.fire(this.active)))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}c.BufferNamespaceApi=x},7975:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.ParserApi=void 0,c.ParserApi=class{constructor(d){this._core=d}registerCsiHandler(d,f){return this._core.registerCsiHandler(d,(p=>f(p.toArray())))}addCsiHandler(d,f){return this.registerCsiHandler(d,f)}registerDcsHandler(d,f){return this._core.registerDcsHandler(d,((p,m)=>f(p,m.toArray())))}addDcsHandler(d,f){return this.registerDcsHandler(d,f)}registerEscHandler(d,f){return this._core.registerEscHandler(d,f)}addEscHandler(d,f){return this.registerEscHandler(d,f)}registerOscHandler(d,f){return this._core.registerOscHandler(d,f)}addOscHandler(d,f){return this.registerOscHandler(d,f)}}},7090:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.UnicodeApi=void 0,c.UnicodeApi=class{constructor(d){this._core=d}register(d){this._core.unicodeService.register(d)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(d){this._core.unicodeService.activeVersion=d}}},744:function(u,c,d){var f=this&&this.__decorate||function(_,S,v,b){var E,j=arguments.length,T=j<3?S:b===null?b=Object.getOwnPropertyDescriptor(S,v):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(_,S,v,b);else for(var D=_.length-1;D>=0;D--)(E=_[D])&&(T=(j<3?E(T):j>3?E(S,v,T):E(S,v))||T);return j>3&&T&&Object.defineProperty(S,v,T),T},p=this&&this.__param||function(_,S){return function(v,b){S(v,b,_)}};Object.defineProperty(c,"__esModule",{value:!0}),c.BufferService=c.MINIMUM_ROWS=c.MINIMUM_COLS=void 0;const m=d(8460),x=d(844),y=d(5295),w=d(2585);c.MINIMUM_COLS=2,c.MINIMUM_ROWS=1;let C=c.BufferService=class extends x.Disposable{get buffer(){return this.buffers.active}constructor(_){super(),this.isUserScrolling=!1,this._onResize=this.register(new m.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new m.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(_.rawOptions.cols||0,c.MINIMUM_COLS),this.rows=Math.max(_.rawOptions.rows||0,c.MINIMUM_ROWS),this.buffers=this.register(new y.BufferSet(_,this))}resize(_,S){this.cols=_,this.rows=S,this.buffers.resize(_,S),this._onResize.fire({cols:_,rows:S})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(_,S=!1){const v=this.buffer;let b;b=this._cachedBlankLine,b&&b.length===this.cols&&b.getFg(0)===_.fg&&b.getBg(0)===_.bg||(b=v.getBlankLine(_,S),this._cachedBlankLine=b),b.isWrapped=S;const E=v.ybase+v.scrollTop,j=v.ybase+v.scrollBottom;if(v.scrollTop===0){const T=v.lines.isFull;j===v.lines.length-1?T?v.lines.recycle().copyFrom(b):v.lines.push(b.clone()):v.lines.splice(j+1,0,b.clone()),T?this.isUserScrolling&&(v.ydisp=Math.max(v.ydisp-1,0)):(v.ybase++,this.isUserScrolling||v.ydisp++)}else{const T=j-E+1;v.lines.shiftElements(E+1,T-1,-1),v.lines.set(j,b.clone())}this.isUserScrolling||(v.ydisp=v.ybase),this._onScroll.fire(v.ydisp)}scrollLines(_,S,v){const b=this.buffer;if(_<0){if(b.ydisp===0)return;this.isUserScrolling=!0}else _+b.ydisp>=b.ybase&&(this.isUserScrolling=!1);const E=b.ydisp;b.ydisp=Math.max(Math.min(b.ydisp+_,b.ybase),0),E!==b.ydisp&&(S||this._onScroll.fire(b.ydisp))}};c.BufferService=C=f([p(0,w.IOptionsService)],C)},7994:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.CharsetService=void 0,c.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(d){this.glevel=d,this.charset=this._charsets[d]}setgCharset(d,f){this._charsets[d]=f,this.glevel===d&&(this.charset=f)}}},1753:function(u,c,d){var f=this&&this.__decorate||function(b,E,j,T){var D,L=arguments.length,R=L<3?E:T===null?T=Object.getOwnPropertyDescriptor(E,j):T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(b,E,j,T);else for(var M=b.length-1;M>=0;M--)(D=b[M])&&(R=(L<3?D(R):L>3?D(E,j,R):D(E,j))||R);return L>3&&R&&Object.defineProperty(E,j,R),R},p=this&&this.__param||function(b,E){return function(j,T){E(j,T,b)}};Object.defineProperty(c,"__esModule",{value:!0}),c.CoreMouseService=void 0;const m=d(2585),x=d(8460),y=d(844),w={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:b=>b.button!==4&&b.action===1&&(b.ctrl=!1,b.alt=!1,b.shift=!1,!0)},VT200:{events:19,restrict:b=>b.action!==32},DRAG:{events:23,restrict:b=>b.action!==32||b.button!==3},ANY:{events:31,restrict:b=>!0}};function C(b,E){let j=(b.ctrl?16:0)|(b.shift?4:0)|(b.alt?8:0);return b.button===4?(j|=64,j|=b.action):(j|=3&b.button,4&b.button&&(j|=64),8&b.button&&(j|=128),b.action===32?j|=32:b.action!==0||E||(j|=3)),j}const _=String.fromCharCode,S={DEFAULT:b=>{const E=[C(b,!1)+32,b.col+32,b.row+32];return E[0]>255||E[1]>255||E[2]>255?"":`\x1B[M${_(E[0])}${_(E[1])}${_(E[2])}`},SGR:b=>{const E=b.action===0&&b.button!==4?"m":"M";return`\x1B[<${C(b,!0)};${b.col};${b.row}${E}`},SGR_PIXELS:b=>{const E=b.action===0&&b.button!==4?"m":"M";return`\x1B[<${C(b,!0)};${b.x};${b.y}${E}`}};let v=c.CoreMouseService=class extends y.Disposable{constructor(b,E){super(),this._bufferService=b,this._coreService=E,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new x.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const j of Object.keys(w))this.addProtocol(j,w[j]);for(const j of Object.keys(S))this.addEncoding(j,S[j]);this.reset()}addProtocol(b,E){this._protocols[b]=E}addEncoding(b,E){this._encodings[b]=E}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(b){if(!this._protocols[b])throw new Error(`unknown protocol "${b}"`);this._activeProtocol=b,this._onProtocolChange.fire(this._protocols[b].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(b){if(!this._encodings[b])throw new Error(`unknown encoding "${b}"`);this._activeEncoding=b}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(b){if(b.col<0||b.col>=this._bufferService.cols||b.row<0||b.row>=this._bufferService.rows||b.button===4&&b.action===32||b.button===3&&b.action!==32||b.button!==4&&(b.action===2||b.action===3)||(b.col++,b.row++,b.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,b,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(b))return!1;const E=this._encodings[this._activeEncoding](b);return E&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(E):this._coreService.triggerDataEvent(E,!0)),this._lastEvent=b,!0}explainEvents(b){return{down:!!(1&b),up:!!(2&b),drag:!!(4&b),move:!!(8&b),wheel:!!(16&b)}}_equalEvents(b,E,j){if(j){if(b.x!==E.x||b.y!==E.y)return!1}else if(b.col!==E.col||b.row!==E.row)return!1;return b.button===E.button&&b.action===E.action&&b.ctrl===E.ctrl&&b.alt===E.alt&&b.shift===E.shift}};c.CoreMouseService=v=f([p(0,m.IBufferService),p(1,m.ICoreService)],v)},6975:function(u,c,d){var f=this&&this.__decorate||function(v,b,E,j){var T,D=arguments.length,L=D<3?b:j===null?j=Object.getOwnPropertyDescriptor(b,E):j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(v,b,E,j);else for(var R=v.length-1;R>=0;R--)(T=v[R])&&(L=(D<3?T(L):D>3?T(b,E,L):T(b,E))||L);return D>3&&L&&Object.defineProperty(b,E,L),L},p=this&&this.__param||function(v,b){return function(E,j){b(E,j,v)}};Object.defineProperty(c,"__esModule",{value:!0}),c.CoreService=void 0;const m=d(1439),x=d(8460),y=d(844),w=d(2585),C=Object.freeze({insertMode:!1}),_=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let S=c.CoreService=class extends y.Disposable{constructor(v,b,E){super(),this._bufferService=v,this._logService=b,this._optionsService=E,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new x.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new x.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new x.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new x.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,m.clone)(C),this.decPrivateModes=(0,m.clone)(_)}reset(){this.modes=(0,m.clone)(C),this.decPrivateModes=(0,m.clone)(_)}triggerDataEvent(v,b=!1){if(this._optionsService.rawOptions.disableStdin)return;const E=this._bufferService.buffer;b&&this._optionsService.rawOptions.scrollOnUserInput&&E.ybase!==E.ydisp&&this._onRequestScrollToBottom.fire(),b&&this._onUserInput.fire(),this._logService.debug(`sending data "${v}"`,(()=>v.split("").map((j=>j.charCodeAt(0))))),this._onData.fire(v)}triggerBinaryEvent(v){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${v}"`,(()=>v.split("").map((b=>b.charCodeAt(0))))),this._onBinary.fire(v))}};c.CoreService=S=f([p(0,w.IBufferService),p(1,w.ILogService),p(2,w.IOptionsService)],S)},9074:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.DecorationService=void 0;const f=d(8055),p=d(8460),m=d(844),x=d(6106);let y=0,w=0;class C extends m.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new x.SortedList((v=>v==null?void 0:v.marker.line)),this._onDecorationRegistered=this.register(new p.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new p.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,m.toDisposable)((()=>this.reset())))}registerDecoration(v){if(v.marker.isDisposed)return;const b=new _(v);if(b){const E=b.marker.onDispose((()=>b.dispose()));b.onDispose((()=>{b&&(this._decorations.delete(b)&&this._onDecorationRemoved.fire(b),E.dispose())})),this._decorations.insert(b),this._onDecorationRegistered.fire(b)}return b}reset(){for(const v of this._decorations.values())v.dispose();this._decorations.clear()}*getDecorationsAtCell(v,b,E){let j=0,T=0;for(const D of this._decorations.getKeyIterator(b))j=D.options.x??0,T=j+(D.options.width??1),v>=j&&v<T&&(!E||(D.options.layer??"bottom")===E)&&(yield D)}forEachDecorationAtCell(v,b,E,j){this._decorations.forEachByKey(b,(T=>{y=T.options.x??0,w=y+(T.options.width??1),v>=y&&v<w&&(!E||(T.options.layer??"bottom")===E)&&j(T)}))}}c.DecorationService=C;class _ extends m.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=f.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=f.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(v){super(),this.options=v,this.onRenderEmitter=this.register(new p.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new p.EventEmitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=v.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.InstantiationService=c.ServiceCollection=void 0;const f=d(2585),p=d(8343);class m{constructor(...y){this._entries=new Map;for(const[w,C]of y)this.set(w,C)}set(y,w){const C=this._entries.get(y);return this._entries.set(y,w),C}forEach(y){for(const[w,C]of this._entries.entries())y(w,C)}has(y){return this._entries.has(y)}get(y){return this._entries.get(y)}}c.ServiceCollection=m,c.InstantiationService=class{constructor(){this._services=new m,this._services.set(f.IInstantiationService,this)}setService(x,y){this._services.set(x,y)}getService(x){return this._services.get(x)}createInstance(x,...y){const w=(0,p.getServiceDependencies)(x).sort(((S,v)=>S.index-v.index)),C=[];for(const S of w){const v=this._services.get(S.id);if(!v)throw new Error(`[createInstance] ${x.name} depends on UNKNOWN service ${S.id}.`);C.push(v)}const _=w.length>0?w[0].index:y.length;if(y.length!==_)throw new Error(`[createInstance] First service dependency of ${x.name} at position ${_+1} conflicts with ${y.length} static arguments`);return new x(...y,...C)}}},7866:function(u,c,d){var f=this&&this.__decorate||function(_,S,v,b){var E,j=arguments.length,T=j<3?S:b===null?b=Object.getOwnPropertyDescriptor(S,v):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(_,S,v,b);else for(var D=_.length-1;D>=0;D--)(E=_[D])&&(T=(j<3?E(T):j>3?E(S,v,T):E(S,v))||T);return j>3&&T&&Object.defineProperty(S,v,T),T},p=this&&this.__param||function(_,S){return function(v,b){S(v,b,_)}};Object.defineProperty(c,"__esModule",{value:!0}),c.traceCall=c.setTraceLogger=c.LogService=void 0;const m=d(844),x=d(2585),y={trace:x.LogLevelEnum.TRACE,debug:x.LogLevelEnum.DEBUG,info:x.LogLevelEnum.INFO,warn:x.LogLevelEnum.WARN,error:x.LogLevelEnum.ERROR,off:x.LogLevelEnum.OFF};let w,C=c.LogService=class extends m.Disposable{get logLevel(){return this._logLevel}constructor(_){super(),this._optionsService=_,this._logLevel=x.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",(()=>this._updateLogLevel()))),w=this}_updateLogLevel(){this._logLevel=y[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(_){for(let S=0;S<_.length;S++)typeof _[S]=="function"&&(_[S]=_[S]())}_log(_,S,v){this._evalLazyOptionalParams(v),_.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+S,...v)}trace(_,...S){var v;this._logLevel<=x.LogLevelEnum.TRACE&&this._log(((v=this._optionsService.options.logger)==null?void 0:v.trace.bind(this._optionsService.options.logger))??console.log,_,S)}debug(_,...S){var v;this._logLevel<=x.LogLevelEnum.DEBUG&&this._log(((v=this._optionsService.options.logger)==null?void 0:v.debug.bind(this._optionsService.options.logger))??console.log,_,S)}info(_,...S){var v;this._logLevel<=x.LogLevelEnum.INFO&&this._log(((v=this._optionsService.options.logger)==null?void 0:v.info.bind(this._optionsService.options.logger))??console.info,_,S)}warn(_,...S){var v;this._logLevel<=x.LogLevelEnum.WARN&&this._log(((v=this._optionsService.options.logger)==null?void 0:v.warn.bind(this._optionsService.options.logger))??console.warn,_,S)}error(_,...S){var v;this._logLevel<=x.LogLevelEnum.ERROR&&this._log(((v=this._optionsService.options.logger)==null?void 0:v.error.bind(this._optionsService.options.logger))??console.error,_,S)}};c.LogService=C=f([p(0,x.IOptionsService)],C),c.setTraceLogger=function(_){w=_},c.traceCall=function(_,S,v){if(typeof v.value!="function")throw new Error("not supported");const b=v.value;v.value=function(...E){if(w.logLevel!==x.LogLevelEnum.TRACE)return b.apply(this,E);w.trace(`GlyphRenderer#${b.name}(${E.map((T=>JSON.stringify(T))).join(", ")})`);const j=b.apply(this,E);return w.trace(`GlyphRenderer#${b.name} return`,j),j}}},7302:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.OptionsService=c.DEFAULT_OPTIONS=void 0;const f=d(8460),p=d(844),m=d(6114);c.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:m.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const x=["normal","bold","100","200","300","400","500","600","700","800","900"];class y extends p.Disposable{constructor(C){super(),this._onOptionChange=this.register(new f.EventEmitter),this.onOptionChange=this._onOptionChange.event;const _={...c.DEFAULT_OPTIONS};for(const S in C)if(S in _)try{const v=C[S];_[S]=this._sanitizeAndValidateOption(S,v)}catch(v){console.error(v)}this.rawOptions=_,this.options={..._},this._setupOptions(),this.register((0,p.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(C,_){return this.onOptionChange((S=>{S===C&&_(this.rawOptions[C])}))}onMultipleOptionChange(C,_){return this.onOptionChange((S=>{C.indexOf(S)!==-1&&_()}))}_setupOptions(){const C=S=>{if(!(S in c.DEFAULT_OPTIONS))throw new Error(`No option with key "${S}"`);return this.rawOptions[S]},_=(S,v)=>{if(!(S in c.DEFAULT_OPTIONS))throw new Error(`No option with key "${S}"`);v=this._sanitizeAndValidateOption(S,v),this.rawOptions[S]!==v&&(this.rawOptions[S]=v,this._onOptionChange.fire(S))};for(const S in this.rawOptions){const v={get:C.bind(this,S),set:_.bind(this,S)};Object.defineProperty(this.options,S,v)}}_sanitizeAndValidateOption(C,_){switch(C){case"cursorStyle":if(_||(_=c.DEFAULT_OPTIONS[C]),!(function(S){return S==="block"||S==="underline"||S==="bar"})(_))throw new Error(`"${_}" is not a valid value for ${C}`);break;case"wordSeparator":_||(_=c.DEFAULT_OPTIONS[C]);break;case"fontWeight":case"fontWeightBold":if(typeof _=="number"&&1<=_&&_<=1e3)break;_=x.includes(_)?_:c.DEFAULT_OPTIONS[C];break;case"cursorWidth":_=Math.floor(_);case"lineHeight":case"tabStopWidth":if(_<1)throw new Error(`${C} cannot be less than 1, value: ${_}`);break;case"minimumContrastRatio":_=Math.max(1,Math.min(21,Math.round(10*_)/10));break;case"scrollback":if((_=Math.min(_,4294967295))<0)throw new Error(`${C} cannot be less than 0, value: ${_}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(_<=0)throw new Error(`${C} cannot be less than or equal to 0, value: ${_}`);break;case"rows":case"cols":if(!_&&_!==0)throw new Error(`${C} must be numeric, value: ${_}`);break;case"windowsPty":_=_??{}}return _}}c.OptionsService=y},2660:function(u,c,d){var f=this&&this.__decorate||function(y,w,C,_){var S,v=arguments.length,b=v<3?w:_===null?_=Object.getOwnPropertyDescriptor(w,C):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(y,w,C,_);else for(var E=y.length-1;E>=0;E--)(S=y[E])&&(b=(v<3?S(b):v>3?S(w,C,b):S(w,C))||b);return v>3&&b&&Object.defineProperty(w,C,b),b},p=this&&this.__param||function(y,w){return function(C,_){w(C,_,y)}};Object.defineProperty(c,"__esModule",{value:!0}),c.OscLinkService=void 0;const m=d(2585);let x=c.OscLinkService=class{constructor(y){this._bufferService=y,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(y){const w=this._bufferService.buffer;if(y.id===void 0){const E=w.addMarker(w.ybase+w.y),j={data:y,id:this._nextId++,lines:[E]};return E.onDispose((()=>this._removeMarkerFromLink(j,E))),this._dataByLinkId.set(j.id,j),j.id}const C=y,_=this._getEntryIdKey(C),S=this._entriesWithId.get(_);if(S)return this.addLineToLink(S.id,w.ybase+w.y),S.id;const v=w.addMarker(w.ybase+w.y),b={id:this._nextId++,key:this._getEntryIdKey(C),data:C,lines:[v]};return v.onDispose((()=>this._removeMarkerFromLink(b,v))),this._entriesWithId.set(b.key,b),this._dataByLinkId.set(b.id,b),b.id}addLineToLink(y,w){const C=this._dataByLinkId.get(y);if(C&&C.lines.every((_=>_.line!==w))){const _=this._bufferService.buffer.addMarker(w);C.lines.push(_),_.onDispose((()=>this._removeMarkerFromLink(C,_)))}}getLinkData(y){var w;return(w=this._dataByLinkId.get(y))==null?void 0:w.data}_getEntryIdKey(y){return`${y.id};;${y.uri}`}_removeMarkerFromLink(y,w){const C=y.lines.indexOf(w);C!==-1&&(y.lines.splice(C,1),y.lines.length===0&&(y.data.id!==void 0&&this._entriesWithId.delete(y.key),this._dataByLinkId.delete(y.id)))}};c.OscLinkService=x=f([p(0,m.IBufferService)],x)},8343:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.createDecorator=c.getServiceDependencies=c.serviceRegistry=void 0;const d="di$target",f="di$dependencies";c.serviceRegistry=new Map,c.getServiceDependencies=function(p){return p[f]||[]},c.createDecorator=function(p){if(c.serviceRegistry.has(p))return c.serviceRegistry.get(p);const m=function(x,y,w){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(C,_,S){_[d]===_?_[f].push({id:C,index:S}):(_[f]=[{id:C,index:S}],_[d]=_)})(m,x,w)};return m.toString=()=>p,c.serviceRegistry.set(p,m),m}},2585:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.IDecorationService=c.IUnicodeService=c.IOscLinkService=c.IOptionsService=c.ILogService=c.LogLevelEnum=c.IInstantiationService=c.ICharsetService=c.ICoreService=c.ICoreMouseService=c.IBufferService=void 0;const f=d(8343);var p;c.IBufferService=(0,f.createDecorator)("BufferService"),c.ICoreMouseService=(0,f.createDecorator)("CoreMouseService"),c.ICoreService=(0,f.createDecorator)("CoreService"),c.ICharsetService=(0,f.createDecorator)("CharsetService"),c.IInstantiationService=(0,f.createDecorator)("InstantiationService"),(function(m){m[m.TRACE=0]="TRACE",m[m.DEBUG=1]="DEBUG",m[m.INFO=2]="INFO",m[m.WARN=3]="WARN",m[m.ERROR=4]="ERROR",m[m.OFF=5]="OFF"})(p||(c.LogLevelEnum=p={})),c.ILogService=(0,f.createDecorator)("LogService"),c.IOptionsService=(0,f.createDecorator)("OptionsService"),c.IOscLinkService=(0,f.createDecorator)("OscLinkService"),c.IUnicodeService=(0,f.createDecorator)("UnicodeService"),c.IDecorationService=(0,f.createDecorator)("DecorationService")},1480:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.UnicodeService=void 0;const f=d(8460),p=d(225);class m{static extractShouldJoin(y){return(1&y)!=0}static extractWidth(y){return y>>1&3}static extractCharKind(y){return y>>3}static createPropertyValue(y,w,C=!1){return(16777215&y)<<3|(3&w)<<1|(C?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new f.EventEmitter,this.onChange=this._onChange.event;const y=new p.UnicodeV6;this.register(y),this._active=y.version,this._activeProvider=y}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(y){if(!this._providers[y])throw new Error(`unknown Unicode version "${y}"`);this._active=y,this._activeProvider=this._providers[y],this._onChange.fire(y)}register(y){this._providers[y.version]=y}wcwidth(y){return this._activeProvider.wcwidth(y)}getStringCellWidth(y){let w=0,C=0;const _=y.length;for(let S=0;S<_;++S){let v=y.charCodeAt(S);if(55296<=v&&v<=56319){if(++S>=_)return w+this.wcwidth(v);const j=y.charCodeAt(S);56320<=j&&j<=57343?v=1024*(v-55296)+j-56320+65536:w+=this.wcwidth(j)}const b=this.charProperties(v,C);let E=m.extractWidth(b);m.extractShouldJoin(b)&&(E-=m.extractWidth(C)),w+=E,C=b}return w}charProperties(y,w){return this._activeProvider.charProperties(y,w)}}c.UnicodeService=m}},r={};function a(u){var c=r[u];if(c!==void 0)return c.exports;var d=r[u]={exports:{}};return n[u].call(d.exports,d,d.exports,a),d.exports}var l={};return(()=>{var u=l;Object.defineProperty(u,"__esModule",{value:!0}),u.Terminal=void 0;const c=a(9042),d=a(3236),f=a(844),p=a(5741),m=a(8285),x=a(7975),y=a(7090),w=["cols","rows"];class C extends f.Disposable{constructor(S){super(),this._core=this.register(new d.Terminal(S)),this._addonManager=this.register(new p.AddonManager),this._publicOptions={...this._core.options};const v=E=>this._core.options[E],b=(E,j)=>{this._checkReadonlyOptions(E),this._core.options[E]=j};for(const E in this._core.options){const j={get:v.bind(this,E),set:b.bind(this,E)};Object.defineProperty(this._publicOptions,E,j)}}_checkReadonlyOptions(S){if(w.includes(S))throw new Error(`Option "${S}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new x.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new y.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this.register(new m.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const S=this._core.coreService.decPrivateModes;let v="none";switch(this._core.coreMouseService.activeProtocol){case"X10":v="x10";break;case"VT200":v="vt200";break;case"DRAG":v="drag";break;case"ANY":v="any"}return{applicationCursorKeysMode:S.applicationCursorKeys,applicationKeypadMode:S.applicationKeypad,bracketedPasteMode:S.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:v,originMode:S.origin,reverseWraparoundMode:S.reverseWraparound,sendFocusMode:S.sendFocus,wraparoundMode:S.wraparound}}get options(){return this._publicOptions}set options(S){for(const v in S)this._publicOptions[v]=S[v]}blur(){this._core.blur()}focus(){this._core.focus()}input(S,v=!0){this._core.input(S,v)}resize(S,v){this._verifyIntegers(S,v),this._core.resize(S,v)}open(S){this._core.open(S)}attachCustomKeyEventHandler(S){this._core.attachCustomKeyEventHandler(S)}attachCustomWheelEventHandler(S){this._core.attachCustomWheelEventHandler(S)}registerLinkProvider(S){return this._core.registerLinkProvider(S)}registerCharacterJoiner(S){return this._checkProposedApi(),this._core.registerCharacterJoiner(S)}deregisterCharacterJoiner(S){this._checkProposedApi(),this._core.deregisterCharacterJoiner(S)}registerMarker(S=0){return this._verifyIntegers(S),this._core.registerMarker(S)}registerDecoration(S){return this._checkProposedApi(),this._verifyPositiveIntegers(S.x??0,S.width??0,S.height??0),this._core.registerDecoration(S)}hasSelection(){return this._core.hasSelection()}select(S,v,b){this._verifyIntegers(S,v,b),this._core.select(S,v,b)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(S,v){this._verifyIntegers(S,v),this._core.selectLines(S,v)}dispose(){super.dispose()}scrollLines(S){this._verifyIntegers(S),this._core.scrollLines(S)}scrollPages(S){this._verifyIntegers(S),this._core.scrollPages(S)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(S){this._verifyIntegers(S),this._core.scrollToLine(S)}clear(){this._core.clear()}write(S,v){this._core.write(S,v)}writeln(S,v){this._core.write(S),this._core.write(`\r
|
|
70
|
-
`,v)}paste(S){this._core.paste(S)}refresh(S,v){this._verifyIntegers(S,v),this._core.refresh(S,v)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(S){this._addonManager.loadAddon(this,S)}static get strings(){return c}_verifyIntegers(...S){for(const v of S)if(v===1/0||isNaN(v)||v%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...S){for(const v of S)if(v&&(v===1/0||isNaN(v)||v%1!=0||v<0))throw new Error("This API only accepts positive integers")}}u.Terminal=C})(),l})()))})(hm)),hm.exports}var NT=jT();/**
|
|
71
|
-
* Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.
|
|
72
|
-
* @license MIT
|
|
73
|
-
*
|
|
74
|
-
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
75
|
-
* @license MIT
|
|
76
|
-
*
|
|
77
|
-
* Originally forked from (with the author's permission):
|
|
78
|
-
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
79
|
-
* http://bellard.org/jslinux/
|
|
80
|
-
* Copyright (c) 2011 Fabrice Bellard
|
|
81
|
-
*/var TT=2,AT=1,LT=class{activate(t){this._terminal=t}dispose(){}fit(){let t=this.proposeDimensions();if(!t||!this._terminal||isNaN(t.cols)||isNaN(t.rows))return;let n=this._terminal._core;(this._terminal.rows!==t.rows||this._terminal.cols!==t.cols)&&(n._renderService.clear(),this._terminal.resize(t.cols,t.rows))}proposeDimensions(){var x;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let n=this._terminal.options.scrollback===0?0:((x=this._terminal.options.overviewRuler)==null?void 0:x.width)||14,r=window.getComputedStyle(this._terminal.element.parentElement),a=parseInt(r.getPropertyValue("height")),l=Math.max(0,parseInt(r.getPropertyValue("width"))),u=window.getComputedStyle(this._terminal.element),c={top:parseInt(u.getPropertyValue("padding-top")),bottom:parseInt(u.getPropertyValue("padding-bottom")),right:parseInt(u.getPropertyValue("padding-right")),left:parseInt(u.getPropertyValue("padding-left"))},d=c.top+c.bottom,f=c.right+c.left,p=a-d,m=l-f-n;return{cols:Math.max(TT,Math.floor(m/t.css.cell.width)),rows:Math.max(AT,Math.floor(p/t.css.cell.height))}}};function DT({sessionId:e,onClose:t,onEscape:n,autoFocus:r}){const a=A.useRef(null),l=A.useRef(e),u=A.useRef(null),c=A.useRef(null),d=Ar(p=>p.writeSession),f=Ar(p=>p.resizeSession);return A.useEffect(()=>{l.current=e},[e]),A.useEffect(()=>{if(!n)return;const p=m=>{m.key==="Escape"&&(m.preventDefault(),m.stopPropagation(),n())};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[n]),A.useEffect(()=>{if(!a.current)return;const p=new NT.Terminal({fontFamily:'"JetBrains Mono", monospace',fontSize:13,theme:{background:"#1a1a1a",foreground:"#e0e0e0",cursor:"#ffffff",cursorAccent:"#1a1a1a"},cursorBlink:!0,cursorStyle:"bar",convertEol:!0}),m=new LT;p.loadAddon(m),u.current={term:p,fitAddon:m},a.current.addEventListener("keydown",C=>{C.key==="Escape"&&n&&(C.preventDefault(),C.stopPropagation(),n())}),p.open(a.current);const x=a.current.querySelector(".xterm");x&&(x.style.padding="8px"),m.fit(),r&&setTimeout(()=>{p.focus()},150);const y=new ResizeObserver(()=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{requestAnimationFrame(()=>{var _;m.fit&&m.fit();const C=(_=u.current)==null?void 0:_.term;C&&C.cols>0&&C.rows>0&&f(l.current,C.cols,C.rows)})},100)});y.observe(a.current),p.onData(C=>{if(C==="\x1B"&&n){n();return}d(l.current,C)}),p.onKey(C=>{C.key==="\x1B"&&n&&(C.domEvent.stopPropagation(),n())});const w=Xt.subscribe(C=>{const _=C.payload;if(C.type==="terminal.output"&&(_==null?void 0:_.sessionId)===l.current){const S=_==null?void 0:_.data;S&&p.write(S)}});return()=>{w(),y.disconnect(),c.current&&clearTimeout(c.current),p.dispose(),u.current=null}},[e,d,f]),i.jsxs("div",{className:"flex flex-col h-full bg-[#1a1a1a]",children:[i.jsxs("div",{className:"flex-shrink-0 flex items-center justify-between px-2 py-1 bg-[#252525] border-b border-[#333]",children:[i.jsx("div",{}),i.jsx("button",{onClick:t,className:"p-1 rounded hover:bg-[#333] text-[#888] hover:text-[#ccc] transition-colors",title:"Close terminal",children:i.jsx(qp,{})})]}),i.jsx("div",{ref:a,className:"flex-1 relative overflow-hidden",tabIndex:0,onKeyDown:p=>{p.key==="Escape"&&n&&(p.preventDefault(),p.stopPropagation(),n())}})]})}const N1="openfox-chat-textarea";function El(){const e=document.getElementById(N1);e&&e.focus()}function RT(e){return e===1?"grid-cols-1":e===2?"grid-cols-1 lg:grid-cols-2":"grid-cols-1 lg:grid-cols-2 xl:grid-cols-3"}function OT({isOpen:e,onClose:t}){const n=Ar(C=>C.createSession),r=Ar(C=>C.killSession),a=Ar(C=>C.sessions),l=Ar(C=>C.setWorkdir),u=Ar(C=>C.fetchSessions),c=zt(C=>C.currentProject),d=Le(C=>C.currentSession),[f,p]=A.useState(!0),m=A.useRef(null),x=A.useRef(!1),y=A.useRef(!1),w=A.useCallback(()=>{t()},[t]);return A.useEffect(()=>{const C=(d==null?void 0:d.workspace)??(c==null?void 0:c.workdir);C&&l(C)},[d==null?void 0:d.workspace,c==null?void 0:c.workdir,l]),A.useEffect(()=>{e?(p(!0),u(c==null?void 0:c.id).finally(()=>p(!1))):El()},[e,u,c==null?void 0:c.id]),A.useEffect(()=>{e&&a.length===0&&!f&&!y.current&&(y.current=!0,n(void 0,(d==null?void 0:d.projectId)??(c==null?void 0:c.id)))},[e,a.length,f,n,d==null?void 0:d.projectId,c==null?void 0:c.id]),A.useEffect(()=>{e?(x.current=!0,setTimeout(()=>{var C;(C=m.current)==null||C.focus(),setTimeout(()=>{x.current=!1},200)},100)):y.current=!1},[e]),A.useEffect(()=>{if(!e)return;const C=_=>{x.current||_.key==="Escape"&&(_.preventDefault(),t())};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[e,t]),e?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"fixed inset-x-0 top-[50vh] bottom-0 z-[100] bg-black/40",style:{pointerEvents:"auto"},onClick:w}),i.jsxs("div",{ref:m,tabIndex:-1,className:"fixed inset-x-0 top-0 z-[100] h-[50vh] bg-bg-primary border-b border-border flex flex-col animate-slide-down outline-none",onClick:C=>C.stopPropagation(),onKeyDown:C=>{C.key==="Escape"&&(C.preventDefault(),w())},children:[i.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border",children:[i.jsx("h3",{className:"text-sm font-semibold text-text-primary",children:"Terminal"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:()=>n(void 0,(d==null?void 0:d.projectId)??(c==null?void 0:c.id)),className:"p-2 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"New terminal",children:i.jsx(ON,{})}),i.jsx("button",{onClick:t,className:"p-2 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Close (Esc)",children:i.jsx(oi,{})})]})]}),i.jsx("div",{className:"flex-1 min-h-0 p-2 overflow-auto",children:f?i.jsx("div",{className:"flex items-center justify-center h-full text-text-muted",children:"Loading..."}):a.length===0?i.jsx("div",{className:"flex items-center justify-center h-full text-text-muted",children:i.jsxs("div",{className:"text-center",children:[i.jsx("p",{className:"mb-4",children:"No terminal sessions"}),i.jsx("button",{onClick:()=>n(void 0,(d==null?void 0:d.projectId)??(c==null?void 0:c.id)),className:"px-4 py-2 bg-accent-primary/25 text-text-primary rounded hover:bg-accent-primary/40 transition-colors",children:"Create Terminal"})]})}):i.jsx("div",{className:`grid ${RT(a.length)} gap-2 h-full auto-rows-fr`,children:a.map(C=>i.jsx(DT,{sessionId:C.id,onClose:()=>r(C.id),onEscape:w,autoFocus:a.length===1},C.id))})})]})]}):null}function Bl({items:e,footerItems:t=[],trigger:n,minWidth:r="120px",isOpen:a,onOpenChange:l}){const[u,c]=A.useState(!1),d=a!==void 0,f=d?a:u,p=O=>{if(d){const H=typeof O=="function"?O(u):O;l==null||l(H)}else c(O)},[m,x]=A.useState(null),y=A.useRef(null),w=A.useRef(null),[C,_]=A.useState(0),S=A.useRef(0),v=A.useMemo(()=>[...e,...t],[e,t]),b=A.useRef(v),E=A.useCallback(()=>{if(!y.current)return;const O=y.current.getBoundingClientRect(),H=200,G=window.innerHeight-O.bottom<H;x({top:G?O.top-H-4:O.bottom+4,left:O.left,alignToTop:G})},[]);A.useEffect(()=>{b.current=v},[v]),A.useEffect(()=>{function O(H){if(w.current){const F=H.target;w.current.contains(F)||p(!1)}}return f&&document.addEventListener("mousedown",O),()=>{document.removeEventListener("mousedown",O)}},[f]),A.useEffect(()=>{f&&E()},[f,E]),A.useEffect(()=>{if(!f)return;setTimeout(()=>{var H;(H=w.current)==null||H.focus()},0);function O(H){const F=b.current,G=F.filter(q=>!j(q)),Z=T(S.current,F);switch(H.key){case"ArrowDown":if(H.preventDefault(),H.stopPropagation(),Z<G.length-1){const q=D(S.current+1,F);S.current=q,_(q)}break;case"ArrowUp":if(H.preventDefault(),H.stopPropagation(),Z>0){const q=L(S.current-1,F);S.current=q,_(q)}break;case"Enter":H.preventDefault(),H.stopPropagation(),R(S.current,F);break;case"Escape":H.preventDefault(),H.stopPropagation(),p(!1);break}}return window.addEventListener("keydown",O,!0),()=>window.removeEventListener("keydown",O,!0)},[f,v]);function j(O){var G;const H=O.label;return H?String(((G=H.props)==null?void 0:G.className)??"").includes("cursor-default"):!1}function T(O,H){let F=0;for(let G=0;G<O;G++){const Z=H[G];Z&&!j(Z)&&F++}return F}function D(O,H){for(let F=O;F<H.length;F++){const G=H[F];if(G&&!j(G))return F}return O}function L(O,H){for(let F=O;F>=0;F--){const G=H[F];if(G&&!j(G))return F}return O}function R(O,H){var G;const F=H[O];!F||j(F)||((G=F.onClick)==null||G.call(F),F.href&&(window.history.pushState(null,"",F.href),window.dispatchEvent(new PopStateEvent("popstate"))),p(!1))}A.useEffect(()=>{f&&(_(v.findIndex(O=>!j(O))),S.current=v.findIndex(O=>!j(O)))},[f,v]);const M=O=>{O.stopPropagation(),f||E(),p(!f)};function V(O,H,F,G){const q=!j(O)&&G===C,z=i.jsxs(i.Fragment,{children:[O.icon&&i.jsx("span",{className:"w-4 h-4 flex-shrink-0",children:O.icon}),O.label]}),I=H!==F-1;return O.href?i.jsx(or,{href:O.href,onClick:B=>{var K;(K=O.onClick)==null||K.call(O,B),p(!1)},onAuxClick:()=>p(!1),className:`w-full px-3 py-2 text-left text-sm flex items-center gap-2 transition-colors ${O.danger?"text-accent-error hover:bg-accent-error/10":q?"bg-accent-primary/20 text-text-primary":"hover:bg-bg-tertiary text-text-primary"} ${I?"border-b border-border":""}`,children:z},G):i.jsx("button",{onClick:B=>{var K;(K=O.onClick)==null||K.call(O,B),O.closeOnClick!==!1&&p(!1)},className:`w-full px-3 py-2 text-left text-sm flex items-center gap-2 transition-colors ${O.danger?"text-accent-error hover:bg-accent-error/10":q?"bg-accent-primary/20 text-text-primary":"hover:bg-bg-tertiary text-text-primary"} ${I?"border-b border-border":""}`,children:z},G)}const U=m&&i.jsxs("div",{ref:w,"data-testid":"session-dropdown-menu",className:`fixed bg-bg-secondary border border-border rounded shadow-lg z-50 ${m.alignToTop?"mb-1":"mt-1"}`,style:{top:m.top,left:m.left,minWidth:r},tabIndex:-1,children:[i.jsx("div",{className:"max-h-[60vh] overflow-y-auto",children:e.map((O,H)=>V(O,H,e.length,H))}),t.length>0&&i.jsx("div",{className:"border-t border-border",children:t.map((O,H)=>V(O,H,t.length,e.length+H))})]});return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"relative",children:i.jsx("div",{ref:y,onClick:M,children:n})}),f&&so.createPortal(U,document.body)]})}function IT(e){return!e||e.trim()===""?{valid:!1,error:"Project name cannot be empty"}:/^[a-zA-Z0-9._-]+$/.test(e)?{valid:!0}:{valid:!1,error:"Project name can only contain letters, numbers, hyphens, underscores, and dots"}}function T1({isOpen:e,onClose:t,path:n,onRetry:r}){const[a,l]=A.useState(!1),[u,c]=A.useState(null),[d,f]=A.useState(null);A.useEffect(()=>{e&&p()},[e]);const p=async()=>{try{const E=await(await _e("/api/projects/check-permissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n})})).json();f({sudoAvailable:E.sudoAvailable,userInGroup:E.userInGroup,groupHasWrite:E.groupHasWrite,groupName:E.groupName||null})}catch{f({sudoAvailable:!1,userInGroup:!1,groupHasWrite:!1,groupName:null})}},m=A.useCallback(async b=>{l(!0),c(null);try{const j=await(await _e("/api/projects/fix-permissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n,action:b})})).json();j.success?(r(),t()):j.sudoAvailable?c("Failed to fix permissions: "+(j.error||"Unknown error")):c(`Passwordless sudo is not available. Please fix permissions manually:
|
|
82
|
-
|
|
83
|
-
`+(b==="group"?`sudo chmod g+w "${n}"`:"sudo usermod -aG <group> $USER"))}catch(E){c("Failed to fix permissions: "+(E instanceof Error?E.message:"Unknown error"))}finally{l(!1)}},[n,r,t]),x=(d==null?void 0:d.userInGroup)??!1,y=(d==null?void 0:d.groupHasWrite)??!1,w=(d==null?void 0:d.sudoAvailable)??!1,C=(d==null?void 0:d.groupName)??"",_=x&&!y,S=!x&&y,v=!x&&!y;return i.jsx(St,{isOpen:e,onClose:t,title:"Permission Denied",size:"sm",children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"text-sm text-text-secondary",children:[i.jsx("p",{children:_?i.jsxs(i.Fragment,{children:["The group ",i.jsx("strong",{children:C})," doesn't have write access:"]}):S?i.jsxs(i.Fragment,{children:["You're not a member of group ",i.jsx("strong",{children:C}),":"]}):i.jsxs(i.Fragment,{children:["You're not a member of group ",i.jsx("strong",{children:C})," and it doesn't have write access:"]})}),i.jsx("p",{className:"mt-2 font-mono text-xs bg-bg-tertiary p-2 rounded break-all",children:n})]}),u?i.jsx("div",{className:"p-3 bg-accent-error/10 border border-accent-error/30 rounded text-sm text-accent-error whitespace-pre-wrap",children:u}):d?i.jsxs("div",{className:"flex flex-col gap-2",children:[_&&i.jsxs(i.Fragment,{children:[i.jsx(Qe,{type:"button",variant:"primary",onClick:()=>m("group"),disabled:a||!w,className:"w-full",children:a?"Granting access...":"Extend group permissions"}),i.jsx("div",{className:"text-xs text-text-secondary",children:"Or manually execute:"}),i.jsxs("code",{className:"text-xs text-text-muted p-2 bg-bg-tertiary rounded break-all",children:['sudo chmod g+w "',n,'"']})]}),S&&i.jsxs(i.Fragment,{children:[i.jsx(Qe,{type:"button",variant:"primary",onClick:()=>m("join_group"),disabled:a||!w,className:"w-full",children:a?"Joining group...":"Join group"}),i.jsx("div",{className:"text-xs text-text-secondary",children:"Or manually execute:"}),i.jsxs("code",{className:"text-xs text-text-muted p-2 bg-bg-tertiary rounded break-all",children:["sudo usermod -aG ",C," $USER"]})]}),v&&i.jsxs(i.Fragment,{children:[i.jsx(Qe,{type:"button",variant:"primary",onClick:()=>m("join_group_and_group"),disabled:a||!w,className:"w-full",children:a?"Joining group...":"Join group & grant write permissions"}),i.jsx("div",{className:"text-xs text-text-secondary",children:"Or manually execute:"}),i.jsxs("code",{className:"text-xs text-text-muted p-2 bg-bg-tertiary rounded break-all",children:["sudo usermod -aG ",C," $USER",i.jsx("br",{}),'sudo chmod g+w "',n,'"']})]}),!w&&!u&&i.jsxs("div",{className:"text-xs text-text-secondary",children:[i.jsx("p",{children:"Passwordless sudo is not available. Please fix permissions manually:"}),i.jsxs("code",{className:"block mt-1 p-2 bg-bg-tertiary rounded break-all",children:['sudo chmod g+w "',n,'"']})]}),i.jsx("div",{className:"flex justify-end",children:i.jsx(Qe,{type:"button",variant:"secondary",onClick:t,disabled:a,children:"Cancel"})})]}):null]})})}function A1({isOpen:e,onClose:t}){const[,n]=Bn(),r=zt(j=>j.listProjects),[a,l]=A.useState(""),[u,c]=A.useState(null),[d,f]=A.useState(!1),[p,m]=A.useState(""),[x,y]=A.useState(null),w=A.useRef(null);A.useEffect(()=>{e&&(_e("/api/config").then(j=>j.json()).then(j=>{j.workdir&&m(j.workdir)}),l(""),c(null),f(!1),y(null),setTimeout(()=>{var j;(j=w.current)==null||j.focus()},100))},[e]);const C=A.useCallback(async j=>{j.preventDefault();const T=IT(a);if(!T.valid){c(T.error);return}const D=`${p}/${a}`;await v(D)},[a,n,t,p]),_=A.useCallback(()=>{y(null)},[]),S=A.useCallback(async()=>{const j=`${p}/${a}`;await v(j)},[p,a,n,t,y,c,f]);async function v(j){f(!0),c(null),y(null);try{const T=await _e("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a,workdir:j})});if(!T.ok){const R=await T.json().catch(()=>({}));if(R.code==="EACCES"){y(j),f(!1);return}throw new Error(R.error||"Failed to create project")}const L=(await T.json()).project;t(),await r(),n(`/p/${L.id}`)}catch(T){c(T instanceof Error?T.message:"Failed to create project"),f(!1)}}const b=A.useCallback(()=>{l(""),c(null),t()},[t]),E=a?`${p}/${a}`:"";return i.jsxs(i.Fragment,{children:[i.jsx(St,{isOpen:e,onClose:b,title:"Create New Project",size:"sm",children:i.jsxs("form",{onSubmit:C,className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{htmlFor:"project-name",className:"block text-sm font-medium text-text-secondary mb-2",children:"Project Name"}),i.jsx(ri,{ref:w,id:"project-name",value:a,onChange:j=>{l(j.target.value),c(null)},placeholder:"my-project",disabled:d,"data-testid":"create-project-name-input",className:"w-full"}),a&&i.jsxs("div",{className:"mt-2 text-xs text-text-muted",children:["Full path: ",i.jsx("span",{className:"font-mono",children:E})]}),u&&i.jsx("div",{className:"mt-3 p-3 bg-accent-error/10 border border-accent-error/30 rounded text-sm text-accent-error",children:u})]}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(Qe,{type:"button",variant:"secondary",onClick:b,disabled:d,children:"Cancel"}),i.jsx(Qe,{type:"submit",variant:"primary",disabled:d||!a.trim(),"data-testid":"create-project-submit-button",className:"min-w-[100px]",children:d?i.jsxs("span",{className:"flex items-center gap-2",children:[i.jsx(ws,{className:"h-4 w-4"}),"Creating..."]}):"Create"})]})]})}),x&&i.jsx(T1,{isOpen:!!x,onClose:_,path:x,onRetry:S})]})}function L1(){const[e,t]=A.useState(null);return A.useEffect(()=>{_e("/api/config").then(n=>n.json()).then(n=>{n.workdir&&t(n.workdir)})},[]),e}function E_({projects:e,currentProject:t}){const[,n]=Bn(),r=zt(_=>_.loadProject),a=zt(_=>_.toggleStar),l=zt(_=>_.createProject),u=zt(_=>_.listProjects),[c,d]=A.useState(!1),[f,p]=A.useState(!1),m=L1(),x=A.useCallback(async _=>{const S=v1(_),v=await l(S,_);return v&&"id"in v?(await u(),p(!1),n(`/p/${v.id}`),!0):!1},[l,u,n]),w=A.useMemo(()=>{const _=e.filter(v=>v.isStarred).sort((v,b)=>v.name.localeCompare(b.name)),S=e.filter(v=>!v.isStarred).sort((v,b)=>v.name.localeCompare(b.name));return[..._,...S]},[e]).map(_=>({label:i.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[i.jsx("span",{className:"truncate flex-1",children:_.name}),i.jsx("button",{onClick:S=>{S.stopPropagation(),S.preventDefault(),S.nativeEvent.stopImmediatePropagation(),a(_.id,!_.isStarred)},className:"flex-shrink-0 p-1 hover:bg-bg-tertiary rounded transition-colors",title:_.isStarred?"Unstar project":"Star project",children:_.isStarred?i.jsx(u1,{className:"w-3.5 h-3.5 text-yellow-500"}):i.jsx(d1,{className:"w-3.5 h-3.5 text-text-muted hover:text-yellow-500"})})]}),icon:_.id===(t==null?void 0:t.id)?i.jsx(Or,{}):void 0,href:`/p/${_.id}`,closeOnClick:!0,onClick:()=>{r(_.id)}})),C=[{label:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(qr,{className:"w-4 h-4"}),i.jsx("span",{children:"Open Project"})]}),onClick:()=>p(!0)},{label:i.jsxs("div",{className:"flex items-center gap-2 text-accent-primary",children:[i.jsx(ws,{className:"w-4 h-4"}),i.jsx("span",{children:"New Project"})]}),onClick:()=>d(!0)}];return i.jsxs(i.Fragment,{children:[i.jsx(Bl,{items:w,footerItems:C,trigger:i.jsxs("button",{className:`text-text-secondary hover:text-text-primary text-sm truncate flex items-center gap-1 ${t?"hover:underline":""}`,title:(t==null?void 0:t.name)??"Select project",children:[(t==null?void 0:t.name)??i.jsx("span",{className:"text-text-muted",children:"Select project..."}),i.jsx(Yn,{})]}),minWidth:"250px"}),c&&i.jsx(A1,{isOpen:c,onClose:()=>d(!1)}),f&&i.jsx(fd,{initialPath:m??void 0,onSelect:x,onClose:()=>p(!1)})]})}function D1(e){const t=new Date(e),r=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][t.getDay()],a=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),u=String(t.getDate()).padStart(2,"0");return`${r} ${a}/${l}/${u}`}function md(e){const t=new Date(e),n=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0");return`${n}:${r}`}function MT(e){const t=new Date(e),n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()),a=new Date(t.getFullYear(),t.getMonth(),t.getDate()),l=Math.floor((r.getTime()-a.getTime())/(1e3*60*60*24)),u=md(e);if(l===0)return`today ${u}`;if(l===1)return`yesterday ${u}`;if(l<7)return`${l} days ago ${u}`;{const c=t.getFullYear(),d=String(t.getMonth()+1).padStart(2,"0"),f=String(t.getDate()).padStart(2,"0");return`${c}/${d}/${f} ${u}`}}function R1(e){const t=new Date(e);return{year:t.getFullYear(),month:String(t.getMonth()+1).padStart(2,"0"),day:String(t.getDate()).padStart(2,"0")}}function PT(e){const{year:t,month:n,day:r}=R1(e);return`${t}-${n}-${r}`}function O1(e){const t=new Map;for(const a of e){const l=PT(a.updatedAt);t.has(l)||t.set(l,[]),t.get(l).push(a)}for(const[a,l]of t)l.sort((u,c)=>{const d=new Date(u.updatedAt).getTime();return new Date(c.updatedAt).getTime()-d});const n=Array.from(t.keys()).sort((a,l)=>l.localeCompare(a)),r=new Map;for(const a of n)r.set(a,t.get(a));return r}function BT({sessions:e,currentProject:t,currentSession:n,isOpen:r,onOpenChange:a}){var p;const l=Le(m=>m.loadSession),u=e.filter(m=>m.projectId===t.id).slice(0,15),c=O1(u),d=A.useMemo(()=>{const m=[];m.push({label:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(ws,{className:"w-4 h-4 text-accent-primary"}),i.jsx("span",{className:"text-sm",children:"New session"})]}),href:`/p/${t.id}/new`,onClick:()=>{}});for(const[x,y]of c){const w=y[0];if(w){m.push({label:i.jsx("div",{className:"px-3 py-2 text-text-muted text-xs font-medium cursor-default",children:D1(w.updatedAt)}),onClick:()=>{}});for(const C of y)m.push({label:i.jsxs("div",{className:"min-w-[160px]",children:[i.jsx("div",{className:"truncate text-sm",children:C.title??C.id.slice(0,8)}),i.jsx("div",{className:"text-text-muted text-xs",children:md(C.updatedAt)})]}),icon:C.id===(n==null?void 0:n.id)?i.jsx(Or,{}):void 0,href:`/p/${t.id}/s/${C.id}`,onClick:()=>{l(C.id)}})}}return m},[t.id,c,n==null?void 0:n.id]),f=n?((p=n.metadata)==null?void 0:p.title)??n.id.slice(0,8):"No session selected";return i.jsx(Bl,{items:d,isOpen:r,onOpenChange:a,trigger:i.jsxs("button",{className:"text-text-secondary hover:text-text-primary hover:underline text-sm truncate flex items-center gap-1",title:f,"data-testid":"header-session-dropdown",children:[f,i.jsx(Yn,{})]}),minWidth:"280px"})}function $T({items:e,trigger:t,isActive:n=!1}){const[r,a]=A.useState(!1),l=A.useRef(null);return A.useEffect(()=>{function u(c){l.current&&!l.current.contains(c.target)&&a(!1)}if(r)return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[r]),i.jsxs("div",{className:"relative",ref:l,children:[i.jsxs("button",{type:"button",onClick:()=>a(!r),className:`flex items-center gap-1 px-1.5 py-0.5 rounded transition-colors ${n?"bg-bg-tertiary":"hover:bg-bg-tertiary"}`,children:[typeof t=="string"?i.jsx("span",{className:"text-sm text-text-secondary font-medium",children:t}):t,i.jsx(Yn,{className:"w-3 h-3 text-text-muted flex-shrink-0 transition-transform",rotate:r?180:0})]}),r&&e.length>0&&i.jsx("div",{className:"absolute top-full left-0 mt-1 w-56 bg-bg-secondary border border-border rounded-lg shadow-lg overflow-hidden z-50",children:e.map((u,c)=>{const d=u.label&&typeof u.label=="object"&&u.label.type===or?u.label:null;if(d){const f=d.props.href||"";return i.jsxs(or,{href:f,className:"flex items-center gap-2 px-3 py-2 text-sm border-b border-border hover:bg-bg-tertiary transition-colors",children:[u.icon,d.props.children]},c)}return u.href?i.jsxs("a",{href:u.href,className:"flex items-center gap-2 px-3 py-2 text-sm border-b border-border hover:bg-bg-tertiary transition-colors",children:[u.icon,u.label]},c):i.jsxs("button",{type:"button",onClick:()=>{var f;(f=u.onClick)==null||f.call(u),a(!1)},className:"flex items-center gap-2 px-3 py-2 text-sm w-full text-left border-b border-border hover:bg-bg-tertiary transition-colors",children:[u.icon,u.label]},c)})})]})}function zT({currentProject:e,sessions:t,currentSession:n,projectIdFromUrl:r}){if(!(e!=null&&e.id)||e.id!==r)return null;const a=t.filter(u=>u.projectId===e.id).sort((u,c)=>new Date(c.updatedAt).getTime()-new Date(u.updatedAt).getTime()).slice(0,5),l=[{label:i.jsxs(or,{href:`/p/${e.id}/new`,className:"flex items-center gap-2",children:[i.jsx(ws,{className:"w-3 h-3 text-accent-primary"}),i.jsx("span",{className:"text-sm",children:"New Session"})]})},...a.map(u=>({label:i.jsx(or,{href:`/p/${e.id}/s/${u.id}`,className:"flex items-center gap-2 truncate text-sm",children:i.jsx("span",{children:u.title??u.id.slice(0,8)})}),icon:u.id===(n==null?void 0:n.id)?i.jsx(Or,{className:"w-3 h-3"}):void 0})),{label:i.jsxs(or,{href:"/",className:"flex items-center gap-2 text-text-muted hover:text-text-primary",children:[i.jsx(EN,{className:"w-3 h-3"}),i.jsx("span",{className:"text-sm",children:"Projects"})]})}];return i.jsx($T,{items:l,trigger:i.jsx("span",{className:"text-sm text-text-secondary font-medium",children:e.name})})}function HT({onMenuClick:e,onCriteriaToggle:t}){const[n,r]=A.useState(!1),[a,l]=A.useState(!1),[u,c]=A.useState(!!document.fullscreenElement),[d,f]=Bn();A.useEffect(()=>{const D=()=>c(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",D),()=>document.removeEventListener("fullscreenchange",D)},[]);const p=d.startsWith("/p/"),m=/^\/p\/[^/]+\/s\/[^/]+$/.test(d),x=Le(D=>D.currentSession),y=Le(D=>D.sessions),w=zt(D=>D.currentProject),C=zt(D=>D.projects),_=Qt(D=>D.startAutoRefresh),S=Qt(D=>D.stopAutoRefresh),v=Ar(D=>D.setOpen),b=Ar(D=>D.isOpen),E=_s(D=>D.status==="available"),j=_s(D=>D.check);A.useEffect(()=>{_s.getState().status==="idle"&&j()},[j]),A.useEffect(()=>{const D=()=>l(!0);return window.addEventListener("open-session-dropdown",D),()=>window.removeEventListener("open-session-dropdown",D)},[]);const T=ud();return Kp(T.terminalToggle,()=>{Ar.getState().toggleOpen()},{capture:!0}),A.useEffect(()=>(_(),()=>S()),[_,S]),i.jsxs("header",{className:"h-8 bg-secondary border-b border-border flex items-center justify-between px-2",children:[i.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e&&m&&i.jsx("button",{onClick:e,className:"flex-shrink-0 p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Toggle session list",children:i.jsx(h_,{})}),i.jsx(or,{href:"/",className:"text-accent-primary font-semibold text-sm hover:underline flex-shrink-0 hidden md:inline",children:"OpenFox"}),w&&i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"hidden md:inline text-text-muted flex-shrink-0",children:"/"}),i.jsx("span",{className:"hidden md:inline",children:i.jsx(E_,{projects:C,currentProject:w})}),i.jsx("span",{className:"md:hidden",children:i.jsx(zT,{currentProject:w,sessions:y,currentSession:x,projectIdFromUrl:p&&d.split("/")[2]||null},w==null?void 0:w.id)}),i.jsx("span",{className:"hidden md:inline text-text-muted flex-shrink-0",children:"/"}),i.jsx("span",{className:"hidden md:inline",children:i.jsx(BT,{sessions:y,currentProject:w,currentSession:x,isOpen:a,onOpenChange:l})})]}),!w&&i.jsx("span",{className:"hidden md:inline",children:i.jsx(E_,{projects:C})})]}),i.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[m&&i.jsx("button",{onClick:()=>{var D,L,R;document.fullscreenElement?(D=document.exitFullscreen)==null||D.call(document):(R=(L=document.documentElement).requestFullscreen)==null||R.call(L)},className:"max-sm:block hidden p-2 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:u?"Exit fullscreen":"Enter fullscreen",children:u?i.jsx(NN,{}):i.jsx(TN,{})}),p&&i.jsx("button",{onClick:()=>v(!b),className:`p-2.5 rounded hover:bg-bg-tertiary transition-colors ${b?"text-accent-primary":"text-text-muted hover:text-text-primary"}`,title:"Toggle terminal (double Ctrl)",children:i.jsx(BN,{})}),i.jsxs("button",{onClick:()=>r(!0),className:"relative p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:E?"Settings — update available":"Settings",children:[i.jsx(IN,{}),E&&i.jsx("span",{className:"absolute top-1 right-1 w-1.5 h-1.5 rounded-full bg-accent-primary"})]}),i.jsx("button",{onClick:()=>{localStorage.removeItem("openfox_token"),f("/")},className:"p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Logout",children:i.jsx(LN,{})}),t&&m&&i.jsx("button",{onClick:t,className:"p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Toggle sidebar",children:i.jsx(h_,{})})]}),i.jsx(ET,{isOpen:n,onClose:()=>r(!1)}),i.jsx(OT,{isOpen:b,onClose:()=>v(!1)})]})}function I1({onCancel:e,onSave:t,saving:n,saveDisabled:r,cancelLabel:a="Cancel",saveLabel:l=n?"Saving...":"Save"}){return i.jsxs("div",{className:"flex justify-end gap-2 flex-shrink-0",children:[i.jsx(Qe,{variant:"secondary",onClick:e,children:a}),i.jsx(Qe,{variant:"primary",onClick:t,disabled:r??n,children:l})]})}const uu=$n()(e=>({config:null,loading:!1,fetchConfig:async t=>{e({loading:!0});try{const r=await(await _e(`/api/workspace/config?workdir=${encodeURIComponent(t)}`)).json();e({config:r.config??null,loading:!1})}catch{e({loading:!1})}},saveConfig:async(t,n)=>{const r=await _e(`/api/workspace/config?workdir=${encodeURIComponent(t)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!r.ok)throw new Error("Failed to save workspace config");const a=await r.json();e({config:a.config??n})}})),UT=["/","/etc","/bin","/sbin","/lib","/lib64","/usr","/var","/opt","/root","/run","/tmp","/home","/mnt","/media"],FT=["/proc/","/sys/","/dev/","/boot/","/etc/","/lost+found/"];function VT(e,t=UT,n=FT){if(!e)return null;const r=e.replace(/\/+$/,"")||"/";if(t.includes(r))return"exact";for(const a of n)if(r.startsWith(a))return"virtual_fs";return null}function GT({isOpen:e,onClose:t,project:n}){const r=zt(ke=>ke.updateProject),a=uu(ke=>ke.config),l=uu(ke=>ke.loading),u=uu(ke=>ke.fetchConfig),c=uu(ke=>ke.saveConfig),d=()=>{try{Xt.send("context.checkDynamic",{})}catch{}t()},[f,p]=A.useState(n.customInstructions??""),[m,x]=A.useState(n.dangerLevel??""),[y,w]=A.useState(!1),[C,_]=A.useState(!1),[S,v]=A.useState(!1),[b,E]=A.useState(null),[j,T]=A.useState(""),[D,L]=A.useState(!1),[R,M]=A.useState(""),[V,U]=A.useState(!1),[O,H]=A.useState(""),[F,G]=A.useState(!1),[Z,q]=A.useState(!1),[z,I]=A.useState([]),[B,K]=A.useState(""),P=y||C||D||V;A.useEffect(()=>{e&&(p(n.customInstructions??""),x(n.dangerLevel??""),w(!1),_(!1),L(!1),U(!1),u(n.workdir))},[e,n,u]),A.useEffect(()=>{a!=null&&a.setup&&a.setup.length>0?T(a.setup.join(" && ")):T(""),M((a==null?void 0:a.rootDir)??"")},[a]);const ee=ke=>{p(ke.target.value),w(!0)},Q=ke=>{x(ke),_(!0)},te=ke=>{T(ke.target.value),L(!0)},Y=ke=>{M(ke.target.value),U(!0)},W=A.useCallback(async()=>{const ke=m===""?null:m;await r(n.id,{customInstructions:f||null,dangerLevel:ke});const Be=j.trim()?j.split("&&").map(Me=>Me.trim()).filter(Boolean):[];await c(n.workdir,{...Be.length>0?{setup:Be}:{},...R.trim()?{rootDir:R.trim()}:{}}),w(!1),_(!1),L(!1),U(!1),d()},[n.id,m,f,j,R,r,c,n.workdir,d]),ne=async()=>{const ke=R.trim(),Be=(a==null?void 0:a.rootDir)??"";if(ke){const Me=VT(ke);if(Me==="exact"){const $e=ke.replace(/\/+$/,"")||"/";E(`Cannot use "${$e}" directly as workspace root. Use a subdirectory like "${$e}/${n.name}" instead.`);return}if(Me==="virtual_fs"){E(`Cannot use paths under "${ke}" for workspaces.`);return}}if(!V||!ke||ke===Be){v(!0),E(null);try{await W()}catch(Me){E(Me instanceof Error?Me.message:"Failed to save settings")}finally{v(!1)}return}H(ke),v(!0),E(null);try{const Me=await _e(`/api/workspace/config/validate?workdir=${encodeURIComponent(n.workdir)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootDir:ke,workdir:n.workdir,projectName:n.name})});if(!Me.ok){const je=await Me.json().catch(()=>({}));E((je==null?void 0:je.error)??"Failed to validate workspace root directory"),v(!1);return}const $e=await Me.json();if(!$e.exists){K($e.resolvedPath),v(!1),G(!0);return}if($e.workspaces&&$e.workspaces.length>0){I($e.workspaces),v(!1),q(!0);return}E(null),await W()}catch(Me){E(Me instanceof Error?Me.message:"Failed to validate settings"),v(!1)}},se=async()=>{G(!1),v(!0);try{const ke=await _e(`/api/workspace/config/validate?workdir=${encodeURIComponent(n.workdir)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({rootDir:O,workdir:n.workdir,projectName:n.name,createIfMissing:!0})});if(!ke.ok){const Me=await ke.json().catch(()=>({}));E((Me==null?void 0:Me.error)??"Failed to create directory"),v(!1);return}const Be=await ke.json();if(Be.workspaces&&Be.workspaces.length>0){I(Be.workspaces),q(!0),v(!1);return}await W()}catch(ke){E(ke instanceof Error?ke.message:"Failed to create directory")}finally{v(!1)}},pe=async()=>{q(!1),v(!0),E(null);try{await W()}catch(ke){E(ke instanceof Error?ke.message:"Failed to save settings")}finally{v(!1)}},ge=()=>{G(!1),q(!1),p(n.customInstructions??""),x(n.dangerLevel??""),w(!1),_(!1),L(!1),U(!1),d()};return i.jsxs(St,{isOpen:e,onClose:ge,title:`${n.name} Settings`,size:"lg",footer:i.jsx(I1,{onCancel:ge,onSave:ne,saving:S,saveDisabled:!P||S}),children:[i.jsxs("div",{className:"flex flex-col gap-5 -mt-1",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-1 flex-shrink-0",children:"Default Danger Level"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"Default danger level for new sessions in this project. Existing sessions are not affected."}),i.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-1 rounded bg-bg-tertiary/50 w-fit",children:[i.jsx("button",{type:"button",onClick:()=>Q(""),className:`px-3 py-1 text-sm font-medium rounded transition-colors ${m===""?"bg-bg-tertiary text-text-primary border border-border":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,title:"Use global default (Normal)",children:"Default"}),i.jsx("button",{type:"button",onClick:()=>Q("normal"),className:`px-3 py-1 text-sm font-medium rounded transition-colors ${m==="normal"?"bg-accent-success/20 text-accent-success border border-accent-success/30":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,title:"Normal mode - requires path confirmation",children:"Normal"}),i.jsx("button",{type:"button",onClick:()=>Q("dangerous"),className:`px-3 py-1 text-sm font-medium rounded transition-colors ${m==="dangerous"?"bg-red-500/20 text-red-400 border border-red-500/30":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,title:"Dangerous mode - bypasses all confirmations",children:"Dangerous"})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-1 flex-shrink-0",children:"Project Path"}),i.jsx("p",{className:"text-sm text-text-muted font-mono",children:n.workdir})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-1 flex-shrink-0",children:"Project Instructions"}),i.jsx("p",{className:"text-sm text-text-muted mb-3 flex-shrink-0",children:"These instructions are injected into prompts when working in this project. They are applied after global instructions but before AGENTS.md files."}),i.jsx("textarea",{value:f,onChange:ee,placeholder:"Enter project-specific instructions...",className:"w-full h-32 px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-accent-primary",disabled:S})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-1 flex-shrink-0",children:"Workspace Setup Command"}),i.jsxs("p",{className:"text-sm text-text-muted mb-3",children:["Command(s) to run after creating a workspace (shared clone). Use"," ",i.jsx("code",{className:"text-xs bg-bg-tertiary px-1 rounded",children:"&&"})," to chain multiple commands. Example:"," ",i.jsx("code",{className:"text-xs bg-bg-tertiary px-1 rounded",children:"npm install --prefer-offline"})]}),l&&i.jsx("div",{className:"text-xs text-text-muted mb-2",children:"Loading config..."}),i.jsx("input",{type:"text",value:j,onChange:te,placeholder:"npm install --prefer-offline",className:"w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono focus:outline-none focus:ring-1 focus:ring-accent-primary",disabled:l||S})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-1 flex-shrink-0",children:"Workspace Root Directory"}),i.jsxs("p",{className:"text-sm text-text-muted mb-3",children:["Override the default workspace location. Leave empty to use the global directory"," ",i.jsx("code",{className:"text-xs bg-bg-tertiary px-1 rounded",children:"~/.local/share/openfox/workspaces/"}),". Supports absolute paths or paths relative to the project."]}),i.jsx("input",{type:"text",value:R,onChange:Y,placeholder:"/absolute/or/relative/path",className:"w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono focus:outline-none focus:ring-1 focus:ring-accent-primary",disabled:l||S})]}),b&&i.jsx("div",{className:"text-sm text-red-400 bg-red-500/10 border border-red-500/20 rounded px-3 py-2",children:b})]}),F&&i.jsxs(St,{isOpen:F,onClose:()=>G(!1),title:"Directory not found",size:"md",footer:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx("button",{type:"button",onClick:()=>G(!1),className:"px-4 py-2 text-sm font-medium rounded bg-bg-tertiary text-text-primary hover:bg-border transition-colors",children:"Cancel"}),i.jsx("button",{type:"button",onClick:se,className:"px-4 py-2 text-sm font-medium rounded bg-accent-primary text-white hover:opacity-90 transition-colors",children:"Create"})]}),children:[i.jsxs("p",{className:"text-sm text-text-primary",children:["The directory ",i.jsx("code",{className:"text-xs bg-bg-tertiary px-1 rounded",children:B})," does not exist."]}),i.jsx("p",{className:"text-sm text-text-muted mt-2",children:"Would you like to create it?"})]}),Z&&i.jsxs(St,{isOpen:Z,onClose:()=>q(!1),title:"Orphaned workspaces",size:"md",footer:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx("button",{type:"button",onClick:()=>q(!1),className:"px-4 py-2 text-sm font-medium rounded bg-bg-tertiary text-text-primary hover:bg-border transition-colors",children:"Cancel"}),i.jsx("button",{type:"button",onClick:pe,className:"px-4 py-2 text-sm font-medium rounded bg-red-500 text-white hover:opacity-90 transition-colors",children:"Confirm change"})]}),children:[i.jsxs("p",{className:"text-sm text-text-primary",children:[z.length," existing workspace(s) will not be migrated and will become inaccessible:"]}),i.jsx("ul",{className:"mt-2 space-y-1",children:z.map(ke=>i.jsx("li",{className:"text-sm font-mono text-text-muted",children:ke.name},ke.name))}),i.jsx("p",{className:"text-sm text-text-muted mt-3",children:"Existing workspaces will remain in the old location but will no longer be accessible from this project."})]})]})}const WT={sm:"w-3 h-3",md:"w-4 h-4",lg:"w-5 h-5",xl:"w-6 h-6"},qT="M6 18L18 6M6 6l12 12";function $l({onClick:e,className:t="",size:n="md",variant:r="default"}){const a=r==="overlay"?"bg-accent-error text-white rounded-full flex items-center justify-center hover:bg-accent-error/80 transition-colors":r==="sidebar"?"flex-shrink-0 p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors":r==="modal"?"text-text-muted hover:text-text-primary transition-colors":"hover:text-white transition-colors";return i.jsx(dd,{onClick:e,icon:qT,iconSize:WT[n],className:`${a} ${t}`,title:"Close"})}function M1({projectId:e,isOpen:t=!0,onClose:n}){const[,r]=Bn(),[a,l]=A.useState(!1),[u,c]=A.useState(null),[d,f]=A.useState(null),[p,m]=A.useState(""),[x,y]=A.useState(!1),w=Le(q=>q.sessions),C=Le(q=>q.currentSession),_=Le(q=>q.unreadSessionIds),S=Le(q=>q.deleteSession),v=Le(q=>q.deleteAllSessions),b=Le(q=>q.loadMoreSessions),E=Le(q=>q.sessionsHasMore),j=Le(q=>q.sessionsPaginationLoading),T=Le(q=>q.sessionsWithPendingConfirmations),D=Le(q=>q.pendingPathConfirmations),L=zt(q=>q.currentProject),R=A.useRef(null),M=A.useCallback(()=>{E&&!j&&L&&b(L.id)},[E,j,L,b]);A.useEffect(()=>{if(!R.current||!E)return;const q=new IntersectionObserver(z=>{const I=z[0];I&&I.isIntersecting&&M()},{threshold:.1});return q.observe(R.current),()=>q.disconnect()},[E,M]);const V=w.filter(q=>q.projectId===(L==null?void 0:L.id)),U=(q,z)=>{z==null||z.stopPropagation(),c(q)},O=()=>{u&&(S(u),(C==null?void 0:C.id)===u&&r(`/p/${e}`),c(null))},H=(q,z)=>{z==null||z.stopPropagation();const I=w.find(K=>K.id===q),B=(I==null?void 0:I.title)??q.slice(0,6);m(B),f(q)},F=()=>{if(!d||p.trim()==="")return;const q=Le.getState().renameSession;q(d,p.trim()),f(null),m("")},G=()=>{y(!0)},Z=()=>{v(e),r(`/p/${e}`),y(!1)};return i.jsxs(i.Fragment,{children:[t&&n&&i.jsx("div",{className:"md:hidden fixed inset-0 bg-black/50 z-40",onClick:n}),i.jsxs("aside",{className:`
|
|
84
|
-
${t?"md:w-[300px] md:shrink-0":"md:w-0 md:shrink-0 md:overflow-hidden"}
|
|
85
|
-
md:relative md:h-auto md:translate-x-0
|
|
86
|
-
|
|
87
|
-
fixed z-50 h-[calc(100vh-32px)]
|
|
88
|
-
w-[300px] bg-secondary border-r border-border flex flex-col
|
|
89
|
-
transition-all duration-300 ease-in-out
|
|
90
|
-
${t?"translate-x-0":"-translate-x-full"}
|
|
91
|
-
`,children:[i.jsxs("div",{className:"p-4 border-b border-border flex gap-2",children:[i.jsx(or,{href:`/p/${e}/new`,className:"flex-1 block text-center rounded font-medium transition-colors bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40 px-3 py-1.5 text-sm","data-testid":"sidebar-new-session-button",children:"+ New Session"}),i.jsx(Bl,{items:[{label:"Edit project settings",onClick:()=>l(!0)},{label:"Delete all sessions",onClick:G,danger:!0}],trigger:i.jsx("button",{className:"flex-shrink-0 p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Options",children:i.jsx(l1,{})})}),n&&i.jsx($l,{onClick:n,className:"md:hidden",variant:"sidebar",size:"md"})]}),L&&i.jsx(GT,{isOpen:a,onClose:()=>l(!1),project:L}),i.jsx(kl,{isOpen:u!==null,onClose:()=>c(null),onConfirm:O,title:"Delete session?",message:"This session will be permanently deleted.",confirmLabel:"Delete session",confirmVariant:"danger"}),i.jsx(kl,{isOpen:x,onClose:()=>y(!1),onConfirm:Z,title:"Delete all sessions?",message:"Delete all sessions in this project? This cannot be undone.",confirmLabel:"Delete all",confirmVariant:"danger"}),i.jsx(St,{isOpen:d!==null,onClose:()=>{f(null),m("")},title:"Rename session",size:"sm",footer:i.jsx(I1,{onCancel:()=>{f(null),m("")},onSave:F,saving:!1,saveDisabled:p.trim()==="",saveLabel:"Rename"}),children:i.jsx("input",{type:"text",value:p,onChange:q=>m(q.target.value),onKeyDown:q=>{q.key==="Enter"&&F()},onFocus:q=>q.target.select(),className:"w-full px-3 py-2 text-sm text-text-primary bg-bg-tertiary border border-border rounded focus:outline-none focus:ring-1 focus:ring-accent-primary",autoFocus:!0})}),i.jsx("div",{className:"flex-1 overflow-y-auto scrollbar-stable",children:V.length===0?i.jsx("div",{className:"p-4 text-center text-text-muted text-xs",children:"No sessions"}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"divide-y divide-border",children:KT(V,C,_,U,H,e,T,D)}),j&&i.jsx("div",{className:"p-4 text-center text-text-muted text-xs",children:"Loading more..."}),i.jsx("div",{ref:R,className:"h-px"})]})})]})]})}function KT(e,t,n,r,a,l,u,c){const d=O1(e);return Array.from(d).map(([f,p])=>{const m=p[0];return m?i.jsxs("div",{children:[i.jsx("div",{className:"px-4 py-2 bg-bg-tertiary/30 text-text-muted text-xs font-medium",children:D1(m.updatedAt)}),p.map(x=>{const y=(t==null?void 0:t.id)===x.id,w=n.includes(x.id),C=x.isRunning,_=u.includes(x.id)||y&&c.length>0;return i.jsx("div",{className:`w-full px-4 py-3 text-left hover:bg-bg-tertiary/50 transition-colors group ${y?"bg-bg-tertiary":""}`,children:i.jsxs(or,{href:`/p/${l}/s/${x.id}`,className:`block ${y?"text-accent-primary":"text-text-primary"} hover:text-accent-primary`,children:[i.jsxs("div",{className:"flex justify-between items-center mb-1",children:[i.jsx("span",{className:`font-medium truncate text-sm ${y?"text-accent-primary":"text-text-primary"}`,children:x.title??x.id.slice(0,6)}),i.jsx(Bl,{items:[{label:"Rename session",onClick:S=>a(x.id,S)},{label:"Delete session",onClick:S=>r(x.id,S),danger:!0}],trigger:i.jsx("button",{onClick:S=>S.preventDefault(),className:"p-1.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-all",title:"Options",children:i.jsx(l1,{})})})]}),i.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[_?i.jsx("span",{title:"Awaiting confirmation",children:i.jsx(Wp,{className:"w-3 h-3 text-red-400 flex-shrink-0"})}):C?i.jsx(MN,{}):w&&!y?i.jsx("span",{"aria-label":"Unread activity",title:"Unread activity",className:"w-2 h-2 rounded-full bg-amber-400 flex-shrink-0"}):null,i.jsx("span",{className:"text-text-muted text-xs flex-shrink-0",children:md(x.updatedAt)}),i.jsxs("span",{className:"text-text-muted text-xs flex-shrink-0",children:[x.messageCount," messages"]})]})]})},x.id)})]},f):null})}const j_=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧"];function YT(){var u;const e=zt(c=>c.currentProject),t=Le(c=>c.currentSession),n=ld(),r=A.useRef(0),a=A.useRef(null);A.useEffect(()=>(n?(a.current||(r.current=0),a.current=window.setInterval(()=>{r.current=(r.current+1)%j_.length,l()},150),l()):(a.current&&(clearInterval(a.current),a.current=null),l()),()=>{a.current&&(clearInterval(a.current),a.current=null)}),[n,e,t]);const l=()=>{var p;const d=(p=t==null?void 0:t.metadata)==null?void 0:p.title,f=n?`${j_[r.current]} `:"";e&&d?document.title=`${f}${e.name} - ${d} | OpenFox`:e?document.title=`${f}${e.name} | OpenFox`:document.title=`${f}OpenFox`};return typeof window<"u"&&((u=t==null?void 0:t.metadata)!=null&&u.title)&&window.document.documentElement.setAttribute("data-session-title",t.metadata.title),null}function P1({isOpen:e,onClose:t,projectName:n,onConfirm:r}){const a=()=>{r(),t()};return i.jsx(kl,{isOpen:e,onClose:t,onConfirm:a,title:"Delete Project",confirmLabel:"Delete",confirmVariant:"danger",message:i.jsxs(i.Fragment,{children:["This will permanently delete the project"," ",i.jsx("span",{className:"font-semibold text-text-primary",children:n})," and all its sessions from OpenFox. The project files on disk will remain untouched."]})})}function XT({isOpen:e,onClose:t}){const[,n]=Bn(),[r,a]=A.useState(!1),l=L1(),[u,c]=A.useState(!1),d=zt(L=>L.projects),f=zt(L=>L.createProject),p=zt(L=>L.listProjects),m=zt(L=>L.deleteProject),[x,y]=A.useState(null),[w,C]=A.useState(null);A.useEffect(()=>{e&&p()},[e,p]);const _=L=>{n(`/p/${L}`),t()},S=(L,R)=>{R.stopPropagation(),y(L)},v=()=>{x&&(m(x.id),y(null))},b=async L=>j(L);function E(L){return L!=null&&typeof L=="object"&&"error"in L&&L.error!=null&&typeof L.error=="object"&&"code"in L.error&&L.error.code==="EACCES"}async function j(L){const R=v1(L),M=await f(R,L);return p(),E(M)?(C(M.error.path||L),!1):M&&"id"in M?(n(`/p/${M.id}`),t(),!0):!1}const T=A.useCallback(()=>{C(null)},[]),D=A.useCallback(async()=>{const L=w;C(null),L&&await j(L)},[w]);return e?i.jsxs(St,{isOpen:e,onClose:t,title:"Open Project",size:"xl",footer:i.jsx("div",{className:"flex justify-end gap-2",children:i.jsx(Qe,{variant:"secondary",onClick:t,children:"Close"})}),children:[i.jsxs("div",{className:"flex flex-col sm:flex-row flex-1 -m-4",children:[i.jsxs("div",{className:"w-full sm:w-1/2 border-b sm:border-b-0 sm:border-r border-border flex flex-col max-h-[40vh] sm:max-h-[50vh]",children:[i.jsx("div",{className:"p-3 border-b border-border bg-bg-tertiary/30 shrink-0",children:i.jsx("h3",{className:"font-medium text-sm text-text-secondary",children:"Recent Projects"})}),i.jsx("div",{className:"flex-1 overflow-y-auto",children:d.length===0?i.jsxs("div",{className:"p-6 text-center text-text-muted text-sm",children:[i.jsx("p",{className:"mb-2",children:"No recent projects"}),i.jsx("p",{className:"text-xs",children:'Click "Create new project" to add one'})]}):i.jsx("div",{className:"divide-y divide-border",children:d.map(L=>i.jsxs("div",{className:"group flex items-center gap-3 p-3 hover:bg-bg-tertiary/50 transition-colors",children:[i.jsxs("button",{onClick:()=>_(L.id),className:"flex-1 flex items-center gap-3 text-left",children:[i.jsx(qr,{className:"w-5 h-5 text-accent-primary"}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"font-medium truncate",children:L.name}),i.jsx("div",{className:"text-xs text-text-muted truncate",children:_1(L.workdir,32)})]})]}),i.jsx("button",{onClick:R=>S(L,R),className:"text-accent-error/70 hover:text-accent-error p-1",title:"Delete project",children:i.jsx(ro,{className:"w-4 h-4"})})]},L.id))})})]}),i.jsx("div",{className:"w-full sm:w-1/2 flex flex-col items-center justify-center p-6 sm:p-8 text-center",children:i.jsxs("div",{className:"flex flex-col gap-3 w-full max-w-sm",children:[i.jsx(Qe,{variant:"primary",onClick:()=>c(!0),children:"Select existing project"}),i.jsx(Qe,{variant:"secondary",onClick:()=>a(!0),"data-testid":"open-project-create-button",children:"Create new project"})]})})]}),r&&i.jsx(A1,{isOpen:r,onClose:()=>a(!1)}),x&&i.jsx(P1,{isOpen:!0,onClose:()=>y(null),projectName:x.name,onConfirm:v}),u&&i.jsx(fd,{initialPath:l??void 0,onSelect:L=>{b(L)},onClose:()=>c(!1)}),w&&i.jsx(T1,{isOpen:!0,onClose:T,path:w,onRetry:D})]}):null}function Gr(e,t){const n=new Set(t.map(r=>r.id));return[...e.filter(r=>!n.has(r.id)),...t]}function Va(e,t){if(!t)return!0;const n=t.toLowerCase().split(/\s+/),r=e.toLowerCase().split(/\s+/);return n.every(a=>{for(const l of r){let u=0;for(let c=0;c<l.length&&u<a.length;c++)l[c]===a[u]&&u++;if(u===a.length)return!0}return!1})}function B1(e,t,n,r,a){switch(e.key){case"ArrowDown":e.preventDefault(),n(l=>Math.min(l+1,t));break;case"ArrowUp":e.preventDefault(),n(l=>Math.max(l-1,0));break;case"Enter":e.preventDefault(),r();break;case"Escape":e.preventDefault(),a();break}}function N_(e,t){if(!t)return e;const n=e.toLowerCase(),r=t.toLowerCase(),a=new Array(e.length).fill(!1),l=n.indexOf(r);if(l>=0)for(let f=l;f<l+r.length;f++)a[f]=!0;else{let f=0;for(let p=0;p<e.length&&f<r.length;p++)n[p]===r[f]&&(a[p]=!0,f++)}const u=[];let c="",d=a[0]??!1;for(let f=0;f<e.length;f++)a[f]===d?c+=e[f]:(u.push(d?i.jsx("span",{className:"font-semibold text-accent-primary",children:c},u.length):c),c=e[f],d=a[f]);return u.push(d?i.jsx("span",{className:"font-semibold text-accent-primary",children:c},u.length):c),i.jsx(i.Fragment,{children:u})}function QT(){const[e,t]=A.useState(!1),[n,r]=A.useState(null),[a,l]=A.useState(""),[u,c]=A.useState(""),d=A.useRef(null),f=Le(H=>H.sessions),p=zt(H=>H.projects),m=zt(H=>H.loading),x=zt(H=>H.listProjects),y=Le(H=>H.listSessions),w=zt(H=>H.deleteProject),C=Le(H=>H.connectionStatus);A.useEffect(()=>{C==="connected"&&(x(),y())},[C,x,y]),A.useEffect(()=>{const H=setTimeout(()=>c(a),150);return()=>clearTimeout(H)},[a]);const{matchCount:_,filteredSessionIds:S,relevanceScores:v,matchTypes:b,promptSnippets:E}=A.useMemo(()=>{if(!u)return{matchCount:0,filteredSessionIds:null,relevanceScores:null,matchTypes:null,promptSnippets:null};const H=new Map(p.map(z=>[z.id,z])),F=new Map,G=new Map,Z=new Map,q=f.filter(z=>{var Y;const I=H.get(z.projectId),B=(I==null?void 0:I.name)??"",K=z.title??"",P=((Y=z.recentUserPrompts)==null?void 0:Y.map(W=>W.content))??[],ee=P.join(" ");let Q=0,te="";if(Va(K,u)&&(Q+=10,te="title"),Va(ee,u)){Q+=3,te=te==="title"?"title":"prompts";const W=P.find(ne=>Va(ne,u));if(W){const ne=W.toLowerCase().indexOf(u.toLowerCase());if(ne>=0){const se=Math.max(0,ne-30),pe=Math.min(W.length,ne+u.length+30);Z.set(z.id,(se>0?"…":"")+W.slice(se,pe)+(pe<W.length?"…":""))}else Z.set(z.id,W.slice(0,80)+(W.length>80?"…":""))}}return Va(B,u)&&(Q+=1,te=te||"project"),F.set(z.id,Q),G.set(z.id,te),Q>0});return{matchCount:q.length,filteredSessionIds:new Set(q.map(z=>z.id)),relevanceScores:F,matchTypes:G,promptSnippets:Z}},[f,u,p]),j=A.useMemo(()=>{const H=new Map;for(const F of f){const G=new Date(F.updatedAt).getTime(),Z=H.get(F.projectId)??0;G>Z&&H.set(F.projectId,G)}return H},[f]),T=A.useMemo(()=>{const H=new Map;for(const F of f){const G=H.get(F.projectId);G?G.push(F):H.set(F.projectId,[F])}for(const[,F]of H)F.sort((G,Z)=>new Date(Z.updatedAt).getTime()-new Date(G.updatedAt).getTime());return H},[f]),D=A.useMemo(()=>{let H=p;return u&&S&&(H=p.filter(F=>{const G=T.get(F.id);return G==null?void 0:G.some(Z=>S.has(Z.id))})),[...H].sort((F,G)=>{const Z=j.get(F.id)??new Date(F.updatedAt).getTime();return(j.get(G.id)??new Date(G.updatedAt).getTime())-Z})},[p,T,u,S,j]),L=A.useCallback(H=>{const F=T.get(H);return F?u&&S&&v?F.filter(G=>S.has(G.id)).sort((G,Z)=>{const q=(v.get(Z.id)??0)-(v.get(G.id)??0);return q!==0?q:new Date(Z.updatedAt).getTime()-new Date(G.updatedAt).getTime()}):F.slice(0,5):[]},[T,u,S,v]),R=()=>{t(!0)},M=()=>{var H;l(""),c(""),(H=d.current)==null||H.focus()},V=H=>{var F;H.key==="Escape"&&(M(),(F=d.current)==null||F.blur())},U=u.length>0,O=U&&_===0;return i.jsxs("div",{className:"flex-1 flex flex-col overflow-y-auto bg-primary",children:[i.jsxs("div",{className:"max-w-5xl mx-auto w-full p-4 md:p-8",children:[i.jsxs("div",{className:"mb-6 md:mb-8 flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-3xl font-bold text-accent-primary",children:"OpenFox"}),i.jsx("p",{className:"text-text-secondary",children:"Local LLM-powered coding assistant with contract-driven execution"})]}),i.jsx(Qe,{variant:"primary",onClick:R,children:"Open Project"})]}),f.length>0&&i.jsxs("div",{className:"mb-4 md:mb-6 relative",children:[i.jsxs("div",{className:"relative flex items-center",children:[i.jsx(Xa,{className:"absolute left-3 w-4 h-4 text-text-muted pointer-events-none"}),i.jsx("input",{ref:d,type:"text",value:a,onChange:H=>l(H.target.value),onKeyDown:V,placeholder:"Search sessions by title or keyword...",className:"w-full bg-bg-secondary border border-border rounded-lg pl-10 pr-10 py-2.5 text-sm text-text-primary placeholder-text-muted focus:outline-none focus:ring-2 focus:ring-accent-primary/50 focus:border-accent-primary transition-colors"}),a&&i.jsx("button",{type:"button",onClick:M,className:"absolute right-3 p-0.5 rounded text-text-muted hover:text-text-primary hover:bg-bg-tertiary transition-colors","aria-label":"Clear search",children:i.jsx(oi,{className:"w-4 h-4"})})]}),U&&!O&&i.jsxs("div",{className:"mt-1.5 text-xs text-text-muted px-1",children:[_," ",_===1?"match":"matches"]})]}),O?i.jsxs("div",{className:"text-center py-16 text-text-muted",children:[i.jsx(Xa,{className:"w-10 h-10 mx-auto mb-4 opacity-40"}),i.jsxs("p",{className:"text-lg",children:["No sessions matching ",i.jsxs("span",{className:"text-text-primary font-medium",children:["“",u,"”"]})]}),i.jsx("p",{className:"mt-2 text-sm",children:"Try a different keyword or clear the search"})]}):D.map(H=>{const F=L(H.id);return i.jsx("div",{className:"mb-6 md:mb-8",children:i.jsxs("div",{className:"bg-bg-secondary border border-border rounded-lg overflow-hidden",children:[i.jsxs("div",{className:"p-3 md:p-4 border-b border-border flex items-center justify-between gap-2",children:[i.jsxs(or,{href:`/p/${H.id}`,className:"flex items-center gap-2 cursor-pointer hover:opacity-80 transition-opacity flex-1",children:[i.jsx(qr,{className:"w-5 h-5 text-accent-primary flex-shrink-0"}),i.jsx("span",{className:"text-text-primary font-semibold",children:H.name})]}),i.jsx(or,{href:`/p/${H.id}/new`,className:"rounded font-medium transition-colors bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40 px-1.5 py-1 text-xs",children:"+ New Session"}),i.jsx("button",{type:"button",onClick:()=>r({id:H.id,name:H.name}),className:"p-1.5 rounded text-text-muted hover:text-accent-error hover:bg-accent-error/10 transition-colors",title:"Delete project",children:i.jsx(ro,{className:"w-4 h-4"})})]}),i.jsx("div",{className:"divide-y divide-border",children:F.length>0?F.map(G=>{const Z=p.find(B=>G.projectId===B.id),q=Z?`/p/${Z.id}/s/${G.id}`:"#",z=G.title??G.id.slice(0,8),I=b==null?void 0:b.get(G.id);return i.jsx(or,{href:q,className:"block p-3 md:p-4 hover:bg-bg-tertiary/50 cursor-pointer transition-colors",children:i.jsxs("div",{className:"flex items-center justify-between gap-2",children:[i.jsx("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"text-sm text-text-muted truncate",children:U&&I==="title"?N_(z,u):z}),U&&I&&I!=="title"&&i.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-1",children:[i.jsx("span",{className:"text-[10px] font-medium text-accent-primary border border-accent-primary/30 bg-accent-primary/8 rounded px-1 py-0.5 leading-none",children:I==="prompts"?"prompts":"project"}),I==="prompts"&&(E==null?void 0:E.get(G.id))&&i.jsx("span",{className:"text-[11px] text-text-muted truncate max-w-[250px]",children:N_(E.get(G.id),u)})]})]})}),i.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[i.jsx("span",{className:"text-text-muted text-xs",children:MT(G.updatedAt)}),i.jsxs("span",{className:"text-text-muted text-xs",children:[G.messageCount," msgs"]})]})]})},G.id)}):i.jsx("div",{className:"p-3 md:p-4 text-text-muted text-sm",children:"No sessions yet"})})]})},H.id)}),!U&&D.length===0&&!m&&i.jsx("div",{className:"text-center py-12 text-text-muted",children:"No projects yet. Open a project to get started."}),m&&i.jsx("div",{className:"flex justify-center py-12",children:i.jsx(li,{})})]}),e&&i.jsx(XT,{isOpen:e,onClose:()=>t(!1)}),n&&i.jsx(P1,{isOpen:!0,onClose:()=>r(null),projectName:n.name,onConfirm:()=>w(n.id)})]})}function JT(){const[,e]=no("/p/:projectId/new"),[,t]=Bn(),n=e==null?void 0:e.projectId,r=Le(u=>u.createSession),a=Le(u=>u.resetPendingSessionCreate),l=A.useCallback(async()=>{if(!n)return;const u=await r(n);u?(t(`/p/${n}/s/${u.id}`),a()):(t(`/p/${n}`),a())},[n,r,t,a]);return A.useEffect(()=>{l()},[l]),i.jsx("div",{className:"flex-1 flex items-center justify-center",children:i.jsx(li,{})})}function ZT(){const e=zt(t=>t.currentProject);return i.jsx("div",{className:"h-full flex flex-col items-center justify-center p-8 text-center",children:i.jsxs("div",{className:"max-w-md",children:[i.jsx("h2",{className:"text-xl font-semibold text-text-primary mb-2",children:(e==null?void 0:e.name)??"Project"}),i.jsx("p",{className:"text-text-secondary mb-6",children:"No session selected"}),i.jsxs("div",{className:"flex flex-col gap-3",children:[e&&i.jsx(or,{href:`/p/${e.id}/new`,"data-testid":"create-new-session-button",className:"block w-full rounded font-medium transition-colors bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40 px-3 py-2 text-center",children:"Create New Session"}),i.jsx("p",{className:"text-sm text-text-muted",children:"Or select an existing session from the sidebar"})]})]})})}const sl=e=>Math.round(e*10)/10;function eA(e){return typeof e.totalTime=="number"&&!Number.isNaN(e.totalTime)}function ap(e){return{providerId:e.providerId,providerName:e.providerName,backend:e.backend,model:e.model}}function tA(e){return`${e.providerId}::${e.model}`}function nA(e){return`${e.providerName} > ${e.model}`}function T_(e){let t=0,n=0,r=0,a=0,l=0,u=0;const c=[],d=[];let f=0;for(const[x,y]of e.entries()){const w=y.stats,C=ap(w);t+=w.totalTime,n+=w.toolTime,r+=w.prefillTokens,a+=w.generationTokens;const _=w.prefillSpeed>0?w.prefillTokens/w.prefillSpeed:0,S=w.generationSpeed>0?w.generationTokens/w.generationSpeed:0;l+=_,u+=S,c.push({messageId:y.id,timestamp:y.timestamp,...C,mode:w.mode,responseIndex:x+1,prefillTokens:w.prefillTokens,generationTokens:w.generationTokens,prefillSpeed:w.prefillSpeed,generationSpeed:w.generationSpeed,totalTime:w.totalTime,aiTime:w.totalTime-w.toolTime,toolTime:w.toolTime});const v=w.llmCalls??[];for(const b of v)f+=1,d.push({messageId:y.id,timestamp:b.timestamp??y.timestamp,providerId:b.providerId,providerName:b.providerName,backend:b.backend,model:b.model,mode:w.mode,responseIndex:x+1,sessionCallIndex:f,callIndex:b.callIndex,promptTokens:b.promptTokens,completionTokens:b.completionTokens,ttft:b.ttft,completionTime:b.completionTime,prefillSpeed:b.prefillSpeed,generationSpeed:b.generationSpeed,totalTime:b.totalTime,...b.temperature!==void 0&&{temperature:b.temperature},...b.topP!==void 0&&{topP:b.topP},...b.topK!==void 0&&{topK:b.topK},...b.maxTokens!==void 0&&{maxTokens:b.maxTokens}})}const p=l>0?sl(r/l):0,m=u>0?sl(a/u):0;return{totalTime:sl(t),aiTime:sl(t-n),toolTime:sl(n),prefillTokens:r,generationTokens:a,avgPrefillSpeed:p,avgGenerationSpeed:m,responseCount:e.length,llmCallCount:d.length,dataPoints:c,callDataPoints:d}}function rA(e){const t=e.filter(a=>a.stats!==void 0&&a.stats!==null&&eA(a.stats)).sort((a,l)=>new Date(a.timestamp).getTime()-new Date(l.timestamp).getTime());if(t.length===0)return null;const n=new Map;for(const a of t){const l=tA(ap(a.stats)),u=n.get(l)??[];n.set(l,[...u,a])}const r=Array.from(n.entries()).map(([a,l])=>{const u=ap(l[0].stats),c=T_(l);return{...u,key:a,label:nA(u),...c}});return{...T_(t),modelGroups:r}}function sA(e){return A.useMemo(()=>rA(e),[e])}function $1(){var a;const e=Le(l=>l.gitStatus),t=Le(l=>l.currentSession),[n,r]=A.useState(!0);return A.useEffect(()=>{t!=null&&t.workdir&&r(!1)},[t==null?void 0:t.workdir]),{branch:(e==null?void 0:e.branch)??null,diff:{files:((a=e==null?void 0:e.diff)==null?void 0:a.files)??[],loading:n,error:null}}}function z1(){return Qt.getState().platform??null}function H1(e){const t=e.replace(/\\/g,"/");return encodeURI(t).replace(/#/g,"%23").replace(/\?/g,"%3F")}function U1(e,t,n){const r=z1(),a=e.startsWith("/")||e.match(/^[a-zA-Z]:[/\\]/)?e:n?`${n.replace(/\\/g,"/").replace(/\/$/,"")}/${e}`:e,l=H1(a);if(r!=null&&r.isWSL&&r.wslDistro)return`${`vscode://vscode-remote/wsl+${r.wslDistro}${l}`}:${t??1}`;const u=`vscode://file/${l}`;return t?`${u}:${t}`:u}function iA(e){const t=z1(),n=H1(e.replace(/\\/g,"/"));return t!=null&&t.isWSL&&t.wslDistro?`vscode://vscode-remote/wsl+${t.wslDistro}${n}`:`vscode://file/${n}`}function Qa(e){return e.toLocaleString("en-US").replace(/,/g," ")}function A_(e){return Number.isFinite(e)?e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toFixed(1):"0"}function aA(e){if(!Number.isFinite(e))return"0s";if(e<60)return`${e.toFixed(1)}s`;const t=Math.floor(e/60),n=Math.round(e%60);return`${t}m${n}s`}const L_=Object.assign(Object.create(null),{criteria:"Acceptance Criteria",review_findings:"Review Findings",todos:"Tasks"}),D_=Object.assign(Object.create(null),{criteria:"criteria",review_findings:"review findings",todos:"tasks"});function op(e){return Object.hasOwn(L_,e)?L_[e]:e.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function oA(e){return Object.hasOwn(D_,e)?D_[e]:e.replace(/_/g," ")}const R_=["▁","▂","▃","▄","▅","▆","▇","█"];function lA(e,t,n){if(n===t)return 4;const r=(e-t)/(n-t);return Math.min(7,Math.max(0,Math.round(r*7)))}function cA(e,t){if(e===t){const a=Math.max(Math.abs(e)*.05,1);return{minY:e-a,maxY:t+a}}const n=t-e,r=Math.max(n*.1,.1);return{minY:e-r,maxY:t+r}}function uA(e,t){if(e.length===0||t<=0)return{blocks:"",minX:0,maxX:0,minY:0,maxY:0};const n=[...e].sort((x,y)=>x.x-y.x),r=n[0].x,a=n[n.length-1].x,l=Math.min(...n.map(x=>x.y)),u=Math.max(...n.map(x=>x.y)),{minY:c,maxY:d}=cA(l,u),f=Math.max(0,c),p=Array.from({length:t},()=>" "),m=new Map;for(const x of n){const y=a===r?0:Math.round((x.x-r)/(a-r)*(t-1)),w=m.get(y)??[];m.set(y,[...w,x.y])}for(const[x,y]of m){const w=Math.max(...y);p[x]=R_[lA(w,c,d)]??R_[0]}return{blocks:p.join(""),minX:r,maxX:a,minY:f,maxY:d}}function O_(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toFixed(1)}function I_({data:e,width:t=60,height:n=78,label:r,xLabel:a,yLabel:l,showAxes:u=!0,formatY:c=O_,formatX:d=O_}){const f=A.useMemo(()=>{const p=uA(e,t),m=Math.max(t*6,240),x=10,y=8,C=[...e].sort((b,E)=>b.x-E.x).map(b=>{const E=p.maxX===p.minX?m/2:x+(b.x-p.minX)/(p.maxX-p.minX)*(m-x*2),j=p.maxY===p.minY?n/2:y+(p.maxY-b.y)/(p.maxY-p.minY)*(n-y*2);return{...b,cx:E,cy:j,leftPercent:E/m*100,topPercent:j/n*100}}),_=C.map((b,E)=>`${E===0?"M":"L"} ${b.cx.toFixed(1)} ${b.cy.toFixed(1)}`).join(" "),v=[p.maxY,(p.maxY+p.minY)/2,p.minY].map(b=>({value:b,y:p.maxY===p.minY?n/2:y+(p.maxY-b)/(p.maxY-p.minY)*(n-y*2)}));return{...p,chartWidth:m,points:C,path:_,gridLines:v}},[e,n,t]);return e.length===0?i.jsxs("div",{className:"font-mono text-text-muted text-xs",children:[r&&i.jsx("div",{className:"mb-1",children:r}),i.jsx("div",{children:"No data"})]}):i.jsxs("div",{className:"font-mono text-xs",children:[r&&i.jsx("div",{className:"text-text-secondary mb-2",children:r}),i.jsxs("div",{className:"flex gap-3",children:[u&&i.jsx("div",{className:"w-12 h-[78px] flex flex-col justify-between text-right text-text-muted",children:f.gridLines.map(p=>i.jsx("span",{children:c(p.value)},`${p.value}-${p.y}`))}),i.jsx("div",{className:"flex-1 min-w-0",children:i.jsxs("div",{className:"relative h-[78px]",children:[i.jsxs("svg",{viewBox:`0 0 ${f.chartWidth} ${n}`,className:"w-full h-[78px] overflow-visible",preserveAspectRatio:"none","aria-hidden":"true",children:[f.gridLines.map(p=>i.jsx("line",{x1:"0",x2:f.chartWidth,y1:p.y,y2:p.y,stroke:"currentColor",strokeDasharray:"3 4",className:"text-border/60"},`grid-${p.y}`)),f.points.map(p=>i.jsx("line",{x1:p.cx,x2:p.cx,y1:n-4,y2:p.cy,stroke:"currentColor",className:"text-border/40"},`guide-${p.cx}-${p.cy}`)),f.points.length>1&&i.jsx("path",{d:f.path,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-accent-primary/45"})]}),f.points.map(p=>i.jsx("div",{className:"absolute -translate-x-1/2 -translate-y-1/2",style:{left:`${p.leftPercent}%`,top:`${p.topPercent}%`},title:`${d(p.x)} -> ${c(p.y)}`,children:i.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-accent-primary/20 flex items-center justify-center",children:i.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-accent-primary"})})},`point-${p.x}-${p.y}`))]})})]}),u&&i.jsxs("div",{className:"flex items-start gap-3 text-text-muted mt-1",children:[i.jsx("span",{className:"w-12"}),i.jsxs("span",{className:"flex-1 flex justify-between",children:[i.jsx("span",{children:d(f.minX)}),i.jsx("span",{children:a}),i.jsx("span",{children:d(f.maxX)})]})]}),l&&u&&i.jsx("div",{className:"text-text-muted mt-1 text-center",children:l})]})}function dA({data:e,prefillLabel:t="Prefill Speed (tok/s) by Response",generationLabel:n="Generation Speed (tok/s) by Response",xLabel:r="response",width:a=60}){const l=e.map(c=>({x:c.x,y:c.ppSpeed})),u=e.map(c=>({x:c.x,y:c.tgSpeed}));return i.jsxs("div",{className:"space-y-5",children:[i.jsx(I_,{data:l,width:a,label:t,xLabel:r}),i.jsx(I_,{data:u,width:a,label:n,xLabel:r})]})}function hA(e){const t=new Map;for(const n of e.callDataPoints){const r=t.get(n.messageId)??[];t.set(n.messageId,[...r,n])}return e.dataPoints.map(n=>{const r=[...t.get(n.messageId)??[]].sort((a,l)=>a.callIndex-l.callIndex);return{...n,callCount:r.length,calls:r,isExpandable:r.length>1}})}function fA(e){return{mode:"responses",xLabel:"response",prefillLabel:"Prefill Speed (tok/s) by Response",generationLabel:"Generation Speed (tok/s) by Response",points:e.dataPoints.map(t=>({x:t.responseIndex,ppSpeed:t.prefillSpeed,tgSpeed:t.generationSpeed}))}}function mA(e){return{mode:"calls",xLabel:"context",prefillLabel:"Prefill Speed (tok/s) vs Context",generationLabel:"Generation Speed (tok/s) vs Context",points:e.callDataPoints.map(t=>({x:t.promptTokens,ppSpeed:t.prefillSpeed,tgSpeed:t.generationSpeed}))}}function pA(e){return e.callDataPoints.length>0?mA(e):fA(e)}function fm(e){if(e<60)return`${e.toFixed(1)}s`;const t=Math.floor(e/60),n=e%60;return`${t}m ${n.toFixed(0)}s`}function Hi(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toString()}function pl(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toFixed(1)}function gA(e){if(e.length===0)return"0 ctx";const t=Math.min(...e),n=Math.max(...e);return t===n?`${Hi(t)} ctx`:`${Hi(t)}-${Hi(n)} ctx`}function $u(e){return`${pl(e)} t/s`}function F1(e){try{return new Date(e).toLocaleTimeString("en-US",{hour12:!1})}catch{return e}}function xA(e){return{exportedAt:new Date().toISOString(),providerId:e.providerId,providerName:e.providerName,backend:e.backend,model:e.model,label:e.label,summary:{totalTime:e.totalTime,aiTime:e.aiTime,toolTime:e.toolTime,prefillTokens:e.prefillTokens,generationTokens:e.generationTokens,avgPrefillSpeed:e.avgPrefillSpeed,avgGenerationSpeed:e.avgGenerationSpeed,responseCount:e.responseCount,llmCallCount:e.llmCallCount},responses:e.dataPoints.map(t=>({responseIndex:t.responseIndex,timestamp:t.timestamp,mode:t.mode,prefillTokens:t.prefillTokens,generationTokens:t.generationTokens,prefillSpeed:t.prefillSpeed,generationSpeed:t.generationSpeed,totalTime:t.totalTime,aiTime:t.aiTime,toolTime:t.toolTime})),llmCalls:e.callDataPoints.map(t=>({sessionCallIndex:t.sessionCallIndex,responseIndex:t.responseIndex,callIndex:t.callIndex,timestamp:t.timestamp,mode:t.mode,promptTokens:t.promptTokens,completionTokens:t.completionTokens,ttft:t.ttft,completionTime:t.completionTime,prefillSpeed:t.prefillSpeed,generationSpeed:t.generationSpeed,totalTime:t.totalTime}))}}function yA({isOpen:e,onClose:t,stats:n}){const r=A.useRef(null),[a,l]=A.useState({}),[u,c]=A.useState(()=>{var w;return((w=n.modelGroups[0])==null?void 0:w.key)??""});A.useEffect(()=>{var w;n.modelGroups.some(C=>C.key===u)||c(((w=n.modelGroups[0])==null?void 0:w.key)??"")},[u,n.modelGroups]);const d=A.useMemo(()=>n.modelGroups.find(w=>w.key===u)??n.modelGroups[0],[u,n.modelGroups]),f=A.useMemo(()=>d?hA(d):[],[d]),p=A.useMemo(()=>d?pA(d):{mode:"responses",xLabel:"response",prefillLabel:"",generationLabel:"",points:[]},[d]),m=A.useCallback(w=>{l(C=>({...C,[w]:!C[w]}))},[]),x=A.useCallback(()=>{if(!d)return;const w=xA(d);navigator.clipboard.writeText(JSON.stringify(w,null,2)).catch(C=>console.error("Failed to copy:",C))},[d]),y=A.useCallback(async()=>{if(r.current)try{const w=(await J(async()=>{const{default:S}=await import("./html2canvas.esm-QH1iLAAe.js");return{default:S}},[])).default,C=await w(r.current,{backgroundColor:"#1a1a1a",scale:2}),_=document.createElement("a");_.download=`openfox-stats-${new Date().toISOString().slice(0,10)}.png`,_.href=C.toDataURL("image/png"),_.click()}catch(w){console.error("Failed to export PNG:",w),x()}},[x]);return i.jsx(St,{isOpen:e,onClose:t,title:"Session Stats",size:"lg",children:i.jsxs("div",{ref:r,className:"space-y-6",children:[i.jsx("section",{children:i.jsx("div",{className:"flex flex-wrap gap-2",children:n.modelGroups.map(w=>i.jsx("button",{onClick:()=>c(w.key),className:`px-3 py-1.5 rounded border text-xs transition-colors ${w.key===(d==null?void 0:d.key)?"border-accent-primary bg-accent-primary/10 text-accent-primary":"border-border text-text-muted hover:text-text-primary hover:bg-bg-tertiary/40"}`,title:w.label,children:w.label},w.key))})}),d&&i.jsxs("section",{children:[i.jsx("h3",{className:"text-sm font-semibold text-text-secondary mb-3 uppercase tracking-wide",children:"Summary"}),i.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-4",children:[i.jsx(fs,{label:"AI Time",value:fm(d.aiTime)}),i.jsx(fs,{label:"Total Time",value:fm(d.totalTime)}),i.jsx(fs,{label:"Tool Time",value:fm(d.toolTime)}),i.jsx(fs,{label:"Responses",value:d.responseCount.toString()}),i.jsx(fs,{label:"LLM Calls",value:d.llmCallCount.toString()})]}),i.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 mt-3",children:[i.jsx(fs,{label:"Prefill Tokens",value:Hi(d.prefillTokens),subValue:`@ ${pl(d.avgPrefillSpeed)} tok/s`}),i.jsx(fs,{label:"Gen Tokens",value:Hi(d.generationTokens),subValue:`@ ${pl(d.avgGenerationSpeed)} tok/s`}),i.jsx(fs,{label:"Avg PP Speed",value:`${pl(d.avgPrefillSpeed)}`,subValue:"tok/s"}),i.jsx(fs,{label:"Avg TG Speed",value:`${pl(d.avgGenerationSpeed)}`,subValue:"tok/s"})]})]}),d&&p.points.length>1&&i.jsxs("section",{children:[i.jsxs("div",{className:"flex items-center justify-between mb-3",children:[i.jsx("h3",{className:"text-sm font-semibold text-text-secondary uppercase tracking-wide",children:"Performance Progression"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:x,className:"px-2 py-1 text-xs text-text-muted hover:text-text-primary hover:bg-bg-tertiary rounded transition-colors",children:"Copy JSON"}),i.jsx("button",{onClick:y,className:"px-2 py-1 text-xs text-text-muted hover:text-text-primary hover:bg-bg-tertiary rounded transition-colors",children:"Save PNG"})]})]}),i.jsx("div",{className:"bg-bg-tertiary/50 rounded p-4",children:i.jsx(dA,{data:p.points,width:50,prefillLabel:p.prefillLabel,generationLabel:p.generationLabel,xLabel:p.xLabel})})]}),d&&i.jsxs("section",{children:[i.jsxs("h3",{className:"text-sm font-semibold text-text-secondary mb-3 uppercase tracking-wide",children:["Response Log (",d.responseCount," responses)"]}),i.jsx("div",{className:"overflow-y-auto bg-bg-tertiary/30 rounded",children:i.jsxs("table",{className:"w-full table-fixed border-separate border-spacing-0 text-xs",children:[i.jsxs("colgroup",{children:[i.jsx("col",{className:"w-[7%]"}),i.jsx("col",{className:"w-[14%]"}),i.jsx("col",{className:"w-[10%]"}),i.jsx("col",{className:"w-[14%]"}),i.jsx("col",{className:"w-[14%]"}),i.jsx("col",{className:"w-[14%]"}),i.jsx("col",{className:"w-[11%]"}),i.jsx("col",{className:"w-[2%]"})]}),i.jsx("thead",{children:i.jsxs("tr",{className:"text-[10px] uppercase tracking-wide text-text-muted/80",children:[i.jsx("th",{className:"px-3 py-2 text-center font-medium",children:"#"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"At"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"Time"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"Context"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"PP t/s"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"TG t/s"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"Calls"}),i.jsx("th",{className:"px-2 py-2"})]})}),i.jsx("tbody",{children:f.map((w,C)=>i.jsxs(A.Fragment,{children:[i.jsx(bA,{row:w,index:C,isExpanded:a[w.messageId]??!1,onToggle:w.isExpandable?()=>m(w.messageId):void 0}),(a[w.messageId]??!1)&&w.calls.map((_,S)=>i.jsx(vA,{dataPoint:_,index:S},`${_.messageId}-${_.callIndex}`))]},w.messageId))})]})})]})]})})}function fs({label:e,value:t,subValue:n}){return i.jsxs("div",{className:"bg-bg-tertiary/50 rounded p-3",children:[i.jsx("div",{className:"text-text-muted text-xs mb-1",children:e}),i.jsx("div",{className:"text-text-primary text-lg font-semibold",children:t}),n&&i.jsx("div",{className:"text-text-muted text-xs",children:n})]})}function bA({row:e,index:t,isExpanded:n,onToggle:r}){const a=e.calls.length>0?gA(e.calls.map(l=>l.promptTokens)):`${Hi(e.prefillTokens)} ctx`;return i.jsxs("tr",{onClick:r,className:`${t%2===0?"bg-bg-tertiary/20":""} ${r?"cursor-pointer hover:bg-bg-tertiary/35 transition-colors":""}`,children:[i.jsx("td",{className:"px-3 py-2 text-center text-text-muted align-middle",children:e.responseIndex}),i.jsx("td",{className:"px-2 py-2 text-center text-text-muted font-mono align-middle whitespace-nowrap",children:F1(e.timestamp)}),i.jsxs("td",{className:"px-2 py-2 text-center text-text-muted align-middle whitespace-nowrap",children:[e.totalTime.toFixed(1),"s"]}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:a.replace(/ ctx$/,"")}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:$u(e.prefillSpeed)}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:$u(e.generationSpeed)}),i.jsx("td",{className:"px-2 py-2 text-center text-text-muted font-mono align-middle whitespace-nowrap",children:e.callCount}),i.jsx("td",{className:"px-2 py-2 text-center text-text-muted align-middle whitespace-nowrap",children:e.isExpandable?n?"v":">":""})]})}function vA({dataPoint:e,index:t}){const n=e.temperature!==void 0||e.topP!==void 0||e.topK!==void 0||e.maxTokens!==void 0;return i.jsxs(i.Fragment,{children:[i.jsxs("tr",{className:`${t%2===0?"bg-bg-tertiary/10":"bg-bg-tertiary/5"}`,children:[i.jsxs("td",{className:"px-3 py-2 pl-6 text-center text-text-muted align-middle border-l border-border/60",children:["c",e.callIndex]}),i.jsx("td",{className:"px-2 py-2 text-center text-text-muted font-mono align-middle whitespace-nowrap",children:F1(e.timestamp)}),i.jsxs("td",{className:"px-2 py-2 text-center text-text-muted align-middle whitespace-nowrap",children:[e.totalTime.toFixed(1),"s"]}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:Hi(e.promptTokens)}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:$u(e.prefillSpeed)}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:$u(e.generationSpeed)}),i.jsx("td",{className:"px-2 py-2 text-center text-text-muted font-mono align-middle whitespace-nowrap",children:e.callIndex}),i.jsx("td",{className:"px-2 py-2"})]}),n&&i.jsx("tr",{className:`${t%2===0?"bg-bg-tertiary/5":"bg-bg-tertiary/[2.5%]"}`,children:i.jsx("td",{colSpan:8,className:"px-6 py-1.5 border-l border-border/60",children:i.jsxs("div",{className:"flex flex-wrap gap-x-4 gap-y-1 text-[10px] text-text-muted",children:[e.temperature!==void 0&&i.jsxs("span",{children:["temp: ",e.temperature.toFixed(2)]}),e.topP!==void 0&&i.jsxs("span",{children:["topP: ",e.topP.toFixed(2)]}),e.topK!==void 0&&i.jsxs("span",{children:["topK: ",e.topK]}),e.maxTokens!==void 0&&i.jsxs("span",{children:["maxTok: ",e.maxTokens]})]})})})]})}const _A={passed:{icon:"✓",color:"text-accent-success"},completed:{icon:"◉",color:"text-purple-400"},failed:{icon:"✗",color:"text-accent-error"},resolved:{icon:"✓",color:"text-accent-success"},dismissed:{icon:"–",color:"text-text-muted"},open:{icon:"○",color:"text-accent-warning"},pending:{icon:"○",color:"text-text-muted"},in_progress:{icon:"◌",color:"text-accent-warning"}},SA=["open","in_progress","pending","completed","resolved","dismissed","passed","failed"];function wA(e){return _A[e]??{icon:"○",color:"text-text-muted"}}function Zp(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value}const zl=A.memo(function({status:t,className:n="text-xs leading-tight flex-shrink-0"}){const{icon:r,color:a}=wA(t);return i.jsx("span",{className:`${a} ${n}`,children:r})});function M_({entries:e,title:t}){const n=A.useMemo(()=>e.reduce((r,a)=>(r[a.status]=(r[a.status]??0)+1,r),{}),[e]);return i.jsxs("h3",{className:"text-sm font-semibold text-text-primary mb-2 flex items-center justify-between",children:[i.jsx("span",{children:t}),Object.keys(n).length>0&&i.jsx("span",{className:"font-normal text-xs flex items-center gap-1.5",children:SA.map(r=>{const a=n[r];return a?i.jsxs("span",{className:"flex items-center gap-0.5",children:[i.jsx(zl,{status:r}),i.jsx("span",{children:a})]},r):null})})]})}const CA=A.memo(function({entries:t,title:n,onClearAll:r}){const[a,l]=A.useState(!1),u=A.useCallback(()=>{l(!1),r==null||r()},[r]);return t.length===0?null:i.jsxs("div",{className:"my-1 rounded border border-border bg-secondary overflow-hidden",children:[n&&i.jsx("div",{className:"px-1.5 py-1 border-b border-border bg-secondary",children:i.jsx("span",{className:"text-xs font-medium text-text-muted",children:n})}),i.jsx("div",{className:"bg-primary",children:t.map((c,d)=>i.jsxs("div",{className:`flex items-start gap-1 px-1.5 py-1 ${d>0?"border-t border-border":""}`,children:[i.jsx(zl,{status:c.status}),i.jsxs("div",{className:"flex-1 min-w-0 text-xs truncate",children:[i.jsxs("span",{className:"text-text-muted",children:["[",c.id,"]"]})," ",Zp(c.description)]})]},c.id??d))}),r&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"px-1.5 py-1 border-t border-border bg-secondary flex items-center gap-2",children:i.jsxs("button",{onClick:()=>l(!0),className:"flex items-center gap-1 text-xs text-text-muted hover:text-accent-error transition-colors ml-auto cursor-pointer",title:"Clear all",children:[i.jsx(ro,{className:"w-3 h-3"}),"Clear all"]})}),a&&i.jsx("div",{className:"px-1.5 py-1 border-t border-border bg-secondary",children:i.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[i.jsx("span",{className:"text-xs text-accent-error",children:"Clear all?"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:u,className:"text-xs text-accent-error hover:text-accent-error/70 transition-colors cursor-pointer",children:"Yes"}),i.jsx("button",{onClick:()=>l(!1),className:"text-xs text-text-muted hover:text-text-primary transition-colors cursor-pointer",children:"No"})]})]})})]})]})}),kA={criteria:["pending","completed","passed","failed"],todos:["pending","in_progress","completed"],review_findings:["open","resolved","dismissed"]},EA=["pending","completed","failed","dismissed"];function jA(e){return kA[e]??EA}function NA(e,t){const n=t.indexOf(e);return n===-1?t[0]??"pending":t[(n+1)%t.length]??"pending"}function TA({entries:e,sessionId:t,metadataKey:n,title:r,isOpen:a,onClose:l}){const[u,c]=A.useState(e),[d,f]=A.useState(null),[p,m]=A.useState(""),[x,y]=A.useState(!1),[w,C]=A.useState(""),_=A.useRef(null),S=A.useRef(null),v=A.useCallback(()=>{const U=S.current;U&&(U.style.height="auto",U.style.height=U.scrollHeight+"px")},[]);A.useEffect(()=>{c(e)},[e]),A.useEffect(()=>{var U;d&&(v(),(U=S.current)==null||U.focus())},[d,v]),A.useEffect(()=>{var U;x&&((U=_.current)==null||U.focus())},[x]);const b=A.useCallback(U=>{c(U),_e(`/api/sessions/${t}/metadata/${n}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({entries:U})}).catch(O=>console.error(`Failed to sync ${n}:`,O))},[t,n]),E=A.useCallback(U=>{const O=jA(n),H=u.map(F=>F.id===U?{...F,status:NA(F.status,O)}:F);b(H)},[u,n,b]),j=A.useCallback((U,O)=>{f(U),m(O)},[]),T=A.useCallback((U,O,H)=>{var Z;const F=(O.trim()||((Z=H.find(q=>q.id===U))==null?void 0:Z.description))??"",G=H.map(q=>q.id===U?{...q,description:F}:q);b(G)},[b]),D=A.useCallback(()=>{d&&(T(d,p,u),f(null))},[d,p,u,T]),L=A.useCallback(U=>{U.key==="Enter"&&D(),U.key==="Escape"&&(U.stopPropagation(),f(null))},[D]),R=A.useCallback(U=>{b(u.filter(O=>O.id!==U))},[u,b]),M=A.useCallback(()=>{const U=w.trim();if(!U)return;const O=u.map(F=>Number(F.id)).filter(F=>Number.isInteger(F)&&F>=0),H=String(Math.max(-1,...O)+1);b([...u,{id:H,description:U,status:"pending"}]),C("")},[w,u,b]),V=A.useCallback(U=>{U.key==="Enter"&&(U.preventDefault(),M()),U.key==="Escape"&&(y(!1),C(""))},[M]);return i.jsxs(St,{isOpen:a,onClose:l,title:r,size:"full",showCloseButton:!0,closeOnEscape:!0,children:[i.jsxs("ul",{className:"space-y-1",children:[u.map((U,O)=>{const H=d===U.id,F=i.jsxs("button",{onClick:()=>j(U.id,U.description),className:"text-sm text-text-primary text-left hover:text-accent-primary transition-colors w-full cursor-pointer",title:"Click to edit",children:[i.jsxs("span",{className:"text-text-muted",children:["[",U.id,"]"]})," ",i.jsx("span",{children:Zp(U.description)})]}),G=H?i.jsx("textarea",{ref:S,value:p,onChange:Z=>{m(Z.target.value),v()},onBlur:D,onKeyDown:L,className:"w-full bg-bg-tertiary text-text-primary text-sm px-2 py-1 rounded border border-border focus:outline-none focus:border-accent-primary resize-none",rows:1}):F;return i.jsxs("li",{className:`flex items-start gap-2 px-2 py-1.5 ${O>0?"border-t border-border":""}`,children:[i.jsx("button",{onClick:()=>E(U.id),className:"flex-shrink-0 cursor-pointer hover:opacity-70 transition-opacity mt-0.5",title:"Click to cycle status",children:i.jsx(zl,{status:U.status})}),i.jsx("div",{className:"flex-1 min-w-0",children:G}),i.jsx("button",{onClick:()=>R(U.id),className:"flex-shrink-0 text-text-muted hover:text-accent-error transition-colors cursor-pointer mt-0.5 ml-auto",title:"Delete entry",children:i.jsx("span",{className:"flex",children:i.jsx(oi,{className:"w-4 h-4"})})})]},U.id)}),u.length===0&&i.jsx("p",{className:"text-sm text-text-muted italic text-center py-4",children:"No entries yet."})]}),i.jsx("div",{className:"mt-4 pt-3 border-t border-border",children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted text-sm leading-tight",children:"○"}),i.jsx("input",{ref:_,value:w,onChange:U=>C(U.target.value),onKeyDown:V,placeholder:"New entry...",className:"flex-1 bg-bg-tertiary text-text-primary text-sm px-2 py-1 rounded border border-border focus:outline-none focus:border-accent-primary placeholder-text-muted"}),i.jsxs("button",{onClick:M,className:"flex items-center gap-1 text-sm text-accent-primary hover:text-accent-primary/70 transition-colors cursor-pointer",title:"Add entry",children:[i.jsx(ws,{className:"w-4 h-4"}),"Add"]})]})})]})}async function V1(e,t,n){t({loading:!0});try{const a=await(await _e(e)).json();t({defaults:a.defaults??[],userItems:a.userItems??[],...n?{projectItems:a.projectItems??[]}:{},loading:!1})}catch{t({loading:!1})}}const AA="#6b7280";function jl(e,t){var n;return((n=e.find(r=>r.id===t))==null?void 0:n.color)??AA}const kt=$n(e=>{const t=async()=>{await V1("/api/agents",e,!0)};return{defaults:[],userItems:[],projectItems:[],loading:!1,fetchAgents:t,fetchAgent:async n=>{try{const r=await _e(`/api/agents/${n}`);return r.ok?await r.json():null}catch{return null}},fetchDefaultContent:async n=>{try{const r=await _e(`/api/agents/defaults/${n}`);return r.ok?await r.json():null}catch{return null}},createAgent:async(n,r)=>{const a=await ai("POST","/api/agents",{...n,destination:r});return a.success&&await t(),a},updateAgent:async(n,r)=>{const a=await ai("PUT",`/api/agents/${n}`,r);return a.success&&await t(),a},deleteAgent:async n=>{try{const r=await _e(`/api/agents/${n}`,{method:"DELETE"}),a=await r.json();return r.ok?(e(l=>({userItems:l.userItems.filter(u=>u.id!==n)})),{success:!0}):{success:!1,error:a.error??"Failed to delete"}}catch{return{success:!1,error:"Network error"}}},duplicateAgent:async(n,r)=>od(`/api/agents/${n}/duplicate`,t,r)}}),Rt=$n((e,t)=>({defaults:[],userItems:[],projectItems:[],activeWorkflowId:"default",loading:!1,templateVariables:[],fetchTemplateVariables:async()=>{try{const r=await(await _e("/api/workflows/template-variables")).json();e({templateVariables:r.variables??[]})}catch{}},fetchWorkflows:async()=>{e({loading:!0});try{const r=await(await _e("/api/workflows")).json();e({defaults:r.defaults??[],userItems:r.userItems??[],projectItems:r.projectItems??[],activeWorkflowId:r.activeWorkflowId??"default",loading:!1})}catch{e({loading:!1})}},fetchWorkflow:async n=>{try{const r=await _e(`/api/workflows/${n}`);return r.ok?await r.json():null}catch{return null}},fetchDefaultContent:async n=>{try{const r=await _e(`/api/workflows/defaults/${n}`);return r.ok?await r.json():null}catch{return null}},createWorkflow:async(n,r)=>{const a=await ai("POST","/api/workflows",{...n,destination:r});return a.success&&await t().fetchWorkflows(),a},updateWorkflow:async(n,r)=>{const a=await ai("PUT",`/api/workflows/${n}`,r);return a.success&&await t().fetchWorkflows(),a},deleteWorkflow:async n=>{try{const r=await _e(`/api/workflows/${n}`,{method:"DELETE"}),a=await r.json();return r.ok?(e(l=>({userItems:l.userItems.filter(u=>u.id!==n)})),{success:!0}):{success:!1,error:a.error??"Failed to delete"}}catch{return{success:!1,error:"Network error"}}},duplicateWorkflow:async(n,r)=>od(`/api/workflows/${n}/duplicate`,()=>t().fetchWorkflows(),r)})),LA={pending:"completed",completed:"passed",passed:"failed",failed:"pending"};async function DA(e,t){await _e(`/api/sessions/${e}/criteria`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({criteria:t})})}function du({id:e,agents:t}){const n=jl(t,e),r=t.find(a=>a.id===e);return i.jsx("span",{className:"font-medium rounded px-1",style:{backgroundColor:`${n}20`,color:n},children:(r==null?void 0:r.name)??e})}function RA({id:e}){const t=Rt(u=>u.defaults),n=Rt(u=>u.userItems),a=A.useMemo(()=>[...t,...n],[t,n]).find(u=>u.id===e),l=(a==null?void 0:a.color)??"#3b82f6";return i.jsx("span",{className:"font-medium rounded px-1",style:{backgroundColor:`${l}20`,color:l},children:(a==null?void 0:a.name)??e})}function OA({entries:e,sessionId:t}){const[n,r]=A.useState(e),[a,l]=A.useState(!1),[u,c]=A.useState(null),[d,f]=A.useState(""),[p,m]=A.useState(""),[x,y]=A.useState(!1),[w,C]=A.useState(!1),_=kt(q=>q.defaults),S=kt(q=>q.userItems),v=kt(q=>q.projectItems),b=A.useMemo(()=>[..._,...S,...v],[_,S,v]),E=A.useRef(null),j=A.useRef(null);A.useEffect(()=>{r(e)},[e]),A.useEffect(()=>{var q;a&&((q=E.current)==null||q.focus())},[a]),A.useEffect(()=>{var q;u&&((q=j.current)==null||q.focus())},[u]);const T=A.useCallback(q=>{r(q),DA(t,q)},[t]),D=A.useCallback(q=>{var P;const z=q.map(ee=>ee.trim()).filter(Boolean);if(z.length===0)return;const I=n.map(ee=>Number(ee.id)).filter(ee=>Number.isInteger(ee)&&ee>=0),B=Math.max(-1,...I)+1,K=z.map((ee,Q)=>({id:String(B+Q),description:ee,status:"pending"}));T([...n,...K]),f(""),(P=E.current)==null||P.focus()},[n,T]),L=A.useCallback(()=>{D([d])},[D,d]),R=A.useCallback(q=>{const z=q.clipboardData.getData("text/plain").split(/\r\n|\r|\n/);z.length<2||(q.preventDefault(),D(z))},[D]),M=A.useCallback(()=>{l(!1),f("")},[]),V=A.useCallback((q,z)=>{c(q),m(z)},[]),U=A.useCallback(()=>{if(!u)return;const q=p.trim(),z=n.map(I=>I.id===u?{...I,description:q||I.description}:I);T(z),c(null)},[u,p,n,T]),O=A.useCallback(q=>{const z=n.map(I=>I.id===q?{...I,status:LA[I.status]??"pending"}:I);T(z)},[n,T]),H=A.useCallback(q=>{T(n.filter(z=>z.id!==q))},[n,T]),F=A.useCallback(()=>{T([]),y(!1)},[T]),G=A.useCallback(q=>{q.key==="Enter"&&(q.preventDefault(),L()),q.key==="Escape"&&M()},[L,M]),Z=A.useCallback(q=>{q.key==="Enter"&&U(),q.key==="Escape"&&c(null)},[U]);return i.jsxs("div",{className:"my-1 rounded border border-border bg-secondary overflow-hidden",children:[i.jsxs("div",{className:"bg-primary",children:[n.length===0&&!a&&i.jsxs("div",{className:"px-1.5 py-2 text-xs text-text-muted italic text-center",children:["No criteria yet."," ",i.jsx("button",{onClick:()=>C(!0),className:"text-accent-primary hover:underline not-italic cursor-pointer",children:"Learn more"})]}),n.map((q,z)=>{const I=q.status,B=u===q.id;return i.jsxs("div",{className:`flex items-start gap-1 px-1.5 py-1 group ${z>0?"border-t border-border":""}`,children:[i.jsx("button",{onClick:()=>O(q.id),className:"text-xs leading-tight flex-shrink-0 cursor-pointer hover:opacity-70 transition-opacity",title:`Status: ${q.status} (click to cycle)`,children:i.jsx(zl,{status:I})}),i.jsx("div",{className:"flex-1 min-w-0",children:B?i.jsx("input",{ref:j,value:p,onChange:K=>m(K.target.value),onBlur:U,onKeyDown:Z,className:"w-full bg-bg-tertiary text-text-primary text-xs px-1.5 py-0.5 rounded border border-border focus:outline-none focus:border-accent-primary"}):i.jsxs("button",{onClick:()=>V(q.id,q.description),className:"text-xs text-text-primary text-left hover:text-accent-primary transition-colors w-full truncate cursor-pointer",title:"Click to edit",children:["[",q.id,"] ",Zp(q.description)]})}),i.jsx("button",{onClick:()=>H(q.id),className:"flex-shrink-0 opacity-0 group-hover:opacity-100 text-text-muted hover:text-accent-error transition-all ml-0.5 cursor-pointer flex items-center self-center",title:"Delete criterion",children:i.jsx(oi,{className:"w-4 h-4"})})]},q.id)})]}),a&&i.jsx("div",{className:"px-1.5 py-1 border-t border-border bg-secondary",children:i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("span",{className:"text-text-muted text-xs leading-tight flex-shrink-0",children:"○"}),i.jsx("input",{ref:E,value:d,onChange:q=>f(q.target.value),onKeyDown:G,onPaste:R,placeholder:"New criterion...",className:"flex-1 bg-bg-tertiary text-text-primary text-xs px-1.5 py-0.5 rounded border border-border focus:outline-none focus:border-accent-primary placeholder-text-muted"})]})}),i.jsxs("div",{className:"px-1.5 py-1 border-t border-border bg-secondary flex items-center gap-2",children:[a?i.jsxs(i.Fragment,{children:[i.jsxs("button",{onClick:L,className:"flex items-center gap-1 text-xs text-accent-primary hover:text-accent-primary/70 transition-colors cursor-pointer",title:"Add criterion",children:[i.jsx(ws,{className:"w-3 h-3"}),"Add"]}),i.jsx("button",{onClick:M,className:"flex items-center gap-1 text-xs text-text-muted hover:text-text-primary transition-colors cursor-pointer",title:"Cancel",children:"Cancel"})]}):i.jsxs("button",{onClick:()=>l(!0),className:"flex items-center gap-1 text-xs text-text-muted hover:text-accent-primary transition-colors cursor-pointer",title:"Add criterion",children:[i.jsx(ws,{className:"w-3 h-3"}),"Add"]}),n.length>0&&i.jsxs("button",{onClick:()=>y(!0),className:"flex items-center gap-1 text-xs text-text-muted hover:text-accent-error transition-colors ml-auto cursor-pointer",title:"Clear all criteria",children:[i.jsx(ro,{className:"w-3 h-3"}),"Clear all"]}),i.jsx("button",{onClick:()=>C(!0),className:"flex items-center gap-1 text-xs text-text-muted hover:text-accent-primary transition-colors cursor-pointer",title:"About criteria",children:i.jsx(Gp,{className:"w-3 h-3"})})]}),x&&i.jsx("div",{className:"px-1.5 py-1 border-t border-border bg-secondary",children:i.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[i.jsx("span",{className:"text-xs text-accent-error",children:"Clear all criteria?"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:F,className:"text-xs text-accent-error hover:text-accent-error/70 transition-colors cursor-pointer",children:"Yes"}),i.jsx("button",{onClick:()=>y(!1),className:"text-xs text-text-muted hover:text-text-primary transition-colors cursor-pointer",children:"No"})]})]})}),i.jsx(St,{isOpen:w,onClose:()=>C(!1),title:"About Acceptance Criteria",size:"md",children:i.jsxs("div",{className:"space-y-3 text-sm text-text-secondary",children:[i.jsx("p",{children:"Each criterion defines a specific requirement that needs to be met."}),i.jsxs("p",{children:["To use this feature, start in ",i.jsx(du,{id:"planner",agents:b})," mode and",i.jsxs("strong",{className:"text-text-primary",children:[" ","ask the agent to define acceptance criteria that matches your goal"]}),". Then launch the ",i.jsx(RA,{id:"default"})," builtin workflow to launch the automation part."]}),i.jsx("p",{children:"This workflow will automatically:"}),i.jsxs("ol",{className:"list-decimal list-inside space-y-1",children:[i.jsxs("li",{children:["Launch the ",i.jsx(du,{id:"builder",agents:b}),' agent, that will be forced to continue until it marks all criteria as "completed"']}),i.jsxs("li",{children:["Then launch the ",i.jsx(du,{id:"verifier",agents:b})," subagent, that will verify each criterion. If every criterion is fulfilled, then it goes to the next step, otherwise, it gives feedback to the main agent until 100% of the criteria are met."]}),i.jsxs("li",{children:["Launch a ",i.jsx(du,{id:"code_reviewer",agents:b})," subagent, that will analyze the code to provide actionable feedback to the main agent."]})]}),i.jsx("div",{className:"bg-bg-tertiary rounded p-3 space-y-1.5",children:i.jsx("p",{children:"This lets smaller models follow complex plans to completion and improves the chances that nothing from your plan is missed."})})]})})]})}function IA({isOpen:e,onClose:t}){const n=Vr(C=>C.config),r=Vr(C=>C.saveConfig),[a,l]=A.useState(""),[u,c]=A.useState(""),[d,f]=A.useState(!1),[p,m]=A.useState(!1),[x,y]=A.useState(!1);A.useEffect(()=>{e&&(l((n==null?void 0:n.command)??""),c((n==null?void 0:n.url)??""),f((n==null?void 0:n.hotReload)??!1),m((n==null?void 0:n.disableInspect)??!1))},[e,n]);const w=async()=>{!a.trim()||!u.trim()||(y(!0),await r({command:a.trim(),url:u.trim(),hotReload:d,disableInspect:p}),y(!1),t())};return i.jsx(St,{isOpen:e,onClose:t,title:"Dev Server Config",size:"sm",children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Command"}),i.jsx("input",{className:"input w-full",type:"text",value:a,onChange:C=>l(C.target.value),placeholder:"npm run dev"})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Dev URL"}),i.jsx("input",{className:"input w-full",type:"text",value:u,onChange:C=>c(C.target.value),placeholder:"http://localhost:3000"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("input",{type:"checkbox",id:"hotReload",checked:d,onChange:C=>f(C.target.checked),className:"rounded border-border bg-bg-tertiary"}),i.jsx("label",{htmlFor:"hotReload",className:"text-xs text-text-secondary",children:"Hot Reload"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("input",{type:"checkbox",id:"disableInspect",checked:p,onChange:C=>m(C.target.checked),className:"rounded border-border bg-bg-tertiary"}),i.jsx("label",{htmlFor:"disableInspect",className:"text-xs text-text-secondary",children:"Disable inspect feedback"})]}),i.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[i.jsx("button",{className:"btn btn-secondary",onClick:t,children:"Cancel"}),i.jsx("button",{className:"btn btn-primary",onClick:w,disabled:x||!a.trim()||!u.trim(),children:x?"Saving...":"Save"})]})]})})}const P_={30:"text-black",31:"text-red-400",32:"text-accent-success",33:"text-accent-warning",34:"text-blue-400",35:"text-purple-400",36:"text-cyan-400",37:"text-gray-300",90:"text-gray-500",91:"text-red-500",92:"text-green-500",93:"text-yellow-400",94:"text-blue-500",95:"text-pink-400",96:"text-cyan-500",97:"text-white"},MA={40:"bg-black",41:"bg-red-900",42:"bg-green-900",43:"bg-yellow-900",44:"bg-blue-900",45:"bg-purple-900",46:"bg-cyan-900",47:"bg-gray-700"},B_={1:"font-bold",2:"opacity-75",4:"underline",7:"bg-bg-secondary"},PA="text-text-primary";function BA(e){const t=[],n=new RegExp("\x1B\\[([0-9;]+)m","g");let r=0,a="text-text-primary",l;try{for(;(l=n.exec(e))!==null;){if(l.index>r){const f=e.slice(r,l.index);f&&t.push({text:f,className:a})}const u=l[1];if(!u)continue;const c=u.split(";").map(Number);if(c.length===0||c[0]===0){a="text-text-primary";continue}const d=[];for(const f of c)if(f>=30&&f<=37){const p=P_[f];p&&d.push(p)}else if(f>=40&&f<=47){const p=MA[f];p&&d.push(p)}else if(f>=90&&f<=97){const p=P_[f];p&&d.push(p)}else if(f in B_){const p=B_[f];p&&d.push(p)}else f===39?d.push(PA):f===49&&(a=a.split(" ").filter(p=>!p.startsWith("bg-")).join(" "));d.length>0&&(a=d.join(" ")),r=n.lastIndex}if(r<e.length){const u=e.slice(r);u&&t.push({text:u,className:a})}return t}catch(u){return console.warn("ANSI parsing failed, stripping codes:",u),[{text:$A(e),className:"text-text-primary"}]}}function $A(e){return e.replace(new RegExp("\x1B\\[([0-9;]+)m","g"),"")}function zu(e){const t=BA(e),n=[];return t.forEach((r,a)=>{const l=r.text.split(`
|
|
92
|
-
`);l.forEach((u,c)=>{n.push(ti.createElement("span",{key:`${a}-${c}`,className:r.className,style:{display:"inline-block",whiteSpace:"pre-wrap"}},u)),c<l.length-1&&n.push(ti.createElement("br",{key:`${a}-${c}-br`}))})}),n.length===1?n[0]:n}function G1({logs:e,preRef:t,preClassName:n="text-sm font-mono"}){return i.jsx("pre",{ref:t,className:n,children:e.length===0?i.jsx("span",{className:"text-text-muted",children:"No output yet"}):e.map((r,a)=>i.jsx("span",{className:r.stream==="stderr"?"text-accent-warning":"",children:zu(r.content)},a))})}function eg({isActive:e,onToggle:t,className:n,style:r}){return i.jsxs("button",{type:"button",onClick:()=>t(!e),className:n,style:r,children:[e?i.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent-success"}):i.jsx(Yn,{className:"w-3 h-3"}),e?"live":"scroll to bottom"]})}const pd=(e,t)=>{const n=A.useRef(!0),r=A.useRef(null),[a,l]=A.useState(!0),u=()=>{const c=e.current;c&&(c.scrollTop=c.scrollHeight)};return A.useEffect(()=>{const c=e.current;if(!c)return;const d=y=>{if(y.deltaY>0){requestAnimationFrame(()=>requestAnimationFrame(()=>{c.scrollHeight-c.scrollTop-c.offsetHeight<100&&(n.current=!0,l(!0))}));return}n.current=!1,l(!1)},f=y=>{y.touches[0]&&(r.current=y.touches[0].clientY)},p=y=>{if(r.current===null)return;const w=y.touches[0];if(!w)return;if(w.clientY-r.current>0){n.current=!1,l(!1);return}requestAnimationFrame(()=>requestAnimationFrame(()=>{c.scrollHeight-c.scrollTop-c.offsetHeight<100&&(n.current=!0,l(!0))}))},m=new MutationObserver(()=>{n.current&&requestAnimationFrame(u)}),x=setInterval(()=>{n.current&&u()},1e3);return c.addEventListener("wheel",d,{passive:!0}),c.addEventListener("touchstart",f,{passive:!0}),c.addEventListener("touchmove",p,{passive:!0}),m.observe(c,{childList:!0,subtree:!0,characterData:!0}),()=>{c.removeEventListener("wheel",d),c.removeEventListener("touchstart",f),c.removeEventListener("touchmove",p),m.disconnect(),clearInterval(x)}},[t==null?void 0:t.id]),{force_scroll_to_bottom:()=>{n.current=!0,l(!0),u()},isAutoScrollActive:a,setAutoScroll:c=>{n.current=c,l(c),c&&u()}}},W1=A.memo(function({title:t,logs:n,onClose:r,preClassName:a}){const l=A.useRef(null),{isAutoScrollActive:u,setAutoScroll:c}=pd(l,null);return i.jsx(St,{isOpen:!0,onClose:r,title:t,size:"full",headerRight:i.jsx(eg,{isActive:u,onToggle:c,className:"text-xs text-text-muted hover:text-text-primary flex items-center gap-1 px-1.5 py-0.5 rounded hover:bg-bg-tertiary transition-colors"}),children:i.jsx("div",{ref:l,className:"h-full overflow-y-auto scrollbar-stable",children:i.jsx(G1,{logs:n,preClassName:a})})})}),zA=A.memo(function({logs:t,anchorRef:n,isHiding:r,isAutoScrollActive:a,onSetAutoScroll:l}){const[u,c]=A.useState(null),d=A.useRef(null),f=A.useRef(l);return f.current=l,A.useEffect(()=>{var m;const p=(m=n.current)==null?void 0:m.getBoundingClientRect();p&&c({bottom:window.innerHeight-p.bottom,right:window.innerWidth-p.right,width:p.width,height:p.height})},[n]),A.useEffect(()=>{const p=d.current;if(!p)return;const m=x=>{if(x.deltaY<0){f.current(!1);return}x.deltaY>0&&requestAnimationFrame(()=>requestAnimationFrame(()=>{p.scrollHeight-p.scrollTop-p.offsetHeight<100&&f.current(!0)}))};return p.addEventListener("wheel",m,{passive:!0}),()=>p.removeEventListener("wheel",m)},[]),A.useEffect(()=>{d.current&&a&&(d.current.scrollTop=d.current.scrollHeight)},[t,a,u]),i.jsx("div",{className:`relative ${u?"":"hidden"}`,children:i.jsx("pre",{ref:d,className:"fixed z-40 text-sm font-mono text-text-primary bg-bg-primary p-2 rounded border border-border overflow-auto transition-all duration-150 ease-out select-text",style:u?{bottom:u.bottom,right:u.right,width:u.width*2,maxHeight:u.height*3,transformOrigin:"bottom right",transform:r?"scale(0.01)":"scale(1)",opacity:r?0:1}:void 0,children:t.map((p,m)=>i.jsx("span",{className:p.stream==="stderr"?"text-accent-warning":"",children:zu(p.content)},m))})})}),HA=A.memo(function({workdir:t}){const n=Vr(U=>U.setWorkdir),r=Vr(U=>U.status),a=Vr(U=>U.config),l=Vr(U=>U.logs),u=Vr(U=>U.start),c=Vr(U=>U.stop),d=Vr(U=>U.fetchLogs),[f,p]=A.useState(!1),[m,x]=A.useState(!1),[y,w]=A.useState(!1),[C,_]=A.useState(!1),S=A.useRef(null),{isAutoScrollActive:v,setAutoScroll:b}=pd(S,null),E=A.useRef(null),j=A.useRef(null),T=A.useRef(null),D=()=>{const U=r==null?void 0:r.inspectProxyPort;if(!U){r!=null&&r.url&&window.open(r.url,"_blank");return}const O=`${window.location.protocol}//${window.location.hostname}:${U}`;window.open(O,"_blank")},L=(r==null?void 0:r.state)??"off",R=a!==null,M=L==="running"||L==="warning";A.useEffect(()=>{n(t??null)},[t,n]),A.useEffect(()=>{M&&d()},[M,d]);const V=()=>{M?c():u()};return i.jsxs("div",{className:"mt-2 pt-3 border-t border-border space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:`inline-block w-2.5 h-2.5 rounded-full flex-shrink-0 ${L==="running"?"bg-accent-success":L==="warning"?"bg-accent-warning":L==="error"?"bg-accent-error":"bg-text-muted"}`}),i.jsx("h3",{className:"text-sm font-semibold text-text-primary",children:"Dev Server"})]}),i.jsx("button",{onClick:()=>p(!0),className:"p-1.5 rounded hover:bg-bg-tertiary transition-colors text-text-muted",title:"Configure dev server",children:i.jsx(AN,{})})]}),R?i.jsx(i.Fragment,{children:L==="running"||L==="warning"?i.jsxs("div",{className:"flex gap-2",children:[i.jsxs("button",{onClick:V,className:"flex-1 flex items-center justify-center gap-1.5 rounded font-medium text-sm px-3 py-1.5 bg-bg-tertiary text-text-primary hover:bg-border transition-colors",children:[i.jsx(Wp,{}),"Stop"]}),(r==null?void 0:r.url)&&i.jsxs("button",{onClick:()=>D(),className:"flex-1 flex items-center justify-center gap-1.5 rounded font-medium text-sm px-3 py-1.5 bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40 transition-colors",title:r.url,children:[i.jsx(DN,{}),"Open"]})]}):i.jsx("button",{onClick:V,className:"w-full rounded font-medium text-sm px-3 py-1.5 bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40 transition-colors",children:"Start"})}):i.jsx("button",{onClick:()=>p(!0),className:"w-full rounded font-medium text-sm px-3 py-1.5 bg-bg-tertiary text-text-muted hover:bg-border transition-colors",children:"Configure"}),i.jsxs("div",{ref:T,className:`relative ${R&&M?"":"hidden"}`,onMouseEnter:()=>{!R||!M||(j.current&&clearTimeout(j.current),E.current=setTimeout(()=>{w(!0),_(!1)},500))},onMouseLeave:()=>{E.current&&clearTimeout(E.current),_(!0),j.current=setTimeout(()=>w(!1),150)},children:[i.jsx(G1,{logs:l,preRef:S,preClassName:"text-sm bg-bg-primary p-2 rounded overflow-auto max-h-[200px] border border-border"}),R&&M&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"absolute bottom-1 right-1 z-50 flex items-center gap-1",children:[(y||C)&&i.jsx(eg,{isActive:v,onToggle:b,className:"text-xs text-text-muted hover:text-text-primary flex items-center gap-1 px-1.5 py-0.5 rounded hover:bg-bg-tertiary transition-colors"}),i.jsx("button",{onClick:()=>x(!0),className:"px-2 py-0.5 rounded text-xs font-medium bg-accent-primary/30 text-text-primary hover:bg-accent-primary/50 transition-colors",children:"Expand"})]}),(y||C)&&T.current&&so.createPortal(i.jsx(zA,{logs:l,anchorRef:T,isHiding:C,isAutoScrollActive:v,onSetAutoScroll:b}),document.body)]})]}),i.jsx(IA,{isOpen:f,onClose:()=>p(!1)}),m&&i.jsx(W1,{title:"Dev Server Logs",logs:l,onClose:()=>x(!1)})]})}),UA=A.memo(function({sessionId:t}){var y;const n=xl(w=>w.processes),r=xl(w=>w.stopProcess),[a,l]=A.useState(null),[u,c]=A.useState([]),d=n.filter(w=>w.status!=="exited"),f=d.filter(w=>w.status==="running").length;if(n.length===0)return null;const p=w=>{switch(w){case"running":return"bg-accent-success";case"starting":return"bg-accent-warning";case"stopping":return"bg-accent-warning";case"exited":return"bg-text-muted";default:return"bg-text-muted"}},m=w=>{const C=xl.getState().logs[w]??[];c(C.map(_=>({content:_.content,stream:_.stream}))),l(w)},x=w=>{t&&r(w,t)};return i.jsxs("div",{className:"mt-2 pt-3 border-t border-border space-y-3",children:[i.jsx("div",{className:"flex items-center justify-between",children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"inline-block w-2.5 h-2.5 rounded-full flex-shrink-0 bg-accent-primary"}),i.jsx("h3",{className:"text-sm font-semibold text-text-primary",children:"Background"}),i.jsxs("span",{className:"text-xs text-text-muted",children:["(",f," running)"]})]})}),i.jsx("div",{className:"space-y-2",children:d.map(w=>i.jsx("div",{className:"border border-border rounded p-2",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[i.jsx("span",{className:`inline-block w-2 h-2 rounded-full flex-shrink-0 ${p(w.status)}`}),i.jsx("span",{className:"text-sm text-text-primary truncate",title:w.name,children:w.name}),i.jsxs("span",{className:"text-xs text-text-muted",children:["[",w.status,"]"]})]}),i.jsxs("div",{className:"flex gap-1 ml-2",children:[i.jsx("button",{onClick:()=>m(w.id),className:"px-2 py-1 text-xs rounded bg-bg-tertiary hover:bg-border text-text-secondary transition-colors",title:"View logs",children:"Logs"}),i.jsx("button",{onClick:()=>x(w.id),className:"px-2 py-1 text-xs rounded bg-bg-tertiary hover:bg-accent-error/20 text-text-secondary hover:text-accent-error transition-colors",title:"Stop process",children:"Stop"})]})]})},w.id))}),a&&i.jsx(W1,{title:((y=d.find(w=>w.id===a))==null?void 0:y.name)??"",logs:u,onClose:()=>{l(null),c([])}})]})});function FA({file:e,showEditorLink:t,workdir:n}){const r=_1(e.path,28),a=e.status==="added"?"text-accent-success":e.status==="deleted"?"text-accent-error":"text-accent-primary",l=e.status==="added"?`+${e.additions}`:e.status==="deleted"?`-${e.deletions}`:e.additions>0||e.deletions>0?`+${e.additions}, -${e.deletions}`:"",u=t&&n?U1(e.path,void 0,n):void 0,c=i.jsxs(i.Fragment,{children:[i.jsx("span",{className:`truncate ${a}`,title:e.path,children:r}),l&&i.jsx("span",{className:`shrink-0 font-mono${e.status==="added"?" text-accent-success":e.status==="deleted"?" text-accent-error":" text-text-muted"}`,children:l})]});return u?i.jsx("a",{href:u,className:"flex items-center justify-between gap-1 py-0.5 text-xs min-w-0 hover:bg-bg-tertiary rounded px-1 -mx-1 transition-colors no-underline",title:`Open ${e.path} in VSCode`,children:c}):i.jsx("div",{className:"flex items-center justify-between gap-1 py-0.5 text-xs min-w-0",children:c})}function VA(){const{diff:e}=$1(),t=Gt(a=>a.settings[Re.DISPLAY_SHOW_OPEN_IN_EDITOR])==="true",n=Le(a=>a.currentSession),r=(n==null?void 0:n.workspace)??(n==null?void 0:n.workdir);return e.loading?i.jsx("div",{className:"mt-3",children:i.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-text-muted",children:[i.jsx("span",{className:"w-3 h-3 border border-border border-t-accent-primary rounded-full animate-spin"}),i.jsx("span",{children:"Checking changes..."})]})}):e.files.length===0?i.jsx("div",{className:"mt-3",children:i.jsx("p",{className:"text-xs text-text-muted text-center",children:"No changes"})}):i.jsx("div",{className:"mt-3 max-h-[150px] overflow-y-auto",children:i.jsx("div",{className:"pr-1",children:e.files.map((a,l)=>i.jsx(FA,{file:a,showEditorLink:t,workdir:r},l))})})}function q1(e){const[t,n]=A.useState(!1),[r,a]=A.useState(null),[l,u]=A.useState(!1),[c,d]=A.useState(""),f=A.useCallback(()=>{t||e()},[t,e]),p=c.trim().length>0&&!t,m=A.useCallback(()=>{a(null),n(!1),d(""),u(!0)},[]);return{busy:t,setBusy:n,error:r,setError:a,loading:l,setLoading:u,newName:c,setNewName:d,handleClose:f,canCreate:p,resetState:m}}function K1({isOpen:e,onClose:t,title:n,busy:r,loading:a,children:l}){const u=i.jsx("div",{className:"flex gap-2 justify-end",children:i.jsx("button",{onClick:t,className:"px-4 py-2 text-sm rounded bg-bg-tertiary text-text-secondary hover:bg-bg-secondary transition-colors",children:"Cancel"})});return i.jsx(St,{isOpen:e,onClose:t,title:n,size:"md",footer:u,children:a||r?i.jsx("div",{className:"flex items-center justify-center py-8",children:i.jsx(li,{})}):l})}function Y1({icon:e,title:t,placeholder:n,buttonLabel:r,value:a,onChange:l,onCreate:u,canCreate:c,busy:d}){return i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium text-text-primary mb-2",children:t}),i.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded border border-border bg-bg-primary focus-within:border-accent-primary mb-3",children:[i.jsx("span",{className:"w-4 h-4 shrink-0 text-text-muted flex items-center",children:e}),i.jsx("input",{type:"text",value:a,onChange:f=>l(f.target.value),onKeyDown:f=>{f.key==="Enter"&&c&&u()},placeholder:n,className:"flex-1 bg-transparent text-sm text-text-primary outline-none font-mono placeholder-text-muted"})]}),i.jsx("button",{onClick:u,disabled:!c||d,className:"w-full px-4 py-2 text-sm rounded bg-accent-primary text-white hover:opacity-90 transition-colors disabled:opacity-50",children:r})]})}function GA({isOpen:e,onClose:t,sessionId:n}){const r=Le(D=>D.loadSession),{busy:a,setBusy:l,error:u,setError:c,loading:d,setLoading:f,newName:p,setNewName:m,handleClose:x,canCreate:y,resetState:w}=q1(t),[C,_]=A.useState([]),[S,v]=A.useState(""),[b,E]=A.useState("");A.useEffect(()=>{e&&(w(),v(""),_([]),E(""),_e(`/api/sessions/${n}/branches`).then(D=>D.json()).then(D=>{_(D.branches),E(D.defaultBranch??""),f(!1)}).catch(()=>{_([]),f(!1)}))},[e,n,w,f]);const j=A.useCallback(async D=>{c(null),l(!0);try{const L=await _e(`/api/sessions/${n}/checkout`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branch:D})});if(!L.ok){const R=await L.json().catch(()=>({error:"Failed to switch branch"}));c(R.error),l(!1);return}await r(n),t()}catch(L){c(L instanceof Error?L.message:"Failed to switch branch"),l(!1)}},[n,r,t,c,l]),T=A.useCallback(async()=>{c(null),l(!0);try{const D={name:p.trim()};S&&(D.sourceBranch=S);const L=await _e(`/api/sessions/${n}/checkout-new`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(D)});if(!L.ok){const R=await L.json().catch(()=>({error:"Failed to create branch"}));c(R.error),l(!1);return}await r(n),t()}catch(D){c(D instanceof Error?D.message:"Failed to create branch"),l(!1)}},[p,S,n,r,t,c,l]);return i.jsx(K1,{isOpen:e,onClose:x,title:"Switch Branch",busy:a,loading:d,children:i.jsxs("div",{children:[C.length>0&&i.jsxs("div",{className:"mb-4",children:[i.jsx("p",{className:"text-sm font-medium text-text-primary mb-2",children:"Branches"}),i.jsx("div",{className:"max-h-48 overflow-y-auto space-y-0.5 bg-bg-tertiary/30 rounded p-2",children:C.map(D=>i.jsxs("button",{onClick:()=>{D.current||j(D.name)},disabled:a,className:`w-full text-left px-3 py-1.5 text-sm rounded transition-colors flex items-center gap-2 ${D.current?"bg-accent-primary/10 text-accent-primary cursor-default":"hover:bg-bg-tertiary text-text-secondary"}`,children:[i.jsx(Du,{className:"w-3.5 h-3.5 shrink-0"}),i.jsx("span",{className:"font-mono truncate",children:D.name}),D.current&&i.jsx("span",{className:"ml-auto text-xs text-text-muted",children:"(current)"}),!D.current&&i.jsx("span",{className:"ml-auto text-xs text-accent-primary",children:"Switch"})]},D.name))})]}),i.jsx(Y1,{icon:i.jsx(Du,{}),title:"Create new branch",placeholder:"feature/my-branch",buttonLabel:"Create Branch",value:p,onChange:m,onCreate:T,canCreate:y,busy:a}),p.trim()&&i.jsxs("div",{className:"mt-2",children:[i.jsxs("label",{className:"text-xs text-text-muted mb-1 block",children:["From branch (optional — defaults to ",b||"project default",")"]}),i.jsxs("div",{className:"relative",children:[i.jsx(Du,{className:"absolute left-2 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-text-muted pointer-events-none"}),i.jsx("input",{type:"text",value:S,onChange:D=>v(D.target.value),placeholder:b||"main",className:"w-full text-sm bg-bg-primary border border-border-default rounded pl-8 pr-2 py-1.5 text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]})]}),u&&i.jsx("p",{className:"mt-3 text-sm text-accent-error bg-accent-error/10 p-2 rounded",children:u})]})})}function WA({isOpen:e,onClose:t,projectId:n,sessionId:r,currentWorkspace:a,currentBranch:l}){const u=Le(R=>R.loadSession),{busy:c,setBusy:d,error:f,setError:p,loading:m,setLoading:x,newName:y,setNewName:w,handleClose:C,canCreate:_,resetState:S}=q1(t),[v,b]=A.useState([]),[E,j]=A.useState(null);A.useEffect(()=>{e&&(S(),j(null),_e(`/api/projects/${n}/workspaces`).then(R=>R.json()).then(R=>{b(R.workspaces),x(!1)}).catch(()=>{b([]),x(!1)}))},[e,n,S,x]);const T=A.useCallback(async R=>{p(null),d(!0);try{const M=await _e(`/api/sessions/${r}/switch-workspace`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:R})});if(!M.ok){const V=await M.json().catch(()=>({error:"Failed to switch workspace"}));p(V.error),d(!1);return}await u(r),t()}catch(M){p(M instanceof Error?M.message:"Failed to switch workspace"),d(!1)}},[r,u,t,p,d]),D=A.useCallback(async R=>{p(null),d(!0);try{const M=await _e(`/api/sessions/${r}/delete-workspace`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:R})});if(!M.ok){const O=await M.json().catch(()=>({error:"Failed to delete workspace"}));p(O.error),d(!1);return}j(null),await u(r);const U=await(await _e(`/api/projects/${n}/workspaces`)).json();b(U.workspaces),d(!1),x(!1)}catch(M){p(M instanceof Error?M.message:"Failed to delete workspace"),d(!1)}},[r,n,u,p,d]),L=A.useCallback(async()=>{p(null),d(!0);try{const R=await _e(`/api/sessions/${r}/switch-workspace`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:y.trim()})});if(!R.ok){const M=await R.json().catch(()=>({error:"Failed to create workspace"}));p(M.error),d(!1);return}await u(r),t()}catch(R){p(R instanceof Error?R.message:"Failed to create workspace"),d(!1)}},[y,r,u,t,p,d]);return i.jsx(K1,{isOpen:e,onClose:C,title:"Switch Workspace",busy:c,loading:m,children:i.jsxs("div",{children:[i.jsx("p",{className:"text-sm font-medium text-text-primary mb-2",children:"Workspaces"}),i.jsxs("div",{className:"max-h-48 overflow-y-auto space-y-0.5 bg-bg-tertiary/30 rounded p-2 mb-4",children:[i.jsxs("button",{onClick:()=>T("original"),disabled:c,className:`w-full text-left px-3 py-1.5 text-sm rounded transition-colors flex items-center gap-2 ${a?"hover:bg-bg-tertiary text-text-secondary":"bg-accent-primary/10 text-accent-primary cursor-default"}`,children:[i.jsx(qr,{className:"w-4 h-4 shrink-0"}),i.jsx("span",{className:"font-mono truncate",children:"original"}),i.jsx("span",{className:"text-xs text-text-muted ml-auto",children:l??"unknown"}),!a&&i.jsx("span",{className:"text-[10px] text-accent-primary ml-1",children:"(current)"})]}),v.slice().sort((R,M)=>R.name===a?-1:M.name===a?1:R.name.localeCompare(M.name)).map(R=>i.jsx("div",{className:"group relative",children:E===R.name?i.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 text-sm rounded bg-accent-error/10",children:[i.jsxs("span",{className:"text-xs text-accent-error",children:["Delete ",R.name,"?"]}),i.jsx("button",{onClick:()=>D(R.name),disabled:c,className:"ml-auto text-xs px-2 py-0.5 rounded bg-accent-error text-white hover:opacity-90",children:"Confirm"}),i.jsx("button",{onClick:()=>j(null),disabled:c,className:"text-xs px-2 py-0.5 rounded bg-bg-tertiary text-text-secondary hover:bg-bg-secondary",children:"Cancel"})]}):i.jsxs("div",{className:"relative",children:[i.jsxs("button",{onClick:()=>{!c&&R.name!==a&&T(R.name)},disabled:c||R.name===a,className:`w-full text-left px-3 py-1.5 text-sm rounded transition-colors flex items-center gap-2 ${R.name===a?"bg-accent-primary/10 text-accent-primary cursor-default":"hover:bg-bg-tertiary text-text-secondary"} ${c?"opacity-70":""}`,children:[i.jsx(qr,{className:"w-4 h-4 shrink-0"}),i.jsx("span",{className:"font-mono truncate",children:R.name}),i.jsx("span",{className:"text-xs text-text-muted ml-auto",children:R.branch??"unknown"}),R.name===a&&i.jsx("span",{className:"text-[10px] text-accent-primary ml-1",children:"(current)"})]}),R.name!==a&&!c&&i.jsx("button",{onClick:M=>{M.stopPropagation(),j(R.name)},className:"absolute right-1 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 text-xs text-text-muted hover:text-accent-error transition-opacity px-1 py-0.5 rounded",title:"Delete workspace",children:"✕"})]})},R.path))]}),i.jsx(Y1,{icon:i.jsx(qr,{}),title:"Create new workspace",placeholder:"workspace name",buttonLabel:"Create Workspace",value:y,onChange:w,onCreate:L,canCreate:_,busy:c}),f&&i.jsx("p",{className:"mt-3 text-sm text-accent-error bg-accent-error/10 p-2 rounded",role:"alert",children:f})]})})}function $_({messages:e,workdir:t}){var T,D,L;const[n,r]=A.useState(!1),[a,l]=A.useState(!1),[u,c]=A.useState(!1),[d,f]=A.useState(!1),[p,m]=A.useState(null),x=sA(e),{branch:y}=$1(),w=Qt(R=>R.version),C=Le(R=>R.currentSession),_=C!=null&&C.workspace?C.workspace.split("/").pop()??null:null,S=Gt(R=>R.settings[Re.DISPLAY_SHOW_OPEN_IN_EDITOR])==="true",v=_s(R=>R.status),b=_s(R=>R.check),[E,j]=A.useState(!1);return i.jsxs("div",{className:"flex flex-col h-full",children:[x&&i.jsxs("div",{className:"mb-4",children:[i.jsx("button",{onClick:()=>r(!0),className:"w-full flex items-center justify-center px-3 py-2 rounded bg-bg-tertiary hover:bg-bg-secondary transition-colors",title:"View detailed response and call-level stats",children:i.jsxs("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[i.jsx("span",{className:"text-text-secondary",children:aA(x.aiTime)}),i.jsx("span",{className:"w-px h-3 bg-border"}),i.jsx("span",{className:"text-text-secondary",children:A_(x.avgPrefillSpeed)}),i.jsx("span",{children:"pp"}),i.jsx("span",{className:"w-px h-3 bg-border"}),i.jsx("span",{className:"text-text-secondary",children:A_(x.avgGenerationSpeed)}),i.jsx("span",{children:"tg"})]})}),i.jsx(yA,{isOpen:n,onClose:()=>r(!1),stats:x})]}),i.jsx("div",{className:"flex flex-col flex-1 overflow-y-auto scrollbar-stable",children:i.jsxs("div",{className:"mt-4",children:[i.jsx("button",{onClick:()=>m("criteria"),className:"w-full text-left cursor-pointer hover:bg-bg-tertiary rounded px-1 -mx-1 transition-colors",children:i.jsx(M_,{entries:((T=C==null?void 0:C.metadataEntries)==null?void 0:T.criteria)??[],title:"Acceptance Criteria"})}),C&&i.jsx(OA,{entries:((D=C==null?void 0:C.metadataEntries)==null?void 0:D.criteria)??[],sessionId:C.id}),C&&(()=>{const R=["review_findings","todos"],M=C.metadataEntries??{},V=R.filter(O=>O in M),U=Object.keys(M).filter(O=>O!=="criteria"&&!R.includes(O)).sort();return[...V,...U].filter(O=>{var H;return(((H=M[O])==null?void 0:H.length)??0)>0}).map(O=>i.jsxs("div",{className:"mt-6",children:[i.jsx("button",{onClick:()=>m(O),className:"w-full text-left cursor-pointer hover:bg-bg-tertiary rounded px-1 -mx-1 transition-colors",children:i.jsx(M_,{entries:M[O],title:op(O)})}),i.jsx(CA,{entries:M[O],onClearAll:async()=>{try{await _e(`/api/sessions/${C.id}/metadata/${O}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({entries:[]})})}catch(H){console.error(`Failed to clear ${O}:`,H)}}})]},O))})()]})}),i.jsxs("div",{className:"mt-4 space-y-1.5",children:[i.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[S&&t?i.jsxs("a",{href:iA(t),className:"flex items-center gap-2 min-w-0 flex-1 no-underline group",title:"Open workspace in VSCode",children:[i.jsx(qr,{className:"w-4 h-4 text-text-muted flex-shrink-0"}),i.jsx("span",{className:"truncate text-text-secondary group-hover:text-accent-primary transition-colors",children:_??"original"})]}):i.jsxs(i.Fragment,{children:[i.jsx(qr,{className:"w-4 h-4 text-text-muted flex-shrink-0"}),i.jsx("span",{className:"truncate text-text-secondary",children:_??"original"})]}),i.jsx("button",{onClick:()=>f(!0),className:"ml-auto px-2 py-0.5 text-xs rounded bg-bg-tertiary text-text-secondary hover:bg-bg-secondary transition-colors",children:"Edit"})]}),i.jsx("div",{className:"h-px bg-border"}),i.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[i.jsx(Du,{}),i.jsx("span",{className:"truncate text-text-secondary",children:y??"unknown"}),i.jsx("button",{onClick:()=>c(!0),className:"ml-auto px-2 py-0.5 text-xs rounded bg-bg-tertiary text-text-secondary hover:bg-bg-secondary transition-colors",children:"Edit"})]})]}),i.jsx(VA,{}),i.jsx(HA,{workdir:t}),i.jsx(UA,{sessionId:C==null?void 0:C.id}),w&&i.jsxs("div",{className:"mt-4 pt-4 border-t border-border text-center text-xs text-text-muted",children:[i.jsxs("div",{className:"flex items-center justify-center gap-1",children:[i.jsx("a",{href:"https://github.com/co-l/openfox",target:"_blank",rel:"noopener noreferrer",className:"hover:text-accent-primary transition-colors",children:"OpenFox"})," - ",i.jsxs("span",{className:"font-mono",children:["v",w]}),i.jsx("button",{onClick:()=>{j(!0),b(!0)},disabled:v==="checking",className:"p-0.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors disabled:opacity-50",title:"Check for updates",children:i.jsx(cd,{className:`w-3 h-3 ${v==="checking"?"animate-spin":""}`})})]}),v==="available"&&i.jsx("button",{onClick:()=>l(!0),className:"text-accent-primary hover:underline mt-1",children:"Update OpenFox →"}),E&&v==="upToDate"&&i.jsx("div",{className:"mt-1",children:"Up to date"}),v==="error"&&i.jsx("div",{className:"mt-1",children:"Update check failed"})]}),i.jsx(k1,{isOpen:a,onClose:()=>l(!1),versionInfo:null}),i.jsx(TA,{isOpen:p!==null,onClose:()=>m(null),entries:((L=C==null?void 0:C.metadataEntries)==null?void 0:L[p??""])??[],sessionId:(C==null?void 0:C.id)??"",metadataKey:p??"",title:op(p??"")}),C&&i.jsxs(i.Fragment,{children:[i.jsx(WA,{isOpen:d,onClose:()=>f(!1),projectId:C.projectId,sessionId:C.id,currentWorkspace:_,currentBranch:y??null}),i.jsx(GA,{isOpen:u,onClose:()=>c(!1),sessionId:C.id})]})]})}function qA({children:e,criteriaSidebarOpen:t=!0,onCriteriaSidebarToggle:n,messages:r}){const a=Le(l=>l.currentSession);return i.jsxs("div",{className:"relative h-full overflow-hidden",children:[t&&i.jsx("div",{className:"fixed md:hidden inset-0 bg-secondary/50 z-40",onClick:n}),i.jsxs("div",{className:"flex h-full",children:[i.jsx("div",{className:"flex-1 min-w-0 flex flex-col overflow-hidden bg-secondary",children:e}),t?i.jsx("aside",{className:"hidden md:block w-[320px] shrink-0 border-l border-border p-4 overflow-y-auto bg-secondary scrollbar-stable",children:i.jsx($_,{messages:r,workdir:(a==null?void 0:a.workspace)??(a==null?void 0:a.workdir)})}):i.jsx("aside",{className:"hidden md:block w-0 shrink-0 overflow-hidden border-l-0"}),i.jsx("aside",{className:`
|
|
93
|
-
md:hidden
|
|
94
|
-
p-4 overflow-y-auto bg-secondary
|
|
95
|
-
transition-all duration-300 ease-in-out
|
|
96
|
-
fixed right-0 top-[32px] h-[calc(100vh-32px)] z-50
|
|
97
|
-
${t?"w-[320px] translate-x-0 border-l border-border":"w-[320px] translate-x-full"}
|
|
98
|
-
`,children:i.jsx($_,{messages:r,workdir:(a==null?void 0:a.workspace)??(a==null?void 0:a.workdir)})})]})]})}function KA(e,t){return t||e>85?"bg-accent-error":e>60?"bg-accent-warning":"bg-accent-success"}function X1({percent:e,dangerZone:t=!1,size:n="md",className:r=""}){const a=n==="sm"?"w-12":"w-20",l=n==="sm"?"h-1":"h-1.5";return i.jsx("div",{className:`${l} bg-bg-tertiary rounded-full overflow-hidden ${a} ${r}`,children:i.jsx("div",{className:`h-full transition-all duration-300 ${KA(e,t)}`,style:{width:`${Math.min(e,100)}%`}})})}function YA({dangerZone:e,size:t="md"}){return e?i.jsx("span",{className:"text-accent-error animate-pulse text-[10px] font-medium",children:"Low!"}):null}function z_(e,t){return t||e>85?"text-accent-error":e>60?"text-accent-warning":"text-text-muted"}function XA(){const e=Le(v=>v.contextState),t=Le(v=>v.currentSession),n=Le(v=>v.compactContext),[r,a]=A.useState(!1),[l,u]=A.useState(!1),[c,d]=A.useState(!1),f=A.useRef(!1);if(A.useEffect(()=>{e!=null&&e.dynamicContextChanged&&!f.current&&u(!1),f.current=(e==null?void 0:e.dynamicContextChanged)??!1},[e==null?void 0:e.dynamicContextChanged]),!e||!t)return null;const{currentTokens:p,maxTokens:m,compactionCount:x,dangerZone:y,dynamicContextChanged:w}=e,C=Math.round(p/m*100),_=t.isRunning,S=()=>{Xt.send("context.applyDynamic",{}),u(!0)};return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex-shrink-0 px-4 py-1.5 border-b border-border bg-secondary",children:i.jsxs("div",{className:"flex items-center justify-between gap-4",children:[i.jsx("div",{className:"flex-1"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("span",{className:z_(C,y),children:[Qa(p)," / ",Qa(m)]}),i.jsxs("span",{className:z_(C,y),children:["(",C,"%)"]}),i.jsx(X1,{percent:C,dangerZone:y}),i.jsx(YA,{dangerZone:y}),x>0&&i.jsxs("span",{className:"text-[10px] text-text-muted bg-bg-tertiary px-1 py-0.5 rounded",children:[x,"x"]})]}),i.jsx("div",{className:"flex-1 flex justify-end",children:i.jsxs("div",{className:"relative",children:[i.jsx("button",{onClick:()=>a(!r),className:"p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"More options",children:i.jsx(c1,{})}),r&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>a(!1)}),i.jsxs("div",{className:"absolute right-0 top-full mt-1.5 z-50 bg-bg-secondary border border-border rounded-lg shadow-xl py-1 min-w-[160px]",children:[i.jsx("button",{onClick:()=>{_||n(),a(!1)},disabled:_,className:"w-full px-3 py-1.5 text-left text-sm hover:bg-bg-tertiary transition-colors disabled:opacity-40 disabled:cursor-not-allowed",title:_?"Cannot compact while running":"Compact context",children:i.jsx("span",{className:y?"text-accent-error":"",children:"Compact"})}),w&&i.jsx("button",{onClick:()=>{a(!1),d(!0)},disabled:_,className:"w-full px-3 py-1.5 text-left text-sm hover:bg-bg-tertiary transition-colors disabled:opacity-40 disabled:cursor-not-allowed",title:_?"Cannot apply while running":"Apply dynamic context",children:i.jsx("span",{className:"text-accent-warning",children:"Update system prompt"})})]})]})]})})]})}),w&&!l&&i.jsx("div",{className:"flex-shrink-0 px-4 py-2 bg-accent-warning/10 border-b border-accent-warning/30",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex-1 flex items-center justify-center gap-1 text-sm text-text-secondary",children:[i.jsx("span",{children:"System prompt has changed —"}),i.jsx("button",{onClick:()=>d(!0),className:"underline hover:text-text-primary transition-colors",children:"click here to update it"})]}),i.jsx("button",{onClick:()=>u(!0),className:"flex-shrink-0 p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Dismiss",children:i.jsx(oi,{})})]})}),i.jsxs(St,{isOpen:c,onClose:()=>d(!1),title:"Update system prompt",size:"sm",children:[i.jsx("p",{className:"text-sm text-text-secondary mb-4",children:"Applying the new system prompt will rebuild the cached prompt, which may cause the next response to take longer while the LLM reprocesses the prefix."}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx("button",{onClick:()=>d(!1),className:"px-3 py-1.5 text-sm rounded bg-bg-tertiary text-text-primary hover:bg-border transition-colors",children:"Cancel"}),i.jsx("button",{onClick:()=>{S(),d(!1)},disabled:_,className:"px-3 py-1.5 text-sm rounded bg-accent-primary text-white hover:opacity-90 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:"Update"})]})]})]})}function QA({stats:e,onClose:t}){var n;return i.jsx(St,{isOpen:!0,onClose:t,title:"Turn Stats",size:"md",children:i.jsxs("div",{className:"space-y-4",children:[i.jsx("div",{className:"flex items-center gap-3",children:i.jsxs("p",{className:"text-xs text-text-muted",children:[e.model," · ",e.mode]})}),i.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[i.jsx(hu,{label:"Total Time",value:`${e.totalTime.toFixed(1)}s`}),i.jsx(hu,{label:"Prefill",value:e.prefillTokens>=1e3?`${(e.prefillTokens/1e3).toFixed(1)}k`:String(e.prefillTokens)}),i.jsx(hu,{label:"Generated",value:e.generationTokens>=1e3?`${(e.generationTokens/1e3).toFixed(1)}k`:String(e.generationTokens)}),i.jsx(hu,{label:"LLM Calls",value:String(((n=e.llmCalls)==null?void 0:n.length)??1)})]}),e.llmCalls&&e.llmCalls.length>0&&i.jsxs("div",{children:[i.jsx("h4",{className:"text-sm font-medium text-text-secondary mb-2",children:"LLM Calls"}),e.llmCalls.map((r,a)=>i.jsxs("div",{className:"bg-bg-tertiary/30 rounded p-3 mb-2",children:[i.jsxs("div",{className:"flex items-center justify-between mb-2",children:[i.jsxs("span",{className:"text-xs text-text-muted",children:["Call ",a+1]}),i.jsxs("span",{className:"text-xs text-text-muted",children:[r.ttft.toFixed(2),"s TTFT · ",r.completionTime.toFixed(2),"s gen"]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-text-muted",children:"Tokens:"})," ",i.jsxs("span",{className:"text-text-primary",children:[r.promptTokens," → ",r.completionTokens]})]}),i.jsxs("div",{className:"flex flex-wrap gap-x-2 gap-y-1",children:[r.temperature!==void 0&&i.jsx(fu,{label:"temp",value:r.temperature.toFixed(2)}),r.topP!==void 0&&i.jsx(fu,{label:"topP",value:r.topP.toFixed(2)}),r.topK!==void 0&&i.jsx(fu,{label:"topK",value:String(r.topK)}),r.maxTokens!==void 0&&i.jsx(fu,{label:"maxTok",value:String(r.maxTokens)})]})]})]},a))]})]})})}function hu({label:e,value:t}){return i.jsxs("div",{className:"bg-bg-tertiary/50 rounded p-3",children:[i.jsx("div",{className:"text-xs text-text-muted",children:e}),i.jsx("div",{className:"text-lg font-semibold text-text-primary",children:t})]})}function fu({label:e,value:t}){return i.jsxs("span",{className:"bg-bg-tertiary px-1.5 py-0.5 rounded text-text-primary",children:[i.jsxs("span",{className:"text-text-muted",children:[e,":"]})," ",t]})}function JA(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const ZA=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,eL=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,tL={};function H_(e,t){return(tL.jsx?eL:ZA).test(e)}const nL=/[ \t\n\f\r]/g;function rL(e){return typeof e=="object"?e.type==="text"?U_(e.value):!1:U_(e)}function U_(e){return e.replace(nL,"")===""}let Hl=class{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}};Hl.prototype.normal={};Hl.prototype.property={};Hl.prototype.space=void 0;function Q1(e,t){const n={},r={};for(const a of e)Object.assign(n,a.property),Object.assign(r,a.normal);return new Hl(n,r,t)}function lp(e){return e.toLowerCase()}let Xn=class{constructor(t,n){this.attribute=n,this.property=t}};Xn.prototype.attribute="";Xn.prototype.booleanish=!1;Xn.prototype.boolean=!1;Xn.prototype.commaOrSpaceSeparated=!1;Xn.prototype.commaSeparated=!1;Xn.prototype.defined=!1;Xn.prototype.mustUseProperty=!1;Xn.prototype.number=!1;Xn.prototype.overloadedBoolean=!1;Xn.prototype.property="";Xn.prototype.spaceSeparated=!1;Xn.prototype.space=void 0;let sL=0;const lt=Wi(),hn=Wi(),cp=Wi(),Oe=Wi(),Pt=Wi(),qa=Wi(),ir=Wi();function Wi(){return 2**++sL}const up=Object.freeze(Object.defineProperty({__proto__:null,boolean:lt,booleanish:hn,commaOrSpaceSeparated:ir,commaSeparated:qa,number:Oe,overloadedBoolean:cp,spaceSeparated:Pt},Symbol.toStringTag,{value:"Module"})),mm=Object.keys(up);let tg=class extends Xn{constructor(t,n,r,a){let l=-1;if(super(t,n),F_(this,"space",a),typeof r=="number")for(;++l<mm.length;){const u=mm[l];F_(this,mm[l],(r&up[u])===up[u])}}};tg.prototype.defined=!0;function F_(e,t,n){n&&(e[t]=n)}function io(e){const t={},n={};for(const[r,a]of Object.entries(e.properties)){const l=new tg(r,e.transform(e.attributes||{},r),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(l.mustUseProperty=!0),t[r]=l,n[lp(r)]=r,n[lp(l.attribute)]=r}return new Hl(t,n,e.space)}const J1=io({properties:{ariaActiveDescendant:null,ariaAtomic:hn,ariaAutoComplete:null,ariaBusy:hn,ariaChecked:hn,ariaColCount:Oe,ariaColIndex:Oe,ariaColSpan:Oe,ariaControls:Pt,ariaCurrent:null,ariaDescribedBy:Pt,ariaDetails:null,ariaDisabled:hn,ariaDropEffect:Pt,ariaErrorMessage:null,ariaExpanded:hn,ariaFlowTo:Pt,ariaGrabbed:hn,ariaHasPopup:null,ariaHidden:hn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Pt,ariaLevel:Oe,ariaLive:null,ariaModal:hn,ariaMultiLine:hn,ariaMultiSelectable:hn,ariaOrientation:null,ariaOwns:Pt,ariaPlaceholder:null,ariaPosInSet:Oe,ariaPressed:hn,ariaReadOnly:hn,ariaRelevant:null,ariaRequired:hn,ariaRoleDescription:Pt,ariaRowCount:Oe,ariaRowIndex:Oe,ariaRowSpan:Oe,ariaSelected:hn,ariaSetSize:Oe,ariaSort:null,ariaValueMax:Oe,ariaValueMin:Oe,ariaValueNow:Oe,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function Z1(e,t){return t in e?e[t]:t}function ew(e,t){return Z1(e,t.toLowerCase())}const iL=io({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:qa,acceptCharset:Pt,accessKey:Pt,action:null,allow:null,allowFullScreen:lt,allowPaymentRequest:lt,allowUserMedia:lt,alt:null,as:null,async:lt,autoCapitalize:null,autoComplete:Pt,autoFocus:lt,autoPlay:lt,blocking:Pt,capture:null,charSet:null,checked:lt,cite:null,className:Pt,cols:Oe,colSpan:null,content:null,contentEditable:hn,controls:lt,controlsList:Pt,coords:Oe|qa,crossOrigin:null,data:null,dateTime:null,decoding:null,default:lt,defer:lt,dir:null,dirName:null,disabled:lt,download:cp,draggable:hn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:lt,formTarget:null,headers:Pt,height:Oe,hidden:cp,high:Oe,href:null,hrefLang:null,htmlFor:Pt,httpEquiv:Pt,id:null,imageSizes:null,imageSrcSet:null,inert:lt,inputMode:null,integrity:null,is:null,isMap:lt,itemId:null,itemProp:Pt,itemRef:Pt,itemScope:lt,itemType:Pt,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:lt,low:Oe,manifest:null,max:null,maxLength:Oe,media:null,method:null,min:null,minLength:Oe,multiple:lt,muted:lt,name:null,nonce:null,noModule:lt,noValidate:lt,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:lt,optimum:Oe,pattern:null,ping:Pt,placeholder:null,playsInline:lt,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:lt,referrerPolicy:null,rel:Pt,required:lt,reversed:lt,rows:Oe,rowSpan:Oe,sandbox:Pt,scope:null,scoped:lt,seamless:lt,selected:lt,shadowRootClonable:lt,shadowRootDelegatesFocus:lt,shadowRootMode:null,shape:null,size:Oe,sizes:null,slot:null,span:Oe,spellCheck:hn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Oe,step:null,style:null,tabIndex:Oe,target:null,title:null,translate:null,type:null,typeMustMatch:lt,useMap:null,value:hn,width:Oe,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Pt,axis:null,background:null,bgColor:null,border:Oe,borderColor:null,bottomMargin:Oe,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:lt,declare:lt,event:null,face:null,frame:null,frameBorder:null,hSpace:Oe,leftMargin:Oe,link:null,longDesc:null,lowSrc:null,marginHeight:Oe,marginWidth:Oe,noResize:lt,noHref:lt,noShade:lt,noWrap:lt,object:null,profile:null,prompt:null,rev:null,rightMargin:Oe,rules:null,scheme:null,scrolling:hn,standby:null,summary:null,text:null,topMargin:Oe,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Oe,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:lt,disableRemotePlayback:lt,prefix:null,property:null,results:Oe,security:null,unselectable:null},space:"html",transform:ew}),aL=io({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:ir,accentHeight:Oe,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Oe,amplitude:Oe,arabicForm:null,ascent:Oe,attributeName:null,attributeType:null,azimuth:Oe,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Oe,by:null,calcMode:null,capHeight:Oe,className:Pt,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Oe,diffuseConstant:Oe,direction:null,display:null,dur:null,divisor:Oe,dominantBaseline:null,download:lt,dx:null,dy:null,edgeMode:null,editable:null,elevation:Oe,enableBackground:null,end:null,event:null,exponent:Oe,externalResourcesRequired:null,fill:null,fillOpacity:Oe,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:qa,g2:qa,glyphName:qa,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Oe,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Oe,horizOriginX:Oe,horizOriginY:Oe,id:null,ideographic:Oe,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Oe,k:Oe,k1:Oe,k2:Oe,k3:Oe,k4:Oe,kernelMatrix:ir,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Oe,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Oe,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Oe,overlineThickness:Oe,paintOrder:null,panose1:null,path:null,pathLength:Oe,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Pt,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Oe,pointsAtY:Oe,pointsAtZ:Oe,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ir,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ir,rev:ir,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ir,requiredFeatures:ir,requiredFonts:ir,requiredFormats:ir,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Oe,specularExponent:Oe,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Oe,strikethroughThickness:Oe,string:null,stroke:null,strokeDashArray:ir,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Oe,strokeOpacity:Oe,strokeWidth:null,style:null,surfaceScale:Oe,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ir,tabIndex:Oe,tableValues:null,target:null,targetX:Oe,targetY:Oe,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ir,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Oe,underlineThickness:Oe,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Oe,values:null,vAlphabetic:Oe,vMathematical:Oe,vectorEffect:null,vHanging:Oe,vIdeographic:Oe,version:null,vertAdvY:Oe,vertOriginX:Oe,vertOriginY:Oe,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Oe,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Z1}),tw=io({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),nw=io({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:ew}),rw=io({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),oL={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},lL=/[A-Z]/g,V_=/-[a-z]/g,cL=/^data[-\w.:]+$/i;function uL(e,t){const n=lp(t);let r=t,a=Xn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&cL.test(t)){if(t.charAt(4)==="-"){const l=t.slice(5).replace(V_,hL);r="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=t.slice(4);if(!V_.test(l)){let u=l.replace(lL,dL);u.charAt(0)!=="-"&&(u="-"+u),t="data"+u}}a=tg}return new a(r,t)}function dL(e){return"-"+e.toLowerCase()}function hL(e){return e.charAt(1).toUpperCase()}const fL=Q1([J1,iL,tw,nw,rw],"html"),ng=Q1([J1,aL,tw,nw,rw],"svg");function mL(e){return e.join(" ").trim()}var Da={},pm,G_;function pL(){if(G_)return pm;G_=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,a=/^:\s*/,l=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,c=/^\s+|\s+$/g,d=`
|
|
99
|
-
`,f="/",p="*",m="",x="comment",y="declaration";function w(_,S){if(typeof _!="string")throw new TypeError("First argument must be a string");if(!_)return[];S=S||{};var v=1,b=1;function E(H){var F=H.match(t);F&&(v+=F.length);var G=H.lastIndexOf(d);b=~G?H.length-G:b+H.length}function j(){var H={line:v,column:b};return function(F){return F.position=new T(H),R(),F}}function T(H){this.start=H,this.end={line:v,column:b},this.source=S.source}T.prototype.content=_;function D(H){var F=new Error(S.source+":"+v+":"+b+": "+H);if(F.reason=H,F.filename=S.source,F.line=v,F.column=b,F.source=_,!S.silent)throw F}function L(H){var F=H.exec(_);if(F){var G=F[0];return E(G),_=_.slice(G.length),F}}function R(){L(n)}function M(H){var F;for(H=H||[];F=V();)F!==!1&&H.push(F);return H}function V(){var H=j();if(!(f!=_.charAt(0)||p!=_.charAt(1))){for(var F=2;m!=_.charAt(F)&&(p!=_.charAt(F)||f!=_.charAt(F+1));)++F;if(F+=2,m===_.charAt(F-1))return D("End of comment missing");var G=_.slice(2,F-2);return b+=2,E(G),_=_.slice(F),b+=2,H({type:x,comment:G})}}function U(){var H=j(),F=L(r);if(F){if(V(),!L(a))return D("property missing ':'");var G=L(l),Z=H({type:y,property:C(F[0].replace(e,m)),value:G?C(G[0].replace(e,m)):m});return L(u),Z}}function O(){var H=[];M(H);for(var F;F=U();)F!==!1&&(H.push(F),M(H));return H}return R(),O()}function C(_){return _?_.replace(c,m):m}return pm=w,pm}var W_;function gL(){if(W_)return Da;W_=1;var e=Da&&Da.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Da,"__esModule",{value:!0}),Da.default=n;const t=e(pL());function n(r,a){let l=null;if(!r||typeof r!="string")return l;const u=(0,t.default)(r),c=typeof a=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:f,value:p}=d;c?a(f,p,d):p&&(l=l||{},l[f]=p)}),l}return Da}var il={},q_;function xL(){if(q_)return il;q_=1,Object.defineProperty(il,"__esModule",{value:!0}),il.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,a=/^-(ms)-/,l=function(f){return!f||n.test(f)||e.test(f)},u=function(f,p){return p.toUpperCase()},c=function(f,p){return"".concat(p,"-")},d=function(f,p){return p===void 0&&(p={}),l(f)?f:(f=f.toLowerCase(),p.reactCompat?f=f.replace(a,c):f=f.replace(r,c),f.replace(t,u))};return il.camelCase=d,il}var al,K_;function yL(){if(K_)return al;K_=1;var e=al&&al.__importDefault||function(a){return a&&a.__esModule?a:{default:a}},t=e(gL()),n=xL();function r(a,l){var u={};return!a||typeof a!="string"||(0,t.default)(a,function(c,d){c&&d&&(u[(0,n.camelCase)(c,l)]=d)}),u}return r.default=r,al=r,al}var bL=yL();const vL=sd(bL),sw=iw("end"),rg=iw("start");function iw(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function _L(e){const t=rg(e),n=sw(e);if(t&&n)return{start:t,end:n}}function bl(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Y_(e.position):"start"in e||"end"in e?Y_(e):"line"in e||"column"in e?dp(e):""}function dp(e){return X_(e&&e.line)+":"+X_(e&&e.column)}function Y_(e){return dp(e&&e.start)+"-"+dp(e&&e.end)}function X_(e){return e&&typeof e=="number"?e:1}class On extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let a="",l={},u=!1;if(n&&("line"in n&&"column"in n?l={place:n}:"start"in n&&"end"in n?l={place:n}:"type"in n?l={ancestors:[n],place:n.position}:l={...n}),typeof t=="string"?a=t:!l.cause&&t&&(u=!0,a=t.message,l.cause=t),!l.ruleId&&!l.source&&typeof r=="string"){const d=r.indexOf(":");d===-1?l.ruleId=r:(l.source=r.slice(0,d),l.ruleId=r.slice(d+1))}if(!l.place&&l.ancestors&&l.ancestors){const d=l.ancestors[l.ancestors.length-1];d&&(l.place=d.position)}const c=l.place&&"start"in l.place?l.place.start:l.place;this.ancestors=l.ancestors||void 0,this.cause=l.cause||void 0,this.column=c?c.column:void 0,this.fatal=void 0,this.file="",this.message=a,this.line=c?c.line:void 0,this.name=bl(l.place)||"1:1",this.place=l.place||void 0,this.reason=this.message,this.ruleId=l.ruleId||void 0,this.source=l.source||void 0,this.stack=u&&l.cause&&typeof l.cause.stack=="string"?l.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}On.prototype.file="";On.prototype.name="";On.prototype.reason="";On.prototype.message="";On.prototype.stack="";On.prototype.column=void 0;On.prototype.line=void 0;On.prototype.ancestors=void 0;On.prototype.cause=void 0;On.prototype.fatal=void 0;On.prototype.place=void 0;On.prototype.ruleId=void 0;On.prototype.source=void 0;const sg={}.hasOwnProperty,SL=new Map,wL=/[A-Z]/g,CL=new Set(["table","tbody","thead","tfoot","tr"]),kL=new Set(["td","th"]),aw="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function EL(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=OL(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=RL(n,t.jsx,t.jsxs)}const a={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?ng:fL,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},l=ow(a,e,void 0);return l&&typeof l!="string"?l:a.create(e,a.Fragment,{children:l||void 0},void 0)}function ow(e,t,n){if(t.type==="element")return jL(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return NL(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return AL(e,t,n);if(t.type==="mdxjsEsm")return TL(e,t);if(t.type==="root")return LL(e,t,n);if(t.type==="text")return DL(e,t)}function jL(e,t,n){const r=e.schema;let a=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(a=ng,e.schema=a),e.ancestors.push(t);const l=cw(e,t.tagName,!1),u=IL(e,t);let c=ag(e,t);return CL.has(t.tagName)&&(c=c.filter(function(d){return typeof d=="string"?!rL(d):!0})),lw(e,u,l,t),ig(u,c),e.ancestors.pop(),e.schema=r,e.create(t,l,u,n)}function NL(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}Nl(e,t.position)}function TL(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Nl(e,t.position)}function AL(e,t,n){const r=e.schema;let a=r;t.name==="svg"&&r.space==="html"&&(a=ng,e.schema=a),e.ancestors.push(t);const l=t.name===null?e.Fragment:cw(e,t.name,!0),u=ML(e,t),c=ag(e,t);return lw(e,u,l,t),ig(u,c),e.ancestors.pop(),e.schema=r,e.create(t,l,u,n)}function LL(e,t,n){const r={};return ig(r,ag(e,t)),e.create(t,e.Fragment,r,n)}function DL(e,t){return t.value}function lw(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function ig(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function RL(e,t,n){return r;function r(a,l,u,c){const f=Array.isArray(u.children)?n:t;return c?f(l,u,c):f(l,u)}}function OL(e,t){return n;function n(r,a,l,u){const c=Array.isArray(l.children),d=rg(r);return t(a,l,u,c,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function IL(e,t){const n={};let r,a;for(a in t.properties)if(a!=="children"&&sg.call(t.properties,a)){const l=PL(e,a,t.properties[a]);if(l){const[u,c]=l;e.tableCellAlignToStyle&&u==="align"&&typeof c=="string"&&kL.has(t.tagName)?r=c:n[u]=c}}if(r){const l=n.style||(n.style={});l[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function ML(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const l=r.data.estree.body[0];l.type;const u=l.expression;u.type;const c=u.properties[0];c.type,Object.assign(n,e.evaluater.evaluateExpression(c.argument))}else Nl(e,t.position);else{const a=r.name;let l;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const c=r.value.data.estree.body[0];c.type,l=e.evaluater.evaluateExpression(c.expression)}else Nl(e,t.position);else l=r.value===null?!0:r.value;n[a]=l}return n}function ag(e,t){const n=[];let r=-1;const a=e.passKeys?new Map:SL;for(;++r<t.children.length;){const l=t.children[r];let u;if(e.passKeys){const d=l.type==="element"?l.tagName:l.type==="mdxJsxFlowElement"||l.type==="mdxJsxTextElement"?l.name:void 0;if(d){const f=a.get(d)||0;u=d+"-"+f,a.set(d,f+1)}}const c=ow(e,l,u);c!==void 0&&n.push(c)}return n}function PL(e,t,n){const r=uL(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?JA(n):mL(n)),r.property==="style"){let a=typeof n=="object"?n:BL(e,String(n));return e.stylePropertyNameCase==="css"&&(a=$L(a)),["style",a]}return[e.elementAttributeNameCase==="react"&&r.space?oL[r.property]||r.property:r.attribute,n]}}function BL(e,t){try{return vL(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,a=new On("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw a.file=e.filePath||void 0,a.url=aw+"#cannot-parse-style-attribute",a}}function cw(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){const a=t.split(".");let l=-1,u;for(;++l<a.length;){const c=H_(a[l])?{type:"Identifier",name:a[l]}:{type:"Literal",value:a[l]};u=u?{type:"MemberExpression",object:u,property:c,computed:!!(l&&c.type==="Literal"),optional:!1}:c}r=u}else r=H_(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const a=r.value;return sg.call(e.components,a)?e.components[a]:a}if(e.evaluater)return e.evaluater.evaluateExpression(r);Nl(e)}function Nl(e,t){const n=new On("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=aw+"#cannot-handle-mdx-estrees-without-createevaluater",n}function $L(e){const t={};let n;for(n in e)sg.call(e,n)&&(t[zL(n)]=e[n]);return t}function zL(e){let t=e.replace(wL,HL);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function HL(e){return"-"+e.toLowerCase()}const gm={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},UL={};function og(e,t){const n=UL,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,a=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return uw(e,r,a)}function uw(e,t,n){if(FL(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Q_(e.children,t,n)}return Array.isArray(e)?Q_(e,t,n):""}function Q_(e,t,n){const r=[];let a=-1;for(;++a<e.length;)r[a]=uw(e[a],t,n);return r.join("")}function FL(e){return!!(e&&typeof e=="object")}const J_=document.createElement("i");function lg(e){const t="&"+e+";";J_.innerHTML=t;const n=J_.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function lr(e,t,n,r){const a=e.length;let l=0,u;if(t<0?t=-t>a?0:a+t:t=t>a?a:t,n=n>0?n:0,r.length<1e4)u=Array.from(r),u.unshift(t,n),e.splice(...u);else for(n&&e.splice(t,n);l<r.length;)u=r.slice(l,l+1e4),u.unshift(t,0),e.splice(...u),l+=1e4,t+=1e4}function vr(e,t){return e.length>0?(lr(e,e.length,0,t),e):t}const Z_={}.hasOwnProperty;function dw(e){const t={};let n=-1;for(;++n<e.length;)VL(t,e[n]);return t}function VL(e,t){let n;for(n in t){const a=(Z_.call(e,n)?e[n]:void 0)||(e[n]={}),l=t[n];let u;if(l)for(u in l){Z_.call(a,u)||(a[u]=[]);const c=l[u];GL(a[u],Array.isArray(c)?c:c?[c]:[])}}}function GL(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);lr(e,0,0,r)}function hw(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Dr(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Pn=ci(/[A-Za-z]/),Rn=ci(/[\dA-Za-z]/),WL=ci(/[#-'*+\--9=?A-Z^-~]/);function Hu(e){return e!==null&&(e<32||e===127)}const hp=ci(/\d/),qL=ci(/[\dA-Fa-f]/),KL=ci(/[!-/:-@[-`{-~]/);function Xe(e){return e!==null&&e<-2}function Mt(e){return e!==null&&(e<0||e===32)}function ft(e){return e===-2||e===-1||e===32}const gd=ci(new RegExp("\\p{P}|\\p{S}","u")),Fi=ci(/\s/);function ci(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function ao(e){const t=[];let n=-1,r=0,a=0;for(;++n<e.length;){const l=e.charCodeAt(n);let u="";if(l===37&&Rn(e.charCodeAt(n+1))&&Rn(e.charCodeAt(n+2)))a=2;else if(l<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(l))||(u=String.fromCharCode(l));else if(l>55295&&l<57344){const c=e.charCodeAt(n+1);l<56320&&c>56319&&c<57344?(u=String.fromCharCode(l,c),a=1):u="�"}else u=String.fromCharCode(l);u&&(t.push(e.slice(r,n),encodeURIComponent(u)),r=n+a+1,u=""),a&&(n+=a,a=0)}return t.join("")+e.slice(r)}function _t(e,t,n,r){const a=r?r-1:Number.POSITIVE_INFINITY;let l=0;return u;function u(d){return ft(d)?(e.enter(n),c(d)):t(d)}function c(d){return ft(d)&&l++<a?(e.consume(d),c):(e.exit(n),t(d))}}const YL={tokenize:XL};function XL(e){const t=e.attempt(this.parser.constructs.contentInitial,r,a);let n;return t;function r(c){if(c===null){e.consume(c);return}return e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),_t(e,t,"linePrefix")}function a(c){return e.enter("paragraph"),l(c)}function l(c){const d=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=d),n=d,u(c)}function u(c){if(c===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(c);return}return Xe(c)?(e.consume(c),e.exit("chunkText"),l):(e.consume(c),u)}}const QL={tokenize:JL},e0={tokenize:ZL};function JL(e){const t=this,n=[];let r=0,a,l,u;return c;function c(b){if(r<n.length){const E=n[r];return t.containerState=E[1],e.attempt(E[0].continuation,d,f)(b)}return f(b)}function d(b){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,a&&v();const E=t.events.length;let j=E,T;for(;j--;)if(t.events[j][0]==="exit"&&t.events[j][1].type==="chunkFlow"){T=t.events[j][1].end;break}S(r);let D=E;for(;D<t.events.length;)t.events[D][1].end={...T},D++;return lr(t.events,j+1,0,t.events.slice(E)),t.events.length=D,f(b)}return c(b)}function f(b){if(r===n.length){if(!a)return x(b);if(a.currentConstruct&&a.currentConstruct.concrete)return w(b);t.interrupt=!!(a.currentConstruct&&!a._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(e0,p,m)(b)}function p(b){return a&&v(),S(r),x(b)}function m(b){return t.parser.lazy[t.now().line]=r!==n.length,u=t.now().offset,w(b)}function x(b){return t.containerState={},e.attempt(e0,y,w)(b)}function y(b){return r++,n.push([t.currentConstruct,t.containerState]),x(b)}function w(b){if(b===null){a&&v(),S(0),e.consume(b);return}return a=a||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:a,contentType:"flow",previous:l}),C(b)}function C(b){if(b===null){_(e.exit("chunkFlow"),!0),S(0),e.consume(b);return}return Xe(b)?(e.consume(b),_(e.exit("chunkFlow")),r=0,t.interrupt=void 0,c):(e.consume(b),C)}function _(b,E){const j=t.sliceStream(b);if(E&&j.push(null),b.previous=l,l&&(l.next=b),l=b,a.defineSkip(b.start),a.write(j),t.parser.lazy[b.start.line]){let T=a.events.length;for(;T--;)if(a.events[T][1].start.offset<u&&(!a.events[T][1].end||a.events[T][1].end.offset>u))return;const D=t.events.length;let L=D,R,M;for(;L--;)if(t.events[L][0]==="exit"&&t.events[L][1].type==="chunkFlow"){if(R){M=t.events[L][1].end;break}R=!0}for(S(r),T=D;T<t.events.length;)t.events[T][1].end={...M},T++;lr(t.events,L+1,0,t.events.slice(D)),t.events.length=T}}function S(b){let E=n.length;for(;E-- >b;){const j=n[E];t.containerState=j[1],j[0].exit.call(t,e)}n.length=b}function v(){a.write([null]),l=void 0,a=void 0,t.containerState._closeFlow=void 0}}function ZL(e,t,n){return _t(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Ja(e){if(e===null||Mt(e)||Fi(e))return 1;if(gd(e))return 2}function xd(e,t,n){const r=[];let a=-1;for(;++a<e.length;){const l=e[a].resolveAll;l&&!r.includes(l)&&(t=l(t,n),r.push(l))}return t}const fp={name:"attention",resolveAll:eD,tokenize:tD};function eD(e,t){let n=-1,r,a,l,u,c,d,f,p;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;d=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const m={...e[r][1].end},x={...e[n][1].start};t0(m,-d),t0(x,d),u={type:d>1?"strongSequence":"emphasisSequence",start:m,end:{...e[r][1].end}},c={type:d>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:x},l={type:d>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},a={type:d>1?"strong":"emphasis",start:{...u.start},end:{...c.end}},e[r][1].end={...u.start},e[n][1].start={...c.end},f=[],e[r][1].end.offset-e[r][1].start.offset&&(f=vr(f,[["enter",e[r][1],t],["exit",e[r][1],t]])),f=vr(f,[["enter",a,t],["enter",u,t],["exit",u,t],["enter",l,t]]),f=vr(f,xd(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),f=vr(f,[["exit",l,t],["enter",c,t],["exit",c,t],["exit",a,t]]),e[n][1].end.offset-e[n][1].start.offset?(p=2,f=vr(f,[["enter",e[n][1],t],["exit",e[n][1],t]])):p=0,lr(e,r-1,n-r+3,f),n=r+f.length-p-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function tD(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,a=Ja(r);let l;return u;function u(d){return l=d,e.enter("attentionSequence"),c(d)}function c(d){if(d===l)return e.consume(d),c;const f=e.exit("attentionSequence"),p=Ja(d),m=!p||p===2&&a||n.includes(d),x=!a||a===2&&p||n.includes(r);return f._open=!!(l===42?m:m&&(a||!x)),f._close=!!(l===42?x:x&&(p||!m)),t(d)}}function t0(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const nD={name:"autolink",tokenize:rD};function rD(e,t,n){let r=0;return a;function a(y){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),l}function l(y){return Pn(y)?(e.consume(y),u):y===64?n(y):f(y)}function u(y){return y===43||y===45||y===46||Rn(y)?(r=1,c(y)):f(y)}function c(y){return y===58?(e.consume(y),r=0,d):(y===43||y===45||y===46||Rn(y))&&r++<32?(e.consume(y),c):(r=0,f(y))}function d(y){return y===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),t):y===null||y===32||y===60||Hu(y)?n(y):(e.consume(y),d)}function f(y){return y===64?(e.consume(y),p):WL(y)?(e.consume(y),f):n(y)}function p(y){return Rn(y)?m(y):n(y)}function m(y){return y===46?(e.consume(y),r=0,p):y===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),t):x(y)}function x(y){if((y===45||Rn(y))&&r++<63){const w=y===45?x:m;return e.consume(y),w}return n(y)}}const Ul={partial:!0,tokenize:sD};function sD(e,t,n){return r;function r(l){return ft(l)?_t(e,a,"linePrefix")(l):a(l)}function a(l){return l===null||Xe(l)?t(l):n(l)}}const fw={continuation:{tokenize:aD},exit:oD,name:"blockQuote",tokenize:iD};function iD(e,t,n){const r=this;return a;function a(u){if(u===62){const c=r.containerState;return c.open||(e.enter("blockQuote",{_container:!0}),c.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(u),e.exit("blockQuoteMarker"),l}return n(u)}function l(u){return ft(u)?(e.enter("blockQuotePrefixWhitespace"),e.consume(u),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(u))}}function aD(e,t,n){const r=this;return a;function a(u){return ft(u)?_t(e,l,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u):l(u)}function l(u){return e.attempt(fw,t,n)(u)}}function oD(e){e.exit("blockQuote")}const mw={name:"characterEscape",tokenize:lD};function lD(e,t,n){return r;function r(l){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(l),e.exit("escapeMarker"),a}function a(l){return KL(l)?(e.enter("characterEscapeValue"),e.consume(l),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(l)}}const pw={name:"characterReference",tokenize:cD};function cD(e,t,n){const r=this;let a=0,l,u;return c;function c(m){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),d}function d(m){return m===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(m),e.exit("characterReferenceMarkerNumeric"),f):(e.enter("characterReferenceValue"),l=31,u=Rn,p(m))}function f(m){return m===88||m===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(m),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),l=6,u=qL,p):(e.enter("characterReferenceValue"),l=7,u=hp,p(m))}function p(m){if(m===59&&a){const x=e.exit("characterReferenceValue");return u===Rn&&!lg(r.sliceSerialize(x))?n(m):(e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return u(m)&&a++<l?(e.consume(m),p):n(m)}}const n0={partial:!0,tokenize:dD},r0={concrete:!0,name:"codeFenced",tokenize:uD};function uD(e,t,n){const r=this,a={partial:!0,tokenize:j};let l=0,u=0,c;return d;function d(T){return f(T)}function f(T){const D=r.events[r.events.length-1];return l=D&&D[1].type==="linePrefix"?D[2].sliceSerialize(D[1],!0).length:0,c=T,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),p(T)}function p(T){return T===c?(u++,e.consume(T),p):u<3?n(T):(e.exit("codeFencedFenceSequence"),ft(T)?_t(e,m,"whitespace")(T):m(T))}function m(T){return T===null||Xe(T)?(e.exit("codeFencedFence"),r.interrupt?t(T):e.check(n0,C,E)(T)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),x(T))}function x(T){return T===null||Xe(T)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),m(T)):ft(T)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),_t(e,y,"whitespace")(T)):T===96&&T===c?n(T):(e.consume(T),x)}function y(T){return T===null||Xe(T)?m(T):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),w(T))}function w(T){return T===null||Xe(T)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),m(T)):T===96&&T===c?n(T):(e.consume(T),w)}function C(T){return e.attempt(a,E,_)(T)}function _(T){return e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),S}function S(T){return l>0&&ft(T)?_t(e,v,"linePrefix",l+1)(T):v(T)}function v(T){return T===null||Xe(T)?e.check(n0,C,E)(T):(e.enter("codeFlowValue"),b(T))}function b(T){return T===null||Xe(T)?(e.exit("codeFlowValue"),v(T)):(e.consume(T),b)}function E(T){return e.exit("codeFenced"),t(T)}function j(T,D,L){let R=0;return M;function M(F){return T.enter("lineEnding"),T.consume(F),T.exit("lineEnding"),V}function V(F){return T.enter("codeFencedFence"),ft(F)?_t(T,U,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(F):U(F)}function U(F){return F===c?(T.enter("codeFencedFenceSequence"),O(F)):L(F)}function O(F){return F===c?(R++,T.consume(F),O):R>=u?(T.exit("codeFencedFenceSequence"),ft(F)?_t(T,H,"whitespace")(F):H(F)):L(F)}function H(F){return F===null||Xe(F)?(T.exit("codeFencedFence"),D(F)):L(F)}}}function dD(e,t,n){const r=this;return a;function a(u){return u===null?n(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l)}function l(u){return r.parser.lazy[r.now().line]?n(u):t(u)}}const xm={name:"codeIndented",tokenize:fD},hD={partial:!0,tokenize:mD};function fD(e,t,n){const r=this;return a;function a(f){return e.enter("codeIndented"),_t(e,l,"linePrefix",5)(f)}function l(f){const p=r.events[r.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?u(f):n(f)}function u(f){return f===null?d(f):Xe(f)?e.attempt(hD,u,d)(f):(e.enter("codeFlowValue"),c(f))}function c(f){return f===null||Xe(f)?(e.exit("codeFlowValue"),u(f)):(e.consume(f),c)}function d(f){return e.exit("codeIndented"),t(f)}}function mD(e,t,n){const r=this;return a;function a(u){return r.parser.lazy[r.now().line]?n(u):Xe(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),a):_t(e,l,"linePrefix",5)(u)}function l(u){const c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?t(u):Xe(u)?a(u):n(u)}}const pD={name:"codeText",previous:xD,resolve:gD,tokenize:yD};function gD(e){let t=e.length-4,n=3,r,a;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)a===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(a=r):(r===t||e[r][1].type==="lineEnding")&&(e[a][1].type="codeTextData",r!==a+2&&(e[a][1].end=e[r-1][1].end,e.splice(a+2,r-a-2),t-=r-a-2,r=a+2),a=void 0);return e}function xD(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function yD(e,t,n){let r=0,a,l;return u;function u(m){return e.enter("codeText"),e.enter("codeTextSequence"),c(m)}function c(m){return m===96?(e.consume(m),r++,c):(e.exit("codeTextSequence"),d(m))}function d(m){return m===null?n(m):m===32?(e.enter("space"),e.consume(m),e.exit("space"),d):m===96?(l=e.enter("codeTextSequence"),a=0,p(m)):Xe(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),d):(e.enter("codeTextData"),f(m))}function f(m){return m===null||m===32||m===96||Xe(m)?(e.exit("codeTextData"),d(m)):(e.consume(m),f)}function p(m){return m===96?(e.consume(m),a++,p):a===r?(e.exit("codeTextSequence"),e.exit("codeText"),t(m)):(l.type="codeTextData",f(m))}}class bD{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const a=n||0;this.setCursor(Math.trunc(t));const l=this.right.splice(this.right.length-a,Number.POSITIVE_INFINITY);return r&&ol(this.left,r),l.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),ol(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),ol(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);ol(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);ol(this.left,n.reverse())}}}function ol(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function gw(e){const t={};let n=-1,r,a,l,u,c,d,f;const p=new bD(e);for(;++n<p.length;){for(;n in t;)n=t[n];if(r=p.get(n),n&&r[1].type==="chunkFlow"&&p.get(n-1)[1].type==="listItemPrefix"&&(d=r[1]._tokenizer.events,l=0,l<d.length&&d[l][1].type==="lineEndingBlank"&&(l+=2),l<d.length&&d[l][1].type==="content"))for(;++l<d.length&&d[l][1].type!=="content";)d[l][1].type==="chunkText"&&(d[l][1]._isInFirstContentOfListItem=!0,l++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,vD(p,n)),n=t[n],f=!0);else if(r[1]._container){for(l=n,a=void 0;l--;)if(u=p.get(l),u[1].type==="lineEnding"||u[1].type==="lineEndingBlank")u[0]==="enter"&&(a&&(p.get(a)[1].type="lineEndingBlank"),u[1].type="lineEnding",a=l);else if(!(u[1].type==="linePrefix"||u[1].type==="listItemIndent"))break;a&&(r[1].end={...p.get(a)[1].start},c=p.slice(a,n),c.unshift(r),p.splice(a,n-a+1,c))}}return lr(e,0,Number.POSITIVE_INFINITY,p.slice(0)),!f}function vD(e,t){const n=e.get(t)[1],r=e.get(t)[2];let a=t-1;const l=[];let u=n._tokenizer;u||(u=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(u._contentTypeTextTrailing=!0));const c=u.events,d=[],f={};let p,m,x=-1,y=n,w=0,C=0;const _=[C];for(;y;){for(;e.get(++a)[1]!==y;);l.push(a),y._tokenizer||(p=r.sliceStream(y),y.next||p.push(null),m&&u.defineSkip(y.start),y._isInFirstContentOfListItem&&(u._gfmTasklistFirstContentOfListItem=!0),u.write(p),y._isInFirstContentOfListItem&&(u._gfmTasklistFirstContentOfListItem=void 0)),m=y,y=y.next}for(y=n;++x<c.length;)c[x][0]==="exit"&&c[x-1][0]==="enter"&&c[x][1].type===c[x-1][1].type&&c[x][1].start.line!==c[x][1].end.line&&(C=x+1,_.push(C),y._tokenizer=void 0,y.previous=void 0,y=y.next);for(u.events=[],y?(y._tokenizer=void 0,y.previous=void 0):_.pop(),x=_.length;x--;){const S=c.slice(_[x],_[x+1]),v=l.pop();d.push([v,v+S.length-1]),e.splice(v,2,S)}for(d.reverse(),x=-1;++x<d.length;)f[w+d[x][0]]=w+d[x][1],w+=d[x][1]-d[x][0]-1;return f}const _D={resolve:wD,tokenize:CD},SD={partial:!0,tokenize:kD};function wD(e){return gw(e),e}function CD(e,t){let n;return r;function r(c){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),a(c)}function a(c){return c===null?l(c):Xe(c)?e.check(SD,u,l)(c):(e.consume(c),a)}function l(c){return e.exit("chunkContent"),e.exit("content"),t(c)}function u(c){return e.consume(c),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,a}}function kD(e,t,n){const r=this;return a;function a(u){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),_t(e,l,"linePrefix")}function l(u){if(u===null||Xe(u))return n(u);const c=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?t(u):e.interrupt(r.parser.constructs.flow,n,t)(u)}}function xw(e,t,n,r,a,l,u,c,d){const f=d||Number.POSITIVE_INFINITY;let p=0;return m;function m(S){return S===60?(e.enter(r),e.enter(a),e.enter(l),e.consume(S),e.exit(l),x):S===null||S===32||S===41||Hu(S)?n(S):(e.enter(r),e.enter(u),e.enter(c),e.enter("chunkString",{contentType:"string"}),C(S))}function x(S){return S===62?(e.enter(l),e.consume(S),e.exit(l),e.exit(a),e.exit(r),t):(e.enter(c),e.enter("chunkString",{contentType:"string"}),y(S))}function y(S){return S===62?(e.exit("chunkString"),e.exit(c),x(S)):S===null||S===60||Xe(S)?n(S):(e.consume(S),S===92?w:y)}function w(S){return S===60||S===62||S===92?(e.consume(S),y):y(S)}function C(S){return!p&&(S===null||S===41||Mt(S))?(e.exit("chunkString"),e.exit(c),e.exit(u),e.exit(r),t(S)):p<f&&S===40?(e.consume(S),p++,C):S===41?(e.consume(S),p--,C):S===null||S===32||S===40||Hu(S)?n(S):(e.consume(S),S===92?_:C)}function _(S){return S===40||S===41||S===92?(e.consume(S),C):C(S)}}function yw(e,t,n,r,a,l){const u=this;let c=0,d;return f;function f(y){return e.enter(r),e.enter(a),e.consume(y),e.exit(a),e.enter(l),p}function p(y){return c>999||y===null||y===91||y===93&&!d||y===94&&!c&&"_hiddenFootnoteSupport"in u.parser.constructs?n(y):y===93?(e.exit(l),e.enter(a),e.consume(y),e.exit(a),e.exit(r),t):Xe(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===null||y===91||y===93||Xe(y)||c++>999?(e.exit("chunkString"),p(y)):(e.consume(y),d||(d=!ft(y)),y===92?x:m)}function x(y){return y===91||y===92||y===93?(e.consume(y),c++,m):m(y)}}function bw(e,t,n,r,a,l){let u;return c;function c(x){return x===34||x===39||x===40?(e.enter(r),e.enter(a),e.consume(x),e.exit(a),u=x===40?41:x,d):n(x)}function d(x){return x===u?(e.enter(a),e.consume(x),e.exit(a),e.exit(r),t):(e.enter(l),f(x))}function f(x){return x===u?(e.exit(l),d(u)):x===null?n(x):Xe(x)?(e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),_t(e,f,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===u||x===null||Xe(x)?(e.exit("chunkString"),f(x)):(e.consume(x),x===92?m:p)}function m(x){return x===u||x===92?(e.consume(x),p):p(x)}}function vl(e,t){let n;return r;function r(a){return Xe(a)?(e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),n=!0,r):ft(a)?_t(e,r,n?"linePrefix":"lineSuffix")(a):t(a)}}const ED={name:"definition",tokenize:ND},jD={partial:!0,tokenize:TD};function ND(e,t,n){const r=this;let a;return l;function l(y){return e.enter("definition"),u(y)}function u(y){return yw.call(r,e,c,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function c(y){return a=Dr(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),d):n(y)}function d(y){return Mt(y)?vl(e,f)(y):f(y)}function f(y){return xw(e,p,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function p(y){return e.attempt(jD,m,m)(y)}function m(y){return ft(y)?_t(e,x,"whitespace")(y):x(y)}function x(y){return y===null||Xe(y)?(e.exit("definition"),r.parser.defined.push(a),t(y)):n(y)}}function TD(e,t,n){return r;function r(c){return Mt(c)?vl(e,a)(c):n(c)}function a(c){return bw(e,l,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(c)}function l(c){return ft(c)?_t(e,u,"whitespace")(c):u(c)}function u(c){return c===null||Xe(c)?t(c):n(c)}}const AD={name:"hardBreakEscape",tokenize:LD};function LD(e,t,n){return r;function r(l){return e.enter("hardBreakEscape"),e.consume(l),a}function a(l){return Xe(l)?(e.exit("hardBreakEscape"),t(l)):n(l)}}const DD={name:"headingAtx",resolve:RD,tokenize:OD};function RD(e,t){let n=e.length-2,r=3,a,l;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(a={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},l={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},lr(e,r,n-r+1,[["enter",a,t],["enter",l,t],["exit",l,t],["exit",a,t]])),e}function OD(e,t,n){let r=0;return a;function a(p){return e.enter("atxHeading"),l(p)}function l(p){return e.enter("atxHeadingSequence"),u(p)}function u(p){return p===35&&r++<6?(e.consume(p),u):p===null||Mt(p)?(e.exit("atxHeadingSequence"),c(p)):n(p)}function c(p){return p===35?(e.enter("atxHeadingSequence"),d(p)):p===null||Xe(p)?(e.exit("atxHeading"),t(p)):ft(p)?_t(e,c,"whitespace")(p):(e.enter("atxHeadingText"),f(p))}function d(p){return p===35?(e.consume(p),d):(e.exit("atxHeadingSequence"),c(p))}function f(p){return p===null||p===35||Mt(p)?(e.exit("atxHeadingText"),c(p)):(e.consume(p),f)}}const ID=["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","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],s0=["pre","script","style","textarea"],MD={concrete:!0,name:"htmlFlow",resolveTo:$D,tokenize:zD},PD={partial:!0,tokenize:UD},BD={partial:!0,tokenize:HD};function $D(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function zD(e,t,n){const r=this;let a,l,u,c,d;return f;function f(P){return p(P)}function p(P){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(P),m}function m(P){return P===33?(e.consume(P),x):P===47?(e.consume(P),l=!0,C):P===63?(e.consume(P),a=3,r.interrupt?t:I):Pn(P)?(e.consume(P),u=String.fromCharCode(P),_):n(P)}function x(P){return P===45?(e.consume(P),a=2,y):P===91?(e.consume(P),a=5,c=0,w):Pn(P)?(e.consume(P),a=4,r.interrupt?t:I):n(P)}function y(P){return P===45?(e.consume(P),r.interrupt?t:I):n(P)}function w(P){const ee="CDATA[";return P===ee.charCodeAt(c++)?(e.consume(P),c===ee.length?r.interrupt?t:U:w):n(P)}function C(P){return Pn(P)?(e.consume(P),u=String.fromCharCode(P),_):n(P)}function _(P){if(P===null||P===47||P===62||Mt(P)){const ee=P===47,Q=u.toLowerCase();return!ee&&!l&&s0.includes(Q)?(a=1,r.interrupt?t(P):U(P)):ID.includes(u.toLowerCase())?(a=6,ee?(e.consume(P),S):r.interrupt?t(P):U(P)):(a=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(P):l?v(P):b(P))}return P===45||Rn(P)?(e.consume(P),u+=String.fromCharCode(P),_):n(P)}function S(P){return P===62?(e.consume(P),r.interrupt?t:U):n(P)}function v(P){return ft(P)?(e.consume(P),v):M(P)}function b(P){return P===47?(e.consume(P),M):P===58||P===95||Pn(P)?(e.consume(P),E):ft(P)?(e.consume(P),b):M(P)}function E(P){return P===45||P===46||P===58||P===95||Rn(P)?(e.consume(P),E):j(P)}function j(P){return P===61?(e.consume(P),T):ft(P)?(e.consume(P),j):b(P)}function T(P){return P===null||P===60||P===61||P===62||P===96?n(P):P===34||P===39?(e.consume(P),d=P,D):ft(P)?(e.consume(P),T):L(P)}function D(P){return P===d?(e.consume(P),d=null,R):P===null||Xe(P)?n(P):(e.consume(P),D)}function L(P){return P===null||P===34||P===39||P===47||P===60||P===61||P===62||P===96||Mt(P)?j(P):(e.consume(P),L)}function R(P){return P===47||P===62||ft(P)?b(P):n(P)}function M(P){return P===62?(e.consume(P),V):n(P)}function V(P){return P===null||Xe(P)?U(P):ft(P)?(e.consume(P),V):n(P)}function U(P){return P===45&&a===2?(e.consume(P),G):P===60&&a===1?(e.consume(P),Z):P===62&&a===4?(e.consume(P),B):P===63&&a===3?(e.consume(P),I):P===93&&a===5?(e.consume(P),z):Xe(P)&&(a===6||a===7)?(e.exit("htmlFlowData"),e.check(PD,K,O)(P)):P===null||Xe(P)?(e.exit("htmlFlowData"),O(P)):(e.consume(P),U)}function O(P){return e.check(BD,H,K)(P)}function H(P){return e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),F}function F(P){return P===null||Xe(P)?O(P):(e.enter("htmlFlowData"),U(P))}function G(P){return P===45?(e.consume(P),I):U(P)}function Z(P){return P===47?(e.consume(P),u="",q):U(P)}function q(P){if(P===62){const ee=u.toLowerCase();return s0.includes(ee)?(e.consume(P),B):U(P)}return Pn(P)&&u.length<8?(e.consume(P),u+=String.fromCharCode(P),q):U(P)}function z(P){return P===93?(e.consume(P),I):U(P)}function I(P){return P===62?(e.consume(P),B):P===45&&a===2?(e.consume(P),I):U(P)}function B(P){return P===null||Xe(P)?(e.exit("htmlFlowData"),K(P)):(e.consume(P),B)}function K(P){return e.exit("htmlFlow"),t(P)}}function HD(e,t,n){const r=this;return a;function a(u){return Xe(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l):n(u)}function l(u){return r.parser.lazy[r.now().line]?n(u):t(u)}}function UD(e,t,n){return r;function r(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),e.attempt(Ul,t,n)}}const FD={name:"htmlText",tokenize:VD};function VD(e,t,n){const r=this;let a,l,u;return c;function c(I){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(I),d}function d(I){return I===33?(e.consume(I),f):I===47?(e.consume(I),j):I===63?(e.consume(I),b):Pn(I)?(e.consume(I),L):n(I)}function f(I){return I===45?(e.consume(I),p):I===91?(e.consume(I),l=0,w):Pn(I)?(e.consume(I),v):n(I)}function p(I){return I===45?(e.consume(I),y):n(I)}function m(I){return I===null?n(I):I===45?(e.consume(I),x):Xe(I)?(u=m,Z(I)):(e.consume(I),m)}function x(I){return I===45?(e.consume(I),y):m(I)}function y(I){return I===62?G(I):I===45?x(I):m(I)}function w(I){const B="CDATA[";return I===B.charCodeAt(l++)?(e.consume(I),l===B.length?C:w):n(I)}function C(I){return I===null?n(I):I===93?(e.consume(I),_):Xe(I)?(u=C,Z(I)):(e.consume(I),C)}function _(I){return I===93?(e.consume(I),S):C(I)}function S(I){return I===62?G(I):I===93?(e.consume(I),S):C(I)}function v(I){return I===null||I===62?G(I):Xe(I)?(u=v,Z(I)):(e.consume(I),v)}function b(I){return I===null?n(I):I===63?(e.consume(I),E):Xe(I)?(u=b,Z(I)):(e.consume(I),b)}function E(I){return I===62?G(I):b(I)}function j(I){return Pn(I)?(e.consume(I),T):n(I)}function T(I){return I===45||Rn(I)?(e.consume(I),T):D(I)}function D(I){return Xe(I)?(u=D,Z(I)):ft(I)?(e.consume(I),D):G(I)}function L(I){return I===45||Rn(I)?(e.consume(I),L):I===47||I===62||Mt(I)?R(I):n(I)}function R(I){return I===47?(e.consume(I),G):I===58||I===95||Pn(I)?(e.consume(I),M):Xe(I)?(u=R,Z(I)):ft(I)?(e.consume(I),R):G(I)}function M(I){return I===45||I===46||I===58||I===95||Rn(I)?(e.consume(I),M):V(I)}function V(I){return I===61?(e.consume(I),U):Xe(I)?(u=V,Z(I)):ft(I)?(e.consume(I),V):R(I)}function U(I){return I===null||I===60||I===61||I===62||I===96?n(I):I===34||I===39?(e.consume(I),a=I,O):Xe(I)?(u=U,Z(I)):ft(I)?(e.consume(I),U):(e.consume(I),H)}function O(I){return I===a?(e.consume(I),a=void 0,F):I===null?n(I):Xe(I)?(u=O,Z(I)):(e.consume(I),O)}function H(I){return I===null||I===34||I===39||I===60||I===61||I===96?n(I):I===47||I===62||Mt(I)?R(I):(e.consume(I),H)}function F(I){return I===47||I===62||Mt(I)?R(I):n(I)}function G(I){return I===62?(e.consume(I),e.exit("htmlTextData"),e.exit("htmlText"),t):n(I)}function Z(I){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(I),e.exit("lineEnding"),q}function q(I){return ft(I)?_t(e,z,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(I):z(I)}function z(I){return e.enter("htmlTextData"),u(I)}}const cg={name:"labelEnd",resolveAll:KD,resolveTo:YD,tokenize:XD},GD={tokenize:QD},WD={tokenize:JD},qD={tokenize:ZD};function KD(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const a=r.type==="labelImage"?4:2;r.type="data",t+=a}}return e.length!==n.length&&lr(e,0,e.length,n),e}function YD(e,t){let n=e.length,r=0,a,l,u,c;for(;n--;)if(a=e[n][1],l){if(a.type==="link"||a.type==="labelLink"&&a._inactive)break;e[n][0]==="enter"&&a.type==="labelLink"&&(a._inactive=!0)}else if(u){if(e[n][0]==="enter"&&(a.type==="labelImage"||a.type==="labelLink")&&!a._balanced&&(l=n,a.type!=="labelLink")){r=2;break}}else a.type==="labelEnd"&&(u=n);const d={type:e[l][1].type==="labelLink"?"link":"image",start:{...e[l][1].start},end:{...e[e.length-1][1].end}},f={type:"label",start:{...e[l][1].start},end:{...e[u][1].end}},p={type:"labelText",start:{...e[l+r+2][1].end},end:{...e[u-2][1].start}};return c=[["enter",d,t],["enter",f,t]],c=vr(c,e.slice(l+1,l+r+3)),c=vr(c,[["enter",p,t]]),c=vr(c,xd(t.parser.constructs.insideSpan.null,e.slice(l+r+4,u-3),t)),c=vr(c,[["exit",p,t],e[u-2],e[u-1],["exit",f,t]]),c=vr(c,e.slice(u+1)),c=vr(c,[["exit",d,t]]),lr(e,l,e.length,c),e}function XD(e,t,n){const r=this;let a=r.events.length,l,u;for(;a--;)if((r.events[a][1].type==="labelImage"||r.events[a][1].type==="labelLink")&&!r.events[a][1]._balanced){l=r.events[a][1];break}return c;function c(x){return l?l._inactive?m(x):(u=r.parser.defined.includes(Dr(r.sliceSerialize({start:l.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(x),e.exit("labelMarker"),e.exit("labelEnd"),d):n(x)}function d(x){return x===40?e.attempt(GD,p,u?p:m)(x):x===91?e.attempt(WD,p,u?f:m)(x):u?p(x):m(x)}function f(x){return e.attempt(qD,p,m)(x)}function p(x){return t(x)}function m(x){return l._balanced=!0,n(x)}}function QD(e,t,n){return r;function r(m){return e.enter("resource"),e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),a}function a(m){return Mt(m)?vl(e,l)(m):l(m)}function l(m){return m===41?p(m):xw(e,u,c,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(m)}function u(m){return Mt(m)?vl(e,d)(m):p(m)}function c(m){return n(m)}function d(m){return m===34||m===39||m===40?bw(e,f,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(m):p(m)}function f(m){return Mt(m)?vl(e,p)(m):p(m)}function p(m){return m===41?(e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),e.exit("resource"),t):n(m)}}function JD(e,t,n){const r=this;return a;function a(c){return yw.call(r,e,l,u,"reference","referenceMarker","referenceString")(c)}function l(c){return r.parser.defined.includes(Dr(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(c):n(c)}function u(c){return n(c)}}function ZD(e,t,n){return r;function r(l){return e.enter("reference"),e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),a}function a(l){return l===93?(e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),e.exit("reference"),t):n(l)}}const eR={name:"labelStartImage",resolveAll:cg.resolveAll,tokenize:tR};function tR(e,t,n){const r=this;return a;function a(c){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(c),e.exit("labelImageMarker"),l}function l(c){return c===91?(e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),e.exit("labelImage"),u):n(c)}function u(c){return c===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(c):t(c)}}const nR={name:"labelStartLink",resolveAll:cg.resolveAll,tokenize:rR};function rR(e,t,n){const r=this;return a;function a(u){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(u),e.exit("labelMarker"),e.exit("labelLink"),l}function l(u){return u===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(u):t(u)}}const ym={name:"lineEnding",tokenize:sR};function sR(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),_t(e,t,"linePrefix")}}const Ru={name:"thematicBreak",tokenize:iR};function iR(e,t,n){let r=0,a;return l;function l(f){return e.enter("thematicBreak"),u(f)}function u(f){return a=f,c(f)}function c(f){return f===a?(e.enter("thematicBreakSequence"),d(f)):r>=3&&(f===null||Xe(f))?(e.exit("thematicBreak"),t(f)):n(f)}function d(f){return f===a?(e.consume(f),r++,d):(e.exit("thematicBreakSequence"),ft(f)?_t(e,c,"whitespace")(f):c(f))}}const qn={continuation:{tokenize:cR},exit:dR,name:"list",tokenize:lR},aR={partial:!0,tokenize:hR},oR={partial:!0,tokenize:uR};function lR(e,t,n){const r=this,a=r.events[r.events.length-1];let l=a&&a[1].type==="linePrefix"?a[2].sliceSerialize(a[1],!0).length:0,u=0;return c;function c(y){const w=r.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!r.containerState.marker||y===r.containerState.marker:hp(y)){if(r.containerState.type||(r.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(Ru,n,f)(y):f(y);if(!r.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(y)}return n(y)}function d(y){return hp(y)&&++u<10?(e.consume(y),d):(!r.interrupt||u<2)&&(r.containerState.marker?y===r.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),f(y)):n(y)}function f(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||y,e.check(Ul,r.interrupt?n:p,e.attempt(aR,x,m))}function p(y){return r.containerState.initialBlankLine=!0,l++,x(y)}function m(y){return ft(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),x):n(y)}function x(y){return r.containerState.size=l+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(y)}}function cR(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Ul,a,l);function a(c){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,_t(e,t,"listItemIndent",r.containerState.size+1)(c)}function l(c){return r.containerState.furtherBlankLines||!ft(c)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,u(c)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(oR,t,u)(c))}function u(c){return r.containerState._closeFlow=!0,r.interrupt=void 0,_t(e,e.attempt(qn,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c)}}function uR(e,t,n){const r=this;return _t(e,a,"listItemIndent",r.containerState.size+1);function a(l){const u=r.events[r.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===r.containerState.size?t(l):n(l)}}function dR(e){e.exit(this.containerState.type)}function hR(e,t,n){const r=this;return _t(e,a,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function a(l){const u=r.events[r.events.length-1];return!ft(l)&&u&&u[1].type==="listItemPrefixWhitespace"?t(l):n(l)}}const i0={name:"setextUnderline",resolveTo:fR,tokenize:mR};function fR(e,t){let n=e.length,r,a,l;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(a=n)}else e[n][1].type==="content"&&e.splice(n,1),!l&&e[n][1].type==="definition"&&(l=n);const u={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[a][1].type="setextHeadingText",l?(e.splice(a,0,["enter",u,t]),e.splice(l+1,0,["exit",e[r][1],t]),e[r][1].end={...e[l][1].end}):e[r][1]=u,e.push(["exit",u,t]),e}function mR(e,t,n){const r=this;let a;return l;function l(f){let p=r.events.length,m;for(;p--;)if(r.events[p][1].type!=="lineEnding"&&r.events[p][1].type!=="linePrefix"&&r.events[p][1].type!=="content"){m=r.events[p][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||m)?(e.enter("setextHeadingLine"),a=f,u(f)):n(f)}function u(f){return e.enter("setextHeadingLineSequence"),c(f)}function c(f){return f===a?(e.consume(f),c):(e.exit("setextHeadingLineSequence"),ft(f)?_t(e,d,"lineSuffix")(f):d(f))}function d(f){return f===null||Xe(f)?(e.exit("setextHeadingLine"),t(f)):n(f)}}const pR={tokenize:gR};function gR(e){const t=this,n=e.attempt(Ul,r,e.attempt(this.parser.constructs.flowInitial,a,_t(e,e.attempt(this.parser.constructs.flow,a,e.attempt(_D,a)),"linePrefix")));return n;function r(l){if(l===null){e.consume(l);return}return e.enter("lineEndingBlank"),e.consume(l),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function a(l){if(l===null){e.consume(l);return}return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const xR={resolveAll:_w()},yR=vw("string"),bR=vw("text");function vw(e){return{resolveAll:_w(e==="text"?vR:void 0),tokenize:t};function t(n){const r=this,a=this.parser.constructs[e],l=n.attempt(a,u,c);return u;function u(p){return f(p)?l(p):c(p)}function c(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),d}function d(p){return f(p)?(n.exit("data"),l(p)):(n.consume(p),d)}function f(p){if(p===null)return!0;const m=a[p];let x=-1;if(m)for(;++x<m.length;){const y=m[x];if(!y.previous||y.previous.call(r,r.previous))return!0}return!1}}}function _w(e){return t;function t(n,r){let a=-1,l;for(;++a<=n.length;)l===void 0?n[a]&&n[a][1].type==="data"&&(l=a,a++):(!n[a]||n[a][1].type!=="data")&&(a!==l+2&&(n[l][1].end=n[a-1][1].end,n.splice(l+2,a-l-2),a=l+2),l=void 0);return e?e(n,r):n}}function vR(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const r=e[n-1][1],a=t.sliceStream(r);let l=a.length,u=-1,c=0,d;for(;l--;){const f=a[l];if(typeof f=="string"){for(u=f.length;f.charCodeAt(u-1)===32;)c++,u--;if(u)break;u=-1}else if(f===-2)d=!0,c++;else if(f!==-1){l++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(c=0),c){const f={type:n===e.length||d||c<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:l?u:r.start._bufferIndex+u,_index:r.start._index+l,line:r.end.line,column:r.end.column-c,offset:r.end.offset-c},end:{...r.end}};r.end={...f.start},r.start.offset===r.end.offset?Object.assign(r,f):(e.splice(n,0,["enter",f,t],["exit",f,t]),n+=2)}n++}return e}const _R={42:qn,43:qn,45:qn,48:qn,49:qn,50:qn,51:qn,52:qn,53:qn,54:qn,55:qn,56:qn,57:qn,62:fw},SR={91:ED},wR={[-2]:xm,[-1]:xm,32:xm},CR={35:DD,42:Ru,45:[i0,Ru],60:MD,61:i0,95:Ru,96:r0,126:r0},kR={38:pw,92:mw},ER={[-5]:ym,[-4]:ym,[-3]:ym,33:eR,38:pw,42:fp,60:[nD,FD],91:nR,92:[AD,mw],93:cg,95:fp,96:pD},jR={null:[fp,xR]},NR={null:[42,95]},TR={null:[]},AR=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:NR,contentInitial:SR,disable:TR,document:_R,flow:CR,flowInitial:wR,insideSpan:jR,string:kR,text:ER},Symbol.toStringTag,{value:"Module"}));function LR(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const a={},l=[];let u=[],c=[];const d={attempt:D(j),check:D(T),consume:v,enter:b,exit:E,interrupt:D(T,{interrupt:!0})},f={code:null,containerState:{},defineSkip:C,events:[],now:w,parser:e,previous:null,sliceSerialize:x,sliceStream:y,write:m};let p=t.tokenize.call(f,d);return t.resolveAll&&l.push(t),f;function m(V){return u=vr(u,V),_(),u[u.length-1]!==null?[]:(L(t,0),f.events=xd(l,f.events,f),f.events)}function x(V,U){return RR(y(V),U)}function y(V){return DR(u,V)}function w(){const{_bufferIndex:V,_index:U,line:O,column:H,offset:F}=r;return{_bufferIndex:V,_index:U,line:O,column:H,offset:F}}function C(V){a[V.line]=V.column,M()}function _(){let V;for(;r._index<u.length;){const U=u[r._index];if(typeof U=="string")for(V=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===V&&r._bufferIndex<U.length;)S(U.charCodeAt(r._bufferIndex));else S(U)}}function S(V){p=p(V)}function v(V){Xe(V)?(r.line++,r.column=1,r.offset+=V===-3?2:1,M()):V!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===u[r._index].length&&(r._bufferIndex=-1,r._index++)),f.previous=V}function b(V,U){const O=U||{};return O.type=V,O.start=w(),f.events.push(["enter",O,f]),c.push(O),O}function E(V){const U=c.pop();return U.end=w(),f.events.push(["exit",U,f]),U}function j(V,U){L(V,U.from)}function T(V,U){U.restore()}function D(V,U){return O;function O(H,F,G){let Z,q,z,I;return Array.isArray(H)?K(H):"tokenize"in H?K([H]):B(H);function B(te){return Y;function Y(W){const ne=W!==null&&te[W],se=W!==null&&te.null,pe=[...Array.isArray(ne)?ne:ne?[ne]:[],...Array.isArray(se)?se:se?[se]:[]];return K(pe)(W)}}function K(te){return Z=te,q=0,te.length===0?G:P(te[q])}function P(te){return Y;function Y(W){return I=R(),z=te,te.partial||(f.currentConstruct=te),te.name&&f.parser.constructs.disable.null.includes(te.name)?Q():te.tokenize.call(U?Object.assign(Object.create(f),U):f,d,ee,Q)(W)}}function ee(te){return V(z,I),F}function Q(te){return I.restore(),++q<Z.length?P(Z[q]):G}}}function L(V,U){V.resolveAll&&!l.includes(V)&&l.push(V),V.resolve&&lr(f.events,U,f.events.length-U,V.resolve(f.events.slice(U),f)),V.resolveTo&&(f.events=V.resolveTo(f.events,f))}function R(){const V=w(),U=f.previous,O=f.currentConstruct,H=f.events.length,F=Array.from(c);return{from:H,restore:G};function G(){r=V,f.previous=U,f.currentConstruct=O,f.events.length=H,c=F,M()}}function M(){r.line in a&&r.column<2&&(r.column=a[r.line],r.offset+=a[r.line]-1)}}function DR(e,t){const n=t.start._index,r=t.start._bufferIndex,a=t.end._index,l=t.end._bufferIndex;let u;if(n===a)u=[e[n].slice(r,l)];else{if(u=e.slice(n,a),r>-1){const c=u[0];typeof c=="string"?u[0]=c.slice(r):u.shift()}l>0&&u.push(e[a].slice(0,l))}return u}function RR(e,t){let n=-1;const r=[];let a;for(;++n<e.length;){const l=e[n];let u;if(typeof l=="string")u=l;else switch(l){case-5:{u="\r";break}case-4:{u=`
|
|
100
|
-
`;break}case-3:{u=`\r
|
|
101
|
-
`;break}case-2:{u=t?" ":" ";break}case-1:{if(!t&&a)continue;u=" ";break}default:u=String.fromCharCode(l)}a=l===-2,r.push(u)}return r.join("")}function OR(e){const r={constructs:dw([AR,...(e||{}).extensions||[]]),content:a(YL),defined:[],document:a(QL),flow:a(pR),lazy:{},string:a(yR),text:a(bR)};return r;function a(l){return u;function u(c){return LR(r,l,c)}}}function IR(e){for(;!gw(e););return e}const a0=/[\0\t\n\r]/g;function MR(){let e=1,t="",n=!0,r;return a;function a(l,u,c){const d=[];let f,p,m,x,y;for(l=t+(typeof l=="string"?l.toString():new TextDecoder(u||void 0).decode(l)),m=0,t="",n&&(l.charCodeAt(0)===65279&&m++,n=void 0);m<l.length;){if(a0.lastIndex=m,f=a0.exec(l),x=f&&f.index!==void 0?f.index:l.length,y=l.charCodeAt(x),!f){t=l.slice(m);break}if(y===10&&m===x&&r)d.push(-3),r=void 0;else switch(r&&(d.push(-5),r=void 0),m<x&&(d.push(l.slice(m,x)),e+=x-m),y){case 0:{d.push(65533),e++;break}case 9:{for(p=Math.ceil(e/4)*4,d.push(-2);e++<p;)d.push(-1);break}case 10:{d.push(-4),e=1;break}default:r=!0,e=1}m=x+1}return c&&(r&&d.push(-5),t&&d.push(t),d.push(null)),d}}const PR=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function BR(e){return e.replace(PR,$R)}function $R(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const a=n.charCodeAt(1),l=a===120||a===88;return hw(n.slice(l?2:1),l?16:10)}return lg(n)||e}const Sw={}.hasOwnProperty;function zR(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),HR(n)(IR(OR(n).document().write(MR()(e,t,!0))))}function HR(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:l(Ee),autolinkProtocol:R,autolinkEmail:R,atxHeading:l(Me),blockQuote:l(se),characterEscape:R,characterReference:R,codeFenced:l(pe),codeFencedFenceInfo:u,codeFencedFenceMeta:u,codeIndented:l(pe,u),codeText:l(ge,u),codeTextData:R,data:R,codeFlowValue:R,definition:l(ke),definitionDestinationString:u,definitionLabelString:u,definitionTitleString:u,emphasis:l(Be),hardBreakEscape:l($e),hardBreakTrailing:l($e),htmlFlow:l(je,u),htmlFlowData:R,htmlText:l(je,u),htmlTextData:R,image:l(nt),label:u,link:l(Ee),listItem:l(oe),listItemValue:x,listOrdered:l(ce,m),listUnordered:l(ce),paragraph:l(De),reference:P,referenceString:u,resourceDestinationString:u,resourceTitleString:u,setextHeading:l(Me),strong:l(Ze),thematicBreak:l(yt)},exit:{atxHeading:d(),atxHeadingSequence:j,autolink:d(),autolinkEmail:ne,autolinkProtocol:W,blockQuote:d(),characterEscapeValue:M,characterReferenceMarkerHexadecimal:Q,characterReferenceMarkerNumeric:Q,characterReferenceValue:te,characterReference:Y,codeFenced:d(_),codeFencedFence:C,codeFencedFenceInfo:y,codeFencedFenceMeta:w,codeFlowValue:M,codeIndented:d(S),codeText:d(F),codeTextData:M,data:M,definition:d(),definitionDestinationString:E,definitionLabelString:v,definitionTitleString:b,emphasis:d(),hardBreakEscape:d(U),hardBreakTrailing:d(U),htmlFlow:d(O),htmlFlowData:M,htmlText:d(H),htmlTextData:M,image:d(Z),label:z,labelText:q,lineEnding:V,link:d(G),listItem:d(),listOrdered:d(),listUnordered:d(),paragraph:d(),referenceString:ee,resourceDestinationString:I,resourceTitleString:B,resource:K,setextHeading:d(L),setextHeadingLineSequence:D,setextHeadingText:T,strong:d(),thematicBreak:d()}};ww(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(re){let xe={type:"root",children:[]};const we={stack:[xe],tokenStack:[],config:t,enter:c,exit:f,buffer:u,resume:p,data:n},ze=[];let Ke=-1;for(;++Ke<re.length;)if(re[Ke][1].type==="listOrdered"||re[Ke][1].type==="listUnordered")if(re[Ke][0]==="enter")ze.push(Ke);else{const Ge=ze.pop();Ke=a(re,Ge,Ke)}for(Ke=-1;++Ke<re.length;){const Ge=t[re[Ke][0]];Sw.call(Ge,re[Ke][1].type)&&Ge[re[Ke][1].type].call(Object.assign({sliceSerialize:re[Ke][2].sliceSerialize},we),re[Ke][1])}if(we.tokenStack.length>0){const Ge=we.tokenStack[we.tokenStack.length-1];(Ge[1]||o0).call(we,void 0,Ge[0])}for(xe.position={start:Ys(re.length>0?re[0][1].start:{line:1,column:1,offset:0}),end:Ys(re.length>0?re[re.length-2][1].end:{line:1,column:1,offset:0})},Ke=-1;++Ke<t.transforms.length;)xe=t.transforms[Ke](xe)||xe;return xe}function a(re,xe,we){let ze=xe-1,Ke=-1,Ge=!1,tt,vt,Ot,Wt;for(;++ze<=we;){const ut=re[ze];switch(ut[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{ut[0]==="enter"?Ke++:Ke--,Wt=void 0;break}case"lineEndingBlank":{ut[0]==="enter"&&(tt&&!Wt&&!Ke&&!Ot&&(Ot=ze),Wt=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:Wt=void 0}if(!Ke&&ut[0]==="enter"&&ut[1].type==="listItemPrefix"||Ke===-1&&ut[0]==="exit"&&(ut[1].type==="listUnordered"||ut[1].type==="listOrdered")){if(tt){let Cn=ze;for(vt=void 0;Cn--;){const jt=re[Cn];if(jt[1].type==="lineEnding"||jt[1].type==="lineEndingBlank"){if(jt[0]==="exit")continue;vt&&(re[vt][1].type="lineEndingBlank",Ge=!0),jt[1].type="lineEnding",vt=Cn}else if(!(jt[1].type==="linePrefix"||jt[1].type==="blockQuotePrefix"||jt[1].type==="blockQuotePrefixWhitespace"||jt[1].type==="blockQuoteMarker"||jt[1].type==="listItemIndent"))break}Ot&&(!vt||Ot<vt)&&(tt._spread=!0),tt.end=Object.assign({},vt?re[vt][1].start:ut[1].end),re.splice(vt||ze,0,["exit",tt,ut[2]]),ze++,we++}if(ut[1].type==="listItemPrefix"){const Cn={type:"listItem",_spread:!1,start:Object.assign({},ut[1].start),end:void 0};tt=Cn,re.splice(ze,0,["enter",Cn,ut[2]]),ze++,we++,Ot=void 0,Wt=!0}}}return re[xe][1]._spread=Ge,we}function l(re,xe){return we;function we(ze){c.call(this,re(ze),ze),xe&&xe.call(this,ze)}}function u(){this.stack.push({type:"fragment",children:[]})}function c(re,xe,we){this.stack[this.stack.length-1].children.push(re),this.stack.push(re),this.tokenStack.push([xe,we||void 0]),re.position={start:Ys(xe.start),end:void 0}}function d(re){return xe;function xe(we){re&&re.call(this,we),f.call(this,we)}}function f(re,xe){const we=this.stack.pop(),ze=this.tokenStack.pop();if(ze)ze[0].type!==re.type&&(xe?xe.call(this,re,ze[0]):(ze[1]||o0).call(this,re,ze[0]));else throw new Error("Cannot close `"+re.type+"` ("+bl({start:re.start,end:re.end})+"): it’s not open");we.position.end=Ys(re.end)}function p(){return og(this.stack.pop())}function m(){this.data.expectingFirstListItemValue=!0}function x(re){if(this.data.expectingFirstListItemValue){const xe=this.stack[this.stack.length-2];xe.start=Number.parseInt(this.sliceSerialize(re),10),this.data.expectingFirstListItemValue=void 0}}function y(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.lang=re}function w(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.meta=re}function C(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function _(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.value=re.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function S(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.value=re.replace(/(\r?\n|\r)$/g,"")}function v(re){const xe=this.resume(),we=this.stack[this.stack.length-1];we.label=xe,we.identifier=Dr(this.sliceSerialize(re)).toLowerCase()}function b(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.title=re}function E(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.url=re}function j(re){const xe=this.stack[this.stack.length-1];if(!xe.depth){const we=this.sliceSerialize(re).length;xe.depth=we}}function T(){this.data.setextHeadingSlurpLineEnding=!0}function D(re){const xe=this.stack[this.stack.length-1];xe.depth=this.sliceSerialize(re).codePointAt(0)===61?1:2}function L(){this.data.setextHeadingSlurpLineEnding=void 0}function R(re){const we=this.stack[this.stack.length-1].children;let ze=we[we.length-1];(!ze||ze.type!=="text")&&(ze=Ye(),ze.position={start:Ys(re.start),end:void 0},we.push(ze)),this.stack.push(ze)}function M(re){const xe=this.stack.pop();xe.value+=this.sliceSerialize(re),xe.position.end=Ys(re.end)}function V(re){const xe=this.stack[this.stack.length-1];if(this.data.atHardBreak){const we=xe.children[xe.children.length-1];we.position.end=Ys(re.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(xe.type)&&(R.call(this,re),M.call(this,re))}function U(){this.data.atHardBreak=!0}function O(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.value=re}function H(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.value=re}function F(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.value=re}function G(){const re=this.stack[this.stack.length-1];if(this.data.inReference){const xe=this.data.referenceType||"shortcut";re.type+="Reference",re.referenceType=xe,delete re.url,delete re.title}else delete re.identifier,delete re.label;this.data.referenceType=void 0}function Z(){const re=this.stack[this.stack.length-1];if(this.data.inReference){const xe=this.data.referenceType||"shortcut";re.type+="Reference",re.referenceType=xe,delete re.url,delete re.title}else delete re.identifier,delete re.label;this.data.referenceType=void 0}function q(re){const xe=this.sliceSerialize(re),we=this.stack[this.stack.length-2];we.label=BR(xe),we.identifier=Dr(xe).toLowerCase()}function z(){const re=this.stack[this.stack.length-1],xe=this.resume(),we=this.stack[this.stack.length-1];if(this.data.inReference=!0,we.type==="link"){const ze=re.children;we.children=ze}else we.alt=xe}function I(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.url=re}function B(){const re=this.resume(),xe=this.stack[this.stack.length-1];xe.title=re}function K(){this.data.inReference=void 0}function P(){this.data.referenceType="collapsed"}function ee(re){const xe=this.resume(),we=this.stack[this.stack.length-1];we.label=xe,we.identifier=Dr(this.sliceSerialize(re)).toLowerCase(),this.data.referenceType="full"}function Q(re){this.data.characterReferenceType=re.type}function te(re){const xe=this.sliceSerialize(re),we=this.data.characterReferenceType;let ze;we?(ze=hw(xe,we==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):ze=lg(xe);const Ke=this.stack[this.stack.length-1];Ke.value+=ze}function Y(re){const xe=this.stack.pop();xe.position.end=Ys(re.end)}function W(re){M.call(this,re);const xe=this.stack[this.stack.length-1];xe.url=this.sliceSerialize(re)}function ne(re){M.call(this,re);const xe=this.stack[this.stack.length-1];xe.url="mailto:"+this.sliceSerialize(re)}function se(){return{type:"blockquote",children:[]}}function pe(){return{type:"code",lang:null,meta:null,value:""}}function ge(){return{type:"inlineCode",value:""}}function ke(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Be(){return{type:"emphasis",children:[]}}function Me(){return{type:"heading",depth:0,children:[]}}function $e(){return{type:"break"}}function je(){return{type:"html",value:""}}function nt(){return{type:"image",title:null,url:"",alt:null}}function Ee(){return{type:"link",title:null,url:"",children:[]}}function ce(re){return{type:"list",ordered:re.type==="listOrdered",start:null,spread:re._spread,children:[]}}function oe(re){return{type:"listItem",spread:re._spread,checked:null,children:[]}}function De(){return{type:"paragraph",children:[]}}function Ze(){return{type:"strong",children:[]}}function Ye(){return{type:"text",value:""}}function yt(){return{type:"thematicBreak"}}}function Ys(e){return{line:e.line,column:e.column,offset:e.offset}}function ww(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?ww(e,r):UR(e,r)}}function UR(e,t){let n;for(n in t)if(Sw.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function o0(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+bl({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+bl({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+bl({start:t.start,end:t.end})+") is still open")}function FR(e){const t=this;t.parser=n;function n(r){return zR(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function VR(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function GR(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
|
102
|
-
`}]}function WR(e,t){const n=t.value?t.value+`
|
|
103
|
-
`:"",r={},a=t.lang?t.lang.split(/\s+/):[];a.length>0&&(r.className=["language-"+a[0]]);let l={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(l.data={meta:t.meta}),e.patch(t,l),l=e.applyData(t,l),l={type:"element",tagName:"pre",properties:{},children:[l]},e.patch(t,l),l}function qR(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function KR(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function YR(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),a=ao(r.toLowerCase()),l=e.footnoteOrder.indexOf(r);let u,c=e.footnoteCounts.get(r);c===void 0?(c=0,e.footnoteOrder.push(r),u=e.footnoteOrder.length):u=l+1,c+=1,e.footnoteCounts.set(r,c);const d={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+a,id:n+"fnref-"+a+(c>1?"-"+c:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(t,d);const f={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(t,f),e.applyData(t,f)}function XR(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function QR(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function Cw(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const a=e.all(t),l=a[0];l&&l.type==="text"?l.value="["+l.value:a.unshift({type:"text",value:"["});const u=a[a.length-1];return u&&u.type==="text"?u.value+=r:a.push({type:"text",value:r}),a}function JR(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Cw(e,t);const a={src:ao(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(a.title=r.title);const l={type:"element",tagName:"img",properties:a,children:[]};return e.patch(t,l),e.applyData(t,l)}function ZR(e,t){const n={src:ao(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function e3(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function t3(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Cw(e,t);const a={href:ao(r.url||"")};r.title!==null&&r.title!==void 0&&(a.title=r.title);const l={type:"element",tagName:"a",properties:a,children:e.all(t)};return e.patch(t,l),e.applyData(t,l)}function n3(e,t){const n={href:ao(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function r3(e,t,n){const r=e.all(t),a=n?s3(n):kw(t),l={},u=[];if(typeof t.checked=="boolean"){const p=r[0];let m;p&&p.type==="element"&&p.tagName==="p"?m=p:(m={type:"element",tagName:"p",properties:{},children:[]},r.unshift(m)),m.children.length>0&&m.children.unshift({type:"text",value:" "}),m.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),l.className=["task-list-item"]}let c=-1;for(;++c<r.length;){const p=r[c];(a||c!==0||p.type!=="element"||p.tagName!=="p")&&u.push({type:"text",value:`
|
|
104
|
-
`}),p.type==="element"&&p.tagName==="p"&&!a?u.push(...p.children):u.push(p)}const d=r[r.length-1];d&&(a||d.type!=="element"||d.tagName!=="p")&&u.push({type:"text",value:`
|
|
105
|
-
`});const f={type:"element",tagName:"li",properties:l,children:u};return e.patch(t,f),e.applyData(t,f)}function s3(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=kw(n[r])}return t}function kw(e){const t=e.spread;return t??e.children.length>1}function i3(e,t){const n={},r=e.all(t);let a=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++a<r.length;){const u=r[a];if(u.type==="element"&&u.tagName==="li"&&u.properties&&Array.isArray(u.properties.className)&&u.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}const l={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(r,!0)};return e.patch(t,l),e.applyData(t,l)}function a3(e,t){const n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function o3(e,t){const n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function l3(e,t){const n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function c3(e,t){const n=e.all(t),r=n.shift(),a=[];if(r){const u={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],u),a.push(u)}if(n.length>0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},c=rg(t.children[1]),d=sw(t.children[t.children.length-1]);c&&d&&(u.position={start:c,end:d}),a.push(u)}const l={type:"element",tagName:"table",properties:{},children:e.wrap(a,!0)};return e.patch(t,l),e.applyData(t,l)}function u3(e,t,n){const r=n?n.children:void 0,l=(r?r.indexOf(t):1)===0?"th":"td",u=n&&n.type==="table"?n.align:void 0,c=u?u.length:t.children.length;let d=-1;const f=[];for(;++d<c;){const m=t.children[d],x={},y=u?u[d]:void 0;y&&(x.align=y);let w={type:"element",tagName:l,properties:x,children:[]};m&&(w.children=e.all(m),e.patch(m,w),w=e.applyData(m,w)),f.push(w)}const p={type:"element",tagName:"tr",properties:{},children:e.wrap(f,!0)};return e.patch(t,p),e.applyData(t,p)}function d3(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}const l0=9,c0=32;function h3(e){const t=String(e),n=/\r?\n|\r/g;let r=n.exec(t),a=0;const l=[];for(;r;)l.push(u0(t.slice(a,r.index),a>0,!0),r[0]),a=r.index+r[0].length,r=n.exec(t);return l.push(u0(t.slice(a),a>0,!1)),l.join("")}function u0(e,t,n){let r=0,a=e.length;if(t){let l=e.codePointAt(r);for(;l===l0||l===c0;)r++,l=e.codePointAt(r)}if(n){let l=e.codePointAt(a-1);for(;l===l0||l===c0;)a--,l=e.codePointAt(a-1)}return a>r?e.slice(r,a):""}function f3(e,t){const n={type:"text",value:h3(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function m3(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const p3={blockquote:VR,break:GR,code:WR,delete:qR,emphasis:KR,footnoteReference:YR,heading:XR,html:QR,imageReference:JR,image:ZR,inlineCode:e3,linkReference:t3,link:n3,listItem:r3,list:i3,paragraph:a3,root:o3,strong:l3,table:c3,tableCell:d3,tableRow:u3,text:f3,thematicBreak:m3,toml:mu,yaml:mu,definition:mu,footnoteDefinition:mu};function mu(){}const Ew=-1,yd=0,_l=1,Uu=2,ug=3,dg=4,hg=5,fg=6,jw=7,Nw=8,d0=typeof self=="object"?self:globalThis,g3=(e,t)=>{const n=(a,l)=>(e.set(l,a),a),r=a=>{if(e.has(a))return e.get(a);const[l,u]=t[a];switch(l){case yd:case Ew:return n(u,a);case _l:{const c=n([],a);for(const d of u)c.push(r(d));return c}case Uu:{const c=n({},a);for(const[d,f]of u)c[r(d)]=r(f);return c}case ug:return n(new Date(u),a);case dg:{const{source:c,flags:d}=u;return n(new RegExp(c,d),a)}case hg:{const c=n(new Map,a);for(const[d,f]of u)c.set(r(d),r(f));return c}case fg:{const c=n(new Set,a);for(const d of u)c.add(r(d));return c}case jw:{const{name:c,message:d}=u;return n(new d0[c](d),a)}case Nw:return n(BigInt(u),a);case"BigInt":return n(Object(BigInt(u)),a);case"ArrayBuffer":return n(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:c}=new Uint8Array(u);return n(new DataView(c),u)}}return n(new d0[l](u),a)};return r},h0=e=>g3(new Map,e)(0),Ra="",{toString:x3}={},{keys:y3}=Object,ll=e=>{const t=typeof e;if(t!=="object"||!e)return[yd,t];const n=x3.call(e).slice(8,-1);switch(n){case"Array":return[_l,Ra];case"Object":return[Uu,Ra];case"Date":return[ug,Ra];case"RegExp":return[dg,Ra];case"Map":return[hg,Ra];case"Set":return[fg,Ra];case"DataView":return[_l,n]}return n.includes("Array")?[_l,n]:n.includes("Error")?[jw,n]:[Uu,n]},pu=([e,t])=>e===yd&&(t==="function"||t==="symbol"),b3=(e,t,n,r)=>{const a=(u,c)=>{const d=r.push(u)-1;return n.set(c,d),d},l=u=>{if(n.has(u))return n.get(u);let[c,d]=ll(u);switch(c){case yd:{let p=u;switch(d){case"bigint":c=Nw,p=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);p=null;break;case"undefined":return a([Ew],u)}return a([c,p],u)}case _l:{if(d){let x=u;return d==="DataView"?x=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(x=new Uint8Array(u)),a([d,[...x]],u)}const p=[],m=a([c,p],u);for(const x of u)p.push(l(x));return m}case Uu:{if(d)switch(d){case"BigInt":return a([d,u.toString()],u);case"Boolean":case"Number":case"String":return a([d,u.valueOf()],u)}if(t&&"toJSON"in u)return l(u.toJSON());const p=[],m=a([c,p],u);for(const x of y3(u))(e||!pu(ll(u[x])))&&p.push([l(x),l(u[x])]);return m}case ug:return a([c,u.toISOString()],u);case dg:{const{source:p,flags:m}=u;return a([c,{source:p,flags:m}],u)}case hg:{const p=[],m=a([c,p],u);for(const[x,y]of u)(e||!(pu(ll(x))||pu(ll(y))))&&p.push([l(x),l(y)]);return m}case fg:{const p=[],m=a([c,p],u);for(const x of u)(e||!pu(ll(x)))&&p.push(l(x));return m}}const{message:f}=u;return a([c,{name:d,message:f}],u)};return l},f0=(e,{json:t,lossy:n}={})=>{const r=[];return b3(!(t||n),!!t,new Map,r)(e),r},Fu=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?h0(f0(e,t)):structuredClone(e):(e,t)=>h0(f0(e,t));function v3(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function _3(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function S3(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||v3,r=e.options.footnoteBackLabel||_3,a=e.options.footnoteLabel||"Footnotes",l=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},c=[];let d=-1;for(;++d<e.footnoteOrder.length;){const f=e.footnoteById.get(e.footnoteOrder[d]);if(!f)continue;const p=e.all(f),m=String(f.identifier).toUpperCase(),x=ao(m.toLowerCase());let y=0;const w=[],C=e.footnoteCounts.get(m);for(;C!==void 0&&++y<=C;){w.length>0&&w.push({type:"text",value:" "});let v=typeof n=="string"?n:n(d,y);typeof v=="string"&&(v={type:"text",value:v}),w.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+x+(y>1?"-"+y:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(d,y),className:["data-footnote-backref"]},children:Array.isArray(v)?v:[v]})}const _=p[p.length-1];if(_&&_.type==="element"&&_.tagName==="p"){const v=_.children[_.children.length-1];v&&v.type==="text"?v.value+=" ":_.children.push({type:"text",value:" "}),_.children.push(...w)}else p.push(...w);const S={type:"element",tagName:"li",properties:{id:t+"fn-"+x},children:e.wrap(p,!0)};e.patch(f,S),c.push(S)}if(c.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:l,properties:{...Fu(u),id:"footnote-label"},children:[{type:"text",value:a}]},{type:"text",value:`
|
|
106
|
-
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(c,!0)},{type:"text",value:`
|
|
107
|
-
`}]}}const bd=(function(e){if(e==null)return E3;if(typeof e=="function")return vd(e);if(typeof e=="object")return Array.isArray(e)?w3(e):C3(e);if(typeof e=="string")return k3(e);throw new Error("Expected function, string, or object as test")});function w3(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=bd(e[n]);return vd(r);function r(...a){let l=-1;for(;++l<t.length;)if(t[l].apply(this,a))return!0;return!1}}function C3(e){const t=e;return vd(n);function n(r){const a=r;let l;for(l in e)if(a[l]!==t[l])return!1;return!0}}function k3(e){return vd(t);function t(n){return n&&n.type===e}}function vd(e){return t;function t(n,r,a){return!!(j3(n)&&e.call(this,n,typeof r=="number"?r:void 0,a||void 0))}}function E3(){return!0}function j3(e){return e!==null&&typeof e=="object"&&"type"in e}const Tw=[],N3=!0,mp=!1,T3="skip";function Aw(e,t,n,r){let a;typeof t=="function"&&typeof n!="function"?(r=n,n=t):a=t;const l=bd(a),u=r?-1:1;c(e,void 0,[])();function c(d,f,p){const m=d&&typeof d=="object"?d:{};if(typeof m.type=="string"){const y=typeof m.tagName=="string"?m.tagName:typeof m.name=="string"?m.name:void 0;Object.defineProperty(x,"name",{value:"node ("+(d.type+(y?"<"+y+">":""))+")"})}return x;function x(){let y=Tw,w,C,_;if((!t||l(d,f,p[p.length-1]||void 0))&&(y=A3(n(d,p)),y[0]===mp))return y;if("children"in d&&d.children){const S=d;if(S.children&&y[0]!==T3)for(C=(r?S.children.length:-1)+u,_=p.concat(S);C>-1&&C<S.children.length;){const v=S.children[C];if(w=c(v,C,_)(),w[0]===mp)return w;C=typeof w[1]=="number"?w[1]:C+u}}return y}}}function A3(e){return Array.isArray(e)?e:typeof e=="number"?[N3,e]:e==null?Tw:[e]}function mg(e,t,n,r){let a,l,u;typeof t=="function"&&typeof n!="function"?(l=void 0,u=t,a=n):(l=t,u=n,a=r),Aw(e,l,c,a);function c(d,f){const p=f[f.length-1],m=p?p.children.indexOf(d):void 0;return u(d,m,p)}}const pp={}.hasOwnProperty,L3={};function D3(e,t){const n=t||L3,r=new Map,a=new Map,l=new Map,u={...p3,...n.handlers},c={all:f,applyData:O3,definitionById:r,footnoteById:a,footnoteCounts:l,footnoteOrder:[],handlers:u,one:d,options:n,patch:R3,wrap:M3};return mg(e,function(p){if(p.type==="definition"||p.type==="footnoteDefinition"){const m=p.type==="definition"?r:a,x=String(p.identifier).toUpperCase();m.has(x)||m.set(x,p)}}),c;function d(p,m){const x=p.type,y=c.handlers[x];if(pp.call(c.handlers,x)&&y)return y(c,p,m);if(c.options.passThrough&&c.options.passThrough.includes(x)){if("children"in p){const{children:C,..._}=p,S=Fu(_);return S.children=c.all(p),S}return Fu(p)}return(c.options.unknownHandler||I3)(c,p,m)}function f(p){const m=[];if("children"in p){const x=p.children;let y=-1;for(;++y<x.length;){const w=c.one(x[y],p);if(w){if(y&&x[y-1].type==="break"&&(!Array.isArray(w)&&w.type==="text"&&(w.value=m0(w.value)),!Array.isArray(w)&&w.type==="element")){const C=w.children[0];C&&C.type==="text"&&(C.value=m0(C.value))}Array.isArray(w)?m.push(...w):m.push(w)}}}return m}}function R3(e,t){e.position&&(t.position=_L(e))}function O3(e,t){let n=t;if(e&&e.data){const r=e.data.hName,a=e.data.hChildren,l=e.data.hProperties;if(typeof r=="string")if(n.type==="element")n.tagName=r;else{const u="children"in n?n.children:[n];n={type:"element",tagName:r,properties:{},children:u}}n.type==="element"&&l&&Object.assign(n.properties,Fu(l)),"children"in n&&n.children&&a!==null&&a!==void 0&&(n.children=a)}return n}function I3(e,t){const n=t.data||{},r="value"in t&&!(pp.call(n,"hProperties")||pp.call(n,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function M3(e,t){const n=[];let r=-1;for(t&&n.push({type:"text",value:`
|
|
108
|
-
`});++r<e.length;)r&&n.push({type:"text",value:`
|
|
109
|
-
`}),n.push(e[r]);return t&&e.length>0&&n.push({type:"text",value:`
|
|
110
|
-
`}),n}function m0(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function p0(e,t){const n=D3(e,t),r=n.one(e,void 0),a=S3(n),l=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return a&&l.children.push({type:"text",value:`
|
|
111
|
-
`},a),l}function P3(e,t){return e&&"run"in e?async function(n,r){const a=p0(n,{file:r,...t});await e.run(a,r)}:function(n,r){return p0(n,{file:r,...e||t})}}function g0(e){if(e)throw e}var bm,x0;function B3(){if(x0)return bm;x0=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,a=function(f){return typeof Array.isArray=="function"?Array.isArray(f):t.call(f)==="[object Array]"},l=function(f){if(!f||t.call(f)!=="[object Object]")return!1;var p=e.call(f,"constructor"),m=f.constructor&&f.constructor.prototype&&e.call(f.constructor.prototype,"isPrototypeOf");if(f.constructor&&!p&&!m)return!1;var x;for(x in f);return typeof x>"u"||e.call(f,x)},u=function(f,p){n&&p.name==="__proto__"?n(f,p.name,{enumerable:!0,configurable:!0,value:p.newValue,writable:!0}):f[p.name]=p.newValue},c=function(f,p){if(p==="__proto__")if(e.call(f,p)){if(r)return r(f,p).value}else return;return f[p]};return bm=function d(){var f,p,m,x,y,w,C=arguments[0],_=1,S=arguments.length,v=!1;for(typeof C=="boolean"&&(v=C,C=arguments[1]||{},_=2),(C==null||typeof C!="object"&&typeof C!="function")&&(C={});_<S;++_)if(f=arguments[_],f!=null)for(p in f)m=c(C,p),x=c(f,p),C!==x&&(v&&x&&(l(x)||(y=a(x)))?(y?(y=!1,w=m&&a(m)?m:[]):w=m&&l(m)?m:{},u(C,{name:p,newValue:d(v,w,x)})):typeof x<"u"&&u(C,{name:p,newValue:x}));return C},bm}var $3=B3();const vm=sd($3);function gp(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function z3(){const e=[],t={run:n,use:r};return t;function n(...a){let l=-1;const u=a.pop();if(typeof u!="function")throw new TypeError("Expected function as last argument, not "+u);c(null,...a);function c(d,...f){const p=e[++l];let m=-1;if(d){u(d);return}for(;++m<a.length;)(f[m]===null||f[m]===void 0)&&(f[m]=a[m]);a=f,p?H3(p,c)(...f):u(null,...f)}}function r(a){if(typeof a!="function")throw new TypeError("Expected `middelware` to be a function, not "+a);return e.push(a),t}}function H3(e,t){let n;return r;function r(...u){const c=e.length>u.length;let d;c&&u.push(a);try{d=e.apply(this,u)}catch(f){const p=f;if(c&&n)throw p;return a(p)}c||(d&&d.then&&typeof d.then=="function"?d.then(l,a):d instanceof Error?a(d):l(d))}function a(u,...c){n||(n=!0,t(u,...c))}function l(u){a(null,u)}}const Fr={basename:U3,dirname:F3,extname:V3,join:G3,sep:"/"};function U3(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Fl(e);let n=0,r=-1,a=e.length,l;if(t===void 0||t.length===0||t.length>e.length){for(;a--;)if(e.codePointAt(a)===47){if(l){n=a+1;break}}else r<0&&(l=!0,r=a+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let u=-1,c=t.length-1;for(;a--;)if(e.codePointAt(a)===47){if(l){n=a+1;break}}else u<0&&(l=!0,u=a+1),c>-1&&(e.codePointAt(a)===t.codePointAt(c--)?c<0&&(r=a):(c=-1,r=u));return n===r?r=u:r<0&&(r=e.length),e.slice(n,r)}function F3(e){if(Fl(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function V3(e){Fl(e);let t=e.length,n=-1,r=0,a=-1,l=0,u;for(;t--;){const c=e.codePointAt(t);if(c===47){if(u){r=t+1;break}continue}n<0&&(u=!0,n=t+1),c===46?a<0?a=t:l!==1&&(l=1):a>-1&&(l=-1)}return a<0||n<0||l===0||l===1&&a===n-1&&a===r+1?"":e.slice(a,n)}function G3(...e){let t=-1,n;for(;++t<e.length;)Fl(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":W3(n)}function W3(e){Fl(e);const t=e.codePointAt(0)===47;let n=q3(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function q3(e,t){let n="",r=0,a=-1,l=0,u=-1,c,d;for(;++u<=e.length;){if(u<e.length)c=e.codePointAt(u);else{if(c===47)break;c=47}if(c===47){if(!(a===u-1||l===1))if(a!==u-1&&l===2){if(n.length<2||r!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(d=n.lastIndexOf("/"),d!==n.length-1){d<0?(n="",r=0):(n=n.slice(0,d),r=n.length-1-n.lastIndexOf("/")),a=u,l=0;continue}}else if(n.length>0){n="",r=0,a=u,l=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(a+1,u):n=e.slice(a+1,u),r=u-a-1;a=u,l=0}else c===46&&l>-1?l++:l=-1}return n}function Fl(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const K3={cwd:Y3};function Y3(){return"/"}function xp(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function X3(e){if(typeof e=="string")e=new URL(e);else if(!xp(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return Q3(e)}function Q3(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n<t.length;)if(t.codePointAt(n)===37&&t.codePointAt(n+1)===50){const r=t.codePointAt(n+2);if(r===70||r===102){const a=new TypeError("File URL path must not include encoded / characters");throw a.code="ERR_INVALID_FILE_URL_PATH",a}}return decodeURIComponent(t)}const _m=["history","path","basename","stem","extname","dirname"];class Lw{constructor(t){let n;t?xp(t)?n={path:t}:typeof t=="string"||J3(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":K3.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<_m.length;){const l=_m[r];l in n&&n[l]!==void 0&&n[l]!==null&&(this[l]=l==="history"?[...n[l]]:n[l])}let a;for(a in n)_m.includes(a)||(this[a]=n[a])}get basename(){return typeof this.path=="string"?Fr.basename(this.path):void 0}set basename(t){wm(t,"basename"),Sm(t,"basename"),this.path=Fr.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?Fr.dirname(this.path):void 0}set dirname(t){y0(this.basename,"dirname"),this.path=Fr.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?Fr.extname(this.path):void 0}set extname(t){if(Sm(t,"extname"),y0(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Fr.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){xp(t)&&(t=X3(t)),wm(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?Fr.basename(this.path,this.extname):void 0}set stem(t){wm(t,"stem"),Sm(t,"stem"),this.path=Fr.join(this.dirname||"",t+(this.extname||""))}fail(t,n,r){const a=this.message(t,n,r);throw a.fatal=!0,a}info(t,n,r){const a=this.message(t,n,r);return a.fatal=void 0,a}message(t,n,r){const a=new On(t,n,r);return this.path&&(a.name=this.path+":"+a.name,a.file=this.path),a.fatal=!1,this.messages.push(a),a}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function Sm(e,t){if(e&&e.includes(Fr.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+Fr.sep+"`")}function wm(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function y0(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function J3(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const Z3=(function(e){const r=this.constructor.prototype,a=r[e],l=function(){return a.apply(l,arguments)};return Object.setPrototypeOf(l,r),l}),e5={}.hasOwnProperty;class pg extends Z3{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=z3()}copy(){const t=new pg;let n=-1;for(;++n<this.attachers.length;){const r=this.attachers[n];t.use(...r)}return t.data(vm(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(Em("data",this.frozen),this.namespace[t]=n,this):e5.call(this.namespace,t)&&this.namespace[t]||void 0:t?(Em("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const a=n.call(t,...r);typeof a=="function"&&this.transformers.use(a)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const n=gu(t),r=this.parser||this.Parser;return Cm("parse",r),r(String(n),n)}process(t,n){const r=this;return this.freeze(),Cm("process",this.parser||this.Parser),km("process",this.compiler||this.Compiler),n?a(void 0,n):new Promise(a);function a(l,u){const c=gu(t),d=r.parse(c);r.run(d,c,function(p,m,x){if(p||!m||!x)return f(p);const y=m,w=r.stringify(y,x);r5(w)?x.value=w:x.result=w,f(p,x)});function f(p,m){p||!m?u(p):l?l(m):n(void 0,m)}}}processSync(t){let n=!1,r;return this.freeze(),Cm("processSync",this.parser||this.Parser),km("processSync",this.compiler||this.Compiler),this.process(t,a),v0("processSync","process",n),r;function a(l,u){n=!0,g0(l),r=u}}run(t,n,r){b0(t),this.freeze();const a=this.transformers;return!r&&typeof n=="function"&&(r=n,n=void 0),r?l(void 0,r):new Promise(l);function l(u,c){const d=gu(n);a.run(t,d,f);function f(p,m,x){const y=m||t;p?c(p):u?u(y):r(void 0,y,x)}}}runSync(t,n){let r=!1,a;return this.run(t,n,l),v0("runSync","run",r),a;function l(u,c){g0(u),a=c,r=!0}}stringify(t,n){this.freeze();const r=gu(n),a=this.compiler||this.Compiler;return km("stringify",a),b0(t),a(t,r)}use(t,...n){const r=this.attachers,a=this.namespace;if(Em("use",this.frozen),t!=null)if(typeof t=="function")d(t,n);else if(typeof t=="object")Array.isArray(t)?c(t):u(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function l(f){if(typeof f=="function")d(f,[]);else if(typeof f=="object")if(Array.isArray(f)){const[p,...m]=f;d(p,m)}else u(f);else throw new TypeError("Expected usable value, not `"+f+"`")}function u(f){if(!("plugins"in f)&&!("settings"in f))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");c(f.plugins),f.settings&&(a.settings=vm(!0,a.settings,f.settings))}function c(f){let p=-1;if(f!=null)if(Array.isArray(f))for(;++p<f.length;){const m=f[p];l(m)}else throw new TypeError("Expected a list of plugins, not `"+f+"`")}function d(f,p){let m=-1,x=-1;for(;++m<r.length;)if(r[m][0]===f){x=m;break}if(x===-1)r.push([f,...p]);else if(p.length>0){let[y,...w]=p;const C=r[x][1];gp(C)&&gp(y)&&(y=vm(!0,C,y)),r[x]=[f,y,...w]}}}}const t5=new pg().freeze();function Cm(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function km(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Em(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function b0(e){if(!gp(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function v0(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function gu(e){return n5(e)?e:new Lw(e)}function n5(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function r5(e){return typeof e=="string"||s5(e)}function s5(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const i5="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",_0=[],S0={allowDangerousHtml:!0},a5=/^(https?|ircs?|mailto|xmpp)$/i,o5=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function l5(e){const t=c5(e),n=u5(e);return d5(t.runSync(t.parse(n),n),e)}function c5(e){const t=e.rehypePlugins||_0,n=e.remarkPlugins||_0,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...S0}:S0;return t5().use(FR).use(n).use(P3,r).use(t)}function u5(e){const t=e.children||"",n=new Lw;return typeof t=="string"&&(n.value=t),n}function d5(e,t){const n=t.allowedElements,r=t.allowElement,a=t.components,l=t.disallowedElements,u=t.skipHtml,c=t.unwrapDisallowed,d=t.urlTransform||h5;for(const p of o5)Object.hasOwn(t,p.from)&&(""+p.from+(p.to?"use `"+p.to+"` instead":"remove it")+i5+p.id,void 0);return mg(e,f),EL(e,{Fragment:i.Fragment,components:a,ignoreInvalidStyle:!0,jsx:i.jsx,jsxs:i.jsxs,passKeys:!0,passNode:!0});function f(p,m,x){if(p.type==="raw"&&x&&typeof m=="number")return u?x.children.splice(m,1):x.children[m]={type:"text",value:p.value},m;if(p.type==="element"){let y;for(y in gm)if(Object.hasOwn(gm,y)&&Object.hasOwn(p.properties,y)){const w=p.properties[y],C=gm[y];(C===null||C.includes(p.tagName))&&(p.properties[y]=d(String(w||""),y,p))}}if(p.type==="element"){let y=n?!n.includes(p.tagName):l?l.includes(p.tagName):!1;if(!y&&r&&typeof m=="number"&&(y=!r(p,m,x)),y&&x&&typeof m=="number")return c&&p.children?x.children.splice(m,1,...p.children):x.children.splice(m,1),m}}}function h5(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),a=e.indexOf("/");return t===-1||a!==-1&&t>a||n!==-1&&t>n||r!==-1&&t>r||a5.test(e.slice(0,t))?e:""}function w0(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,a=n.indexOf(t);for(;a!==-1;)r++,a=n.indexOf(t,a+t.length);return r}function f5(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function m5(e,t,n){const a=bd((n||{}).ignore||[]),l=p5(t);let u=-1;for(;++u<l.length;)Aw(e,"text",c);function c(f,p){let m=-1,x;for(;++m<p.length;){const y=p[m],w=x?x.children:void 0;if(a(y,w?w.indexOf(y):void 0,x))return;x=y}if(x)return d(f,p)}function d(f,p){const m=p[p.length-1],x=l[u][0],y=l[u][1];let w=0;const _=m.children.indexOf(f);let S=!1,v=[];x.lastIndex=0;let b=x.exec(f.value);for(;b;){const E=b.index,j={index:b.index,input:b.input,stack:[...p,f]};let T=y(...b,j);if(typeof T=="string"&&(T=T.length>0?{type:"text",value:T}:void 0),T===!1?x.lastIndex=E+1:(w!==E&&v.push({type:"text",value:f.value.slice(w,E)}),Array.isArray(T)?v.push(...T):T&&v.push(T),w=E+b[0].length,S=!0),!x.global)break;b=x.exec(f.value)}return S?(w<f.value.length&&v.push({type:"text",value:f.value.slice(w)}),m.children.splice(_,1,...v)):v=[f],_+v.length}}function p5(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!e[0]||Array.isArray(e[0])?e:[e];let r=-1;for(;++r<n.length;){const a=n[r];t.push([g5(a[0]),x5(a[1])])}return t}function g5(e){return typeof e=="string"?new RegExp(f5(e),"g"):e}function x5(e){return typeof e=="function"?e:function(){return e}}const jm="phrasing",Nm=["autolink","link","image","label"];function y5(){return{transforms:[k5],enter:{literalAutolink:v5,literalAutolinkEmail:Tm,literalAutolinkHttp:Tm,literalAutolinkWww:Tm},exit:{literalAutolink:C5,literalAutolinkEmail:w5,literalAutolinkHttp:_5,literalAutolinkWww:S5}}}function b5(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:jm,notInConstruct:Nm},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:jm,notInConstruct:Nm},{character:":",before:"[ps]",after:"\\/",inConstruct:jm,notInConstruct:Nm}]}}function v5(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Tm(e){this.config.enter.autolinkProtocol.call(this,e)}function _5(e){this.config.exit.autolinkProtocol.call(this,e)}function S5(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function w5(e){this.config.exit.autolinkEmail.call(this,e)}function C5(e){this.exit(e)}function k5(e){m5(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,E5],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),j5]],{ignore:["link","linkReference"]})}function E5(e,t,n,r,a){let l="";if(!Dw(a)||(/^w/i.test(t)&&(n=t+n,t="",l="http://"),!N5(n)))return!1;const u=T5(n+r);if(!u[0])return!1;const c={type:"link",title:null,url:l+t+u[0],children:[{type:"text",value:t+u[0]}]};return u[1]?[c,{type:"text",value:u[1]}]:c}function j5(e,t,n,r){return!Dw(r,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function N5(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function T5(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const a=w0(e,"(");let l=w0(e,")");for(;r!==-1&&a>l;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),l++;return[e,n]}function Dw(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Fi(n)||gd(n))&&(!t||n!==47)}Rw.peek=B5;function A5(){this.buffer()}function L5(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function D5(){this.buffer()}function R5(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function O5(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Dr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function I5(e){this.exit(e)}function M5(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Dr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function P5(e){this.exit(e)}function B5(){return"["}function Rw(e,t,n,r){const a=n.createTracker(r);let l=a.move("[^");const u=n.enter("footnoteReference"),c=n.enter("reference");return l+=a.move(n.safe(n.associationId(e),{after:"]",before:l})),c(),u(),l+=a.move("]"),l}function $5(){return{enter:{gfmFootnoteCallString:A5,gfmFootnoteCall:L5,gfmFootnoteDefinitionLabelString:D5,gfmFootnoteDefinition:R5},exit:{gfmFootnoteCallString:O5,gfmFootnoteCall:I5,gfmFootnoteDefinitionLabelString:M5,gfmFootnoteDefinition:P5}}}function z5(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:Rw},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,a,l,u){const c=l.createTracker(u);let d=c.move("[^");const f=l.enter("footnoteDefinition"),p=l.enter("label");return d+=c.move(l.safe(l.associationId(r),{before:d,after:"]"})),p(),d+=c.move("]:"),r.children&&r.children.length>0&&(c.shift(4),d+=c.move((t?`
|
|
112
|
-
`:" ")+l.indentLines(l.containerFlow(r,c.current()),t?Ow:H5))),f(),d}}function H5(e,t,n){return t===0?e:Ow(e,t,n)}function Ow(e,t,n){return(n?"":" ")+e}const U5=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Iw.peek=q5;function F5(){return{canContainEols:["delete"],enter:{strikethrough:G5},exit:{strikethrough:W5}}}function V5(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:U5}],handlers:{delete:Iw}}}function G5(e){this.enter({type:"delete",children:[]},e)}function W5(e){this.exit(e)}function Iw(e,t,n,r){const a=n.createTracker(r),l=n.enter("strikethrough");let u=a.move("~~");return u+=n.containerPhrasing(e,{...a.current(),before:u,after:"~"}),u+=a.move("~~"),l(),u}function q5(){return"~"}function K5(e){return e.length}function Y5(e,t){const n=t||{},r=(n.align||[]).concat(),a=n.stringLength||K5,l=[],u=[],c=[],d=[];let f=0,p=-1;for(;++p<e.length;){const C=[],_=[];let S=-1;for(e[p].length>f&&(f=e[p].length);++S<e[p].length;){const v=X5(e[p][S]);if(n.alignDelimiters!==!1){const b=a(v);_[S]=b,(d[S]===void 0||b>d[S])&&(d[S]=b)}C.push(v)}u[p]=C,c[p]=_}let m=-1;if(typeof r=="object"&&"length"in r)for(;++m<f;)l[m]=C0(r[m]);else{const C=C0(r);for(;++m<f;)l[m]=C}m=-1;const x=[],y=[];for(;++m<f;){const C=l[m];let _="",S="";C===99?(_=":",S=":"):C===108?_=":":C===114&&(S=":");let v=n.alignDelimiters===!1?1:Math.max(1,d[m]-_.length-S.length);const b=_+"-".repeat(v)+S;n.alignDelimiters!==!1&&(v=_.length+v+S.length,v>d[m]&&(d[m]=v),y[m]=v),x[m]=b}u.splice(1,0,x),c.splice(1,0,y),p=-1;const w=[];for(;++p<u.length;){const C=u[p],_=c[p];m=-1;const S=[];for(;++m<f;){const v=C[m]||"";let b="",E="";if(n.alignDelimiters!==!1){const j=d[m]-(_[m]||0),T=l[m];T===114?b=" ".repeat(j):T===99?j%2?(b=" ".repeat(j/2+.5),E=" ".repeat(j/2-.5)):(b=" ".repeat(j/2),E=b):E=" ".repeat(j)}n.delimiterStart!==!1&&!m&&S.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&v==="")&&(n.delimiterStart!==!1||m)&&S.push(" "),n.alignDelimiters!==!1&&S.push(b),S.push(v),n.alignDelimiters!==!1&&S.push(E),n.padding!==!1&&S.push(" "),(n.delimiterEnd!==!1||m!==f-1)&&S.push("|")}w.push(n.delimiterEnd===!1?S.join("").replace(/ +$/,""):S.join(""))}return w.join(`
|
|
113
|
-
`)}function X5(e){return e==null?"":String(e)}function C0(e){const t=typeof e=="string"?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function Q5(e,t,n,r){const a=n.enter("blockquote"),l=n.createTracker(r);l.move("> "),l.shift(2);const u=n.indentLines(n.containerFlow(e,l.current()),J5);return a(),u}function J5(e,t,n){return">"+(n?"":" ")+e}function Z5(e,t){return k0(e,t.inConstruct,!0)&&!k0(e,t.notInConstruct,!1)}function k0(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function E0(e,t,n,r){let a=-1;for(;++a<n.unsafe.length;)if(n.unsafe[a].character===`
|
|
114
|
-
`&&Z5(n.stack,n.unsafe[a]))return/[ \t]/.test(r.before)?"":" ";return`\\
|
|
115
|
-
`}function eO(e,t){const n=String(e);let r=n.indexOf(t),a=r,l=0,u=0;if(typeof t!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===a?++l>u&&(u=l):l=1,a=r+t.length,r=n.indexOf(t,a);return u}function tO(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function nO(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function rO(e,t,n,r){const a=nO(n),l=e.value||"",u=a==="`"?"GraveAccent":"Tilde";if(tO(e,n)){const m=n.enter("codeIndented"),x=n.indentLines(l,sO);return m(),x}const c=n.createTracker(r),d=a.repeat(Math.max(eO(l,a)+1,3)),f=n.enter("codeFenced");let p=c.move(d);if(e.lang){const m=n.enter(`codeFencedLang${u}`);p+=c.move(n.safe(e.lang,{before:p,after:" ",encode:["`"],...c.current()})),m()}if(e.lang&&e.meta){const m=n.enter(`codeFencedMeta${u}`);p+=c.move(" "),p+=c.move(n.safe(e.meta,{before:p,after:`
|
|
116
|
-
`,encode:["`"],...c.current()})),m()}return p+=c.move(`
|
|
117
|
-
`),l&&(p+=c.move(l+`
|
|
118
|
-
`)),p+=c.move(d),f(),p}function sO(e,t,n){return(n?"":" ")+e}function gg(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function iO(e,t,n,r){const a=gg(n),l=a==='"'?"Quote":"Apostrophe",u=n.enter("definition");let c=n.enter("label");const d=n.createTracker(r);let f=d.move("[");return f+=d.move(n.safe(n.associationId(e),{before:f,after:"]",...d.current()})),f+=d.move("]: "),c(),!e.url||/[\0- \u007F]/.test(e.url)?(c=n.enter("destinationLiteral"),f+=d.move("<"),f+=d.move(n.safe(e.url,{before:f,after:">",...d.current()})),f+=d.move(">")):(c=n.enter("destinationRaw"),f+=d.move(n.safe(e.url,{before:f,after:e.title?" ":`
|
|
119
|
-
`,...d.current()}))),c(),e.title&&(c=n.enter(`title${l}`),f+=d.move(" "+a),f+=d.move(n.safe(e.title,{before:f,after:a,...d.current()})),f+=d.move(a),c()),u(),f}function aO(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function Tl(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Vu(e,t,n){const r=Ja(e),a=Ja(t);return r===void 0?a===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:a===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?a===void 0?{inside:!1,outside:!1}:a===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:a===void 0?{inside:!1,outside:!1}:a===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}Mw.peek=oO;function Mw(e,t,n,r){const a=aO(n),l=n.enter("emphasis"),u=n.createTracker(r),c=u.move(a);let d=u.move(n.containerPhrasing(e,{after:a,before:c,...u.current()}));const f=d.charCodeAt(0),p=Vu(r.before.charCodeAt(r.before.length-1),f,a);p.inside&&(d=Tl(f)+d.slice(1));const m=d.charCodeAt(d.length-1),x=Vu(r.after.charCodeAt(0),m,a);x.inside&&(d=d.slice(0,-1)+Tl(m));const y=u.move(a);return l(),n.attentionEncodeSurroundingInfo={after:x.outside,before:p.outside},c+d+y}function oO(e,t,n){return n.options.emphasis||"*"}function lO(e,t){let n=!1;return mg(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,mp}),!!((!e.depth||e.depth<3)&&og(e)&&(t.options.setext||n))}function cO(e,t,n,r){const a=Math.max(Math.min(6,e.depth||1),1),l=n.createTracker(r);if(lO(e,n)){const p=n.enter("headingSetext"),m=n.enter("phrasing"),x=n.containerPhrasing(e,{...l.current(),before:`
|
|
120
|
-
`,after:`
|
|
121
|
-
`});return m(),p(),x+`
|
|
122
|
-
`+(a===1?"=":"-").repeat(x.length-(Math.max(x.lastIndexOf("\r"),x.lastIndexOf(`
|
|
123
|
-
`))+1))}const u="#".repeat(a),c=n.enter("headingAtx"),d=n.enter("phrasing");l.move(u+" ");let f=n.containerPhrasing(e,{before:"# ",after:`
|
|
124
|
-
`,...l.current()});return/^[\t ]/.test(f)&&(f=Tl(f.charCodeAt(0))+f.slice(1)),f=f?u+" "+f:u,n.options.closeAtx&&(f+=" "+u),d(),c(),f}Pw.peek=uO;function Pw(e){return e.value||""}function uO(){return"<"}Bw.peek=dO;function Bw(e,t,n,r){const a=gg(n),l=a==='"'?"Quote":"Apostrophe",u=n.enter("image");let c=n.enter("label");const d=n.createTracker(r);let f=d.move("![");return f+=d.move(n.safe(e.alt,{before:f,after:"]",...d.current()})),f+=d.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter("destinationLiteral"),f+=d.move("<"),f+=d.move(n.safe(e.url,{before:f,after:">",...d.current()})),f+=d.move(">")):(c=n.enter("destinationRaw"),f+=d.move(n.safe(e.url,{before:f,after:e.title?" ":")",...d.current()}))),c(),e.title&&(c=n.enter(`title${l}`),f+=d.move(" "+a),f+=d.move(n.safe(e.title,{before:f,after:a,...d.current()})),f+=d.move(a),c()),f+=d.move(")"),u(),f}function dO(){return"!"}$w.peek=hO;function $w(e,t,n,r){const a=e.referenceType,l=n.enter("imageReference");let u=n.enter("label");const c=n.createTracker(r);let d=c.move("![");const f=n.safe(e.alt,{before:d,after:"]",...c.current()});d+=c.move(f+"]["),u();const p=n.stack;n.stack=[],u=n.enter("reference");const m=n.safe(n.associationId(e),{before:d,after:"]",...c.current()});return u(),n.stack=p,l(),a==="full"||!f||f!==m?d+=c.move(m+"]"):a==="shortcut"?d=d.slice(0,-1):d+=c.move("]"),d}function hO(){return"!"}zw.peek=fO;function zw(e,t,n){let r=e.value||"",a="`",l=-1;for(;new RegExp("(^|[^`])"+a+"([^`]|$)").test(r);)a+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++l<n.unsafe.length;){const u=n.unsafe[l],c=n.compilePattern(u);let d;if(u.atBreak)for(;d=c.exec(r);){let f=d.index;r.charCodeAt(f)===10&&r.charCodeAt(f-1)===13&&f--,r=r.slice(0,f)+" "+r.slice(d.index+1)}}return a+r+a}function fO(){return"`"}function Hw(e,t){const n=og(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}Uw.peek=mO;function Uw(e,t,n,r){const a=gg(n),l=a==='"'?"Quote":"Apostrophe",u=n.createTracker(r);let c,d;if(Hw(e,n)){const p=n.stack;n.stack=[],c=n.enter("autolink");let m=u.move("<");return m+=u.move(n.containerPhrasing(e,{before:m,after:">",...u.current()})),m+=u.move(">"),c(),n.stack=p,m}c=n.enter("link"),d=n.enter("label");let f=u.move("[");return f+=u.move(n.containerPhrasing(e,{before:f,after:"](",...u.current()})),f+=u.move("]("),d(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(d=n.enter("destinationLiteral"),f+=u.move("<"),f+=u.move(n.safe(e.url,{before:f,after:">",...u.current()})),f+=u.move(">")):(d=n.enter("destinationRaw"),f+=u.move(n.safe(e.url,{before:f,after:e.title?" ":")",...u.current()}))),d(),e.title&&(d=n.enter(`title${l}`),f+=u.move(" "+a),f+=u.move(n.safe(e.title,{before:f,after:a,...u.current()})),f+=u.move(a),d()),f+=u.move(")"),c(),f}function mO(e,t,n){return Hw(e,n)?"<":"["}Fw.peek=pO;function Fw(e,t,n,r){const a=e.referenceType,l=n.enter("linkReference");let u=n.enter("label");const c=n.createTracker(r);let d=c.move("[");const f=n.containerPhrasing(e,{before:d,after:"]",...c.current()});d+=c.move(f+"]["),u();const p=n.stack;n.stack=[],u=n.enter("reference");const m=n.safe(n.associationId(e),{before:d,after:"]",...c.current()});return u(),n.stack=p,l(),a==="full"||!f||f!==m?d+=c.move(m+"]"):a==="shortcut"?d=d.slice(0,-1):d+=c.move("]"),d}function pO(){return"["}function xg(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function gO(e){const t=xg(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function xO(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function Vw(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function yO(e,t,n,r){const a=n.enter("list"),l=n.bulletCurrent;let u=e.ordered?xO(n):xg(n);const c=e.ordered?u==="."?")":".":gO(n);let d=t&&n.bulletLastUsed?u===n.bulletLastUsed:!1;if(!e.ordered){const p=e.children?e.children[0]:void 0;if((u==="*"||u==="-")&&p&&(!p.children||!p.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(d=!0),Vw(n)===u&&p){let m=-1;for(;++m<e.children.length;){const x=e.children[m];if(x&&x.type==="listItem"&&x.children&&x.children[0]&&x.children[0].type==="thematicBreak"){d=!0;break}}}}d&&(u=c),n.bulletCurrent=u;const f=n.containerFlow(e,r);return n.bulletLastUsed=u,n.bulletCurrent=l,a(),f}function bO(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function vO(e,t,n,r){const a=bO(n);let l=n.bulletCurrent||xg(n);t&&t.type==="list"&&t.ordered&&(l=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+l);let u=l.length+1;(a==="tab"||a==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(u=Math.ceil(u/4)*4);const c=n.createTracker(r);c.move(l+" ".repeat(u-l.length)),c.shift(u);const d=n.enter("listItem"),f=n.indentLines(n.containerFlow(e,c.current()),p);return d(),f;function p(m,x,y){return x?(y?"":" ".repeat(u))+m:(y?l:l+" ".repeat(u-l.length))+m}}function _O(e,t,n,r){const a=n.enter("paragraph"),l=n.enter("phrasing"),u=n.containerPhrasing(e,r);return l(),a(),u}const SO=bd(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function wO(e,t,n,r){return(e.children.some(function(u){return SO(u)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function CO(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}Gw.peek=kO;function Gw(e,t,n,r){const a=CO(n),l=n.enter("strong"),u=n.createTracker(r),c=u.move(a+a);let d=u.move(n.containerPhrasing(e,{after:a,before:c,...u.current()}));const f=d.charCodeAt(0),p=Vu(r.before.charCodeAt(r.before.length-1),f,a);p.inside&&(d=Tl(f)+d.slice(1));const m=d.charCodeAt(d.length-1),x=Vu(r.after.charCodeAt(0),m,a);x.inside&&(d=d.slice(0,-1)+Tl(m));const y=u.move(a+a);return l(),n.attentionEncodeSurroundingInfo={after:x.outside,before:p.outside},c+d+y}function kO(e,t,n){return n.options.strong||"*"}function EO(e,t,n,r){return n.safe(e.value,r)}function jO(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function NO(e,t,n){const r=(Vw(n)+(n.options.ruleSpaces?" ":"")).repeat(jO(n));return n.options.ruleSpaces?r.slice(0,-1):r}const Ww={blockquote:Q5,break:E0,code:rO,definition:iO,emphasis:Mw,hardBreak:E0,heading:cO,html:Pw,image:Bw,imageReference:$w,inlineCode:zw,link:Uw,linkReference:Fw,list:yO,listItem:vO,paragraph:_O,root:wO,strong:Gw,text:EO,thematicBreak:NO};function TO(){return{enter:{table:AO,tableData:j0,tableHeader:j0,tableRow:DO},exit:{codeText:RO,table:LO,tableData:Am,tableHeader:Am,tableRow:Am}}}function AO(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function LO(e){this.exit(e),this.data.inTable=void 0}function DO(e){this.enter({type:"tableRow",children:[]},e)}function Am(e){this.exit(e)}function j0(e){this.enter({type:"tableCell",children:[]},e)}function RO(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,OO));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function OO(e,t){return t==="|"?t:e}function IO(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,a=t.stringLength,l=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
125
|
-
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:x,table:u,tableCell:d,tableRow:c}};function u(y,w,C,_){return f(p(y,C,_),y.align)}function c(y,w,C,_){const S=m(y,C,_),v=f([S]);return v.slice(0,v.indexOf(`
|
|
126
|
-
`))}function d(y,w,C,_){const S=C.enter("tableCell"),v=C.enter("phrasing"),b=C.containerPhrasing(y,{..._,before:l,after:l});return v(),S(),b}function f(y,w){return Y5(y,{align:w,alignDelimiters:r,padding:n,stringLength:a})}function p(y,w,C){const _=y.children;let S=-1;const v=[],b=w.enter("table");for(;++S<_.length;)v[S]=m(_[S],w,C);return b(),v}function m(y,w,C){const _=y.children;let S=-1;const v=[],b=w.enter("tableRow");for(;++S<_.length;)v[S]=d(_[S],y,w,C);return b(),v}function x(y,w,C){let _=Ww.inlineCode(y,w,C);return C.stack.includes("tableCell")&&(_=_.replace(/\|/g,"\\$&")),_}}function MO(){return{exit:{taskListCheckValueChecked:N0,taskListCheckValueUnchecked:N0,paragraph:BO}}}function PO(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:$O}}}function N0(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function BO(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const a=t.children;let l=-1,u;for(;++l<a.length;){const c=a[l];if(c.type==="paragraph"){u=c;break}}u===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function $O(e,t,n,r){const a=e.children[0],l=typeof e.checked=="boolean"&&a&&a.type==="paragraph",u="["+(e.checked?"x":" ")+"] ",c=n.createTracker(r);l&&c.move(u);let d=Ww.listItem(e,t,n,{...r,...c.current()});return l&&(d=d.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,f)),d;function f(p){return p+u}}function zO(){return[y5(),$5(),F5(),TO(),MO()]}function HO(e){return{extensions:[b5(),z5(e),V5(),IO(e),PO()]}}const UO={tokenize:KO,partial:!0},qw={tokenize:YO,partial:!0},Kw={tokenize:XO,partial:!0},Yw={tokenize:QO,partial:!0},FO={tokenize:JO,partial:!0},Xw={name:"wwwAutolink",tokenize:WO,previous:Jw},Qw={name:"protocolAutolink",tokenize:qO,previous:Zw},Cs={name:"emailAutolink",tokenize:GO,previous:eC},Kr={};function VO(){return{text:Kr}}let Ni=48;for(;Ni<123;)Kr[Ni]=Cs,Ni++,Ni===58?Ni=65:Ni===91&&(Ni=97);Kr[43]=Cs;Kr[45]=Cs;Kr[46]=Cs;Kr[95]=Cs;Kr[72]=[Cs,Qw];Kr[104]=[Cs,Qw];Kr[87]=[Cs,Xw];Kr[119]=[Cs,Xw];function GO(e,t,n){const r=this;let a,l;return u;function u(m){return!yp(m)||!eC.call(r,r.previous)||yg(r.events)?n(m):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),c(m))}function c(m){return yp(m)?(e.consume(m),c):m===64?(e.consume(m),d):n(m)}function d(m){return m===46?e.check(FO,p,f)(m):m===45||m===95||Rn(m)?(l=!0,e.consume(m),d):p(m)}function f(m){return e.consume(m),a=!0,d}function p(m){return l&&a&&Pn(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(m)):n(m)}}function WO(e,t,n){const r=this;return a;function a(u){return u!==87&&u!==119||!Jw.call(r,r.previous)||yg(r.events)?n(u):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(UO,e.attempt(qw,e.attempt(Kw,l),n),n)(u))}function l(u){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(u)}}function qO(e,t,n){const r=this;let a="",l=!1;return u;function u(m){return(m===72||m===104)&&Zw.call(r,r.previous)&&!yg(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),a+=String.fromCodePoint(m),e.consume(m),c):n(m)}function c(m){if(Pn(m)&&a.length<5)return a+=String.fromCodePoint(m),e.consume(m),c;if(m===58){const x=a.toLowerCase();if(x==="http"||x==="https")return e.consume(m),d}return n(m)}function d(m){return m===47?(e.consume(m),l?f:(l=!0,d)):n(m)}function f(m){return m===null||Hu(m)||Mt(m)||Fi(m)||gd(m)?n(m):e.attempt(qw,e.attempt(Kw,p),n)(m)}function p(m){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(m)}}function KO(e,t,n){let r=0;return a;function a(u){return(u===87||u===119)&&r<3?(r++,e.consume(u),a):u===46&&r===3?(e.consume(u),l):n(u)}function l(u){return u===null?n(u):t(u)}}function YO(e,t,n){let r,a,l;return u;function u(f){return f===46||f===95?e.check(Yw,d,c)(f):f===null||Mt(f)||Fi(f)||f!==45&&gd(f)?d(f):(l=!0,e.consume(f),u)}function c(f){return f===95?r=!0:(a=r,r=void 0),e.consume(f),u}function d(f){return a||r||!l?n(f):t(f)}}function XO(e,t){let n=0,r=0;return a;function a(u){return u===40?(n++,e.consume(u),a):u===41&&r<n?l(u):u===33||u===34||u===38||u===39||u===41||u===42||u===44||u===46||u===58||u===59||u===60||u===63||u===93||u===95||u===126?e.check(Yw,t,l)(u):u===null||Mt(u)||Fi(u)?t(u):(e.consume(u),a)}function l(u){return u===41&&r++,e.consume(u),a}}function QO(e,t,n){return r;function r(c){return c===33||c===34||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===63||c===95||c===126?(e.consume(c),r):c===38?(e.consume(c),l):c===93?(e.consume(c),a):c===60||c===null||Mt(c)||Fi(c)?t(c):n(c)}function a(c){return c===null||c===40||c===91||Mt(c)||Fi(c)?t(c):r(c)}function l(c){return Pn(c)?u(c):n(c)}function u(c){return c===59?(e.consume(c),r):Pn(c)?(e.consume(c),u):n(c)}}function JO(e,t,n){return r;function r(l){return e.consume(l),a}function a(l){return Rn(l)?n(l):t(l)}}function Jw(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Mt(e)}function Zw(e){return!Pn(e)}function eC(e){return!(e===47||yp(e))}function yp(e){return e===43||e===45||e===46||e===95||Rn(e)}function yg(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const ZO={tokenize:oI,partial:!0};function eI(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:sI,continuation:{tokenize:iI},exit:aI}},text:{91:{name:"gfmFootnoteCall",tokenize:rI},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:tI,resolveTo:nI}}}}function tI(e,t,n){const r=this;let a=r.events.length;const l=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let u;for(;a--;){const d=r.events[a][1];if(d.type==="labelImage"){u=d;break}if(d.type==="gfmFootnoteCall"||d.type==="labelLink"||d.type==="label"||d.type==="image"||d.type==="link")break}return c;function c(d){if(!u||!u._balanced)return n(d);const f=Dr(r.sliceSerialize({start:u.end,end:r.now()}));return f.codePointAt(0)!==94||!l.includes(f.slice(1))?n(d):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),t(d))}}function nI(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},a={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};a.end.column++,a.end.offset++,a.end._bufferIndex++;const l={type:"gfmFootnoteCallString",start:Object.assign({},a.end),end:Object.assign({},e[e.length-1][1].start)},u={type:"chunkString",contentType:"string",start:Object.assign({},l.start),end:Object.assign({},l.end)},c=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",a,t],["exit",a,t],["enter",l,t],["enter",u,t],["exit",u,t],["exit",l,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...c),e}function rI(e,t,n){const r=this,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l=0,u;return c;function c(m){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),d}function d(m){return m!==94?n(m):(e.enter("gfmFootnoteCallMarker"),e.consume(m),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",f)}function f(m){if(l>999||m===93&&!u||m===null||m===91||Mt(m))return n(m);if(m===93){e.exit("chunkString");const x=e.exit("gfmFootnoteCallString");return a.includes(Dr(r.sliceSerialize(x)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(m)}return Mt(m)||(u=!0),l++,e.consume(m),m===92?p:f}function p(m){return m===91||m===92||m===93?(e.consume(m),l++,f):f(m)}}function sI(e,t,n){const r=this,a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l,u=0,c;return d;function d(w){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),f}function f(w){return w===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(w)}function p(w){if(u>999||w===93&&!c||w===null||w===91||Mt(w))return n(w);if(w===93){e.exit("chunkString");const C=e.exit("gfmFootnoteDefinitionLabelString");return l=Dr(r.sliceSerialize(C)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),x}return Mt(w)||(c=!0),u++,e.consume(w),w===92?m:p}function m(w){return w===91||w===92||w===93?(e.consume(w),u++,p):p(w)}function x(w){return w===58?(e.enter("definitionMarker"),e.consume(w),e.exit("definitionMarker"),a.includes(l)||a.push(l),_t(e,y,"gfmFootnoteDefinitionWhitespace")):n(w)}function y(w){return t(w)}}function iI(e,t,n){return e.check(Ul,t,e.attempt(ZO,t,n))}function aI(e){e.exit("gfmFootnoteDefinition")}function oI(e,t,n){const r=this;return _t(e,a,"gfmFootnoteDefinitionIndent",5);function a(l){const u=r.events[r.events.length-1];return u&&u[1].type==="gfmFootnoteDefinitionIndent"&&u[2].sliceSerialize(u[1],!0).length===4?t(l):n(l)}}function lI(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:l,resolveAll:a};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function a(u,c){let d=-1;for(;++d<u.length;)if(u[d][0]==="enter"&&u[d][1].type==="strikethroughSequenceTemporary"&&u[d][1]._close){let f=d;for(;f--;)if(u[f][0]==="exit"&&u[f][1].type==="strikethroughSequenceTemporary"&&u[f][1]._open&&u[d][1].end.offset-u[d][1].start.offset===u[f][1].end.offset-u[f][1].start.offset){u[d][1].type="strikethroughSequence",u[f][1].type="strikethroughSequence";const p={type:"strikethrough",start:Object.assign({},u[f][1].start),end:Object.assign({},u[d][1].end)},m={type:"strikethroughText",start:Object.assign({},u[f][1].end),end:Object.assign({},u[d][1].start)},x=[["enter",p,c],["enter",u[f][1],c],["exit",u[f][1],c],["enter",m,c]],y=c.parser.constructs.insideSpan.null;y&&lr(x,x.length,0,xd(y,u.slice(f+1,d),c)),lr(x,x.length,0,[["exit",m,c],["enter",u[d][1],c],["exit",u[d][1],c],["exit",p,c]]),lr(u,f-1,d-f+3,x),d=f+x.length-2;break}}for(d=-1;++d<u.length;)u[d][1].type==="strikethroughSequenceTemporary"&&(u[d][1].type="data");return u}function l(u,c,d){const f=this.previous,p=this.events;let m=0;return x;function x(w){return f===126&&p[p.length-1][1].type!=="characterEscape"?d(w):(u.enter("strikethroughSequenceTemporary"),y(w))}function y(w){const C=Ja(f);if(w===126)return m>1?d(w):(u.consume(w),m++,y);if(m<2&&!n)return d(w);const _=u.exit("strikethroughSequenceTemporary"),S=Ja(w);return _._open=!S||S===2&&!!C,_._close=!C||C===2&&!!S,c(w)}}}class cI{constructor(){this.map=[]}add(t,n,r){uI(this,t,n,r)}consume(t){if(this.map.sort(function(l,u){return l[0]-u[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let a=r.pop();for(;a;){for(const l of a)t.push(l);a=r.pop()}this.map.length=0}}function uI(e,t,n,r){let a=0;if(!(n===0&&r.length===0)){for(;a<e.map.length;){if(e.map[a][0]===t){e.map[a][1]+=n,e.map[a][2].push(...r);return}a+=1}e.map.push([t,n,r])}}function dI(e,t){let n=!1;const r=[];for(;t<e.length;){const a=e[t];if(n){if(a[0]==="enter")a[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(a[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const l=r.length-1;r[l]=r[l]==="left"?"center":"right"}}else if(a[1].type==="tableDelimiterRow")break}else a[0]==="enter"&&a[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function hI(){return{flow:{null:{name:"table",tokenize:fI,resolveAll:mI}}}}function fI(e,t,n){const r=this;let a=0,l=0,u;return c;function c(M){let V=r.events.length-1;for(;V>-1;){const H=r.events[V][1].type;if(H==="lineEnding"||H==="linePrefix")V--;else break}const U=V>-1?r.events[V][1].type:null,O=U==="tableHead"||U==="tableRow"?T:d;return O===T&&r.parser.lazy[r.now().line]?n(M):O(M)}function d(M){return e.enter("tableHead"),e.enter("tableRow"),f(M)}function f(M){return M===124||(u=!0,l+=1),p(M)}function p(M){return M===null?n(M):Xe(M)?l>1?(l=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),y):n(M):ft(M)?_t(e,p,"whitespace")(M):(l+=1,u&&(u=!1,a+=1),M===124?(e.enter("tableCellDivider"),e.consume(M),e.exit("tableCellDivider"),u=!0,p):(e.enter("data"),m(M)))}function m(M){return M===null||M===124||Mt(M)?(e.exit("data"),p(M)):(e.consume(M),M===92?x:m)}function x(M){return M===92||M===124?(e.consume(M),m):m(M)}function y(M){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(M):(e.enter("tableDelimiterRow"),u=!1,ft(M)?_t(e,w,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(M):w(M))}function w(M){return M===45||M===58?_(M):M===124?(u=!0,e.enter("tableCellDivider"),e.consume(M),e.exit("tableCellDivider"),C):j(M)}function C(M){return ft(M)?_t(e,_,"whitespace")(M):_(M)}function _(M){return M===58?(l+=1,u=!0,e.enter("tableDelimiterMarker"),e.consume(M),e.exit("tableDelimiterMarker"),S):M===45?(l+=1,S(M)):M===null||Xe(M)?E(M):j(M)}function S(M){return M===45?(e.enter("tableDelimiterFiller"),v(M)):j(M)}function v(M){return M===45?(e.consume(M),v):M===58?(u=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(M),e.exit("tableDelimiterMarker"),b):(e.exit("tableDelimiterFiller"),b(M))}function b(M){return ft(M)?_t(e,E,"whitespace")(M):E(M)}function E(M){return M===124?w(M):M===null||Xe(M)?!u||a!==l?j(M):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(M)):j(M)}function j(M){return n(M)}function T(M){return e.enter("tableRow"),D(M)}function D(M){return M===124?(e.enter("tableCellDivider"),e.consume(M),e.exit("tableCellDivider"),D):M===null||Xe(M)?(e.exit("tableRow"),t(M)):ft(M)?_t(e,D,"whitespace")(M):(e.enter("data"),L(M))}function L(M){return M===null||M===124||Mt(M)?(e.exit("data"),D(M)):(e.consume(M),M===92?R:L)}function R(M){return M===92||M===124?(e.consume(M),L):L(M)}}function mI(e,t){let n=-1,r=!0,a=0,l=[0,0,0,0],u=[0,0,0,0],c=!1,d=0,f,p,m;const x=new cI;for(;++n<e.length;){const y=e[n],w=y[1];y[0]==="enter"?w.type==="tableHead"?(c=!1,d!==0&&(T0(x,t,d,f,p),p=void 0,d=0),f={type:"table",start:Object.assign({},w.start),end:Object.assign({},w.end)},x.add(n,0,[["enter",f,t]])):w.type==="tableRow"||w.type==="tableDelimiterRow"?(r=!0,m=void 0,l=[0,0,0,0],u=[0,n+1,0,0],c&&(c=!1,p={type:"tableBody",start:Object.assign({},w.start),end:Object.assign({},w.end)},x.add(n,0,[["enter",p,t]])),a=w.type==="tableDelimiterRow"?2:p?3:1):a&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")?(r=!1,u[2]===0&&(l[1]!==0&&(u[0]=u[1],m=xu(x,t,l,a,void 0,m),l=[0,0,0,0]),u[2]=n)):w.type==="tableCellDivider"&&(r?r=!1:(l[1]!==0&&(u[0]=u[1],m=xu(x,t,l,a,void 0,m)),l=u,u=[l[1],n,0,0])):w.type==="tableHead"?(c=!0,d=n):w.type==="tableRow"||w.type==="tableDelimiterRow"?(d=n,l[1]!==0?(u[0]=u[1],m=xu(x,t,l,a,n,m)):u[1]!==0&&(m=xu(x,t,u,a,n,m)),a=0):a&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")&&(u[3]=n)}for(d!==0&&T0(x,t,d,f,p),x.consume(t.events),n=-1;++n<t.events.length;){const y=t.events[n];y[0]==="enter"&&y[1].type==="table"&&(y[1]._align=dI(t.events,n))}return e}function xu(e,t,n,r,a,l){const u=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",c="tableContent";n[0]!==0&&(l.end=Object.assign({},Ha(t.events,n[0])),e.add(n[0],0,[["exit",l,t]]));const d=Ha(t.events,n[1]);if(l={type:u,start:Object.assign({},d),end:Object.assign({},d)},e.add(n[1],0,[["enter",l,t]]),n[2]!==0){const f=Ha(t.events,n[2]),p=Ha(t.events,n[3]),m={type:c,start:Object.assign({},f),end:Object.assign({},p)};if(e.add(n[2],0,[["enter",m,t]]),r!==2){const x=t.events[n[2]],y=t.events[n[3]];if(x[1].end=Object.assign({},y[1].end),x[1].type="chunkText",x[1].contentType="text",n[3]>n[2]+1){const w=n[2]+1,C=n[3]-n[2]-1;e.add(w,C,[])}}e.add(n[3]+1,0,[["exit",m,t]])}return a!==void 0&&(l.end=Object.assign({},Ha(t.events,a)),e.add(a,0,[["exit",l,t]]),l=void 0),l}function T0(e,t,n,r,a){const l=[],u=Ha(t.events,n);a&&(a.end=Object.assign({},u),l.push(["exit",a,t])),r.end=Object.assign({},u),l.push(["exit",r,t]),e.add(n+1,0,l)}function Ha(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const pI={name:"tasklistCheck",tokenize:xI};function gI(){return{text:{91:pI}}}function xI(e,t,n){const r=this;return a;function a(d){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(d):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),l)}function l(d){return Mt(d)?(e.enter("taskListCheckValueUnchecked"),e.consume(d),e.exit("taskListCheckValueUnchecked"),u):d===88||d===120?(e.enter("taskListCheckValueChecked"),e.consume(d),e.exit("taskListCheckValueChecked"),u):n(d)}function u(d){return d===93?(e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):n(d)}function c(d){return Xe(d)?t(d):ft(d)?e.check({tokenize:yI},t,n)(d):n(d)}}function yI(e,t,n){return _t(e,r,"whitespace");function r(a){return a===null?n(a):t(a)}}function bI(e){return dw([VO(),eI(),lI(e),hI(),gI()])}const vI={};function _I(e){const t=this,n=e||vI,r=t.data(),a=r.micromarkExtensions||(r.micromarkExtensions=[]),l=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),u=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);a.push(bI(n)),l.push(zO()),u.push(HO(n))}var bp=Object.defineProperty,SI=Object.getOwnPropertyDescriptor,wI=Object.getOwnPropertyNames,CI=Object.prototype.hasOwnProperty,bg=(e,t)=>{let n={};for(var r in e)bp(n,r,{get:e[r],enumerable:!0});return bp(n,Symbol.toStringTag,{value:"Module"}),n},kI=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(var a=wI(t),l=0,u=a.length,c;l<u;l++)c=a[l],!CI.call(e,c)&&c!==n&&bp(e,c,{get:(d=>t[d]).bind(null,c),enumerable:!(r=SI(t,c))||r.enumerable});return e},tC=(e,t,n)=>(kI(e,t,"default"),n);const _d=[{id:"abap",name:"ABAP",import:(()=>J(()=>import("./abap-BdImnpbu.js"),[]))},{id:"actionscript-3",name:"ActionScript",import:(()=>J(()=>import("./actionscript-3-CoDkCxhg.js"),[]))},{id:"ada",name:"Ada",import:(()=>J(()=>import("./ada-bCR0ucgS.js"),[]))},{id:"angular-html",name:"Angular HTML",import:(()=>J(()=>import("./angular-html-DA-rfuFy.js").then(e=>e.f),__vite__mapDeps([0,1,2,3])))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>J(()=>import("./angular-ts-BrjP3tb8.js"),__vite__mapDeps([4,0,1,2,3,5])))},{id:"apache",name:"Apache Conf",import:(()=>J(()=>import("./apache-Pmp26Uib.js"),[]))},{id:"apex",name:"Apex",import:(()=>J(()=>import("./apex-Dqspr-GT.js"),[]))},{id:"apl",name:"APL",import:(()=>J(()=>import("./apl-CORt7UWP.js"),__vite__mapDeps([6,1,2,3,7,8,9])))},{id:"applescript",name:"AppleScript",import:(()=>J(()=>import("./applescript-Co6uUVPk.js"),[]))},{id:"ara",name:"Ara",import:(()=>J(()=>import("./ara-BRHolxvo.js"),[]))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>J(()=>import("./asciidoc-Ve4PFQV2.js"),[]))},{id:"asm",name:"Assembly",import:(()=>J(()=>import("./asm-D_Q5rh1f.js"),[]))},{id:"astro",name:"Astro",import:(()=>J(()=>import("./astro-HNnZUWAn.js"),__vite__mapDeps([10,9,2,11,3,12,13])))},{id:"awk",name:"AWK",import:(()=>J(()=>import("./awk-DMzUqQB5.js"),[]))},{id:"ballerina",name:"Ballerina",import:(()=>J(()=>import("./ballerina-BFfxhgS-.js"),[]))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>J(()=>import("./bat-BkioyH1T.js"),[]))},{id:"beancount",name:"Beancount",import:(()=>J(()=>import("./beancount-k_qm7-4y.js"),[]))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>J(()=>import("./berry-uYugtg8r.js"),[]))},{id:"bibtex",name:"BibTeX",import:(()=>J(()=>import("./bibtex-CHM0blh-.js"),[]))},{id:"bicep",name:"Bicep",import:(()=>J(()=>import("./bicep-Bmn6On1c.js"),[]))},{id:"bird2",name:"BIRD2 Configuration",aliases:["bird"],import:(()=>J(()=>import("./bird2-BIv1doCn.js"),[]))},{id:"blade",name:"Blade",import:(()=>J(()=>import("./blade-2xfisSek.js"),__vite__mapDeps([14,15,1,2,3,7,8,16,9])))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>J(()=>import("./bsl-BO_Y6i37.js"),__vite__mapDeps([17,18])))},{id:"c",name:"C",import:(()=>J(()=>import("./c-BIGW1oBm.js"),[]))},{id:"c3",name:"C3",import:(()=>J(()=>import("./c3-MRO5bC_T.js"),[]))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>J(()=>import("./cadence-Bv_4Rxtq.js"),[]))},{id:"cairo",name:"Cairo",import:(()=>J(()=>import("./cairo-KRGpt6FW.js"),__vite__mapDeps([19,20])))},{id:"clarity",name:"Clarity",import:(()=>J(()=>import("./clarity-D53aC0YG.js"),[]))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>J(()=>import("./clojure-P80f7IUj.js"),[]))},{id:"cmake",name:"CMake",import:(()=>J(()=>import("./cmake-D1j8_8rp.js"),[]))},{id:"cobol",name:"COBOL",import:(()=>J(()=>import("./cobol-nBiQ_Alo.js"),__vite__mapDeps([21,1,2,3,8])))},{id:"codeowners",name:"CODEOWNERS",import:(()=>J(()=>import("./codeowners-Bp6g37R7.js"),[]))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>J(()=>import("./codeql-DsOJ9woJ.js"),[]))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>J(()=>import("./coffee-Ch7k5sss.js"),__vite__mapDeps([22,2])))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>J(()=>import("./common-lisp-Cg-RD9OK.js"),[]))},{id:"coq",name:"Coq",import:(()=>J(()=>import("./coq-DkFqJrB1.js"),[]))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>J(()=>import("./cpp-UfJy6YNI.js"),__vite__mapDeps([23,24,25,26,16])))},{id:"crystal",name:"Crystal",import:(()=>J(()=>import("./crystal-DGywbUpC.js"),__vite__mapDeps([27,1,2,3,16,26,28])))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>J(()=>import("./csharp-DSvCPggb.js"),[]))},{id:"css",name:"CSS",import:(()=>J(()=>import("./css-CLj8gQPS.js"),[]))},{id:"csv",name:"CSV",import:(()=>J(()=>import("./csv-fuZLfV_i.js"),[]))},{id:"cue",name:"CUE",import:(()=>J(()=>import("./cue-D82EKSYY.js"),[]))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>J(()=>import("./cypher-COkxafJQ.js"),[]))},{id:"d",name:"D",import:(()=>J(()=>import("./d-85-TOEBH.js"),[]))},{id:"dart",name:"Dart",import:(()=>J(()=>import("./dart-bE4Kk8sk.js"),[]))},{id:"dax",name:"DAX",import:(()=>J(()=>import("./dax-CEL-wOlO.js"),[]))},{id:"desktop",name:"Desktop",import:(()=>J(()=>import("./desktop-BmXAJ9_W.js"),[]))},{id:"diff",name:"Diff",import:(()=>J(()=>import("./diff-D97Zzqfu.js"),[]))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>J(()=>import("./docker-BcOcwvcX.js"),[]))},{id:"dotenv",name:"dotEnv",import:(()=>J(()=>import("./dotenv-Da5cRb03.js"),[]))},{id:"dream-maker",name:"Dream Maker",import:(()=>J(()=>import("./dream-maker-BtqSS_iP.js"),[]))},{id:"edge",name:"Edge",import:(()=>J(()=>import("./edge-FbVlp4U3.js"),__vite__mapDeps([29,11,1,2,3,15])))},{id:"elixir",name:"Elixir",import:(()=>J(()=>import("./elixir-CkH2-t6x.js"),__vite__mapDeps([30,1,2,3])))},{id:"elm",name:"Elm",import:(()=>J(()=>import("./elm-DbKCFpqz.js"),__vite__mapDeps([31,25,26])))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>J(()=>import("./emacs-lisp-CXvaQtF9.js"),[]))},{id:"erb",name:"ERB",import:(()=>J(()=>import("./erb-Dm6A9KJ5.js"),__vite__mapDeps([32,1,2,3,33,34,7,8,16,35,11,36,13,23,24,25,26,28,37,38])))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>J(()=>import("./erlang-DsQrWhSR.js"),__vite__mapDeps([39,40])))},{id:"fennel",name:"Fennel",import:(()=>J(()=>import("./fennel-BYunw83y.js"),[]))},{id:"fish",name:"Fish",import:(()=>J(()=>import("./fish-BvzEVeQv.js"),[]))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>J(()=>import("./fluent-C4IJs8-o.js"),[]))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>J(()=>import("./fortran-fixed-form-CkoXwp7k.js"),__vite__mapDeps([41,42])))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>J(()=>import("./fortran-free-form-BxgE0vQu.js"),[]))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>J(()=>import("./fsharp-CXgrBDvD.js"),__vite__mapDeps([43,40])))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>J(()=>import("./gdresource-BOOCDP_w.js"),__vite__mapDeps([44,45,46])))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>J(()=>import("./gdscript-C5YyOfLZ.js"),[]))},{id:"gdshader",name:"GDShader",import:(()=>J(()=>import("./gdshader-DkwncUOv.js"),[]))},{id:"genie",name:"Genie",import:(()=>J(()=>import("./genie-D0YGMca9.js"),[]))},{id:"gherkin",name:"Gherkin",import:(()=>J(()=>import("./gherkin-DyxjwDmM.js"),[]))},{id:"git-commit",name:"Git Commit Message",import:(()=>J(()=>import("./git-commit-F4YmCXRG.js"),__vite__mapDeps([47,48])))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>J(()=>import("./git-rebase-r7XF79zn.js"),__vite__mapDeps([49,28])))},{id:"gleam",name:"Gleam",import:(()=>J(()=>import("./gleam-BspZqrRM.js"),[]))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>J(()=>import("./glimmer-js-ByusRIyA.js"),__vite__mapDeps([50,2,11,3,1])))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>J(()=>import("./glimmer-ts-BfAWNZQY.js"),__vite__mapDeps([51,11,3,2,1])))},{id:"glsl",name:"GLSL",import:(()=>J(()=>import("./glsl-DplSGwfg.js"),__vite__mapDeps([25,26])))},{id:"gn",name:"GN",import:(()=>J(()=>import("./gn-n2N0HUVH.js"),[]))},{id:"gnuplot",name:"Gnuplot",import:(()=>J(()=>import("./gnuplot-DdkO51Og.js"),[]))},{id:"go",name:"Go",import:(()=>J(()=>import("./go-C27-OAKa.js"),[]))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>J(()=>import("./graphql-ChdNCCLP.js"),__vite__mapDeps([35,2,11,36,13])))},{id:"groovy",name:"Groovy",import:(()=>J(()=>import("./groovy-gcz8RCvz.js"),[]))},{id:"hack",name:"Hack",import:(()=>J(()=>import("./hack-DbPARsA_.js"),__vite__mapDeps([52,1,2,3,16])))},{id:"haml",name:"Ruby Haml",import:(()=>J(()=>import("./haml-D5jkg6IW.js"),__vite__mapDeps([34,2,3])))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>J(()=>import("./handlebars-BpdQsYii.js"),__vite__mapDeps([53,1,2,3,38])))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>J(()=>import("./haskell-Df6bDoY_.js"),[]))},{id:"haxe",name:"Haxe",import:(()=>J(()=>import("./haxe-CzTSHFRz.js"),[]))},{id:"hcl",name:"HashiCorp HCL",import:(()=>J(()=>import("./hcl-BWvSN4gD.js"),[]))},{id:"hjson",name:"Hjson",import:(()=>J(()=>import("./hjson-D5-asLiD.js"),[]))},{id:"hlsl",name:"HLSL",import:(()=>J(()=>import("./hlsl-D3lLCCz7.js"),[]))},{id:"html",name:"HTML",import:(()=>J(()=>import("./html-pp8916En.js"),__vite__mapDeps([1,2,3])))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>J(()=>import("./html-derivative-DlHx6ybY.js"),__vite__mapDeps([15,1,2,3])))},{id:"http",name:"HTTP",import:(()=>J(()=>import("./http-jrhK8wxY.js"),__vite__mapDeps([54,28,9,7,8,35,2,11,36,13])))},{id:"hurl",name:"Hurl",import:(()=>J(()=>import("./hurl-irOxFIW8.js"),__vite__mapDeps([55,35,2,11,36,13,7,8,56])))},{id:"hxml",name:"HXML",import:(()=>J(()=>import("./hxml-Bvhsp5Yf.js"),__vite__mapDeps([57,58])))},{id:"hy",name:"Hy",import:(()=>J(()=>import("./hy-DFXneXwc.js"),[]))},{id:"imba",name:"Imba",import:(()=>J(()=>import("./imba-DGztddWO.js"),[]))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>J(()=>import("./ini-BEwlwnbL.js"),[]))},{id:"java",name:"Java",import:(()=>J(()=>import("./java-CylS5w8V.js"),[]))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>J(()=>import("./javascript-wDzz0qaB.js"),[]))},{id:"jinja",name:"Jinja",import:(()=>J(()=>import("./jinja-f2NsQr07.js"),__vite__mapDeps([59,1,2,3])))},{id:"jison",name:"Jison",import:(()=>J(()=>import("./jison-wvAkD_A8.js"),__vite__mapDeps([60,2])))},{id:"json",name:"JSON",import:(()=>J(()=>import("./json-Cp-IABpG.js"),[]))},{id:"json5",name:"JSON5",import:(()=>J(()=>import("./json5-C9tS-k6U.js"),[]))},{id:"jsonc",name:"JSON with Comments",import:(()=>J(()=>import("./jsonc-Des-eS-w.js"),[]))},{id:"jsonl",name:"JSON Lines",import:(()=>J(()=>import("./jsonl-DcaNXYhu.js"),[]))},{id:"jsonnet",name:"Jsonnet",import:(()=>J(()=>import("./jsonnet-DFQXde-d.js"),[]))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>J(()=>import("./jssm-C2t-YnRu.js"),[]))},{id:"jsx",name:"JSX",import:(()=>J(()=>import("./jsx-g9-lgVsj.js"),[]))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>J(()=>import("./julia-D7OTSIA_.js"),__vite__mapDeps([61,23,24,25,26,16,20,2,62])))},{id:"just",name:"Just",import:(()=>J(()=>import("./just-CUsbIsdP.js"),__vite__mapDeps([63,28,2,11,64,1,3,7,8,16,20,33,34,35,36,13,23,24,25,26,37,38])))},{id:"kdl",name:"KDL",import:(()=>J(()=>import("./kdl-DV7GczEv.js"),[]))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>J(()=>import("./kotlin-BdnUsdx6.js"),[]))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>J(()=>import("./kusto-wEQ09or8.js"),[]))},{id:"latex",name:"LaTeX",import:(()=>J(()=>import("./latex-CaSxy8MP.js"),__vite__mapDeps([65,66,62])))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>J(()=>import("./lean-BZvkOJ9d.js"),[]))},{id:"less",name:"Less",import:(()=>J(()=>import("./less-B1dDrJ26.js"),[]))},{id:"liquid",name:"Liquid",import:(()=>J(()=>import("./liquid-C0sCDyMI.js"),__vite__mapDeps([67,1,2,3,9])))},{id:"llvm",name:"LLVM IR",import:(()=>J(()=>import("./llvm-DjAJT7YJ.js"),[]))},{id:"log",name:"Log file",import:(()=>J(()=>import("./log-2UxHyX5q.js"),[]))},{id:"logo",name:"Logo",import:(()=>J(()=>import("./logo-BtOb2qkB.js"),[]))},{id:"lua",name:"Lua",import:(()=>J(()=>import("./lua-BaeVxFsk.js"),__vite__mapDeps([37,26])))},{id:"luau",name:"Luau",import:(()=>J(()=>import("./luau-KW6xsasC.js"),[]))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>J(()=>import("./make-CHLpvVh8.js"),[]))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>J(()=>import("./markdown-Cvjx9yec.js"),[]))},{id:"marko",name:"Marko",import:(()=>J(()=>import("./marko-DjSrsDqO.js"),__vite__mapDeps([68,3,69,5,11])))},{id:"matlab",name:"MATLAB",import:(()=>J(()=>import("./matlab-D7o27uSR.js"),[]))},{id:"mdc",name:"MDC",import:(()=>J(()=>import("./mdc-DTYItulj.js"),__vite__mapDeps([70,40,38,15,1,2,3])))},{id:"mdx",name:"MDX",import:(()=>J(()=>import("./mdx-Cmh6b_Ma.js"),[]))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>J(()=>import("./mermaid-mWjccvbQ.js"),[]))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>J(()=>import("./mipsasm-CKIfxQSi.js"),[]))},{id:"mojo",name:"Mojo",import:(()=>J(()=>import("./mojo-rZm6bMo-.js"),[]))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>J(()=>import("./moonbit-_H4v1dQx.js"),[]))},{id:"move",name:"Move",import:(()=>J(()=>import("./move-IF9eRakj.js"),[]))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>J(()=>import("./narrat-DRg8JJMk.js"),[]))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>J(()=>import("./nextflow-C-mBbutL.js"),__vite__mapDeps([71,72])))},{id:"nextflow-groovy",name:"Nextflow Groovy",import:(()=>J(()=>import("./nextflow-groovy-vE_lwT2v.js"),[]))},{id:"nginx",name:"Nginx",import:(()=>J(()=>import("./nginx-BpAMiNFr.js"),__vite__mapDeps([73,37,26])))},{id:"nim",name:"Nim",import:(()=>J(()=>import("./nim-BIad80T-.js"),__vite__mapDeps([74,26,1,2,3,7,8,25,40])))},{id:"nix",name:"Nix",import:(()=>J(()=>import("./nix-CwoSXNpI.js"),[]))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>J(()=>import("./nushell-Cz2AlsmD.js"),[]))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>J(()=>import("./objective-c-DXmwc3jG.js"),[]))},{id:"objective-cpp",name:"Objective-C++",import:(()=>J(()=>import("./objective-cpp-CLxacb5B.js"),[]))},{id:"ocaml",name:"OCaml",import:(()=>J(()=>import("./ocaml-C0hk2d4L.js"),[]))},{id:"odin",name:"Odin",import:(()=>J(()=>import("./odin-BBf5iR-q.js"),[]))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>J(()=>import("./openscad-C4EeE6gA.js"),[]))},{id:"pascal",name:"Pascal",import:(()=>J(()=>import("./pascal-D93ZcfNL.js"),[]))},{id:"perl",name:"Perl",import:(()=>J(()=>import("./perl-B9cMNwum.js"),__vite__mapDeps([64,1,2,3,7,8,16])))},{id:"php",name:"PHP",import:(()=>J(()=>import("./php-Csjmro_R.js"),__vite__mapDeps([75,1,2,3,7,8,16,9])))},{id:"pkl",name:"Pkl",import:(()=>J(()=>import("./pkl-u5AG7uiY.js"),[]))},{id:"plsql",name:"PL/SQL",import:(()=>J(()=>import("./plsql-ChMvpjG-.js"),[]))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>J(()=>import("./po-BTJTHyun.js"),[]))},{id:"polar",name:"Polar",import:(()=>J(()=>import("./polar-C0HS_06l.js"),[]))},{id:"postcss",name:"PostCSS",import:(()=>J(()=>import("./postcss-CXtECtnM.js"),[]))},{id:"powerquery",name:"PowerQuery",import:(()=>J(()=>import("./powerquery-CEu0bR-o.js"),[]))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>J(()=>import("./powershell-Dpen1YoG.js"),[]))},{id:"prisma",name:"Prisma",import:(()=>J(()=>import("./prisma-Dd19v3D-.js"),[]))},{id:"prolog",name:"Prolog",import:(()=>J(()=>import("./prolog-CbFg5uaA.js"),[]))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>J(()=>import("./proto-C7zT0LnQ.js"),[]))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>J(()=>import("./pug-DKIMFp6K.js"),__vite__mapDeps([76,2,3,1])))},{id:"puppet",name:"Puppet",import:(()=>J(()=>import("./puppet-BMWR74SV.js"),[]))},{id:"purescript",name:"PureScript",import:(()=>J(()=>import("./purescript-CklMAg4u.js"),[]))},{id:"python",name:"Python",aliases:["py"],import:(()=>J(()=>import("./python-B6aJPvgy.js"),[]))},{id:"qml",name:"QML",import:(()=>J(()=>import("./qml-3beO22l8.js"),__vite__mapDeps([77,2])))},{id:"qmldir",name:"QML Directory",import:(()=>J(()=>import("./qmldir-C8lEn-DE.js"),[]))},{id:"qss",name:"Qt Style Sheets",import:(()=>J(()=>import("./qss-IeuSbFQv.js"),[]))},{id:"r",name:"R",import:(()=>J(()=>import("./r-Dspwwk_N.js"),[]))},{id:"racket",name:"Racket",import:(()=>J(()=>import("./racket-BqYA7rlc.js"),[]))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>J(()=>import("./raku-DXvB9xmW.js"),[]))},{id:"razor",name:"ASP.NET Razor",import:(()=>J(()=>import("./razor-BjBPvh-w.js"),__vite__mapDeps([78,1,2,3,79])))},{id:"reg",name:"Windows Registry Script",import:(()=>J(()=>import("./reg-C-SQnVFl.js"),[]))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>J(()=>import("./regexp-CDVJQ6XC.js"),[]))},{id:"rel",name:"Rel",import:(()=>J(()=>import("./rel-C3B-1QV4.js"),[]))},{id:"riscv",name:"RISC-V",import:(()=>J(()=>import("./riscv-BM1_JUlF.js"),[]))},{id:"ron",name:"RON",import:(()=>J(()=>import("./ron-D8l8udqQ.js"),[]))},{id:"rosmsg",name:"ROS Interface",import:(()=>J(()=>import("./rosmsg-BJDFO7_C.js"),[]))},{id:"rst",name:"reStructuredText",import:(()=>J(()=>import("./rst-CpCqk9r5.js"),__vite__mapDeps([80,15,1,2,3,23,24,25,26,16,20,28,38,81,33,34,7,8,35,11,36,13,37])))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>J(()=>import("./ruby-DyJCeAvU.js"),__vite__mapDeps([33,1,2,3,34,7,8,16,35,11,36,13,23,24,25,26,28,37,38])))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>J(()=>import("./rust-B1yitclQ.js"),[]))},{id:"sas",name:"SAS",import:(()=>J(()=>import("./sas-DEy46yEz.js"),__vite__mapDeps([82,16])))},{id:"sass",name:"Sass",import:(()=>J(()=>import("./sass-Cj5Yp3dK.js"),[]))},{id:"scala",name:"Scala",import:(()=>J(()=>import("./scala-C151Ov-r.js"),[]))},{id:"scheme",name:"Scheme",import:(()=>J(()=>import("./scheme-C98Dy4si.js"),[]))},{id:"scss",name:"SCSS",import:(()=>J(()=>import("./scss-D5BDwBP9.js"),__vite__mapDeps([5,3])))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>J(()=>import("./sdbl-DVxCFoDh.js"),[]))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>J(()=>import("./shaderlab-Dg9Lc6iA.js"),__vite__mapDeps([83,84])))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>J(()=>import("./shellscript-Yzrsuije.js"),[]))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>J(()=>import("./shellsession-BADoaaVG.js"),__vite__mapDeps([85,28])))},{id:"smalltalk",name:"Smalltalk",import:(()=>J(()=>import("./smalltalk-BERRCDM3.js"),[]))},{id:"solidity",name:"Solidity",import:(()=>J(()=>import("./solidity-rGO070M0.js"),[]))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>J(()=>import("./soy-8wufbnw4.js"),__vite__mapDeps([86,1,2,3])))},{id:"sparql",name:"SPARQL",import:(()=>J(()=>import("./sparql-rVzFXLq3.js"),__vite__mapDeps([87,88])))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>J(()=>import("./splunk-BtCnVYZw.js"),[]))},{id:"sql",name:"SQL",import:(()=>J(()=>import("./sql-CRqJ_cUM.js"),[]))},{id:"ssh-config",name:"SSH Config",import:(()=>J(()=>import("./ssh-config-_ykCGR6B.js"),[]))},{id:"stata",name:"Stata",import:(()=>J(()=>import("./stata-DI20mbqo.js"),__vite__mapDeps([89,16])))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>J(()=>import("./stylus-BEDo0Tqx.js"),[]))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>J(()=>import("./surrealql-Bq5Q-fJD.js"),__vite__mapDeps([90,2])))},{id:"svelte",name:"Svelte",import:(()=>J(()=>import("./svelte-Cy7k_4gC.js"),__vite__mapDeps([91,2,11,3,12])))},{id:"swift",name:"Swift",import:(()=>J(()=>import("./swift-D82vCrfD.js"),[]))},{id:"system-verilog",name:"SystemVerilog",import:(()=>J(()=>import("./system-verilog-CnnmHF94.js"),[]))},{id:"systemd",name:"Systemd Units",import:(()=>J(()=>import("./systemd-4A_iFExJ.js"),[]))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>J(()=>import("./talonscript-CkByrt1z.js"),[]))},{id:"tasl",name:"Tasl",import:(()=>J(()=>import("./tasl-QIJgUcNo.js"),[]))},{id:"tcl",name:"Tcl",import:(()=>J(()=>import("./tcl-dwOrl1Do.js"),[]))},{id:"templ",name:"Templ",import:(()=>J(()=>import("./templ-DhtptRzy.js"),__vite__mapDeps([92,93,2,3])))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>J(()=>import("./terraform-BETggiCN.js"),[]))},{id:"tex",name:"TeX",import:(()=>J(()=>import("./tex-idrVyKtj.js"),__vite__mapDeps([66,62])))},{id:"toml",name:"TOML",import:(()=>J(()=>import("./toml-vGWfd6FD.js"),[]))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>J(()=>import("./ts-tags-D351s5mN.js"),__vite__mapDeps([94,11,3,2,25,26,1,16,7,8])))},{id:"tsv",name:"TSV",import:(()=>J(()=>import("./tsv-B_m7g4N7.js"),[]))},{id:"tsx",name:"TSX",import:(()=>J(()=>import("./tsx-COt5Ahok.js"),[]))},{id:"turtle",name:"Turtle",import:(()=>J(()=>import("./turtle-BsS91CYL.js"),[]))},{id:"twig",name:"Twig",import:(()=>J(()=>import("./twig-CW1WmMYd.js"),__vite__mapDeps([95,3,2,5,75,1,7,8,16,9,20,33,34,35,11,36,13,23,24,25,26,28,37,38])))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>J(()=>import("./typescript-BPQ3VLAy.js"),[]))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>J(()=>import("./typespec-CAFt9gP4.js"),[]))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>J(()=>import("./typst-DHCkPAjA.js"),[]))},{id:"v",name:"V",import:(()=>J(()=>import("./v-BcVCzyr7.js"),[]))},{id:"vala",name:"Vala",import:(()=>J(()=>import("./vala-CsfeWuGM.js"),[]))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>J(()=>import("./vb-D17OF-Vu.js"),[]))},{id:"verilog",name:"Verilog",import:(()=>J(()=>import("./verilog-BQ8w6xss.js"),[]))},{id:"vhdl",name:"VHDL",import:(()=>J(()=>import("./vhdl-CeAyd5Ju.js"),[]))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>J(()=>import("./viml-CJc9bBzg.js"),[]))},{id:"vue",name:"Vue",import:(()=>J(()=>import("./vue-D2xRrEX4.js"),__vite__mapDeps([96,3,2,11,9,1,15])))},{id:"vue-html",name:"Vue HTML",import:(()=>J(()=>import("./vue-html-AaS7Mt5G.js"),__vite__mapDeps([97,2])))},{id:"vue-vine",name:"Vue Vine",import:(()=>J(()=>import("./vue-vine-BoDAl6tE.js"),__vite__mapDeps([98,3,5,69,99,12,2])))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>J(()=>import("./vyper-CDx5xZoG.js"),[]))},{id:"wasm",name:"WebAssembly",import:(()=>J(()=>import("./wasm-MzD3tlZU.js"),[]))},{id:"wenyan",name:"Wenyan",aliases:["文言"],import:(()=>J(()=>import("./wenyan-BV7otONQ.js"),[]))},{id:"wgsl",name:"WGSL",import:(()=>J(()=>import("./wgsl-Dx-B1_4e.js"),[]))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>J(()=>import("./wikitext-BhOHFoWU.js"),[]))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>J(()=>import("./wit-5i3qLPDT.js"),[]))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>J(()=>import("./wolfram-lXgVvXCa.js"),[]))},{id:"xml",name:"XML",import:(()=>J(()=>import("./xml-sdJ4AIDG.js"),__vite__mapDeps([7,8])))},{id:"xsl",name:"XSL",import:(()=>J(()=>import("./xsl-CtQFsRM5.js"),__vite__mapDeps([100,7,8])))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>J(()=>import("./yaml-Buea-lGh.js"),[]))},{id:"zenscript",name:"ZenScript",import:(()=>J(()=>import("./zenscript-DVFEvuxE.js"),[]))},{id:"zig",name:"Zig",import:(()=>J(()=>import("./zig-VOosw3JB.js"),[]))}],vg=Object.fromEntries(_d.map(e=>[e.id,e.import])),_g=Object.fromEntries(_d.flatMap(e=>{var t;return((t=e.aliases)==null?void 0:t.map(n=>[n,e.import]))||[]})),Sd={...vg,..._g},Sg=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>J(()=>import("./andromeeda-C4gqWexZ.js"),[]))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>J(()=>import("./aurora-x-D-2ljcwZ.js"),[]))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>J(()=>import("./ayu-dark-DYE7WIF3.js"),[]))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>J(()=>import("./ayu-light-BA47KaF1.js"),[]))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>J(()=>import("./ayu-mirage-32ctXXKs.js"),[]))},{id:"catppuccin-frappe",displayName:"Catppuccin Frappé",type:"dark",import:(()=>J(()=>import("./catppuccin-frappe-DFWUc33u.js"),[]))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>J(()=>import("./catppuccin-latte-C9dUb6Cb.js"),[]))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>J(()=>import("./catppuccin-macchiato-DQyhUUbL.js"),[]))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>J(()=>import("./catppuccin-mocha-D87Tk5Gz.js"),[]))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>J(()=>import("./dark-plus-C3mMm8J8.js"),[]))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>J(()=>import("./dracula-BzJJZx-M.js"),[]))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>J(()=>import("./dracula-soft-BXkSAIEj.js"),[]))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>J(()=>import("./everforest-dark-BgDCqdQA.js"),[]))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>J(()=>import("./everforest-light-C8M2exoo.js"),[]))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>J(()=>import("./github-dark-DHJKELXO.js"),[]))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>J(()=>import("./github-dark-default-Cuk6v7N8.js"),[]))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>J(()=>import("./github-dark-dimmed-DH5Ifo-i.js"),[]))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>J(()=>import("./github-dark-high-contrast-E3gJ1_iC.js"),[]))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>J(()=>import("./github-light-DAi9KRSo.js"),[]))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>J(()=>import("./github-light-default-D7oLnXFd.js"),[]))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>J(()=>import("./github-light-high-contrast-BfjtVDDH.js"),[]))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>J(()=>import("./gruvbox-dark-hard-CFHQjOhq.js"),[]))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>J(()=>import("./gruvbox-dark-medium-GsRaNv29.js"),[]))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>J(()=>import("./gruvbox-dark-soft-CVdnzihN.js"),[]))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>J(()=>import("./gruvbox-light-hard-CH1njM8p.js"),[]))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>J(()=>import("./gruvbox-light-medium-DRw_LuNl.js"),[]))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>J(()=>import("./gruvbox-light-soft-hJgmCMqR.js"),[]))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>J(()=>import("./horizon-BUw7H-hv.js"),[]))},{id:"horizon-bright",displayName:"Horizon Bright",type:"light",import:(()=>J(()=>import("./horizon-bright-CUuTKBJd.js"),[]))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>J(()=>import("./houston-DnULxvSX.js"),[]))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>J(()=>import("./kanagawa-dragon-CkXjmgJE.js"),[]))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>J(()=>import("./kanagawa-lotus-CfQXZHmo.js"),[]))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>J(()=>import("./kanagawa-wave-DWedfzmr.js"),[]))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>J(()=>import("./laserwave-DUszq2jm.js"),[]))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>J(()=>import("./light-plus-B7mTdjB0.js"),[]))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>J(()=>import("./material-theme-D5KoaKCx.js"),[]))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>J(()=>import("./material-theme-darker-BfHTSMKl.js"),[]))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>J(()=>import("./material-theme-lighter-B0m2ddpp.js"),[]))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>J(()=>import("./material-theme-ocean-CyktbL80.js"),[]))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>J(()=>import("./material-theme-palenight-Csfq5Kiy.js"),[]))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>J(()=>import("./min-dark-CafNBF8u.js"),[]))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>J(()=>import("./min-light-CTRr51gU.js"),[]))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>J(()=>import("./monokai-D4h5O-jR.js"),[]))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>J(()=>import("./night-owl-C39BiMTA.js"),[]))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>J(()=>import("./night-owl-light-CMTm3GFP.js"),[]))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>J(()=>import("./nord-Ddv68eIx.js"),[]))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>J(()=>import("./one-dark-pro-DVMEJ2y_.js"),[]))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>J(()=>import("./one-light-C3Wv6jpd.js"),[]))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>J(()=>import("./plastic-3e1v2bzS.js"),[]))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>J(()=>import("./poimandres-CS3Unz2-.js"),[]))},{id:"red",displayName:"Red",type:"dark",import:(()=>J(()=>import("./red-bN70gL4F.js"),[]))},{id:"rose-pine",displayName:"Rosé Pine",type:"dark",import:(()=>J(()=>import("./rose-pine-qdsjHGoJ.js"),[]))},{id:"rose-pine-dawn",displayName:"Rosé Pine Dawn",type:"light",import:(()=>J(()=>import("./rose-pine-dawn-DHQR4-dF.js"),[]))},{id:"rose-pine-moon",displayName:"Rosé Pine Moon",type:"dark",import:(()=>J(()=>import("./rose-pine-moon-D4_iv3hh.js"),[]))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>J(()=>import("./slack-dark-BthQWCQV.js"),[]))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>J(()=>import("./slack-ochin-DqwNpetd.js"),[]))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>J(()=>import("./snazzy-light-Bw305WKR.js"),[]))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>J(()=>import("./solarized-dark-DXbdFlpD.js"),[]))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>J(()=>import("./solarized-light-L9t79GZl.js"),[]))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>J(()=>import("./synthwave-84-CbfX1IO0.js"),[]))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>J(()=>import("./tokyo-night-hegEt444.js"),[]))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>J(()=>import("./vesper-DRje8inN.js"),[]))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>J(()=>import("./vitesse-black-Bkuqu6BP.js"),[]))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>J(()=>import("./vitesse-dark-D0r3Knsf.js"),[]))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>J(()=>import("./vitesse-light-CVO1_9PV.js"),[]))}],wg=Object.fromEntries(Sg.map(e=>[e.id,e.import]));var Cg=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function EI(){return 2147483648}function jI(){return typeof performance<"u"?performance.now():Date.now()}const NI=(e,t)=>e+(t-e%t)%t;async function TI(e){let t,n;const r={};function a(y){n=y,r.HEAPU8=new Uint8Array(y),r.HEAPU32=new Uint32Array(y)}function l(y,w,C){r.HEAPU8.copyWithin(y,w,w+C)}function u(y){try{return t.grow(y-n.byteLength+65535>>>16),a(t.buffer),1}catch{}}function c(y){const w=r.HEAPU8.length;y=y>>>0;const C=EI();if(y>C)return!1;for(let _=1;_<=4;_*=2){let S=w*(1+.2/_);S=Math.min(S,y+100663296);const v=Math.min(C,NI(Math.max(y,S),65536));if(u(v))return!0}return!1}const d=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function f(y,w,C=1024){const _=w+C;let S=w;for(;y[S]&&!(S>=_);)++S;if(S-w>16&&y.buffer&&d)return d.decode(y.subarray(w,S));let v="";for(;w<S;){let b=y[w++];if(!(b&128)){v+=String.fromCharCode(b);continue}const E=y[w++]&63;if((b&224)===192){v+=String.fromCharCode((b&31)<<6|E);continue}const j=y[w++]&63;if((b&240)===224?b=(b&15)<<12|E<<6|j:b=(b&7)<<18|E<<12|j<<6|y[w++]&63,b<65536)v+=String.fromCharCode(b);else{const T=b-65536;v+=String.fromCharCode(55296|T>>10,56320|T&1023)}}return v}function p(y,w){return y?f(r.HEAPU8,y,w):""}const m={emscripten_get_now:jI,emscripten_memcpy_big:l,emscripten_resize_heap:c,fd_write:()=>0};async function x(){const w=await e({env:m,wasi_snapshot_preview1:m});t=w.memory,a(t.buffer),Object.assign(r,w),r.UTF8ToString=p}return await x(),r}var AI=Object.defineProperty,LI=(e,t,n)=>t in e?AI(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,gn=(e,t,n)=>LI(e,typeof t!="symbol"?t+"":t,n);let Sn=null;function DI(e){throw new Cg(e.UTF8ToString(e.getLastOnigError()))}class wd{constructor(t){gn(this,"utf16Length"),gn(this,"utf8Length"),gn(this,"utf16Value"),gn(this,"utf8Value"),gn(this,"utf16OffsetToUtf8"),gn(this,"utf8OffsetToUtf16");const n=t.length,r=wd._utf8ByteLength(t),a=r!==n,l=a?new Uint32Array(n+1):null;a&&(l[n]=r);const u=a?new Uint32Array(r+1):null;a&&(u[r]=n);const c=new Uint8Array(r);let d=0;for(let f=0;f<n;f++){const p=t.charCodeAt(f);let m=p,x=!1;if(p>=55296&&p<=56319&&f+1<n){const y=t.charCodeAt(f+1);y>=56320&&y<=57343&&(m=(p-55296<<10)+65536|y-56320,x=!0)}a&&(l[f]=d,x&&(l[f+1]=d),m<=127?u[d+0]=f:m<=2047?(u[d+0]=f,u[d+1]=f):m<=65535?(u[d+0]=f,u[d+1]=f,u[d+2]=f):(u[d+0]=f,u[d+1]=f,u[d+2]=f,u[d+3]=f)),m<=127?c[d++]=m:m<=2047?(c[d++]=192|(m&1984)>>>6,c[d++]=128|(m&63)>>>0):m<=65535?(c[d++]=224|(m&61440)>>>12,c[d++]=128|(m&4032)>>>6,c[d++]=128|(m&63)>>>0):(c[d++]=240|(m&1835008)>>>18,c[d++]=128|(m&258048)>>>12,c[d++]=128|(m&4032)>>>6,c[d++]=128|(m&63)>>>0),x&&f++}this.utf16Length=n,this.utf8Length=r,this.utf16Value=t,this.utf8Value=c,this.utf16OffsetToUtf8=l,this.utf8OffsetToUtf16=u}static _utf8ByteLength(t){let n=0;for(let r=0,a=t.length;r<a;r++){const l=t.charCodeAt(r);let u=l,c=!1;if(l>=55296&&l<=56319&&r+1<a){const d=t.charCodeAt(r+1);d>=56320&&d<=57343&&(u=(l-55296<<10)+65536|d-56320,c=!0)}u<=127?n+=1:u<=2047?n+=2:u<=65535?n+=3:n+=4,c&&r++}return n}createString(t){const n=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,n),n}}const Cd=class Hr{constructor(t){if(gn(this,"id",++Hr.LAST_ID),gn(this,"_onigBinding"),gn(this,"content"),gn(this,"utf16Length"),gn(this,"utf8Length"),gn(this,"utf16OffsetToUtf8"),gn(this,"utf8OffsetToUtf16"),gn(this,"ptr"),!Sn)throw new Cg("Must invoke loadWasm first.");this._onigBinding=Sn,this.content=t;const n=new wd(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!Hr._sharedPtrInUse?(Hr._sharedPtr||(Hr._sharedPtr=Sn.omalloc(1e4)),Hr._sharedPtrInUse=!0,Sn.HEAPU8.set(n.utf8Value,Hr._sharedPtr),this.ptr=Hr._sharedPtr):this.ptr=n.createString(Sn)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===Hr._sharedPtr?Hr._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};gn(Cd,"LAST_ID",0);gn(Cd,"_sharedPtr",0);gn(Cd,"_sharedPtrInUse",!1);let nC=Cd;class RI{constructor(t){if(gn(this,"_onigBinding"),gn(this,"_ptr"),!Sn)throw new Cg("Must invoke loadWasm first.");const n=[],r=[];for(let c=0,d=t.length;c<d;c++){const f=new wd(t[c]);n[c]=f.createString(Sn),r[c]=f.utf8Length}const a=Sn.omalloc(4*t.length);Sn.HEAPU32.set(n,a/4);const l=Sn.omalloc(4*t.length);Sn.HEAPU32.set(r,l/4);const u=Sn.createOnigScanner(a,l,t.length);for(let c=0,d=t.length;c<d;c++)Sn.ofree(n[c]);Sn.ofree(l),Sn.ofree(a),u===0&&DI(Sn),this._onigBinding=Sn,this._ptr=u}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,n,r){let a=0;if(typeof r=="number"&&(a=r),typeof t=="string"){t=new nC(t);const l=this._findNextMatchSync(t,n,!1,a);return t.dispose(),l}return this._findNextMatchSync(t,n,!1,a)}_findNextMatchSync(t,n,r,a){const l=this._onigBinding,u=l.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(n),a);if(u===0)return null;const c=l.HEAPU32;let d=u/4;const f=c[d++],p=c[d++],m=[];for(let x=0;x<p;x++){const y=t.convertUtf8OffsetToUtf16(c[d++]),w=t.convertUtf8OffsetToUtf16(c[d++]);m[x]={start:y,end:w,length:w-y}}return{index:f,captureIndices:m}}}function OI(e){return typeof e.instantiator=="function"}function II(e){return typeof e.default=="function"}function MI(e){return typeof e.data<"u"}function PI(e){return typeof Response<"u"&&e instanceof Response}function BI(e){var t;return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&((t=Buffer.isBuffer)==null?void 0:t.call(Buffer,e))||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}let yu;function kg(e){if(yu)return yu;async function t(){Sn=await TI(async n=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(n)),typeof r=="function"&&(r=await r(n)),OI(r)?r=await r.instantiator(n):II(r)?r=await r.default(n):(MI(r)&&(r=r.data),PI(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await $I(r)(n):r=await zI(r)(n):BI(r)?r=await Lm(r)(n):r instanceof WebAssembly.Module?r=await Lm(r)(n):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await Lm(r.default)(n))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return yu=t(),yu}function Lm(e){return t=>WebAssembly.instantiate(e,t)}function $I(e){return t=>WebAssembly.instantiateStreaming(e,t)}function zI(e){return async t=>{const n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}let rC;function HI(e){rC=e}function UI(){return rC}async function sC(e){return e&&await kg(e),{createScanner(t){return new RI(t.map(n=>typeof n=="string"?n:n.source))},createString(t){return new nC(t)}}}const FI=Object.freeze(Object.defineProperty({__proto__:null,createOnigurumaEngine:sC,getDefaultWasmLoader:UI,loadWasm:kg,setDefaultWasmLoader:HI},Symbol.toStringTag,{value:"Module"}));var iC=bg({});tC(iC,FI);var $t=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function VI(e){return Eg(e)}function Eg(e){return Array.isArray(e)?GI(e):e instanceof RegExp?e:typeof e=="object"?WI(e):e}function GI(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=Eg(e[n]);return t}function WI(e){let t={};for(let n in e)t[n]=Eg(e[n]);return t}function aC(e,...t){return t.forEach(n=>{for(let r in n)e[r]=n[r]}),e}function oC(e){const t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?oC(e.substring(0,e.length-1)):e.substr(~t+1)}var Dm=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,bu=class{static hasCaptures(e){return e===null?!1:(Dm.lastIndex=0,Dm.test(e))}static replaceCaptures(e,t,n){return e.replace(Dm,(r,a,l,u)=>{let c=n[parseInt(a||l,10)];if(c){let d=t.substring(c.start,c.end);for(;d[0]===".";)d=d.substring(1);switch(u){case"downcase":return d.toLowerCase();case"upcase":return d.toUpperCase();default:return d}}else return r})}};function lC(e,t){return e<t?-1:e>t?1:0}function cC(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let a=0;a<n;a++){let l=lC(e[a],t[a]);if(l!==0)return l}return 0}return n-r}function A0(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function uC(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var dC=class{constructor(e){ve(this,"cache",new Map);this.fn=e}get(e){if(this.cache.has(e))return this.cache.get(e);const t=this.fn(e);return this.cache.set(e,t),t}},Gu=class{constructor(e,t,n){ve(this,"_cachedMatchRoot",new dC(e=>this._root.match(e)));this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(YI(e),t)}static createFromParsedTheme(e,t){return QI(e,t)}getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;const t=e.scopeName,r=this._cachedMatchRoot.get(t).find(a=>qI(e.parent,a.parentScopes));return r?new hC(r.fontStyle,r.foreground,r.background):null}},Rm=class Ou{constructor(t,n){this.parent=t,this.scopeName=n}static push(t,n){for(const r of n)t=new Ou(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new Ou(n,t[r]);return n}push(t){return new Ou(this,t)}getSegments(){let t=this;const n=[];for(;t;)n.push(t.scopeName),t=t.parent;return n.reverse(),n}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){const n=[];let r=this;for(;r&&r!==t;)n.push(r.scopeName),r=r.parent;return r===t?n.reverse():void 0}};function qI(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],a=!1;if(r===">"){if(n===t.length-1)return!1;r=t[++n],a=!0}for(;e&&!KI(e.scopeName,r);){if(a)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function KI(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var hC=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function YI(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let a=0,l=t.length;a<l;a++){let u=t[a];if(!u.settings)continue;let c;if(typeof u.scope=="string"){let m=u.scope;m=m.replace(/^[,]+/,""),m=m.replace(/[,]+$/,""),c=m.split(",")}else Array.isArray(u.scope)?c=u.scope:c=[""];let d=-1;if(typeof u.settings.fontStyle=="string"){d=0;let m=u.settings.fontStyle.split(" ");for(let x=0,y=m.length;x<y;x++)switch(m[x]){case"italic":d=d|1;break;case"bold":d=d|2;break;case"underline":d=d|4;break;case"strikethrough":d=d|8;break}}let f=null;typeof u.settings.foreground=="string"&&A0(u.settings.foreground)&&(f=u.settings.foreground);let p=null;typeof u.settings.background=="string"&&A0(u.settings.background)&&(p=u.settings.background);for(let m=0,x=c.length;m<x;m++){let w=c[m].trim().split(" "),C=w[w.length-1],_=null;w.length>1&&(_=w.slice(0,w.length-1),_.reverse()),n[r++]=new XI(C,_,a,d,f,p)}}return n}var XI=class{constructor(e,t,n,r,a,l){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=a,this.background=l}},Dn=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(Dn||{});function QI(e,t){e.sort((d,f)=>{let p=lC(d.scope,f.scope);return p!==0||(p=cC(d.parentScopes,f.parentScopes),p!==0)?p:d.index-f.index});let n=0,r="#000000",a="#ffffff";for(;e.length>=1&&e[0].scope==="";){let d=e.shift();d.fontStyle!==-1&&(n=d.fontStyle),d.foreground!==null&&(r=d.foreground),d.background!==null&&(a=d.background)}let l=new JI(t),u=new hC(n,l.getId(r),l.getId(a)),c=new e4(new vp(0,null,-1,0,0),[]);for(let d=0,f=e.length;d<f;d++){let p=e[d];c.insert(0,p.scope,p.parentScopes,p.fontStyle,l.getId(p.foreground),l.getId(p.background))}return new Gu(l,u,c)}var JI=class{constructor(e){ve(this,"_isFrozen");ve(this,"_lastColorId");ve(this,"_id2color");ve(this,"_color2id");if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},ZI=Object.freeze([]),vp=class fC{constructor(t,n,r,a,l){ve(this,"scopeDepth");ve(this,"parentScopes");ve(this,"fontStyle");ve(this,"foreground");ve(this,"background");this.scopeDepth=t,this.parentScopes=n||ZI,this.fontStyle=r,this.foreground=a,this.background=l}clone(){return new fC(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let n=[];for(let r=0,a=t.length;r<a;r++)n[r]=t[r].clone();return n}acceptOverwrite(t,n,r,a){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),r!==0&&(this.foreground=r),a!==0&&(this.background=a)}},e4=class _p{constructor(t,n=[],r={}){ve(this,"_rulesWithParentScopes");this._mainRule=t,this._children=r,this._rulesWithParentScopes=n}static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let r=0,a=0;for(;t.parentScopes[r]===">"&&r++,n.parentScopes[a]===">"&&a++,!(r>=t.parentScopes.length||a>=n.parentScopes.length);){const l=n.parentScopes[a].length-t.parentScopes[r].length;if(l!==0)return l;r++,a++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),a,l;if(r===-1?(a=t,l=""):(a=t.substring(0,r),l=t.substring(r+1)),this._children.hasOwnProperty(a))return this._children[a].match(l)}const n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(_p._cmpBySpecificity),n}insert(t,n,r,a,l,u){if(n===""){this._doInsertHere(t,r,a,l,u);return}let c=n.indexOf("."),d,f;c===-1?(d=n,f=""):(d=n.substring(0,c),f=n.substring(c+1));let p;this._children.hasOwnProperty(d)?p=this._children[d]:(p=new _p(this._mainRule.clone(),vp.cloneArr(this._rulesWithParentScopes)),this._children[d]=p),p.insert(t+1,f,r,a,l,u)}_doInsertHere(t,n,r,a,l){if(n===null){this._mainRule.acceptOverwrite(t,r,a,l);return}for(let u=0,c=this._rulesWithParentScopes.length;u<c;u++){let d=this._rulesWithParentScopes[u];if(cC(d.parentScopes,n)===0){d.acceptOverwrite(t,r,a,l);return}}r===-1&&(r=this._mainRule.fontStyle),a===0&&(a=this._mainRule.foreground),l===0&&(l=this._mainRule.background),this._rulesWithParentScopes.push(new vp(t,n,r,a,l))}},Za=class br{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){const n=br.getLanguageId(t),r=br.getTokenType(t),a=br.getFontStyle(t),l=br.getForeground(t),u=br.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:a,foreground:l,background:u})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,r,a,l,u,c){let d=br.getLanguageId(t),f=br.getTokenType(t),p=br.containsBalancedBrackets(t)?1:0,m=br.getFontStyle(t),x=br.getForeground(t),y=br.getBackground(t);return n!==0&&(d=n),r!==8&&(f=r),a!==null&&(p=a?1:0),l!==-1&&(m=l),u!==0&&(x=u),c!==0&&(y=c),(d<<0|f<<8|p<<10|m<<11|x<<15|y<<24)>>>0}};function Wu(e,t){const n=[],r=t4(e);let a=r.next();for(;a!==null;){let d=0;if(a.length===2&&a.charAt(1)===":"){switch(a.charAt(0)){case"R":d=1;break;case"L":d=-1;break;default:console.log(`Unknown priority ${a} in scope selector`)}a=r.next()}let f=u();if(n.push({matcher:f,priority:d}),a!==",")break;a=r.next()}return n;function l(){if(a==="-"){a=r.next();const d=l();return f=>!!d&&!d(f)}if(a==="("){a=r.next();const d=c();return a===")"&&(a=r.next()),d}if(L0(a)){const d=[];do d.push(a),a=r.next();while(L0(a));return f=>t(d,f)}return null}function u(){const d=[];let f=l();for(;f;)d.push(f),f=l();return p=>d.every(m=>m(p))}function c(){const d=[];let f=u();for(;f&&(d.push(f),a==="|"||a===",");){do a=r.next();while(a==="|"||a===",");f=u()}return p=>d.some(m=>m(p))}}function L0(e){return!!e&&!!e.match(/[\w\.:]+/)}function t4(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;const r=n[0];return n=t.exec(e),r}}}function mC(e){typeof e.dispose=="function"&&e.dispose()}var Al=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},n4=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},r4=class{constructor(){ve(this,"_references",[]);ve(this,"_seenReferenceKeys",new Set);ve(this,"visitedRule",new Set)}get references(){return this._references}add(e){const t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},s4=class{constructor(e,t){ve(this,"seenFullScopeRequests",new Set);ve(this,"seenPartialScopeRequests",new Set);ve(this,"Q");this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Al(this.initialScopeName)]}processQueue(){const e=this.Q;this.Q=[];const t=new r4;for(const n of e)i4(n,this.initialScopeName,this.repo,t);for(const n of t.references)if(n instanceof Al){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function i4(e,t,n,r){const a=n.lookup(e.scopeName);if(!a){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}const l=n.lookup(t);e instanceof Al?Iu({baseGrammar:l,selfGrammar:a},r):Sp(e.ruleName,{baseGrammar:l,selfGrammar:a,repository:a.repository},r);const u=n.injections(e.scopeName);if(u)for(const c of u)r.add(new Al(c))}function Sp(e,t,n){if(t.repository&&t.repository[e]){const r=t.repository[e];qu([r],t,n)}}function Iu(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&qu(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&qu(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function qu(e,t,n){for(const r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);const a=r.repository?aC({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&qu(r.patterns,{...t,repository:a},n);const l=r.include;if(!l)continue;const u=pC(l);switch(u.kind){case 0:Iu({...t,selfGrammar:t.baseGrammar},n);break;case 1:Iu(t,n);break;case 2:Sp(u.ruleName,{...t,repository:a},n);break;case 3:case 4:const c=u.scopeName===t.selfGrammar.scopeName?t.selfGrammar:u.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(c){const d={baseGrammar:t.baseGrammar,selfGrammar:c,repository:a};u.kind===4?Sp(u.ruleName,d,n):Iu(d,n)}else u.kind===4?n.add(new n4(u.scopeName,u.ruleName)):n.add(new Al(u.scopeName));break}}}var a4=class{constructor(){ve(this,"kind",0)}},o4=class{constructor(){ve(this,"kind",1)}},l4=class{constructor(e){ve(this,"kind",2);this.ruleName=e}},c4=class{constructor(e){ve(this,"kind",3);this.scopeName=e}},u4=class{constructor(e,t){ve(this,"kind",4);this.scopeName=e,this.ruleName=t}};function pC(e){if(e==="$base")return new a4;if(e==="$self")return new o4;const t=e.indexOf("#");if(t===-1)return new c4(e);if(t===0)return new l4(e.substring(1));{const n=e.substring(0,t),r=e.substring(t+1);return new u4(n,r)}}var d4=/\\(\d+)/,D0=/\\(\d+)/g,h4=-1,gC=-2;var Vl=class{constructor(e,t,n,r){ve(this,"$location");ve(this,"id");ve(this,"_nameIsCapturing");ve(this,"_name");ve(this,"_contentNameIsCapturing");ve(this,"_contentName");this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=bu.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=bu.hasCaptures(this._contentName)}get debugName(){const e=this.$location?`${oC(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:bu.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:bu.replaceCaptures(this._contentName,e,t)}},f4=class extends Vl{constructor(t,n,r,a,l){super(t,n,r,a);ve(this,"retokenizeCapturedWithRuleId");this.retokenizeCapturedWithRuleId=l}dispose(){}collectPatterns(t,n){throw new Error("Not supported!")}compile(t,n){throw new Error("Not supported!")}compileAG(t,n,r,a){throw new Error("Not supported!")}},m4=class extends Vl{constructor(t,n,r,a,l){super(t,n,r,null);ve(this,"_match");ve(this,"captures");ve(this,"_cachedCompiledPatterns");this._match=new Ll(a,this.id),this.captures=l,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(t,n){n.push(this._match)}compile(t,n){return this._getCachedCompiledPatterns(t).compile(t)}compileAG(t,n,r,a){return this._getCachedCompiledPatterns(t).compileAG(t,r,a)}_getCachedCompiledPatterns(t){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Dl,this.collectPatterns(t,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},R0=class extends Vl{constructor(t,n,r,a,l){super(t,n,r,a);ve(this,"hasMissingPatterns");ve(this,"patterns");ve(this,"_cachedCompiledPatterns");this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(t,n){for(const r of this.patterns)t.getRule(r).collectPatterns(t,n)}compile(t,n){return this._getCachedCompiledPatterns(t).compile(t)}compileAG(t,n,r,a){return this._getCachedCompiledPatterns(t).compileAG(t,r,a)}_getCachedCompiledPatterns(t){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Dl,this.collectPatterns(t,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},wp=class extends Vl{constructor(t,n,r,a,l,u,c,d,f,p){super(t,n,r,a);ve(this,"_begin");ve(this,"beginCaptures");ve(this,"_end");ve(this,"endHasBackReferences");ve(this,"endCaptures");ve(this,"applyEndPatternLast");ve(this,"hasMissingPatterns");ve(this,"patterns");ve(this,"_cachedCompiledPatterns");this._begin=new Ll(l,this.id),this.beginCaptures=u,this._end=new Ll(c||"",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=d,this.applyEndPatternLast=f||!1,this.patterns=p.patterns,this.hasMissingPatterns=p.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(t,n){return this._end.resolveBackReferences(t,n)}collectPatterns(t,n){n.push(this._begin)}compile(t,n){return this._getCachedCompiledPatterns(t,n).compile(t)}compileAG(t,n,r,a){return this._getCachedCompiledPatterns(t,n).compileAG(t,r,a)}_getCachedCompiledPatterns(t,n){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Dl;for(const r of this.patterns)t.getRule(r).collectPatterns(t,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,n):this._cachedCompiledPatterns.setSource(0,n)),this._cachedCompiledPatterns}},Ku=class extends Vl{constructor(t,n,r,a,l,u,c,d,f){super(t,n,r,a);ve(this,"_begin");ve(this,"beginCaptures");ve(this,"whileCaptures");ve(this,"_while");ve(this,"whileHasBackReferences");ve(this,"hasMissingPatterns");ve(this,"patterns");ve(this,"_cachedCompiledPatterns");ve(this,"_cachedCompiledWhilePatterns");this._begin=new Ll(l,this.id),this.beginCaptures=u,this.whileCaptures=d,this._while=new Ll(c,gC),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=f.patterns,this.hasMissingPatterns=f.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(t,n){return this._while.resolveBackReferences(t,n)}collectPatterns(t,n){n.push(this._begin)}compile(t,n){return this._getCachedCompiledPatterns(t).compile(t)}compileAG(t,n,r,a){return this._getCachedCompiledPatterns(t).compileAG(t,r,a)}_getCachedCompiledPatterns(t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Dl;for(const n of this.patterns)t.getRule(n).collectPatterns(t,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(t,n){return this._getCachedCompiledWhilePatterns(t,n).compile(t)}compileWhileAG(t,n,r,a){return this._getCachedCompiledWhilePatterns(t,n).compileAG(t,r,a)}_getCachedCompiledWhilePatterns(t,n){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Dl,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,n||""),this._cachedCompiledWhilePatterns}},xC=class Ln{static createCaptureRule(t,n,r,a,l){return t.registerRule(u=>new f4(n,u,r,a,l))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(a=>{if(t.id=a,t.match)return new m4(t.$vscodeTextmateLocation,t.id,t.name,t.match,Ln._compileCaptures(t.captures,n,r));if(typeof t.begin>"u"){t.repository&&(r=aC({},r,t.repository));let l=t.patterns;return typeof l>"u"&&t.include&&(l=[{include:t.include}]),new R0(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Ln._compilePatterns(l,n,r))}return t.while?new Ku(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Ln._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,Ln._compileCaptures(t.whileCaptures||t.captures,n,r),Ln._compilePatterns(t.patterns,n,r)):new wp(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Ln._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,Ln._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,Ln._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let a=[];if(t){let l=0;for(const u in t){if(u==="$vscodeTextmateLocation")continue;const c=parseInt(u,10);c>l&&(l=c)}for(let u=0;u<=l;u++)a[u]=null;for(const u in t){if(u==="$vscodeTextmateLocation")continue;const c=parseInt(u,10);let d=0;t[u].patterns&&(d=Ln.getCompiledRuleId(t[u],n,r)),a[c]=Ln.createCaptureRule(n,t[u].$vscodeTextmateLocation,t[u].name,t[u].contentName,d)}}return a}static _compilePatterns(t,n,r){let a=[];if(t)for(let l=0,u=t.length;l<u;l++){const c=t[l];let d=-1;if(c.include){const f=pC(c.include);switch(f.kind){case 0:case 1:d=Ln.getCompiledRuleId(r[c.include],n,r);break;case 2:let p=r[f.ruleName];p&&(d=Ln.getCompiledRuleId(p,n,r));break;case 3:case 4:const m=f.scopeName,x=f.kind===4?f.ruleName:null,y=n.getExternalGrammar(m,r);if(y)if(x){let w=y.repository[x];w&&(d=Ln.getCompiledRuleId(w,n,y.repository))}else d=Ln.getCompiledRuleId(y.repository.$self,n,y.repository);break}}else d=Ln.getCompiledRuleId(c,n,r);if(d!==-1){const f=n.getRule(d);let p=!1;if((f instanceof R0||f instanceof wp||f instanceof Ku)&&f.hasMissingPatterns&&f.patterns.length===0&&(p=!0),p)continue;a.push(d)}}return{patterns:a,hasMissingPatterns:(t?t.length:0)!==a.length}}},Ll=class yC{constructor(t,n){ve(this,"source");ve(this,"ruleId");ve(this,"hasAnchor");ve(this,"hasBackReferences");ve(this,"_anchorCache");if(t&&typeof t=="string"){const r=t.length;let a=0,l=[],u=!1;for(let c=0;c<r;c++)if(t.charAt(c)==="\\"&&c+1<r){const f=t.charAt(c+1);f==="z"?(l.push(t.substring(a,c)),l.push("$(?!\\n)(?<!\\n)"),a=c+2):(f==="A"||f==="G")&&(u=!0),c++}this.hasAnchor=u,a===0?this.source=t:(l.push(t.substring(a,r)),this.source=l.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=n,typeof this.source=="string"?this.hasBackReferences=d4.test(this.source):this.hasBackReferences=!1}clone(){return new yC(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,n){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let r=n.map(a=>t.substring(a.start,a.end));return D0.lastIndex=0,this.source.replace(D0,(a,l)=>uC(r[parseInt(l,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],r=[],a=[],l,u,c,d;for(l=0,u=this.source.length;l<u;l++)c=this.source.charAt(l),t[l]=c,n[l]=c,r[l]=c,a[l]=c,c==="\\"&&l+1<u&&(d=this.source.charAt(l+1),d==="A"?(t[l+1]="",n[l+1]="",r[l+1]="A",a[l+1]="A"):d==="G"?(t[l+1]="",n[l+1]="G",r[l+1]="",a[l+1]="G"):(t[l+1]=d,n[l+1]=d,r[l+1]=d,a[l+1]=d),l++);return{A0_G0:t.join(""),A0_G1:n.join(""),A1_G0:r.join(""),A1_G1:a.join("")}}resolveAnchors(t,n){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?n?this._anchorCache.A1_G1:this._anchorCache.A1_G0:n?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Dl=class{constructor(){ve(this,"_items");ve(this,"_hasAnchors");ve(this,"_cached");ve(this,"_anchorCache");this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(n=>n.source);this._cached=new O0(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let r=this._items.map(a=>a.resolveAnchors(t,n));return new O0(e,r,this._items.map(a=>a.ruleId))}},O0=class{constructor(e,t,n){ve(this,"scanner");this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){const e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
|
|
127
|
-
`)}findNextMatchSync(e,t,n){const r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Om=class{constructor(e,t){this.languageId=e,this.tokenType=t}},bs,p4=(bs=class{constructor(t,n){ve(this,"_defaultAttributes");ve(this,"_embeddedLanguagesMatcher");ve(this,"_getBasicScopeAttributes",new dC(t=>{const n=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Om(n,r)}));this._defaultAttributes=new Om(t,8),this._embeddedLanguagesMatcher=new g4(Object.entries(n||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?bs._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){const n=t.match(bs.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}},ve(bs,"_NULL_SCOPE_METADATA",new Om(0,0)),ve(bs,"STANDARD_TOKEN_TYPE_REGEXP",/\b(comment|string|regex|meta\.embedded)\b/),bs),g4=class{constructor(e){ve(this,"values");ve(this,"scopesRegExp");if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);const t=e.map(([n,r])=>uC(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;const t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},I0=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function bC(e,t,n,r,a,l,u,c){const d=t.content.length;let f=!1,p=-1;if(u){const y=x4(e,t,n,r,a,l);a=y.stack,r=y.linePos,n=y.isFirstLine,p=y.anchorPosition}const m=Date.now();for(;!f;){if(c!==0&&Date.now()-m>c)return new I0(a,!0);x()}return new I0(a,!1);function x(){const y=y4(e,t,n,r,a,p);if(!y){l.produce(a,d),f=!0;return}const w=y.captureIndices,C=y.matchedRuleId,_=w&&w.length>0?w[0].end>r:!1;if(C===h4){const S=a.getRule(e);l.produce(a,w[0].start),a=a.withContentNameScopesList(a.nameScopesList),gl(e,t,n,a,l,S.endCaptures,w),l.produce(a,w[0].end);const v=a;if(a=a.parent,p=v.getAnchorPos(),!_&&v.getEnterPos()===r){a=v,l.produce(a,d),f=!0;return}}else{const S=e.getRule(C);l.produce(a,w[0].start);const v=a,b=S.getName(t.content,w),E=a.contentNameScopesList.pushAttributed(b,e);if(a=a.push(C,r,p,w[0].end===d,null,E,E),S instanceof wp){const j=S;gl(e,t,n,a,l,j.beginCaptures,w),l.produce(a,w[0].end),p=w[0].end;const T=j.getContentName(t.content,w),D=E.pushAttributed(T,e);if(a=a.withContentNameScopesList(D),j.endHasBackReferences&&(a=a.withEndRule(j.getEndWithResolvedBackReferences(t.content,w))),!_&&v.hasSameRuleAs(a)){a=a.pop(),l.produce(a,d),f=!0;return}}else if(S instanceof Ku){const j=S;gl(e,t,n,a,l,j.beginCaptures,w),l.produce(a,w[0].end),p=w[0].end;const T=j.getContentName(t.content,w),D=E.pushAttributed(T,e);if(a=a.withContentNameScopesList(D),j.whileHasBackReferences&&(a=a.withEndRule(j.getWhileWithResolvedBackReferences(t.content,w))),!_&&v.hasSameRuleAs(a)){a=a.pop(),l.produce(a,d),f=!0;return}}else if(gl(e,t,n,a,l,S.captures,w),l.produce(a,w[0].end),a=a.pop(),!_){a=a.safePop(),l.produce(a,d),f=!0;return}}w[0].end>r&&(r=w[0].end,n=!1)}}function x4(e,t,n,r,a,l){let u=a.beginRuleCapturedEOL?0:-1;const c=[];for(let d=a;d;d=d.pop()){const f=d.getRule(e);f instanceof Ku&&c.push({rule:f,stack:d})}for(let d=c.pop();d;d=c.pop()){const{ruleScanner:f,findOptions:p}=_4(d.rule,e,d.stack.endRule,n,r===u),m=f.findNextMatchSync(t,r,p);if(m){if(m.ruleId!==gC){a=d.stack.pop();break}m.captureIndices&&m.captureIndices.length&&(l.produce(d.stack,m.captureIndices[0].start),gl(e,t,n,d.stack,l,d.rule.whileCaptures,m.captureIndices),l.produce(d.stack,m.captureIndices[0].end),u=m.captureIndices[0].end,m.captureIndices[0].end>r&&(r=m.captureIndices[0].end,n=!1))}else{a=d.stack.pop();break}}return{stack:a,linePos:r,anchorPosition:u,isFirstLine:n}}function y4(e,t,n,r,a,l){const u=b4(e,t,n,r,a,l),c=e.getInjections();if(c.length===0)return u;const d=v4(c,e,t,n,r,a,l);if(!d)return u;if(!u)return d;const f=u.captureIndices[0].start,p=d.captureIndices[0].start;return p<f||d.priorityMatch&&p===f?d:u}function b4(e,t,n,r,a,l){const u=a.getRule(e),{ruleScanner:c,findOptions:d}=vC(u,e,a.endRule,n,r===l),f=c.findNextMatchSync(t,r,d);return f?{captureIndices:f.captureIndices,matchedRuleId:f.ruleId}:null}function v4(e,t,n,r,a,l,u){let c=Number.MAX_VALUE,d=null,f,p=0;const m=l.contentNameScopesList.getScopeNames();for(let x=0,y=e.length;x<y;x++){const w=e[x];if(!w.matcher(m))continue;const C=t.getRule(w.ruleId),{ruleScanner:_,findOptions:S}=vC(C,t,null,r,a===u),v=_.findNextMatchSync(n,a,S);if(!v)continue;const b=v.captureIndices[0].start;if(!(b>=c)&&(c=b,d=v.captureIndices,f=v.ruleId,p=w.priority,c===a))break}return d?{priorityMatch:p===-1,captureIndices:d,matchedRuleId:f}:null}function vC(e,t,n,r,a){return{ruleScanner:e.compileAG(t,n,r,a),findOptions:0}}function _4(e,t,n,r,a){return{ruleScanner:e.compileWhileAG(t,n,r,a),findOptions:0}}function gl(e,t,n,r,a,l,u){if(l.length===0)return;const c=t.content,d=Math.min(l.length,u.length),f=[],p=u[0].end;for(let m=0;m<d;m++){const x=l[m];if(x===null)continue;const y=u[m];if(y.length===0)continue;if(y.start>p)break;for(;f.length>0&&f[f.length-1].endPos<=y.start;)a.produceFromScopes(f[f.length-1].scopes,f[f.length-1].endPos),f.pop();if(f.length>0?a.produceFromScopes(f[f.length-1].scopes,y.start):a.produce(r,y.start),x.retokenizeCapturedWithRuleId){const C=x.getName(c,u),_=r.contentNameScopesList.pushAttributed(C,e),S=x.getContentName(c,u),v=_.pushAttributed(S,e),b=r.push(x.retokenizeCapturedWithRuleId,y.start,-1,!1,null,_,v),E=e.createOnigString(c.substring(0,y.end));bC(e,E,n&&y.start===0,y.start,b,a,!1,0),mC(E);continue}const w=x.getName(c,u);if(w!==null){const _=(f.length>0?f[f.length-1].scopes:r.contentNameScopesList).pushAttributed(w,e);f.push(new S4(_,y.end))}}for(;f.length>0;)a.produceFromScopes(f[f.length-1].scopes,f[f.length-1].endPos),f.pop()}var S4=class{constructor(e,t){ve(this,"scopes");ve(this,"endPos");this.scopes=e,this.endPos=t}};function w4(e,t,n,r,a,l,u,c){return new k4(e,t,n,r,a,l,u,c)}function M0(e,t,n,r,a){const l=Wu(t,Yu),u=xC.getCompiledRuleId(n,r,a.repository);for(const c of l)e.push({debugSelector:t,matcher:c.matcher,ruleId:u,grammar:a,priority:c.priority})}function Yu(e,t){if(t.length<e.length)return!1;let n=0;return e.every(r=>{for(let a=n;a<t.length;a++)if(C4(t[a],r))return n=a+1,!0;return!1})}function C4(e,t){if(!e)return!1;if(e===t)return!0;const n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]==="."}var k4=class{constructor(e,t,n,r,a,l,u,c){ve(this,"_rootId");ve(this,"_lastRuleId");ve(this,"_ruleId2desc");ve(this,"_includedGrammars");ve(this,"_grammarRepository");ve(this,"_grammar");ve(this,"_injections");ve(this,"_basicScopeAttributesProvider");ve(this,"_tokenTypeMatchers");if(this._rootScopeName=e,this.balancedBracketSelectors=l,this._onigLib=c,this._basicScopeAttributesProvider=new p4(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=u,this._grammar=P0(t,null),this._injections=null,this._tokenTypeMatchers=[],a)for(const d of Object.keys(a)){const f=Wu(d,Yu);for(const p of f)this._tokenTypeMatchers.push({matcher:p.matcher,type:a[d]})}}get themeProvider(){return this._grammarRepository}dispose(){for(const e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){const e={lookup:a=>a===this._rootScopeName?this._grammar:this.getExternalGrammar(a),injections:a=>this._grammarRepository.injections(a)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){const a=r.injections;if(a)for(let u in a)M0(t,u,a[u],this,r);const l=this._grammarRepository.injections(n);l&&l.forEach(u=>{const c=this.getExternalGrammar(u);if(c){const d=c.injectionSelector;d&&M0(t,d,c,this,c)}})}return t.sort((a,l)=>a.priority-l.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){const t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){const n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=P0(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){const r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){const r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=xC.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let a;if(!t||t===Cp.NULL){a=!0;const f=this._basicScopeAttributesProvider.getDefaultAttributes(),p=this.themeProvider.getDefaults(),m=Za.set(0,f.languageId,f.tokenType,null,p.fontStyle,p.foregroundId,p.backgroundId),x=this.getRule(this._rootId).getName(null,null);let y;x?y=Sl.createRootAndLookUpScopeName(x,m,this):y=Sl.createRoot("unknown",m),t=new Cp(null,this._rootId,-1,-1,!1,null,y,y)}else a=!1,t.reset();e=e+`
|
|
128
|
-
`;const l=this.createOnigString(e),u=l.content.length,c=new j4(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),d=bC(this,l,a,0,t,c,!0,r);return mC(l),{lineLength:u,lineTokens:c,ruleStack:d.stack,stoppedEarly:d.stoppedEarly}}};function P0(e,t){return e=VI(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var Sl=class Ur{constructor(t,n,r){this.parent=t,this.scopePath=n,this.tokenAttributes=r}static fromExtension(t,n){let r=t,a=(t==null?void 0:t.scopePath)??null;for(const l of n)a=Rm.push(a,l.scopeNames),r=new Ur(r,a,l.encodedTokenAttributes);return r}static createRoot(t,n){return new Ur(null,new Rm(null,t),n)}static createRootAndLookUpScopeName(t,n,r){const a=r.getMetadataForScope(t),l=new Rm(null,t),u=r.themeProvider.themeMatch(l),c=Ur.mergeAttributes(n,a,u);return new Ur(null,l,c)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Ur.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,r){let a=-1,l=0,u=0;return r!==null&&(a=r.fontStyle,l=r.foregroundId,u=r.backgroundId),Za.set(t,n.languageId,n.tokenType,null,a,l,u)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return Ur._pushAttributed(this,t,n);const r=t.split(/ /g);let a=this;for(const l of r)a=Ur._pushAttributed(a,l,n);return a}static _pushAttributed(t,n,r){const a=r.getMetadataForScope(n),l=t.scopePath.push(n),u=r.themeProvider.themeMatch(l),c=Ur.mergeAttributes(t.tokenAttributes,a,u);return new Ur(t,l,c)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){var a;const n=[];let r=this;for(;r&&r!==t;)n.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(((a=r.parent)==null?void 0:a.scopePath)??null)}),r=r.parent;return r===t?n.reverse():void 0}},_r,Cp=(_r=class{constructor(t,n,r,a,l,u,c,d){ve(this,"_stackElementBrand");ve(this,"_enterPos");ve(this,"_anchorPos");ve(this,"depth");this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=l,this.endRule=u,this.nameScopesList=c,this.contentNameScopesList=d,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=a}equals(t){return t===null?!1:_r._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?Sl.equals(t.contentNameScopesList,n.contentNameScopesList):!1}static _structuralEquals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.depth!==n.depth||t.ruleId!==n.ruleId||t.endRule!==n.endRule)return!1;t=t.parent,n=n.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){_r._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,a,l,u,c){return new _r(this,t,n,r,a,l,u,c)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){const t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,n){var r,a;return this.parent&&(n=this.parent._writeString(t,n)),t[n++]=`(${this.ruleId}, ${(r=this.nameScopesList)==null?void 0:r.toString()}, ${(a=this.contentNameScopesList)==null?void 0:a.toString()})`,n}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new _r(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let n=this;for(;n&&n._enterPos===t._enterPos;){if(n.ruleId===t.ruleId)return!0;n=n.parent}return!1}toStateStackFrame(){var t,n,r;return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:((n=this.nameScopesList)==null?void 0:n.getExtensionIfDefined(((t=this.parent)==null?void 0:t.nameScopesList)??null))??[],contentNameScopesList:((r=this.contentNameScopesList)==null?void 0:r.getExtensionIfDefined(this.nameScopesList))??[]}}static pushFrame(t,n){const r=Sl.fromExtension((t==null?void 0:t.nameScopesList)??null,n.nameScopesList);return new _r(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,Sl.fromExtension(r,n.contentNameScopesList))}},ve(_r,"NULL",new _r(null,0,0,0,!1,null,null,null)),_r),E4=class{constructor(e,t){ve(this,"balancedBracketScopes");ve(this,"unbalancedBracketScopes");ve(this,"allowAny",!1);this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):Wu(n,Yu).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>Wu(n,Yu).map(r=>r.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(const t of this.unbalancedBracketScopes)if(t(e))return!1;for(const t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},j4=class{constructor(e,t,n,r){ve(this,"_emitBinaryTokens");ve(this,"_lineText");ve(this,"_tokens");ve(this,"_binaryTokens");ve(this,"_lastTokenEndIndex");ve(this,"_tokenTypeOverrides");this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){var r;if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let a=(e==null?void 0:e.tokenAttributes)??0,l=!1;if((r=this.balancedBracketSelectors)!=null&&r.matchesAlways&&(l=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){const u=(e==null?void 0:e.getScopeNames())??[];for(const c of this._tokenTypeOverrides)c.matcher(u)&&(a=Za.set(a,0,c.type,null,-1,0,0));this.balancedBracketSelectors&&(l=this.balancedBracketSelectors.match(u))}if(l&&(a=Za.set(a,0,8,l,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===a){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(a),this._lastTokenEndIndex=t;return}const n=(e==null?void 0:e.getScopeNames())??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);const n=new Uint32Array(this._binaryTokens.length);for(let r=0,a=this._binaryTokens.length;r<a;r++)n[r]=this._binaryTokens[r];return n}},N4=class{constructor(e,t){ve(this,"_grammars",new Map);ve(this,"_rawGrammars",new Map);ve(this,"_injectionGrammars",new Map);ve(this,"_theme");this._onigLib=t,this._theme=e}dispose(){for(const e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,r,a){if(!this._grammars.has(e)){let l=this._rawGrammars.get(e);if(!l)return null;this._grammars.set(e,w4(e,l,t,n,r,a,this,this._onigLib))}return this._grammars.get(e)}},T4=class{constructor(t){ve(this,"_options");ve(this,"_syncRegistry");ve(this,"_ensureGrammarCache");this._options=t,this._syncRegistry=new N4(Gu.createFromRawTheme(t.theme,t.colorMap),t.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(t,n){this._syncRegistry.setTheme(Gu.createFromRawTheme(t,n))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(t,n,r){return this.loadGrammarWithConfiguration(t,n,{embeddedLanguages:r})}loadGrammarWithConfiguration(t,n,r){return this._loadGrammar(t,n,r.embeddedLanguages,r.tokenTypes,new E4(r.balancedBracketSelectors||[],r.unbalancedBracketSelectors||[]))}loadGrammar(t){return this._loadGrammar(t,0,null,null,null)}_loadGrammar(t,n,r,a,l){const u=new s4(this._syncRegistry,t);for(;u.Q.length>0;)u.Q.map(c=>this._loadSingleGrammar(c.scopeName)),u.processQueue();return this._grammarForScopeName(t,n,r,a,l)}_loadSingleGrammar(t){this._ensureGrammarCache.has(t)||(this._doLoadSingleGrammar(t),this._ensureGrammarCache.set(t,!0))}_doLoadSingleGrammar(t){const n=this._options.loadGrammar(t);if(n){const r=typeof this._options.getInjections=="function"?this._options.getInjections(t):void 0;this._syncRegistry.addGrammar(n,r)}}addGrammar(t,n=[],r=0,a=null){return this._syncRegistry.addGrammar(t,n),this._grammarForScopeName(t.scopeName,r,a)}_grammarForScopeName(t,n=0,r=null,a=null,l=null){return this._syncRegistry.grammarForScopeName(t,n,r,a,l)}},kp=Cp.NULL;function Xu(e,t){const n=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(const[a,l]of Object.entries((t==null?void 0:t.colorReplacements)||{}))typeof l=="string"?n[a]=l:a===r&&Object.assign(n,l);return n}function si(e,t){return e&&((t==null?void 0:t[e==null?void 0:e.toLowerCase()])||e)}function A4(e){return Array.isArray(e)?e:[e]}async function _C(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function kd(e){return!e||["plaintext","txt","text","plain"].includes(e)}function SC(e){return e==="ansi"||kd(e)}function Ed(e){return e==="none"}function wC(e){return Ed(e)}const L4=/(\r?\n)/g;function jd(e,t=!1){var l;if(e.length===0)return[["",0]];const n=e.split(L4);let r=0;const a=[];for(let u=0;u<n.length;u+=2){const c=t?n[u]+(n[u+1]||""):n[u];a.push([c,r]),r+=n[u].length,r+=((l=n[u+1])==null?void 0:l.length)||0}return a}const B0={light:"#333333",dark:"#bbbbbb"},$0={light:"#fffffe",dark:"#1e1e1e"},z0="__shiki_resolved";function jg(e){var c,d,f,p,m;if(e!=null&&e[z0])return e;const t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||(t.type="dark"),t.colorReplacements={...t.colorReplacements},t.settings||(t.settings=[]);let{bg:n,fg:r}=t;if(!n||!r){const x=t.settings?t.settings.find(y=>!y.name&&!y.scope):void 0;(c=x==null?void 0:x.settings)!=null&&c.foreground&&(r=x.settings.foreground),(d=x==null?void 0:x.settings)!=null&&d.background&&(n=x.settings.background),!r&&((f=t==null?void 0:t.colors)!=null&&f["editor.foreground"])&&(r=t.colors["editor.foreground"]),!n&&((p=t==null?void 0:t.colors)!=null&&p["editor.background"])&&(n=t.colors["editor.background"]),r||(r=t.type==="light"?B0.light:B0.dark),n||(n=t.type==="light"?$0.light:$0.dark),t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let a=0;const l=new Map;function u(x){var w;if(l.has(x))return l.get(x);a+=1;const y=`#${a.toString(16).padStart(8,"0").toLowerCase()}`;return(w=t.colorReplacements)!=null&&w[`#${y}`]?u(x):(l.set(x,y),y)}t.settings=t.settings.map(x=>{var _,S;const y=((_=x.settings)==null?void 0:_.foreground)&&!x.settings.foreground.startsWith("#"),w=((S=x.settings)==null?void 0:S.background)&&!x.settings.background.startsWith("#");if(!y&&!w)return x;const C={...x,settings:{...x.settings}};if(y){const v=u(x.settings.foreground);t.colorReplacements[v]=x.settings.foreground,C.settings.foreground=v}if(w){const v=u(x.settings.background);t.colorReplacements[v]=x.settings.background,C.settings.background=v}return C});for(const x of Object.keys(t.colors||{}))if((x==="editor.foreground"||x==="editor.background"||x.startsWith("terminal.ansi"))&&!((m=t.colors[x])!=null&&m.startsWith("#"))){const y=u(t.colors[x]);t.colorReplacements[y]=t.colors[x],t.colors[x]=y}return Object.defineProperty(t,z0,{enumerable:!1,writable:!1,value:!0}),t}async function CC(e){return[...new Set((await Promise.all(e.filter(t=>!SC(t)).map(async t=>await _C(t).then(n=>Array.isArray(n)?n:[n])))).flat())]}async function kC(e){return(await Promise.all(e.map(async t=>wC(t)?null:jg(await _C(t))))).filter(t=>!!t)}function EC(e,t){if(!t)return e;if(t[e]){const n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new $t(`Circular alias \`${[...n].join(" -> ")} -> ${e}\``);n.add(e)}}return e}var D4=class extends T4{constructor(t,n,r,a={}){super(t);ve(this,"_resolver");ve(this,"_themes");ve(this,"_langs");ve(this,"_alias");ve(this,"_resolvedThemes",new Map);ve(this,"_resolvedGrammars",new Map);ve(this,"_langMap",new Map);ve(this,"_langGraph",new Map);ve(this,"_textmateThemeCache",new WeakMap);ve(this,"_loadedThemesCache",null);ve(this,"_loadedLanguagesCache",null);this._resolver=t,this._themes=n,this._langs=r,this._alias=a,this._themes.map(l=>this.loadTheme(l)),this.loadLanguages(this._langs)}getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){const n=jg(t);return n.name&&(this._resolvedThemes.set(n.name,n),this._loadedThemesCache=null),n}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let n=this._textmateThemeCache.get(t);n||(n=Gu.createFromRawTheme(t),this._textmateThemeCache.set(t,n)),this._syncRegistry.setTheme(n)}getGrammar(t){return t=EC(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){var l,u,c,d;if(this.getGrammar(t.name))return;const n=new Set([...this._langMap.values()].filter(f=>{var p;return(p=f.embeddedLangsLazy)==null?void 0:p.includes(t.name)}));this._resolver.addLanguage(t);const r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);const a=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(a.name=t.name,this._resolvedGrammars.set(t.name,a),t.aliases&&t.aliases.forEach(f=>{this._alias[f]=t.name}),this._loadedLanguagesCache=null,n.size)for(const f of n)this._resolvedGrammars.delete(f.name),this._loadedLanguagesCache=null,(u=(l=this._syncRegistry)==null?void 0:l._injectionGrammars)==null||u.delete(f.scopeName),(d=(c=this._syncRegistry)==null?void 0:c._grammars)==null||d.delete(f.scopeName),this.loadLanguage(this._langMap.get(f.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(const a of t)this.resolveEmbeddedLanguages(a);const n=[...this._langGraph.entries()],r=n.filter(([a,l])=>!l);if(r.length){const a=n.filter(([l,u])=>{var c;return u?(c=u.embeddedLanguages||u.embeddedLangs)==null?void 0:c.some(d=>r.map(([f])=>f).includes(d)):!1}).filter(l=>!r.includes(l));throw new $t(`Missing languages ${r.map(([l])=>`\`${l}\``).join(", ")}, required by ${a.map(([l])=>`\`${l}\``).join(", ")}`)}for(const[a,l]of n)this._resolver.addLanguage(l);for(const[a,l]of n)this.loadLanguage(l)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);const n=t.embeddedLanguages??t.embeddedLangs;if(n)for(const r of n)this._langGraph.set(r,this._langMap.get(r))}},R4=class{constructor(e,t){ve(this,"_langs",new Map);ve(this,"_scopeToLang",new Map);ve(this,"_injections",new Map);ve(this,"_onigLib");this._onigLib={createOnigScanner:n=>e.createScanner(n),createOnigString:n=>e.createString(n)},t.forEach(n=>this.addLanguage(n))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){const t=e.split(".");let n=[];for(let r=1;r<=t.length;r++){const a=t.slice(0,r).join(".");n=[...n,...this._injections.get(a)||[]]}return n}};let cl=0;function O4(e){cl+=1,e.warnings!==!1&&cl>=10&&cl%10===0&&console.warn(`[Shiki] ${cl} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new $t("`engine` option is required for synchronous mode");const n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(jg),a=new D4(new R4(e.engine,n),r,n,e.langAlias);let l;function u(v){return EC(v,e.langAlias)}function c(v){_();const b=a.getGrammar(typeof v=="string"?v:v.name);if(!b)throw new $t(`Language \`${v}\` not found, you may need to load it first`);return b}function d(v){if(v==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};_();const b=a.getTheme(v);if(!b)throw new $t(`Theme \`${v}\` not found, you may need to load it first`);return b}function f(v){_();const b=d(v);return l!==v&&(a.setTheme(b),l=v),{theme:b,colorMap:a.getColorMap()}}function p(){return _(),a.getLoadedThemes()}function m(){return _(),a.getLoadedLanguages()}function x(...v){_(),a.loadLanguages(v.flat(1))}async function y(...v){return x(await CC(v))}function w(...v){_();for(const b of v.flat(1))a.loadTheme(b)}async function C(...v){return _(),w(await kC(v))}function _(){if(t)throw new $t("Shiki instance has been disposed")}function S(){t||(t=!0,a.dispose(),cl-=1)}return{setTheme:f,getTheme:d,getLanguage:c,getLoadedThemes:p,getLoadedLanguages:m,resolveLangAlias:u,loadLanguage:y,loadLanguageSync:x,loadTheme:C,loadThemeSync:w,dispose:S,[Symbol.dispose]:S}}async function I4(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");const[t,n,r]=await Promise.all([kC(e.themes||[]),CC(e.langs||[]),e.engine]);return O4({...e,themes:t,langs:n,engine:r})}const jC=new WeakMap;function Nd(e,t){jC.set(e,t)}function Rl(e){return jC.get(e)}var Td=class NC{constructor(...t){ve(this,"_stacks",{});ve(this,"lang");if(t.length===2){const[n,r]=t;this.lang=r,this._stacks=n}else{const[n,r,a]=t;this.lang=r,this._stacks={[a]:n}}}get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new NC(Object.fromEntries(A4(n).map(r=>[r,kp])),t)}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return M4(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function M4(e){const t=[],n=new Set;function r(a){var u;if(n.has(a))return;n.add(a);const l=(u=a==null?void 0:a.nameScopesList)==null?void 0:u.scopeName;l&&t.push(l),a.parent&&r(a.parent)}return r(e),t}function P4(e,t){if(!(e instanceof Td))throw new $t("Invalid grammar state");return e.getInternalStack(t)}const B4=/,/,$4=/ /;function TC(e,t,n={}){const{theme:r=e.getLoadedThemes()[0]}=n;if(kd(e.resolveLangAlias(n.lang||"text"))||Ed(r))return jd(t).map(c=>[{content:c[0],offset:c[1]}]);const{theme:a,colorMap:l}=e.setTheme(r),u=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==u.name)throw new $t(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${u.name}"`);if(!n.grammarState.themes.includes(a.name))throw new $t(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${a.name}"`)}return H4(t,u,a,l,n)}function z4(...e){if(e.length===2)return Rl(e[1]);const[t,n,r={}]=e,{lang:a="text",theme:l=t.getLoadedThemes()[0]}=r;if(kd(a)||Ed(l))throw new $t("Plain language does not have grammar state");if(a==="ansi")throw new $t("ANSI language does not have grammar state");const{theme:u,colorMap:c}=t.setTheme(l),d=t.getLanguage(a);return new Td(Ng(n,d,u,c,r).stateStack,d.name,u.name)}function H4(e,t,n,r,a){const l=Ng(e,t,n,r,a),u=new Td(l.stateStack,t.name,n.name);return Nd(l.tokens,u),l.tokens}function Ng(e,t,n,r,a){const l=Xu(n,a),{tokenizeMaxLineLength:u=0,tokenizeTimeLimit:c=500}=a,d=jd(e);let f=a.grammarState?P4(a.grammarState,n.name)??kp:a.grammarContextCode!=null?Ng(a.grammarContextCode,t,n,r,{...a,grammarState:void 0,grammarContextCode:void 0}).stateStack:kp,p=[];const m=[];for(let x=0,y=d.length;x<y;x++){const[w,C]=d[x];if(w===""){p=[],m.push([]);continue}if(u>0&&w.length>=u){p=[],m.push([{content:w,offset:C,color:"",fontStyle:0}]);continue}let _,S,v;a.includeExplanation&&(_=t.tokenizeLine(w,f,c),S=_.tokens,v=0);const b=t.tokenizeLine2(w,f,c),E=b.tokens.length/2;for(let j=0;j<E;j++){const T=b.tokens[2*j],D=j+1<E?b.tokens[2*j+2]:w.length;if(T===D)continue;const L=b.tokens[2*j+1],R=si(r[Za.getForeground(L)],l),M=Za.getFontStyle(L),V={content:w.substring(T,D),offset:C+T,color:R,fontStyle:M};if(a.includeExplanation){const U=[];if(a.includeExplanation!=="scopeName")for(const H of n.settings){let F;switch(typeof H.scope){case"string":F=H.scope.split(B4).map(G=>G.trim());break;case"object":F=H.scope;break;default:continue}U.push({settings:H,selectors:F.map(G=>G.split($4))})}V.explanation=[];let O=0;for(;T+O<D;){const H=S[v],F=w.substring(H.startIndex,H.endIndex);O+=F.length,V.explanation.push({content:F,scopes:a.includeExplanation==="scopeName"?U4(H.scopes):F4(U,H.scopes)}),v+=1}}p.push(V)}m.push(p),p=[],f=b.ruleStack}return{tokens:m,stateStack:f}}function U4(e){return e.map(t=>({scopeName:t}))}function F4(e,t){const n=[];for(let r=0,a=t.length;r<a;r++){const l=t[r];n[r]={scopeName:l,themeMatches:G4(e,l,t.slice(0,r))}}return n}function H0(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function V4(e,t,n){if(!H0(e.at(-1),t))return!1;let r=e.length-2,a=n.length-1;for(;r>=0&&a>=0;)H0(e[r],n[a])&&(r-=1),a-=1;return r===-1}function G4(e,t,n){const r=[];for(const{selectors:a,settings:l}of e)for(const u of a)if(V4(u,t,n)){r.push(l);break}return r}function AC(e,t,n,r=TC){const a=Object.entries(n.themes).filter(f=>f[1]).map(f=>({color:f[0],theme:f[1]})),l=a.map(f=>{const p=r(e,t,{...n,theme:f.theme});return{tokens:p,state:Rl(p),theme:typeof f.theme=="string"?f.theme:f.theme.name}}),u=W4(...l.map(f=>f.tokens)),c=u[0].map((f,p)=>f.map((m,x)=>{const y={content:m.content,variants:{},offset:m.offset};return"includeExplanation"in n&&n.includeExplanation&&(y.explanation=m.explanation),u.forEach((w,C)=>{const{content:_,explanation:S,offset:v,...b}=w[p][x];y.variants[a[C].color]=b}),y})),d=l[0].state?new Td(Object.fromEntries(l.map(f=>{var p;return[f.theme,(p=f.state)==null?void 0:p.getInternalStack(f.theme)]})),l[0].state.lang):void 0;return d&&Nd(c,d),c}function W4(...e){const t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){const a=e.map(d=>d[r]),l=t.map(()=>[]);t.forEach((d,f)=>d.push(l[f]));const u=a.map(()=>0),c=a.map(d=>d[0]);for(;c.every(d=>d);){const d=Math.min(...c.map(f=>f.content.length));for(let f=0;f<n;f++){const p=c[f];p.content.length===d?(l[f].push(p),u[f]+=1,c[f]=a[f][u[f]]):(l[f].push({...p,content:p.content.slice(0,d)}),c[f]={...p,content:p.content.slice(d),offset:p.offset+d})}}}return t}const q4=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];class Gl{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Gl.prototype.normal={};Gl.prototype.property={};Gl.prototype.space=void 0;function LC(e,t){const n={},r={};for(const a of e)Object.assign(n,a.property),Object.assign(r,a.normal);return new Gl(n,r,t)}function Ep(e){return e.toLowerCase()}class Qn{constructor(t,n){this.attribute=n,this.property=t}}Qn.prototype.attribute="";Qn.prototype.booleanish=!1;Qn.prototype.boolean=!1;Qn.prototype.commaOrSpaceSeparated=!1;Qn.prototype.commaSeparated=!1;Qn.prototype.defined=!1;Qn.prototype.mustUseProperty=!1;Qn.prototype.number=!1;Qn.prototype.overloadedBoolean=!1;Qn.prototype.property="";Qn.prototype.spaceSeparated=!1;Qn.prototype.space=void 0;let K4=0;const ct=qi(),fn=qi(),jp=qi(),Ie=qi(),Bt=qi(),Ka=qi(),ar=qi();function qi(){return 2**++K4}const Np=Object.freeze(Object.defineProperty({__proto__:null,boolean:ct,booleanish:fn,commaOrSpaceSeparated:ar,commaSeparated:Ka,number:Ie,overloadedBoolean:jp,spaceSeparated:Bt},Symbol.toStringTag,{value:"Module"})),Im=Object.keys(Np);class Tg extends Qn{constructor(t,n,r,a){let l=-1;if(super(t,n),U0(this,"space",a),typeof r=="number")for(;++l<Im.length;){const u=Im[l];U0(this,Im[l],(r&Np[u])===Np[u])}}}Tg.prototype.defined=!0;function U0(e,t,n){n&&(e[t]=n)}function oo(e){const t={},n={};for(const[r,a]of Object.entries(e.properties)){const l=new Tg(r,e.transform(e.attributes||{},r),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(l.mustUseProperty=!0),t[r]=l,n[Ep(r)]=r,n[Ep(l.attribute)]=r}return new Gl(t,n,e.space)}const DC=oo({properties:{ariaActiveDescendant:null,ariaAtomic:fn,ariaAutoComplete:null,ariaBusy:fn,ariaChecked:fn,ariaColCount:Ie,ariaColIndex:Ie,ariaColSpan:Ie,ariaControls:Bt,ariaCurrent:null,ariaDescribedBy:Bt,ariaDetails:null,ariaDisabled:fn,ariaDropEffect:Bt,ariaErrorMessage:null,ariaExpanded:fn,ariaFlowTo:Bt,ariaGrabbed:fn,ariaHasPopup:null,ariaHidden:fn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Bt,ariaLevel:Ie,ariaLive:null,ariaModal:fn,ariaMultiLine:fn,ariaMultiSelectable:fn,ariaOrientation:null,ariaOwns:Bt,ariaPlaceholder:null,ariaPosInSet:Ie,ariaPressed:fn,ariaReadOnly:fn,ariaRelevant:null,ariaRequired:fn,ariaRoleDescription:Bt,ariaRowCount:Ie,ariaRowIndex:Ie,ariaRowSpan:Ie,ariaSelected:fn,ariaSetSize:Ie,ariaSort:null,ariaValueMax:Ie,ariaValueMin:Ie,ariaValueNow:Ie,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function RC(e,t){return t in e?e[t]:t}function OC(e,t){return RC(e,t.toLowerCase())}const Y4=oo({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ka,acceptCharset:Bt,accessKey:Bt,action:null,allow:null,allowFullScreen:ct,allowPaymentRequest:ct,allowUserMedia:ct,alt:null,as:null,async:ct,autoCapitalize:null,autoComplete:Bt,autoFocus:ct,autoPlay:ct,blocking:Bt,capture:null,charSet:null,checked:ct,cite:null,className:Bt,cols:Ie,colSpan:null,content:null,contentEditable:fn,controls:ct,controlsList:Bt,coords:Ie|Ka,crossOrigin:null,data:null,dateTime:null,decoding:null,default:ct,defer:ct,dir:null,dirName:null,disabled:ct,download:jp,draggable:fn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:ct,formTarget:null,headers:Bt,height:Ie,hidden:jp,high:Ie,href:null,hrefLang:null,htmlFor:Bt,httpEquiv:Bt,id:null,imageSizes:null,imageSrcSet:null,inert:ct,inputMode:null,integrity:null,is:null,isMap:ct,itemId:null,itemProp:Bt,itemRef:Bt,itemScope:ct,itemType:Bt,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:ct,low:Ie,manifest:null,max:null,maxLength:Ie,media:null,method:null,min:null,minLength:Ie,multiple:ct,muted:ct,name:null,nonce:null,noModule:ct,noValidate:ct,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:ct,optimum:Ie,pattern:null,ping:Bt,placeholder:null,playsInline:ct,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:ct,referrerPolicy:null,rel:Bt,required:ct,reversed:ct,rows:Ie,rowSpan:Ie,sandbox:Bt,scope:null,scoped:ct,seamless:ct,selected:ct,shadowRootClonable:ct,shadowRootDelegatesFocus:ct,shadowRootMode:null,shape:null,size:Ie,sizes:null,slot:null,span:Ie,spellCheck:fn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Ie,step:null,style:null,tabIndex:Ie,target:null,title:null,translate:null,type:null,typeMustMatch:ct,useMap:null,value:fn,width:Ie,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Bt,axis:null,background:null,bgColor:null,border:Ie,borderColor:null,bottomMargin:Ie,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:ct,declare:ct,event:null,face:null,frame:null,frameBorder:null,hSpace:Ie,leftMargin:Ie,link:null,longDesc:null,lowSrc:null,marginHeight:Ie,marginWidth:Ie,noResize:ct,noHref:ct,noShade:ct,noWrap:ct,object:null,profile:null,prompt:null,rev:null,rightMargin:Ie,rules:null,scheme:null,scrolling:fn,standby:null,summary:null,text:null,topMargin:Ie,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Ie,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:ct,disableRemotePlayback:ct,prefix:null,property:null,results:Ie,security:null,unselectable:null},space:"html",transform:OC}),X4=oo({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:ar,accentHeight:Ie,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Ie,amplitude:Ie,arabicForm:null,ascent:Ie,attributeName:null,attributeType:null,azimuth:Ie,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Ie,by:null,calcMode:null,capHeight:Ie,className:Bt,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:Ie,diffuseConstant:Ie,direction:null,display:null,dur:null,divisor:Ie,dominantBaseline:null,download:ct,dx:null,dy:null,edgeMode:null,editable:null,elevation:Ie,enableBackground:null,end:null,event:null,exponent:Ie,externalResourcesRequired:null,fill:null,fillOpacity:Ie,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:Ka,g2:Ka,glyphName:Ka,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Ie,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Ie,horizOriginX:Ie,horizOriginY:Ie,id:null,ideographic:Ie,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Ie,k:Ie,k1:Ie,k2:Ie,k3:Ie,k4:Ie,kernelMatrix:ar,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Ie,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Ie,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:Ie,overlineThickness:Ie,paintOrder:null,panose1:null,path:null,pathLength:Ie,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Bt,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Ie,pointsAtY:Ie,pointsAtZ:Ie,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ar,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ar,rev:ar,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ar,requiredFeatures:ar,requiredFonts:ar,requiredFormats:ar,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:Ie,specularExponent:Ie,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Ie,strikethroughThickness:Ie,string:null,stroke:null,strokeDashArray:ar,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Ie,strokeOpacity:Ie,strokeWidth:null,style:null,surfaceScale:Ie,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ar,tabIndex:Ie,tableValues:null,target:null,targetX:Ie,targetY:Ie,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ar,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Ie,underlineThickness:Ie,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Ie,values:null,vAlphabetic:Ie,vMathematical:Ie,vectorEffect:null,vHanging:Ie,vIdeographic:Ie,version:null,vertAdvY:Ie,vertOriginX:Ie,vertOriginY:Ie,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Ie,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:RC}),IC=oo({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),MC=oo({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:OC}),PC=oo({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),Q4=/[A-Z]/g,F0=/-[a-z]/g,J4=/^data[-\w.:]+$/i;function Z4(e,t){const n=Ep(t);let r=t,a=Qn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&J4.test(t)){if(t.charAt(4)==="-"){const l=t.slice(5).replace(F0,tM);r="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=t.slice(4);if(!F0.test(l)){let u=l.replace(Q4,eM);u.charAt(0)!=="-"&&(u="-"+u),t="data"+u}}a=Tg}return new a(r,t)}function eM(e){return"-"+e.toLowerCase()}function tM(e){return e.charAt(1).toUpperCase()}const nM=LC([DC,Y4,IC,MC,PC],"html"),BC=LC([DC,X4,IC,MC,PC],"svg"),V0={}.hasOwnProperty;function rM(e,t){const n=t||{};function r(a,...l){let u=r.invalid;const c=r.handlers;if(a&&V0.call(a,e)){const d=String(a[e]);u=V0.call(c,d)?c[d]:r.unknown}if(u)return u.call(this,a,...l)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}const sM=/["&'<>`]/g,iM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,aM=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,oM=/[|\\{}()[\]^$+*?.]/g,G0=new WeakMap;function lM(e,t){if(e=e.replace(t.subset?cM(t.subset):sM,r),t.subset||t.escapeOnly)return e;return e.replace(iM,n).replace(aM,r);function n(a,l,u){return t.format((a.charCodeAt(0)-55296)*1024+a.charCodeAt(1)-56320+65536,u.charCodeAt(l+2),t)}function r(a,l,u){return t.format(a.charCodeAt(0),u.charCodeAt(l+1),t)}}function cM(e){let t=G0.get(e);return t||(t=uM(e),G0.set(e,t)),t}function uM(e){const t=[];let n=-1;for(;++n<e.length;)t.push(e[n].replace(oM,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}const dM=/[\dA-Fa-f]/;function hM(e,t,n){const r="&#x"+e.toString(16).toUpperCase();return n&&t&&!dM.test(String.fromCharCode(t))?r:r+";"}const fM=/\d/;function mM(e,t,n){const r="&#"+String(e);return n&&t&&!fM.test(String.fromCharCode(t))?r:r+";"}const pM=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],Mm={nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",bull:"•",hellip:"…",prime:"′",Prime:"″",oline:"‾",frasl:"⁄",weierp:"℘",image:"ℑ",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",quot:'"',amp:"&",lt:"<",gt:">",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"",zwj:"",lrm:"",rlm:"",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"},gM=["cent","copy","divide","gt","lt","not","para","times"],$C={}.hasOwnProperty,Tp={};let vu;for(vu in Mm)$C.call(Mm,vu)&&(Tp[Mm[vu]]=vu);const xM=/[^\dA-Za-z]/;function yM(e,t,n,r){const a=String.fromCharCode(e);if($C.call(Tp,a)){const l=Tp[a],u="&"+l;return n&&pM.includes(l)&&!gM.includes(l)&&(!r||t&&t!==61&&xM.test(String.fromCharCode(t)))?u:u+";"}return""}function bM(e,t,n){let r=hM(e,t,n.omitOptionalSemicolons),a;if((n.useNamedReferences||n.useShortestReferences)&&(a=yM(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!a)&&n.useShortestReferences){const l=mM(e,t,n.omitOptionalSemicolons);l.length<r.length&&(r=l)}return a&&(!n.useShortestReferences||a.length<r.length)?a:r}function Ya(e,t){return lM(e,Object.assign({format:bM},t))}const vM=/^>|^->|<!--|-->|--!>|<!-$/g,_M=[">"],SM=["<",">"];function wM(e,t,n,r){return r.settings.bogusComments?"<?"+Ya(e.value,Object.assign({},r.settings.characterReferences,{subset:_M}))+">":"<!--"+e.value.replace(vM,a)+"-->";function a(l){return Ya(l,Object.assign({},r.settings.characterReferences,{subset:SM}))}}function CM(e,t,n,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}function W0(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,a=n.indexOf(t);for(;a!==-1;)r++,a=n.indexOf(t,a+t.length);return r}function kM(e,t){const n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function EM(e){return e.join(" ").trim()}const jM=/[ \t\n\f\r]/g;function Ag(e){return typeof e=="object"?e.type==="text"?q0(e.value):!1:q0(e)}function q0(e){return e.replace(jM,"")===""}const yn=HC(1),zC=HC(-1),NM=[];function HC(e){return t;function t(n,r,a){const l=n?n.children:NM;let u=(r||0)+e,c=l[u];if(!a)for(;c&&Ag(c);)u+=e,c=l[u];return c}}const TM={}.hasOwnProperty;function UC(e){return t;function t(n,r,a){return TM.call(e,n.tagName)&&e[n.tagName](n,r,a)}}const Lg=UC({body:LM,caption:Pm,colgroup:Pm,dd:IM,dt:OM,head:Pm,html:AM,li:RM,optgroup:MM,option:PM,p:DM,rp:K0,rt:K0,tbody:$M,td:Y0,tfoot:zM,th:Y0,thead:BM,tr:HM});function Pm(e,t,n){const r=yn(n,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&Ag(r.value.charAt(0)))}function AM(e,t,n){const r=yn(n,t);return!r||r.type!=="comment"}function LM(e,t,n){const r=yn(n,t);return!r||r.type!=="comment"}function DM(e,t,n){const r=yn(n,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function RM(e,t,n){const r=yn(n,t);return!r||r.type==="element"&&r.tagName==="li"}function OM(e,t,n){const r=yn(n,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function IM(e,t,n){const r=yn(n,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function K0(e,t,n){const r=yn(n,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function MM(e,t,n){const r=yn(n,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function PM(e,t,n){const r=yn(n,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function BM(e,t,n){const r=yn(n,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function $M(e,t,n){const r=yn(n,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function zM(e,t,n){return!yn(n,t)}function HM(e,t,n){const r=yn(n,t);return!r||r.type==="element"&&r.tagName==="tr"}function Y0(e,t,n){const r=yn(n,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}const UM=UC({body:GM,colgroup:WM,head:VM,html:FM,tbody:qM});function FM(e){const t=yn(e,-1);return!t||t.type!=="comment"}function VM(e){const t=new Set;for(const r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}const n=e.children[0];return!n||n.type==="element"}function GM(e){const t=yn(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&Ag(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function WM(e,t,n){const r=zC(n,t),a=yn(e,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&Lg(r,n.children.indexOf(r),n)?!1:!!(a&&a.type==="element"&&a.tagName==="col")}function qM(e,t,n){const r=zC(n,t),a=yn(e,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&Lg(r,n.children.indexOf(r),n)?!1:!!(a&&a.type==="element"&&a.tagName==="tr")}const _u={name:[[`
|
|
129
|
-
\f\r &/=>`.split(""),`
|
|
130
|
-
\f\r "&'/=>\``.split("")],[`\0
|
|
131
|
-
\f\r "&'/<=>`.split(""),`\0
|
|
132
|
-
\f\r "&'/<=>\``.split("")]],unquoted:[[`
|
|
133
|
-
\f\r &>`.split(""),`\0
|
|
134
|
-
\f\r "&'<=>\``.split("")],[`\0
|
|
135
|
-
\f\r "&'<=>\``.split(""),`\0
|
|
136
|
-
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function KM(e,t,n,r){const a=r.schema,l=a.space==="svg"?!1:r.settings.omitOptionalTags;let u=a.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase());const c=[];let d;a.space==="html"&&e.tagName==="svg"&&(r.schema=BC);const f=YM(r,e.properties),p=r.all(a.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=a,p&&(u=!1),(f||!l||!UM(e,t,n))&&(c.push("<",e.tagName,f?" "+f:""),u&&(a.space==="svg"||r.settings.closeSelfClosing)&&(d=f.charAt(f.length-1),(!r.settings.tightSelfClosing||d==="/"||d&&d!=='"'&&d!=="'")&&c.push(" "),c.push("/")),c.push(">")),c.push(p),!u&&(!l||!Lg(e,t,n))&&c.push("</"+e.tagName+">"),c.join("")}function YM(e,t){const n=[];let r=-1,a;if(t){for(a in t)if(t[a]!==null&&t[a]!==void 0){const l=XM(e,a,t[a]);l&&n.push(l)}}for(;++r<n.length;){const l=e.settings.tightAttributes?n[r].charAt(n[r].length-1):void 0;r!==n.length-1&&l!=='"'&&l!=="'"&&(n[r]+=" ")}return n.join("")}function XM(e,t,n){const r=Z4(e.schema,t),a=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,l=e.settings.allowDangerousCharacters?0:1;let u=e.quote,c;if(r.overloadedBoolean&&(n===r.attribute||n==="")?n=!0:(r.boolean||r.overloadedBoolean)&&(typeof n!="string"||n===r.attribute||n==="")&&(n=!!n),n==null||n===!1||typeof n=="number"&&Number.isNaN(n))return"";const d=Ya(r.attribute,Object.assign({},e.settings.characterReferences,{subset:_u.name[a][l]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?kM:EM)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?d:(e.settings.preferUnquoted&&(c=Ya(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:_u.unquoted[a][l]}))),c!==n&&(e.settings.quoteSmart&&W0(n,u)>W0(n,e.alternative)&&(u=e.alternative),c=u+Ya(n,Object.assign({},e.settings.characterReferences,{subset:(u==="'"?_u.single:_u.double)[a][l],attribute:!0}))+u),d+(c&&"="+c))}const QM=["<","&"];function FC(e,t,n,r){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:Ya(e.value,Object.assign({},r.settings.characterReferences,{subset:QM}))}function JM(e,t,n,r){return r.settings.allowDangerousHtml?e.value:FC(e,t,n,r)}function ZM(e,t,n,r){return r.all(e)}const eP=rM("type",{invalid:tP,unknown:nP,handlers:{comment:wM,doctype:CM,element:KM,raw:JM,root:ZM,text:FC}});function tP(e){throw new Error("Expected node, not `"+e+"`")}function nP(e){const t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}const rP={},sP={},iP=[];function aP(e,t){const n=t||rP,r=n.quote||'"',a=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:oP,all:lP,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||q4,characterReferences:n.characterReferences||sP,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?BC:nM,quote:r,alternative:a}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function oP(e,t,n){return eP(e,t,n,this)}function lP(e){const t=[],n=e&&e.children||iP;let r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join("")}const X0=/\s+/g;function VC(e,t){var r;if(!t)return e;e.properties||(e.properties={}),(r=e.properties).class||(r.class=[]),typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(X0)),Array.isArray(e.properties.class)||(e.properties.class=[]);const n=Array.isArray(t)?t:t.split(X0);for(const a of n)a&&!e.properties.class.includes(a)&&e.properties.class.push(a);return e}const cP=/:?lang=["']([^"']+)["']/g,uP=/(?:```|~~~)([\w-]+)/g,dP=/\\begin\{([\w-]+)\}/g,hP=/<script\s+(?:type|lang)=["']([^"']+)["']/gi;function fP(e){const t=jd(e,!0).map(([a])=>a);function n(a){if(a===e.length)return{line:t.length-1,character:t.at(-1).length};let l=a,u=0;for(const c of t){if(l<c.length)break;l-=c.length,u++}return{line:u,character:l}}function r(a,l){let u=0;for(let c=0;c<a;c++)u+=t[c].length;return u+=l,u}return{lines:t,indexToPos:n,posToIndex:r}}function mP(e,t,n){const r=new Set;for(const l of e.matchAll(cP)){const u=l[1].toLowerCase().trim();u&&r.add(u)}for(const l of e.matchAll(uP)){const u=l[1].toLowerCase().trim();u&&r.add(u)}for(const l of e.matchAll(dP)){const u=l[1].toLowerCase().trim();u&&r.add(u)}for(const l of e.matchAll(hP)){const u=l[1].toLowerCase().trim(),c=u.includes("/")?u.split("/").pop():u;c&&r.add(c)}if(!n)return[...r];const a=n.getBundledLanguages();return[...r].filter(l=>l&&a[l])}const pP=["color","background-color"];function gP(e,t){let n=0;const r=[];for(const a of t)a>n&&r.push({...e,content:e.content.slice(n,a),offset:e.offset+n}),n=a;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function xP(e,t){const n=[...t instanceof Set?t:new Set(t)].sort((r,a)=>r-a);return n.length?e.map(r=>r.flatMap(a=>{const l=n.filter(u=>a.offset<u&&u<a.offset+a.content.length).map(u=>u-a.offset).sort((u,c)=>u-c);return l.length?gP(a,l):a})):e}function yP(e,t,n,r,a="css-vars"){const l={content:e.content,explanation:e.explanation,offset:e.offset},u=t.map(p=>Qu(e.variants[p])),c=new Set(u.flatMap(p=>Object.keys(p))),d={},f=(p,m)=>{const x=m==="color"?"":m==="background-color"?"-bg":`-${m}`;return n+t[p]+(m==="color"?"":x)};return u.forEach((p,m)=>{for(const x of c){const y=p[x]||"inherit";if(m===0&&r&&pP.includes(x))if(r==="light-dark()"&&u.length>1){const w=t.findIndex(_=>_==="light"),C=t.findIndex(_=>_==="dark");if(w===-1||C===-1)throw new $t('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');d[x]=`light-dark(${u[w][x]||"inherit"}, ${u[C][x]||"inherit"})`,a==="css-vars"&&(d[f(m,x)]=y)}else d[x]=y;else a==="css-vars"&&(d[f(m,x)]=y)}}),l.htmlStyle=d,l}function Qu(e){const t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Dn.Italic&&(t["font-style"]="italic"),e.fontStyle&Dn.Bold&&(t["font-weight"]="bold");const n=[];e.fontStyle&Dn.Underline&&n.push("underline"),e.fontStyle&Dn.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function Ap(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>`${t}:${n}`).join(";")}function bP(){const e=new WeakMap;function t(n){if(!e.has(n.meta)){let l=function(c){if(typeof c=="number"){if(c<0||c>n.source.length)throw new $t(`Invalid decoration offset: ${c}. Code length: ${n.source.length}`);return{...a.indexToPos(c),offset:c}}else{const d=a.lines[c.line];if(d===void 0)throw new $t(`Invalid decoration position ${JSON.stringify(c)}. Lines length: ${a.lines.length}`);let f=c.character;if(f<0&&(f=d.length+f),f<0||f>d.length)throw new $t(`Invalid decoration position ${JSON.stringify(c)}. Line ${c.line} length: ${d.length}`);return{...c,character:f,offset:a.posToIndex(c.line,f)}}};var r=l;const a=fP(n.source),u=(n.options.decorations||[]).map(c=>({...c,start:l(c.start),end:l(c.end)}));vP(u),e.set(n.meta,{decorations:u,converter:a,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){var r;if((r=this.options.decorations)!=null&&r.length)return xP(n,t(this).decorations.flatMap(a=>[a.start.offset,a.end.offset]))},code(n){var p;if(!((p=this.options.decorations)!=null&&p.length))return;const r=t(this),a=[...n.children].filter(m=>m.type==="element"&&m.tagName==="span");if(a.length!==r.converter.lines.length)throw new $t(`Number of lines in code element (${a.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function l(m,x,y,w){const C=a[m];let _="",S=-1,v=-1;if(x===0&&(S=0),y===0&&(v=0),y===Number.POSITIVE_INFINITY&&(v=C.children.length),S===-1||v===-1)for(let E=0;E<C.children.length;E++)_+=GC(C.children[E]),S===-1&&_.length===x&&(S=E+1),v===-1&&_.length===y&&(v=E+1);if(S===-1)throw new $t(`Failed to find start index for decoration ${JSON.stringify(w.start)}`);if(v===-1)throw new $t(`Failed to find end index for decoration ${JSON.stringify(w.end)}`);const b=C.children.slice(S,v);if(!w.alwaysWrap&&b.length===C.children.length)c(C,w,"line");else if(!w.alwaysWrap&&b.length===1&&b[0].type==="element")c(b[0],w,"token");else{const E={type:"element",tagName:"span",properties:{},children:b};c(E,w,"wrapper"),C.children.splice(S,b.length,E)}}function u(m,x){a[m]=c(a[m],x,"line")}function c(m,x,y){var _;const w=x.properties||{},C=x.transform||(S=>S);return m.tagName=x.tagName||"span",m.properties={...m.properties,...w,class:m.properties.class},(_=x.properties)!=null&&_.class&&VC(m,x.properties.class),m=C(m,y)||m,m}const d=[],f=r.decorations.sort((m,x)=>x.start.offset-m.start.offset||m.end.offset-x.end.offset);for(const m of f){const{start:x,end:y}=m;if(x.line===y.line)l(x.line,x.character,y.character,m);else if(x.line<y.line){l(x.line,x.character,Number.POSITIVE_INFINITY,m);for(let w=x.line+1;w<y.line;w++)d.unshift(()=>u(w,m));l(y.line,0,y.character,m)}}d.forEach(m=>m())}}}function vP(e){for(let t=0;t<e.length;t++){const n=e[t];if(n.start.offset>n.end.offset)throw new $t(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){const a=e[r],l=n.start.offset<=a.start.offset&&a.start.offset<n.end.offset,u=n.start.offset<a.end.offset&&a.end.offset<=n.end.offset,c=a.start.offset<=n.start.offset&&n.start.offset<a.end.offset,d=a.start.offset<n.end.offset&&n.end.offset<=a.end.offset;if(l||u||c||d){if(l&&u||c&&d||c&&n.start.offset===n.end.offset||u&&a.start.offset===a.end.offset)continue;throw new $t(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(a.start)} intersect.`)}}}}function GC(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(GC).join(""):""}const _P=[bP()];function Ju(e){const t=SP(e.transformers||[]);return[...t.pre,...t.normal,...t.post,..._P]}function SP(e){const t=[],n=[],r=[];for(const a of e)switch(a.enforce){case"pre":t.push(a);break;case"post":n.push(a);break;default:r.push(a)}return{pre:t,post:n,normal:r}}var Pi=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Bm={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function wP(e,t){const n=e.indexOf("\x1B",t);if(n!==-1&&e[n+1]==="["){const r=e.indexOf("m",n);if(r!==-1)return{sequence:e.substring(n+2,r).split(";"),startPosition:n,position:r+1}}return{position:e.length}}function Q0(e){const t=e.shift();if(t==="2"){const n=e.splice(0,3).map(r=>Number.parseInt(r));return n.length!==3||n.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){const n=e.shift();if(n)return{type:"table",index:Number(n)}}}function CP(e){const t=[];for(;e.length>0;){const n=e.shift();if(!n)continue;const r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)Bm[r]&&t.push({type:"setDecoration",value:Bm[r]});else if(r<=29){const a=Bm[r-20];a&&(t.push({type:"resetDecoration",value:a}),a==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:Pi[r-30]}});else if(r===38){const a=Q0(e);a&&t.push({type:"setForegroundColor",value:a})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:Pi[r-40]}});else if(r===48){const a=Q0(e);a&&t.push({type:"setBackgroundColor",value:a})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:Pi[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Pi[r-100+8]}})}return t}function kP(){let e=null,t=null,n=new Set;return{parse(r){const a=[];let l=0;do{const u=wP(r,l),c=u.sequence?r.substring(l,u.startPosition):r.substring(l);if(c.length>0&&a.push({value:c,foreground:e,background:t,decorations:new Set(n)}),u.sequence){const d=CP(u.sequence);for(const f of d)f.type==="resetAll"?(e=null,t=null,n.clear()):f.type==="resetForegroundColor"?e=null:f.type==="resetBackgroundColor"?t=null:f.type==="resetDecoration"&&n.delete(f.value);for(const f of d)f.type==="setForegroundColor"?e=f.value:f.type==="setBackgroundColor"?t=f.value:f.type==="setDecoration"&&n.add(f.value)}l=u.position}while(l<r.length);return a}}}var EP={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function jP(e=EP){function t(c){return e[c]}function n(c){return`#${c.map(d=>Math.max(0,Math.min(d,255)).toString(16).padStart(2,"0")).join("")}`}let r;function a(){if(r)return r;r=[];for(let f=0;f<Pi.length;f++)r.push(t(Pi[f]));let c=[0,95,135,175,215,255];for(let f=0;f<6;f++)for(let p=0;p<6;p++)for(let m=0;m<6;m++)r.push(n([c[f],c[p],c[m]]));let d=8;for(let f=0;f<24;f++,d+=10)r.push(n([d,d,d]));return r}function l(c){return a()[c]}function u(c){switch(c.type){case"named":return t(c.name);case"rgb":return n(c.rgb);case"table":return l(c.index)}}return{value:u}}const NP=/#([0-9a-f]{3,8})/i,TP=/var\((--[\w-]+-ansi-[\w-]+)\)/,AP={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function LP(e,t,n){const r=Xu(e,n),a=jd(t),l=jP(Object.fromEntries(Pi.map(c=>{var f;const d=`terminal.ansi${c[0].toUpperCase()}${c.substring(1)}`;return[c,((f=e.colors)==null?void 0:f[d])||AP[c]]}))),u=kP();return a.map(c=>u.parse(c[0]).map(d=>{let f,p;d.decorations.has("reverse")?(f=d.background?l.value(d.background):e.bg,p=d.foreground?l.value(d.foreground):e.fg):(f=d.foreground?l.value(d.foreground):e.fg,p=d.background?l.value(d.background):void 0),f=si(f,r),p=si(p,r),d.decorations.has("dim")&&(f=DP(f));let m=Dn.None;return d.decorations.has("bold")&&(m|=Dn.Bold),d.decorations.has("italic")&&(m|=Dn.Italic),d.decorations.has("underline")&&(m|=Dn.Underline),d.decorations.has("strikethrough")&&(m|=Dn.Strikethrough),{content:d.value,offset:c[1],color:f,bgColor:p,fontStyle:m}}))}function DP(e){const t=e.match(NP);if(t){const r=t[1];if(r.length===8){const a=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${a}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){const a=r[0],l=r[1],u=r[2],c=r[3];return`#${a}${a}${l}${l}${u}${u}${Math.round(Number.parseInt(`${c}${c}`,16)/2).toString(16).padStart(2,"0")}`}else if(r.length===3){const a=r[0],l=r[1],u=r[2];return`#${a}${a}${l}${l}${u}${u}80`}}}const n=e.match(TP);return n?`var(${n[1]}-dim)`:e}function Lp(e,t,n={}){const r=e.resolveLangAlias(n.lang||"text"),{theme:a=e.getLoadedThemes()[0]}=n;if(!kd(r)&&!Ed(a)&&r==="ansi"){const{theme:l}=e.setTheme(a);return LP(l,t,n)}return TC(e,t,n)}function Zu(e,t,n){let r,a,l,u,c,d;if("themes"in n){const{defaultColor:f="light",cssVariablePrefix:p="--shiki-",colorsRendering:m="css-vars"}=n,x=Object.entries(n.themes).filter(S=>S[1]).map(S=>({color:S[0],theme:S[1]})).sort((S,v)=>S.color===f?-1:v.color===f?1:0);if(x.length===0)throw new $t("`themes` option must not be empty");const y=AC(e,t,n,Lp);if(d=Rl(y),f&&f!=="light-dark()"&&!x.some(S=>S.color===f))throw new $t(`\`themes\` option must contain the defaultColor key \`${f}\``);const w=x.map(S=>e.getTheme(S.theme)),C=x.map(S=>S.color);l=y.map(S=>S.map(v=>yP(v,C,p,f,m))),d&&Nd(l,d);const _=x.map(S=>Xu(S.theme,n));a=J0(x,w,_,p,f,"fg",m),r=J0(x,w,_,p,f,"bg",m),u=`shiki-themes ${w.map(S=>S.name).join(" ")}`,c=f?void 0:[a,r].join(";")}else if("theme"in n){const f=Xu(n.theme,n);l=Lp(e,t,n);const p=e.getTheme(n.theme);r=si(p.bg,f),a=si(p.fg,f),u=p.name,d=Rl(l)}else throw new $t("Invalid options, either `theme` or `themes` must be provided");return{tokens:l,fg:a,bg:r,themeName:u,rootStyle:c,grammarState:d}}function J0(e,t,n,r,a,l,u){return e.map((c,d)=>{const f=si(t[d][l],n[d])||"inherit",p=`${r+c.color}${l==="bg"?"-bg":""}:${f}`;if(d===0&&a){if(a==="light-dark()"&&e.length>1){const m=e.findIndex(y=>y.color==="light"),x=e.findIndex(y=>y.color==="dark");if(m===-1||x===-1)throw new $t('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${si(t[m][l],n[m])||"inherit"}, ${si(t[x][l],n[x])||"inherit"});${p}`}return f}return u==="css-vars"?p:null}).filter(c=>!!c).join(";")}const WC=/^\s+$/,RP=/^(\s*)(.*?)(\s*)$/;function ed(e,t,n,r={meta:{},options:n,codeToHast:(a,l)=>ed(e,a,l),codeToTokens:(a,l)=>Zu(e,a,l)}){var w,C;let a=t;for(const _ of Ju(n))a=((w=_.preprocess)==null?void 0:w.call(r,a,n))||a;let{tokens:l,fg:u,bg:c,themeName:d,rootStyle:f,grammarState:p}=Zu(e,a,n);const{mergeWhitespaces:m=!0,mergeSameStyleTokens:x=!1}=n;m===!0?l=IP(l):m==="never"&&(l=MP(l)),x&&(l=PP(l));const y={...r,get source(){return a}};for(const _ of Ju(n))l=((C=_.tokens)==null?void 0:C.call(y,l))||l;return OP(l,{...n,fg:u,bg:c,themeName:d,rootStyle:n.rootStyle===!1?!1:n.rootStyle??f},y,p)}function OP(e,t,n,r=Rl(e)){var C,_,S,v;const a=Ju(t),l=[],u={type:"root",children:[]},{structure:c="classic",tabindex:d="0"}=t,f={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?f.style=t.rootStyle:f.style=`background-color:${t.bg};color:${t.fg}`),d!==!1&&d!=null&&(f.tabindex=d.toString());for(const[b,E]of Object.entries(t.meta||{}))b.startsWith("_")||(f[b]=E);let p={type:"element",tagName:"pre",properties:f,children:[],data:t.data},m={type:"element",tagName:"code",properties:{},children:l};const x=[],y={...n,structure:c,addClassToHast:VC,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return u},get pre(){return p},get code(){return m},get lines(){return x}};if(e.forEach((b,E)=>{var D,L;E&&(c==="inline"?u.children.push({type:"element",tagName:"br",properties:{},children:[]}):c==="classic"&&l.push({type:"text",value:`
|
|
137
|
-
`}));let j={type:"element",tagName:"span",properties:{class:"line"},children:[]},T=0;for(const R of b){let M={type:"element",tagName:"span",properties:{...R.htmlAttrs},children:[{type:"text",value:R.content}]};const V=Ap(R.htmlStyle||Qu(R));V&&(M.properties.style=V);for(const U of a)M=((D=U==null?void 0:U.span)==null?void 0:D.call(y,M,E+1,T,j,R))||M;c==="inline"?u.children.push(M):c==="classic"&&j.children.push(M),T+=R.content.length}if(c==="classic"){for(const R of a)j=((L=R==null?void 0:R.line)==null?void 0:L.call(y,j,E+1))||j;x.push(j),l.push(j)}else c==="inline"&&x.push(j)}),c==="classic"){for(const b of a)m=((C=b==null?void 0:b.code)==null?void 0:C.call(y,m))||m;p.children.push(m);for(const b of a)p=((_=b==null?void 0:b.pre)==null?void 0:_.call(y,p))||p;u.children.push(p)}else if(c==="inline"){const b=[];let E={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(const T of u.children)T.type==="element"&&T.tagName==="br"?(b.push(E),E={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(T.type==="element"||T.type==="text")&&E.children.push(T);b.push(E);let j={type:"element",tagName:"code",properties:{},children:b};for(const T of a)j=((S=T==null?void 0:T.code)==null?void 0:S.call(y,j))||j;u.children=[];for(let T=0;T<j.children.length;T++){T>0&&u.children.push({type:"element",tagName:"br",properties:{},children:[]});const D=j.children[T];D.type==="element"&&u.children.push(...D.children)}}let w=u;for(const b of a)w=((v=b==null?void 0:b.root)==null?void 0:v.call(y,w))||w;return r&&Nd(w,r),w}function IP(e){return e.map(t=>{const n=[];let r="",a;return t.forEach((l,u)=>{const c=!(l.fontStyle&&(l.fontStyle&Dn.Underline||l.fontStyle&Dn.Strikethrough));c&&WC.test(l.content)&&t[u+1]?(a===void 0&&(a=l.offset),r+=l.content):r?(c?n.push({...l,offset:a,content:r+l.content}):n.push({content:r,offset:a},l),a=void 0,r=""):n.push(l)}),n})}function MP(e){return e.map(t=>t.flatMap(n=>{if(WC.test(n.content))return n;const r=n.content.match(RP);if(!r)return n;const[,a,l,u]=r;if(!a&&!u)return n;const c=[{...n,offset:n.offset+a.length,content:l}];return a&&c.unshift({content:a,offset:n.offset}),u&&c.push({content:u,offset:n.offset+a.length+l.length}),c}))}function PP(e){return e.map(t=>{const n=[];for(const r of t){if(n.length===0){n.push({...r});continue}const a=n.at(-1),l=Ap(a.htmlStyle||Qu(a)),u=Ap(r.htmlStyle||Qu(r)),c=a.fontStyle&&(a.fontStyle&Dn.Underline||a.fontStyle&Dn.Strikethrough),d=r.fontStyle&&(r.fontStyle&Dn.Underline||r.fontStyle&Dn.Strikethrough);!c&&!d&&l===u?a.content+=r.content:n.push({...r})}return n})}const BP=aP;function $P(e,t,n){var l;const r={meta:{},options:n,codeToHast:(u,c)=>ed(e,u,c),codeToTokens:(u,c)=>Zu(e,u,c)};let a=BP(ed(e,t,n,r));for(const u of Ju(n))a=((l=u.postprocess)==null?void 0:l.call(r,a,n))||a;return a}async function zP(e){const t=await I4(e);return{getLastGrammarState:(...n)=>z4(t,...n),codeToTokensBase:(n,r)=>Lp(t,n,r),codeToTokensWithThemes:(n,r)=>AC(t,n,r),codeToTokens:(n,r)=>Zu(t,n,r),codeToHast:(n,r)=>ed(t,n,r),codeToHtml:(n,r)=>$P(t,n,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function HP(e){const t=e.langs,n=e.themes,r=e.engine;async function a(l){function u(m){var x;if(typeof m=="string"){if(m=((x=l.langAlias)==null?void 0:x[m])||m,SC(m))return[];const y=t[m];if(!y)throw new $t(`Language \`${m}\` is not included in this bundle. You may want to load it from external source.`);return y}return m}function c(m){if(wC(m))return"none";if(typeof m=="string"){const x=n[m];if(!x)throw new $t(`Theme \`${m}\` is not included in this bundle. You may want to load it from external source.`);return x}return m}const d=(l.themes??[]).map(m=>c(m)),f=(l.langs??[]).map(m=>u(m)),p=await zP({engine:l.engine??r(),...l,themes:d,langs:f});return{...p,loadLanguage(...m){return p.loadLanguage(...m.map(u))},loadTheme(...m){return p.loadTheme(...m.map(c))},getBundledLanguages(){return t},getBundledThemes(){return n}}}return a}function UP(e){let t;async function n(r={}){if(t){const a=await t;return await Promise.all([a.loadTheme(...r.themes||[]),a.loadLanguage(...r.langs||[])]),a}else{t=e({...r,themes:[],langs:[]});const a=await t;return await Promise.all([a.loadTheme(...r.themes||[]),a.loadLanguage(...r.langs||[])]),a}}return n}function FP(e,t){const n=UP(e);async function r(a,l){var d;const u=await n({langs:[l.lang],themes:"theme"in l?[l.theme]:Object.values(l.themes)}),c=await((d=t==null?void 0:t.guessEmbeddedLanguages)==null?void 0:d.call(t,a,l.lang,u));return c&&await u.loadLanguage(...c),u}return{getSingletonHighlighter(a){return n(a)},async codeToHtml(a,l){return(await r(a,l)).codeToHtml(a,l)},async codeToHast(a,l){return(await r(a,l)).codeToHast(a,l)},async codeToTokens(a,l){return(await r(a,l)).codeToTokens(a,l)},async codeToTokensBase(a,l){return(await r(a,l)).codeToTokensBase(a,l)},async codeToTokensWithThemes(a,l){return(await r(a,l)).codeToTokensWithThemes(a,l)},async getLastGrammarState(a,l){return(await n({langs:[l.lang],themes:[l.theme]})).getLastGrammarState(a,l)}}}var VP=bg({bundledLanguages:()=>Sd,bundledLanguagesAlias:()=>_g,bundledLanguagesBase:()=>vg,bundledLanguagesInfo:()=>_d,bundledThemes:()=>wg,bundledThemesInfo:()=>Sg,codeToHast:()=>KC,codeToHtml:()=>qC,codeToTokens:()=>YC,codeToTokensBase:()=>XC,codeToTokensWithThemes:()=>QC,createHighlighter:()=>Ad,getLastGrammarState:()=>ZC,getSingletonHighlighter:()=>JC});const Ad=HP({langs:Sd,themes:wg,engine:()=>(0,iC.createOnigurumaEngine)(J(()=>import("./wasm-CG6Dc4jp.js"),[]))}),{codeToHtml:qC,codeToHast:KC,codeToTokens:YC,codeToTokensBase:XC,codeToTokensWithThemes:QC,getSingletonHighlighter:JC,getLastGrammarState:ZC}=FP(Ad,{guessEmbeddedLanguages:mP}),Z0=4294967295;var GP=class{constructor(e,t={}){ve(this,"patterns");ve(this,"options");ve(this,"regexps");this.patterns=e,this.options=t;const{forgiving:n=!1,cache:r,regexConstructor:a}=t;if(!a)throw new Error("Option `regexConstructor` is not provided");this.regexps=e.map(l=>{if(typeof l!="string")return l;const u=r==null?void 0:r.get(l);if(u){if(u instanceof RegExp)return u;if(n)return null;throw u}try{const c=a(l);return r==null||r.set(l,c),c}catch(c){if(r==null||r.set(l,c),n)return null;throw c}})}findNextMatchSync(e,t,n){const r=typeof e=="string"?e:e.content,a=[];function l(u,c,d=0){return{index:u,captureIndices:c.indices.map(f=>f==null?{start:Z0,end:Z0,length:0}:{start:f[0]+d,end:f[1]+d,length:f[1]-f[0]})}}for(let u=0;u<this.regexps.length;u++){const c=this.regexps[u];if(c)try{c.lastIndex=t;const d=c.exec(r);if(!d)continue;if(d.index===t)return l(u,d,0);a.push([u,d,0])}catch(d){if(this.options.forgiving)continue;throw d}}if(a.length){const u=Math.min(...a.map(c=>c[1].index));for(const[c,d,f]of a)if(d.index===u)return l(c,d,f)}return null}};function lo(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function WP(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}const Dg=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),wn=String.raw;function co(e,t){if(e==null)throw new Error(t??"Value expected");return e}const ek=wn`\[\^?`,tk=`c.? | C(?:-.?)?|${wn`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${wn`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${wn`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${wn`o\{[^\}]*\}?`}|${wn`\d{1,3}`}`,Rg=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,Su=new RegExp(wn`
|
|
138
|
-
\\ (?:
|
|
139
|
-
${tk}
|
|
140
|
-
| [gk]<[^>]*>?
|
|
141
|
-
| [gk]'[^']*'?
|
|
142
|
-
| .
|
|
143
|
-
)
|
|
144
|
-
| \( (?:
|
|
145
|
-
\? (?:
|
|
146
|
-
[:=!>({]
|
|
147
|
-
| <[=!]
|
|
148
|
-
| <[^>]*>
|
|
149
|
-
| '[^']*'
|
|
150
|
-
| ~\|?
|
|
151
|
-
| #(?:[^)\\]|\\.?)*
|
|
152
|
-
| [^:)]*[:)]
|
|
153
|
-
)?
|
|
154
|
-
| \*[^\)]*\)?
|
|
155
|
-
)?
|
|
156
|
-
| (?:${Rg.source})+
|
|
157
|
-
| ${ek}
|
|
158
|
-
| .
|
|
159
|
-
`.replace(/\s+/g,""),"gsu"),$m=new RegExp(wn`
|
|
160
|
-
\\ (?:
|
|
161
|
-
${tk}
|
|
162
|
-
| .
|
|
163
|
-
)
|
|
164
|
-
| \[:(?:\^?\p{Alpha}+|\^):\]
|
|
165
|
-
| ${ek}
|
|
166
|
-
| &&
|
|
167
|
-
| .
|
|
168
|
-
`.replace(/\s+/g,""),"gsu");function qP(e,t={}){const n={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");const r=h6(n.flags),a=[r.extended],l={captureGroup:n.rules.captureGroup,getCurrentModX(){return a.at(-1)},numOpenGroups:0,popModX(){a.pop()},pushModX(m){a.push(m)},replaceCurrentModX(m){a[a.length-1]=m},singleline:n.rules.singleline};let u=[],c;for(Su.lastIndex=0;c=Su.exec(e);){const m=KP(l,e,c[0],Su.lastIndex);m.tokens?u.push(...m.tokens):m.token&&u.push(m.token),m.lastIndex!==void 0&&(Su.lastIndex=m.lastIndex)}const d=[];let f=0;u.filter(m=>m.type==="GroupOpen").forEach(m=>{m.kind==="capturing"?m.number=++f:m.raw==="("&&d.push(m)}),f||d.forEach((m,x)=>{m.kind="capturing",m.number=x+1});const p=f||d.length;return{tokens:u.map(m=>m.type==="EscapedNumber"?m6(m,p):m).flat(),flags:r}}function KP(e,t,n,r){const[a,l]=n;if(n==="["||n==="[^"){const u=YP(t,n,r);return{tokens:u.tokens,lastIndex:u.lastIndex}}if(a==="\\"){if("AbBGyYzZ".includes(l))return{token:eS(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:i6(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:rk(n)}}if(l==="K")return{token:sk("keep",n)};if(l==="N"||l==="R")return{token:Bi("newline",n,{negate:l==="N"})};if(l==="O")return{token:Bi("any",n)};if(l==="X")return{token:Bi("text_segment",n)};const u=nk(n,{inCharClass:!1});return Array.isArray(u)?{tokens:u}:{token:u}}if(a==="("){if(l==="*")return{token:c6(n)};if(n==="(?{")throw new Error(`Unsupported callout "${n}"`);if(n.startsWith("(?#")){if(t[r]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:r+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:l6(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n==="("&&!e.captureGroup||n==="(?:")return{token:Ua("group",n)};if(n==="(?>")return{token:Ua("atomic",n)};if(n==="(?="||n==="(?!"||n==="(?<="||n==="(?<!")return{token:Ua(n[2]==="<"?"lookbehind":"lookahead",n,{negate:n.endsWith("!")})};if(n==="("&&e.captureGroup||n.startsWith("(?<")&&n.endsWith(">")||n.startsWith("(?'")&&n.endsWith("'"))return{token:Ua("capturing",n,{...n!=="("&&{name:n.slice(3,-1)}})};if(n.startsWith("(?~")){if(n==="(?~|")throw new Error(`Unsupported absence function kind "${n}"`);return{token:Ua("absence_repeater",n)}}throw n==="(?("?new Error(`Unsupported conditional "${n}"`):new Error(`Invalid or unsupported group option "${n}"`)}if(n===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:n6(n)}}if(e.getCurrentModX()){if(n==="#"){const u=t.indexOf(`
|
|
169
|
-
`,r);return{lastIndex:u===-1?t.length:u}}if(/^\s$/.test(n)){const u=/\s+/y;return u.lastIndex=r,{lastIndex:u.exec(t)?u.lastIndex:r}}}if(n===".")return{token:Bi("dot",n)};if(n==="^"||n==="$"){const u=e.singleline?{"^":wn`\A`,$:wn`\Z`}[n]:n;return{token:eS(u,n)}}return n==="|"?{token:QP(n)}:Rg.test(n)?{tokens:p6(n)}:{token:vs(lo(n),n)}}function YP(e,t,n){const r=[tS(t[1]==="^",t)];let a=1,l;for($m.lastIndex=n;l=$m.exec(e);){const u=l[0];if(u[0]==="["&&u[1]!==":")a++,r.push(tS(u[1]==="^",u));else if(u==="]"){if(r.at(-1).type==="CharacterClassOpen")r.push(vs(93,u));else if(a--,r.push(JP(u)),!a)break}else{const c=XP(u);Array.isArray(c)?r.push(...c):r.push(c)}}return{tokens:r,lastIndex:$m.lastIndex||e.length}}function XP(e){if(e[0]==="\\")return nk(e,{inCharClass:!0});if(e[0]==="["){const t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!Dg.has(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return Bi("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?ZP(e):e==="&&"?e6(e):vs(lo(e),e)}function nk(e,{inCharClass:t}){const n=e[1];if(n==="c"||n==="C")return o6(e);if("dDhHsSwW".includes(n))return u6(e);if(e.startsWith(wn`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error(`Incomplete or invalid Unicode property "${e}"`);return d6(e)}if(new RegExp("^\\\\x[89A-Fa-f]\\p{AHex}","u").test(e))try{const r=e.split(/\\x/).slice(1).map(u=>parseInt(u,16)),a=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(r)),l=new TextEncoder;return[...a].map(u=>{const c=[...l.encode(u)].map(d=>`\\x${d.toString(16)}`).join("");return vs(lo(u),c)})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(n==="u"||n==="x")return vs(f6(e),e);if(nS.has(n))return vs(nS.get(n),e);if(/\d/.test(n))return t6(t,e);if(e==="\\")throw new Error(wn`Incomplete escape "\"`);if(n==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return vs(e.codePointAt(1),e);throw new Error(`Unexpected escape "${e}"`)}function QP(e){return{type:"Alternator",raw:e}}function eS(e,t){return{type:"Assertion",kind:e,raw:t}}function rk(e){return{type:"Backreference",raw:e}}function vs(e,t){return{type:"Character",value:e,raw:t}}function JP(e){return{type:"CharacterClassClose",raw:e}}function ZP(e){return{type:"CharacterClassHyphen",raw:e}}function e6(e){return{type:"CharacterClassIntersector",raw:e}}function tS(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function Bi(e,t,n={}){return{type:"CharacterSet",kind:e,...n,raw:t}}function sk(e,t,n={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:co(n.flags),raw:t}}function t6(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function n6(e){return{type:"GroupClose",raw:e}}function Ua(e,t,n={}){return{type:"GroupOpen",kind:e,...n,raw:t}}function r6(e,t,n,r){return{type:"NamedCallout",kind:e,tag:t,arguments:n,raw:r}}function s6(e,t,n,r){return{type:"Quantifier",kind:e,min:t,max:n,raw:r}}function i6(e){return{type:"Subroutine",raw:e}}const a6=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),nS=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function o6(e){const t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error(`Unsupported control character "${e}"`);return vs(lo(t.toUpperCase())-64,e)}function l6(e,t){let{on:n,off:r}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;r??(r="");const a=(t.getCurrentModX()||n.includes("x"))&&!r.includes("x"),l=sS(n),u=sS(r),c={};if(l&&(c.enable=l),u&&(c.disable=u),e.endsWith(")"))return t.replaceCurrentModX(a),sk("flags",e,{flags:c});if(e.endsWith(":"))return t.pushModX(a),t.numOpenGroups++,Ua("group",e,{...(l||u)&&{flags:c}});throw new Error(`Unexpected flag modifier "${e}"`)}function c6(e){const t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw new Error(`Incomplete or invalid named callout "${e}"`);const{name:n,tag:r,args:a}=t.groups;if(!n)throw new Error(`Invalid named callout "${e}"`);if(r==="")throw new Error(`Named callout tag with empty value not allowed "${e}"`);const l=a?a.split(",").filter(p=>p!=="").map(p=>/^[+-]?\d+$/.test(p)?+p:p):[],[u,c,d]=l,f=a6.has(n)?n.toLowerCase():"custom";switch(f){case"fail":case"mismatch":case"skip":if(l.length>0)throw new Error(`Named callout arguments not allowed "${l}"`);break;case"error":if(l.length>1)throw new Error(`Named callout allows only one argument "${l}"`);if(typeof u=="string")throw new Error(`Named callout argument must be a number "${u}"`);break;case"max":if(!l.length||l.length>2)throw new Error(`Named callout must have one or two arguments "${l}"`);if(typeof u=="string"&&!/^[A-Za-z_]\w*$/.test(u))throw new Error(`Named callout argument one must be a tag or number "${u}"`);if(l.length===2&&(typeof c=="number"||!/^[<>X]$/.test(c)))throw new Error(`Named callout optional argument two must be '<', '>', or 'X' "${c}"`);break;case"count":case"total_count":if(l.length>1)throw new Error(`Named callout allows only one argument "${l}"`);if(l.length===1&&(typeof u=="number"||!/^[<>X]$/.test(u)))throw new Error(`Named callout optional argument must be '<', '>', or 'X' "${u}"`);break;case"cmp":if(l.length!==3)throw new Error(`Named callout must have three arguments "${l}"`);if(typeof u=="string"&&!/^[A-Za-z_]\w*$/.test(u))throw new Error(`Named callout argument one must be a tag or number "${u}"`);if(typeof c=="number"||!/^(?:[<>!=]=|[<>])$/.test(c))throw new Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${c}"`);if(typeof d=="string"&&!/^[A-Za-z_]\w*$/.test(d))throw new Error(`Named callout argument three must be a tag or number "${d}"`);break;case"custom":throw new Error(`Undefined callout name "${n}"`);default:throw new Error(`Unexpected named callout kind "${f}"`)}return r6(f,r??null,(a==null?void 0:a.split(","))??null,e)}function rS(e){let t=null,n,r;if(e[0]==="{"){const{minStr:a,maxStr:l}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,u=1e5;if(+a>u||l&&+l>u)throw new Error("Quantifier value unsupported in Oniguruma");if(n=+a,r=l===void 0?+a:l===""?1/0:+l,n>r&&(t="possessive",[n,r]=[r,n]),e.endsWith("?")){if(t==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');t="lazy"}else t||(t="greedy")}else n=e[0]==="+"?1:0,r=e[0]==="?"?1:1/0,t=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return s6(t,n,r,e)}function u6(e){const t=e[1].toLowerCase();return Bi({d:"digit",h:"hex",s:"space",w:"word"}[t],e,{negate:e[1]!==t})}function d6(e){const{p:t,neg:n,value:r}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return Bi("property",e,{value:r,negate:t==="P"&&!n||t==="p"&&!!n})}function sS(e){const t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function h6(e){const t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n<e.length;n++){const r=e[n];if(!"imxDPSWy".includes(r))throw new Error(`Invalid flag "${r}"`);if(r==="y"){if(!/^y{[gw]}/.test(e.slice(n)))throw new Error('Invalid or unspecified flag "y" mode');t.textSegmentMode=e[n+2]==="g"?"grapheme":"word",n+=3;continue}t[{i:"ignoreCase",m:"dotAll",x:"extended",D:"digitIsAscii",P:"posixIsAscii",S:"spaceIsAscii",W:"wordIsAscii"}[r]]=!0}return t}function f6(e){if(new RegExp("^(?:\\\\u(?!\\p{AHex}{4})|\\\\x(?!\\p{AHex}{1,2}|\\{\\p{AHex}{1,8}\\}))","u").test(e))throw new Error(`Incomplete or invalid escape "${e}"`);const t=e[2]==="{"?new RegExp("^\\\\x\\{\\s*(?<hex>\\p{AHex}+)","u").exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function m6(e,t){const{raw:n,inCharClass:r}=e,a=n.slice(1);if(!r&&(a!=="0"&&a.length===1||a[0]!=="0"&&+a<=t))return[rk(n)];const l=[],u=a.match(/^[0-7]+|\d/g);for(let c=0;c<u.length;c++){const d=u[c];let f;if(c===0&&d!=="8"&&d!=="9"){if(f=parseInt(d,8),f>127)throw new Error(wn`Octal encoded byte above 177 unsupported "${n}"`)}else f=lo(d);l.push(vs(f,(c===0?"\\":"")+d))}return l}function p6(e){const t=[],n=new RegExp(Rg,"gy");let r;for(;r=n.exec(e);){const a=r[0];if(a[0]==="{"){const l=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(a);if(l){const{min:u,max:c}=l.groups;if(+u>+c&&a.endsWith("?")){n.lastIndex--,t.push(rS(a.slice(0,-1)));continue}}}t.push(rS(a))}return t}function ik(e,t){if(!Array.isArray(e.body))throw new Error("Expected node with body array");if(e.body.length!==1)return!1;const n=e.body[0];return!t||Object.keys(t).every(r=>t[r]===n[r])}function g6(e){return x6.has(e.type)}const x6=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);function ak(e,t={}){const n={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},r=qP(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),a=(x,y)=>{const w=r.tokens[l.nextIndex];switch(l.parent=x,l.nextIndex++,w.type){case"Alternator":return Vi();case"Assertion":return y6(w);case"Backreference":return b6(w,l);case"Character":return Ld(w.value,{useLastValid:!!y.isCheckingRangeEnd});case"CharacterClassHyphen":return v6(w,l,y);case"CharacterClassOpen":return _6(w,l,y);case"CharacterSet":return S6(w,l);case"Directive":return N6(w.kind,{flags:w.flags});case"GroupOpen":return w6(w,l,y);case"NamedCallout":return A6(w.kind,w.tag,w.arguments);case"Quantifier":return C6(w,l);case"Subroutine":return k6(w,l);default:throw new Error(`Unexpected token type "${w.type}"`)}},l={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:r.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:a},u=D6(T6(r.flags));let c=u.body[0];for(;l.nextIndex<r.tokens.length;){const x=a(c,{});x.type==="Alternative"?(u.body.push(x),c=x):c.body.push(x)}const{capturingGroups:d,hasNumberedRef:f,namedGroupsByName:p,subroutines:m}=l;if(f&&p.size&&!n.rules.captureGroup)throw new Error("Numbered backref/subroutine not allowed when using named capture");for(const{ref:x}of m)if(typeof x=="number"){if(x>d.length)throw new Error("Subroutine uses a group number that's not defined");x&&(d[x-1].isSubroutined=!0)}else if(p.has(x)){if(p.get(x).length>1)throw new Error(wn`Subroutine uses a duplicate group name "\g<${x}>"`);p.get(x)[0].isSubroutined=!0}else throw new Error(wn`Subroutine uses a group name that's not defined "\g<${x}>"`);return u}function y6({kind:e}){return Dp(co({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[e],`Unexpected assertion kind "${e}"`),{negate:e===wn`\B`||e===wn`\Y`})}function b6({raw:e},t){const n=/^\\k[<']/.test(e),r=n?e.slice(3,-1):e.slice(1),a=(l,u=!1)=>{const c=t.capturingGroups.length;let d=!1;if(l>c)if(t.skipBackrefValidation)d=!0;else throw new Error(`Not enough capturing groups defined to the left "${e}"`);return t.hasNumberedRef=!0,Rp(u?c+1-l:l,{orphan:d})};if(n){const l=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(r);if(l)return a(+l.groups.num,!!l.groups.sign);if(/[-+]/.test(r))throw new Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(r))throw new Error(`Group name not defined to the left "${e}"`);return Rp(r)}return a(+r)}function v6(e,t,n){const{tokens:r,walk:a}=t,l=t.parent,u=l.body.at(-1),c=r[t.nextIndex];if(!n.isCheckingRangeEnd&&u&&u.type!=="CharacterClass"&&u.type!=="CharacterClassRange"&&c&&c.type!=="CharacterClassOpen"&&c.type!=="CharacterClassClose"&&c.type!=="CharacterClassIntersector"){const d=a(l,{...n,isCheckingRangeEnd:!0});if(u.type==="Character"&&d.type==="Character")return l.body.pop(),j6(u,d);throw new Error("Invalid character class range")}return Ld(lo("-"))}function _6({negate:e},t,n){const{tokens:r,walk:a}=t,l=[Mu()],u=r[t.nextIndex];let c=oS(u);for(;c.type!=="CharacterClassClose";){if(c.type==="CharacterClassIntersector")l.push(Mu()),t.nextIndex++;else{const f=l.at(-1);f.body.push(a(f,n))}c=oS(r[t.nextIndex],u)}const d=Mu({negate:e});return l.length===1?d.body=l[0].body:(d.kind="intersection",d.body=l.map(f=>f.body.length===1?f.body[0]:f)),t.nextIndex++,d}function S6({kind:e,negate:t,value:n},r){const{normalizeUnknownPropertyNames:a,skipPropertyNameValidation:l,unicodePropertyMap:u}=r;if(e==="property"){const c=Dd(n);if(Dg.has(c)&&!(u!=null&&u.has(c)))e="posix",n=c;else return Fa(n,{negate:t,normalizeUnknownPropertyNames:a,skipPropertyNameValidation:l,unicodePropertyMap:u})}return e==="posix"?L6(n,{negate:t}):Op(e,{negate:t})}function w6(e,t,n){const{tokens:r,capturingGroups:a,namedGroupsByName:l,skipLookbehindValidation:u,walk:c}=t,d=R6(e),f=d.type==="AbsenceFunction",p=aS(d),m=p&&d.negate;if(d.type==="CapturingGroup"&&(a.push(d),d.name&&WP(l,d.name,[]).push(d)),f&&n.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let x=lS(r[t.nextIndex]);for(;x.type!=="GroupClose";){if(x.type==="Alternator")d.body.push(Vi()),t.nextIndex++;else{const y=d.body.at(-1),w=c(y,{...n,isInAbsenceFunction:n.isInAbsenceFunction||f,isInLookbehind:n.isInLookbehind||p,isInNegLookbehind:n.isInNegLookbehind||m});if(y.body.push(w),(p||n.isInLookbehind)&&!u){const C="Lookbehind includes a pattern not allowed by Oniguruma";if(m||n.isInNegLookbehind){if(iS(w)||w.type==="CapturingGroup")throw new Error(C)}else if(iS(w)||aS(w)&&w.negate)throw new Error(C)}}x=lS(r[t.nextIndex])}return t.nextIndex++,d}function C6({kind:e,min:t,max:n},r){const a=r.parent,l=a.body.at(-1);if(!l||!g6(l))throw new Error("Quantifier requires a repeatable token");const u=lk(e,t,n,l);return a.body.pop(),u}function k6({raw:e},t){const{capturingGroups:n,subroutines:r}=t;let a=e.slice(3,-1);const l=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(a);if(l){const c=+l.groups.num,d=n.length;if(t.hasNumberedRef=!0,a={"":c,"+":d+c,"-":d+1-c}[l.groups.sign],a<1)throw new Error("Invalid subroutine number")}else a==="0"&&(a=0);const u=ck(a);return r.push(u),u}function E6(e,t){return{type:"AbsenceFunction",kind:e,body:Wl(t==null?void 0:t.body)}}function Vi(e){return{type:"Alternative",body:uk(e==null?void 0:e.body)}}function Dp(e,t){const n={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(n.negate=!!(t!=null&&t.negate)),n}function Rp(e,t){const n=!!(t!=null&&t.orphan);return{type:"Backreference",ref:e,...n&&{orphan:n}}}function ok(e,t){const n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!O6(n.name))throw new Error(`Group name "${n.name}" invalid in Oniguruma`);return{type:"CapturingGroup",number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:Wl(t==null?void 0:t.body)}}function Ld(e,t){const n={useLastValid:!1,...t};if(e>1114111){const r=e.toString(16);if(n.useLastValid)e=1114111;else throw e>1310719?new Error(`Invalid code point out of range "\\x{${r}}"`):new Error(`Invalid code point out of range in JS "\\x{${r}}"`)}return{type:"Character",value:e}}function Mu(e){const t={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:t.kind,negate:t.negate,body:uk(e==null?void 0:e.body)}}function j6(e,t){if(t.value<e.value)throw new Error("Character class range out of order");return{type:"CharacterClassRange",min:e,max:t}}function Op(e,t){const n=!!(t!=null&&t.negate),r={type:"CharacterSet",kind:e};return(e==="digit"||e==="hex"||e==="newline"||e==="space"||e==="word")&&(r.negate=n),(e==="text_segment"||e==="newline"&&!n)&&(r.variableLength=!0),r}function N6(e,t={}){if(e==="keep")return{type:"Directive",kind:e};if(e==="flags")return{type:"Directive",kind:e,flags:co(t.flags)};throw new Error(`Unexpected directive kind "${e}"`)}function T6(e){return{type:"Flags",...e}}function Lr(e){const t=e==null?void 0:e.atomic,n=e==null?void 0:e.flags;if(t&&n)throw new Error("Atomic group cannot have flags");return{type:"Group",...t&&{atomic:t},...n&&{flags:n},body:Wl(e==null?void 0:e.body)}}function Mi(e){const t={behind:!1,negate:!1,...e};return{type:"LookaroundAssertion",kind:t.behind?"lookbehind":"lookahead",negate:t.negate,body:Wl(e==null?void 0:e.body)}}function A6(e,t,n){return{type:"NamedCallout",kind:e,tag:t,arguments:n}}function L6(e,t){const n=!!(t!=null&&t.negate);if(!Dg.has(e))throw new Error(`Invalid POSIX class "${e}"`);return{type:"CharacterSet",kind:"posix",value:e,negate:n}}function lk(e,t,n,r){if(t>n)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:t,max:n,body:r}}function D6(e,t){return{type:"Regex",body:Wl(t==null?void 0:t.body),flags:e}}function ck(e){return{type:"Subroutine",ref:e}}function Fa(e,t){var a;const n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t};let r=(a=n.unicodePropertyMap)==null?void 0:a.get(Dd(e));if(!r){if(n.normalizeUnknownPropertyNames)r=I6(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw new Error(wn`Invalid Unicode property "\p{${e}}"`)}return{type:"CharacterSet",kind:"property",value:r??e,negate:n.negate}}function R6({flags:e,kind:t,name:n,negate:r,number:a}){switch(t){case"absence_repeater":return E6("repeater");case"atomic":return Lr({atomic:!0});case"capturing":return ok(a,{name:n});case"group":return Lr({flags:e});case"lookahead":case"lookbehind":return Mi({behind:t==="lookbehind",negate:r});default:throw new Error(`Unexpected group kind "${t}"`)}}function Wl(e){if(e===void 0)e=[Vi()];else if(!Array.isArray(e)||!e.length||!e.every(t=>t.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return e}function uk(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(t=>!!t.type))throw new Error("Invalid body; expected array of nodes");return e}function iS(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function aS(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function O6(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function I6(e){return e.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function Dd(e){return e.replace(/[- _]+/g,"").toLowerCase()}function oS(e,t){const n=t;return co(e,`Unclosed character class${(n==null?void 0:n.type)==="Character"&&n.value===93&&n.raw==="]"?' (started with "]")':""}`)}function lS(e){return co(e,"Unclosed group")}function wl(e,t,n=null){function r(l,u){for(let c=0;c<l.length;c++){const d=a(l[c],u,c,l);c=Math.max(-1,c+d)}}function a(l,u=null,c=null,d=null){var S,v;let f=0,p=!1;const m={node:l,parent:u,key:c,container:d,root:e,remove(){wu(d).splice(Math.max(0,Oa(c)+f),1),f--,p=!0},removeAllNextSiblings(){return wu(d).splice(Oa(c)+1)},removeAllPrevSiblings(){const b=Oa(c)+f;return f-=b,wu(d).splice(0,Math.max(0,b))},replaceWith(b,E={}){const j=!!E.traverse;d?d[Math.max(0,Oa(c)+f)]=b:co(u,"Can't replace root node")[c]=b,j&&a(b,u,c,d),p=!0},replaceWithMultiple(b,E={}){const j=!!E.traverse;if(wu(d).splice(Math.max(0,Oa(c)+f),1,...b),f+=b.length-1,j){let T=0;for(let D=0;D<b.length;D++)T+=a(b[D],u,Oa(c)+D+T,d)}p=!0},skip(){p=!0}},{type:x}=l,y=t["*"],w=t[x],C=typeof y=="function"?y:y==null?void 0:y.enter,_=typeof w=="function"?w:w==null?void 0:w.enter;if(C==null||C(m,n),_==null||_(m,n),!p)switch(x){case"AbsenceFunction":case"Alternative":case"CapturingGroup":case"CharacterClass":case"Group":case"LookaroundAssertion":r(l.body,l);break;case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"Directive":case"Flags":case"NamedCallout":case"Subroutine":break;case"CharacterClassRange":a(l.min,l,"min"),a(l.max,l,"max");break;case"Quantifier":a(l.body,l,"body");break;case"Regex":r(l.body,l),a(l.flags,l,"flags");break;default:throw new Error(`Unexpected node type "${x}"`)}return(S=w==null?void 0:w.exit)==null||S.call(w,m,n),(v=y==null?void 0:y.exit)==null||v.call(y,m,n),f}return a(e),e}function wu(e){if(!Array.isArray(e))throw new Error("Container expected");return e}function Oa(e){if(typeof e!="number")throw new Error("Numeric key expected");return e}const M6=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function P6(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function B6(e,t,n,r){return e.slice(0,t)+r+e.slice(t+n.length)}const Cr=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function Og(e,t,n,r){const a=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,"gsu"),l=[!1];let u=0,c="";for(const d of e.matchAll(a)){const{0:f,groups:{$skip:p}}=d;if(!p&&(!r||r===Cr.DEFAULT==!u)){n instanceof Function?c+=n(d,{context:u?Cr.CHAR_CLASS:Cr.DEFAULT,negated:l[l.length-1]}):c+=n;continue}f[0]==="["?(u++,l.push(f[1]==="^")):f==="]"&&u&&(u--,l.pop()),c+=f}return c}function dk(e,t,n,r){Og(e,t,n,r)}function $6(e,t,n=0,r){if(!new RegExp(t,"su").test(e))return null;const a=new RegExp(`${t}|(?<$skip>\\\\?.)`,"gsu");a.lastIndex=n;let l=0,u;for(;u=a.exec(e);){const{0:c,groups:{$skip:d}}=u;if(!d&&(!r||r===Cr.DEFAULT==!l))return u;c==="["?l++:c==="]"&&l&&l--,a.lastIndex==u.index&&a.lastIndex++}return null}function Cu(e,t,n){return!!$6(e,t,0,n)}function z6(e,t){const n=/\\?./gsu;n.lastIndex=t;let r=e.length,a=0,l=1,u;for(;u=n.exec(e);){const[c]=u;if(c==="[")a++;else if(a)c==="]"&&a--;else if(c==="(")l++;else if(c===")"&&(l--,!l)){r=u.index;break}}return e.slice(t,r)}const cS=new RegExp(String.raw`(?<noncapturingStart>${M6})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function H6(e,t){const n=(t==null?void 0:t.hiddenCaptures)??[];let r=(t==null?void 0:t.captureTransfers)??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:n};const a="(?>",l="(?:(?=(",u=[0],c=[];let d=0,f=0,p=NaN,m;do{m=!1;let x=0,y=0,w=!1,C;for(cS.lastIndex=Number.isNaN(p)?0:p+l.length;C=cS.exec(e);){const{0:_,index:S,groups:{capturingStart:v,noncapturingStart:b}}=C;if(_==="[")x++;else if(x)_==="]"&&x--;else if(_===a&&!w)p=S,w=!0;else if(w&&b)y++;else if(v)w?y++:(d++,u.push(d+f));else if(_===")"&&w){if(!y){f++;const E=d+f;if(e=`${e.slice(0,p)}${l}${e.slice(p+a.length,S)}))<$$${E}>)${e.slice(S+1)}`,m=!0,c.push(E),P6(n,E),r.size){const j=new Map;r.forEach((T,D)=>{j.set(D>=E?D+1:D,T.map(L=>L>=E?L+1:L))}),r=j}break}y--}}}while(m);return n.push(...c),e=Og(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:x,groups:{backrefNum:y,wrappedBackrefNum:w}})=>{if(y){const C=+y;if(C>u.length-1)throw new Error(`Backref "${x}" greater than number of captures`);return`\\${u[C]}`}return`\\${w}`},Cr.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:n}}const hk=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,zm=new RegExp(String.raw`
|
|
170
|
-
\\(?: \d+
|
|
171
|
-
| c[A-Za-z]
|
|
172
|
-
| [gk]<[^>]+>
|
|
173
|
-
| [pPu]\{[^\}]+\}
|
|
174
|
-
| u[A-Fa-f\d]{4}
|
|
175
|
-
| x[A-Fa-f\d]{2}
|
|
176
|
-
)
|
|
177
|
-
| \((?: \? (?: [:=!>]
|
|
178
|
-
| <(?:[=!]|[^>]+>)
|
|
179
|
-
| [A-Za-z\-]+:
|
|
180
|
-
| \(DEFINE\)
|
|
181
|
-
))?
|
|
182
|
-
| (?<qBase>${hk})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
|
|
183
|
-
| \\?.
|
|
184
|
-
`.replace(/\s+/g,""),"gsu");function U6(e){if(!new RegExp(`${hk}\\+`).test(e))return{pattern:e};const t=[];let n=null,r=null,a="",l=0,u;for(zm.lastIndex=0;u=zm.exec(e);){const{0:c,index:d,groups:{qBase:f,qMod:p,invalidQ:m}}=u;if(c==="[")l||(r=d),l++;else if(c==="]")l?l--:r=null;else if(!l)if(p==="+"&&a&&!a.startsWith("(")){if(m)throw new Error(`Invalid quantifier "${c}"`);let x=-1;if(/^\{\d+\}$/.test(f))e=B6(e,d+f.length,p,"");else{if(a===")"||a==="]"){const y=a===")"?n:r;if(y===null)throw new Error(`Invalid unmatched "${a}"`);e=`${e.slice(0,y)}(?>${e.slice(y,d)}${f})${e.slice(d+c.length)}`}else e=`${e.slice(0,d-a.length)}(?>${a}${f})${e.slice(d+c.length)}`;x+=4}zm.lastIndex+=x}else c[0]==="("?t.push(d):c===")"&&(n=t.length?t.pop():null);a=c}return{pattern:e}}const Sr=String.raw,F6=Sr`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,Ip=Sr`\(\?R=(?<rDepth>[^\)]+)\)|${F6}`,Rd=Sr`\(\?<(?![=!])(?<captureName>[^>]+)>`,fk=Sr`${Rd}|(?<unnamed>\()(?!\?)`,Ti=new RegExp(Sr`${Rd}|${Ip}|\(\?|\\?.`,"gsu"),Hm="Cannot use multiple overlapping recursions";function V6(e,t){const{hiddenCaptures:n,mode:r}={hiddenCaptures:[],mode:"plugin",...t};let a=(t==null?void 0:t.captureTransfers)??new Map;if(!new RegExp(Ip,"su").test(e))return{pattern:e,captureTransfers:a,hiddenCaptures:n};if(r==="plugin"&&Cu(e,Sr`\(\?\(DEFINE\)`,Cr.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");const l=[],u=Cu(e,Sr`\\[1-9]`,Cr.DEFAULT),c=new Map,d=[];let f=!1,p=0,m=0,x;for(Ti.lastIndex=0;x=Ti.exec(e);){const{0:y,groups:{captureName:w,rDepth:C,gRNameOrNum:_,gRDepth:S}}=x;if(y==="[")p++;else if(p)y==="]"&&p--;else if(C){if(uS(C),f)throw new Error(Hm);if(u)throw new Error(`${r==="external"?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);const v=e.slice(0,x.index),b=e.slice(Ti.lastIndex);if(Cu(b,Ip,Cr.DEFAULT))throw new Error(Hm);const E=+C-1;e=dS(v,b,E,!1,n,l,m),a=fS(a,v,E,l.length,0,m);break}else if(_){uS(S);let v=!1;for(const U of d)if(U.name===_||U.num===+_){if(v=!0,U.hasRecursedWithin)throw new Error(Hm);break}if(!v)throw new Error(Sr`Recursive \g cannot be used outside the referenced group "${r==="external"?_:Sr`\g<${_}&R=${S}>`}"`);const b=c.get(_),E=z6(e,b);if(u&&Cu(E,Sr`${Rd}|\((?!\?)`,Cr.DEFAULT))throw new Error(`${r==="external"?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);const j=e.slice(b,x.index),T=E.slice(j.length+y.length),D=l.length,L=+S-1,R=dS(j,T,L,!0,n,l,m);a=fS(a,j,L,l.length-D,D,m);const M=e.slice(0,b),V=e.slice(b+E.length);e=`${M}${R}${V}`,Ti.lastIndex+=R.length-y.length-j.length-T.length,d.forEach(U=>U.hasRecursedWithin=!0),f=!0}else if(w)m++,c.set(String(m),Ti.lastIndex),c.set(w,Ti.lastIndex),d.push({num:m,name:w});else if(y[0]==="("){const v=y==="(";v&&(m++,c.set(String(m),Ti.lastIndex)),d.push(v?{num:m}:{})}else y===")"&&d.pop()}return n.push(...l),{pattern:e,captureTransfers:a,hiddenCaptures:n}}function uS(e){const t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function dS(e,t,n,r,a,l,u){const c=new Set;r&&dk(e+t,Rd,({groups:{captureName:f}})=>{c.add(f)},Cr.DEFAULT);const d=[n,r?c:null,a,l,u];return`${e}${hS(`(?:${e}`,"forward",...d)}(?:)${hS(`${t})`,"backward",...d)}${t}`}function hS(e,t,n,r,a,l,u){const d=p=>t==="forward"?p+2:n-p+2-1;let f="";for(let p=0;p<n;p++){const m=d(p);f+=Og(e,Sr`${fk}|\\k<(?<backref>[^>]+)>`,({0:x,groups:{captureName:y,unnamed:w,backref:C}})=>{if(C&&r&&!r.has(C))return x;const _=`_$${m}`;if(w||y){const S=u+l.length+1;return l.push(S),G6(a,S),w?x:`(?<${y}${_}>`}return Sr`\k<${C}${_}>`},Cr.DEFAULT)}return f}function G6(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function fS(e,t,n,r,a,l){if(e.size&&r){let u=0;dk(t,fk,()=>u++,Cr.DEFAULT);const c=l-u+a,d=new Map;return e.forEach((f,p)=>{const m=(r-u*n)/n,x=u*n,y=p>c+u?p+r:p,w=[];for(const C of f)if(C<=c)w.push(C);else if(C>c+u+m)w.push(C+r);else if(C<=c+u)for(let _=0;_<=n;_++)w.push(C+u*_);else for(let _=0;_<=n;_++)w.push(C+x+m*_);d.set(y,w)}),d}return e}var xn=String.fromCodePoint,st=String.raw,Rr={},Od=globalThis.RegExp;Rr.flagGroups=(()=>{try{new Od("(?i:)")}catch{return!1}return!0})();Rr.unicodeSets=(()=>{try{new Od("[[]]","v")}catch{return!1}return!0})();Rr.bugFlagVLiteralHyphenIsRange=Rr.unicodeSets?(()=>{try{new Od(st`[\d\-a]`,"v")}catch{return!0}return!1})():!1;Rr.bugNestedClassIgnoresNegation=Rr.unicodeSets&&new Od("[[^a]]","v").test("a");function td(e,{enable:t,disable:n}){return{dotAll:!(n!=null&&n.dotAll)&&!!(t!=null&&t.dotAll||e.dotAll),ignoreCase:!(n!=null&&n.ignoreCase)&&!!(t!=null&&t.ignoreCase||e.ignoreCase)}}function Ol(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function Mp(e,t){return mS[e]>=mS[t]}function W6(e,t){if(e==null)throw new Error(t??"Value expected");return e}var mS={ES2025:2025,ES2024:2024,ES2018:2018},q6={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function mk(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!q6[e.target])throw new Error(`Unexpected target "${e.target}"`);const t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target==="auto"&&(t.target=Rr.flagGroups?"ES2025":Rr.unicodeSets?"ES2024":"ES2018"),t}var K6="[ -\r ]",Y6=new Set([xn(304),xn(305)]),ms=st`[\p{L}\p{M}\p{N}\p{Pc}]`;function pk(e){if(Y6.has(e))return[e];const t=new Set,n=e.toLowerCase(),r=n.toUpperCase(),a=J6.get(n),l=X6.get(n),u=Q6.get(n);return[...r].length===1&&t.add(r),u&&t.add(u),a&&t.add(a),t.add(n),l&&t.add(l),[...t]}var Ig=new Map(`C Other
|
|
185
|
-
Cc Control cntrl
|
|
186
|
-
Cf Format
|
|
187
|
-
Cn Unassigned
|
|
188
|
-
Co Private_Use
|
|
189
|
-
Cs Surrogate
|
|
190
|
-
L Letter
|
|
191
|
-
LC Cased_Letter
|
|
192
|
-
Ll Lowercase_Letter
|
|
193
|
-
Lm Modifier_Letter
|
|
194
|
-
Lo Other_Letter
|
|
195
|
-
Lt Titlecase_Letter
|
|
196
|
-
Lu Uppercase_Letter
|
|
197
|
-
M Mark Combining_Mark
|
|
198
|
-
Mc Spacing_Mark
|
|
199
|
-
Me Enclosing_Mark
|
|
200
|
-
Mn Nonspacing_Mark
|
|
201
|
-
N Number
|
|
202
|
-
Nd Decimal_Number digit
|
|
203
|
-
Nl Letter_Number
|
|
204
|
-
No Other_Number
|
|
205
|
-
P Punctuation punct
|
|
206
|
-
Pc Connector_Punctuation
|
|
207
|
-
Pd Dash_Punctuation
|
|
208
|
-
Pe Close_Punctuation
|
|
209
|
-
Pf Final_Punctuation
|
|
210
|
-
Pi Initial_Punctuation
|
|
211
|
-
Po Other_Punctuation
|
|
212
|
-
Ps Open_Punctuation
|
|
213
|
-
S Symbol
|
|
214
|
-
Sc Currency_Symbol
|
|
215
|
-
Sk Modifier_Symbol
|
|
216
|
-
Sm Math_Symbol
|
|
217
|
-
So Other_Symbol
|
|
218
|
-
Z Separator
|
|
219
|
-
Zl Line_Separator
|
|
220
|
-
Zp Paragraph_Separator
|
|
221
|
-
Zs Space_Separator
|
|
222
|
-
ASCII
|
|
223
|
-
ASCII_Hex_Digit AHex
|
|
224
|
-
Alphabetic Alpha
|
|
225
|
-
Any
|
|
226
|
-
Assigned
|
|
227
|
-
Bidi_Control Bidi_C
|
|
228
|
-
Bidi_Mirrored Bidi_M
|
|
229
|
-
Case_Ignorable CI
|
|
230
|
-
Cased
|
|
231
|
-
Changes_When_Casefolded CWCF
|
|
232
|
-
Changes_When_Casemapped CWCM
|
|
233
|
-
Changes_When_Lowercased CWL
|
|
234
|
-
Changes_When_NFKC_Casefolded CWKCF
|
|
235
|
-
Changes_When_Titlecased CWT
|
|
236
|
-
Changes_When_Uppercased CWU
|
|
237
|
-
Dash
|
|
238
|
-
Default_Ignorable_Code_Point DI
|
|
239
|
-
Deprecated Dep
|
|
240
|
-
Diacritic Dia
|
|
241
|
-
Emoji
|
|
242
|
-
Emoji_Component EComp
|
|
243
|
-
Emoji_Modifier EMod
|
|
244
|
-
Emoji_Modifier_Base EBase
|
|
245
|
-
Emoji_Presentation EPres
|
|
246
|
-
Extended_Pictographic ExtPict
|
|
247
|
-
Extender Ext
|
|
248
|
-
Grapheme_Base Gr_Base
|
|
249
|
-
Grapheme_Extend Gr_Ext
|
|
250
|
-
Hex_Digit Hex
|
|
251
|
-
IDS_Binary_Operator IDSB
|
|
252
|
-
IDS_Trinary_Operator IDST
|
|
253
|
-
ID_Continue IDC
|
|
254
|
-
ID_Start IDS
|
|
255
|
-
Ideographic Ideo
|
|
256
|
-
Join_Control Join_C
|
|
257
|
-
Logical_Order_Exception LOE
|
|
258
|
-
Lowercase Lower
|
|
259
|
-
Math
|
|
260
|
-
Noncharacter_Code_Point NChar
|
|
261
|
-
Pattern_Syntax Pat_Syn
|
|
262
|
-
Pattern_White_Space Pat_WS
|
|
263
|
-
Quotation_Mark QMark
|
|
264
|
-
Radical
|
|
265
|
-
Regional_Indicator RI
|
|
266
|
-
Sentence_Terminal STerm
|
|
267
|
-
Soft_Dotted SD
|
|
268
|
-
Terminal_Punctuation Term
|
|
269
|
-
Unified_Ideograph UIdeo
|
|
270
|
-
Uppercase Upper
|
|
271
|
-
Variation_Selector VS
|
|
272
|
-
White_Space space
|
|
273
|
-
XID_Continue XIDC
|
|
274
|
-
XID_Start XIDS`.split(/\s/).map(e=>[Dd(e),e])),X6=new Map([["s",xn(383)],[xn(383),"s"]]),Q6=new Map([[xn(223),xn(7838)],[xn(107),xn(8490)],[xn(229),xn(8491)],[xn(969),xn(8486)]]),J6=new Map([Xs(453),Xs(456),Xs(459),Xs(498),...Um(8072,8079),...Um(8088,8095),...Um(8104,8111),Xs(8124),Xs(8140),Xs(8188)]),Z6=new Map([["alnum",st`[\p{Alpha}\p{Nd}]`],["alpha",st`\p{Alpha}`],["ascii",st`\p{ASCII}`],["blank",st`[\p{Zs}\t]`],["cntrl",st`\p{Cc}`],["digit",st`\p{Nd}`],["graph",st`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",st`\p{Lower}`],["print",st`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",st`[\p{P}\p{S}]`],["space",st`\p{space}`],["upper",st`\p{Upper}`],["word",st`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",st`\p{AHex}`]]);function eB(e,t){const n=[];for(let r=e;r<=t;r++)n.push(r);return n}function Xs(e){const t=xn(e);return[t.toLowerCase(),t]}function Um(e,t){return eB(e,t).map(n=>Xs(n))}var gk=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function tB(e,t){const n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};xk(e);const r={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:Mp(n.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};wl(e,nB,r);const a={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},l={currentFlags:a,prevFlags:null,globalFlags:a,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:r.subroutineRefMap};wl(e,rB,l);const u={groupsByName:l.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:l.reffedNodesByReferencer};return wl(e,sB,u),e._originMap=l.groupOriginByCopy,e._strategy=r.strategy,e}var nB={AbsenceFunction({node:e,parent:t,replaceWith:n}){const{body:r,kind:a}=e;if(a==="repeater"){const l=Lr();l.body[0].body.push(Mi({negate:!0,body:r}),Fa("Any"));const u=Lr();u.body[0].body.push(lk("greedy",0,1/0,l)),n(nn(u,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:r}){const a=e.body.filter(l=>l.kind==="flags");for(let l=n+1;l<t.body.length;l++){const u=t.body[l];Ol(r,u,[]).push(...a)}},exit({node:e},{flagDirectivesByAlt:t}){var n;if((n=t.get(e))!=null&&n.length){const r=bk(t.get(e));if(r){const a=Lr({flags:r});a.body[0].body=e.body,e.body=[nn(a,e)]}}}},Assertion({node:e,parent:t,key:n,container:r,root:a,remove:l,replaceWith:u},c){const{kind:d,negate:f}=e,{asciiWordBoundaries:p,avoidSubclass:m,supportedGNodes:x,wordIsAscii:y}=c;if(d==="text_segment_boundary")throw new Error(`Unsupported text segment boundary "\\${f?"Y":"y"}"`);if(d==="line_end")u(nn(Mi({body:[Vi({body:[Dp("string_end")]}),Vi({body:[Ld(10)]})]}),t));else if(d==="line_start")u(nn(ps(st`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(d==="search_start")if(x.has(e))a.flags.sticky=!0,l();else{const w=r[n-1];if(w&&uB(w))u(nn(Mi({negate:!0}),t));else{if(m)throw new Error(st`Uses "\G" in a way that requires a subclass`);u(Qs(Dp("string_start"),t)),c.strategy="clip_search"}}else if(!(d==="string_end"||d==="string_start"))if(d==="string_end_newline")u(nn(ps(st`(?=\n?\z)`),t));else if(d==="word_boundary"){if(!y&&!p){const w=`(?:(?<=${ms})(?!${ms})|(?<!${ms})(?=${ms}))`,C=`(?:(?<=${ms})(?=${ms})|(?<!${ms})(?!${ms}))`;u(nn(ps(f?C:w),t))}}else throw new Error(`Unexpected assertion kind "${d}"`)},Backreference({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!Vm(n)&&(n=Fm(n,t),e.ref=n)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:n}){let{name:r}=e;r&&!Vm(r)&&(r=Fm(r,t),e.name=r),n.set(e.number,e),r&&n.set(r,e)},CharacterClassRange({node:e,parent:t,replaceWith:n}){if(t.kind==="intersection"){const r=Mu({body:[e]});n(nn(r,t),{traverse:!0})}},CharacterSet({node:e,parent:t,replaceWith:n},{accuracy:r,minTargetEs2024:a,digitIsAscii:l,spaceIsAscii:u,wordIsAscii:c}){const{kind:d,negate:f,value:p}=e;if(l&&(d==="digit"||p==="digit")){n(Qs(Op("digit",{negate:f}),t));return}if(u&&(d==="space"||p==="space")){n(nn(Gm(ps(K6),f),t));return}if(c&&(d==="word"||p==="word")){n(Qs(Op("word",{negate:f}),t));return}if(d==="any")n(Qs(Fa("Any"),t));else if(d==="digit")n(Qs(Fa("Nd",{negate:f}),t));else if(d!=="dot")if(d==="text_segment"){if(r==="strict")throw new Error(st`Use of "\X" requires non-strict accuracy`);const m="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",x=st`\p{RI}{2}|${m}(?:\u200D${m})*`;n(nn(ps(st`(?>\r\n|${a?st`\p{RGI_Emoji}`:x}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(d==="hex")n(Qs(Fa("AHex",{negate:f}),t));else if(d==="newline")n(nn(ps(f?`[^
|
|
275
|
-
]`:`(?>\r
|
|
276
|
-
?|[
|
|
277
|
-
\v\f
\u2028\u2029])`),t));else if(d==="posix")if(!a&&(p==="graph"||p==="print")){if(r==="strict")throw new Error(`POSIX class "${p}" requires min target ES2024 or non-strict accuracy`);let m={graph:"!-~",print:" -~"}[p];f&&(m=`\0-${xn(m.codePointAt(0)-1)}${xn(m.codePointAt(2)+1)}-`),n(nn(ps(`[${m}]`),t))}else n(nn(Gm(ps(Z6.get(p)),f),t));else if(d==="property")Ig.has(Dd(p))||(e.key="sc");else if(d==="space")n(Qs(Fa("space",{negate:f}),t));else if(d==="word")n(nn(Gm(ps(ms),f),t));else throw new Error(`Unexpected character set kind "${d}"`)},Directive({node:e,parent:t,root:n,remove:r,replaceWith:a,removeAllPrevSiblings:l,removeAllNextSiblings:u}){const{kind:c,flags:d}=e;if(c==="flags")if(!d.enable&&!d.disable)r();else{const f=Lr({flags:d});f.body[0].body=u(),a(nn(f,t),{traverse:!0})}else if(c==="keep"){const f=n.body[0],m=n.body.length===1&&ik(f,{type:"Group"})&&f.body[0].body.length===1?f.body[0]:n;if(t.parent!==m||m.body.length>1)throw new Error(st`Uses "\K" in a way that's unsupported`);const x=Mi({behind:!0});x.body[0].body=l(),a(nn(x,t))}else throw new Error(`Unexpected directive kind "${c}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;const{enable:t,disable:n}=e.flags;t!=null&&t.extended&&delete t.extended,n!=null&&n.extended&&delete n.extended,t!=null&&t.dotAll&&(n!=null&&n.dotAll)&&delete t.dotAll,t!=null&&t.ignoreCase&&(n!=null&&n.ignoreCase)&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){const{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){const{kind:r}=e;if(r==="fail")n(nn(Mi({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${r.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const t=Lr();t.body[0].body.push(e.body),e.body=nn(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){const n=[];let r=!1,a=!1;for(const l of e.body)if(l.body.length===1&&l.body[0].kind==="search_start")l.body.pop();else{const u=_k(l.body);u?(r=!0,Array.isArray(u)?n.push(...u):n.push(u)):a=!0}r&&!a&&n.forEach(l=>t.add(l))},exit(e,{accuracy:t,passedLookbehind:n,strategy:r}){if(t==="strict"&&n&&r)throw new Error(st`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!Vm(n)&&(n=Fm(n,t),e.ref=n)}},rB={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){const{orphan:r,ref:a}=e;r||n.set(e,[...t.get(a).map(({node:l})=>l)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:r},{groupOriginByCopy:a,groupsByName:l,multiplexCapturesToLeftByRef:u,openRefs:c,reffedNodesByReferencer:d}){const f=a.get(e);if(f&&c.has(e.number)){const m=Qs(pS(e.number),t);d.set(m,c.get(e.number)),n(m);return}c.set(e.number,e),u.set(e.number,[]),e.name&&Ol(u,e.name,[]);const p=u.get(e.name??e.number);for(let m=0;m<p.length;m++){const x=p[m];if(f===x.node||f&&f===x.origin||e===x.origin){p.splice(m,1);break}}if(u.get(e.number).push({node:e,origin:f}),e.name&&u.get(e.name).push({node:e,origin:f}),e.name){const m=Ol(l,e.name,new Map);let x=!1;if(f)x=!0;else for(const y of m.values())if(!y.hasDuplicateNameToRemove){x=!0;break}l.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:x})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=td(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},r){const{isRecursive:a,ref:l}=e;if(a){let p=t;for(;(p=p.parent)&&!(p.type==="CapturingGroup"&&(p.name===l||p.number===l)););r.reffedNodesByReferencer.set(e,p);return}const u=r.subroutineRefMap.get(l),c=l===0,d=c?pS(0):yk(u,r.groupOriginByCopy,null);let f=d;if(!c){const p=bk(oB(u,x=>x.type==="Group"&&!!x.flags)),m=p?td(r.globalFlags,p):r.globalFlags;iB(m,r.currentFlags)||(f=Lr({flags:lB(m)}),f.body[0].body.push(d))}n(nn(f,t),{traverse:!c})}},sB={Backreference({node:e,parent:t,replaceWith:n},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}const l=r.reffedNodesByReferencer.get(e).filter(u=>aB(u,e));if(!l.length)n(nn(Mi({negate:!0}),t));else if(l.length>1){const u=Lr({atomic:!0,body:l.reverse().map(c=>Vi({body:[Rp(c.number)]}))});n(nn(u,t))}else e.ref=l[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){const n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let r=0;r<n;r++){const a=ok();e.body.at(-1).body.push(a)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function xk(e){wl(e,{"*"({node:t,parent:n}){t.parent=n}})}function iB(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function aB(e,t){let n=t;do{if(n.type==="Regex")return!1;if(n.type==="Alternative")continue;if(n===e)return!1;const r=vk(n.parent);for(const a of r){if(a===n)break;if(a===e||Sk(a,e))return!0}}while(n=n.parent);throw new Error("Unexpected path")}function yk(e,t,n,r){const a=Array.isArray(e)?[]:{};for(const[l,u]of Object.entries(e))l==="parent"?a.parent=Array.isArray(n)?r:n:u&&typeof u=="object"?a[l]=yk(u,t,a,n):(l==="type"&&u==="CapturingGroup"&&t.set(a,t.get(e)??e),a[l]=u);return a}function pS(e){const t=ck(e);return t.isRecursive=!0,t}function oB(e,t){const n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function Fm(e,t){if(t.has(e))return t.get(e);const n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return t.set(e,n),n}function bk(e){const t=["dotAll","ignoreCase"],n={enable:{},disable:{}};return e.forEach(({flags:r})=>{t.forEach(a=>{var l,u;(l=r.enable)!=null&&l[a]&&(delete n.disable[a],n.enable[a]=!0),(u=r.disable)!=null&&u[a]&&(n.disable[a]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function lB({dotAll:e,ignoreCase:t}){const n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function vk(e){if(!e)throw new Error("Node expected");const{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function _k(e){const t=e.find(n=>n.kind==="search_start"||dB(n,{negate:!1})||!cB(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){const n=[];for(const r of t.body){const a=_k(r.body);if(!a)return null;Array.isArray(a)?n.push(...a):n.push(a)}return n}return null}function Sk(e,t){const n=vk(e)??[];for(const r of n)if(r===t||Sk(r,t))return!0;return!1}function cB({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function uB(e){const t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function dB(e,t){const n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&ik(e.body[0],{type:"Assertion",kind:"search_start"})}function Vm(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function ps(e,t){const r=ak(e,{...t,unicodePropertyMap:Ig}).body;return r.length>1||r[0].body.length>1?Lr({body:r}):r[0].body[0]}function Gm(e,t){return e.negate=t,e}function Qs(e,t){return e.parent=t,e}function nn(e,t){return xk(e),e.parent=t,e}function hB(e,t){const n=mk(t),r=Mp(n.target,"ES2024"),a=Mp(n.target,"ES2025"),l=n.rules.recursionLimit;if(!Number.isInteger(l)||l<2||l>20)throw new Error("Invalid recursionLimit; use 2-20");let u=null,c=null;if(!a){const y=[e.flags.ignoreCase];wl(e,fB,{getCurrentModI:()=>y.at(-1),popModI(){y.pop()},pushModI(w){y.push(w)},setHasCasedChar(){y.at(-1)?u=!0:c=!0}})}const d={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||u)&&!c)};let f=e;const p={accuracy:n.accuracy,appliedGlobalFlags:d,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:f,originMap:e._originMap,recursionLimit:l,useAppliedIgnoreCase:!!(!a&&u&&c),useFlagMods:a,useFlagV:r,verbose:n.verbose};function m(y){return p.lastNode=f,f=y,W6(mB[y.type],`Unexpected node type "${y.type}"`)(y,p,m)}const x={pattern:e.body.map(m).join("|"),flags:m(e.flags),options:{...e.options}};return r||(delete x.options.force.v,x.options.disable.v=!0,x.options.unicodeSetsPlugin=null),x._captureTransfers=new Map,x._hiddenCaptures=[],p.captureMap.forEach((y,w)=>{y.hidden&&x._hiddenCaptures.push(w),y.transferTo&&Ol(x._captureTransfers,y.transferTo,[]).push(w)}),x}var fB={"*":{enter({node:e},t){if(xS(e)){const n=t.getCurrentModI();t.pushModI(e.flags?td({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){xS(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){Mg(xn(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),wk(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&gk.has(e.value)&&t.setHasCasedChar()}},mB={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return t?st`\B`:st`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){const{body:r,name:a,number:l}=e,u={ignoreCase:t.currentFlags.ignoreCase},c=t.originMap.get(e);return c&&(u.hidden=!0,l>c.number&&(u.transferTo=c.number)),t.captureMap.set(l,u),`(${a?`?<${a}>`:""}${r.map(n).join("|")})`},Character({value:e},t){const n=xn(e),r=Ia(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(r!==n)return r;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Mg(n)){const a=pk(n);return t.inCharClass?a.join(""):a.length>1?`[${a.join("")}]`:a[0]}return n},CharacterClass(e,t,n){const{kind:r,negate:a,parent:l}=e;let{body:u}=e;if(r==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");Rr.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&u.some(yS)&&(u=[Ld(45),...u.filter(f=>!yS(f))]);const c=()=>`[${a?"^":""}${u.map(n).join(r==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||Rr.bugNestedClassIgnoresNegation)&&!a){const p=u.filter(m=>m.type==="CharacterClass"&&m.kind==="union"&&m.negate);if(p.length){const m=Lr(),x=m.body[0];return m.parent=l,x.parent=m,u=u.filter(y=>!p.includes(y)),e.body=u,u.length?(e.parent=x,x.body.push(e)):m.body.pop(),p.forEach(y=>{const w=Vi({body:[y]});y.parent=w,w.parent=m,m.body.push(w)}),n(m)}}t.inCharClass=!0;const f=c();return t.inCharClass=!1,f}const d=u[0];if(r==="union"&&!a&&d&&((!t.useFlagV||!t.verbose)&&l.kind==="union"&&!(Rr.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&l.kind==="intersection"&&u.length===1&&d.type!=="CharacterClassRange"))return u.map(n).join("");if(!t.useFlagV&&l.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return c()},CharacterClassRange(e,t){const n=e.min.value,r=e.max.value,a={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},l=Ia(n,a),u=Ia(r,a),c=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){const d=wk(e);bB(d).forEach(p=>{c.add(Array.isArray(p)?`${Ia(p[0],a)}-${Ia(p[1],a)}`:Ia(p,a))})}return`${l}-${u}${[...c].join("")}`},CharacterSet({kind:e,negate:t,value:n,key:r},a){if(e==="dot")return a.currentFlags.dotAll?a.appliedGlobalFlags.dotAll||a.useFlagMods?".":"[^]":st`[^\n]`;if(e==="digit")return t?st`\D`:st`\d`;if(e==="property"){if(a.useAppliedIgnoreCase&&a.currentFlags.ignoreCase&&gk.has(n))throw new Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?st`\P`:st`\p`}{${r?`${r}=`:""}${n}}`}if(e==="word")return t?st`\W`:st`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:r},a,l){const u=a.currentFlags;n&&(a.currentFlags=td(u,n));const c=t.map(l).join("|"),d=!a.verbose&&t.length===1&&r.type!=="Quantifier"&&!e&&(!a.useFlagMods||!n)?c:`(?${vB(e,n,a.useFlagMods)}${c})`;return a.currentFlags=u,d},LookaroundAssertion({body:e,kind:t,negate:n},r,a){return`(?${`${t==="lookahead"?"":"<"}${n?"!":"="}`}${e.map(a).join("|")})`},Quantifier(e,t,n){return n(e.body)+_B(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const r=n.recursionLimit;return t===0?`(?R=${r})`:st`\g<${t}&R=${r}>`}},pB=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),gB=new Set(["-","\\","]","^","["]),xB=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),gS=new Map([[9,st`\t`],[10,st`\n`],[11,st`\v`],[12,st`\f`],[13,st`\r`],[8232,st`\u2028`],[8233,st`\u2029`],[65279,st`\uFEFF`]]),yB=new RegExp("^\\p{Cased}$","u");function Mg(e){return yB.test(e)}function wk(e,t){const n=!!(t!=null&&t.firstOnly),r=e.min.value,a=e.max.value,l=[];if(r<65&&(a===65535||a>=131071)||r===65536&&a>=131071)return l;for(let u=r;u<=a;u++){const c=xn(u);if(!Mg(c))continue;const d=pk(c).filter(f=>{const p=f.codePointAt(0);return p<r||p>a});if(d.length&&(l.push(...d),n))break}return l}function Ia(e,{escDigit:t,inCharClass:n,useFlagV:r}){if(gS.has(e))return gS.get(e);if(e<32||e>126&&e<160||e>262143||t&&SB(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const a=n?r?xB:gB:pB,l=xn(e);return(a.has(l)?"\\":"")+l}function bB(e){const t=e.map(a=>a.codePointAt(0)).sort((a,l)=>a-l),n=[];let r=null;for(let a=0;a<t.length;a++)t[a+1]===t[a]+1?r??(r=t[a]):r===null?n.push(t[a]):(n.push([r,t[a]]),r=null);return n}function vB(e,t,n){if(e)return">";let r="";if(t&&n){const{enable:a,disable:l}=t;r=(a!=null&&a.ignoreCase?"i":"")+(a!=null&&a.dotAll?"s":"")+(l?"-":"")+(l!=null&&l.ignoreCase?"i":"")+(l!=null&&l.dotAll?"s":"")}return`${r}:`}function _B({kind:e,max:t,min:n}){let r;return!n&&t===1?r="?":!n&&t===1/0?r="*":n===1&&t===1/0?r="+":n===t?r=`{${n}}`:r=`{${n},${t===1/0?"":t}}`,r+{greedy:"",lazy:"?",possessive:"+"}[e]}function xS({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function SB(e){return e>47&&e<58}function yS({type:e,value:t}){return e==="Character"&&t===45}var Zs,ys,$i,ei,zi,Il,Pp,ii,wB=(ii=class extends RegExp{constructor(n,r,a){var t=(...i7)=>(super(...i7),ji(this,Il),ji(this,Zs,new Map),ji(this,ys,null),ji(this,$i),ji(this,ei,null),ji(this,zi,null),ve(this,"rawOptions",{}),this);const l=!!(a!=null&&a.lazyCompile);if(n instanceof RegExp){if(a)throw new Error("Cannot provide options when copying a regexp");const u=n;t(u,r),Nr(this,$i,u.source),u instanceof ii&&(Nr(this,Zs,Mn(u,Zs)),Nr(this,ei,Mn(u,ei)),Nr(this,zi,Mn(u,zi)),this.rawOptions=u.rawOptions)}else{const u={hiddenCaptures:[],strategy:null,transfers:[],...a};t(l?"":n,r),Nr(this,$i,n),Nr(this,Zs,kB(u.hiddenCaptures,u.transfers)),Nr(this,zi,u.strategy),this.rawOptions=a??{}}l||Nr(this,ys,this)}get source(){return Mn(this,$i)||"(?:)"}exec(n){if(!Mn(this,ys)){const{lazyCompile:l,...u}=this.rawOptions;Nr(this,ys,new ii(Mn(this,$i),this.flags,u))}const r=this.global||this.sticky,a=this.lastIndex;if(Mn(this,zi)==="clip_search"&&r&&a){this.lastIndex=0;const l=qf(this,Il,Pp).call(this,n.slice(a));return l&&(CB(l,a,n,this.hasIndices),this.lastIndex+=a),l}return qf(this,Il,Pp).call(this,n)}},Zs=new WeakMap,ys=new WeakMap,$i=new WeakMap,ei=new WeakMap,zi=new WeakMap,Il=new WeakSet,Pp=function(n){Mn(this,ys).lastIndex=this.lastIndex;const r=Rv(ii.prototype,this,"exec").call(Mn(this,ys),n);if(this.lastIndex=Mn(this,ys).lastIndex,!r||!Mn(this,Zs).size)return r;const a=[...r];r.length=1;let l;this.hasIndices&&(l=[...r.indices],r.indices.length=1);const u=[0];for(let c=1;c<a.length;c++){const{hidden:d,transferTo:f}=Mn(this,Zs).get(c)??{};if(d?u.push(null):(u.push(r.length),r.push(a[c]),this.hasIndices&&r.indices.push(l[c])),f&&a[c]!==void 0){const p=u[f];if(!p)throw new Error(`Invalid capture transfer to "${p}"`);if(r[p]=a[c],this.hasIndices&&(r.indices[p]=l[c]),r.groups){Mn(this,ei)||Nr(this,ei,EB(this.source));const m=Mn(this,ei).get(f);m&&(r.groups[m]=a[c],this.hasIndices&&(r.indices.groups[m]=l[c]))}}}return r},ii);function CB(e,t,n,r){if(e.index+=t,e.input=n,r){const a=e.indices;for(let u=0;u<a.length;u++){const c=a[u];c&&(a[u]=[c[0]+t,c[1]+t])}const l=a.groups;l&&Object.keys(l).forEach(u=>{const c=l[u];c&&(l[u]=[c[0]+t,c[1]+t])})}}function kB(e,t){const n=new Map;for(const r of e)n.set(r,{hidden:!0});for(const[r,a]of t)for(const l of a)Ol(n,l,{}).transferTo=r;return n}function EB(e){const t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map;let r=0,a=0,l;for(;l=t.exec(e);){const{0:u,groups:{capture:c,name:d}}=l;u==="["?r++:r?u==="]"&&r--:c&&(a++,d&&n.set(a,d))}return n}function jB(e,t){const n=NB(e,t);return n.options?new wB(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function NB(e,t){const n=mk(t),r=ak(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:Ig}),a=tB(r,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),l=hB(a,n),u=V6(l.pattern,{captureTransfers:l._captureTransfers,hiddenCaptures:l._hiddenCaptures,mode:"external"}),c=U6(u.pattern),d=H6(c.pattern,{captureTransfers:u.captureTransfers,hiddenCaptures:u.hiddenCaptures}),f={pattern:d.pattern,flags:`${n.hasIndices?"d":""}${n.global?"g":""}${l.flags}${l.options.disable.v?"u":"v"}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const p=d.hiddenCaptures.sort((w,C)=>w-C),m=Array.from(d.captureTransfers),x=a._strategy,y=f.pattern.length>=n.lazyCompileLength;(p.length||m.length||x||y)&&(f.options={...p.length&&{hiddenCaptures:p},...m.length&&{transfers:m},...x&&{strategy:x},...y&&{lazyCompile:y}})}return f}function Ck(e,t){return jB(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function TB(e={}){const t={target:"auto",cache:new Map,...e};return t.regexConstructor||(t.regexConstructor=n=>Ck(n,{target:t.target})),{createScanner(n){return new GP(n,t)},createString(n){return{content:n}}}}tC(bg({bundledLanguages:()=>Sd,bundledLanguagesAlias:()=>_g,bundledLanguagesBase:()=>vg,bundledLanguagesInfo:()=>_d,bundledThemes:()=>wg,bundledThemesInfo:()=>Sg,codeToHast:()=>KC,codeToHtml:()=>qC,codeToTokens:()=>YC,codeToTokensBase:()=>XC,codeToTokensWithThemes:()=>QC,createHighlighter:()=>Ad,createJavaScriptRegexEngine:()=>TB,createOnigurumaEngine:()=>sC,defaultJavaScriptRegexConstructor:()=>Ck,getLastGrammarState:()=>ZC,getSingletonHighlighter:()=>JC,loadWasm:()=>kg}),VP);let Wm=null;const Cl=new Set,ku=new Map,bS=["typescript","javascript","tsx","jsx","python","bash","json","css","html","sql","yaml","markdown","diff","rust","go","java","c","cpp","ruby","toml","scss","graphql","docker","powershell"],AB=["github-dark-default","vitesse-light","monokai","dracula","nord"],LB={dark:"github-dark-default",light:"vitesse-light",monokai:"monokai",dracula:"dracula",nord:"nord"};function DB(){return{name:"line-numbers",line(e,t){e.properties["data-line"]=String(t+1)}}}async function kk(){return Wm||(Wm=Ad({themes:AB,langs:bS}).then(e=>(bS.forEach(t=>Cl.add(t)),e))),Wm}async function RB(e){if(Cl.has(e))return;if(ku.has(e))return ku.get(e);const t=(async()=>{const n=await kk(),r=Sd[e];if(r){await n.loadLanguage(r),Cl.add(e);return}try{const a=await J(()=>import(`shiki/langs/${e}.mjs`),[]);a.default&&(await n.loadLanguage(a.default),Cl.add(e))}catch(a){console.warn(`Failed to load language ${e}:`,a)}})();ku.set(e,t),await t,ku.delete(e)}const ul=new Map,OB=50;function IB(e,t,n){return`${e}|${t}|${n}`}async function Ek(e,t,n="github-dark-default"){t!=="text"&&!Cl.has(t)&&await RB(t);const r=IB(e,t,n),a=ul.get(r);if(a)return a;const u=(await kk()).codeToHtml(e,{lang:t,theme:n,transformers:[DB()]});if(ul.size>=OB){const c=ul.keys().next().value;c&&ul.delete(c)}return ul.set(r,u),u}const MB={ts:"typescript",tsx:"tsx",js:"javascript",jsx:"jsx",py:"python",rb:"ruby",rs:"rust",go:"go",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",swift:"swift",kt:"kotlin",scala:"scala",sh:"bash",bash:"bash",zsh:"bash",fish:"bash",ps1:"powershell",sql:"sql",html:"html",htm:"html",css:"css",scss:"scss",sass:"sass",less:"less",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",md:"markdown",markdown:"markdown",toml:"toml",ini:"ini",conf:"ini",dockerfile:"docker",makefile:"makefile",cmake:"cmake",graphql:"graphql",gql:"graphql",vue:"vue",svelte:"svelte"};function Id(e){var a;if(!e)return"text";const t=e.split("/").pop()??"",n=t.toLowerCase();if(n==="dockerfile")return"docker";if(n==="makefile")return"makefile";if(n==="cmakelists.txt")return"cmake";const r=(a=t.split(".").pop())==null?void 0:a.toLowerCase();return r?MB[r]??"text":"text"}function jk(){const e=Yt(n=>n.currentPreset);return Yt(n=>n.isCustom)?"github-dark-default":LB[e]??"github-dark-default"}function Nk(e=2e3){const[t,n]=A.useState(!1),r=A.useCallback(async a=>{try{if(navigator.clipboard&&window.isSecureContext)await navigator.clipboard.writeText(a);else{const l=document.createElement("textarea");l.value=a,l.style.position="fixed",l.style.left="-9999px",document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l)}n(!0),setTimeout(()=>n(!1),e)}catch(l){console.error("Failed to copy:",l)}},[e]);return{copied:t,copy:r}}const PB=A.memo(function({language:t,codeString:n,showSyntaxHighlighting:r}){const{copied:a,copy:l}=Nk(),[u,c]=A.useState(null),d=jk(),f=A.useRef(n);return A.useEffect(()=>{r&&(f.current=n,Ek(n,t,d).then(p=>{f.current===n&&c(p)}))},[n,t,d,r]),i.jsxs("div",{className:"relative group my-1.5 rounded overflow-hidden",children:[i.jsxs("div",{className:"absolute bottom-0 right-0 flex items-center gap-2 px-2 py-1 text-xs text-text-muted/70 bg-bg-tertiary/60 rounded-tl rounded-tr z-10",children:[i.jsx("span",{children:t}),i.jsx("button",{type:"button",onClick:p=>{p.preventDefault(),p.stopPropagation(),l(n)},className:"opacity-0 group-hover:opacity-100 transition-opacity hover:text-text-primary p-0.5",title:"Copy code",children:a?i.jsx(Or,{}):i.jsx(Fp,{})})]}),r&&u?i.jsx("div",{className:"min-w-0",dangerouslySetInnerHTML:{__html:u}}):i.jsx("div",{className:"overflow-x-auto",children:i.jsx("pre",{className:"my-0 px-4 py-3 overflow-x-auto font-mono text-sm whitespace-pre-wrap break-word",children:i.jsx("code",{className:`language-${t}`,children:n})})})]})});function BB(e,t){const n=e?"text-text-muted":"text-sky-400",r=e?"text-text-secondary":"text-amber-400";return{code({className:a,children:l,...u}){const c=/language-(\w+)/.exec(a||"");if(!c&&!String(l).includes(`
|
|
278
|
-
`)){const m=e?"text-text-muted":"text-accent-secondary";return i.jsx("code",{className:`bg-bg-tertiary px-1 py-0.5 rounded ${m} font-mono text-xs`,...u,children:l})}const f=(c==null?void 0:c[1])||"text",p=String(l).replace(/\n$/,"");return i.jsx(PB,{language:f,codeString:p,showSyntaxHighlighting:t})},p({children:a}){const l=e?"text-text-muted":"text-text-primary";return i.jsx("p",{className:`${l} mb-1.5 last:mb-0 leading-tight break-words`,children:a})},ul({children:a}){return i.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:a})},ol({children:a}){return i.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:a})},li({children:a}){const l=e?"text-text-muted":"text-text-primary";return i.jsx("li",{className:`${l} text-sm list-item`,children:a})},h1({children:a}){return i.jsx("h1",{className:`text-base font-bold mb-1.5 mt-2 first:mt-0 ${n}`,children:a})},h2({children:a}){return i.jsx("h2",{className:`text-sm font-bold mb-1.5 mt-2 first:mt-0 ${n}`,children:a})},h3({children:a}){return i.jsx("h3",{className:`text-sm font-bold mb-1.5 mt-1.5 first:mt-0 ${n}`,children:a})},h4({children:a}){return i.jsx("h4",{className:`text-sm font-bold mb-1.5 mt-1.5 first:mt-0 ${n}`,children:a})},strong({children:a}){return i.jsx("strong",{className:`font-bold ${r}`,children:a})},em({children:a}){return i.jsx("em",{className:e?"italic text-text-secondary":"italic",children:a})},a({href:a,children:l}){return i.jsx("a",{href:a,className:"text-accent-primary hover:underline text-sm",target:"_blank",rel:"noopener noreferrer",children:l})},blockquote({children:a}){const l=e?"text-text-muted":"text-text-secondary";return i.jsx("blockquote",{className:`border-l-2 border-accent-primary pl-2 my-1.5 ${l} italic text-sm`,children:a})},table({children:a}){return i.jsx("div",{className:"overflow-x-auto my-1.5",children:i.jsx("table",{className:"min-w-full border border-border",children:a})})},th({children:a}){return i.jsx("th",{className:"border border-border bg-bg-tertiary px-2 py-1 text-left font-semibold text-sm",children:a})},td({children:a}){return i.jsx("td",{className:"border border-border px-2 py-1 text-sm",children:a})},hr(){return i.jsx("hr",{className:"border-border my-2"})},input({checked:a,...l}){return i.jsx("input",{type:"checkbox",checked:a,disabled:!0,className:"mr-1.5 w-3.5 h-3.5",...l})}}}const Kn=A.memo(function({content:t,className:n="",muted:r=!1}){const{showSyntaxHighlighting:a}=Gi(),l=A.useMemo(()=>{let c=$B(t);return c=zB(c),c},[t]),u=A.useMemo(()=>BB(r,a),[r,a]);return i.jsx("div",{className:`markdown-content [&_li>p]:inline ${n}`,children:i.jsx(l5,{remarkPlugins:[_I],components:u,children:l})})});function $B(e){let t=e.replace(/^(\s*)•\s/gm,"$1- ");return t=t.replace(/^(\d+)\.\s*\n(?=\S)/gm,"$1. "),t=t.replace(/^\|\s*$/gm,""),t=t.replace(/^\d+\|/gm,""),t}function zB(e){const t=/```/g,n=e.match(t);if(((n==null?void 0:n.length)??0)%2===1){const a=e.lastIndexOf("```");return e.slice(a+3).includes(`
|
|
279
|
-
`),e+"\n```"}return e}const HB=A.memo(function({content:t,variant:n="default"}){return n==="labeled"?i.jsxs("div",{className:"text-text-muted text-sm italic feed-item",children:[i.jsx("span",{className:"text-purple-400",children:"thinking:"}),i.jsx("div",{className:"ml-1.5 mt-0.5 overflow-x-auto",children:i.jsx(Kn,{content:t})})]}):i.jsx("div",{className:"text-text-muted text-sm italic bg-secondary rounded p-1.5 feed-item overflow-x-auto",children:i.jsx(Kn,{content:t,muted:!0})})});function Tk({tool:e,className:t="w-4 h-4 text-text-muted flex-shrink-0"}){return e==="glob"||e==="grep"?i.jsx("svg",{className:t,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}):e==="run_command"||e==="bash"?i.jsx("svg",{className:t,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})}):e==="workspace"?i.jsx("svg",{className:t,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4"})}):i.jsx("svg",{className:t,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})}function UB({code:e,variant:t}){const n=t==="inline"?"span":t==="block-nowrap"?"div":"pre";return i.jsx(n,{className:"language-",children:i.jsx("code",{className:"language-",children:e})})}const eo=A.memo(function({code:t,language:n,variant:r,showLineNumbers:a=!1,startLine:l=1}){const{showSyntaxHighlighting:u}=Gi(),[c,d]=A.useState(null),f=jk(),p=A.useRef(t);if(A.useEffect(()=>{u&&(p.current=t,Ek(t,n,f).then(x=>{p.current===t&&d(x)}))},[t,n,f,u]),!u||!c)return i.jsx(UB,{code:t,variant:r});if(r==="inline")return i.jsx("span",{dangerouslySetInnerHTML:{__html:c}});const m=a?"":"shiki-plain";return i.jsx("div",{className:m,style:{"--shiki-start":l},dangerouslySetInnerHTML:{__html:c}})});function Ak({src:e,alt:t,isOpen:n,onClose:r}){return n?i.jsx(St,{isOpen:n,onClose:r,title:"",size:"full",children:i.jsx("div",{className:"flex items-center justify-center h-full",children:i.jsx("img",{src:e,alt:t,className:"max-w-full max-h-[80vh] object-contain rounded-lg shadow-2xl"})})}):null}const nd=A.memo(function({type:t,children:n}){const r=t==="removed"?"diff-removed-bg diff-removed-border":"diff-added-bg diff-added-border",a=t==="removed"?"line-through decoration-red-400/30":"";return i.jsx("div",{className:`border-l-[3px] ${r}`,children:i.jsx("div",{className:`min-w-0 py-3 ${a}`,children:i.jsx("div",{className:"shiki-compact shiki-transparent-bg",children:n})})})}),FB=A.memo(function({oldString:t,newString:n,filePath:r}){const a=A.useMemo(()=>Id(r),[r]),l=t.length>0,u=n.length>0;return!l&&!u?i.jsx("div",{className:"text-xs text-text-muted italic p-2",children:"No changes"}):i.jsxs("div",{className:"rounded overflow-hidden border border-border",children:[l&&i.jsx(nd,{type:"removed",children:i.jsx(eo,{code:t,language:a,variant:"block",showLineNumbers:!0})}),u&&i.jsx(nd,{type:"added",children:i.jsx(eo,{code:n,language:a,variant:"block",showLineNumbers:!0})})]})}),VB=A.memo(function({content:t,filePath:n}){const r=A.useMemo(()=>Id(n),[n]);return i.jsx("div",{className:"rounded overflow-hidden border border-border max-h-[45vh] overflow-y-auto",children:i.jsx(nd,{type:"added",children:i.jsx(eo,{code:t,language:r,variant:"block",showLineNumbers:!0})})})}),GB=A.memo(function({regions:t,filePath:n}){const r=A.useMemo(()=>Id(n),[n]);return t.length===0?i.jsx("div",{className:"text-xs text-text-muted italic p-2",children:"No changes"}):i.jsx("div",{className:"space-y-2",children:t.map((a,l)=>i.jsx(qB,{region:a,language:r},l))})});function WB(e){const t=[];function n(r,a,l){const u=t[t.length-1];u&&u.type===r&&u.startLine+u.lines.length===a?u.lines.push(l):t.push({type:r,startLine:a,lines:[l]})}for(const r of e.beforeContext)n("context",r.lineNumber,r.content);for(const r of e.edits){const a=r.oldContent.split(`
|
|
280
|
-
`);for(let u=0;u<a.length;u++)n("removed",r.startLine+u,a[u]);const l=r.newContent.split(`
|
|
281
|
-
`);for(let u=0;u<l.length;u++)n("added",r.startLine+u,l[u])}for(const r of e.afterContext)n("context",r.lineNumber,r.content);return t}const qB=A.memo(function({region:t,language:n}){const r=WB(t);return i.jsx("div",{className:"rounded overflow-hidden border border-border font-mono text-sm",children:r.map((a,l)=>i.jsx(KB,{section:a,language:n},l))})}),KB=A.memo(function({section:t,language:n}){const r=t.lines.join(`
|
|
282
|
-
`);return t.type==="context"?i.jsx("div",{children:i.jsx("div",{className:"min-w-0 py-3",children:i.jsx("div",{className:"shiki-compact shiki-transparent-bg",children:i.jsx(eo,{code:r,language:n,variant:"block",showLineNumbers:!0,startLine:t.startLine})})})}):i.jsx(nd,{type:t.type,children:i.jsx(eo,{code:r,language:n,variant:"block",showLineNumbers:!0,startLine:t.startLine})})});function vS(e){return e.split(`
|
|
283
|
-
`).filter(t=>!t.startsWith(`
|
|
284
|
-
[`)&&!t.startsWith("[")).map(t=>t.replace(/^\d+\|/,"")).join(`
|
|
285
|
-
`)}const YB=A.memo(function({result:t,metadata:n,filePath:r}){const[a,l]=A.useState(!1),u=A.useMemo(()=>Id(r),[r]),c=n==null?void 0:n.mimeType,d=n==null?void 0:n.base64Data;if(c!=null&&c.startsWith("image/")&&d){const w=`data:${c};base64,${d}`;return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"rounded overflow-hidden border border-border max-h-[45vh] flex items-center justify-center cursor-pointer hover:border-accent-primary transition-colors",onClick:()=>l(!0),children:i.jsx("img",{src:w,alt:r,className:"max-w-full max-h-[45vh] object-contain"})}),i.jsx(Ak,{src:w,alt:r,isOpen:a,onClose:()=>l(!1)})]})}if(!t)return i.jsx("div",{className:"text-xs text-text-muted italic p-2",children:"Empty file"});const f=t;if(u==="markdown"){const w=vS(f);return i.jsx("div",{className:"rounded overflow-hidden border border-border max-h-[45vh] overflow-y-auto p-2",children:i.jsx(Kn,{content:w})})}const p=vS(f),m=f.split(`
|
|
286
|
-
`)[0],x=m==null?void 0:m.match(/^(\d+)\|/),y=x?parseInt(x[1],10):1;return i.jsx("div",{className:"rounded overflow-hidden border border-border max-h-[45vh] overflow-y-auto",children:i.jsx(eo,{code:p,language:u,variant:"block",showLineNumbers:!0,startLine:y})})}),XB={error:{icon:"✗",color:"text-accent-error",bg:"bg-red-500/10",border:"border-red-500/30"},warning:{icon:"⚠",color:"text-accent-warning",bg:"bg-yellow-500/10",border:"border-yellow-500/30"},info:{icon:"ℹ",color:"text-accent-info",bg:"bg-blue-500/10",border:"border-blue-500/30"},hint:{icon:"💡",color:"text-text-muted",bg:"bg-gray-500/10",border:"border-gray-500/30"}},_S=A.memo(function({diagnostics:t}){if(t.length===0)return null;const n=t.filter(l=>l.severity==="error"),r=t.filter(l=>l.severity==="warning"),a=t.filter(l=>l.severity==="info"||l.severity==="hint");return i.jsxs("div",{className:"rounded border border-border overflow-hidden mt-2",children:[i.jsxs("div",{className:"flex items-center gap-3 px-2 py-1.5 bg-bg-tertiary border-b border-border",children:[i.jsx("span",{className:"text-xs font-medium text-text-secondary",children:"LSP Diagnostics"}),n.length>0&&i.jsxs("span",{className:"text-xs text-accent-error font-medium",children:[n.length," error",n.length!==1?"s":""]}),r.length>0&&i.jsxs("span",{className:"text-xs text-accent-warning font-medium",children:[r.length," warning",r.length!==1?"s":""]}),a.length>0&&i.jsxs("span",{className:"text-xs text-text-muted",children:[a.length," info"]})]}),i.jsx("div",{className:"max-h-48 overflow-y-auto",children:t.map((l,u)=>{const c=XB[l.severity];return i.jsxs("div",{className:`flex items-start gap-2 px-2 py-1.5 ${c.bg} border-b border-border last:border-b-0`,children:[i.jsx("span",{className:`${c.color} text-xs flex-shrink-0 w-4 text-center`,children:c.icon}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("span",{className:"text-[10px] text-text-muted font-mono",children:["Ln ",l.range.start.line+1,":",l.range.start.character+1]}),l.code&&i.jsxs("span",{className:"text-[10px] text-text-muted font-mono",children:["[",l.code,"]"]})]}),i.jsx("div",{className:"text-xs text-text-primary break-words",children:l.message})]})]},u)})})]})}),QB=A.memo(function({command:t,timeout:n,startedAt:r,streamingOutput:a,status:l,result:u,error:c,durationMs:d}){const f=A.useRef(null),[p,m]=A.useState(0);A.useEffect(()=>{f.current&&l==="pending"&&(f.current.scrollTop=f.current.scrollHeight)},[a,l]),A.useEffect(()=>{if(l!=="pending"||!r)return;const C=setInterval(()=>{m(Date.now()-r)},100);return()=>clearInterval(C)},[l,r]);const x=n/1e3,y=l==="pending"?p/1e3:(d??0)/1e3,w=l==="pending"?(a==null?void 0:a.map(C=>C.content).join(""))??"":u??"";return i.jsxs("div",{className:"space-y-2",children:[i.jsxs("div",{className:"flex items-center justify-between gap-4",children:[i.jsxs("div",{className:"flex items-center gap-2 text-xs flex-1 min-w-0",children:[i.jsx("span",{className:"text-text-muted flex-shrink-0",children:"$"}),i.jsx("code",{className:"text-text-primary break-all",children:t})]}),i.jsxs("div",{className:"flex items-center gap-2 text-xs text-text-muted flex-shrink-0",children:[l==="pending"&&i.jsx("span",{className:"animate-pulse text-accent-warning",children:"running"}),l==="interrupted"&&i.jsx("span",{className:"text-red-400",children:"interrupted"}),i.jsxs("span",{className:l==="pending"?"text-text-secondary":"text-text-muted",children:[y.toFixed(1),"s / ",x,"s"]})]})]}),l==="pending"&&i.jsx("div",{className:"h-1 bg-bg-tertiary rounded overflow-hidden",children:i.jsx("div",{className:"h-full bg-accent-warning transition-all duration-100",style:{width:`${Math.min(100,p/n*100)}%`}})}),(w||l==="pending")&&i.jsx("pre",{ref:f,className:`text-xs bg-bg-primary p-2 rounded max-h-64 overflow-y-auto ${l==="pending"?"border border-accent-warning/30":""}`,style:{overflowX:"hidden",whiteSpace:"normal"},children:l==="pending"&&a?a.map((C,_)=>i.jsx("span",{className:C.stream==="stderr"?"text-accent-warning":"",children:zu(C.content)},_)):zu(w)}),l==="error"&&c&&i.jsx("div",{className:"text-xs text-accent-error bg-accent-error/10 p-2 rounded",children:c}),l!=="pending"&&d!==void 0&&i.jsxs("div",{className:"text-[10px] text-text-muted",children:["Completed in ",(d/1e3).toFixed(2),"s"]})]})}),dl=A.memo(function({className:t=""}){return i.jsx("div",{className:`text-[10px] text-accent-warning ${t}`,children:"Output truncated"})}),JB=A.memo(function({result:t,action:n}){let r;try{r=JSON.parse(t)}catch{return console.warn("DevServerView: failed to parse result JSON",t.slice(0,200)),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:t})}return n==="logs"?ZB(r):e8(r)});function ZB(e){if(!e.logs)return i.jsx("div",{className:"text-xs text-text-muted italic",children:"No log output"});const t=e.logs.split(`
|
|
287
|
-
`);return i.jsxs("div",{className:"space-y-2",children:[i.jsx("div",{className:"text-xs font-mono whitespace-pre-wrap bg-bg-primary p-2 rounded max-h-[60vh] overflow-y-auto break-words",children:t.map((n,r)=>{const a=n.startsWith("[stderr] ");return i.jsx("div",{className:a?"text-accent-warning":"",children:a?n.slice(9):n},r)})}),e.hasMore&&i.jsxs("div",{className:"text-[10px] text-text-muted",children:["Showing ",e.limit," of ",e.total," lines"]})]})}function e8(e){const t=String(e.state??""),n=String(e.url??""),r=e.error?String(e.error):void 0,a=t==="running"?"text-accent-success":t==="stopped"?"text-text-muted":t==="error"?"text-accent-error":"text-text-muted";return i.jsxs("div",{className:"space-y-2 text-xs",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"State:"}),i.jsx("span",{className:`font-medium ${a}`,children:t})]}),n&&n!=="undefined"&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"URL:"}),i.jsx("a",{href:n,className:"text-accent-primary hover:underline",target:"_blank",rel:"noopener noreferrer",children:n})]}),r&&i.jsx("div",{className:"text-accent-error bg-accent-error/10 p-2 rounded",children:r})]})}const t8=A.memo(function({result:t,action:n}){let r;try{r=JSON.parse(t)}catch{return console.warn("BackgroundProcessView: failed to parse result JSON",t.slice(0,200)),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:t})}return n==="logs"?n8(r):n==="list"?r8(r):n==="status"?s8(r):n==="start"||n==="stop"?i8(r):i.jsxs("div",{className:"space-y-2 text-xs",children:[i.jsxs("div",{className:"text-accent-warning",children:["Unknown action: ",n]}),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:t})]})});function n8(e){const t=e.lines,n=e.hasMore,r=e.totalLines;return!t||t.length===0?i.jsx("div",{className:"text-xs text-text-muted italic",children:"No log output"}):i.jsxs("div",{className:"space-y-2",children:[i.jsx("div",{className:"text-xs font-mono whitespace-pre-wrap bg-bg-primary p-2 rounded max-h-[60vh] overflow-y-auto break-words",children:t.map((a,l)=>i.jsx("div",{className:a.stream==="stderr"?"text-accent-warning":"",children:a.content},l))}),n&&r!=null&&i.jsxs("div",{className:"text-[10px] text-text-muted",children:["Showing ",t.length," of ",r," lines"]})]})}function r8(e){const t=e.processes,n=e.currentCount,r=e.maxPerSession;return!t||t.length===0?i.jsx("div",{className:"text-xs text-text-muted italic",children:"No background processes"}):i.jsxs("div",{className:"space-y-2",children:[t.map(a=>i.jsx(Lk,{process:a},a.id)),n!=null&&r!=null&&i.jsxs("div",{className:"text-[10px] text-text-muted",children:[n," of ",r," slots used"]})]})}function s8(e){const t=e.process,n=e.uptime;return t?i.jsxs("div",{className:"space-y-2",children:[i.jsx(Lk,{process:t}),n!=null&&i.jsxs("div",{className:"text-[10px] text-text-muted",children:["Uptime: ",a8(n)]})]}):i.jsx("div",{className:"text-xs text-text-muted italic",children:"Process not found"})}function i8(e){const t=e.processId,n=e.name,r=e.pid,a=e.status,l=a==="running"?"text-accent-success":"text-text-muted";return i.jsxs("div",{className:"space-y-2 text-xs",children:[n&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"Name:"}),i.jsx("span",{className:"font-medium",children:n})]}),t&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"ID:"}),i.jsx("span",{className:"font-mono",children:t})]}),r!=null&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"PID:"}),i.jsx("span",{className:"font-mono",children:r})]}),a&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"Status:"}),i.jsx("span",{className:`font-medium ${l}`,children:a})]})]})}function Lk({process:e}){const t=e.status==="running"?"text-accent-success":(e.status==="exited","text-text-muted");return i.jsxs("div",{className:"border border-border rounded p-2 space-y-1 text-xs",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("span",{className:"font-medium",children:e.name}),i.jsx("span",{className:`${t}`,children:e.status})]}),e.pid!=null&&i.jsxs("div",{className:"text-text-muted",children:["PID: ",i.jsx("span",{className:"font-mono",children:e.pid})]}),e.command&&i.jsx("div",{className:"text-text-muted font-mono truncate",children:e.command})]})}function a8(e){const t=Math.floor(e/1e3),n=Math.floor(t/60),r=Math.floor(n/60);return r>0?`${r}h ${n%60}m`:n>0?`${n}m ${t%60}s`:`${t}s`}const o8=A.memo(function({result:t,action:n}){let r;try{r=JSON.parse(t)}catch{return i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:t})}switch(n){case"list":return l8(r);case"switch":case"delete":return c8(r);default:return i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:t})}});function l8(e){const t=e.workspaces??[];return t.length===0?i.jsx("div",{className:"text-xs text-text-muted italic",children:"No workspaces found"}):i.jsxs("div",{className:"space-y-1 text-xs",children:[i.jsx("div",{className:"text-text-muted mb-1",children:"Workspaces:"}),t.map(n=>i.jsxs("div",{className:"flex items-center gap-2 font-mono",children:[i.jsx("span",{className:n.active?"text-accent-success":"text-text-muted",children:n.active?"●":"○"}),i.jsx("span",{className:n.active?"text-text-primary font-medium":"text-text-secondary",children:n.name}),n.branch&&i.jsxs("span",{className:"text-text-muted",children:["· ",n.branch]}),n.active&&i.jsx("span",{className:"text-[10px] text-accent-primary",children:"(current)"})]},n.name))]})}function qm({label:e,value:t,mono:n}){return i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("span",{className:"text-text-muted",children:[e,":"]}),i.jsx("span",{className:n?"font-mono text-accent-primary":"text-text-primary",children:t})]})}function c8(e){return i.jsxs("div",{className:"space-y-2 text-xs",children:[e.message&&i.jsx("div",{className:"text-text-primary",children:e.message}),e.workspace&&i.jsx(qm,{label:"Name",value:e.workspace,mono:!0}),e.path&&i.jsx(qm,{label:"Path",value:e.path,mono:!0}),e.branch&&i.jsx(qm,{label:"Branch",value:e.branch,mono:!0})]})}function u8(e){switch(e){case"sensitive_file":return{title:"Sensitive File Access",description:"Accessing files that may contain secrets"};case"both":return{title:"Sensitive File Access",description:"Accessing sensitive files outside project"};case"dangerous_command":return{title:"Dangerous Command",description:"Running potentially dangerous command"};case"git_no_verify":return{title:"Git --no-verify",description:"Bypassing git hooks/pre-commit checks"};case"outside_workdir":default:return{title:"Path Access Request",description:"Accessing paths outside project directory"}}}function d8({confirmation:e}){const t=Le(m=>m.confirmPath),n=Le(m=>m.currentSession),r=Le(m=>m.switchDangerLevel),{title:a,description:l}=u8(e.reason),u=e.reason==="sensitive_file"||e.reason==="both",c=u?"border-red-500/50":"border-amber-500/50",d=u?"bg-red-500/10":"bg-amber-500/10",f=e.reason==="git_no_verify",p=()=>{n!=null&&n.id&&r("dangerous"),t(e.callId,!0,!1)};return i.jsxs("div",{className:`border ${c} ${d} rounded p-3 my-2`,children:[i.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[i.jsx(np,{}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:`text-sm font-medium ${u?"text-red-400":"text-amber-400"}`,children:a}),i.jsx("div",{className:"text-xs text-text-muted",children:l})]})]}),i.jsxs("div",{className:"text-xs text-text-muted mb-2",children:[i.jsx("span",{className:"font-medium",children:e.tool})," wants to access:"]}),i.jsx("div",{className:"bg-bg-primary rounded p-2 mb-3 max-h-24 overflow-y-auto",children:i.jsx("ul",{className:"space-y-0.5",children:e.paths.map((m,x)=>i.jsx("li",{className:`text-xs font-mono ${u?"text-red-300":"text-amber-300"} break-all`,children:m},x))})}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:()=>t(e.callId,!1),className:"flex-1 px-3 py-1.5 text-xs font-medium rounded bg-bg-tertiary hover:bg-bg-tertiary/80 text-text-secondary border border-border transition-colors",children:"Deny"}),i.jsx("button",{onClick:()=>t(e.callId,!0,!1),className:"flex-1 px-3 py-1.5 text-xs font-medium rounded bg-accent-primary hover:bg-accent-primary/80 text-text-primary transition-colors",children:"Allow"}),i.jsx("button",{onClick:p,className:`flex-1 px-3 py-1.5 text-xs font-medium rounded transition-colors ${f?"hidden":"bg-red-600 hover:bg-red-700 text-white"}`,title:"Enable dangerous mode and allow this request",children:"Allow Everything"})]})]})}function h8(e,t){if(e==="read_file"){const r=String(t.path??""),a=t.offset,l=t.limit,u=[];return a!==void 0&&a!==1&&u.push(`offset=${a}`),l!==void 0&&u.push(`limit=${l}`),u.length>0?`${r} [${u.join(", ")}]`:r}if(e==="write_file"||e==="edit_file")return String(t.path??"");if(e==="run_command"||e==="bash")return String(t.command??"");if(e==="return_value"){const r=String(t.content??"");return r.length>60?r.slice(0,60)+"...":r}if(e==="call_sub_agent")return String(t.subAgentType??"");if(e==="load_skill")return String(t.skillId??"");if(e==="web_fetch")return String(t.url??"");if(e==="web_search"){const r=String(t.query??"");return r.length>60?r.slice(0,57)+"...":r}if(e==="dev_server")return String(t.action??"");if(e==="background_process"){const r=String(t.action??""),a=t.name?String(t.name):"";return a?`${r}: ${a}`:r}if(e==="mcp_config")return String(t.action??"");const n=JSON.stringify(t);return n.length>50?n.slice(0,50)+"...":n}function SS(e,t,n){var a;const r=h8(e,t);if(e==="read_file"&&n){const l=n.format,u=n.pageCount;if(l==="pdf"&&u!=null)return`${r} (PDF, ${u}p)`;if(l==="image")return`${r} (image)`}if(e==="web_fetch"&&n){const l=n.contentType;if(l){const u=((a=l.split(";")[0])==null?void 0:a.trim())??"";if(u&&u!=="text/html")return`${r} (${u})`}}return r}function f8(e){return JSON.stringify(e,null,2)}const m8={pending:{icon:"●",color:"text-accent-warning",animate:!0},success:{icon:"✓",color:"text-accent-success",animate:!1},error:{icon:"✗",color:"text-accent-error",animate:!1},interrupted:{icon:"✗",color:"text-red-400",animate:!1}},p8=A.memo(function({tool:t,args:n,status:r,variant:a="compact",forceCompact:l,result:u,error:c,durationMs:d,diagnostics:f,editContext:p,startedAt:m,streamingOutput:x,metadata:y,truncated:w,callId:C}){var L;const _=!l,[S,v]=A.useState(_),b=m8[r],E=Gt(R=>R.settings[Re.DISPLAY_SHOW_OPEN_IN_EDITOR])==="true",j=t==="edit_file"?(L=p==null?void 0:p.regions[0])==null?void 0:L.startLine:t==="read_file"?(()=>{const R=u==null?void 0:u.split(`
|
|
288
|
-
`)[0],M=R==null?void 0:R.match(/^(\d+): /);return M?parseInt(M[1],10):void 0})():void 0,T=Le(R=>R.pendingPathConfirmations),D=C?T.find(R=>R.callId===C||R.callId.startsWith(C+"-"))??null:null;return t==="step_done"?i.jsxs("div",{className:"flex items-center gap-1.5 text-xs bg-secondary border border-border rounded px-2 py-1.5 my-1",children:[i.jsx("span",{className:`${b.color} ${b.animate?"animate-pulse":""}`,children:b.icon}),i.jsx("span",{className:"font-mono text-accent-primary text-sm",children:t})]}):a==="compact"?i.jsxs("div",{className:"flex items-center gap-1.5 text-xs bg-secondary rounded px-2 py-1.5",children:[i.jsx(Tk,{tool:t}),i.jsx("span",{className:"text-accent-primary font-medium",children:t}),i.jsx("span",{className:"text-text-muted truncate flex-1",children:SS(t,n,y)}),i.jsx("span",{className:`${b.color} ${b.animate?"animate-pulse":""}`,children:r==="pending"?"...":"done"})]}):i.jsxs("div",{className:"border border-border rounded overflow-hidden my-1 min-w-0",children:[i.jsxs("button",{className:"w-full flex items-center gap-1.5 p-2 bg-secondary hover:bg-secondary/80 text-left",onClick:()=>v(!S),children:[i.jsx("span",{className:`${b.color} ${b.animate?"animate-pulse":""}`,children:b.icon}),i.jsx("span",{className:"font-mono text-accent-primary text-sm",children:t}),i.jsx("span",{className:"text-text-muted text-xs flex-1 truncate",children:SS(t,n,y)}),i.jsx("span",{className:"text-text-muted text-xs",children:S?"▼":"▶"})]}),D&&i.jsx(d8,{confirmation:D}),S&&i.jsxs("div",{className:"p-2 bg-primary border-t border-border space-y-2 min-w-0",children:[t==="run_command"&&i.jsx(QB,{command:String(n.command??""),timeout:n.timeout??12e4,startedAt:m,streamingOutput:x,status:r,result:u,error:c,durationMs:d}),t==="edit_file"&&r==="success"&&i.jsxs(i.Fragment,{children:[p&&p.regions.length>0?i.jsx(GB,{regions:p.regions,filePath:String(n.path??"")}):i.jsx(FB,{oldString:String(n.old_string??""),newString:String(n.new_string??""),filePath:String(n.path??"")}),f&&f.length>0&&i.jsx(_S,{diagnostics:f})]}),t==="write_file"&&r==="success"&&i.jsxs(i.Fragment,{children:[i.jsx(VB,{content:String(n.content??""),filePath:String(n.path??"")}),f&&f.length>0&&i.jsx(_S,{diagnostics:f})]}),t==="read_file"&&r==="success"&&i.jsx(YB,{result:u,metadata:y,filePath:String(n.path??"")}),t==="return_value"&&(()=>{const R=(x==null?void 0:x.map(V=>V.content).join(""))??"",M=r==="pending"&&R?R:String(n.content??"");return i.jsxs("div",{children:[i.jsx("div",{className:"text-[10px] text-accent-primary font-medium mb-1 uppercase tracking-wide",children:"Sub-Agent Summary"}),i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none",children:i.jsx(Kn,{content:M})})]})})(),t==="call_sub_agent"&&i.jsxs("div",{children:[i.jsxs("div",{className:"text-[10px] text-accent-primary font-medium mb-1 uppercase tracking-wide",children:[String(n.subAgentType??"Sub-Agent")," Prompt"]}),i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none max-h-[60vh] overflow-y-auto",children:i.jsx(Kn,{content:String(n.prompt??"")})})]}),t==="web_search"&&r==="success"&&i.jsxs("div",{children:[i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none max-h-[60vh] overflow-y-auto",children:i.jsx(Kn,{content:u??""})}),w&&i.jsx(dl,{className:"mt-1"})]}),t==="load_skill"&&r==="success"&&i.jsxs("div",{children:[i.jsxs("div",{className:"text-[10px] text-accent-primary font-medium mb-1 uppercase tracking-wide",children:["Skill: ",String(n.skillId??"")]}),i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none max-h-[60vh] overflow-y-auto",children:i.jsx(Kn,{content:u??""})}),w&&i.jsx(dl,{className:"mt-1"})]}),t==="web_fetch"&&r==="success"&&i.jsxs("div",{className:"space-y-2",children:[!!(y!=null&&y.url)&&i.jsxs("div",{className:"flex items-center gap-2 text-xs text-text-muted",children:[i.jsx("span",{children:"Source:"}),i.jsx("a",{href:String(y.url),className:"text-accent-primary hover:underline truncate",target:"_blank",rel:"noopener noreferrer",children:String(y.url)}),!!(y!=null&&y.contentType)&&i.jsxs("span",{className:"text-text-muted flex-shrink-0",children:["(",String(y.contentType),")"]}),(y==null?void 0:y.pageCount)!=null&&i.jsxs("span",{className:"text-text-muted flex-shrink-0",children:["· ",String(y.pageCount)," pages"]})]}),i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none max-h-[60vh] overflow-y-auto",children:i.jsx(Kn,{content:u??""})}),w&&i.jsx(dl,{})]}),t==="dev_server"&&r==="success"&&u&&i.jsx(JB,{result:u,action:String(n.action??"")}),t==="workspace"&&r==="success"&&u&&i.jsx(o8,{result:u,action:String(n.action??"")}),t==="background_process"&&r==="success"&&u&&i.jsx(t8,{result:u,action:String(n.action??"")}),t==="mcp_config"&&r==="success"&&i.jsxs("div",{children:[i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none max-h-[60vh] overflow-y-auto",children:i.jsx(Kn,{content:u??""})}),w&&i.jsx(dl,{className:"mt-1"})]}),t==="step_done"&&null,t!=="edit_file"&&t!=="write_file"&&t!=="run_command"&&t!=="read_file"&&t!=="return_value"&&t!=="call_sub_agent"&&t!=="web_search"&&t!=="load_skill"&&t!=="web_fetch"&&t!=="dev_server"&&t!=="workspace"&&t!=="background_process"&&t!=="mcp_config"&&t!=="step_done"&&i.jsxs(i.Fragment,{children:[Object.keys(n).length>0&&i.jsxs("div",{children:[i.jsx("div",{className:"text-[10px] text-text-muted mb-0.5",children:"Arguments:"}),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto break-words",children:f8(n)})]}),r==="success"&&u!==void 0&&i.jsxs("div",{children:[i.jsxs("div",{className:"text-[10px] text-text-muted mb-0.5",children:["Result",d!==void 0&&` (${d}ms)`,":"]}),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:u||"No output"}),w&&i.jsx(dl,{className:"mt-1"})]})]}),r==="success"&&(t==="edit_file"||t==="write_file"||t==="read_file")&&d!==void 0&&i.jsxs("div",{className:"text-[10px] text-text-muted flex items-center gap-2",children:[i.jsxs("span",{children:["Completed in ",d,"ms"]}),E&&(t==="read_file"||t==="write_file"||t==="edit_file")&&String((y==null?void 0:y.path)??n.path??"")&&i.jsx("a",{href:U1(String((y==null?void 0:y.path)??n.path),j),className:"text-accent-primary hover:underline ml-auto",children:"Open in VSCode"})]}),r==="error"&&c&&t!=="run_command"&&i.jsxs("div",{children:[i.jsx("div",{className:"text-[10px] text-accent-error mb-0.5",children:"Error:"}),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded text-accent-error break-words",children:c})]})]})]})}),g8={read_file:"Reading file",write_file:"Writing file",edit_file:"Editing file",run_command:"Running command",glob:"Searching files",grep:"Searching content",ask_user:"Asking user",criterion:"Managing criterion",session_metadata:"Managing",todo_write:"Updating tasks"};function x8(e,t){const n=g8[e];if(!n)return`Preparing ${e}`;if(e==="session_metadata"&&t)try{const a=JSON.parse(t).key;if(a){const l=oA(a);return`${n} ${l}`}}catch{}return n}function y8(e){try{const t=e.replace(/\s*\}\s*$/,""),n=JSON.parse(t);if(typeof n.command=="string")return n.command}catch{const t=e.match(/"command"\s*:\s*"([^"]*)/);if(t&&t[1])return t[1]}return null}const b8=A.memo(function({name:t,arguments:n}){let a=x8(t,n)+"...";if(t==="run_command"&&n){const l=y8(n);l&&(a=l)}return i.jsx("div",{className:"border border-border rounded overflow-hidden my-1 min-w-0 animate-pulse",children:i.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-bg-tertiary",children:[i.jsx("span",{className:"text-accent-warning animate-pulse",children:"..."}),i.jsx(Tk,{tool:t}),i.jsx("span",{className:"font-mono text-accent-primary text-sm",children:t}),t==="run_command"&&n?i.jsx("code",{className:"text-text-muted text-xs flex-1 truncate",children:a}):i.jsx("span",{className:"text-text-muted text-xs flex-1",children:a})]})})}),v8={pending:{icon:"○",color:"text-text-muted"},in_progress:{icon:"●",color:"text-accent-warning",animate:!0},completed:{icon:"✓",color:"text-accent-success"}},_8=A.memo(function({todos:t}){return Array.isArray(t)?t.length===0?i.jsx("div",{className:"text-xs text-text-muted italic my-1",children:"No tasks"}):i.jsxs("div",{className:"my-1 rounded border border-border bg-bg-tertiary overflow-hidden",children:[i.jsx("div",{className:"px-2 py-1.5 border-b border-border bg-bg-secondary",children:i.jsx("span",{className:"text-xs font-medium text-text-muted",children:"Tasks"})}),i.jsx("div",{children:t.map((n,r)=>{const a=v8[n.status];return i.jsxs("div",{className:`flex items-start gap-2 px-2 py-1.5 ${r>0?"border-t border-border":""}`,children:[i.jsx("span",{className:`${(a==null?void 0:a.color)??"text-text-muted"} ${a!=null&&a.animate?"animate-pulse":""} text-sm leading-tight`,children:(a==null?void 0:a.icon)??"○"}),i.jsx("span",{className:`text-sm leading-tight ${n.status==="completed"?"text-text-muted":"text-text-primary"}`,children:n.content})]},r)})})]}):i.jsx("div",{className:"text-xs text-accent-warning italic my-1",children:"⚠️ Invalid todos data"})});function S8({toolCall:e}){var E;const t=Le(j=>j.pendingQuestions),n=Le(j=>j.answerQuestion),[r,a]=A.useState(""),l=A.useRef(null),u=A.useRef(null),c=t.find(j=>j.callId===e.id),d=e.arguments.question??(c==null?void 0:c.question)??"",f=e.arguments.type??(c==null?void 0:c.type)??"text",p=e.arguments.options??(c==null?void 0:c.options)??void 0,m=e.result!==void 0,x=c!==void 0&&!m,y=((E=e.result)==null?void 0:E.output)??"",w=y==="[user skipped]";A.useEffect(()=>{x&&l.current&&l.current.focus()},[x]),A.useEffect(()=>{x&&u.current&&u.current.scrollIntoView({behavior:"smooth",block:"nearest"})},[x]);const C=A.useCallback(()=>{c&&n(c.callId,r)},[c,r,n]),_=A.useCallback(()=>{c&&n(c.callId,"",!0)},[c,n]),S=A.useCallback(j=>{j.key==="Enter"&&!j.shiftKey&&(j.preventDefault(),C()),j.key==="Escape"&&!j.shiftKey&&(j.preventDefault(),_())},[C,_]),v=A.useCallback(j=>{c&&n(c.callId,j)},[c,n]),b="px-3 py-1.5 text-xs font-medium rounded transition-colors";return i.jsxs("div",{ref:u,className:"my-1",children:[i.jsx("div",{className:"text-sm text-text-primary",children:d}),x&&i.jsx("div",{className:"mt-2 border border-border rounded overflow-hidden",children:i.jsx("div",{className:"p-3 bg-primary space-y-2",children:f==="confirm"?i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:()=>v("yes"),className:`${b} flex-1 bg-accent-success/20 hover:bg-accent-success/30 text-accent-success border border-accent-success/30`,children:"Yes"}),i.jsx("button",{onClick:()=>v("no"),className:`${b} flex-1 bg-accent-error/20 hover:bg-accent-error/30 text-accent-error border border-accent-error/30`,children:"No"}),i.jsx("button",{onClick:_,className:`${b} bg-bg-tertiary hover:bg-bg-tertiary/80 text-text-secondary border border-border`,children:"Skip"})]}):f==="choice"&&p&&p.length>0?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex flex-col gap-1.5",children:p.map(j=>i.jsx("button",{onClick:()=>v(j),className:`${b} text-left w-full bg-bg-tertiary hover:bg-accent-primary/20 text-text-primary border border-border hover:border-accent-primary/50`,children:j},j))}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx("textarea",{ref:l,value:r,onChange:j=>a(j.target.value),onKeyDown:S,placeholder:"Or type your own answer... (Enter to submit)",className:"flex-1 min-h-[36px] max-h-[80px] px-2 py-1.5 bg-bg-tertiary border border-border rounded text-xs text-text-primary placeholder:text-text-muted focus:outline-none focus:ring-2 focus:ring-accent-primary/50 resize-y",rows:1}),i.jsx("button",{onClick:C,disabled:!r.trim(),className:`${b} bg-accent-primary/25 hover:bg-accent-primary/40 text-text-primary disabled:opacity-50 disabled:cursor-not-allowed`,children:"Send"}),i.jsx("button",{onClick:_,className:`${b} bg-bg-tertiary hover:bg-bg-tertiary/80 text-text-secondary border border-border`,children:"Skip"})]})]}):i.jsxs(i.Fragment,{children:[i.jsx("textarea",{ref:l,value:r,onChange:j=>a(j.target.value),onKeyDown:S,placeholder:"Type your answer here... (Enter to submit, Shift+Enter for new line)",className:"w-full min-h-[80px] px-3 py-2 bg-bg-tertiary border border-border rounded text-sm text-text-primary placeholder:text-text-muted focus:outline-none focus:ring-2 focus:ring-accent-primary/50 resize-y",autoFocus:!0}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx("button",{onClick:_,className:`${b} bg-bg-tertiary hover:bg-bg-tertiary/80 text-text-secondary border border-border`,children:"Skip"}),i.jsx("button",{onClick:C,disabled:!r.trim(),className:`${b} bg-accent-primary/25 hover:bg-accent-primary/40 text-text-primary disabled:opacity-50 disabled:cursor-not-allowed`,children:"Send Answer"})]})]})})}),m&&i.jsx("div",{className:"mt-1 flex items-center gap-2",children:i.jsx("span",{className:`text-xs ${w?"text-amber-400":"text-accent-success"}`,children:w?"Skipped":`Answered: ${y}`})})]})}const wS={add:{icon:"○",color:"text-text-muted"},update:{icon:"○",color:"text-text-muted"},remove:{icon:"○",color:"text-text-muted"},complete:{icon:"◉",color:"text-purple-400"},pass:{icon:"✓",color:"text-accent-success"},fail:{icon:"✗",color:"text-accent-error"},get:{icon:"○",color:"text-text-muted"},list:{icon:"○",color:"text-text-muted"},schema:{icon:"○",color:"text-text-muted"}},w8=A.memo(function({toolCalls:t,criteria:n}){if(t.length===0)return null;const r=new Map((n==null?void 0:n.map(c=>[c.id,c]))??[]),a=t.find(c=>{var d,f;return c.arguments.action==="get"&&((d=c.result)==null?void 0:d.success)&&((f=c.result)==null?void 0:f.output)}),l=t.some(c=>c.name==="session_metadata"),u=(()=>{if(!l)return"Acceptance Criteria";const c=new Set(t.map(d=>d.arguments.key).filter(Boolean));if(c.size===1){const d=c.values().next().value;return d?op(d):"Session Data"}return"Session Data"})();return i.jsxs("div",{className:"my-1 rounded border border-border bg-secondary overflow-hidden",children:[i.jsx("div",{className:"px-2 py-1.5 border-b border-border bg-secondary",children:i.jsx("span",{className:"text-xs font-medium text-text-muted",children:u})}),i.jsx("div",{className:"bg-primary",children:a?(()=>{const c=a.result.output;if(c==="No criteria defined yet.")return i.jsxs("div",{className:"flex items-start gap-2 px-2 py-1.5",children:[i.jsx("span",{className:"text-text-muted text-sm leading-tight flex-shrink-0",children:"○"}),i.jsx("div",{className:"flex-1 min-w-0 text-text-muted text-sm",children:"No criteria defined yet."})]});try{return JSON.parse(c).map((f,p)=>i.jsxs("div",{className:`flex items-start gap-2 px-2 py-1.5 ${p>0?"border-t border-border":""}`,children:[i.jsx("span",{className:"text-text-muted text-sm leading-tight flex-shrink-0",children:"○"}),i.jsx("div",{className:"flex-1 min-w-0",children:i.jsx(Kn,{content:`[${f.id}] ${f.description}`})})]},f.id??p))}catch{return t.map((d,f)=>i.jsx(CS,{tc:d,index:f,criteriaMap:r},d.id??f))}})():t.map((c,d)=>i.jsx(CS,{tc:c,index:d,criteriaMap:r},c.id??d))})]})});function CS({tc:e,index:t,criteriaMap:n}){const r=e.arguments.action,a=e.arguments,l=e.name==="session_metadata",u=r==="remove",c=a.id,d=a.description,f=c?n.get(c):void 0,p=d??(f==null?void 0:f.description)??(u&&c?`[${c}]`:"Criterion updated"),m=a.reason,x=r==="fail";return i.jsxs("div",{className:`flex items-start gap-2 px-2 py-1.5 ${t>0?"border-t border-border":""}`,children:[l?i.jsx(zl,{status:a.status,className:"text-sm leading-tight flex-shrink-0"}):(()=>{const y=r&&wS[r]?wS[r]:{icon:"○",color:"text-text-muted"};return i.jsx("span",{className:`${y.color} text-sm leading-tight flex-shrink-0`,children:y.icon})})(),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:u?"line-through text-text-muted":"",children:i.jsx(Kn,{content:p})}),m&&i.jsxs("div",{className:`mt-1 text-sm ${x?"text-accent-error":"text-text-muted"}`,children:[i.jsx("span",{className:"text-text-muted",children:"└ "}),'"',m,'"']})]})]})}function C8(e){return e==="criterion"||e==="session_metadata"}function k8(e){const t=[];let n=[];const r=()=>{n.length>0&&(t.push({type:"criteria_group",toolCalls:n}),n=[])};for(const a of e)a.type==="tool_call"&&C8(a.toolCall.name)?n.push(a.toolCall):(r(),t.push(a));return r(),t}function E8(e,t){if(e.segments&&e.segments.length>0)return j8(e.segments,e.toolCalls??[],e.preparingToolCalls??[],e.stats,t);const n=[];if(e.thinkingContent&&n.push({type:"thinking",content:e.thinkingContent}),e.content&&n.push({type:"text",content:e.content}),e.toolCalls)for(const r of e.toolCalls)n.push({type:"tool_call",toolCall:r});if(e.preparingToolCalls)for(const r of e.preparingToolCalls)n.push({type:"preparing_tool_call",preparing:r});return t&&e.stats&&n.push({type:"stats",stats:e.stats}),n}function j8(e,t,n,r,a){const l=[],u=new Map(t.map(c=>[c.id,c]));for(const c of e)switch(c.type){case"text":l.push({type:"text",content:c.content});break;case"thinking":c.content&&c.content.trim().length>0&&l.push({type:"thinking",content:c.content});break;case"tool_call":{const d=u.get(c.toolCallId);d&&l.push({type:"tool_call",toolCall:d});break}}for(const c of n)l.push({type:"preparing_tool_call",preparing:c});return a&&r&&l.push({type:"stats",stats:r}),l}const Pg=A.memo(function({message:t,showStats:n=!0,showThinking:r=!0,showVerboseToolOutput:a=!0}){const l=Le(x=>{var y,w;return(w=(y=x.currentSession)==null?void 0:y.metadataEntries)==null?void 0:w.criteria}),u=kt(x=>x.defaults),c=kt(x=>x.userItems),d=[...u,...c],f=E8(t,n),p=r?f:f.filter(x=>x.type!=="thinking"),m=k8(p);return m.length===0?null:i.jsx("div",{className:"feed-item",children:i.jsxs("div",{className:"min-w-0",children:[m.map((x,y)=>{var w;switch(x.type){case"thinking":return i.jsx(HB,{content:x.content},y);case"text":return i.jsx("div",{className:"prose prose-sm prose-invert max-w-none",children:i.jsx(Kn,{content:x.content})},y);case"preparing_tool_call":return i.jsx(b8,{name:x.preparing.name,arguments:x.preparing.arguments},`preparing-${x.preparing.index}`);case"tool_call":{const C=x.toolCall,_=C.result;if(C.name==="ask_user")return i.jsx(S8,{toolCall:C},y);if(C.name==="todo_write"){const b=C.arguments.todos,E=Array.isArray(b)?b:[];return i.jsx(_8,{todos:E},y)}const S=(w=_==null?void 0:_.output)==null?void 0:w.includes("[interrupted by user]"),v=_?S?"interrupted":_.success?"success":"error":"pending";return i.jsx(p8,{tool:C.name,args:C.arguments,status:v,variant:"expandable",forceCompact:!a,result:_==null?void 0:_.output,error:_==null?void 0:_.error,durationMs:_==null?void 0:_.durationMs,diagnostics:_==null?void 0:_.diagnostics,editContext:_==null?void 0:_.editContext,startedAt:C.startedAt,streamingOutput:C.streamingOutput,metadata:_==null?void 0:_.metadata,truncated:(_==null?void 0:_.truncated)??!1,callId:C.id},y)}case"criteria_group":return i.jsx(w8,{toolCalls:x.toolCalls,criteria:l},y);case"stats":{const C=x.stats;if(!C||"error"in C)return null;const _=C.model.split("/").pop()??C.model,S=jl(d,C.mode),v=E=>E>=1e3?`${(E/1e3).toFixed(1)}k`:E.toString(),b=E=>E>=1e3?`${(E/1e3).toFixed(1)}k`:E.toFixed(1);return i.jsxs("div",{className:"flex items-center justify-center gap-1.5 text-[10px] text-text-muted mt-3",children:[i.jsx("span",{className:"flex-1 h-px bg-border"}),i.jsx("span",{className:"text-text-secondary",children:_}),i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsx("span",{style:{color:S},children:C.mode}),i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsxs("span",{children:[C.totalTime.toFixed(1),"s"]}),C.toolTime>0&&i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsxs("span",{children:[C.toolTime.toFixed(1),"s tools"]})]}),i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsxs("span",{children:[v(C.prefillTokens)," @ ",b(C.prefillSpeed)," pp"]}),i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsxs("span",{children:[v(C.generationTokens)," @ ",b(C.generationSpeed)," tg"]}),i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsx("button",{type:"button",className:"text-text-muted hover:text-text-secondary transition-colors",title:"View detailed stats",onClick:()=>{const E=new CustomEvent("open-turn-stats",{detail:{stats:C}});window.dispatchEvent(E)},children:i.jsx(Gp,{className:"w-3 h-3"})}),i.jsx("span",{className:"flex-1 h-px bg-border"})]},y)}}}),t.partial&&i.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] text-accent-warning mt-1",children:[i.jsx(np,{}),i.jsx("span",{children:"Aborted"})]}),t.completeReason==="truncated"&&i.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] text-amber-400/80 mt-1",children:[i.jsx(np,{}),i.jsx("span",{children:"Response was truncated — the model ran out of output tokens."})]})]})})});function rd(e,t){const n=parseInt(e.slice(1,3),16),r=parseInt(e.slice(3,5),16),a=parseInt(e.slice(5,7),16);return`rgba(${n},${r},${a},${t})`}function N8(e){if(e<60)return`${e}s`;const t=Math.floor(e/60),n=Math.round(e%60);return n>0?`${t}m ${n}s`:`${t}m`}function T8(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}const A8=A.memo(function({data:t}){var u;const n=Rt(c=>c.defaults),r=Rt(c=>c.userItems),l=((u=[...n,...r].find(c=>c.id===t.workflowId))==null?void 0:u.color)??t.workflowColor??"#8b949e";return i.jsxs("div",{"data-testid":"task-completed-card",className:"feed-item rounded p-3 border",style:{borderColor:rd(l,.3),backgroundColor:rd(l,.08)},children:[i.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[i.jsx(PN,{color:l}),i.jsx("span",{className:"text-sm font-medium",style:{color:l},children:t.workflowName??"Task Completed"})]}),i.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-5 gap-2",children:[i.jsx(hl,{label:"Iterations",value:String(t.iterations)}),i.jsx(hl,{label:"Total time",value:N8(t.totalTimeSeconds)}),i.jsx(hl,{label:"Tool calls",value:String(t.totalToolCalls)}),i.jsx(hl,{label:"Tokens",value:T8(t.totalTokensGenerated)}),i.jsx(hl,{label:"Speed",value:t.avgGenerationSpeed>0?`${t.avgGenerationSpeed} tok/s`:"-"})]})]})});function hl({label:e,value:t}){return i.jsxs("div",{className:"bg-bg-primary/50 rounded px-2 py-1",children:[i.jsx("div",{className:"text-sm text-text-muted",children:e}),i.jsx("div",{className:"text-sm text-text-primary font-medium",children:t})]})}const L8=A.memo(function({data:t}){var u;const n=Rt(c=>c.defaults),r=Rt(c=>c.userItems),l=((u=[...n,...r].find(c=>c.id===t.workflowId))==null?void 0:u.color)??t.workflowColor??"#6b7280";return i.jsxs("div",{className:"feed-item flex items-center gap-2 px-3 py-2 rounded border",style:{borderColor:rd(l,.3),backgroundColor:rd(l,.08)},children:[i.jsx(RN,{className:"w-3 h-3 shrink-0",color:l}),i.jsx("span",{className:"text-sm font-medium",style:{color:l},children:t.workflowName}),i.jsx("span",{className:"text-text-muted text-sm",children:"started"})]})}),D8=["text/"],R8=["application/json","application/xml","application/yaml","application/x-yaml","application/javascript","application/xhtml+xml","application/x-sh","image/svg+xml"];function Pu(e){return e.startsWith("image/")}function Dk(e){return e.startsWith("image/")&&e!=="image/svg+xml"}function Bg(e){return R8.includes(e)||D8.some(t=>e.startsWith(t))}function Ga(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function Rk(e){const t=e.lastIndexOf(".");return t<=0||t>=e.length-1?"FILE":e.slice(t+1).toUpperCase()}const O8={"text/plain":"txt","text/csv":"csv","text/html":"html","text/markdown":"md","text/javascript":"js","text/xml":"xml","text/x-yaml":"yaml","text/x-sh":"sh","text/tab-separated-values":"tsv","text/x-python":"py","text/x-java-source":"java","text/x-json":"json","text/x-typescript":"ts","text/css":"css","application/json":"json","application/xml":"xml","application/yaml":"yaml","application/x-yaml":"yaml","application/javascript":"js","application/xhtml+xml":"xhtml","application/x-sh":"sh","application/pdf":"pdf","image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/bmp":"bmp","image/svg+xml":"svg"};function I8(e){var t;return O8[e]||((t=e.split("/")[1])==null?void 0:t.split("+")[0])||"file"}function M8(e){return Pu(e)||Bg(e)||e==="application/pdf"}function P8({attachments:e,messageId:t}){const[n,r]=A.useState(null),a=Le(p=>p.visionFallbackByMessage),l=Le(p=>p.messages),u=A.useMemo(()=>{const p=l.findIndex(m=>m.id===t);if(p===-1)return null;for(let m=p+1;m<l.length;m++){const x=l[m];if(x&&x.role==="assistant")return x.id}return null},[l,t]),c=p=>{r(p)},d=()=>{r(null)},f=p=>{const m=`${t}-${p}`;if(a[m])return a[m];if(u){const x=`${u}-${p}`;return a[x]}return null};return e.length===0?null:i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"mt-3 flex flex-wrap gap-3",children:e.map(p=>{const m=f(p.id);return Dk(p.mimeType)?i.jsxs("div",{className:"relative inline-block",children:[i.jsxs("button",{onClick:()=>c(p.data),className:"group relative inline-block",title:(m==null?void 0:m.type)==="done"&&m.description||p.description||p.filename,disabled:(m==null?void 0:m.type)==="start",children:[i.jsx("img",{src:p.data,alt:(m==null?void 0:m.type)==="done"&&m.description||p.description||p.filename,className:"max-w-[256px] max-h-[256px] object-contain rounded-lg border border-border hover:border-accent-primary transition-colors cursor-pointer"}),(m==null?void 0:m.type)==="start"&&i.jsx("div",{className:"absolute inset-0 bg-black/60 flex items-center justify-center rounded-lg",children:i.jsx("span",{className:"text-xs text-text-primary animate-pulse",children:"Describing image..."})})]}),(m==null?void 0:m.type)==="done"&&m.description&&i.jsxs("div",{className:"mt-2 p-2 bg-bg-tertiary rounded text-xs text-text-secondary max-w-[256px]",children:[m.description.slice(0,200),m.description.length>200?"...":""]})]},p.id):i.jsxs("div",{className:"inline-flex items-start gap-3 p-3 bg-bg-tertiary rounded-lg border border-border max-w-[300px]",children:[i.jsx("div",{className:"w-10 h-10 flex items-center justify-center rounded-md bg-bg-secondary text-sm font-bold text-text-muted shrink-0",children:Rk(p.filename)}),i.jsxs("div",{className:"min-w-0 flex-1",children:[i.jsx("div",{className:"text-xs text-text-primary truncate font-medium",title:p.filename,children:p.filename}),i.jsx("div",{className:"text-[10px] text-text-muted",children:Ga(p.size)}),Bg(p.mimeType)&&p.data&&i.jsxs("div",{className:"mt-1.5 text-[10px] text-text-muted leading-relaxed line-clamp-3 font-mono break-all",children:[p.data.slice(0,200),p.data.length>200?"...":""]})]})]},p.id)})}),n&&i.jsx(Ak,{src:n,alt:"Attached image",isOpen:!0,onClose:d})]})}function B8({message:e}){const[t,n]=A.useState(!1);if(e.messageKind!=="auto-prompt")return null;const r=e.metadata,a=(r==null?void 0:r.color)??"#6b7280",l=(r==null?void 0:r.type)??"agent",u=l==="workspace"?"Workspace":(r==null?void 0:r.name)??"Agent",d={agent:(r==null?void 0:r.kind)==="reminder"?"reminder":"definition injected",workflow:"instructions",compaction:"prompt injected",subagent:"instructions",workspace:`${(r==null?void 0:r.workspaceName)??""} · ${(r==null?void 0:r.branchName)??""}`,branch:`🌿 ${(r==null?void 0:r.branchName)??""}`}[l]??"injected",f=l==="workflow"||l==="subagent";return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"flex items-center justify-center gap-1.5 text-[10px] text-text-muted font-mono mt-3 mb-4",children:[i.jsx("span",{className:"flex-1 h-px bg-border"}),i.jsx("span",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 ${f?"":"cursor-pointer"}`,style:{backgroundColor:a},onClick:()=>!f&&n(!0)}),i.jsx("span",{className:f?"":"cursor-pointer hover:text-text-secondary transition-colors",style:{color:a},onClick:()=>!f&&n(!0),children:u}),i.jsx("span",{children:"·"}),i.jsx("span",{className:f?"":"cursor-pointer hover:text-text-secondary transition-colors",onClick:()=>!f&&n(!0),children:d}),i.jsx("span",{className:"flex-1 h-px bg-border"})]}),f&&i.jsx("div",{className:"flex justify-center feed-item mb-4",children:i.jsx("div",{className:"max-w-[75%] rounded p-3 bg-bg-tertiary/50 text-text-secondary text-sm overflow-x-auto",style:{borderLeft:`3px solid ${a}`},children:i.jsx("pre",{className:"whitespace-pre-wrap break-words font-mono text-xs",children:e.content})})}),i.jsx(St,{isOpen:t,onClose:()=>n(!1),title:`${u} Prompt`,size:"lg",children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"w-3 h-3 rounded-full",style:{backgroundColor:a}}),i.jsx("span",{className:"text-sm text-text-primary font-medium",children:u}),i.jsxs("span",{className:"text-xs text-text-muted",children:["(",l,")"]})]}),i.jsx("div",{className:"h-full min-h-96",children:i.jsx("pre",{className:"text-sm text-text-secondary whitespace-pre-wrap break-words bg-bg-tertiary rounded p-4 h-full min-h-96 overflow-auto font-mono",children:e.content})})]})})]})}async function $8(e){if(navigator.clipboard){await navigator.clipboard.writeText(e);return}const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.left="-999999px",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}function z8({message:e,messageId:t,sessionId:n}){const r=e.messageKind==="auto-prompt",a=e.messageKind==="command",l=e.isSystemGenerated,u=Le(V=>V.loadSession),[c,d]=A.useState(!1),[f,p]=A.useState(!1),[m,x]=A.useState(!1),[y,w]=A.useState(e.content),[C,_]=A.useState(!1),[S,v]=A.useState(null),b=A.useRef(null),E=A.useCallback(()=>{const V=b.current;V&&(V.style.height="auto",V.style.height=`${V.scrollHeight}px`)},[]),j=async()=>{try{await $8(e.content),p(!0),window.setTimeout(()=>p(!1),1500)}catch{}},T=async()=>{if(!n||!t||C)return;_(!0),v(null);const V=await e_(n,t);_(!1),V?u(n):v("Failed to replay")},D=async()=>{if(!n||!t||!y.trim()||C)return;_(!0),v(null);const V=await e_(n,t,y);_(!1),V?(u(n),x(!1)):v("Failed to send")},L=()=>{w(e.content),x(!1),v(null)},M=`flex items-center gap-0.5 self-end transition-opacity focus-within:opacity-100 focus-within:pointer-events-auto ${c&&!m&&!C?"opacity-100 pointer-events-auto":"opacity-0 pointer-events-none"}`;return i.jsxs("div",{className:"flex justify-end items-start gap-1.5 feed-item",onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),children:[!l&&i.jsxs("div",{className:M,children:[i.jsx("button",{onClick:()=>{j()},title:"Copy",disabled:C,className:"p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary disabled:opacity-50",children:f?i.jsx(Or,{className:"w-3.5 h-3.5 text-accent-success"}):i.jsx(Fp,{className:"w-3.5 h-3.5"})}),n&&t&&i.jsxs(i.Fragment,{children:[i.jsx("button",{onClick:()=>{v(null),w(e.content),x(!0)},title:"Edit & resend",disabled:C,className:"p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary disabled:opacity-50",children:i.jsx(o1,{className:"w-3.5 h-3.5"})}),i.jsx("button",{onClick:()=>{T()},title:"Replay",disabled:C,className:"p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary disabled:opacity-50",children:i.jsx(cd,{className:"w-3.5 h-3.5"})})]})]}),i.jsxs("div",{className:`max-w-[75%] ${m?"w-full":""} rounded p-2 ${l?a?"bg-teal-500/10 border border-teal-500/30":r?"bg-slate-500/10 border border-slate-500/30":"bg-amber-500/10 border border-amber-500/30":"bg-accent-primary/15 text-text-primary"}`,children:[l&&i.jsx("span",{className:`text-[10px] block mb-0.5 ${a?"text-teal-400":r?"text-slate-400":"text-amber-400"}`,children:a?"Command":r?"Auto":"System"}),m?i.jsxs("div",{className:"flex flex-col gap-1.5",children:[i.jsx("textarea",{ref:V=>{b.current=V,V&&(V.style.height="auto",V.style.height=`${V.scrollHeight}px`)},className:"w-full bg-bg-primary border border-border rounded p-1.5 text-sm text-text-primary resize-none focus:outline-none focus:border-accent-primary min-h-[60px] overflow-hidden disabled:opacity-50",value:y,onChange:V=>{w(V.target.value),E()},onKeyDown:V=>{V.key==="Enter"&&!V.shiftKey&&(V.preventDefault(),D()),V.key==="Escape"&&L()},disabled:C,autoFocus:!0}),S&&i.jsx("p",{className:"text-xs text-error",children:S}),i.jsxs("div",{className:"flex justify-end gap-1",children:[i.jsx("button",{onClick:L,disabled:C,className:"p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary disabled:opacity-50",title:"Cancel",children:i.jsx(oi,{className:"w-3.5 h-3.5"})}),i.jsx("button",{onClick:()=>{D()},disabled:C||!y.trim(),className:"p-1 rounded hover:bg-bg-tertiary text-accent-primary hover:text-accent-primary disabled:opacity-50",title:"Confirm (Ctrl+Enter)",children:i.jsx(Or,{className:"w-3.5 h-3.5"})})]})]}):i.jsxs(i.Fragment,{children:[S&&i.jsx("p",{className:"text-xs text-error mb-1",children:S}),i.jsx("div",{className:`whitespace-pre-wrap break-words text-sm ${l?`${a?"text-teal-200":r?"text-slate-200":"text-amber-200 italic"}`:""}`,children:e.content}),e.attachments&&e.attachments.length>0&&i.jsx(P8,{attachments:e.attachments,messageId:e.id})]})]})]})}const Ok=A.memo(function({message:t,isLastAssistantMessage:n=!1,messageId:r,sessionId:a}){const l=t.role==="user",u=t.role==="assistant",c=t.role==="system",d=t.role==="tool";if(u)return i.jsx(Pg,{message:t,showStats:n});if(c&&t.isCompacted)return i.jsxs("div",{className:"feed-item bg-bg-tertiary/50 border border-border rounded p-2",children:[i.jsx("div",{className:"text-text-muted text-xs mb-0.5",children:"[Compacted]"}),i.jsx("div",{className:"text-text-secondary text-xs whitespace-pre-wrap",children:t.content.replace(`[COMPACTED HISTORY]
|
|
289
|
-
`,"")})]});if(d)return i.jsxs("div",{className:"feed-item bg-bg-tertiary/30 border-l-2 border-accent-primary rounded-r p-2",children:[i.jsxs("div",{className:"text-accent-primary text-xs mb-0.5",children:["Tool: ",t.toolName]}),i.jsxs("pre",{className:"text-text-secondary text-xs whitespace-pre-wrap break-words overflow-x-auto max-h-32",children:[t.content.slice(0,500),t.content.length>500&&"..."]})]});if(t.messageKind==="workflow-started")try{const f=JSON.parse(t.content);return i.jsx(L8,{data:f})}catch{}if(t.messageKind==="task-completed")try{const f=JSON.parse(t.content);return i.jsx(A8,{data:f})}catch{}return t.messageKind==="context-reset"?i.jsxs("div",{className:"flex items-center gap-4 mb-6 text-text-muted text-xs uppercase tracking-wide",children:[i.jsx("div",{className:"flex-1 border-t border-border"}),i.jsx("span",{children:t.content}),i.jsx("div",{className:"flex-1 border-t border-border"})]}):t.messageKind==="auto-prompt"&&t.isSystemGenerated?i.jsx(B8,{message:t}):t.messageKind==="correction"&&t.isSystemGenerated?i.jsx("div",{className:"flex justify-end feed-item",children:i.jsxs("div",{className:"max-w-[75%] rounded p-2 bg-amber-500/10 border border-amber-500/30",children:[i.jsx("span",{className:"text-[10px] block mb-0.5 text-amber-400",children:"System"}),i.jsx("div",{className:"whitespace-pre-wrap break-words text-sm text-amber-200 italic",children:t.content})]})}):l?i.jsx(z8,{message:t,messageId:r,sessionId:a}):i.jsx("div",{className:"flex justify-start feed-item",children:i.jsx("div",{className:"max-w-[75%] rounded p-2 bg-bg-tertiary text-text-primary",children:i.jsx(Kn,{content:t.content})})})}),H8={verifier:"Verification",code_reviewer:"Code Review",test_generator:"Test Generation",debugger:"Debug"};function U8(e){return{backgroundColor:`${e}20`,color:e,borderColor:`${e}4d`}}function kS(e,t){return t||e>85?"text-accent-error":e>60?"text-accent-warning":"text-text-muted"}function F8({contextState:e}){const{currentTokens:t,maxTokens:n,compactionCount:r,dangerZone:a}=e,l=Math.round(t/n*100);return i.jsxs("div",{className:"flex items-center gap-1.5 text-[10px]",children:[i.jsxs("span",{className:kS(l,a),children:[Qa(t),"/",Qa(n)]}),i.jsxs("span",{className:kS(l,a),children:["(",l,"%)"]}),i.jsx(X1,{percent:l,dangerZone:a,size:"sm"}),a&&i.jsx("span",{className:"text-accent-error animate-pulse",children:"Low!"}),r>0&&i.jsxs("span",{className:"text-text-muted bg-bg-tertiary px-1 rounded",children:[r,"x"]})]})}const V8=A.memo(function({messages:t,subAgentType:n,subAgentId:r,isStreaming:a}){const l=A.useRef(null),u=A.useRef(null),[c,d]=A.useState(!1),f=kt(D=>D.defaults),p=kt(D=>D.userItems),m=[...f,...p],x=Le(D=>D.subAgentContextStates[r]),{showThinking:y,showVerboseToolOutput:w}=Gi(),{isAutoScrollActive:C,setAutoScroll:_}=pd(u,null),S=A.useCallback(()=>{const D=!c;d(D),D&&setTimeout(()=>{var L;(L=l.current)==null||L.scrollIntoView({block:"start",behavior:"smooth"})},220)},[c]),v=m.find(D=>D.id===n),b=(v==null?void 0:v.name)??H8[n]??n,E=jl(m,n),j=U8(E),T=t.filter(D=>D.role!=="tool");return i.jsxs("div",{ref:l,className:"feed-item border border-border rounded overflow-hidden bg-secondary",children:[i.jsxs("div",{className:"w-full flex items-center justify-between px-2 py-1 border-b relative",style:j,children:[i.jsx("span",{className:"text-xs font-medium",children:b}),i.jsx("div",{className:"absolute left-1/2 -translate-x-1/2",children:x&&i.jsx(F8,{contextState:x})}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("button",{type:"button",className:"text-sm text-text-muted hover:text-text-primary flex items-center gap-1.5",onClick:()=>_(!C),children:[i.jsx("span",{className:`w-1 h-1 rounded-full ${C?"bg-accent-success":"border border-text-muted"}`}),"live"]}),i.jsxs("button",{type:"button",className:"text-[10px] px-1.5 py-0.5 rounded bg-bg-tertiary",onClick:S,children:[c?"▼":"▶"," Expand"]})]})]}),i.jsx("div",{ref:u,className:`${c?"max-h-[calc(100vh-10rem)]":"max-h-80"} overflow-y-auto p-2 transition-[max-height] duration-200`,children:T.map(D=>D.role==="assistant"?i.jsx(Pg,{message:D,showStats:!0,showThinking:y,showVerboseToolOutput:w},D.id):i.jsx(Ok,{message:D,isLastAssistantMessage:!1},D.id))})]})}),Km={contentVisibility:"auto",containIntrinsicSize:"auto 200px"};function Eu(e){var t;return e.type==="context-divider"?`ctx-${e.windowSequence}`:e.type==="subagent"?((t=e.messages[0])==null?void 0:t.id)??e.subAgentId:e.message.id}const Ik=A.memo(function({displayItems:t,highlightedMessageId:n=null,sessionId:r,showThinking:a=!0,showVerboseToolOutput:l=!0,showStats:u=!0,showAgentDefinitions:c=!0,showWorkflowBars:d=!0}){return i.jsx(i.Fragment,{children:t.map((f,p)=>{if(f.type==="context-divider")return i.jsxs("div",{"data-item-index":p,className:"flex items-center gap-2 feed-item px-2 md:px-4",children:[i.jsx("div",{className:"flex-1 border-t border-border"}),i.jsx("span",{className:"text-[10px] text-text-muted font-medium px-2",children:"Earlier context summarized"}),i.jsx("div",{className:"flex-1 border-t border-border"})]},Eu(f));if(f.type==="subagent"){const w=f.messages.some(C=>C.isStreaming);return i.jsx("div",{"data-item-index":p,className:"px-2 md:px-4",style:Km,children:i.jsx(V8,{messages:f.messages,subAgentType:f.subAgentType,subAgentId:f.subAgentId,isStreaming:w})},Eu(f))}const m=f.message;if(m.role==="assistant")return i.jsx("div",{"data-item-index":p,className:"px-2 md:px-4",style:Km,children:i.jsx(Pg,{message:m,showStats:u,showThinking:a,showVerboseToolOutput:l})},Eu(f));const x=!c&&m.messageKind==="auto-prompt",y=!d&&(m.messageKind==="workflow-started"||m.messageKind==="task-completed");return x||y?null:i.jsx("div",{"data-item-index":p,className:"px-2 md:px-4",style:Km,children:i.jsx("div",{"data-message-id":m.id,className:n===m.id?"rounded animate-highlight-fade":void 0,children:i.jsx(Ok,{message:m,messageId:m.id,sessionId:r??void 0,isLastAssistantMessage:!1})})},Eu(f))})})});function Mk(e,t,n=!0){A.useEffect(()=>{if(!n)return;const r=a=>{var l;(l=e.current)!=null&&l.contains(a.target)||t()};return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[e,t,n])}const G8=[],W8=A.memo(function({displayItems:t,scrollContainerRef:n,highlightedMessageId:r,onLaunchWorkflow:a,hiddenCount:l=0}){const u=Le(H=>{var F,G;return((G=(F=H.currentSession)==null?void 0:F.metadataEntries)==null?void 0:G.criteria)??G8}),c=Le(H=>{var F;return(F=H.currentSession)==null?void 0:F.id}),d=Le(H=>{var F;return(F=H.currentSession)==null?void 0:F.mode}),f=Le(H=>{var F;return(F=H.currentSession)==null?void 0:F.phase}),p=Le(H=>H.error),m=Le(H=>H.clearError),x=ld(),{showThinking:y,showVerboseToolOutput:w,showStats:C,showAgentDefinitions:_,showWorkflowBars:S}=Gi(),v=Rt(H=>H.defaults),b=Rt(H=>H.userItems),E=[...v,...b],j=d==="planner",T=u.length>0,D=f==="done",L=t.some(H=>H.type==="message"&&H.message.role==="assistant"),R=j&&T&&!x&&L&&!D,M=Le(H=>{var F;return(F=H.currentSession)==null?void 0:F.projectId}),[V,U]=A.useState(!1),O=()=>{if(!M||!c)return;U(!1),window.open(`/p/${M}/s/${c}/readonly`,"_blank")||U(!0)};return i.jsxs("div",{ref:n,"data-testid":"chat-scroll-container",className:"flex-1 min-w-0 overflow-y-auto relative bg-primary scrollbar-stable",children:[i.jsxs("div",{className:"pt-4",children:[l>0&&i.jsxs("div",{className:"px-2 md:px-4 pb-2 space-y-1",children:[i.jsxs("button",{onClick:O,className:"w-full text-sm text-text-muted hover:text-text-primary bg-bg-tertiary/50 hover:bg-bg-tertiary border border-border rounded px-3 py-2 transition-colors text-center",children:[l," older item",l!==1?"s":""," hidden — View full history"]}),V&&i.jsxs("p",{className:"text-xs text-text-muted text-center",children:["Popup blocked."," ",i.jsx("a",{href:M&&c?`/p/${M}/s/${c}/readonly`:"#",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-text-primary",children:"Open manually"})]})]}),i.jsx(Ik,{displayItems:t,highlightedMessageId:r,sessionId:c,showThinking:y,showVerboseToolOutput:w,showStats:C,showAgentDefinitions:_,showWorkflowBars:S})]}),i.jsxs("div",{className:"px-2 md:px-4 pb-4",children:[p&&i.jsx("div",{className:"feed-item bg-red-500/10 border border-red-500/50 rounded p-2",children:i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-red-400 text-sm font-medium",children:p.code}),i.jsx("div",{className:"text-red-300 text-xs mt-0.5",children:p.message})]}),i.jsx($l,{onClick:m,className:"text-red-400 hover:text-red-300 p-0.5",size:"sm"})]})}),R&&i.jsx("div",{className:"flex justify-center gap-2 feed-item flex-wrap",children:E.map(H=>{const F=H.color??"#3b82f6",G=parseInt(F.slice(1,3),16),Z=parseInt(F.slice(3,5),16),q=parseInt(F.slice(5,7),16),z=`rgba(${G},${Z},${q},0.12)`,I=`rgba(${G},${Z},${q},0.22)`,B=`rgba(${G},${Z},${q},0.25)`;return i.jsx(q8,{workflowName:H.name,color:F,bg:z,bgHover:I,border:B,subGroups:H.subGroups,onLaunch:K=>a(H.id,K)},H.id)})})]})]})});function q8({workflowName:e,color:t,bg:n,bgHover:r,border:a,subGroups:l,onLaunch:u}){const[c,d]=A.useState(!1),f=A.useRef(null);Mk(f,()=>d(!1),c);const p=l&&l.length>0;return i.jsxs("div",{className:"relative flex",children:[i.jsxs("button",{onClick:()=>u(),"data-testid":"workflow-run-button",className:`px-4 py-1.5 text-sm font-medium transition-colors ${p?"rounded-l":"rounded"}`,style:{backgroundColor:n,color:t,border:`1px solid ${a}`,...p?{borderRight:"none"}:{}},onMouseEnter:m=>{m.currentTarget.style.backgroundColor=r},onMouseLeave:m=>{m.currentTarget.style.backgroundColor=n},children:["▶ ",e]}),p&&i.jsxs("div",{ref:f,className:"relative",children:[i.jsx("button",{onClick:()=>d(!c),className:"px-2.5 py-1.5 rounded-r text-sm font-medium transition-colors",style:{backgroundColor:n,color:t,border:`1px solid ${a}`},onMouseEnter:m=>{m.currentTarget.style.backgroundColor=r},onMouseLeave:m=>{m.currentTarget.style.backgroundColor=n},children:"⋮"}),c&&i.jsxs("div",{className:"absolute top-full right-0 mt-1 w-40 bg-bg-secondary border border-border rounded-lg shadow-xl z-50 overflow-hidden",children:[i.jsx("button",{onClick:()=>{u(),d(!1)},className:"w-full text-left px-3 py-2 text-sm text-text-primary hover:bg-bg-tertiary transition-colors",children:"Full workflow"}),i.jsx("div",{className:"border-t border-border/50"}),l.map(m=>i.jsx("button",{onClick:()=>{u(m),d(!1)},className:"w-full text-left px-3 py-2 text-sm text-text-primary hover:bg-bg-tertiary transition-colors",children:m},m))]})]})]})}function K8(){const e=Le(r=>r.connectionStatus),t=Le(r=>r.reconnect);if(e==="connected")return null;const n=e==="reconnecting";return i.jsxs("div",{className:`
|
|
290
|
-
flex items-center justify-between px-4 py-2
|
|
291
|
-
text-sm font-medium
|
|
292
|
-
${n?"bg-amber-500/15 border-b border-amber-500/30 text-amber-300":"bg-red-500/15 border-b border-red-500/30 text-red-300"}
|
|
293
|
-
`,children:[i.jsx("div",{className:"flex items-center gap-2",children:n?i.jsxs(i.Fragment,{children:[i.jsxs("span",{className:"flex gap-1",children:[i.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-pulse"}),i.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-pulse",style:{animationDelay:"150ms"}}),i.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-pulse",style:{animationDelay:"300ms"}})]}),i.jsx("span",{children:"Reconnecting to server..."})]}):i.jsxs(i.Fragment,{children:[i.jsx($N,{}),i.jsx("span",{children:"Connection lost"})]})}),i.jsx("button",{onClick:()=>t(),disabled:n,className:`
|
|
294
|
-
px-3 py-1 rounded text-xs font-medium
|
|
295
|
-
transition-colors
|
|
296
|
-
${n?"bg-amber-500/20 text-amber-400 cursor-not-allowed opacity-50":"bg-red-500/20 text-red-300 hover:bg-red-500/30 hover:text-red-200"}
|
|
297
|
-
`,children:n?"Reconnecting...":"Reconnect"})]})}const mn=$n((e,t)=>({defaults:[],userItems:[],projectItems:[],loading:!1,fetchCommands:async()=>{await V1("/api/commands",e,!0)},fetchCommand:async n=>{try{const r=await _e(`/api/commands/${n}`);return r.ok?await r.json():null}catch{return null}},fetchDefaultContent:async n=>{try{const r=await _e(`/api/commands/defaults/${n}`);return r.ok?await r.json():null}catch{return null}},createCommand:async(n,r)=>{const a=await ai("POST","/api/commands",{...n,destination:r});return a.success&&await t().fetchCommands(),a},updateCommand:async(n,r)=>{const a=await ai("PUT",`/api/commands/${n}`,r);return a.success&&await t().fetchCommands(),a},deleteCommand:async n=>{try{const r=await _e(`/api/commands/${n}`,{method:"DELETE"}),a=await r.json();return r.ok?(e(l=>({userItems:l.userItems.filter(u=>u.id!==n)})),{success:!0}):{success:!1,error:a.error??"Failed to delete"}}catch{return{success:!1,error:"Network error"}}},duplicateCommand:async(n,r)=>od(`/api/commands/${n}/duplicate`,()=>t().fetchCommands(),r)}));function Y8(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function X8({onClick:e}){return i.jsx("button",{type:"button",onClick:e,className:"p-1.5 rounded text-text-muted hover:text-text-primary hover:bg-bg-primary transition-colors",title:"View",children:i.jsx(Vp,{})})}function Pk({isOpen:e,onClose:t,initialEditId:n}){const r=mn(ce=>ce.defaults),a=mn(ce=>ce.userItems),l=mn(ce=>ce.projectItems),u=mn(ce=>ce.loading),c=mn(ce=>ce.fetchCommands),d=mn(ce=>ce.fetchCommand),f=mn(ce=>ce.fetchDefaultContent),p=mn(ce=>ce.createCommand),m=mn(ce=>ce.updateCommand),x=mn(ce=>ce.deleteCommand),[y,w]=A.useState(null),[C,_]=A.useState(null),{view:S,editingId:v,formError:b,saving:E,formData:j,setView:T,setEditingId:D,setFormError:L,setFormData:R,setSaving:M}=b1(),{requestDelete:V,clearConfirm:U,isConfirming:O}=hd(),H=A.useRef(!1),F=kt(ce=>ce.defaults),G=kt(ce=>ce.userItems),Z=kt(ce=>ce.fetchAgents),z=[...F,...G].filter(ce=>!ce.subagent),I=A.useRef(c),B=A.useRef(Z),K=A.useRef(d),P=A.useRef(f),ee=A.useRef(n),Q=A.useRef(T),te=A.useRef(D),Y=A.useRef(L),W=A.useRef(U);A.useEffect(()=>{I.current=c,B.current=Z,K.current=d,P.current=f,ee.current=n,Q.current=T,te.current=D,Y.current=L,W.current=U}),A.useEffect(()=>{if(e)if(I.current(),B.current(),H.current||(W.current(),H.current=!0),ee.current){const ce=r.some(oe=>oe.id===ee.current);Q.current("edit"),te.current(ee.current),Y.current(""),ce?P.current(ee.current).then(oe=>{oe&&R({name:oe.metadata.name+" (copy)",id:`${ee.current}-copy-${Date.now()}`,prompt:oe.prompt,agentMode:oe.metadata.agentMode??"",isDefault:!0,destination:"user"})}):K.current(ee.current).then(oe=>{oe&&R({name:oe.metadata.name,id:oe.metadata.id,prompt:oe.prompt,agentMode:oe.metadata.agentMode??"",isDefault:!1,destination:"user"})})}else Q.current("list"),te.current(null);else H.current=!1},[e]);const ne=async ce=>{w(ce);const oe=await f(ce);_((oe==null?void 0:oe.prompt)??null)},se=async ce=>{if(r.some(De=>De.id===ce)){const De=await f(ce);De&&(D(null),R({name:`${De.metadata.name} (copy)`,id:`${ce}-copy-${Date.now()}`,prompt:De.prompt,agentMode:De.metadata.agentMode??"",isDefault:!0,destination:"user"}),L(""),T("edit"))}else{const De=await d(ce);De&&(D(null),R({name:`${De.metadata.name} (copy)`,id:`${ce}-copy-${Date.now()}`,prompt:De.prompt,agentMode:De.metadata.agentMode??"",isDefault:!1,destination:"user"}),L(""),T("edit"))}},pe=()=>{R({name:"",id:"",prompt:"",agentMode:"",isDefault:!1,destination:"user"}),D(null),T("edit")},ge=async ce=>{const oe=await d(ce);oe&&(D(ce),R({name:oe.metadata.name,id:oe.metadata.id,prompt:oe.prompt,agentMode:oe.metadata.agentMode??"",isDefault:!1,destination:"user"}),L(""),T("edit"))},ke=async ce=>{await x(ce),U()},Be=async()=>{const ce=v??j.id;if(!ce||!j.name||!j.prompt){L("Name and message are required.");return}M(!0),L("");const oe={metadata:{id:ce,name:j.name,...j.agentMode?{agentMode:j.agentMode}:{}},prompt:j.prompt},De=v?await m(v,oe):await p(oe,j.destination);if(M(!1),!De.success){L(De.error??"Failed to save command.");return}n?t():T("list")},Me=()=>{n?t():(T("list"),w(null),_(null))},$e=ce=>{R(oe=>({...oe,name:ce})),(!v||j.isDefault)&&R(oe=>({...oe,id:Y8(ce)}))},je=()=>{w(null),_(null),T("list")},nt=()=>{y&&(w(null),T("edit"),D(y),f(y).then(ce=>{ce&&R({name:`${ce.metadata.name} (copy)`,id:`${y}-copy-${Date.now()}`,prompt:ce.prompt,agentMode:ce.metadata.agentMode??"",isDefault:!0,destination:"user"})}))};if(y){const ce=r.find(oe=>oe.id===y);return i.jsx(St,{isOpen:e,onClose:je,title:`Default: ${(ce==null?void 0:ce.name)??y}`,size:"xl",children:i.jsxs("div",{className:"flex flex-col h-full",children:[i.jsxs("div",{className:"space-y-3 mb-3",children:[i.jsxs("div",{className:"flex items-center gap-2 text-xs text-text-muted",children:[i.jsx("span",{className:"px-1.5 py-0.5 rounded bg-bg-tertiary text-text-secondary",children:"Built-in"}),i.jsx("span",{className:"font-mono",children:y})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Name"}),i.jsx("div",{className:"px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm",children:ce==null?void 0:ce.name})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Agent Mode"}),i.jsx("div",{className:"px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm text-text-muted",children:(ce==null?void 0:ce.agentMode)||"None"})]})]}),i.jsxs("div",{className:"flex-1 min-h-[120px] border-t border-border pt-3 flex flex-col",children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Message"}),i.jsx("textarea",{value:C??"",readOnly:!0,placeholder:"...",className:"flex-1 w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-none opacity-60"})]}),i.jsxs("div",{className:"flex justify-end gap-2 pt-3 mt-3 border-t border-border flex-shrink-0",children:[i.jsx(Qe,{variant:"secondary",onClick:je,children:"Close"}),i.jsx(Qe,{variant:"primary",onClick:nt,children:"Duplicate & Customize"})]})]})})}if(S==="edit")return i.jsx(St,{isOpen:e,onClose:Me,title:v?"Edit Command":"New Command",size:"xl",children:i.jsxs("div",{className:"flex flex-col h-full",children:[b&&i.jsx(Wa,{message:b}),i.jsxs("div",{className:"space-y-3 mb-3",children:[i.jsx(y1,{name:j.name,id:j.id,nameLabel:"Name",idLabel:"ID",namePlaceholder:"My Command",idPlaceholder:"my-command",readOnlyId:!!v&&!j.isDefault,onNameChange:$e,onIdChange:ce=>R(oe=>({...oe,id:ce}))}),i.jsxs("div",{children:[i.jsxs("label",{className:"block text-xs text-text-secondary mb-1",children:["Agent Mode ",i.jsx("span",{className:"text-text-muted",children:"(optional)"})]}),i.jsxs("select",{value:j.agentMode,onChange:ce=>R(oe=>({...oe,agentMode:ce.target.value})),className:"w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",children:[i.jsx("option",{value:"",children:"None (keep current mode)"}),z.map(ce=>i.jsx("option",{value:ce.id,children:ce.name},ce.id))]})]}),!v&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("label",{className:"text-xs text-text-secondary",children:"Save to:"}),i.jsxs("select",{value:j.destination,onChange:ce=>R(oe=>({...oe,destination:ce.target.value})),className:"px-2 py-1 bg-bg-tertiary border border-border rounded text-xs focus:outline-none focus:ring-1 focus:ring-accent-primary",children:[i.jsx("option",{value:"user",children:"Global config"}),i.jsx("option",{value:"project",children:"Project (.openfox/)"})]})]})]}),i.jsxs("div",{className:"flex-1 min-h-[120px] border-t border-border pt-3 flex flex-col",children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Message"}),i.jsx("textarea",{value:j.prompt,onChange:ce=>R(oe=>({...oe,prompt:ce.target.value})),placeholder:"The message that will be sent when this command is triggered...",className:"h-80 w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-y focus:outline-none focus:ring-1 focus:ring-accent-primary"})]}),i.jsxs("div",{className:"flex justify-end gap-2 pt-3 mt-3 border-t border-border flex-shrink-0",children:[i.jsx(Qe,{variant:"secondary",onClick:Me,children:"Cancel"}),i.jsx(Qe,{variant:"primary",onClick:Be,disabled:E||!j.name||!j.prompt,children:E?"Saving...":"Save"})]})]})});const Ee=ce=>ce.map(oe=>i.jsxs("div",{className:"flex items-center justify-between p-3 rounded border border-border bg-bg-tertiary",children:[i.jsx("div",{className:"min-w-0 flex-1 mr-3",children:i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("span",{className:"text-text-primary text-sm font-medium",children:oe.name})})}),i.jsxs("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:[i.jsx(Ui,{onClick:()=>ge(oe.id)}),i.jsx(Bu,{onClick:()=>se(oe.id)}),O(oe.id,"delete")?i.jsx(Xp,{onConfirm:()=>ke(oe.id),onCancel:U}):i.jsx(Qp,{onClick:()=>V(oe.id)})]})]},oe.id));return i.jsxs(St,{isOpen:e,onClose:t,title:"Commands",size:"lg",children:[i.jsx(x1,{description:"Commands are pre-defined messages you can send with a single click.",onNew:pe}),i.jsxs(Jp,{loading:u,hasItems:r.length>0||a.length>0||l.length>0,loadingLabel:"Loading commands...",emptyLabel:"No commands created yet.",children:[r.length>0&&i.jsxs("div",{children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Built-in"}),i.jsx("div",{className:"space-y-2",children:r.map(ce=>i.jsxs("div",{className:"flex items-center justify-between p-3 rounded border border-border bg-bg-tertiary",children:[i.jsx("div",{className:"min-w-0 flex-1 mr-3",children:i.jsx("span",{className:"text-text-primary text-sm font-medium",children:ce.name})}),i.jsxs("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:[i.jsx(X8,{onClick:()=>ne(ce.id)}),i.jsx(Bu,{onClick:()=>se(ce.id)})]})]},ce.id))})]}),a.length>0&&i.jsx(g1,{children:Ee(a)}),l.length>0&&i.jsxs("div",{className:"mt-4",children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Project"}),i.jsx("div",{className:"space-y-2",children:Ee(l)})]})]})]})}const Ai=150,gs=54,ju=80,Tr=30,Ma=70,ES=100,Li=50,Nu=50,jS=4,Bk={step_result:"Result",metadata_all_match:"Metadata match",metadata_all_in:"Metadata in",always:"otherwise"},$k=[{value:"step_result",label:"Step result is..."},{value:"metadata_all_match",label:"Metadata all match (key=value)"},{value:"metadata_all_in",label:"Metadata all in list"},{value:"always",label:"Always (fallback)"}],Q8=[{value:"agent",label:"Agent"},{value:"sub_agent",label:"Sub-Agent"},{value:"shell",label:"Shell"}];function $g(e,t){if(e.type==="agent"){const n=t.find(r=>r.id===e.agentId);return{name:(n==null?void 0:n.name)??(e.agentId||"Agent"),color:(n==null?void 0:n.color)||"#3b82f6"}}if(e.type==="sub_agent"){const n=t.find(r=>r.id===e.subAgentType);return{name:(n==null?void 0:n.name)??(e.subAgentType||"Sub-Agent"),color:(n==null?void 0:n.color)||"#a855f7"}}return{name:"Shell",color:"#22c55e"}}function J8(e,t,n,r){const a=Nu+Li+Ai+ES+Ai+Li+Nu,l=a/2,u=Nu+Li+Ai/2,c=Nu+Li+Ai+ES+Ai/2,d=[],f=[],p=new Map,m=e.filter(F=>F.type==="agent"||F.type==="shell"),x=e.filter(F=>F.type==="sub_agent"),y=x.length>0,w=y?u:l,C=m.length>0?c:l,_=Li+Tr/2;d.push({id:"$start",type:"terminal",label:"Start",cx:w,cy:_,w:ju,h:Tr}),p.set("$start",{cx:w,cy:_,w:ju,h:Tr});const S=F=>{d.push({id:"$done",type:"terminal",label:"Done",cx:w,cy:F,w:ju,h:Tr}),p.set("$done",{cx:w,cy:F,w:ju,h:Tr})};if(e.length===0){const F=_+Tr/2+Ma*2+Tr/2;return S(F),{nodes:d,edges:f,width:a,height:F+Tr/2+Li,posMap:p}}const v=_+Tr/2+Ma,b=(F,G)=>{F.forEach((Z,q)=>{const z=v+q*(gs+Ma)+gs/2,{name:I,color:B}=$g(Z,r);d.push({id:Z.id,type:"step",label:I,color:B,cx:G,cy:z,w:Ai,h:gs}),p.set(Z.id,{cx:G,cy:z,w:Ai,h:gs})})};b(m,w),b(x,C);const E=m.length>0?v+(m.length-1)*(gs+Ma)+gs/2:_,j=y?v+(x.length-1)*(gs+Ma)+gs/2:_,T=Math.max(E,j)+gs/2+Ma+Tr/2;S(T);const D=[];t&&p.has(t)&&D.push({from:"$start",to:t,label:n,edgeKey:"start",direction:"down",backEdgeIndex:0});let L=0;for(const F of e)F.transitions.forEach((G,Z)=>{var P;if(!G.goto||!p.has(G.goto))return;const q=p.get(F.id),z=p.get(G.goto),I=G.when.type==="step_result"?`${G.when.result}`:G.when.type==="metadata_all_match"?`${G.when.key??"?"}=${G.when.value??"?"}`:G.when.type==="metadata_all_in"?`${G.when.key??"?"} in [${((P=G.when.values)==null?void 0:P.join(","))??"?"}]`:Bk[G.when.type]??G.when.type,B=F.id===G.goto;let K;B?K="back":z.cy>q.cy+1?K="down":z.cy<q.cy-1?K="back":K="same",D.push({from:F.id,to:G.goto,label:I,edgeKey:`${F.id}:${Z}`,direction:K,backEdgeIndex:K==="back"?L++:0})});const R=new Map,M=new Map,V=new Map,U=new Map;for(const F of D)F.direction==="down"&&(R.set(F.from,(R.get(F.from)??0)+1),M.set(F.to,(M.get(F.to)??0)+1));const O=new Map,H=new Map;for(const F of D){if(F.direction!=="same")continue;const G=[F.from,F.to].sort().join("|");O.set(G,(O.get(G)??0)+1)}for(const F of D){if(F.direction==="back"||F.direction==="same"){let K=0;if(F.direction==="same"){const P=[F.from,F.to].sort().join("|");K=H.get(P)??0,H.set(P,K+1)}f.push({...F,fromPort:0,toPort:0,sameEdgeIndex:K});continue}const G=R.get(F.from)??1,Z=M.get(F.to)??1,q=V.get(F.from)??0,z=U.get(F.to)??0;V.set(F.from,q+1),U.set(F.to,z+1);const I=G===1?0:-.6+1.2*q/(G-1),B=Z===1?0:-.6+1.2*z/(Z-1);f.push({...F,fromPort:I,toPort:B,sameEdgeIndex:0})}return{nodes:d,edges:f,width:a,height:T+Tr/2+Li,posMap:p}}function Z8({steps:e,entryStep:t,selectedNodeId:n,selectedEdgeKey:r,startConditionLabel:a,agentTypes:l,isReadOnly:u,onSelectNode:c,onSelectEdge:d,onRemoveStep:f,onCreateTransition:p,onReconnectTo:m,onReconnectFrom:x,onDeleteTransition:y}){const w=A.useRef(null),C=A.useRef(!1),[_,S]=A.useState(null),[v,b]=A.useState(null),[E,j]=A.useState(null),{nodes:T,edges:D,width:L,height:R,posMap:M}=A.useMemo(()=>J8(e,t,a,l),[e,t,a,l]),V=A.useCallback(Q=>{var se;const te=w.current;if(!te)return{x:0,y:0};const Y=te.createSVGPoint();Y.x=Q.clientX,Y.y=Q.clientY;const W=(se=te.getScreenCTM())==null?void 0:se.inverse();if(!W)return{x:0,y:0};const ne=Y.matrixTransform(W);return{x:ne.x,y:ne.y}},[]),U=A.useCallback(Q=>!Q||!v||Q==="$start"?!1:v.type==="reconnect-from"?Q!=="$done":!0,[v]),O=A.useCallback((Q,te)=>{if(u)return;Q.stopPropagation(),Q.preventDefault();const Y=V(Q);b({type:"new",fromNodeId:te,mouseX:Y.x,mouseY:Y.y})},[V,u]),H=A.useCallback((Q,te)=>{if(u)return;Q.stopPropagation(),Q.preventDefault();const Y=V(Q);b({type:"reconnect-to",fromNodeId:te.from,edgeKey:te.edgeKey,mouseX:Y.x,mouseY:Y.y})},[V,u]),F=A.useCallback((Q,te)=>{if(u)return;Q.stopPropagation(),Q.preventDefault();const Y=V(Q);b({type:"reconnect-from",fromNodeId:te.from,fixedTargetId:te.to,edgeKey:te.edgeKey,mouseX:Y.x,mouseY:Y.y})},[V,u]),G=A.useCallback(Q=>{if(!v)return;const te=V(Q);b(Y=>Y?{...Y,mouseX:te.x,mouseY:te.y}:null)},[v,V]),Z=A.useCallback(()=>{v&&(C.current=!0,E&&U(E)&&(v.type==="new"?p(v.fromNodeId,E):v.type==="reconnect-to"?m(v.edgeKey,E):v.type==="reconnect-from"&&x(v.edgeKey,E)),b(null),j(null))},[v,E,U,p,m,x]),q=A.useCallback(()=>{if(C.current){C.current=!1;return}c(null),d(null)},[c,d]);A.useEffect(()=>{if(u)return;const Q=te=>{te.target instanceof HTMLInputElement||te.target instanceof HTMLTextAreaElement||te.target instanceof HTMLSelectElement||(te.key==="Delete"||te.key==="Backspace")&&r&&r!=="start"&&(te.preventDefault(),y(r),d(null))};return document.addEventListener("keydown",Q),()=>document.removeEventListener("keydown",Q)},[u,r,y,d]);const z=Q=>{const te=M.get(Q.from),Y=M.get(Q.to);if(!te||!Y)return null;let W,ne,se,pe="middle",ge,ke;if(Q.direction==="down"){const Be=te.cx+Q.fromPort*(te.w/2-10),Me=te.cy+te.h/2,$e=Y.cx+Q.toPort*(Y.w/2-10),je=Y.cy-Y.h/2,nt=je-Me,Ee=$e-Be;W=`M ${Be} ${Me} C ${Be} ${Me+nt*.4}, ${$e-Ee*.2} ${je-nt*.1}, ${$e} ${je}`,ne=Be+($e-Be)*.5,se=Me+nt*.6,ge={x:Be,y:Me},ke={x:$e,y:je}}else if(Q.direction==="back"){const Be=Q.from===Q.to,Me=te.cx>=L/2,$e=Q.backEdgeIndex*16,je=Me?L-20-$e:20+$e;if(Be){const nt=te.cx>=L/2,Ee=30+Q.backEdgeIndex*14,ce=te.cy-te.h/2,oe=nt?te.cx+te.w/2:te.cx-te.w/2,De=nt?oe+Ee:oe-Ee,Ze=te.cx+(nt?te.w/4:-te.w/4),Ye=ce-20-Q.backEdgeIndex*10;W=`M ${oe} ${te.cy} C ${De} ${te.cy}, ${De} ${Ye}, ${Ze} ${ce}`,ne=De+10,se=Ye+4,pe="middle",ge={x:oe,y:te.cy},ke={x:Ze,y:ce}}else{const nt=Me?te.cx+te.w/2:te.cx-te.w/2,Ee=Y.cx+(Me?Y.w/4:-Y.w/4),ce=Math.min(te.cy,Y.cy)-Y.h/2-18-Q.backEdgeIndex*14;W=`M ${nt} ${te.cy} L ${je} ${te.cy} L ${je} ${ce} L ${Ee} ${ce} L ${Ee} ${Y.cy-Y.h/2}`,ne=je,se=(te.cy+ce)/2,pe=Me?"start":"end",ge={x:nt,y:te.cy},ke={x:Ee,y:Y.cy-Y.h/2}}}else{const Be=Y.cx>te.cx,Me=Q.sameEdgeIndex===0?-12:12,$e=Be?te.cx+te.w/2:te.cx-te.w/2,je=Be?Y.cx-Y.w/2:Y.cx+Y.w/2,nt=te.cy+Me,Ee=Y.cy+Me,ce=($e+je)/2;W=`M ${$e} ${nt} C ${ce} ${nt}, ${ce} ${Ee}, ${je} ${Ee}`,ne=ce,se=(nt+Ee)/2-6,ge={x:$e,y:nt},ke={x:je,y:Ee}}return{path:W,labelX:ne,labelY:se,labelAnchor:pe,fromPt:ge,toPt:ke}},I=(Q,te)=>{const Y=z(Q);if(!Y)return null;const{path:W,labelX:ne,labelY:se,labelAnchor:pe}=Y,ge=r===Q.edgeKey,ke=Q.label&&Q.label!=="otherwise";return i.jsxs("g",{children:[i.jsx("path",{d:W,fill:"none",stroke:"transparent",strokeWidth:14,className:"cursor-pointer",onClick:Be=>{Be.stopPropagation(),u||d(ge?null:Q.edgeKey)}}),i.jsx("path",{d:W,fill:"none",stroke:ge?"#58a6ff":"#484f58",strokeWidth:ge?2.2:1.2,markerEnd:ge?"url(#arrow-selected)":"url(#arrow)",pointerEvents:"none"}),ke&&i.jsx("text",{x:ne+(pe==="start"?5:pe==="end"?-5:0),y:se+3,textAnchor:pe,className:"text-[8px]",fill:ge?"#79c0ff":"#8b949e",style:{paintOrder:"stroke",stroke:"#0d1117",strokeWidth:3,strokeLinejoin:"round"},pointerEvents:"none",children:Q.label})]},te)},B=()=>{if(!r||v)return null;const Q=D.find(se=>se.edgeKey===r);if(!Q)return null;const te=z(Q);if(!te)return null;const{fromPt:Y,toPt:W}=te,ne=6;return i.jsxs(i.Fragment,{children:[Q.edgeKey!=="start"&&i.jsx("circle",{cx:Y.x,cy:Y.y,r:ne,fill:"#58a6ff",fillOpacity:.25,stroke:"#58a6ff",strokeWidth:2,strokeOpacity:.8,className:"cursor-grab",onMouseDown:se=>F(se,Q)}),i.jsx("circle",{cx:W.x,cy:W.y,r:ne,fill:"#58a6ff",fillOpacity:.25,stroke:"#58a6ff",strokeWidth:2,strokeOpacity:.8,className:"cursor-grab",onMouseDown:se=>H(se,Q)})]})},K=()=>{if(!v)return null;let Q,te,Y,W;if(v.type==="reconnect-from"){const pe=M.get(v.fixedTargetId);if(!pe)return null;Q=v.mouseX,te=v.mouseY,Y=pe.cx,W=pe.cy-pe.h/2}else{const pe=M.get(v.fromNodeId);if(!pe)return null;Q=pe.cx,te=pe.cy+pe.h/2,Y=v.mouseX,W=v.mouseY}const ne=W-te,se=Math.abs(ne)>10?`M ${Q} ${te} C ${Q} ${te+ne*.4}, ${Y} ${W-ne*.4}, ${Y} ${W}`:`M ${Q} ${te} L ${Y} ${W}`;return i.jsx("path",{d:se,fill:"none",stroke:"#58a6ff",strokeWidth:2,strokeDasharray:"6 3",strokeOpacity:.7,pointerEvents:"none"})},P=Q=>{const te=Q.cy+Q.h/2,Y=(v==null?void 0:v.fromNodeId)===Q.id;return i.jsx("circle",{cx:Q.cx,cy:te,r:jS,fill:Y?"#58a6ff":"#1c2128",stroke:Y?"#58a6ff":"#484f58",strokeWidth:1.5,strokeOpacity:Y?1:.5,className:"cursor-crosshair",onMouseDown:W=>O(W,Q.id)})},ee=Q=>{const te=Q.cy-Q.h/2,Y=v&&E===Q.id&&U(Q.id);return i.jsx("circle",{cx:Q.cx,cy:te,r:jS,fill:Y?"#3fb950":"#1c2128",stroke:Y?"#3fb950":"#484f58",strokeWidth:1.5,strokeOpacity:Y?1:.5})};return i.jsxs("svg",{ref:w,viewBox:`0 0 ${L} ${R}`,className:"block w-full",preserveAspectRatio:"xMidYMin meet",onMouseMove:G,onMouseUp:Z,onClick:q,children:[i.jsxs("defs",{children:[i.jsx("marker",{id:"arrow",viewBox:"0 0 10 7",refX:"10",refY:"3.5",markerWidth:"7",markerHeight:"5",orient:"auto",children:i.jsx("polygon",{points:"0 0, 10 3.5, 0 7",fill:"#484f58"})}),i.jsx("marker",{id:"arrow-selected",viewBox:"0 0 10 7",refX:"10",refY:"3.5",markerWidth:"7",markerHeight:"5",orient:"auto",children:i.jsx("polygon",{points:"0 0, 10 3.5, 0 7",fill:"#58a6ff"})})]}),D.map((Q,te)=>I(Q,te)),T.map(Q=>{const te=n===Q.id,Y=Q.cx-Q.w/2,W=Q.cy-Q.h/2,ne=_===Q.id,se=v&&E===Q.id&&U(Q.id);if(Q.type==="terminal"){const ge=Q.id==="$start",ke=ge?"#58a6ff":"#3fb950",Be=ge,Me=!ge;return i.jsxs("g",{onClick:$e=>{$e.stopPropagation(),ge&&!u&&d("start")},className:ge&&!u?"cursor-pointer":void 0,children:[se&&i.jsx("rect",{x:Y-3,y:W-3,width:Q.w+6,height:Q.h+6,rx:Q.h/2+3,fill:"none",stroke:"#3fb950",strokeOpacity:.6,strokeWidth:2}),ge&&r==="start"&&i.jsx("rect",{x:Y-3,y:W-3,width:Q.w+6,height:Q.h+6,rx:Q.h/2+3,fill:"none",stroke:"#58a6ff",strokeOpacity:.5,strokeWidth:2}),i.jsx("rect",{x:Y,y:W,width:Q.w,height:Q.h,rx:Q.h/2,fill:ke,fillOpacity:.08,stroke:ke,strokeOpacity:.4,strokeWidth:1.5}),i.jsx("text",{x:Q.cx,y:Q.cy+4,textAnchor:"middle",fill:ke,className:"text-[10px] font-medium",pointerEvents:"none",children:Q.label}),Be&&P(Q),Me&&ee(Q)]},Q.id)}const pe=Q.color??"#6b7280";return i.jsxs("g",{onClick:ge=>{ge.stopPropagation(),u||c(te?null:Q.id)},onMouseEnter:()=>S(Q.id),onMouseLeave:()=>S(null),className:u?void 0:"cursor-pointer",children:[se&&i.jsx("rect",{x:Y-3,y:W-3,width:Q.w+6,height:Q.h+6,rx:12,fill:"none",stroke:"#3fb950",strokeOpacity:.6,strokeWidth:2}),te&&i.jsx("rect",{x:Y-3,y:W-3,width:Q.w+6,height:Q.h+6,rx:12,fill:"none",stroke:"#58a6ff",strokeOpacity:.5,strokeWidth:2}),i.jsx("rect",{x:Y,y:W,width:Q.w,height:Q.h,rx:10,fill:pe,fillOpacity:.08,stroke:pe,strokeOpacity:.6,strokeWidth:te?2:1.5}),i.jsx("text",{x:Q.cx,y:Q.cy+4,textAnchor:"middle",fill:"#c9d1d9",className:"text-[11px] font-medium",pointerEvents:"none",children:Q.label}),!u&&P(Q),!u&&ee(Q),ne&&!v&&!u&&i.jsxs("g",{onClick:ge=>{ge.stopPropagation(),f(Q.id)},className:"cursor-pointer",children:[i.jsx("circle",{cx:Y+Q.w-2,cy:W+2,r:8,fill:"#0d1117",fillOpacity:.9,stroke:"#f85149",strokeOpacity:.5,strokeWidth:1}),i.jsx("line",{x1:Y+Q.w-5,y1:W-1,x2:Y+Q.w+1,y2:W+5,stroke:"#f85149",strokeWidth:1.5,strokeLinecap:"round"}),i.jsx("line",{x1:Y+Q.w+1,y1:W-1,x2:Y+Q.w-5,y2:W+5,stroke:"#f85149",strokeWidth:1.5,strokeLinecap:"round"})]})]},Q.id)}),v&&T.map(Q=>U(Q.id)?i.jsx("rect",{x:Q.cx-Q.w/2-8,y:Q.cy-Q.h/2-8,width:Q.w+16,height:Q.h+16,fill:"transparent",rx:12,onMouseEnter:()=>j(Q.id),onMouseLeave:()=>j(null),onMouseUp:te=>{te.stopPropagation(),Z()}},`drop-${Q.id}`):null),K(),B()]})}const Tu="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",fl="block text-[11px] text-text-secondary mb-0.5";function e$({formName:e,formId:t,formDescription:n,formMaxIterations:r,formColor:a,isReadOnly:l,onNameChange:u,onDescriptionChange:c,onMaxIterationsChange:d,onColorChange:f}){return i.jsxs("div",{className:"flex items-end gap-3 mb-3 pb-3 border-b border-border flex-wrap",children:[i.jsxs("div",{className:"min-w-[140px]",children:[i.jsx("label",{className:fl,children:"Name"}),i.jsx("input",{value:e,onChange:p=>u(p.target.value),placeholder:"Workflow name",className:`${Tu} ${l?"opacity-50":""}`,readOnly:l})]}),i.jsxs("div",{className:"min-w-[100px]",children:[i.jsx("label",{className:fl,children:"ID"}),i.jsx("input",{value:t,readOnly:!0,className:`${Tu} font-mono opacity-50`})]}),i.jsxs("div",{className:"flex-1 min-w-[140px]",children:[i.jsx("label",{className:fl,children:"Description"}),i.jsx("input",{value:n,onChange:p=>!l&&c(p.target.value),readOnly:l,placeholder:"What does this workflow do?",className:`${Tu} ${l?"opacity-50":""}`})]}),i.jsxs("div",{className:"w-20",children:[i.jsx("label",{className:fl,children:"Max Iter."}),i.jsx("input",{type:"number",value:r,onChange:p=>!l&&d(Number(p.target.value)),readOnly:l,className:`${Tu} font-mono ${l?"opacity-50":""}`})]}),i.jsxs("div",{children:[i.jsx("label",{className:fl,children:"Color"}),i.jsx("input",{type:"color",value:a,onChange:p=>!l&&f(p.target.value),disabled:l,className:`w-8 h-8 rounded border border-border bg-transparent ${l?"opacity-50":"cursor-pointer"}`})]})]})}function t$({name:e,id:t,color:n,description:r,isBuiltIn:a,actions:l}){return i.jsxs("div",{className:"flex items-center justify-between bg-bg-secondary rounded-lg p-4 border border-border",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{backgroundColor:n}}),i.jsx("span",{className:"text-text-primary text-sm font-medium",children:e}),i.jsx("span",{className:"text-text-muted text-xs font-mono",children:t}),a&&i.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-medium bg-bg-primary text-text-muted",children:"Built-in"})]}),r&&i.jsx("p",{className:"text-text-secondary text-xs mt-0.5 truncate",children:r})]}),i.jsx("div",{className:"flex items-center gap-1 flex-shrink-0 ml-3",children:l})]})}function NS({title:e,items:t,renderActions:n}){return t.length===0?null:i.jsxs("div",{children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:e}),i.jsx("div",{className:"space-y-2",children:t.map(r=>i.jsx(t$,{name:r.name,id:r.id,color:r.color??"#3b82f6",description:r.description,actions:n(r)},r.id))})]})}const Pa="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",Ym="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",xs="block text-[11px] text-text-secondary mb-0.5";function Xm({variables:e,onInsert:t}){return e.length===0?null:i.jsx("div",{className:"flex flex-wrap gap-1 mt-1",children:e.map(n=>i.jsx("button",{type:"button",onClick:()=>t(n.name),title:n.description,className:"px-1.5 py-0.5 rounded text-[10px] font-mono bg-bg-primary border border-border text-text-secondary hover:text-accent-primary hover:border-accent-primary/40 transition-colors",children:`{{${n.name}}}`},n.name))})}function n$({step:e,isEntry:t,agentTypes:n,transitionCount:r,templateVariables:a,onUpdate:l,onRemove:u,onSetEntry:c}){const{color:d,name:f}=$g(e,n);return i.jsxs("div",{className:"space-y-3 text-sm",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-semibold",style:{backgroundColor:d+"20",color:d},children:f}),t&&i.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-semibold bg-accent-primary/15 text-accent-primary",children:"Entry"})]}),i.jsxs("div",{className:"flex items-center gap-1",children:[!t&&i.jsx("button",{onClick:c,className:"p-1 rounded text-text-muted hover:text-accent-primary text-xs",children:"Set entry"}),i.jsx("button",{onClick:u,className:"p-1 rounded text-text-muted hover:text-accent-error text-xs",children:"Delete"})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:xs,children:"Type"}),i.jsx("select",{value:e.type,onChange:p=>{const m=p.target.value,x=m==="sub_agent"?"verification":"build";if(m==="agent"){const y=n.find(w=>!w.subagent);l({...e,type:m,phase:x,agentId:(y==null?void 0:y.id)??"builder",name:(y==null?void 0:y.name)??"Agent"})}else if(m==="sub_agent"){const y=n.find(w=>w.subagent);l({...e,type:m,phase:x,subAgentType:(y==null?void 0:y.id)??"",name:(y==null?void 0:y.name)??"Sub-Agent"})}else l({...e,type:m,phase:x,name:"Shell"})},className:Ym,children:Q8.map(p=>i.jsx("option",{value:p.value,children:p.label},p.value))})]}),e.type==="agent"&&i.jsxs("div",{children:[i.jsx("label",{className:xs,children:"Agent Type"}),i.jsx("select",{value:e.agentId??"builder",onChange:p=>{const m=n.find(x=>x.id===p.target.value);l({...e,agentId:p.target.value,name:(m==null?void 0:m.name)??p.target.value})},className:Ym,children:n.filter(p=>!p.subagent).map(p=>i.jsx("option",{value:p.id,children:p.name},p.id))})]}),e.type==="sub_agent"&&i.jsxs("div",{children:[i.jsx("label",{className:xs,children:"Sub-Agent Type"}),i.jsxs("select",{value:e.subAgentType??"",onChange:p=>{const m=n.find(x=>x.id===p.target.value);l({...e,subAgentType:p.target.value,name:(m==null?void 0:m.name)??p.target.value})},className:Ym,children:[i.jsx("option",{value:"",children:"— select —"}),n.filter(p=>p.subagent).map(p=>i.jsx("option",{value:p.id,children:p.name},p.id))]})]}),(e.type==="agent"||e.type==="sub_agent")&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{children:[i.jsx("label",{className:xs,children:"Prompt"}),i.jsx("textarea",{value:e.prompt??"",onChange:p=>l({...e,prompt:p.target.value||void 0}),rows:6,className:`${Pa} resize-y text-xs`,placeholder:"Injected on first entry..."}),i.jsx(Xm,{variables:a,onInsert:p=>l({...e,prompt:(e.prompt??"")+`{{${p}}}`})})]}),i.jsxs("div",{children:[i.jsx("label",{className:xs,children:"Nudge Prompt"}),i.jsx("textarea",{value:e.nudgePrompt??"",onChange:p=>l({...e,nudgePrompt:p.target.value||void 0}),rows:6,className:`${Pa} resize-y text-xs`,placeholder:"Injected on re-entry..."}),i.jsx(Xm,{variables:a,onInsert:p=>l({...e,nudgePrompt:(e.nudgePrompt??"")+`{{${p}}}`})})]})]}),e.type==="shell"&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{children:[i.jsx("label",{className:xs,children:"Command"}),i.jsx("textarea",{value:e.command??"",onChange:p=>l({...e,command:p.target.value}),rows:3,className:`${Pa} font-mono text-xs resize-y`,placeholder:"cd {{workdir}} && npm run lint"}),i.jsx(Xm,{variables:a,onInsert:p=>l({...e,command:(e.command??"")+`{{${p}}}`})})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[i.jsxs("div",{children:[i.jsx("label",{className:xs,children:"Timeout (ms)"}),i.jsx("input",{type:"number",value:e.timeout??6e4,onChange:p=>l({...e,timeout:Number(p.target.value)}),className:`${Pa} font-mono text-xs`})]}),i.jsxs("div",{children:[i.jsx("label",{className:xs,children:"Success Codes"}),i.jsx("input",{value:(e.successExitCodes??[0]).join(", "),onChange:p=>l({...e,successExitCodes:p.target.value.split(",").map(m=>Number(m.trim())).filter(m=>!isNaN(m))}),className:`${Pa} font-mono text-xs`})]})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:xs,children:"Sub-group"}),i.jsx("input",{value:e.subGroup??"",onChange:p=>l({...e,subGroup:p.target.value||void 0}),placeholder:"e.g. build, verify, review",className:Pa})]}),i.jsx("div",{className:"pt-1 border-t border-border/50",children:i.jsxs("p",{className:"text-text-muted text-[10px]",children:[r," outgoing transition",r!==1?"s":""," — drag from the bottom port to connect."]})})]})}const Ba="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",TS="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",Di="block text-[11px] text-text-secondary mb-0.5";function r$({fromLabel:e,toLabel:t,condition:n,subGroup:r,fromStep:a,agentTypes:l,transitionIndex:u,totalTransitions:c,onUpdateCondition:d,onUpdateSubGroup:f,onDelete:p,onMoveUp:m,onMoveDown:x}){var C;const y=a&&(a.type==="sub_agent"||a.type==="agent")?l.find(_=>_.id===(a.type==="sub_agent"?a.subAgentType:a.agentId)):void 0,w=(y==null?void 0:y.results)&&y.results.length>0;return i.jsxs("div",{className:"space-y-3 text-sm",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsxs("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-semibold bg-blue-500/15 text-blue-300",children:["#",u+1]}),c>1&&i.jsxs("div",{className:"flex items-center gap-0.5",children:[i.jsx("button",{onClick:m,disabled:u===0,className:"p-0.5 rounded text-text-muted hover:text-text-primary disabled:opacity-20 disabled:cursor-not-allowed",title:"Move up (higher priority)",children:i.jsx(Yn,{className:"w-3 h-3",rotate:180})}),i.jsx("button",{onClick:x,disabled:u===c-1,className:"p-0.5 rounded text-text-muted hover:text-text-primary disabled:opacity-20 disabled:cursor-not-allowed",title:"Move down (lower priority)",children:i.jsx(Yn,{className:"w-3 h-3"})})]})]}),i.jsx("button",{onClick:p,className:"p-1 rounded text-text-muted hover:text-accent-error text-xs",children:"Delete"})]}),i.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-text-secondary",children:[i.jsx("span",{className:"font-medium text-text-primary",children:e}),i.jsx(a1,{}),i.jsx("span",{className:"font-medium text-text-primary",children:t})]}),i.jsxs("div",{children:[i.jsx("label",{className:Di,children:"Condition"}),i.jsx("select",{value:n.type,onChange:_=>{d(_.target.value==="step_result"?{type:"step_result",result:"success"}:{type:_.target.value})},className:TS,children:$k.map(_=>i.jsx("option",{value:_.value,children:_.label},_.value))})]}),n.type==="step_result"&&i.jsxs("div",{children:[i.jsx("label",{className:Di,children:"Result"}),w?i.jsx("select",{value:n.result??y.results[0],onChange:_=>{d({type:"step_result",result:_.target.value})},className:TS,children:y.results.map(_=>i.jsx("option",{value:_,children:_},_))}):i.jsx("input",{type:"text",value:n.result??"success",onChange:_=>d({type:"step_result",result:_.target.value}),placeholder:"e.g. success, passed, failed",className:Ba})]}),(n.type==="metadata_all_match"||n.type==="metadata_all_in")&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{children:[i.jsx("label",{className:Di,children:"Metadata Key"}),i.jsx("input",{type:"text",value:n.key??"",onChange:_=>d({...n,key:_.target.value}),placeholder:"e.g. criteria, todos, review_findings",className:Ba})]}),i.jsxs("div",{children:[i.jsx("label",{className:Di,children:"Field"}),i.jsx("input",{type:"text",value:n.field??"",onChange:_=>d({...n,field:_.target.value}),placeholder:"e.g. status",className:Ba})]}),n.type==="metadata_all_match"?i.jsxs("div",{children:[i.jsx("label",{className:Di,children:"Value"}),i.jsx("input",{type:"text",value:n.value??"",onChange:_=>d({...n,value:_.target.value}),placeholder:"e.g. passed, resolved",className:Ba})]}):i.jsxs("div",{children:[i.jsx("label",{className:Di,children:"Values (comma-separated)"}),i.jsx("input",{type:"text",value:((C=n.values)==null?void 0:C.join(", "))??"",onChange:_=>d({...n,values:_.target.value.split(",").map(S=>S.trim()).filter(Boolean)}),placeholder:"e.g. resolved, dismissed",className:Ba})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:Di,children:"Sub-group"}),i.jsx("input",{type:"text",value:r??"",onChange:_=>f(_.target.value||void 0),placeholder:"e.g. build, verify",className:Ba})]}),i.jsx("p",{className:"text-text-muted text-[10px]",children:"Drag handles to reconnect. Order determines evaluation priority. Press Delete to remove."})]})}function s$(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function i$(e){let t=1;for(;e.some(n=>n.id===`s${t}`);)t++;return`s${t}`}const ml="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",AS="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",$a="block text-[11px] text-text-secondary mb-0.5",LS=[];function zk({isOpen:e,onClose:t,initialEditId:n}){var bn,rn;const r=Rt(Se=>Se.defaults),a=Rt(Se=>Se.userItems),l=Rt(Se=>Se.loading),u=Rt(Se=>Se.templateVariables),c=Rt(Se=>Se.fetchWorkflows),d=Rt(Se=>Se.fetchWorkflow),f=Rt(Se=>Se.fetchDefaultContent),p=Rt(Se=>Se.fetchTemplateVariables),m=Rt(Se=>Se.createWorkflow),x=Rt(Se=>Se.updateWorkflow),y=Rt(Se=>Se.deleteWorkflow),{requestDelete:w,clearConfirm:C,isConfirming:_}=hd(),[S,v]=A.useState("list"),[b,E]=A.useState(null),[j,T]=A.useState(!1),[D,L]=A.useState(null),[R,M]=A.useState(null),[V,U]=A.useState(""),[O,H]=A.useState(""),[F,G]=A.useState(""),[Z,q]=A.useState("1.0.0"),[z,I]=A.useState("#3b82f6"),[B,K]=A.useState(""),[P,ee]=A.useState(50),[Q,te]=A.useState(LS),[Y,W]=A.useState({type:"always"}),[ne,se]=A.useState(""),[pe,ge]=A.useState(!1),ke=kt(Se=>Se.defaults),Be=kt(Se=>Se.userItems),Me=kt(Se=>Se.projectItems),$e=A.useMemo(()=>[...ke,...Be,...Me],[ke,Be,Me]),je=kt(Se=>Se.fetchAgents),[nt]=A.useState(null);A.useEffect(()=>{e&&(c(),p(),je(),L(null),M(null),n?r.some(Te=>Te.id===n)?f(n).then(Te=>{Te&&Ee({...Te,metadata:{...Te.metadata,name:Te.metadata.name+" (copy)",id:`${n}-copy-${Date.now()}`}},{editingId:null,isReadOnly:!1})}):d(n).then(Te=>{Te&&Ee(Te,{editingId:n,isReadOnly:!1})}):(v("list"),E(null),T(!1)))},[e,c,d,f,p,n]);const Ee=(Se,Te)=>{U(Se.metadata.name),H(Se.metadata.id),G(Se.metadata.description),q(Se.metadata.version),I(Se.metadata.color??"#3b82f6"),K(Se.entryStep),ee(Se.settings.maxIterations),te(Se.steps),W(Se.startCondition??{type:"always"}),se(""),(Te==null?void 0:Te.editingId)!==void 0&&E(Te.editingId),(Te==null?void 0:Te.isReadOnly)!==void 0&&T(Te.isReadOnly),(Te==null?void 0:Te.selectedNodeKey)!==void 0&&L(null),(Te==null?void 0:Te.selectedEdgeKey)!==void 0&&M(null),v("edit")},ce=async Se=>{const Te=await d(Se);Te&&Ee(Te,{editingId:Se,isReadOnly:!1,selectedNodeKey:null,selectedEdgeKey:null})},oe=async()=>{var at;const Se=b??O;if(!Se||!V)return se("Name is required."),!1;if(Q.length===0)return se("Add at least one step."),!1;let Te=B;if(!Te||!Q.some(et=>et.id===Te)){if(Te=((at=Q.find(et=>et.id))==null?void 0:at.id)??"",!Te)return se("All steps need an ID."),!1;K(Te)}ge(!0),se("");const He={metadata:{id:Se,name:V,description:F,version:Z||"1.0.0",color:z},entryStep:Te,settings:{maxIterations:P},steps:Q,startCondition:Y},We=b?await x(b,He):await m(He);return ge(!1),We.success?(b||E(Se),!0):(se(We.error??"Failed to save."),!1)},De=async()=>{await oe()},Ze=async()=>{await oe()&&(n?t():v("list"))},Ye=()=>{n?t():v("list")},yt=Se=>{U(Se),b||H(s$(Se))},re=async Se=>r.some(He=>He.id===Se)?await f(Se):await d(Se),xe=async Se=>{const Te=await re(Se);Te&&Ee({...Te,metadata:{...Te.metadata,name:Te.metadata.name+" (copy)",id:`${Se}-copy-${Date.now()}`}},{editingId:null,isReadOnly:!1})},we=()=>{E(null),U(""),H(""),G(""),q("1.0.0"),I("#3b82f6"),K(""),ee(50),te(structuredClone(LS)),W({type:"always"}),se(""),L(null),M(null),T(!1),v("edit")},ze=async Se=>{await y(Se),C()},Ke=A.useCallback(Se=>{L(Se),M(null)},[]),Ge=A.useCallback(Se=>{M(Se),L(null)},[]),tt=D!==null?Number(D):-1,vt=tt>=0?Q[tt]??null:null,Ot=A.useCallback(Se=>{te(Te=>Te.map((He,We)=>We===tt?Se:He))},[tt]),Wt=Y.type==="step_result"?`${Y.result}`:Y.type==="metadata_all_match"?`${Y.key??"?"}=${Y.value??"?"}`:Y.type==="metadata_all_in"?`${Y.key??"?"} in [${((bn=Y.values)==null?void 0:bn.join(","))??"?"}]`:Bk[Y.type]??Y.type,ut=()=>{const Se=Q.length,Te=i$(Q),He=$e.find(We=>!We.subagent);te([...Q,{id:Te,name:(He==null?void 0:He.name)??"Agent",type:"agent",phase:"build",agentId:(He==null?void 0:He.id)??"builder",transitions:[]}]),B||K(Te),Ke(String(Se))},Cn=A.useCallback((Se,Te)=>{Se==="$start"?(K(Te),Ge("start")):te(He=>{const We=He.find(et=>et.id===Se),at=We?We.transitions.length:0;return Ge(`${Se}:${at}`),He.map(et=>et.id===Se?{...et,transitions:[...et.transitions,{when:{type:"always"},goto:Te}]}:et)})},[Ge]),jt=Se=>{if(Se==="start")return null;const Te=Se.lastIndexOf(":"),He=Se.slice(0,Te),We=parseInt(Se.slice(Te+1));return{stepId:He,transIdx:We}},Jt=A.useCallback((Se,Te)=>{const He=jt(Se);He&&te(We=>We.map(at=>at.id===He.stepId?{...at,transitions:at.transitions.map((et,pt)=>pt===He.transIdx?Te(et):et)}:at))},[]),Ir=A.useCallback((Se,Te)=>{if(Se==="start"){K(Te);return}Jt(Se,He=>({...He,goto:Te}))},[Jt]),be=A.useCallback((Se,Te)=>{const He=jt(Se);He&&(te(We=>{const at=We.find(pt=>pt.id===He.stepId);if(!at)return We;const et=at.transitions[He.transIdx];return et?We.map(pt=>pt.id===He.stepId?{...pt,transitions:pt.transitions.filter((sn,Zt)=>Zt!==He.transIdx)}:pt.id===Te?{...pt,transitions:[...pt.transitions,et]}:pt):We}),M(null))},[]),Ue=A.useCallback(Se=>{if(Se==="start"){K(""),M(null);return}const Te=jt(Se);Te&&(te(He=>He.map(We=>We.id===Te.stepId?{...We,transitions:We.transitions.filter((at,et)=>et!==Te.transIdx)}:We)),M(null))},[]),ae=A.useCallback((Se,Te)=>{if(Se==="start"){W(Te);return}Jt(Se,He=>({...He,when:Te}))},[Jt]),de=A.useCallback((Se,Te)=>{Se!=="start"&&Jt(Se,He=>({...He,subGroup:Te||void 0}))},[Jt]),Pe=Se=>$g(Se,$e).name,mt=()=>{if(!R)return null;if(R==="start"){const sn=Q.find(Zt=>Zt.id===B);return{type:"start",fromLabel:"Start",toLabel:sn?Pe(sn):"(none)",condition:Y}}const Se=R.lastIndexOf(":"),Te=R.slice(0,Se),He=parseInt(R.slice(Se+1)),We=Q.find(sn=>sn.id===Te);if(!We)return null;const at=We.transitions[He];if(!at)return null;const et=Q.find(sn=>sn.id===at.goto),pt=at.goto==="$done"?"Done":et?Pe(et):at.goto;return{type:"step",fromLabel:Pe(We),toLabel:pt,condition:at.when,subGroup:at.subGroup}};if(S==="edit"){const Se=mt();return i.jsxs(St,{isOpen:e,onClose:Ye,title:j?V:b?"Edit Workflow":"New Workflow",size:"full",children:[ne&&i.jsx("div",{className:"text-accent-error text-sm px-3 py-2 bg-accent-error/10 rounded mb-3",children:ne}),i.jsx(e$,{formName:V,formId:O,formDescription:F,formMaxIterations:P,formColor:z,isReadOnly:j,onNameChange:yt,onDescriptionChange:G,onMaxIterationsChange:ee,onColorChange:I}),i.jsxs("div",{className:"flex gap-3",style:{height:"calc(90vh - 220px)",minHeight:300},children:[i.jsxs("div",{className:"flex-1 min-w-0 bg-bg-primary/50 border border-border rounded-lg flex flex-col overflow-hidden",children:[i.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-border/50 shrink-0",children:[i.jsx("span",{className:"text-[10px] text-text-muted uppercase tracking-wider font-medium",children:"Flow"}),!j&&i.jsx("button",{onClick:ut,className:"text-[11px] text-accent-primary hover:text-accent-primary/80",children:"+ Add Step"})]}),i.jsxs("div",{className:"flex-1 min-h-0 p-2 overflow-auto",children:[i.jsx(Z8,{steps:Q,entryStep:B,selectedNodeId:(vt==null?void 0:vt.id)??null,selectedEdgeKey:R,startConditionLabel:Wt,agentTypes:$e,isReadOnly:j,onSelectNode:Te=>{if(Te===null){Ke(null);return}const He=Q.findIndex(We=>We.id===Te);Ke(He>=0?String(He):null)},onSelectEdge:Ge,onRemoveStep:Te=>{var We;const He=Q.findIndex(at=>at.id===Te);if(te(at=>at.filter(et=>et.id!==Te)),tt===He&&Ke(null),B===Te){const at=Q.filter(et=>et.id!==Te);K(((We=at[0])==null?void 0:We.id)??"")}},onCreateTransition:Cn,onReconnectTo:Ir,onReconnectFrom:be,onDeleteTransition:Ue}),Q.length===0&&i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-text-muted",children:[i.jsx("p",{className:"text-xs mb-2",children:"No steps yet"}),i.jsx("button",{onClick:ut,className:"px-3 py-1.5 rounded bg-accent-primary/10 text-accent-primary text-xs hover:bg-accent-primary/20",children:"+ Add your first step"})]})]})]}),i.jsxs("div",{className:"w-[300px] shrink-0 border border-border rounded-lg bg-bg-secondary flex flex-col overflow-hidden",children:[i.jsx("div",{className:"px-3 py-1.5 border-b border-border shrink-0",children:i.jsx("span",{className:"text-[10px] text-text-muted uppercase tracking-wider font-medium",children:"Properties"})}),i.jsx("div",{className:"p-3 overflow-y-auto flex-1 min-h-0",children:j&&(Se||vt)?i.jsx("p",{className:"text-text-muted text-xs text-center py-8",children:'View only — click "Duplicate & Customize" to edit.'}):Se?Se.type==="start"?i.jsxs("div",{className:"space-y-3 text-sm",children:[i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-semibold bg-blue-500/20 text-blue-300",children:"Start"})}),B&&i.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-text-secondary",children:[i.jsx("span",{className:"text-text-primary font-medium",children:"Start"}),i.jsx(a1,{}),i.jsx("span",{className:"text-text-primary font-medium",children:Se.toLabel})]}),i.jsxs("div",{children:[i.jsx("label",{className:$a,children:"Activation Condition"}),i.jsx("select",{value:Y.type,onChange:Te=>W(Te.target.value==="step_result"?{type:"step_result",result:"success"}:Te.target.value==="metadata_all_match"?{type:"metadata_all_match",key:"",field:"",value:""}:Te.target.value==="metadata_all_in"?{type:"metadata_all_in",key:"",field:"",values:[]}:{type:Te.target.value}),className:AS,children:$k.map(Te=>i.jsx("option",{value:Te.value,children:Te.label},Te.value))})]}),Y.type==="step_result"&&i.jsxs("div",{children:[i.jsx("label",{className:$a,children:"Result"}),B&&(()=>{const Te=Q.find(et=>et.id===B),He=Te&&(Te.type==="sub_agent"||Te.type==="agent")?$e.find(et=>et.id===(Te.type==="sub_agent"?Te.subAgentType:Te.agentId)):void 0,We=(He==null?void 0:He.results)&&He.results.length>0,at=(He==null?void 0:He.results)??[];return We?i.jsx("select",{value:Y.result??at[0],onChange:et=>W({type:"step_result",result:et.target.value}),className:AS,children:at.map(et=>i.jsx("option",{value:et,children:et},et))}):i.jsx("input",{type:"text",value:Y.result??"success",onChange:et=>W({type:"step_result",result:et.target.value}),placeholder:"e.g. success, passed, failed",className:ml})})()]}),(Y.type==="metadata_all_match"||Y.type==="metadata_all_in")&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{children:[i.jsx("label",{className:$a,children:"Metadata Key"}),i.jsx("input",{type:"text",value:Y.key??"",onChange:Te=>W({...Y,key:Te.target.value}),placeholder:"e.g. criteria, todos, review_findings",className:ml})]}),i.jsxs("div",{children:[i.jsx("label",{className:$a,children:"Field"}),i.jsx("input",{type:"text",value:Y.field??"",onChange:Te=>W({...Y,field:Te.target.value}),placeholder:"e.g. status",className:ml})]}),Y.type==="metadata_all_match"?i.jsxs("div",{children:[i.jsx("label",{className:$a,children:"Value"}),i.jsx("input",{type:"text",value:Y.value??"",onChange:Te=>W({...Y,value:Te.target.value}),placeholder:"e.g. passed, resolved",className:ml})]}):i.jsxs("div",{children:[i.jsx("label",{className:$a,children:"Values (comma-separated)"}),i.jsx("input",{type:"text",value:((rn=Y.values)==null?void 0:rn.join(", "))??"",onChange:Te=>W({...Y,values:Te.target.value.split(",").map(He=>He.trim()).filter(Boolean)}),placeholder:"e.g. resolved, dismissed",className:ml})]})]}),i.jsx("p",{className:"text-text-muted text-[10px]",children:"Workflow only proceeds when this condition is met. Drag the target handle to change entry step."})]}):(()=>{const Te=jt(R),He=Te==null?void 0:Te.stepId,We=(Te==null?void 0:Te.transIdx)??0,at=He?Q.find(pt=>pt.id===He):void 0,et=(at==null?void 0:at.transitions.length)??0;return i.jsx(r$,{fromLabel:Se.fromLabel,toLabel:Se.toLabel,condition:Se.condition,subGroup:"subGroup"in Se?Se.subGroup:void 0,fromStep:Se.type==="step"?Q.find(pt=>pt.id===Se.fromLabel):void 0,agentTypes:$e,transitionIndex:We,totalTransitions:et,onUpdateCondition:pt=>ae(R,pt),onUpdateSubGroup:pt=>de(R,pt),onDelete:()=>Ue(R),onMoveUp:()=>{te(pt=>{const sn=pt.find(Vt=>Vt.id===He);if(!sn||We===0)return pt;const Zt=[...sn.transitions];return[Zt[We-1],Zt[We]]=[Zt[We],Zt[We-1]],pt.map(Vt=>Vt.id===He?{...Vt,transitions:Zt}:Vt)}),M(`${He}:${We-1}`)},onMoveDown:()=>{te(pt=>{const sn=pt.find(Vt=>Vt.id===He);if(!sn||We===sn.transitions.length-1)return pt;const Zt=[...sn.transitions];return[Zt[We],Zt[We+1]]=[Zt[We+1],Zt[We]],pt.map(Vt=>Vt.id===He?{...Vt,transitions:Zt}:Vt)}),M(`${He}:${We+1}`)}})})():vt?i.jsx(n$,{step:vt,isEntry:vt.id===B,agentTypes:$e,transitionCount:vt.transitions.length,templateVariables:u,onUpdate:Ot,onRemove:()=>{var Te;if(vt&&(te(Q.filter((He,We)=>We!==tt)),Ke(null),B===vt.id)){const He=Q.filter((We,at)=>at!==tt);K(((Te=He[0])==null?void 0:Te.id)??"")}},onSetEntry:()=>K(vt.id)}):i.jsxs("p",{className:"text-text-muted text-xs text-center py-8",children:["Click a node or edge to edit.",i.jsx("br",{}),"Drag from a port to connect."]})})]})]}),i.jsxs("div",{className:"flex justify-end gap-2 pt-3 mt-3 border-t border-border",children:[i.jsx(Qe,{variant:"secondary",onClick:Ye,children:"Close"}),j?i.jsx(Qe,{variant:"primary",onClick:()=>{U(V+" (copy)"),H(`${b}-copy-${Date.now()}`),E(null),T(!1)},children:"Duplicate & Customize"}):i.jsxs(i.Fragment,{children:[i.jsx(Qe,{variant:"primary",onClick:De,children:"Save"}),i.jsx(Qe,{variant:"primary",onClick:Ze,children:"Save & Close"})]})]})]})}return i.jsx(St,{isOpen:e,onClose:t,title:"Workflows",size:"lg",children:i.jsx(p1,{description:"Workflows define multi-step agentic processes with branching transitions.",onNew:we,loading:l,hasItems:r.length>0||a.length>0,children:i.jsxs("div",{className:"space-y-4",children:[i.jsx(NS,{title:"Built-in",items:r,renderActions:Se=>i.jsx(i.Fragment,{children:i.jsx(Ui,{onClick:()=>xe(Se.id),children:i.jsx(Vp,{})})})}),i.jsx(NS,{title:"Custom",items:a,renderActions:Se=>i.jsxs(i.Fragment,{children:[i.jsx(Ui,{onClick:()=>ce(Se.id),children:i.jsx("span",{className:"text-[10px]",children:"Edit"})}),i.jsx(Bu,{onClick:()=>xe(Se.id)}),_(Se.id,"delete")?i.jsx(Xp,{onConfirm:()=>ze(Se.id),onCancel:C}):i.jsx(Qp,{onClick:()=>w(Se.id)})]})})]})})})}function a$(e){const t=e.match(/^\/p\/([^/]+)/);return t==null?void 0:t[1]}function o$({isOpen:e,onClose:t,onCloseComplete:n,onSelectCommand:r,onSelectWorkflow:a,onCloseCompleteAction:l,textareaContent:u,onSearchMessages:c,onToggleAutoScroll:d,isAutoScrollActive:f}){const[,p]=Bn(),m=mn(P=>P.fetchCommands),x=Rt(P=>P.fetchWorkflows),y=kt(P=>P.fetchAgents),w=mn(P=>P.defaults),C=mn(P=>P.userItems),_=mn(P=>P.projectItems),S=Rt(P=>P.defaults),v=Rt(P=>P.userItems),b=Rt(P=>P.projectItems),E=kt(P=>P.defaults),j=kt(P=>P.userItems),T=kt(P=>P.projectItems),D=Le(P=>{var ee;return(ee=P.currentSession)==null?void 0:ee.mode}),L=Le(P=>{var ee;return((ee=P.currentSession)==null?void 0:ee.dangerLevel)??"normal"}),R=Le(P=>P.switchMode),M=Le(P=>P.switchDangerLevel),V=Le(P=>{var ee;return(ee=P.currentSession)==null?void 0:ee.projectId}),U=A.useRef(void 0),[O,H]=A.useState(""),[F,G]=A.useState(0),Z=A.useRef(null),q=A.useRef(!1);A.useEffect(()=>{e&&(q.current=!0)},[e]),A.useEffect(()=>{if(e){m(),x(),y(),H(""),G(0);const P=setTimeout(()=>{var ee;return(ee=Z.current)==null?void 0:ee.focus()},50);return()=>clearTimeout(P)}},[e,m,x,y]),A.useEffect(()=>{var P;!e&&q.current&&(n==null||n(),(P=U.current)==null||P.call(U),U.current=void 0)},[e,n]);const I=[{id:"create-session",name:"New Session",prefix:"Action > Create",action:()=>{const P=V??a$(window.location.pathname);P&&p(`/p/${P}/new`)}},{id:"navigate-session",name:"Another Session",prefix:"Action > Navigate to",action:()=>{U.current=l,t()}},{id:"search-messages",name:"Messages",prefix:"Action > Search",action:()=>{t(),c==null||c()}},{id:"toggle-autoscroll",name:f?"Auto-scroll Off":"Auto-scroll On",prefix:"Action > Toggle",action:()=>{t(),d==null||d(!f)}},...Gr(Gr(E,j),T).filter(P=>!P.subagent&&P.id!==D).map(P=>({id:P.id,name:P.name,prefix:"Agent > Switch to",action:()=>R(P.id)})),...Gr(Gr(w,C),_).map(P=>({id:P.id,name:P.name,prefix:"Command > Launch",action:()=>r(P.id,u)})),...Gr(Gr(S,v),b).map(P=>({id:P.id,name:P.name,prefix:"Workflow > Run",action:()=>a(P.id)})),...["normal","dangerous"].filter(P=>P!==L).map(P=>({id:P,name:P.charAt(0).toUpperCase()+P.slice(1),prefix:"Mode > Switch to",action:()=>M(P)}))].filter(P=>Va(`${P.prefix} ${P.name}`,O)),B=I.length-1,K=P=>{B1(P,B,G,()=>{var ee;(ee=I[F])==null||ee.action(),t()},t)};return e?so.createPortal(i.jsxs("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-[15vh] p-4",children:[i.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:t}),i.jsxs("div",{className:"relative w-full max-w-md bg-bg-secondary border border-border rounded shadow-xl",children:[i.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-border",children:[i.jsx("input",{ref:Z,type:"text",value:O,onChange:P=>{H(P.target.value),G(0)},onKeyDown:K,placeholder:"Search...",className:"flex-1 bg-transparent text-sm focus:outline-none placeholder:text-text-muted"}),i.jsx(Yp,{onClick:t,className:"shrink-0","aria-label":"Close"})]}),i.jsx("div",{className:"overflow-y-auto max-h-[60vh] p-2",children:I.length===0?i.jsx("div",{className:"px-3 py-4 text-center text-text-muted text-sm",children:w.length+C.length+S.length+v.length>0?"No matches":"No agents, commands, or workflows yet"}):I.map((P,ee)=>i.jsxs("button",{type:"button",onClick:()=>{P.action(),t()},className:`w-full text-left px-3 py-2 rounded text-sm transition-colors ${ee===F?"bg-accent-primary/20 text-text-primary":"text-text-secondary hover:bg-bg-tertiary hover:text-text-primary"}`,children:[i.jsxs("span",{className:"text-text-muted font-normal",children:[P.prefix," "]}),i.jsx("span",{children:P.name})]},P.id))})]})]}),document.body):null}const Hk="openfox-message-search-filters",l$=[{key:"user",label:"User prompts"},{key:"thinking",label:"Thinking"},{key:"response",label:"Responses"}];function c$(){try{const e=localStorage.getItem(Hk);if(e){const t=JSON.parse(e);return new Set(t)}}catch{}return new Set(["user","thinking","response"])}function u$(e){localStorage.setItem(Hk,JSON.stringify([...e]))}function d$(e){var n,r;if(e.type!=="message")return null;const t=e.message;if(t.role==="user")return"user";if(t.role==="assistant"){if((n=t.content)!=null&&n.trim())return"response";if((r=t.thinkingContent)!=null&&r.trim())return"thinking"}return null}function h$(e){const t=new Date(e),n=new Date;if(t.getDate()===n.getDate()&&t.getMonth()===n.getMonth()&&t.getFullYear()===n.getFullYear())return t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1});const a=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),u=String(t.getDate()).padStart(2,"0"),c=String(t.getHours()).padStart(2,"0"),d=String(t.getMinutes()).padStart(2,"0");return`${a}/${l}/${u} ${c}:${d}`}function f$(e){var t;if(e.type==="message")return e.message.timestamp;if(e.type==="subagent")return(t=e.messages[0])==null?void 0:t.timestamp}function m$(e){var t,n;if(e.type==="message"){const r=e.message;if(r.role==="assistant"){const a=(t=r.content)==null?void 0:t.trim();return((n=r.thinkingContent)==null?void 0:n.trim())&&!a?"italic text-text-muted":""}if(r.role==="user")return"font-bold"}return""}function p$(e){var n,r;if(e.type!=="message")return i.jsx(f_,{className:"w-3.5 h-3.5"});const t=e.message;return t.role==="assistant"?(n=t.thinkingContent)!=null&&n.trim()&&!((r=t.content)!=null&&r.trim())?i.jsx(HN,{className:"w-3.5 h-3.5"}):i.jsx(f_,{className:"w-3.5 h-3.5"}):i.jsx(zN,{className:"w-3.5 h-3.5"})}function DS(e){var t;if(e.type==="message"){const n=e.message,r=n.content||"",a=r.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();if(n.messageKind==="workflow-started")try{return`Workflow: ${JSON.parse(r).workflowName}`}catch{return"Workflow started"}if(n.messageKind==="task-completed")return"Task completed";if(n.messageKind==="auto-prompt")return"Auto-prompt";if(n.messageKind==="correction")return"Correction";if(n.messageKind==="context-reset")return"Context reset";if(n.messageKind==="command")return"Command executed";if(n.role==="assistant")return a?a.slice(0,200):(t=n.thinkingContent)!=null&&t.trim()?n.thinkingContent.slice(0,200):"";const l=a.slice(0,200);return l.length<a.length?`${l}...`:l}return e.type==="subagent"?`Sub-agent: ${e.subAgentType}`:""}function g$({isOpen:e,onClose:t,displayItems:n,onNavigate:r}){const[a,l]=A.useState(""),[u,c]=A.useState(0),[d,f]=A.useState(c$),p=A.useRef(null),m=A.useRef(null),x=A.useRef(null),y=j=>{f(T=>{const D=new Set(T);return D.has(j)?D.delete(j):D.add(j),u$(D),D})},w=A.useMemo(()=>n.filter(j=>{var T,D;return!(j.type==="context-divider"||j.type==="message"&&(j.message.messageKind==="auto-prompt"||j.message.role==="assistant"&&!((T=j.message.content)!=null&&T.trim())&&!((D=j.message.thinkingContent)!=null&&D.trim())))}),[n]),C=A.useMemo(()=>w.filter(j=>{const T=d$(j);return!(T&&!d.has(T))}),[w,d]),_=A.useMemo(()=>a?w.filter(j=>{const T=DS(j);return Va(T,a)}):C,[C,a]),S=_.length-1;A.useEffect(()=>{if(e){l(""),c(0);const j=setTimeout(()=>{var T;return(T=p.current)==null?void 0:T.focus()},50);return()=>clearTimeout(j)}},[e]),A.useEffect(()=>{e&&m.current&&(m.current.scrollTop=m.current.scrollHeight)},[e]),A.useEffect(()=>{x.current&&x.current.scrollIntoView({block:"nearest",behavior:"smooth"})},[u]);const v=j=>{B1(j,S,c,()=>{const T=_[u];if(T){const D=n.indexOf(T);D>=0&&r(D),t()}},t)},b=j=>{const T=n.indexOf(j);T>=0&&r(T),t()},E=j=>n.indexOf(j);return e?so.createPortal(i.jsxs("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-[15vh] p-4",children:[i.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:t}),i.jsxs("div",{className:"relative w-full max-w-lg bg-bg-secondary border border-border rounded shadow-xl",children:[i.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-border",children:[i.jsx(Xa,{}),i.jsx("input",{ref:p,type:"text",value:a,onChange:j=>{l(j.target.value),c(0)},onKeyDown:v,placeholder:"Search timeline...",className:"flex-1 bg-transparent text-sm focus:outline-none placeholder:text-text-muted"}),i.jsx("button",{type:"button",onClick:t,className:"p-0.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors","aria-label":"Close",children:i.jsx(oi,{className:"w-4 h-4"})})]}),i.jsx("div",{className:"flex gap-1.5 px-4 py-2 border-b border-border",children:l$.map(j=>{const T=d.has(j.key);return i.jsx("button",{type:"button",onClick:()=>y(j.key),className:`px-2 py-0.5 rounded text-xs font-medium transition-colors ${T?"bg-accent-primary/20 text-accent-primary border border-accent-primary/40":"bg-bg-tertiary text-text-muted border border-border hover:text-text-secondary"}`,children:j.label},j.key)})}),i.jsx("div",{ref:m,className:"overflow-y-auto max-h-[60vh] p-2",children:_.length===0?i.jsx("div",{className:"px-3 py-4 text-center text-text-muted text-sm",children:C.length>0?"No matches":"No messages yet"}):_.map((j,T)=>{const D=E(j),L=p$(j),R=DS(j),M=m$(j),V=f$(j),U=j.type==="message"&&j.message.role==="user";return i.jsx("button",{ref:T===u?x:null,type:"button",onClick:()=>b(j),className:`w-full text-left px-3 py-2 rounded text-sm transition-colors ${T===u?"bg-accent-primary/20 text-text-primary":U?"bg-accent-primary/5 text-text-secondary hover:bg-accent-primary/10 hover:text-text-primary":"text-text-secondary hover:bg-bg-tertiary hover:text-text-primary"}`,children:i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 flex-1",children:[i.jsx("span",{className:"flex-shrink-0",children:L}),i.jsx("span",{className:`truncate flex-1 ${M}`,children:R})]}),V&&i.jsx("span",{className:"text-text-muted text-xs shrink-0",children:h$(V)})]})},`${D}-${j.type}`)})})]})]}),document.body):null}function x$({attachment:e,onRemove:t}){const n=Rk(e.filename);return i.jsxs("div",{className:"relative inline-flex flex-col items-center p-2 bg-bg-tertiary rounded-lg border border-border",children:[i.jsx($l,{onClick:()=>t(e.id),className:"absolute -top-2 -right-2",size:"sm",variant:"overlay","aria-label":`Remove ${e.filename}`}),Dk(e.mimeType)?i.jsx("img",{src:e.data,alt:e.description||e.filename,className:"w-16 h-16 object-cover rounded-md bg-bg-secondary"}):i.jsx("div",{className:"w-16 h-16 flex items-center justify-center rounded-md bg-bg-secondary text-xs font-bold text-text-muted",children:n}),i.jsx("div",{className:"mt-1 text-xs text-text-muted text-center max-w-16 truncate",title:e.filename,children:e.filename}),i.jsx("div",{className:"text-[10px] text-text-muted",children:Ga(e.size)})]})}function y$({history:e,selectedIndex:t,onSelect:n,onEscape:r,onNavigate:a}){const l=A.useRef(null),u=A.useRef(null);A.useEffect(()=>{u.current&&l.current&&u.current.scrollIntoView({block:"nearest",behavior:"smooth"})},[t]);const c=f=>{switch(f.key){case"Enter":f.preventDefault(),e[t]&&n(e[t].content);break;case"Escape":f.preventDefault(),r();break;case"ArrowUp":f.preventDefault(),a("up");break;case"ArrowDown":f.preventDefault(),a("down");break}},d=f=>{n(f)};return i.jsx("div",{ref:l,role:"list",className:"mb-2 p-2 bg-bg-secondary border border-border rounded-lg overflow-y-auto max-h-64",onKeyDown:c,children:e.map((f,p)=>i.jsxs("div",{ref:p===t?u:null,role:"listitem",onClick:()=>d(f.content),className:`
|
|
298
|
-
p-2 rounded cursor-pointer transition-colors
|
|
299
|
-
${p===t?"bg-accent-primary/20 border border-accent-primary":"hover:bg-bg-tertiary"}
|
|
300
|
-
`,children:[i.jsxs("div",{className:"text-xs text-text-muted font-mono",children:[f.formattedTimestamp,f.sessionName&&i.jsxs(i.Fragment,{children:[" | ",i.jsx("span",{className:"text-accent-primary font-medium",children:f.sessionName})]})]}),i.jsx("div",{className:"text-sm text-text-primary mt-1",children:f.trimmedContent})]},f.id))})}function b$(){const e=gN(),t=e?"bg-amber-400":"bg-accent-primary";return i.jsxs("div",{className:"flex items-center gap-3 text-xs text-text-muted py-2",children:[i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsxs("span",{className:"flex gap-0.5",children:[i.jsx("span",{className:`w-1 h-1 rounded-full animate-bounce ${t}`,style:{animationDelay:"0ms"}}),i.jsx("span",{className:`w-1 h-1 rounded-full animate-bounce ${t}`,style:{animationDelay:"150ms"}}),i.jsx("span",{className:`w-1 h-1 rounded-full animate-bounce ${t}`,style:{animationDelay:"300ms"}})]}),i.jsx("span",{className:"text-text-secondary",children:e?"Running... (abort in progress)":"Running"})]}),!e&&i.jsx("span",{className:"text-text-muted",children:"esc to interrupt"})]})}const v$={maxWidth:1920,maxHeight:1920,quality:.85,maxSizeBytes:1048576};async function _$(e,t={}){const n={...v$,...t};if(!e.type.startsWith("image/"))throw new Error("File is not an image");if(!["image/png","image/jpeg","image/gif"].includes(e.type))throw new Error(`Unsupported image format: ${e.type}. Only PNG, JPG, and GIF are supported.`);if(e.size<=n.maxSizeBytes){const a=await e.arrayBuffer(),l=N$(a),u=`data:${e.type};base64,${l}`,c=await Uk(u);return{dataUrl:u,mimeType:e.type,size:e.size,width:c.width,height:c.height}}return await S$(e,n)}async function S$(e,t){const n=await C$(e),r=await Uk(n),{width:a,height:l}=w$(r.width,r.height,t.maxWidth,t.maxHeight),u=k$();u.width=a,u.height=l;const c=u.getContext("2d");if(!c)throw new Error("Failed to get canvas context");c.imageSmoothingEnabled=!0,c.imageSmoothingQuality="high",c.drawImage(r,0,0,a,l);let d=t.quality,f="";for(let m=0;m<10&&(f=u.toDataURL(e.type.startsWith("image/gif")?"image/png":e.type,d),!(RS(f)<=t.maxSizeBytes||d<=.3));m++)d-=.1;const p=RS(f);return{dataUrl:f,mimeType:e.type.startsWith("image/gif")?"image/png":e.type,size:p,width:a,height:l}}function w$(e,t,n,r){const a=e/t;return e>t&&e>n?{width:n,height:Math.round(n/a)}:t>e&&t>r?{width:Math.round(r*a),height:r}:{width:e,height:t}}function C$(e){return new Promise((t,n)=>{const r=j$(),a=new r;a.onload=()=>t(a.result),a.onerror=()=>n(new Error("Failed to read file")),a.readAsDataURL(e)})}function Uk(e){return new Promise((t,n)=>{const r=E$(),a=new r;a.onload=()=>t(a),a.onerror=()=>n(new Error("Failed to load image")),a.src=e})}function k$(){var t;const e=zg();if(!((t=e.document)!=null&&t.createElement))throw new Error("Image compression requires browser canvas APIs");return e.document.createElement("canvas")}function E$(){const e=zg();if(!e.Image)throw new Error("Image compression requires browser image APIs");return e.Image}function j$(){const e=zg();if(!e.FileReader)throw new Error("Image compression requires browser file APIs");return e.FileReader}function zg(){return globalThis}function N$(e){const t=new Uint8Array(e);let n="";for(let r=0;r<t.byteLength;r++){const a=t[r];a!==void 0&&(n+=String.fromCharCode(a))}return btoa(n)}function RS(e){const n=e.split(",")[1];return n?Math.round(n.length*3/4):0}const OS=50*1024*1024,IS=1024*1024,T$=["image/png","image/jpeg","image/gif"];function A$(e){return e==="application/pdf"}function L$(e){return T$.includes(e.type)}async function D$(e){return await new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(new Error("Failed to read file")),r.readAsDataURL(e)})}async function MS(e,t,n){try{if(Bg(e.type)){if(e.size>IS){n(`Text file too large (${Ga(e.size)}). Maximum is ${Ga(IS)}.`);return}const r=await e.text(),a={id:Au(),filename:e.name||"unnamed-file",mimeType:e.type,size:e.size,data:r};t(a)}else if(Pu(e.type)||A$(e.type)){if(e.size>OS){const r=Pu(e.type)?"Image":"PDF";n(`${r} file too large (${Ga(e.size)}). Maximum is ${Ga(OS)}.`);return}if(Pu(e.type)&&L$(e)){const r=await _$(e,{maxWidth:1920,maxHeight:1920,quality:.85,maxSizeBytes:1048576}),a={id:Au(),filename:e.name||"unnamed-file",mimeType:r.mimeType,size:r.size,data:r.dataUrl};t(a)}else{const r=await D$(e),a={id:Au(),filename:e.name||"unnamed-file",mimeType:e.type,size:e.size,data:r};t(a)}}else n(`Unsupported file type: ${e.type}. Supported types: images (PNG, JPG, GIF, WebP, BMP, SVG), PDF, text files, JSON, XML, YAML, and other common text-based formats.`)}catch(r){const a=r instanceof Error?r.message??"Failed to process file":"Failed to process file";n(a)}}function Fk(e){const t=Le(l=>l.sendMessage),n=Le(l=>l.launchWorkflow),r=A.useCallback((l,u,c)=>{e(!0),t(l,u,c)},[e,t]),a=A.useCallback((l,u,c,d)=>{e(!0),n(l,u,c,d)},[e,n]);return{sendMessage:r,launchWorkflow:a}}function R$({children:e}){return so.createPortal(e,document.body)}function O$(e){const t=e.startCondition;if(!t||t.type==="always")return!0;switch(t.type){case"step_result":case"metadata_all_match":case"metadata_all_in":return null;default:return null}}function I$({onSendCommand:e,onSelectWorkflow:t,onSelectWorkflowWithSubGroup:n,onOpenCommandsManager:r,onOpenWorkflowsManager:a,onAttach:l,textareaContent:u,attachments:c}){const[d,f]=A.useState(!1),[p,m]=A.useState("commands"),[x,y]=A.useState(""),[w,C]=A.useState(0),[_,S]=A.useState(null),[v,b]=A.useState(null),E=A.useRef(null),j=A.useRef(null),T=mn(ee=>ee.defaults),D=mn(ee=>ee.userItems),L=mn(ee=>ee.projectItems),R=mn(ee=>ee.fetchCommands),M=Rt(ee=>ee.defaults),V=Rt(ee=>ee.userItems),U=Rt(ee=>ee.projectItems),O=Rt(ee=>ee.fetchWorkflows),H=Gr(Gr(T,D),L),F=Gr(Gr(M,V),U);A.useEffect(()=>{d&&(p==="commands"?R():p==="workflows"&&O())},[d,p,R,O]),A.useEffect(()=>{d&&(y(""),C(0),requestAnimationFrame(()=>{var ee;return(ee=E.current)==null?void 0:ee.focus()}))},[d,p]),A.useEffect(()=>{if(!d)return;const ee=Q=>{var te;(te=j.current)!=null&&te.contains(Q.target)||f(!1)};return document.addEventListener("mousedown",ee),()=>document.removeEventListener("mousedown",ee)},[d]);const G=ee=>{switch(ee.key){case"ArrowDown":ee.preventDefault(),C(Q=>{const Y=(p==="commands"?H:F).filter(W=>{const ne=x.toLowerCase();return!ne||W.name.toLowerCase().includes(ne)});return Math.min(Q+1,Y.length-1)});break;case"ArrowUp":ee.preventDefault(),C(Q=>Math.max(Q-1,0));break;case"Enter":ee.preventDefault();break;case"Escape":ee.preventDefault(),f(!1);break}},Z=ee=>{y(ee),C(0)},q=H.filter(ee=>!x||ee.name.toLowerCase().includes(x.toLowerCase())),z=F.filter(ee=>!x||ee.name.toLowerCase().includes(x.toLowerCase())),I=async ee=>{const Q=await mn.getState().fetchCommand(ee);Q&&e(Q.prompt,Q.metadata.agentMode,u,c),f(!1)},B=ee=>{t(ee),f(!1)},K=(ee,Q)=>{Q.stopPropagation(),f(!1),S(ee)},P=(ee,Q)=>{Q.stopPropagation(),f(!1),b(ee)};return i.jsxs("div",{ref:j,className:"relative",children:[i.jsx("button",{type:"button",onClick:()=>f(!d),className:"px-1.5 py-2 rounded-r bg-bg-secondary text-text-muted hover:text-text-primary hover:bg-bg-tertiary transition-colors border-l border-border/50",title:"More options",children:i.jsx(c1,{className:"w-4 h-4"})}),d&&i.jsxs("div",{className:"absolute bottom-full right-0 mb-1 w-80 max-w-[calc(100vw-2rem)] bg-bg-secondary border border-border rounded-lg shadow-xl z-50 overflow-hidden",children:[i.jsxs("div",{className:"flex border-b border-border",children:[i.jsx("button",{type:"button",onClick:()=>{m("commands"),y(""),C(0)},className:`flex-1 px-4 py-2 text-sm font-medium transition-colors ${p==="commands"?"text-accent-primary border-b-2 border-accent-primary":"text-text-muted hover:text-text-primary"}`,children:"Commands"}),i.jsx("button",{type:"button",onClick:()=>{m("workflows"),y(""),C(0)},className:`flex-1 px-4 py-2 text-sm font-medium transition-colors ${p==="workflows"?"text-accent-primary border-b-2 border-accent-primary":"text-text-muted hover:text-text-primary"}`,children:"Workflows"}),i.jsx("button",{type:"button",onClick:()=>m("attach"),className:`flex-1 px-4 py-2 text-sm font-medium transition-colors ${p==="attach"?"text-accent-primary border-b-2 border-accent-primary":"text-text-muted hover:text-text-primary"}`,children:"Attach"})]}),p!=="attach"&&i.jsx("div",{className:"p-2 border-b border-border",children:i.jsx("input",{ref:E,value:x,onChange:ee=>Z(ee.target.value),onKeyDown:G,placeholder:p==="commands"?"Search commands...":"Search workflows...",className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary"})}),i.jsx("div",{className:"overflow-y-auto max-h-64 p-1",children:p==="commands"?q.length===0?i.jsx("div",{className:"px-3 py-2 text-text-muted text-sm",children:H.length===0?"No commands yet":"No matches"}):q.map((ee,Q)=>i.jsxs("div",{className:`flex items-center gap-1 px-3 py-2 rounded transition-colors group ${Q===w?"bg-accent-primary/20":"hover:bg-bg-tertiary"}`,children:[i.jsx("button",{type:"button",onClick:()=>I(ee.id),className:"flex-1 text-left",children:i.jsx("div",{className:"text-sm text-text-primary font-medium",children:ee.name})}),i.jsx(Ui,{className:"opacity-0 group-hover:opacity-100",onClick:te=>K(ee.id,te)})]},ee.id)):p==="workflows"?z.length===0?i.jsx("div",{className:"px-3 py-2 text-text-muted text-sm",children:F.length===0?"No workflows yet":"No matches"}):z.map((ee,Q)=>{const te=O$(ee),Y=ee.color??"#3b82f6";return i.jsxs("div",{className:`flex items-center gap-2 px-3 py-2 rounded transition-colors group ${Q===w?"bg-accent-primary/20":"hover:bg-bg-tertiary"}`,children:[i.jsxs("button",{type:"button",onClick:()=>B(ee.id),className:"flex-1 text-left flex items-center gap-2",children:[i.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:Y}}),i.jsx("span",{className:"text-sm text-text-primary font-medium flex-1",children:ee.name}),te!==null&&i.jsx("span",{className:"w-1.5 h-1.5 rounded-full flex-shrink-0",style:{backgroundColor:te?"#22c55e":"#6b7280"},title:te?"Entry condition met":"Entry condition not met"})]}),i.jsxs("div",{className:"flex items-center gap-1",children:[ee.subGroups&&ee.subGroups.length>0&&i.jsx(M$,{subGroups:ee.subGroups,onSelect:W=>{f(!1),n(ee.id,W)}}),i.jsx(Ui,{className:"opacity-0 group-hover:opacity-100",onClick:W=>P(ee.id,W)})]})]},ee.id)}):i.jsxs("div",{className:"p-4 flex flex-col items-center gap-3",children:[i.jsxs("button",{type:"button",onClick:()=>{l(),f(!1)},className:"flex items-center gap-2 px-4 py-2 rounded bg-bg-tertiary hover:bg-accent-primary/20 text-text-primary transition-colors",children:[i.jsx(kN,{className:"w-4 h-4"}),i.jsx("span",{className:"text-sm font-medium",children:"Attach file"})]}),i.jsx("span",{className:"text-xs text-text-muted",children:"or drag & drop into chat"})]})}),p!=="attach"&&i.jsx("div",{className:"border-t border-border p-1",children:i.jsx("button",{type:"button",onClick:()=>{f(!1),p==="commands"?r():a()},className:"w-full text-left px-3 py-1.5 rounded text-sm text-text-muted hover:text-text-primary hover:bg-bg-tertiary transition-colors",children:p==="commands"?"Manage Commands...":"Manage Workflows..."})})]}),i.jsx(Pk,{isOpen:!!_,onClose:()=>S(null),initialEditId:_}),i.jsx(zk,{isOpen:!!v,onClose:()=>b(null),initialEditId:v})]})}function M$({subGroups:e,onSelect:t}){const[n,r]=A.useState(!1),[a,l]=A.useState({top:0,right:0}),u=A.useRef(null),c=A.useRef(null);Mk(c,()=>r(!1),n);const d=f=>{if(f.stopPropagation(),!n&&u.current){const p=u.current.getBoundingClientRect();l({top:p.bottom+4,right:window.innerWidth-p.right})}r(!n)};return i.jsxs(i.Fragment,{children:[i.jsx("button",{ref:u,type:"button",onClick:d,className:"p-1 rounded text-text-muted hover:text-text-primary transition-colors",title:"Sub-groups",children:"⋮"}),n&&i.jsx(R$,{children:i.jsx("div",{ref:c,onMouseDown:f=>f.stopPropagation(),className:"fixed w-40 bg-bg-secondary border border-border rounded-lg shadow-xl z-[100] overflow-hidden",style:{top:a.top,right:a.right},children:e.map(f=>i.jsx("button",{type:"button",onClick:p=>{p.stopPropagation(),t(f)},className:"w-full text-left px-3 py-2 text-sm text-text-primary hover:bg-bg-tertiary transition-colors",children:f},f))})})]})}function P$({messages:e,onCancel:t}){return e.length===0?null:i.jsx("div",{className:"mb-2 flex flex-wrap gap-1.5",children:e.map(n=>i.jsxs("div",{className:`inline-flex items-center gap-1.5 px-2 py-1 rounded text-xs ${n.mode==="asap"?"bg-amber-500/15 text-amber-300 border border-amber-500/30":"bg-blue-500/15 text-blue-300 border border-blue-500/30"}`,children:[i.jsxs("span",{className:"font-medium",children:[n.mode==="asap"?"ASAP":"Queue",":"]}),i.jsx("span",{className:"truncate max-w-[200px]",children:n.content}),i.jsx($l,{onClick:()=>t(n.queueId),size:"sm"})]},n.queueId))})}function B$({agent:e,isBuiltIn:t,isConfirmingDelete:n,alwaysAllowedNames:r,onView:a,onEdit:l,onDuplicate:u,onDelete:c}){const d=e.allowedTools.filter(f=>!(r!=null&&r.has(f)));return i.jsxs(C1,{isBuiltIn:t,isConfirmingDelete:n,onView:a,onEdit:l,onDuplicate:u,onDelete:c,children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{backgroundColor:e.color??"#6b7280"}}),i.jsx("span",{className:"text-text-primary text-sm font-medium",children:e.name}),i.jsx("span",{className:"text-text-muted text-xs font-mono",children:e.id}),t&&i.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-medium bg-bg-primary text-text-muted",children:"Built-in"})]}),e.description&&i.jsx("p",{className:"text-text-secondary text-xs mt-0.5 truncate",children:e.description}),i.jsxs("div",{className:"flex flex-wrap gap-1 mt-1",children:[d.slice(0,5).map(f=>i.jsx("span",{className:"text-[10px] font-mono text-text-muted bg-bg-primary px-1 py-0.5 rounded",children:f},f)),d.length>5&&i.jsxs("span",{className:"text-[10px] text-text-muted",children:["+",d.length-5," more"]})]})]})}function PS({title:e,agents:t,subagents:n,isBuiltIn:r,alwaysAllowedNames:a,onView:l,onDuplicate:u,onEdit:c,onDelete:d}){if(t.length===0&&n.length===0)return null;const f=p=>i.jsx(B$,{agent:p,isBuiltIn:r,isConfirmingDelete:!1,alwaysAllowedNames:a,onView:()=>l(p.id),onEdit:r?void 0:()=>c==null?void 0:c(p.id),onDuplicate:()=>u(p.id),onDelete:r?void 0:()=>d==null?void 0:d(p.id)},p.id);return i.jsxs("div",{children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:e}),i.jsxs("div",{className:"space-y-2",children:[t.map(f),n.length>0&&i.jsxs("div",{className:"mt-3",children:[i.jsx("div",{className:"text-xs text-text-muted uppercase tracking-wider mb-1.5",children:"Sub-agents"}),i.jsx("div",{className:"space-y-2",children:n.map(f)})]})]})]})}function $$(e){const t=new Map;for(const n of e){const r=n.indexOf(":");if(r===-1)t.set(n,new Set);else{const a=n.slice(0,r),u=n.slice(r+1).split(",").filter(Boolean);t.set(a,new Set(u))}}return t}function Qm(e){const t=[];for(const[n,r]of e)r.size===0?t.push(n):t.push(`${n}:${[...r].join(",")}`);return t}function z$({formName:e,formId:t,formDescription:n,formSubagent:r,formTools:a,formColor:l,formPrompt:u,formError:c,saving:d,isReadOnly:f,availableTools:p,onNameChange:m,onIdChange:x,onDescriptionChange:y,onSubagentChange:w,onToolsChange:C,onColorChange:_,onPromptChange:S,onSave:v,onCancel:b,onDuplicate:E}){const j=$$(a),T=p.filter(R=>!(r&&R.topLevelOnly)),D=(R,M)=>{const V=new Map(j),U=V.get(R)||new Set,O=new Set(U);O.has(M)?O.delete(M):O.add(M),O.size===0?V.set(R,new Set):V.set(R,O),C(Qm(V))},L=R=>{const M=new Map(j);M.has(R)?M.delete(R):M.set(R,new Set),C(Qm(M))};return i.jsxs("div",{className:"flex flex-col h-full",children:[i.jsxs("div",{className:"space-y-3",children:[c&&i.jsx(Wa,{message:c}),i.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[i.jsx(wr,{label:"Name",value:e,onChange:m,placeholder:"My Agent",readOnly:f}),i.jsx(wr,{label:"ID",value:t,onChange:x,readOnly:!0,placeholder:"my_agent",hint:"(read-only)",mono:!0})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[i.jsx(wr,{label:"Description",value:n,onChange:y,placeholder:"What this agent does",readOnly:f}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Type"}),i.jsxs("div",{className:"flex items-center gap-3 h-[34px]",children:[i.jsx("button",{onClick:()=>!f&&w(!1),className:`px-2.5 py-1 rounded text-xs font-medium transition-colors ${r?"bg-bg-tertiary text-text-muted hover:text-text-secondary":"bg-accent-primary/25 text-accent-primary"} ${f?"pointer-events-none opacity-60":""}`,children:"Agent"}),i.jsx("button",{onClick:()=>!f&&w(!0),className:`px-2.5 py-1 rounded text-xs font-medium transition-colors ${r?"bg-accent-primary/25 text-accent-primary":"bg-bg-tertiary text-text-muted hover:text-text-secondary"} ${f?"pointer-events-none opacity-60":""}`,children:"Sub-agent"}),i.jsxs("div",{className:"flex items-center gap-1.5 ml-auto",children:[i.jsx("label",{className:"text-xs text-text-secondary",children:"Color"}),i.jsx("input",{type:"color",value:l,onChange:R=>!f&&_(R.target.value),disabled:f,className:"w-6 h-6 rounded cursor-pointer border border-border bg-transparent"})]})]})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Tools"}),i.jsx("div",{className:"flex flex-wrap gap-1.5 p-2 bg-bg-tertiary border border-border rounded max-h-32 overflow-y-auto",children:T.map(R=>{const M=j.has(R.name),V=R.actions.length>0,U=j.get(R.name)||new Set;return V?f?i.jsxs("button",{className:"px-1.5 py-0.5 rounded text-xs font-mono flex items-center gap-1 bg-bg-primary text-text-muted pointer-events-none opacity-60",children:[i.jsx("span",{children:R.name}),i.jsx("span",{className:"text-[10px]",children:"*"})]},R.name):i.jsx(Bl,{trigger:i.jsxs("button",{className:`px-1.5 py-0.5 rounded text-xs font-mono transition-colors flex items-center gap-1 ${M?"bg-accent-primary/25 text-accent-primary":"bg-bg-primary text-text-muted"}`,children:[i.jsx("span",{children:R.name}),V&&i.jsx("span",{className:`text-[10px] ${M&&U.size>0?"text-accent-primary":"text-text-muted"}`,children:"*"})]}),minWidth:"160px",items:[...R.actions.map(O=>({label:i.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",htmlFor:`${R.name}-${O}`,children:[i.jsx("input",{type:"checkbox",id:`${R.name}-${O}`,checked:U.has(O),onChange:()=>D(R.name,O),disabled:f,className:"w-3 h-3 rounded accent-accent-primary"}),i.jsx("span",{children:O})]}),closeOnClick:!1})),{label:M?"Deselect all":"Select all",closeOnClick:!1,onClick:()=>{if(M)L(R.name);else{const O=new Map(j);O.set(R.name,new Set(R.actions)),C(Qm(O))}}}]},R.name):i.jsx("button",{onClick:()=>!f&&L(R.name),className:`px-1.5 py-0.5 rounded text-xs font-mono transition-colors flex items-center gap-1 ${M?"bg-accent-primary/25 text-accent-primary":"bg-bg-primary text-text-muted hover:text-text-secondary"} ${f?"pointer-events-none":"cursor-pointer"}`,children:i.jsx("span",{children:R.name})},R.name)})})]})]}),i.jsxs("div",{className:"flex-1 min-h-[150px] border-t border-border pt-3 flex flex-col",children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Prompt"}),i.jsx("textarea",{value:u,onChange:R=>!f&&S(R.target.value),readOnly:f,placeholder:"Instructions for this agent...",className:`h-80 w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-y focus:outline-none focus:ring-1 focus:ring-accent-primary ${f?"opacity-60":""}`})]}),i.jsx(JN,{onCancel:b,onSave:v,saving:d,saveDisabled:!e||!u||f}),f&&i.jsx("div",{className:"flex justify-end mt-2",children:i.jsx("button",{onClick:E,className:"px-3 py-1.5 rounded bg-accent-primary/20 text-sm text-accent-primary font-medium hover:bg-accent-primary/30 transition-colors",children:"Duplicate & Customize"})})]})}function H$(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_|_$/g,"")}function U$({isOpen:e,onClose:t,initialEditId:n}){const r=kt(Ee=>Ee.defaults),a=kt(Ee=>Ee.userItems),l=kt(Ee=>Ee.loading),u=kt(Ee=>Ee.fetchAgents),c=kt(Ee=>Ee.fetchAgent),d=kt(Ee=>Ee.fetchDefaultContent),f=kt(Ee=>Ee.createAgent),p=kt(Ee=>Ee.updateAgent),m=kt(Ee=>Ee.deleteAgent),[x,y]=A.useState("list"),[w,C]=A.useState(null),[_,S]=A.useState(!1),[v,b]=A.useState(""),[E,j]=A.useState(""),[T,D]=A.useState(""),[L,R]=A.useState(!0),[M,V]=A.useState([]),[U,O]=A.useState("#6b7280"),[H,F]=A.useState(""),[G,Z]=A.useState(""),[q,z]=A.useState(!1),[I,B]=A.useState([]),[K,P]=A.useState(new Set),ee=Ee=>{b(Ee.metadata.name),j(Ee.metadata.id),D(Ee.metadata.description),R(Ee.metadata.subagent),V(Ee.metadata.allowedTools),O(Ee.metadata.color??"#6b7280"),F(Ee.prompt),Z("")},Q=(Ee,ce,oe)=>{b(Ee.metadata.name+" (copy)"),j(`${ce}-copy-${Date.now()}`),D(Ee.metadata.description),R(Ee.metadata.subagent),V(Ee.metadata.allowedTools),O(Ee.metadata.color??"#6b7280"),F(Ee.prompt),Z(""),C(null),S(!1),y("edit")},te=(Ee,ce)=>{ee(Ee),C(ce),S(!0),y("edit")};A.useEffect(()=>{e&&(u(),_e("/api/tools").then(Ee=>Ee.json()).then(Ee=>{const ce=Ee.tools||[];P(new Set(ce.filter(oe=>oe.alwaysAllowed).map(oe=>oe.name))),B(ce.filter(oe=>!oe.alwaysAllowed))}).catch(()=>{B([]),P(new Set)}),n?r.some(ce=>ce.id===n)?d(n).then(ce=>{ce&&Q(ce,n)}):c(n).then(ce=>{ce&&(ee(ce),C(n),S(!1),y("edit"))}):(y("list"),C(null),S(!1)))},[e,u,c,d,n]);const Y=async Ee=>{if(r.some(oe=>oe.id===Ee)){const oe=await d(Ee);if(!oe)return;te(oe,Ee)}else{const oe=await c(Ee);if(!oe)return;te(oe,Ee)}},W=async Ee=>{const ce=await d(Ee);ce&&Q(ce,Ee)},ne=()=>{C(null),b(""),j(""),D(""),R(!0),V(["read_file"]),O("#6b7280"),F(""),Z(""),S(!1),y("edit")},se=async Ee=>{const ce=await c(Ee);ce&&(ee(ce),C(Ee),S(!1),y("edit"))},pe=async Ee=>{await m(Ee)},ge=async()=>{const Ee=w??E;if(!Ee||!v||!H){Z("Name and prompt are required.");return}z(!0),Z("");const ce={metadata:{id:Ee,name:v,description:T,subagent:L,allowedTools:M.filter(De=>!K.has(De)),color:U},prompt:H},oe=w?await p(w,ce):await f(ce);if(z(!1),!oe.success){Z(oe.error??"Failed to save agent.");return}n?t():y("list")},ke=()=>{n?t():(y("list"),S(!1))},Be=Ee=>{b(Ee),w||j(H$(Ee))},Me=r.filter(Ee=>Ee.subagent),$e=r.filter(Ee=>!Ee.subagent),je=a.filter(Ee=>Ee.subagent),nt=a.filter(Ee=>!Ee.subagent);return x==="edit"?i.jsx(St,{isOpen:e,onClose:ke,title:_?`${v}`:w?"Edit Agent":"New Agent",size:"xl",children:i.jsx(z$,{formName:v,formId:E,formDescription:T,formSubagent:L,formTools:M,formColor:U,formPrompt:H,formError:G,saving:q,isReadOnly:_,availableTools:I,onNameChange:Be,onIdChange:j,onDescriptionChange:D,onSubagentChange:Ee=>{R(Ee),Ee&&V(ce=>ce.filter(oe=>{var De;return!((De=I.find(Ze=>Ze.name===oe))!=null&&De.topLevelOnly)}))},onToolsChange:V,onColorChange:O,onPromptChange:F,onSave:ge,onCancel:ke,onDuplicate:()=>{b(v+" (copy)"),j(`${w}-copy-${Date.now()}`),C(null),S(!1)}})}):i.jsx(St,{isOpen:e,onClose:t,title:"Agents",size:"lg",children:i.jsx(p1,{description:"Agents define behavior, tools, and prompts for top-level modes and sub-agents.",onNew:ne,loading:l,hasItems:r.length>0||a.length>0,children:i.jsxs("div",{className:"space-y-4",children:[r.length>0&&i.jsx(PS,{title:"Built-in",agents:$e,subagents:Me,isBuiltIn:!0,alwaysAllowedNames:K,onView:Y,onDuplicate:W}),a.length>0&&i.jsx(PS,{title:"Custom",agents:nt,subagents:je,isBuiltIn:!1,alwaysAllowedNames:K,onView:Y,onDuplicate:W,onEdit:se,onDelete:pe})]})})})}function F$(){const e=Le(v=>{var b;return(b=v.currentSession)==null?void 0:b.mode}),t=Le(v=>v.switchMode),n=kt(v=>v.defaults),r=kt(v=>v.userItems),a=kt(v=>v.fetchAgents),l=[...n,...r],[u,c]=A.useState(!1),[d,f]=A.useState(!1),[p,m]=A.useState(null),x=A.useRef(null);A.useEffect(()=>{a()},[a]),A.useEffect(()=>{function v(b){x.current&&!x.current.contains(b.target)&&c(!1)}return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[]);const y=ud();if(!e)return null;const w=l.filter(v=>!v.subagent),C=w.find(v=>v.id===e),_=(C==null?void 0:C.name)??e,S=jl(l,e);return i.jsxs("div",{className:"relative",ref:x,children:[i.jsxs("button",{type:"button",onClick:()=>c(!u),className:"flex items-center gap-1 px-1.5 py-0.5 rounded hover:bg-bg-tertiary transition-colors",title:"Switch agent",children:[i.jsx("span",{className:"text-sm font-medium",style:{color:S},children:_}),i.jsx(Yn,{className:`w-3 h-3 text-text-muted transition-transform ${u?"rotate-180":""}`})]}),u&&w.length>0&&i.jsxs("div",{className:"absolute bottom-full left-0 mb-1 w-56 bg-bg-secondary border border-border rounded-lg shadow-lg overflow-hidden z-50",children:[w.map((v,b)=>{const E=v.id===e,j=jl(l,v.id),T=y.agentSwitching[b],D=T?h1(T):null;return i.jsxs("div",{className:`flex items-center gap-2 px-3 py-2 text-sm transition-colors group ${E?"bg-bg-tertiary":"hover:bg-bg-tertiary cursor-pointer"}`,children:[i.jsxs("button",{type:"button",onClick:()=>{E||t(v.id),c(!1)},className:"flex-1 text-left flex items-center gap-2 min-w-0",children:[i.jsx("span",{className:"font-medium truncate",style:{color:j},children:v.name}),E&&i.jsx(Or,{className:"w-3.5 h-3.5 text-text-muted shrink-0"})]}),D&&i.jsx("span",{className:"shrink-0 px-1.5 py-0.5 text-[10px] bg-bg-tertiary text-text-muted rounded",children:D})]},v.id)}),i.jsx("div",{className:"border-t border-border p-1",children:i.jsx("button",{type:"button",onClick:()=>{c(!1),f(!0)},className:"w-full text-left px-3 py-1.5 rounded text-sm text-text-muted hover:text-text-primary hover:bg-bg-tertiary transition-colors",children:"Manage Agents..."})})]}),i.jsx(U$,{isOpen:d,onClose:()=>{f(!1),m(null)},initialEditId:p})]})}function V$(){const e=Le(r=>r.currentSession),t=Le(r=>r.switchDangerLevel);if(!e)return null;const n=e.dangerLevel??"normal";return i.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-0.5 rounded bg-bg-tertiary/50",children:[i.jsx("button",{type:"button",onClick:()=>t("normal"),className:`px-2 py-0.5 text-xs font-medium rounded transition-colors ${n==="normal"?"bg-accent-success/20 text-accent-success":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,title:"Normal mode - requires path confirmation",children:"Normal"}),i.jsx("button",{type:"button",onClick:()=>t("dangerous"),className:`px-2 py-0.5 text-xs font-medium rounded transition-colors ${n==="dangerous"?"bg-red-500/20 text-red-400":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,title:"Dangerous mode - bypasses all confirmations",children:"Dangerous"})]})}function BS({value:e,onChange:t}){return i.jsxs("div",{children:[i.jsxs("label",{className:"text-xs text-text-secondary block mb-1",children:["Query params ",i.jsx("span",{className:"text-text-muted",children:"(optional JSON)"})]}),i.jsx("input",{type:"text",value:e??"",onChange:n=>t(n.target.value),className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary font-mono"})]})}const G$=[8080,11434,8e3,1234];function Bp(e){if(e!=null&&e.length)return e.includes("medium")?"medium":e[0]}function Vk(e){return{name:e.name,url:e.url,backend:e.backend,apiKey:e.apiKey,isLocal:e.isLocal,thinkingField:e.thinkingField,authAdapter:e.authAdapter,transportAdapter:e.transportAdapter,models:e.models}}function W$({model:e,modelConfigs:t,autoConfigState:n,testResults:r,onUpdateConfig:a,onRunAutoConfig:l,onTestParams:u,onShowRaw:c}){var d,f,p,m,x,y,w,C,_,S,v,b,E,j,T,D,L,R,M,V,U,O,H,F,G,Z,q,z,I,B,K,P,ee,Q,te,Y,W,ne,se,pe,ge,ke,Be,Me,$e;return i.jsxs("div",{className:"px-4 pb-4 border-t border-border pt-3 space-y-3",children:[i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx("button",{onClick:()=>l(e.id),disabled:n.progress[e.id]==="probing",className:"px-4 py-2 bg-accent-primary text-text-primary rounded-lg text-sm font-medium hover:bg-accent-primary/90 disabled:opacity-50 transition-colors",children:n.progress[e.id]==="probing"?"Probing...":"Auto-config"}),n.progress[e.id]==="done"&&i.jsx("span",{className:"text-sm text-accent-success font-medium",children:"Configured ✓"}),n.progress[e.id]==="error"&&i.jsx("span",{className:"text-sm text-red-500 font-medium",children:"Failed ✗"})]}),i.jsxs("div",{className:"flex gap-3 items-end",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-1",children:"Context window (tokens)"}),i.jsx("input",{type:"number",value:((d=t[e.id])==null?void 0:d.contextWindow)??e.contextWindow,onChange:je=>a(e.id,{contextWindow:parseInt(je.target.value)||e.contextWindow}),className:"w-32 px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary"})]}),i.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-text-secondary pb-1",children:[i.jsx("input",{type:"checkbox",checked:((f=t[e.id])==null?void 0:f.supportsVision)??!1,onChange:je=>a(e.id,{supportsVision:je.target.checked}),className:"accent-accent-primary"})," ","Supports vision"]})]}),i.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:()=>u(e.id,"thinking"),disabled:(p=r[e.id+"-thinking"])==null?void 0:p.loading,className:"px-3 py-1.5 bg-bg-tertiary border border-border rounded text-xs font-medium hover:bg-bg-secondary disabled:opacity-50 transition-colors",children:(m=r[e.id+"-thinking"])!=null&&m.loading?"Testing...":"Test thinking"}),((x=r[e.id+"-thinking"])==null?void 0:x.result)&&i.jsx("span",{className:"text-xs text-accent-success",children:"OK"}),((y=r[e.id+"-thinking"])==null?void 0:y.error)&&i.jsx("span",{className:"text-xs text-red-500",title:(w=r[e.id+"-thinking"])==null?void 0:w.error,children:"Fail"}),((C=r[e.id+"-thinking"])==null?void 0:C.result)&&i.jsx("button",{onClick:()=>c(r[e.id+"-thinking"].result),className:"text-xs text-accent-primary hover:underline",children:"raw"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:()=>u(e.id,"non-thinking"),disabled:(_=r[e.id+"-non-thinking"])==null?void 0:_.loading,className:"px-3 py-1.5 bg-bg-tertiary border border-border rounded text-xs font-medium hover:bg-bg-secondary disabled:opacity-50 transition-colors",children:(S=r[e.id+"-non-thinking"])!=null&&S.loading?"Testing...":"Test non-thinking"}),((v=r[e.id+"-non-thinking"])==null?void 0:v.result)&&i.jsx("span",{className:"text-xs text-accent-success",children:"OK"}),((b=r[e.id+"-non-thinking"])==null?void 0:b.error)&&i.jsx("span",{className:"text-xs text-red-500",title:(E=r[e.id+"-non-thinking"])==null?void 0:E.error,children:"Fail"}),((j=r[e.id+"-non-thinking"])==null?void 0:j.result)&&i.jsx("button",{onClick:()=>c(r[e.id+"-non-thinking"].result),className:"text-xs text-accent-primary hover:underline",children:"raw"})]})]}),i.jsxs("details",{className:"group",children:[i.jsxs("summary",{className:"text-xs text-text-muted cursor-pointer hover:text-text-secondary list-none flex items-center gap-1 select-none",children:[i.jsx(Yn,{className:"w-3 h-3 transition-transform group-open:rotate-180"}),"Advanced: thinking & non-thinking params"]}),i.jsxs("div",{className:"mt-3 space-y-2",children:[i.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[i.jsx("input",{type:"checkbox",checked:((T=t[e.id])==null?void 0:T.thinkingEnabled)??!1,onChange:je=>a(e.id,{thinkingEnabled:je.target.checked}),className:"w-4 h-4 rounded border-border bg-bg-tertiary accent-accent-primary"}),i.jsx("span",{className:"text-xs font-medium text-text-primary",children:"Thinking"})]}),((D=t[e.id])==null?void 0:D.thinkingEnabled)&&i.jsxs("div",{className:"ml-6 space-y-2 pl-3 border-l-2 border-accent-primary/30",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-1",children:"Reasoning effort"}),(L=e.reasoningEfforts)!=null&&L.length?i.jsx("select",{"aria-label":"Reasoning effort",value:((R=t[e.id])==null?void 0:R.thinkingLevel)??Bp(e.reasoningEfforts),onChange:je=>a(e.id,{thinkingLevel:je.target.value}),className:"w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-xs text-text-primary",children:e.reasoningEfforts.map(je=>i.jsx("option",{value:je,children:je},je))}):i.jsx("input",{type:"text","aria-label":"Reasoning effort",value:((M=t[e.id])==null?void 0:M.thinkingLevel)??"",onChange:je=>a(e.id,{thinkingLevel:je.target.value}),className:"w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-xs text-text-primary"})]}),i.jsx(BS,{value:(V=t[e.id])==null?void 0:V.thinkingQueryParams,onChange:je=>a(e.id,{thinkingQueryParams:je})})]}),i.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[i.jsx("input",{type:"checkbox",checked:((U=t[e.id])==null?void 0:U.nonThinkingEnabled)??!1,onChange:je=>a(e.id,{nonThinkingEnabled:je.target.checked}),className:"w-4 h-4 rounded border-border bg-bg-tertiary accent-accent-primary"}),i.jsx("span",{className:"text-xs font-medium text-text-primary",children:"Non-thinking"})]}),((O=t[e.id])==null?void 0:O.nonThinkingEnabled)&&i.jsx("div",{className:"ml-6 space-y-2 pl-3 border-l-2 border-accent-warning/30",children:i.jsx(BS,{value:(H=t[e.id])==null?void 0:H.nonThinkingQueryParams,onChange:je=>a(e.id,{nonThinkingQueryParams:je})})})]}),i.jsxs("div",{className:"border-t border-border pt-3 mt-3",children:[i.jsx("p",{className:"text-xs text-text-muted mb-2",children:"Sampling parameters"}),i.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-0.5",children:"Temperature"}),i.jsx("input",{type:"number",step:"0.1",value:((F=t[e.id])==null?void 0:F.temperature)??"",onChange:je=>a(e.id,{temperature:je.target.value?parseFloat(je.target.value):void 0}),placeholder:((Z=(G=t[e.id])==null?void 0:G.defaultTemperature)==null?void 0:Z.toString())??"Using default",className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary"}),((q=t[e.id])==null?void 0:q.defaultTemperature)!==void 0&&i.jsxs("p",{className:"text-xs text-text-muted mt-0.5",children:["default: ",(z=t[e.id])==null?void 0:z.defaultTemperature]})]}),i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-0.5",children:"Top P"}),i.jsx("input",{type:"number",step:"0.05",value:((I=t[e.id])==null?void 0:I.topP)??"",onChange:je=>a(e.id,{topP:je.target.value?parseFloat(je.target.value):void 0}),placeholder:((K=(B=t[e.id])==null?void 0:B.defaultTopP)==null?void 0:K.toString())??"Using default",className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary"}),((P=t[e.id])==null?void 0:P.defaultTopP)!==void 0&&i.jsxs("p",{className:"text-xs text-text-muted mt-0.5",children:["default: ",(ee=t[e.id])==null?void 0:ee.defaultTopP]})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 mt-2",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-0.5",children:"Top K"}),i.jsx("input",{type:"number",value:((Q=t[e.id])==null?void 0:Q.topK)??"",onChange:je=>a(e.id,{topK:je.target.value?parseInt(je.target.value):void 0}),placeholder:((Y=(te=t[e.id])==null?void 0:te.defaultTopK)==null?void 0:Y.toString())??"Using default",className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary"}),((W=t[e.id])==null?void 0:W.defaultTopK)!==void 0&&i.jsxs("p",{className:"text-xs text-text-muted mt-0.5",children:["default: ",(ne=t[e.id])==null?void 0:ne.defaultTopK]})]}),i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-0.5",children:"Max tokens"}),i.jsx("input",{type:"number",value:((se=t[e.id])==null?void 0:se.maxTokens)??"",onChange:je=>a(e.id,{maxTokens:je.target.value?parseInt(je.target.value):void 0}),placeholder:((ge=(pe=t[e.id])==null?void 0:pe.defaultMaxTokens)==null?void 0:ge.toString())??"Using default",className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary"}),((ke=t[e.id])==null?void 0:ke.defaultMaxTokens)!==void 0&&i.jsxs("p",{className:"text-xs text-text-muted mt-0.5",children:["default: ",(Be=t[e.id])==null?void 0:Be.defaultMaxTokens]})]})]})]}),i.jsx("div",{className:"pt-3 border-t border-border",children:i.jsx(q$,{value:(Me=t[e.id])==null?void 0:Me.compactionThreshold,maxTokens:(($e=t[e.id])==null?void 0:$e.contextWindow)??e.contextWindow,onChange:je=>a(e.id,{compactionThreshold:je})})})]})]})}function q$({value:e,maxTokens:t,onChange:n}){const l=Math.min(95,Math.floor((t-5e3)/t*100)),u=Math.min(l,Math.ceil(15e3/t*100)),c=Math.min(e??.85,l/100),[d,f]=A.useState(Math.round(c*100));A.useEffect(()=>{const m=Math.min(e??.85,l/100);f(Math.round(m*100))},[e,l]);const p=Math.floor(t*(d/100));return i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center justify-between gap-3 mb-1",children:[i.jsx("label",{className:"text-xs text-text-secondary",children:"Auto-compaction threshold"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("span",{className:"font-mono text-xs text-text-primary",children:[d,"% · ",Qa(p)]}),i.jsx("button",{type:"button",onClick:()=>{n(void 0),f(Math.round(.85*100))},disabled:e===void 0,className:"text-xs text-accent-primary hover:underline disabled:text-text-muted disabled:no-underline",children:"Default"})]})]}),i.jsx("input",{"aria-label":"Auto-compaction threshold",type:"range",min:u,max:l,step:"1",value:d,onChange:m=>f(Number(m.target.value)),onMouseUp:()=>n(d/100),onTouchEnd:()=>n(d/100),onBlur:()=>n(d/100),onKeyUp:()=>n(d/100),className:"w-full"}),i.jsxs("p",{className:"text-[10px] text-text-muted mt-0.5",children:["Minimum ",Qa(15e3)," tokens · maximum ",l,"% · default 85%"]})]})}function Gk({isOpen:e,onClose:t,onSave:n,initialStep:r=1,editProvider:a,editModelId:l}){const[u,c]=A.useState(r),[d,f]=A.useState(""),[p,m]=A.useState(""),[x,y]=A.useState("unknown"),[w,C]=A.useState(""),[_,S]=A.useState(!1),[v,b]=A.useState(),[E,j]=A.useState(),[T,D]=A.useState(!1),[L,R]=A.useState(null),[M,V]=A.useState([]),[U,O]=A.useState(null),[H,F]=A.useState(!1),[G,Z]=A.useState(""),[q,z]=A.useState({}),[I,B]=A.useState({loading:!1,progress:{}}),[K,P]=A.useState({}),[ee,Q]=A.useState(null),[te,Y]=A.useState(new Set),[W,ne]=A.useState(""),[se,pe]=A.useState(null),[ge,ke]=A.useState("disconnected"),[Be,Me]=A.useState(!1),[$e,je]=A.useState(null),[nt,Ee]=A.useState([]),[ce,oe]=A.useState(!1),[De,Ze]=A.useState(!1),Ye=A.useRef(null),yt=A.useRef(!1),re=A.useRef(null);A.useEffect(()=>{u===1&&e&&requestAnimationFrame(()=>{var be;return(be=re.current)==null?void 0:be.focus()})},[u,e]),A.useEffect(()=>()=>{Ye.current!==null&&window.clearTimeout(Ye.current)},[]),A.useEffect(()=>{e&&_e("/api/provider-presets").then(async be=>be.ok?await be.json():{presets:[]}).then(be=>Ee(be.presets)).catch(()=>Ee([]))},[e]);function xe(be,Ue){z(ae=>({...ae,[be]:{...ae[be],...Ue}}))}function we(be){Y(Ue=>new Set(Ue).add(be.id)),z(Ue=>({...Ue,[be.id]:{contextWindow:be.contextWindow,...Ue[be.id]}}))}function ze(be){if(!be.trim())return M;const Ue=be.toLowerCase().split(/\s+/).filter(Boolean);return M.filter(ae=>Ue.every(de=>ae.id.toLowerCase().includes(de)))}A.useEffect(()=>{var be,Ue;if(e)if(c(r),f((a==null?void 0:a.name)??""),m((a==null?void 0:a.url)??""),y((a==null?void 0:a.backend)??"unknown"),C((a==null?void 0:a.apiKey)??""),S((a==null?void 0:a.isLocal)??!1),b(a==null?void 0:a.authAdapter),j(a==null?void 0:a.transportAdapter),R(null),Z((a==null?void 0:a.thinkingField)??""),P({}),Q(null),pe(null),ke("disconnected"),je(null),oe(!1),Ze(!1),(be=a==null?void 0:a.models)!=null&&be.length){const ae={},de=new Set;for(const Pe of a.models)ae[Pe.id]={contextWindow:Pe.contextWindow,supportsVision:Pe.supportsVision,thinkingEnabled:Pe.thinkingEnabled,thinkingLevel:Pe.thinkingLevel??Bp(Pe.reasoningEfforts),nonThinkingEnabled:Pe.nonThinkingEnabled,thinkingQueryParams:Pe.thinkingQueryParams,nonThinkingQueryParams:Pe.nonThinkingQueryParams,defaultTemperature:Pe.defaultTemperature,defaultTopP:Pe.defaultTopP,defaultTopK:Pe.defaultTopK,defaultMaxTokens:Pe.defaultMaxTokens},Pe.selected&&de.add(Pe.id);if(de.size===0)for(const Pe of a.models)de.add(Pe.id);Y(de),z(ae),V(a.models),O(l??((Ue=a.models[0])==null?void 0:Ue.id)??null)}else V([]),z({}),O(null),Y(new Set)},[e,r,a==null?void 0:a.id,l]),A.useEffect(()=>{const be=!!v;u===2&&p&&M.length===0&&!T&&!L&&(!be||ge==="connected")&&Wt(p)},[u,ge]),A.useEffect(()=>{!e||!v||!(a!=null&&a.id)||Ge(a.id)},[e,E,a==null?void 0:a.id]),A.useEffect(()=>{if(!$e)return;const be=(a==null?void 0:a.id)??se;if(!be)return;let Ue=!1;const ae=async()=>{const Pe=await Ge(be);Ue||Pe!=="connected"||(je(null),oe(!1),Ze(!1),await Wt(p))};ae();const de=window.setInterval(()=>void ae(),2e3);return()=>{Ue=!0,window.clearInterval(de)}},[$e,se,a==null?void 0:a.id]);async function Ke(){if(a!=null&&a.id)return a.id;if(se)return se;const be=await _e("/api/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:d||"Provider",url:p,backend:x,authAdapter:v,transportAdapter:E,isLocal:!1,models:[]})});if(!be.ok)throw new Error("Unable to create provider");const Ue=await be.json();return pe(Ue.provider.id),Ue.provider.id}async function Ge(be){const Ue=await _e(`/api/provider-auth/${be}/status`);if(!Ue.ok)return"error";const ae=await Ue.json(),de=ae.state==="connected"?"connected":ae.state==="pending"?"pending":ae.state==="error"?"error":"disconnected";return ke(de),de}async function tt(){Me(!0),ke("pending");try{const be=await Ke(),Ue=await _e(`/api/provider-auth/${be}/login`,{method:"POST"});if(!Ue.ok)throw new Error("Unable to start provider sign-in");const ae=await Ue.json();je(ae)}catch{ke("error")}finally{Me(!1)}}async function vt(){var be;$e!=null&&$e.userCode&&(await((be=navigator.clipboard)==null?void 0:be.writeText($e.userCode)),Ye.current!==null&&window.clearTimeout(Ye.current),Ze(!1),requestAnimationFrame(()=>Ze(!0)),Ye.current=window.setTimeout(()=>{Ze(!1),Ye.current=null},1500))}function Ot(){$e&&(window.open($e.directUrl??$e.verificationUrl,"_blank","noopener,noreferrer"),oe(!0))}async function Wt(be){var Ue,ae;D(!0),R(null),V([]);try{const de=new URLSearchParams({url:be});w&&de.set("apiKey",w),x&&de.set("backend",x);const Pe=E?await _e(`/api/providers/${await Ke()}/models`):await _e(`/api/providers/models?${de.toString()}`);if(Pe.ok){const mt=await Pe.json();if((Ue=mt.models)!=null&&Ue.length){V(mt.models),O(((ae=mt.models[0])==null?void 0:ae.id)??null);const bn={};for(const rn of mt.models)bn[rn.id]={contextWindow:rn.contextWindow,thinkingEnabled:!0,thinkingLevel:Bp(rn.reasoningEfforts),defaultTemperature:rn.defaultTemperature,defaultTopP:rn.defaultTopP,defaultTopK:rn.defaultTopK,defaultMaxTokens:rn.defaultMaxTokens};z(bn),mt.models.length===1&&(Y(new Set([mt.models[0].id])),O(mt.models[0].id),ut(mt.models[0].id))}}else{const mt=await Pe.json();R(mt.error??`Failed to fetch models from ${be}`)}}catch(de){R(`Failed to fetch models from ${be}: ${de instanceof Error?de.message:"Unknown error"}`)}D(!1)}async function ut(be){B(Ue=>({loading:!0,progress:{...Ue.progress,[be]:"probing"}}));try{const Ue=await _e("/api/providers/auto-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:p,apiKey:w||void 0,backend:x||"unknown",models:[{id:be}]})});if(!Ue.ok){const de=await Ue.json();throw new Error(de.error??"Auto-config failed")}const ae=await Ue.json();for(const de of ae.models){const Pe={};de.contextSource!=="default"&&(Pe.contextWindow=de.contextWindow,Pe.supportsVision=de.supportsVision),de.thinkingConfig&&(Pe.thinkingEnabled=!0,Pe.thinkingQueryParams=JSON.stringify(de.thinkingConfig)),de.nonThinkingConfig&&(Pe.nonThinkingEnabled=!0,Pe.nonThinkingQueryParams=JSON.stringify(de.nonThinkingConfig)),xe(de.id,Pe),B(mt=>({...mt,progress:{...mt.progress,[de.id]:"done"}}))}}catch(Ue){console.error("Auto-config error:",Ue),B(ae=>({...ae,progress:{...ae.progress,[be]:"error"}}))}finally{B(Ue=>({...Ue,loading:!1}))}}async function Cn(be,Ue){const ae=be+"-"+Ue;P(de=>({...de,[ae]:{loading:!0}}));try{const de=q[be],Pe=await _e("/api/providers/test-params",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:p,providerId:(a==null?void 0:a.id)??se??void 0,transportAdapter:E,model:be,apiKey:w||void 0,backend:x||"unknown",thinkingField:G||void 0,mode:Ue,modelConfig:{temperature:de==null?void 0:de.temperature,topP:de==null?void 0:de.topP,topK:de==null?void 0:de.topK,maxTokens:de==null?void 0:de.maxTokens,supportsVision:de==null?void 0:de.supportsVision,thinkingEnabled:de==null?void 0:de.thinkingEnabled,thinkingLevel:de==null?void 0:de.thinkingLevel,nonThinkingEnabled:de==null?void 0:de.nonThinkingEnabled,thinkingQueryParams:de==null?void 0:de.thinkingQueryParams,nonThinkingQueryParams:de==null?void 0:de.nonThinkingQueryParams}})}),mt=await Pe.json();Pe.ok?P(bn=>({...bn,[ae]:{loading:!1,result:JSON.stringify(mt,null,2),message:mt.message}})):P(bn=>({...bn,[ae]:{loading:!1,error:mt.error??"Test failed"}}))}catch(de){P(Pe=>({...Pe,[ae]:{loading:!1,error:de instanceof Error?de.message:"Request failed"}}))}}function jt(){V([]),z({}),B({loading:!1,progress:{}}),P({}),Q(null),Y(new Set),ne("")}function Jt(){se&&!yt.current&&_e(`/api/providers/${se}`,{method:"DELETE"}).catch(be=>{console.warn("Failed to clean up draft provider",be)}),t()}function Ir(){const be=d||"Provider",Ue=(a==null?void 0:a.id)??se??`temp-${Date.now()}`;n({id:Ue,name:be,url:p,backend:x||"unknown",apiKey:w||void 0,isLocal:_,thinkingField:G||void 0,authAdapter:v,transportAdapter:E,models:M.map(ae=>{var de,Pe,mt,bn,rn,Se,Te,He,We,at,et,pt,sn,Zt,Vt,an;return{id:ae.id,name:ae.name,apiModelId:ae.apiModelId,requestBody:ae.requestBody,reasoningEfforts:ae.reasoningEfforts,contextWindow:((de=q[ae.id])==null?void 0:de.contextWindow)??ae.contextWindow,selected:te.has(ae.id)||void 0,supportsVision:(Pe=q[ae.id])==null?void 0:Pe.supportsVision,thinkingEnabled:(mt=q[ae.id])==null?void 0:mt.thinkingEnabled,thinkingLevel:(bn=q[ae.id])==null?void 0:bn.thinkingLevel,nonThinkingEnabled:(rn=q[ae.id])==null?void 0:rn.nonThinkingEnabled,thinkingQueryParams:(Se=q[ae.id])==null?void 0:Se.thinkingQueryParams,nonThinkingQueryParams:(Te=q[ae.id])==null?void 0:Te.nonThinkingQueryParams,temperature:(He=q[ae.id])==null?void 0:He.temperature,topP:(We=q[ae.id])==null?void 0:We.topP,topK:(at=q[ae.id])==null?void 0:at.topK,maxTokens:(et=q[ae.id])==null?void 0:et.maxTokens,defaultMaxTokens:(pt=q[ae.id])==null?void 0:pt.defaultMaxTokens,defaultTemperature:(sn=q[ae.id])==null?void 0:sn.defaultTemperature,defaultTopP:(Zt=q[ae.id])==null?void 0:Zt.defaultTopP,defaultTopK:(Vt=q[ae.id])==null?void 0:Vt.defaultTopK,compactionThreshold:(an=q[ae.id])==null?void 0:an.compactionThreshold}})}),yt.current=!0,t()}return e?i.jsxs("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",children:[i.jsxs("div",{className:"bg-bg-secondary border border-border rounded-xl w-[640px] max-h-[85vh] overflow-y-auto shadow-2xl",children:[i.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border",children:[i.jsx("h3",{className:"text-lg font-semibold text-text-primary",children:a?"Edit Provider":"Add Provider"}),i.jsx("button",{onClick:Jt,className:"text-text-muted hover:text-text-primary text-xl leading-none p-1",children:"×"})]}),i.jsx("div",{className:"flex gap-1.5 px-6 pt-4",children:[1,2].map(be=>i.jsx("div",{className:`h-1 flex-1 rounded-full transition-colors ${be<u?"bg-accent-success":be===u?"bg-accent-primary":"bg-border"}`},be))}),u===1&&i.jsxs("div",{className:"px-6 py-4 space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-2",children:"Inference engine"}),i.jsxs("div",{className:"grid grid-cols-5 gap-2",children:[nt.map(be=>i.jsx("button",{type:"button",onClick:()=>{f(be.defaults.name??be.name),m(be.defaults.url),y(be.defaults.backend),S(!1),C(""),b(be.authAdapter),j(be.transportAdapter),R(null),jt()},className:`p-2 rounded border text-center text-sm transition-colors ${E&&E===be.transportAdapter?"border-accent-primary bg-accent-primary/10 text-accent-primary":"border-border hover:border-text-muted text-text-secondary"}`,children:be.name},be.id)),i.jsx("button",{type:"button",onClick:()=>{y("unknown"),S(!1),b(void 0),j(void 0),R(null),jt()},className:`p-2 rounded border text-center text-sm transition-colors ${x==="unknown"?"border-accent-primary bg-accent-primary/10 text-accent-primary":"border-border hover:border-text-muted text-text-secondary"}`,children:"Other"},"other"),G$.map(be=>{const Ue={8e3:"vllm",11434:"ollama",8080:"llamacpp",1234:"lmstudio"},ae={8e3:"vLLM",11434:"Ollama",8080:"llama.cpp",1234:"LM Studio"};return i.jsx("button",{type:"button",onClick:()=>{f(de=>de||(ae[be]??"")),m(de=>de||`http://localhost:${be}`),y(Ue[be]??""),S(!0),b(void 0),j(void 0),R(null),jt()},className:`p-2 rounded border text-center text-sm transition-colors ${x===Ue[be]?"border-accent-primary bg-accent-primary/10 text-accent-primary":"border-border hover:border-text-muted text-text-secondary"}`,children:ae[be]??`localhost:${be}`},be)})]})]}),!v&&i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Provider URL"}),i.jsx("input",{ref:re,type:"text",value:p,"data-testid":"provider-modal-url",onChange:be=>{m(be.target.value),R(null),V([]),z({})},placeholder:"http://localhost:8000",className:"w-full px-4 py-2 bg-bg-primary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Provider name"}),i.jsx("input",{type:"text",autoComplete:"off",value:d,onChange:be=>f(be.target.value),placeholder:"My LLM Server",className:"w-full px-4 py-2 bg-bg-primary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]}),!v&&i.jsxs("div",{children:[i.jsxs("label",{className:"block text-sm text-text-secondary mb-1",children:["API key ",i.jsx("span",{className:"text-text-muted",children:"(optional)"})]}),i.jsx("input",{type:"text",autoComplete:"off",value:w,onChange:be=>C(be.target.value),placeholder:"sk-...",className:"w-full px-4 py-2 bg-bg-primary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]}),!v&&i.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[i.jsx("input",{type:"checkbox",checked:_,onChange:be=>S(be.target.checked),className:"w-4 h-4 rounded border-border bg-bg-primary accent-accent-primary"}),i.jsx("span",{className:"text-sm text-text-secondary",children:"This is a local provider"})]})]}),u===2&&i.jsxs("div",{className:"px-6 py-4 space-y-4",children:[!!v&&i.jsxs("div",{className:"rounded-lg border border-border bg-bg-primary p-4",children:[i.jsxs("div",{className:"flex items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-sm font-medium text-text-primary",children:"Connect provider"}),i.jsx("p",{className:"mt-1 text-xs text-text-muted",children:"Connect this provider before choosing available models."})]}),ge==="connected"?i.jsx("span",{className:"text-sm font-medium text-accent-success",children:"Connected ✓"}):i.jsx("button",{type:"button",onClick:()=>void tt(),disabled:Be||ge==="pending",className:"rounded-lg bg-accent-primary px-4 py-2 text-sm font-medium text-text-primary disabled:opacity-50",children:Be||ge==="pending"?"Connecting...":ge==="error"?"Retry":"Connect"})]}),$e&&i.jsx("div",{className:"mt-4 border-t border-border pt-4",children:$e.mode!=="browser"?i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"text-xs text-text-muted",children:"Use this code to complete authorization:"}),i.jsx("button",{type:"button",onClick:()=>void vt(),className:"mt-3 w-full rounded-lg border border-accent-primary/40 px-4 py-4 font-mono text-2xl font-semibold tracking-[0.2em] text-accent-primary",children:$e.userCode??"Continue"}),i.jsxs("div",{className:"mt-3 flex gap-2",children:[i.jsx("button",{type:"button",onClick:()=>void vt(),className:"flex-1 rounded-lg border border-border px-3 py-2 text-sm text-text-primary",children:De?"Copied":"Copy code"}),i.jsx("button",{type:"button",onClick:Ot,className:"flex-1 rounded-lg bg-accent-primary px-3 py-2 text-sm font-medium text-text-primary",children:ce?"Reopen authorization":"Open authorization"})]})]}):i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"text-xs text-text-muted mb-3",children:$e.instructions}),i.jsx("button",{type:"button",onClick:Ot,className:"w-full rounded-lg bg-accent-primary px-3 py-2 text-sm font-medium text-text-primary",children:ce?"Reopen authorization":"Open authorization"})]})})]}),T&&i.jsxs("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[i.jsx("span",{className:"w-4 h-4 border-2 border-accent-primary border-t-transparent rounded-full animate-spin"}),"Fetching models..."]}),L&&i.jsxs("div",{className:"p-3 rounded-lg text-sm bg-red-500/10 text-red-500 border border-red-500/20",children:[i.jsx("p",{children:L}),i.jsxs("p",{className:"text-xs text-text-muted mt-1",children:["URL: ",p]}),i.jsxs("div",{className:"flex gap-2 mt-2",children:[i.jsx("button",{onClick:()=>Wt(p),className:"text-xs text-accent-primary hover:underline",children:"Retry"}),i.jsx("button",{onClick:()=>{jt(),c(1)},className:"text-xs text-accent-primary hover:underline",children:"Edit URL"})]})]}),M.length>0&&x&&(!v||ge==="connected")&&i.jsxs(i.Fragment,{children:[te.size>0&&i.jsxs("div",{className:"mb-4",children:[i.jsxs("h4",{className:"text-sm font-medium text-text-primary mb-1",children:["Selected Models (",te.size,")"]}),i.jsx("p",{className:"text-xs text-text-muted mb-2",children:"Only selected models will appear in the model selector."}),i.jsx("div",{className:"space-y-2",children:M.filter(be=>te.has(be.id)).map(be=>{var Ue;return i.jsxs("div",{className:"bg-bg-primary border border-border rounded-lg overflow-hidden",children:[i.jsxs("div",{onClick:()=>O(U===be.id?null:be.id),className:"w-full flex items-center justify-between px-4 py-3 hover:bg-bg-tertiary transition-colors cursor-pointer",children:[i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx("span",{className:"text-sm font-medium text-text-primary",children:be.name??be.id.split("/").pop()}),i.jsxs("span",{className:"text-xs text-text-muted bg-bg-tertiary px-2 py-0.5 rounded",children:[(((Ue=q[be.id])==null?void 0:Ue.contextWindow)??be.contextWindow).toLocaleString()," ctx"]})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[I.progress[be.id]==="probing"?i.jsx("span",{className:"w-3 h-3 border-2 border-accent-primary border-t-transparent rounded-full animate-spin"}):I.progress[be.id]==="done"?i.jsx("span",{className:"text-xs text-accent-success font-medium",children:"Configured ✓"}):I.progress[be.id]==="error"?i.jsx("span",{className:"text-xs text-red-500 font-medium",children:"Failed ✗"}):v?null:i.jsx("button",{onClick:ae=>{ae.stopPropagation(),ut(be.id)},className:"text-xs text-accent-primary hover:underline",children:"Auto-config"}),M.length>1&&i.jsx("button",{onClick:ae=>{ae.stopPropagation();const de=new Set(te);de.delete(be.id),Y(de),U===be.id&&O(null)},className:"text-xs text-red-500 hover:text-red-400 px-2 py-1 rounded hover:bg-red-500/10",children:"Remove"}),i.jsx(Yn,{className:`w-4 h-4 text-text-muted transition-transform ${U===be.id?"rotate-180":""}`})]})]}),U===be.id&&i.jsx(W$,{model:be,modelConfigs:q,autoConfigState:I,testResults:K,onUpdateConfig:xe,onRunAutoConfig:ut,onTestParams:Cn,onShowRaw:Q})]},be.id)})})]}),M.length>1&&i.jsxs("div",{children:[i.jsx("h4",{className:"text-sm font-medium text-text-primary mb-1",children:"Available Models"}),te.size===0&&i.jsx("p",{className:"text-xs text-text-muted mb-2",children:"This provider has many models available. Select the ones you want to use below."}),i.jsxs("div",{className:"relative mb-2",children:[i.jsx("input",{type:"text",value:W,onChange:be=>ne(be.target.value),placeholder:"Search models...",className:"w-full px-4 py-2 bg-bg-primary border border-border rounded-lg text-sm text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"}),W&&i.jsx("button",{onClick:()=>ne(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-text-muted hover:text-text-primary text-sm",children:"×"})]}),i.jsxs("div",{className:"flex items-center justify-between mb-2",children:[i.jsxs("p",{className:"text-xs text-text-muted",children:["Showing ",ze(W).length," of ",M.length," models"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:()=>{const be=new Set(te),Ue=ze(W);for(const ae of Ue)be.add(ae.id);if(Y(be),z(ae=>{const de={...ae};for(const Pe of Ue)de[Pe.id]={contextWindow:Pe.contextWindow,...de[Pe.id]};return de}),!v)for(const ae of Ue)I.progress[ae.id]!=="probing"&&I.progress[ae.id]!=="done"&&ut(ae.id)},className:"text-xs text-accent-primary hover:underline",children:"Select all"}),i.jsx("button",{onClick:()=>{const be=new Set(te),Ue=ze(W);for(const ae of Ue)be.delete(ae.id);Y(be)},className:"text-xs text-text-muted hover:text-text-secondary",children:"Deselect all"})]})]}),i.jsxs("div",{className:"space-y-1 max-h-48 overflow-y-auto border border-border rounded-lg bg-bg-primary",children:[ze(W).map(be=>{var ae;const Ue=te.has(be.id);return i.jsxs("div",{role:"checkbox","aria-checked":Ue,tabIndex:0,className:`flex items-center gap-3 px-4 py-2 hover:bg-bg-tertiary transition-colors cursor-pointer ${Ue?"bg-accent-primary/5":""}`,onClick:()=>{if(Ue){const de=new Set(te);de.delete(be.id),Y(de)}else we(be),v||ut(be.id)},onKeyDown:de=>{(de.key==="Enter"||de.key===" ")&&(de.preventDefault(),de.currentTarget.click())},children:[i.jsx("input",{type:"checkbox",checked:Ue,onChange:()=>{},className:"w-4 h-4 rounded border-border accent-accent-primary pointer-events-none"}),i.jsx("span",{className:"text-sm text-text-primary flex-1 truncate",children:be.name??be.id.split("/").pop()}),i.jsxs("span",{className:"text-xs text-text-muted flex-shrink-0",children:[(((ae=q[be.id])==null?void 0:ae.contextWindow)??be.contextWindow).toLocaleString()," ctx"]}),I.progress[be.id]==="probing"&&i.jsx("span",{className:"w-3 h-3 border-2 border-accent-primary border-t-transparent rounded-full animate-spin flex-shrink-0"}),I.progress[be.id]==="done"&&i.jsx("span",{className:"text-xs text-accent-success flex-shrink-0",children:"✓"}),I.progress[be.id]==="error"&&i.jsx("span",{className:"text-xs text-red-500 flex-shrink-0",children:"✗"})]},be.id)}),ze(W).length===0&&i.jsxs("div",{className:"px-4 py-6 text-center text-sm text-text-muted",children:["No models match “",W,"”"]})]})]})]})]}),i.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-t border-border",children:[i.jsx("div",{children:u>1&&i.jsx("button",{onClick:()=>{u===2&&jt(),c(u-1)},className:"text-sm text-text-muted hover:text-text-secondary transition-colors",children:"← Back"})}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:Jt,className:"px-4 py-2 text-sm text-text-muted hover:text-text-secondary transition-colors",children:"Cancel"}),u===1?i.jsx("button",{onClick:()=>c(2),disabled:!p,"data-testid":"provider-modal-next",className:"px-5 py-2 bg-accent-primary text-text-primary rounded-lg text-sm font-medium hover:bg-accent-primary/90 disabled:opacity-50 transition-colors",children:"Next — Test & Configure"}):i.jsx("button",{onClick:Ir,disabled:I.loading,"data-testid":"provider-modal-save",className:"px-5 py-2 bg-accent-primary text-text-primary rounded-lg text-sm font-medium hover:bg-accent-primary/90 disabled:opacity-50 transition-colors",children:I.loading?"Configuring...":"Save Provider"})]})]})]}),H&&i.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-[60]",onClick:be=>{be.target===be.currentTarget&&F(!1)},children:i.jsxs("div",{className:"bg-bg-secondary border border-border rounded-xl w-[480px] shadow-2xl",children:[i.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border",children:[i.jsx("h3",{className:"text-base font-semibold text-text-primary",children:"Provider-Level Defaults"}),i.jsx("button",{onClick:()=>F(!1),className:"text-text-muted hover:text-text-primary text-xl leading-none p-1",children:"×"})]}),i.jsxs("div",{className:"px-6 py-4 space-y-4",children:[i.jsx("p",{className:"text-xs text-text-muted",children:"These apply to all models unless overridden per-model."}),i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-1",children:"Non-thinking mode params"}),i.jsx("input",{type:"text",defaultValue:'{"chat_template_kwargs":{"enable_thinking":false}}',readOnly:!0,className:"w-full px-3 py-2 bg-bg-primary border border-border rounded text-sm text-text-secondary font-mono"})]}),i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-1",children:"Thinking mode params"}),i.jsx("input",{type:"text",defaultValue:'reasoning_effort: "low"',readOnly:!0,className:"w-full px-3 py-2 bg-bg-primary border border-border rounded text-sm text-text-secondary font-mono"})]}),i.jsxs("div",{children:[i.jsxs("label",{className:"text-xs text-text-secondary block mb-1",children:["Thinking response field ",i.jsx("span",{className:"text-text-muted",children:"(override)"})]}),i.jsx("input",{type:"text",value:G,onChange:be=>Z(be.target.value),placeholder:"Leave blank for auto-detect",className:"w-full px-3 py-2 bg-bg-primary border border-border rounded text-sm text-text-primary font-mono"}),i.jsx("p",{className:"text-xs text-text-muted mt-1",children:"Field name the backend uses for reasoning/thinking content (e.g. reasoning, reasoning_content, thinking)."})]})]}),i.jsx("div",{className:"flex justify-end px-6 py-4 border-t border-border",children:i.jsx("button",{onClick:()=>F(!1),className:"px-5 py-2 bg-accent-primary text-text-primary rounded-lg text-sm font-medium hover:bg-accent-primary/90 transition-colors",children:"Done"})})]})}),ee&&i.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-[60]",onClick:be=>{be.target===be.currentTarget&&Q(null)},children:i.jsxs("div",{className:"bg-bg-secondary border border-border rounded-xl w-[640px] max-h-[80vh] shadow-2xl flex flex-col",children:[i.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border shrink-0",children:[i.jsx("h3",{className:"text-base font-semibold text-text-primary",children:"Raw Response"}),i.jsx("button",{onClick:()=>Q(null),className:"text-text-muted hover:text-text-primary text-xl leading-none p-1",children:"×"})]}),i.jsx("pre",{className:"px-6 py-4 overflow-y-auto text-xs text-text-secondary font-mono whitespace-pre-wrap break-all",children:ee})]})})]}):null}function K$(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}K`:`${e}`}function Y$(e,t){const n=t.toLowerCase(),r=(e.name??"").toLowerCase(),a=e.id.toLowerCase(),l=a.replace(/-/g," ");return r.includes(n)||a.includes(n)||l.includes(n)}function $S({activeProvider:e,shortModelName:t}){return i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"text-sm text-accent-primary",children:e?i.jsxs(i.Fragment,{children:[i.jsxs("span",{className:"hidden sm:inline",children:[e.name," • "]}),t]}):t}),i.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded-full ${e!=null&&e.isLocal?"text-accent-success bg-accent-success/10":"text-accent-warning bg-accent-warning/10"}`,children:e!=null&&e.isLocal?"local":"api"})]})}function X$({providerId:e,modelConfig:t,isActive:n,isDefault:r,disabled:a,hasSession:l,settingDefault:u,highlighted:c,onModelClick:d,onSetDefault:f,onEditModel:p}){var m;return i.jsxs("div",{className:`flex items-center px-4 py-1.5 text-sm transition-colors group ${c?"bg-bg-tertiary":"hover:bg-bg-tertiary"} ${a?"opacity-50 cursor-wait":""} ${n?"text-accent-primary":"text-text-secondary"}`,children:[i.jsx("button",{type:"button",onClick:()=>d(e,t.id),disabled:a,className:"flex-1 truncate text-left",children:t.name??((m=t.id.split("/").pop())==null?void 0:m.replace(/-/g," "))??t.id}),i.jsxs("div",{className:"flex items-center gap-1.5 flex-shrink-0 ml-2",children:[i.jsx("span",{className:"text-xs text-text-muted",children:K$(t.contextWindow)}),l&&i.jsx("button",{type:"button",onClick:x=>f(x,e,t.id),disabled:u,className:"p-0.5 hover:bg-bg-tertiary rounded transition-colors disabled:opacity-40",title:r?"Default model":"Set as default model",children:r?i.jsx(u1,{className:"w-3.5 h-3.5 text-accent-warning"}):i.jsx(d1,{className:"w-3.5 h-3.5 text-text-muted hover:text-accent-warning"})}),i.jsx("button",{type:"button",onClick:x=>{x.stopPropagation(),p(e,t)},className:"opacity-0 group-hover:opacity-100 p-0.5 hover:bg-bg-tertiary rounded transition-opacity",title:"Edit model context",children:i.jsx(o1,{className:"w-3 h-3 text-text-muted"})}),n&&i.jsx("span",{className:"text-accent-success flex-shrink-0",title:"Session model",children:i.jsx(Or,{className:"w-3.5 h-3.5"})})]})]})}function Q$(){var Ue;const[,e]=Bn(),t=Le(ae=>ae.currentSession),n=Le(ae=>ae.setSessionProvider),[r,a]=A.useState(!1),[l,u]=A.useState([]),[c,d]=A.useState(null),f=A.useRef(null),[p,m]=A.useState(null),[x,y]=A.useState(!1),[w,C]=A.useState({}),[_,S]=A.useState(null),[v,b]=A.useState(null),[E,j]=A.useState(!1),T=A.useRef(null),[D,L]=A.useState(!1),R=A.useRef(new Set),[M,V]=A.useState(-1),U=A.useRef(null),O=Qt(ae=>ae.providers),H=Qt(ae=>ae.activeProviderId),F=Qt(ae=>ae.defaultModelSelection),G=Qt(ae=>ae.activating),Z=Qt(ae=>ae.activateProvider),q=Qt(ae=>ae.refreshModel),z=Qt(ae=>ae.refreshProviderModels),I=Qt(ae=>ae.setDefaultModel),B=Qt(ae=>ae.fetchConfig),K=ud();Kp(K.modelSelector,()=>a(ae=>!ae));const P=(t==null?void 0:t.providerId)??null,ee=(t==null?void 0:t.providerModel)??null,Q=(F==null?void 0:F.split("/")[0])??null,te=(F==null?void 0:F.split("/").slice(1).join("/"))??null,Y=P??Q,W=ee??te,ne=W?((Ue=W.split("/").pop())==null?void 0:Ue.replace(/-/g," "))??W:"No model",[se,pe]=A.useState(!1),[ge,ke]=A.useState(""),Be=A.useRef(null);A.useEffect(()=>{function ae(de){f.current&&!f.current.contains(de.target)&&(a(!1),u([]),R.current=new Set)}return document.addEventListener("mousedown",ae),()=>document.removeEventListener("mousedown",ae)},[]),A.useEffect(()=>()=>{T.current!==null&&window.clearTimeout(T.current)},[]),A.useEffect(()=>{r||(ke(""),V(-1))},[r]),A.useEffect(()=>{var ae;r&&((ae=Be.current)==null||ae.focus())},[r]),A.useEffect(()=>{M>=0&&U.current&&U.current.scrollIntoView({block:"nearest"})},[M]),A.useEffect(()=>{if(r){const ae=O.map(de=>de.id);u(ae),O.filter(de=>!!de.authAdapter).forEach(de=>void Ye(de.id)),ae.forEach(de=>{R.current.has(de)||(R.current.add(de),Ee(de))})}},[r,O]),A.useEffect(()=>{if(!v)return;let ae=!1;const de=async()=>{const mt=await Ye(v.providerId);ae||mt==="connected"&&(b(null),j(!1),L(!1),await B(),R.current.delete(v.providerId),await Ee(v.providerId))};de();const Pe=window.setInterval(()=>void de(),2e3);return()=>{ae=!0,window.clearInterval(Pe)}},[v]);const Me=O.find(ae=>ae.id===Y),$e=(Me==null?void 0:Me.status)==="disconnected",je=(ae,de)=>t?t.providerId===ae&&t.providerModel===de:!1,nt=(ae,de)=>F?F===`${ae}/${de}`:!1,Ee=async ae=>{d(ae);try{await z(ae)}catch{}finally{d(null)}},ce=ae=>{l.includes(ae.id)?u(l.filter(de=>de!==ae.id)):(u([...l,ae.id]),Ee(ae.id))},oe=async ae=>{if(ae.id===H){ce(ae);return}t?(n(ae.id,void 0),a(!1),u([])):await Z(ae.id)&&(a(!1),u([]))},De=ae=>{ce(ae)},Ze=async(ae,de)=>{ae.stopPropagation(),R.current.delete(de),await Ee(de)},Ye=async ae=>{const de=await _e(`/api/provider-auth/${ae}/status`);if(!de.ok)return"error";const Pe=await de.json();return C(mt=>({...mt,[ae]:Pe.state})),Pe.state},yt=async(ae,de)=>{ae.stopPropagation(),S(de),C(Pe=>({...Pe,[de]:"pending"})),j(!1),L(!1);try{const Pe=await _e(`/api/provider-auth/${de}/login`,{method:"POST"});if(!Pe.ok)throw new Error("Unable to start provider sign-in");const mt=await Pe.json();b({providerId:de,...mt})}catch{C(Pe=>({...Pe,[de]:"error"}))}finally{S(null)}},re=async()=>{var ae;v!=null&&v.userCode&&(await((ae=navigator.clipboard)==null?void 0:ae.writeText(v.userCode)),T.current!==null&&window.clearTimeout(T.current),j(!1),requestAnimationFrame(()=>j(!0)),T.current=window.setTimeout(()=>{j(!1),T.current=null},1500))},xe=()=>{v&&(window.open(v.directUrl??v.verificationUrl,"_blank","noopener,noreferrer"),L(!0))},we=()=>{b(null),j(!1),L(!1)},ze=async(ae,de)=>{ae.stopPropagation(),S(de);try{if(!(await _e(`/api/provider-auth/${de}/logout`,{method:"POST"})).ok)throw new Error("Unable to disconnect provider account");C(mt=>({...mt,[de]:"disconnected"})),await B()}finally{S(null)}},Ke=(ae,de)=>{m({providerId:ae,model:de}),y(!0)},Ge=p?O.find(ae=>ae.id===p.providerId):void 0,tt=()=>{m(null),y(!1)},vt=async ae=>{try{if(!(await _e(`/api/providers/${ae.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(Vk(ae))})).ok)throw new Error("Failed to update provider");await Qt.getState().fetchConfig()}catch{}m(null),y(!1)},Ot=async(ae,de)=>{if(t){Le.setState(mt=>({currentSession:mt.currentSession?{...mt.currentSession,providerId:ae,providerModel:de}:null})),n(ae,de),u([]),a(!1),El();return}await Z(ae)&&(u([]),a(!1),El())},Wt=async(ae,de,Pe)=>{ae.stopPropagation(),pe(!0);try{await I(de,Pe)}catch{}finally{pe(!1)}};function ut(ae){return ae.models.some(Pe=>Pe.selected)?ae.models.filter(Pe=>Pe.selected):ae.models}const Cn=A.useMemo(()=>ge.trim()?O.map(ae=>({provider:ae,models:ut(ae).filter(de=>Y$(de,ge))})).filter(ae=>ae.models.length>0):O.map(ae=>({provider:ae,models:ut(ae)})),[O,ge]),jt=A.useMemo(()=>Cn.flatMap(ae=>ae.models.map(de=>({providerId:ae.provider.id,modelConfig:de}))),[Cn]),Jt=jt.length+1,Ir=M===jt.length;A.useEffect(()=>{Jt===1?V(-1):M>=Jt?V(Jt-1):M<0&&ge.trim()&&V(0)},[Jt,M,ge]);const be=ae=>{switch(ae.key){case"Escape":a(!1);break;case"ArrowDown":ae.preventDefault(),Jt>0&&V(de=>de<Jt-1?de+1:0);break;case"ArrowUp":ae.preventDefault(),Jt>0&&V(de=>de>0?de-1:Jt-1);break;case"Home":ae.preventDefault(),V(0);break;case"End":ae.preventDefault(),V(Jt-1);break;case"Enter":if(ae.preventDefault(),M===jt.length)e("/onboarding"),a(!1);else if(M>=0&&M<jt.length){const de=jt[M];de&&Ot(de.providerId,de.modelConfig.id)}break}};return O.length===0?i.jsxs("button",{type:"button",onClick:()=>q(),className:"flex items-center gap-1 px-1.5 py-0.5 rounded hover:bg-bg-tertiary transition-colors group",title:$e?"LLM server is offline. Click to retry.":ne??"Click to refresh model",children:[$e?i.jsx("span",{className:"text-sm text-accent-error animate-pulse",children:"LLM offline"}):i.jsx($S,{activeProvider:Me,shortModelName:ne}),i.jsx("span",{className:"text-text-muted opacity-0 group-hover:opacity-100 transition-opacity",children:"↻"})]}):i.jsxs("div",{className:"relative",ref:f,children:[i.jsxs("button",{type:"button",onClick:()=>a(!r),className:"flex items-center gap-1 px-1.5 py-0.5 rounded hover:bg-bg-tertiary transition-colors group",title:"Click to switch provider or model",children:[$e?i.jsx("span",{className:"text-sm text-accent-error animate-pulse",children:"offline"}):i.jsx($S,{activeProvider:Me,shortModelName:ne}),i.jsx(Yn,{className:"w-3 h-3 text-text-muted transition-transform",rotate:r?180:0})]}),r&&i.jsxs("div",{className:"absolute bottom-full right-0 mb-1 min-w-72 max-w-[100vw] bg-bg-secondary border border-border rounded-lg shadow-lg z-50 flex flex-col max-h-[80vh]",children:[i.jsxs("div",{className:"flex items-center gap-1 px-3 py-2 border-b border-border flex-shrink-0",children:[i.jsx(Xa,{className:"w-3.5 h-3.5 text-text-muted flex-shrink-0"}),i.jsx("input",{ref:Be,type:"text",value:ge,onInput:ae=>{ke(ae.currentTarget.value),V(-1)},onKeyDown:be,placeholder:"Search models...",className:"bg-transparent border-none outline-none text-sm text-text-primary w-full placeholder:text-text-muted"})]}),i.jsx("div",{className:"overflow-y-auto flex-1 min-h-0",children:i.jsxs("div",{children:[Cn.map(ae=>{const de=ge.trim().length>0||l.includes(ae.provider.id);return i.jsxs("div",{children:[i.jsxs("div",{className:`px-3 py-2 flex items-center justify-between ${ae.provider.id===Y?"bg-bg-tertiary":"hover:bg-bg-tertiary"} ${G?"opacity-50 cursor-wait":"cursor-pointer"}`,children:[i.jsxs("div",{onClick:()=>!G&&oe(ae.provider),className:"flex flex-col min-w-0 flex-1 cursor-pointer",children:[i.jsx("span",{className:`text-sm font-medium truncate ${ae.provider.id===Y?"text-accent-primary":"text-text-primary"}`,children:ae.provider.name}),i.jsx("span",{className:"text-xs text-text-muted truncate",children:ae.provider.backend!=="unknown"&&JS(ae.provider.backend)})]}),i.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[!!ae.provider.authAdapter&&(w[ae.provider.id]==="connected"||ae.provider.credentialRef?i.jsx("button",{type:"button",onClick:Pe=>ze(Pe,ae.provider.id),disabled:_===ae.provider.id,className:"text-[10px] px-1.5 py-0.5 rounded border border-accent-success/40 text-accent-success hover:bg-accent-success/10 disabled:opacity-50",title:"Disconnect provider account",children:"Connected"}):i.jsx("button",{type:"button",onClick:Pe=>yt(Pe,ae.provider.id),disabled:_===ae.provider.id,className:"text-[10px] px-1.5 py-0.5 rounded border border-accent-primary/40 text-accent-primary hover:bg-accent-primary/10 disabled:opacity-50",title:"Connect provider account",children:_===ae.provider.id?"Starting…":w[ae.provider.id]==="error"||w[ae.provider.id]==="expired"?"Retry":"Connect"})),ae.provider.id===Y?i.jsx("span",{className:"text-accent-success",title:"Active provider",children:i.jsx(Or,{className:"w-4 h-4"})}):i.jsx("span",{className:"w-4"}),i.jsx("button",{type:"button",onClick:Pe=>{Pe.stopPropagation(),Ze(Pe,ae.provider.id)},className:"p-0.5 hover:bg-bg-tertiary rounded transition-colors",title:"Refresh models",children:i.jsx(cd,{className:`w-4 h-4 ${c===ae.provider.id?"animate-spin":""} ${ae.provider.id===H?"text-accent-primary":"text-text-muted"}`})}),i.jsx("button",{type:"button",onClick:Pe=>{Pe.stopPropagation(),De(ae.provider)},className:"p-0.5 hover:bg-bg-tertiary rounded transition-colors",title:"Show models",children:i.jsx(Yn,{className:`w-4 h-4 transition-transform ${de?"rotate-180":""} ${ae.provider.id===H?"text-accent-primary":"text-text-muted"}`})})]})]}),de&&i.jsx("div",{className:"bg-bg-primary border-t border-border max-h-40 overflow-y-auto",children:c===ae.provider.id?i.jsx("div",{className:"px-4 py-2 text-xs text-text-muted",children:"Loading models..."}):ae.models.length>0?ae.models.map(Pe=>{const bn=jt.findIndex(rn=>rn.providerId===ae.provider.id&&rn.modelConfig.id===Pe.id)===M;return i.jsx("div",{ref:bn?U:void 0,children:i.jsx(X$,{providerId:ae.provider.id,modelConfig:Pe,isActive:je(ae.provider.id,Pe.id),isDefault:nt(ae.provider.id,Pe.id),disabled:c==="activating",hasSession:!!t,settingDefault:se,highlighted:bn,onModelClick:Ot,onSetDefault:Wt,onEditModel:Ke})},`${ae.provider.id}/${Pe.id}`)}):i.jsx("div",{className:"px-4 py-2 text-xs text-text-muted",children:"No models available"})})]},ae.provider.id)}),Cn.length===0&&ge.trim()&&i.jsx("div",{className:"px-4 py-3 text-sm text-text-muted text-center",children:"No models match your search"})]})}),i.jsx("div",{className:`border-t border-border px-3 py-2 ${Ir?"bg-bg-tertiary":""} flex-shrink-0`,children:i.jsx("button",{onClick:()=>e("/onboarding"),className:"text-xs text-accent-primary hover:underline",children:"Manage providers"})})]}),v&&i.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/70 px-4",role:"dialog","aria-modal":"true","aria-labelledby":"provider-device-title",onMouseDown:ae=>{ae.target===ae.currentTarget&&we()},children:i.jsxs("div",{className:"w-full max-w-md rounded-xl border border-border bg-bg-secondary p-6 shadow-2xl",children:[i.jsxs("div",{className:"flex items-start justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h2",{id:"provider-device-title",className:"text-lg font-semibold text-text-primary",children:"Connect provider"}),i.jsx("p",{className:"mt-1 text-sm text-text-muted",children:"Follow the provider instructions to complete authorization."})]}),i.jsx("button",{type:"button",onClick:we,className:"rounded px-2 py-1 text-xl leading-none text-text-muted hover:bg-bg-tertiary hover:text-text-primary","aria-label":"Close",children:"×"})]}),v.mode!=="browser"?i.jsxs(i.Fragment,{children:[i.jsx("button",{type:"button",onClick:re,className:"mt-6 w-full select-all rounded-lg border border-accent-primary/40 bg-bg-primary px-4 py-5 font-mono text-3xl font-semibold tracking-[0.2em] text-accent-primary hover:bg-bg-tertiary",title:"Copy code",children:v.userCode??"Continue"}),i.jsx("div",{className:"mt-3 text-center text-xs text-text-muted",children:E?"Copied to clipboard":"Click the code to copy it"}),i.jsxs("div",{className:"mt-6 flex gap-3",children:[i.jsx("button",{type:"button",onClick:re,className:"flex-1 rounded-lg border border-border px-4 py-2 text-sm text-text-primary hover:bg-bg-tertiary",children:E?"Copied":"Copy code"}),i.jsx("button",{type:"button",onClick:xe,className:"flex-1 rounded-lg bg-accent-primary px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent-primary/90",children:D?"Reopen authorization":"Open authorization"})]}),i.jsx("p",{className:"mt-4 text-center text-xs text-text-muted",children:D?"If the browser blocked or closed the tab, reopen authorization.":"OpenFox stays open while you complete authorization in the other tab."})]}):i.jsxs(i.Fragment,{children:[i.jsx("p",{className:"mt-6 text-sm text-text-secondary leading-relaxed bg-bg-primary p-4 rounded-lg border border-border",children:v.instructions}),i.jsx("div",{className:"mt-6 flex gap-3",children:i.jsx("button",{type:"button",onClick:xe,className:"w-full rounded-lg bg-accent-primary px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent-primary/90",children:D?"Reopen authorization":"Open authorization"})})]})]})}),p&&x&&i.jsx(Gk,{isOpen:!0,onClose:tt,onSave:vt,initialStep:2,editProvider:{id:p.providerId,name:(Ge==null?void 0:Ge.name)??"",url:(Ge==null?void 0:Ge.url)??"",backend:(Ge==null?void 0:Ge.backend)??"unknown",apiKey:Ge==null?void 0:Ge.apiKey,isLocal:Ge==null?void 0:Ge.isLocal,thinkingField:Ge==null?void 0:Ge.thinkingField,authAdapter:Ge==null?void 0:Ge.authAdapter,transportAdapter:Ge==null?void 0:Ge.transportAdapter,models:Ge==null?void 0:Ge.models},editModelId:p.model.id})]})}function J$(e,t){const n=e.slice(0,t),r=n.lastIndexOf("@");if(r===-1)return null;const a=n.slice(r+1);return a.includes(" ")||a.includes(`
|
|
301
|
-
`)||a.includes(" ")?null:{query:a,startIndex:r}}const Z$=A.forwardRef(function({text:t,cursorPos:n,workdir:r,onSelect:a},l){const u=J$(t,n),[c,d]=A.useState([]),[f,p]=A.useState(!1),[m,x]=A.useState(0),y=A.useRef(null),w=A.useRef([]),C=A.useRef(0),_=A.useRef([]);A.useEffect(()=>{C.current=m},[m]),A.useEffect(()=>{_.current=c},[c]),A.useEffect(()=>{if(!u){d([]);return}const b=setTimeout(()=>{S(u.query)},150);return()=>clearTimeout(b)},[u==null?void 0:u.query,r]);const S=async b=>{p(!0);try{const E=new URLSearchParams({q:b});r&&E.set("workdir",r);const T=await(await _e(`/api/files?${E.toString()}`)).json();d(T),x(0),C.current=0}catch(E){console.error("File search failed:",E),d([])}finally{p(!1)}},v=A.useCallback(b=>{if(!u)return!1;switch(b.key){case"ArrowDown":return b.preventDefault(),x(E=>{var T;const j=Math.min(E+1,_.current.length-1);return w.current[j]&&((T=w.current[j])==null||T.scrollIntoView({block:"nearest"})),j}),C.current=Math.min(C.current+1,_.current.length-1),!0;case"ArrowUp":return b.preventDefault(),x(E=>{var T;const j=Math.max(E-1,0);return w.current[j]&&((T=w.current[j])==null||T.scrollIntoView({block:"nearest"})),j}),C.current=Math.max(C.current-1,0),!0;case"Enter":case"Tab":{const E=_.current;return E[C.current]?(b.preventDefault(),a(E[C.current],u.startIndex),!0):!1}case"Escape":return b.preventDefault(),d([]),!0}return!1},[u,a]);return A.useImperativeHandle(l,()=>({handleKeyDown:v}),[v]),A.useEffect(()=>{if(!u)return;const b=E=>{y.current&&!y.current.contains(E.target)&&d([])};return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[u]),u?f?i.jsx("div",{className:"absolute bottom-full left-0 right-0 mb-2 z-50",children:i.jsx("div",{className:"bg-bg-secondary border border-border rounded-lg shadow-lg",children:i.jsx("div",{className:"p-4 text-center",children:i.jsx(li,{size:"sm"})})})}):c.length===0?null:i.jsx("div",{ref:y,className:"absolute bottom-full left-0 right-0 mb-2 z-50",children:i.jsx("div",{className:"bg-bg-secondary border border-border rounded-lg shadow-lg max-h-64 overflow-y-auto",children:i.jsx("ul",{className:"py-1",children:c.map((b,E)=>i.jsxs("li",{ref:j=>{w.current[E]=j},className:`px-3 py-2 cursor-pointer flex items-center gap-2 text-sm ${E===m?"bg-accent-primary/20 text-text-primary":"text-text-muted hover:bg-bg-tertiary"}`,onClick:()=>{u&&a(b,u.startIndex)},children:[b.type==="directory"?i.jsx(qr,{className:"w-4 h-4 shrink-0"}):i.jsx("span",{className:"w-4 h-4 shrink-0"}),i.jsx("span",{className:"truncate",children:b.path})]},b.path))})})}):null});function ez({input:e,setInput:t,attachments:n,setAttachments:r,dragOver:a,setDragOver:l,errorMessage:u,setErrorMessage:c,scrollContainerRef:d,sessionId:f,sessionMode:p,showHistory:m,history:x,selectedIndex:y,openHistory:w,closeHistory:C,navigateUp:_,navigateDown:S,selectCurrent:v,isAutoScrollActive:b,setAutoScroll:E,onOpenMessageSearch:j,onOpenCommandsModal:T,onOpenWorkflowsModal:D,onSelectWorkflow:L,onSelectWorkflowWithSubGroup:R,clearInput:M}){const V=A.useRef(null),U=A.useRef(null),O=A.useRef(0),H=A.useRef(0),F=A.useRef(null),G=ld(),Z=Le(oe=>oe.stopGeneration),q=Le(oe=>oe.cancelQueued),z=Le(oe=>oe.queuedMessages),I=Le(oe=>oe.restoredInput),B=Le(oe=>oe.clearRestoredInput),K=Le(oe=>{var De;return(De=oe.currentSession)==null?void 0:De.workdir}),P=Le(oe=>oe.currentSession),ee=A.useRef(!1),{sendMessage:Q}=Fk(E);A.useEffect(()=>{var oe;I!==null&&(t(I),B(),(oe=V.current)==null||oe.focus())},[I,t,B]);const te=A.useCallback(()=>{const oe=V.current;if(!oe)return;const De=e.length>=O.current;O.current=e.length,De||(oe.style.height="auto"),oe.style.height=`${Math.min(200,oe.scrollHeight)}px`},[e]);A.useEffect(()=>{if(!f)return;const oe=`openfox:draft:${f}`,De=localStorage.getItem(oe);De!==null&&t(De)},[f,t]),A.useEffect(()=>{var oe;(oe=V.current)==null||oe.focus(),te()},[f,te]),A.useEffect(()=>{if(!f)return;const oe=`openfox:draft:${f}`,De=setTimeout(()=>{e?localStorage.setItem(oe,e):localStorage.removeItem(oe)},500);return()=>clearTimeout(De)},[f,e]),A.useEffect(()=>{te()},[e,te]),A.useEffect(()=>{const oe=V.current;if(!oe)return;const De=async Ze=>{var re;if(document.activeElement!==oe)return;const Ye=(re=Ze.clipboardData)==null?void 0:re.items;if(!Ye)return;const yt=[];for(const xe of Array.from(Ye)){let we=xe.getAsFile();if(we&&M8(we.type)){if(Ze.preventDefault(),!we.name){const ze=I8(we.type);we=new File([we],`pasted-file.${ze}`,{type:we.type})}await MS(we,ze=>yt.push(ze),c)}}yt.length>0&&r(xe=>[...xe,...yt])};return oe.addEventListener("paste",De),()=>oe.removeEventListener("paste",De)},[r,c]);const Y=oe=>{oe.preventDefault(),!(!e.trim()&&n.length===0)&&(Q(e,n.length>0?n:void 0),M())},W=oe=>{var De;if(!((De=F.current)!=null&&De.handleKeyDown(oe))){if(m)switch(oe.key){case"Enter":{oe.preventDefault();const Ze=v();Ze&&(t(Ze),C());return}case"Escape":oe.preventDefault(),C(),G&&Z();return;case"ArrowUp":oe.preventDefault(),_();return;case"ArrowDown":oe.preventDefault(),S();return}if(oe.key==="ArrowUp"&&e.trim()===""&&!m){oe.preventDefault(),w();return}oe.key==="Enter"&&!oe.shiftKey&&(oe.preventDefault(),Y(oe))}};async function ne(oe,De,Ze){const Ye=[];for(const yt of Array.from(oe))await MS(yt,re=>Ye.push(re),Ze);Ye.length>0&&De(yt=>[...yt,...Ye])}const se=A.useCallback(async oe=>{const De=oe.target.files;!De||De.length===0||(c(null),await ne(De,r,c),U.current&&(U.current.value=""))},[r,c]),pe=A.useCallback(oe=>{var De;(De=oe.dataTransfer.types)!=null&&De.includes("Files")&&(oe.preventDefault(),oe.stopPropagation(),l(!0))},[l]),ge=A.useCallback(oe=>{oe.preventDefault(),oe.stopPropagation(),l(!1)},[l]),ke=A.useCallback(async oe=>{oe.preventDefault(),oe.stopPropagation(),l(!1),c(null);const De=oe.dataTransfer.files;!De||De.length===0||await ne(De,r,c)},[r,l,c]),Be=A.useCallback(oe=>{r(n.filter(De=>De.id!==oe))},[n,r]),Me=A.useCallback(()=>{var oe;(oe=U.current)==null||oe.click()},[]),$e=()=>{var oe;!e.trim()&&n.length===0||((oe=d.current)==null||oe.scrollTo({top:d.current.scrollHeight,behavior:"smooth"}),Q(e,n),M())},je=A.useCallback((oe,De)=>{const Ye=oe.type==="directory"?"/":" ",yt=e.slice(0,De),re=e.slice(H.current),xe=`${yt}@${oe.path}${Ye}${re}`;t(xe);const we=De+oe.path.length+2;H.current=we,V.current&&(V.current.selectionStart=we,V.current.selectionEnd=we,V.current.focus())},[e,t]),nt=A.useCallback(oe=>{const De=oe.target.value;t(De),m&&C(),H.current=oe.target.selectionStart,!ee.current&&f&&De&&P&&P.messages.length===0&&(ee.current=!0,_e(`/api/sessions/${f}/warmup`,{method:"POST"}).catch(()=>{}))},[t,m,C,f,P]),Ee=A.useCallback(oe=>{H.current=oe.target.selectionStart},[]),ce=A.useCallback(oe=>{H.current=oe.currentTarget.selectionStart},[]);return i.jsxs("form",{onSubmit:Y,className:"relative p-2 md:p-4 bg-secondary",children:[G&&i.jsx("div",{className:"absolute -top-8 left-2 md:left-4 z-10",children:i.jsx(b$,{})}),i.jsxs("div",{className:`absolute -top-8 right-2 md:right-4 z-10 flex items-center gap-2 border${b?" border-transparent":" rounded backdrop-blur-xl saturate-150 border-border"}`,children:[i.jsx(eg,{isActive:b,onToggle:E,className:"text-sm text-text-muted hover:text-text-primary flex items-center gap-1.5 px-2 py-0.5 rounded hover:bg-bg-tertiary transition-colors"}),i.jsxs("button",{type:"button",onClick:j,className:"text-sm text-text-muted hover:text-text-primary flex items-center gap-1.5 px-2 py-0.5 rounded hover:bg-bg-tertiary transition-colors","aria-label":"Browse history",children:[i.jsx(Xa,{}),"Browse history"]})]}),i.jsx("input",{ref:U,type:"file",accept:"image/*,text/*,.pdf,.json,.xml,.yaml,.yml,.js,.sh,.xhtml",onChange:se,className:"hidden",multiple:!0}),u&&i.jsx("div",{className:"mb-2 p-2 bg-red-500/10 border border-red-500/50 rounded text-red-300 text-sm",children:u}),n.length>0&&i.jsx("div",{className:"mb-3 flex flex-wrap gap-2",children:n.map(oe=>i.jsx(x$,{attachment:oe,onRemove:Be},oe.id))}),m&&i.jsx(y$,{history:x,selectedIndex:y,onSelect:oe=>{t(oe),C()},onEscape:C,onNavigate:oe=>{oe==="up"?_():S()}}),i.jsx(P$,{messages:z,onCancel:q}),i.jsxs("div",{className:`flex items-end gap-3 p-3 rounded transition-colors ${a?"bg-accent-primary/10":"bg-primary"}`,onDragOver:pe,onDragLeave:ge,onDrop:ke,children:[i.jsxs("div",{className:"relative flex-1 min-w-0",children:[i.jsx("textarea",{id:N1,ref:V,value:e,onChange:nt,onKeyDown:W,onSelect:Ee,onKeyUp:ce,placeholder:"What would you like to build?","data-testid":"chat-input-textarea",className:"w-full bg-transparent text-sm placeholder:text-text-muted resize-none overflow-y-auto focus:outline-none",style:{minHeight:"24px",maxHeight:"200px"},spellCheck:!1}),i.jsx(Z$,{ref:F,text:e,cursorPos:H.current,workdir:K,onSelect:je})]}),i.jsxs("div",{className:"flex items-center self-center gap-1.5",children:[G&&i.jsxs("button",{type:"button",onClick:()=>Z(),"data-testid":"chat-stop-button",className:"flex items-center gap-1 px-4 py-1.5 rounded bg-accent-error/20 text-sm text-accent-error font-medium hover:bg-accent-error/30 transition-colors whitespace-nowrap",children:[i.jsx(Wp,{}),"Abort"]}),i.jsxs("div",{className:"flex items-center",children:[i.jsx("button",{type:"button",onClick:$e,disabled:!e.trim()&&n.length===0,"data-testid":"chat-send-button",className:"px-4 py-1.5 rounded-l bg-accent-primary/20 text-sm text-accent-primary font-medium hover:bg-accent-primary/30 disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:"Send"}),i.jsx(I$,{onSendCommand:(oe,De,Ze,Ye)=>{var re;De&&p!==De&&Le.getState().switchMode(De);const yt=Ze&&Ze.trim()?`${Ze.trim()}
|
|
302
|
-
|
|
303
|
-
${oe}`:oe;(re=d.current)==null||re.scrollTo({top:d.current.scrollHeight,behavior:"smooth"}),Q(yt,Ye!=null&&Ye.length?Ye:void 0,{messageKind:"command",isSystemGenerated:!0}),M()},onSelectWorkflow:L,onSelectWorkflowWithSubGroup:R,onOpenCommandsManager:T,onOpenWorkflowsManager:D,onAttach:Me,textareaContent:e,attachments:n.length>0?n:void 0})]})]})]}),i.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(F$,{}),i.jsx(V$,{})]}),i.jsx(Q$,{})]})]})}function tz(e){return(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()==="f"&&document.querySelector("[data-global-settings]")===null}function Wk(e,t=[]){const n=new Map,r=new Map;for(const f of t)f.type==="message"?n.set(f.message.id,f):f.type==="subagent"&&r.set(f.subAgentId,f);const a=[];let l,u=1,c=null;const d=()=>{if(!c||c.size===0)return;const f=new Map;let p=0;for(const x of e)x.role!=="tool"&&x.contextWindowId===l&&(x.subAgentId&&!f.has(x.subAgentId)&&f.set(x.subAgentId,p),p++);const m=[...c.entries()].sort((x,y)=>(f.get(x[0])??0)-(f.get(y[0])??0));for(const[x,y]of m){const w=r.get(x);(w==null?void 0:w.type)==="subagent"&&w.messages.length===y.messages.length&&w.messages.every((_,S)=>_===y.messages[S])?a.push(w):a.push({type:"subagent",subAgentId:x,subAgentType:y.subAgentType,messages:y.messages})}c=null};for(let f=0;f<e.length;f++){const p=e[f];if(p.role!=="tool")if(p.contextWindowId&&l&&p.contextWindowId!==l&&(d(),u++,a.push({type:"context-divider",windowSequence:u})),l=p.contextWindowId,p.subAgentId&&p.subAgentType){c||(c=new Map);let m=c.get(p.subAgentId);m||(m={subAgentType:p.subAgentType,messages:[]},c.set(p.subAgentId,m)),m.messages.push(p)}else{d();const m=n.get(p.id);(m==null?void 0:m.type)==="message"&&m.message===p?a.push(m):a.push({type:"message",message:p})}}return d(),a}function nz(e){const{year:t,month:n,day:r}=R1(e);return`${t}/${n}/${r} ${md(e)}`}function rz(e,t){return e.length<=t?e:e.substring(0,t)+"..."}const sz=10,iz=150;function az(e){const t=[];if(e.recentUserPrompts)for(const n of e.recentUserPrompts)t.push({id:n.id,content:n.content,timestamp:n.timestamp,sessionId:e.id,sessionName:e.title||e.id});return t}function oz(e){return[...e].sort((r,a)=>new Date(a.timestamp).getTime()-new Date(r.timestamp).getTime()).slice(0,sz).reverse().map(r=>({id:r.id,content:r.content,timestamp:r.timestamp,formattedTimestamp:nz(r.timestamp),trimmedContent:rz(r.content,iz),sessionId:r.sessionId,sessionName:r.sessionName}))}function lz(e,t,n){const r=[],a=e.filter(l=>l.role==="user"&&!l.isSystemGenerated&&l.messageKind!=="auto-prompt");for(const l of a)r.push({id:l.id,content:l.content,timestamp:l.timestamp,sessionId:n??"",sessionName:"This session"});for(const l of t)n&&l.id===n||r.push(...az(l));return oz(r)}function cz(e,t=[],n=null){const[r,a]=A.useState(0),[l,u]=A.useState(!1),c=A.useMemo(()=>lz(e,t,n),[e,t,n]),d=A.useCallback(()=>{c.length>0&&(a(c.length-1),u(!0))},[c.length]),f=A.useCallback(()=>{u(!1),a(0)},[]),p=A.useCallback(()=>{a(y=>c.length===0?y:y===0?c.length-1:y-1)},[c.length]),m=A.useCallback(()=>{a(y=>c.length===0?y:y===c.length-1?0:y+1)},[c.length]),x=A.useCallback(()=>{if(c.length===0||!l)return null;const y=c[r];return(y==null?void 0:y.content)??null},[c,r,l]);return{history:c,selectedIndex:r,showHistory:l,openHistory:d,closeHistory:f,navigateUp:p,navigateDown:m,selectCurrent:x}}A.memo(function({item:t}){const[n,r]=A.useState(!1);return t.type==="start"?i.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-amber-500/10 border border-amber-500/30 rounded text-amber-300 text-sm",children:[i.jsx("span",{className:"animate-pulse",children:"●"}),i.jsx("span",{children:"Delegating image to fallback vision model..."}),t.filename&&i.jsxs("span",{className:"text-amber-400/70",children:["(",t.filename,")"]})]}):i.jsxs("div",{className:"flex items-start gap-2 px-3 py-2 bg-accent-success/10 border border-accent-success/30 rounded",children:[i.jsx("span",{className:"text-accent-success",children:"✓"}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center justify-between gap-2",children:[i.jsx("span",{className:"text-accent-success text-sm",children:"Image description done"}),i.jsx("button",{type:"button",onClick:()=>r(!n),className:"text-xs text-accent-primary hover:text-accent-primary/80 transition-colors",children:n?"Hide":"Show"})]}),n&&t.description&&i.jsx("div",{className:"mt-2 text-xs prose prose-invert prose-sm max-w-none",children:i.jsx(Kn,{content:t.description})})]})]})});function uz({criteriaSidebarOpen:e,onCriteriaSidebarToggle:t,rawMessages:n,hiddenCount:r}={}){const a=e??!0,[l,u]=A.useState(""),[c,d]=A.useState([]),[f,p]=A.useState(!1),[m,x]=A.useState(null),[y,w]=A.useState(!1),[C,_]=A.useState(!1),[S,v]=A.useState(!1),[b,E]=A.useState(!1),[j,T]=A.useState(null),D=A.useRef(null),L=Le(ce=>ce.currentSession),R=Le(ce=>ce.messages),M=Le(ce=>ce.sessions),V=ld(),U=Le(ce=>ce.stopGeneration),O=n??R,{maxVisibleItems:H}=Gi(),F=kt(ce=>ce.defaults),G=kt(ce=>ce.userItems),Z=[...F,...G].filter(ce=>!ce.subagent),{history:q,selectedIndex:z,showHistory:I,openHistory:B,closeHistory:K,navigateUp:P,navigateDown:ee,selectCurrent:Q}=cz(O,M,L==null?void 0:L.id);A.useEffect(()=>{const ce=oe=>{T(oe.detail.stats)};return window.addEventListener("open-turn-stats",ce),()=>window.removeEventListener("open-turn-stats",ce)},[]),A.useEffect(()=>{Rt.getState().fetchWorkflows()},[]),A.useEffect(()=>{const ce=oe=>{tz(oe)&&(oe.preventDefault(),E(!0))};return window.addEventListener("keydown",ce),()=>window.removeEventListener("keydown",ce)},[]);const te=A.useRef([]),{displayItems:Y,hiddenCount:W}=A.useMemo(()=>{const ce=Wk(O,te.current);return te.current=ce,H>0&&ce.length>H?{displayItems:ce.slice(-H),hiddenCount:ce.length-H}:{displayItems:ce,hiddenCount:0}},[O,H]),ne=r??W,{isAutoScrollActive:se,setAutoScroll:pe}=pd(D,L),{sendMessage:ge,launchWorkflow:ke}=Fk(pe),Be=A.useCallback((ce,oe)=>{ke(void 0,void 0,ce,oe)},[ke]),Me=A.useCallback(ce=>{var De;pe(!1);const oe=document.querySelector(`[data-item-index="${ce}"]`);oe&&(oe.scrollIntoView({behavior:"smooth",block:"start"}),(De=oe.closest('[data-testid="chat-scroll-container"]'))==null||De.scrollBy(0,-80))},[pe]);A.useEffect(()=>{const ce=oe=>{const De=S||y||C||b||j;oe.key==="Escape"&&V&&!De&&U(),oe.key==="ScrollLock"&&pe(!se)};return window.addEventListener("keydown",ce),()=>window.removeEventListener("keydown",ce)},[V,U,se,S,y,C,b,j]);const $e=ud();Kp($e.quickAction,()=>{v(!0)}),WN($e.agentSwitching,Z,ce=>{Le.getState().switchMode(ce)});const je=ce=>{const oe=l.trim()?l:void 0,De=c.length>0?c:void 0;ke(oe,De,ce),Ee()},nt=(ce,oe)=>{const De=l.trim()?l:void 0,Ze=c.length>0?c:void 0;ke(De,Ze,ce,oe),Ee()},Ee=()=>{u(""),d([]),L!=null&&L.id&&localStorage.removeItem(`openfox:draft:${L.id}`)};return i.jsxs(i.Fragment,{children:[i.jsxs(qA,{criteriaSidebarOpen:a,onCriteriaSidebarToggle:t,messages:O,children:[i.jsx(XA,{}),j&&i.jsx(QA,{stats:j,onClose:()=>T(null)}),i.jsx(K8,{}),i.jsx(W8,{displayItems:Y,scrollContainerRef:D,highlightedMessageId:null,onLaunchWorkflow:Be,hiddenCount:ne}),i.jsx(ez,{input:l,setInput:u,attachments:c,setAttachments:d,dragOver:f,setDragOver:p,errorMessage:m,setErrorMessage:x,scrollContainerRef:D,sessionId:L==null?void 0:L.id,sessionMode:L==null?void 0:L.mode,showHistory:I,history:q,selectedIndex:z,openHistory:B,closeHistory:K,navigateUp:P,navigateDown:ee,selectCurrent:Q,isAutoScrollActive:se,setAutoScroll:pe,onOpenMessageSearch:()=>E(!0),onOpenCommandsModal:()=>w(!0),onOpenWorkflowsModal:()=>_(!0),onSelectWorkflow:je,onSelectWorkflowWithSubGroup:nt,clearInput:Ee}),i.jsx(Pk,{isOpen:y,onClose:()=>w(!1)}),i.jsx(zk,{isOpen:C,onClose:()=>_(!1)}),i.jsx(o$,{isOpen:S,onClose:()=>v(!1),onSearchMessages:()=>E(!0),isAutoScrollActive:se,onToggleAutoScroll:pe,textareaContent:l,onCloseComplete:El,onCloseCompleteAction:()=>window.dispatchEvent(new CustomEvent("open-session-dropdown")),onSelectCommand:async(ce,oe)=>{const De=await mn.getState().fetchCommand(ce);if(De){const Ze=oe!=null&&oe.trim()?`${oe.trim()}
|
|
304
|
-
|
|
305
|
-
${De.prompt}`:De.prompt;De.metadata.agentMode&&Le.getState().switchMode(De.metadata.agentMode),ge(Ze,c!=null&&c.length?c:void 0,{messageKind:"command",isSystemGenerated:!0}),Ee()}},onSelectWorkflow:ce=>{const oe=l.trim()||void 0,De=c.length>0?c:void 0;ke(oe,De,ce),Ee()}})]}),b&&i.jsx(g$,{isOpen:b,onClose:()=>{E(!1),El()},displayItems:Y,onNavigate:Me})]})}function dz(){var b;const[,e]=no("/p/:projectId/s/:sessionId/readonly"),t=e==null?void 0:e.sessionId,[n,r]=A.useState(null),[a,l]=A.useState([]),[u,c]=A.useState(0),[d,f]=A.useState(!0),[p,m]=A.useState(null),x=async()=>{if(t){f(!0),m(null);try{const E=await _e(`/api/sessions/${t}?full=true`);if(!E.ok){m(`Failed to load session (${E.status})`),f(!1);return}const j=await E.json();r(j.session??null),l(j.messages??[]),c(j.hiddenCount??0)}catch(E){m(E instanceof Error?E.message:"Unknown error")}finally{f(!1)}}};A.useEffect(()=>{Gt.getState().getSettings([...Up])},[]),A.useEffect(()=>{x()},[t]);const{showThinking:y,showVerboseToolOutput:w,showStats:C,showAgentDefinitions:_,showWorkflowBars:S}=Gi(),v=A.useMemo(()=>Wk(a),[a]);return d?i.jsx("div",{className:"h-screen flex items-center justify-center bg-primary",children:i.jsx(li,{})}):p?i.jsx("div",{className:"h-screen flex items-center justify-center bg-primary",children:i.jsxs("div",{className:"text-center space-y-4",children:[i.jsx("div",{className:"text-red-400 text-sm",children:p}),i.jsx("button",{onClick:x,className:"px-3 py-1.5 text-sm bg-bg-tertiary text-text-primary border border-border rounded hover:bg-bg-tertiary/80 transition-colors",children:"Retry"})]})}):i.jsxs("div",{className:"h-screen print:h-auto flex flex-col bg-primary",children:[i.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-secondary shrink-0 print:hidden",children:[i.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[i.jsxs("h1",{className:"text-sm font-medium text-text-primary truncate",children:[((b=n==null?void 0:n.metadata)==null?void 0:b.title)??"Session"," — Read-only view"]}),i.jsxs("span",{className:"text-xs text-text-muted whitespace-nowrap",children:[a.length," messages",u>0?` (${u} older hidden)`:""]})]}),i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("button",{onClick:x,disabled:d,className:"px-3 py-1 text-xs bg-bg-tertiary text-text-primary border border-border rounded hover:bg-bg-tertiary/80 transition-colors disabled:opacity-50",children:d?"Refreshing...":"Refresh"})})]}),i.jsxs("div",{className:"flex-1 overflow-y-auto print:overflow-visible scrollbar-stable",children:[i.jsx("div",{className:"pt-4",children:i.jsx(Ik,{displayItems:v,showThinking:y,showVerboseToolOutput:w,showStats:C,showAgentDefinitions:_,showWorkflowBars:S})}),i.jsx("div",{className:"h-8"})]})]})}function zS({isOpen:e,isRetry:t,onSubmit:n,onCancel:r}){const[a,l]=A.useState(""),u=A.useRef(null);A.useEffect(()=>{e&&(l(""),setTimeout(()=>{var d;return(d=u.current)==null?void 0:d.focus()},100))},[e]);const c=d=>{d.preventDefault(),a.trim()&&n(a)};return i.jsx(St,{isOpen:e,onClose:r,title:t?"Invalid Password":"Password Required",size:"sm",children:i.jsxs("form",{onSubmit:c,className:"space-y-4",children:[i.jsx("p",{className:"text-text-secondary text-sm",children:t?"The password you entered was incorrect. Please try again.":"This server requires a password to connect."}),i.jsx(ri,{ref:u,type:"password",value:a,onChange:d=>l(d.target.value),placeholder:"Enter password",autoFocus:!0}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(Qe,{type:"button",variant:"secondary",onClick:r,children:"Cancel"}),i.jsx(Qe,{type:"submit",disabled:!a.trim(),children:t?"Try Again":"Connect"})]})]})})}function hz({currentStep:e,totalSteps:t,labels:n,onStepClick:r}){return i.jsx("div",{className:"flex justify-center py-6",children:i.jsx("div",{className:"flex items-center",children:Array.from({length:t},(a,l)=>{const u=l+1,c=u<e,d=u===e;return i.jsxs("div",{className:"flex items-center",children:[i.jsx("button",{onClick:()=>r==null?void 0:r(u),className:`size-8 rounded-full flex items-center justify-center text-sm font-medium transition-colors shrink-0 ${c?"bg-accent-primary text-text-primary hover:opacity-80":d?"bg-accent-primary text-text-primary":"bg-bg-tertiary text-text-muted"}`,children:c?"✓":u}),i.jsx("button",{onClick:()=>r==null?void 0:r(u),className:`ml-2 mr-4 text-sm whitespace-nowrap hidden sm:block ${d?"text-text-primary font-medium":"text-text-muted hover:text-text-secondary"}`,children:n[l]}),l<t-1&&i.jsx("div",{className:`w-12 sm:w-20 h-0.5 mr-4 ${c?"bg-accent-primary":"bg-border"}`})]},l)})})})}function fz({onNext:e}){const[t,n]=A.useState([]),[r,a]=A.useState([]),[l,u]=A.useState(!1),[c,d]=A.useState(null),[f,p]=A.useState(null),[m,x]=A.useState(null);A.useEffect(()=>{y()},[]);async function y(){try{const j=await _e("/api/providers");if(j.ok){const D=(await j.json()).providers.map(L=>({id:L.id,name:L.name,url:L.url,backend:L.backend,model:null,apiKey:L.apiKey,isLocal:L.isLocal,thinkingField:L.thinkingField,models:L.models}));n(D),a(D)}}catch{}}async function w(j){const T=j.id.startsWith("temp-"),D=r.some(M=>M.id===j.id),L=r.length===0&&c===null,R=Vk(j);try{let M;if(T){const U=await _e("/api/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(R)});if(!U.ok)throw new Error("Failed to create provider");const O=await U.json();M={...j,id:O.provider.id,model:null}}else{if(!(await _e(`/api/providers/${j.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(R)})).ok)throw new Error("Failed to update provider");M={...j,model:null}}const V=U=>U.some(O=>O.id===M.id)?U.map(O=>O.id===M.id?M:O):[...U,M];a(V),n(V),L&&!D&&e({providers:[M]})}catch{if(T){const M={...j,model:null};a(V=>[...V,M])}}}function C(){d(null),u(!0)}function _(j){d(j),u(!0)}function S(){u(!1),d(null)}function v(j){p(j),t.some(D=>D.id===j)?_e(`/api/providers/${j}`,{method:"DELETE"}).then(()=>{a(r.filter(D=>D.id!==j)),n(t.filter(D=>D.id!==j)),p(null)}).catch(()=>p(null)):(a(r.filter(D=>D.id!==j)),p(null))}function b(){const j=r.filter(T=>!T.id.startsWith("temp-"));e({providers:j})}const E=r.length>0;return i.jsxs("div",{className:"max-w-xl mx-auto",children:[i.jsx("h2",{className:"text-2xl font-bold text-text-primary mb-2",children:"LLM Providers"}),i.jsx("p",{className:"text-text-secondary mb-8",children:"Manage your LLM server connections"}),i.jsxs("div",{className:"space-y-4",children:[r.length>0?i.jsx("div",{className:"space-y-2",children:r.map(j=>i.jsxs("div",{className:"flex items-center justify-between bg-bg-secondary rounded-lg p-4 border border-border",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"px-2 py-0.5 bg-accent-primary/25 text-accent-primary rounded text-xs font-medium",children:JS(j.backend)}),i.jsx("span",{className:"text-text-primary font-medium",children:j.name}),i.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded-full ${j.isLocal?"text-accent-success bg-accent-success/10":"text-accent-warning bg-accent-warning/10"}`,children:j.isLocal?"local":"api"})]}),i.jsx("p",{className:"text-text-muted text-sm mt-1 truncate",children:j.url}),j.model&&i.jsxs("p",{className:"text-text-secondary text-xs mt-0.5",children:["Model: ",j.model]})]}),i.jsx("div",{className:"flex items-center gap-1",children:m===j.id?i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("button",{onClick:()=>v(j.id),disabled:f===j.id,className:"px-2 py-1 text-xs text-red-500 hover:text-red-400 bg-red-500/10 rounded transition-colors disabled:opacity-50",children:f===j.id?"Deleting...":"Confirm"}),i.jsx("button",{onClick:()=>x(null),className:"px-2 py-1 text-xs text-text-muted hover:text-text-secondary transition-colors",children:"Cancel"})]}):i.jsxs(i.Fragment,{children:[i.jsx("button",{onClick:()=>_(j),className:"px-2 py-1 text-xs text-text-muted hover:text-text-secondary border border-border rounded transition-colors",children:"Edit"}),i.jsx("button",{onClick:()=>x(j.id),className:"p-2 text-text-muted hover:text-red-500 transition-colors",title:"Remove provider",children:i.jsx(ro,{})})]})})]},j.id))}):i.jsx("div",{className:"bg-bg-secondary rounded-lg p-8 text-center border border-border",children:i.jsx("p",{className:"text-text-muted",children:"No providers configured yet"})}),i.jsxs("button",{onClick:C,"data-testid":"onboarding-add-provider-button",className:"w-full flex items-center justify-center gap-2 px-4 py-3 bg-bg-secondary border border-dashed border-border rounded-lg text-text-secondary hover:text-text-primary hover:border-text-muted transition-colors",children:[i.jsx(ws,{className:"w-4 h-4"}),"Add Provider"]}),i.jsx("button",{onClick:b,disabled:!E,"data-testid":"onboarding-continue-button",className:"w-full mt-6 px-6 py-3 bg-accent-primary text-text-primary rounded-lg font-medium hover:bg-accent-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:"Continue"})]}),i.jsx(Gk,{isOpen:l,onClose:S,onSave:w,initialStep:1,editProvider:c??void 0})]})}function mz({onNext:e}){const[t,n]=A.useState(""),[r,a]=A.useState(!1);return A.useEffect(()=>{_e("/api/config").then(l=>l.json()).then(l=>{l.workdir?n(l.workdir):fetch(Ss("/api/directories?path=")+encodeURIComponent("/home")).then(u=>u.json()).then(u=>{u.current&&n(u.current)}).catch(()=>{})}).catch(()=>{fetch(Ss("/api/directories?path=")+encodeURIComponent("/home")).then(l=>l.json()).then(l=>{l.current&&n(l.current)}).catch(()=>{})})},[]),i.jsxs("div",{className:"max-w-xl mx-auto",children:[i.jsx("h2",{className:"text-2xl font-bold text-text-primary mb-2",children:"Your Projects Folder"}),i.jsx("p",{className:"text-text-secondary mb-8",children:"Where should OpenFox create project folders?"}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Workspace directory"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx("input",{type:"text",value:t,onChange:l=>n(l.target.value),placeholder:"/home/user/projects","data-testid":"onboarding-workdir-input",className:"flex-1 px-4 py-2 bg-bg-secondary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"}),i.jsx("button",{onClick:()=>a(!0),className:"px-4 py-2 bg-bg-secondary border border-border rounded-lg hover:border-text-muted",children:"Browse"})]})]}),r&&i.jsx(fd,{initialPath:t||void 0,onSelect:l=>{n(l),a(!1)},onClose:()=>a(!1)}),i.jsx("button",{onClick:()=>e({workdir:t}),disabled:!t,"data-testid":"onboarding-workdir-continue-button",className:"w-full mt-6 px-6 py-3 bg-accent-primary text-text-primary rounded-lg font-medium hover:bg-accent-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:"Continue"})]})]})}function pz({onNext:e}){const[t,n]=A.useState(!1),[r,a]=A.useState("http://localhost:11434"),[l,u]=A.useState("qwen3.5:0.8b"),[c,d]=A.useState("ollama"),{copied:f,copy:p}=Nk();A.useEffect(()=>{_e("/api/config").then(x=>x.json()).then(x=>{x.visionFallback&&(n(x.visionFallback.enabled),a(x.visionFallback.url),u(x.visionFallback.model),x.visionFallback.backend&&d(x.visionFallback.backend))}).catch(()=>{})},[]);function m(x){if(x){e({});return}e({visionFallback:{enabled:t,url:r,model:l,timeout:120,backend:c}})}return i.jsxs("div",{className:"max-w-xl mx-auto",children:[i.jsx("h2",{className:"text-2xl font-bold text-text-primary mb-2",children:"Vision (Optional)"}),i.jsx("p",{className:"text-text-secondary mb-8",children:"Configure a vision model for non-vision models"}),i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"bg-bg-secondary rounded-lg p-4 border border-border",children:[i.jsx("p",{className:"text-text-secondary text-sm mb-2",children:"You need a server with a vision model. Choose your backend type below."}),i.jsx("p",{className:"text-text-secondary text-sm mb-2",children:"For Ollama:"}),i.jsx("a",{href:"https://ollama.com/download",target:"_blank",rel:"noopener noreferrer",className:"text-accent-primary hover:underline text-sm",children:"Download Ollama"}),i.jsxs("div",{className:"mt-3 p-2 bg-bg-primary rounded border border-border flex items-center justify-between gap-2",children:[i.jsx("code",{className:"text-text-secondary text-xs",children:"ollama pull qwen3.5:0.8b"}),i.jsx("button",{onClick:()=>p("ollama pull qwen3.5:0.8b"),className:"text-text-muted hover:text-text-primary transition-colors",title:"Copy",children:f?i.jsx(Or,{className:"w-4 h-4 text-accent-primary"}):i.jsx(jN,{className:"w-4 h-4"})})]}),i.jsxs("p",{className:"text-text-secondary text-sm mt-3",children:["For OpenAI-compatible servers (vLLM, sglang, llama.cpp): use the ",i.jsx("strong",{children:"OpenAI"})," backend type."]})]}),i.jsxs("label",{className:"flex items-center gap-3 cursor-pointer",children:[i.jsx("input",{type:"checkbox",checked:t,onChange:x=>n(x.target.checked),className:"w-5 h-5 rounded border-border bg-bg-secondary text-accent-primary focus:ring-accent-primary"}),i.jsx("span",{className:"text-text-primary",children:"Enable vision fallback for non-vision models"})]}),t&&i.jsxs("div",{className:"space-y-4 pl-8",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Backend type"}),i.jsxs("select",{value:c,onChange:x=>d(x.target.value),className:"w-full px-4 py-2 bg-bg-secondary border border-border rounded-lg text-text-primary focus:outline-none focus:border-accent-primary",children:[i.jsx("option",{value:"ollama",children:"Ollama"}),i.jsx("option",{value:"openai",children:"OpenAI-compatible (vLLM, sglang, llama.cpp)"})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Vision server URL"}),i.jsx("input",{type:"text",value:r,onChange:x=>a(x.target.value),placeholder:c==="ollama"?"http://localhost:11434":"http://localhost:8000/v1",className:"w-full px-4 py-2 bg-bg-secondary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Vision model name"}),i.jsx("input",{type:"text",value:l,onChange:x=>u(x.target.value),placeholder:c==="ollama"?"qwen3.5:0.8b":"qwen3.5-27b",className:"w-full px-4 py-2 bg-bg-secondary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]})]}),i.jsxs("div",{className:"flex items-center justify-between pt-4",children:[i.jsx("button",{onClick:()=>m(!0),"data-testid":"onboarding-skip-button",className:"text-text-muted hover:text-text-secondary text-sm underline",children:"Skip for now"}),i.jsx("button",{onClick:()=>m(!1),className:"px-6 py-3 bg-accent-primary text-text-primary rounded-lg font-medium hover:bg-accent-primary/90 transition-colors",children:"Finish Setup"})]})]})]})}function gz({onComplete:e}){const[t,n]=A.useState(1),[r,a]=A.useState(!1),[l,u]=A.useState({});async function c(m){u(x=>({...x,providers:m.providers})),n(2)}async function d(m){u(x=>({...x,...m})),n(3)}async function f(m){a(!0);try{if(!(await _e("/api/init/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workdir:l.workdir,visionFallback:m.visionFallback})})).ok)throw new Error("Failed to save config");e()}catch(x){console.error("Failed to save onboarding data:",x),a(!1)}}const p=m=>{n(m)};return i.jsxs("div",{className:"w-full max-w-xl mx-auto px-6 py-16 relative",children:[i.jsx($l,{onClick:e,className:"absolute top-4 right-4 p-2",variant:"modal",size:"xl"}),i.jsx(hz,{currentStep:t,totalSteps:3,labels:["LLM Providers","Projects Folder","Vision"],onStepClick:p}),i.jsx("div",{className:"max-w-xl mx-auto",children:r?i.jsxs("div",{className:"text-center",children:[i.jsx(ws,{className:"w-6 h-6"}),i.jsx("p",{className:"mt-4 text-text-secondary",children:"Saving your settings..."})]}):i.jsxs(i.Fragment,{children:[t===1&&i.jsx(fz,{onNext:c}),t===2&&i.jsx(mz,{onNext:d}),t===3&&i.jsx(pz,{onNext:f})]})})]})}function xz({projectId:e}){var p;const[,t]=Bn(),n=Le(m=>m.sessionsWithPendingConfirmations),r=Le(m=>{var x;return(x=m.currentSession)==null?void 0:x.id}),a=Le(m=>m.crossSessionConfirmations),l=Le(m=>m.sessions),u=n.find(m=>m!==r);if(!u)return null;const c=l.find(m=>m.id===u),d=(c==null?void 0:c.title)??u.slice(0,6),f=((p=a[u])==null?void 0:p.length)??0;return i.jsxs("div",{className:"flex items-center gap-2 px-4 py-2 bg-amber-500/15 border-b border-amber-500/30 cursor-pointer hover:bg-amber-500/20 transition-colors",onClick:()=>t(e?`/p/${e}/s/${u}`:`/s/${u}`),role:"button",tabIndex:0,onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&t(e?`/p/${e}/s/${u}`:`/s/${u}`)},children:[i.jsx(Gp,{className:"w-4 h-4 text-amber-400 flex-shrink-0"}),i.jsxs("span",{className:"text-sm text-amber-300 flex-1 truncate",children:[f," confirmation",f>1?"s":"",' pending in session "',d,'"']}),i.jsx("span",{className:"text-xs text-amber-400 font-medium flex-shrink-0",children:"View session →"})]})}const Jm="openfox_updated_to",Zm="update_pending";function yz(){const[e,t]=A.useState(!1),n=localStorage.getItem(Jm),r=localStorage.getItem(Zm);A.useEffect(()=>{if(!n||!r)return;const l=setTimeout(()=>{localStorage.removeItem(Jm),localStorage.removeItem(Zm),t(!0)},8e3);return()=>clearTimeout(l)},[n,r]);const a=()=>{localStorage.removeItem(Jm),localStorage.removeItem(Zm),t(!0)};return e||r!=="true"||!n?null:i.jsxs("div",{className:"fixed bottom-20 left-1/2 -translate-x-1/2 z-[100] flex items-center gap-3 px-4 py-2.5 bg-bg-secondary border border-border rounded-lg shadow-xl animate-slide-down",role:"status","aria-live":"polite",children:[i.jsx("div",{className:"flex items-center justify-center w-5 h-5 rounded-full bg-accent-primary/20",children:i.jsx(Or,{className:"w-3 h-3 text-accent-primary"})}),i.jsxs("div",{className:"flex flex-col",children:[i.jsx("span",{className:"text-sm font-medium text-text-primary",children:"OpenFox updated successfully"}),i.jsxs("span",{className:"text-xs text-text-muted",children:["Now running ",n]})]}),i.jsx("button",{onClick:a,className:"ml-2 p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors","aria-label":"Dismiss",children:i.jsx(qp,{className:"w-3.5 h-3.5"})})]})}typeof window<"u"&&(Yt.getState().loadUserPresets(),Yt.getState().applySavedTheme());function Hg(){return typeof window>"u"?!1:localStorage.getItem("openfox_token")!==null}function qk(){return i.jsx("div",{className:"flex-1 flex items-center justify-center",children:i.jsx(li,{})})}function bz({sidebarOpen:e,onSidebarToggle:t}){const[,n]=no("/p/:projectId"),r=n==null?void 0:n.projectId,a=Le(d=>d.connectionStatus),l=zt(d=>d.currentProject),u=Hg();return SN({canLoad:a==="connected"||u,projectId:r,currentProjectId:l==null?void 0:l.id}),!l||l.id!==r?i.jsx(qk,{}):i.jsxs(i.Fragment,{children:[i.jsx(M1,{projectId:r,isOpen:e,onClose:t}),i.jsx("div",{className:"flex-1 min-w-0 bg-primary",children:i.jsx(ZT,{})})]})}function vz({sidebarOpen:e,onSidebarToggle:t,rightSidebarOpen:n,onRightSidebarToggle:r}){const[,a]=no("/p/:projectId/s/:sessionId"),l=a==null?void 0:a.projectId,u=a==null?void 0:a.sessionId,[,c]=Bn(),d=Le(C=>C.connectionStatus),f=Le(C=>C.currentSession),p=Le(C=>C.error),m=Le(C=>C.clearError),x=zt(C=>C.currentProject),y=Hg();return wN({canLoad:d==="connected"||y,projectId:l,sessionId:u,currentProjectId:x==null?void 0:x.id,currentSessionId:f==null?void 0:f.id}),A.useEffect(()=>{(p==null?void 0:p.code)==="NOT_FOUND"&&l&&(m(),c(`/p/${l}`))},[p,l,m,c]),!x||x.id!==l?i.jsx(qk,{}):i.jsxs(i.Fragment,{children:[i.jsx(M1,{projectId:l,isOpen:e,onClose:t}),i.jsxs("div",{className:"flex-1 min-w-0 bg-primary flex flex-col",children:[i.jsx(xz,{projectId:l}),i.jsx(uz,{criteriaSidebarOpen:n,onCriteriaSidebarToggle:r})]})]})}function _z(){const e=Qt(r=>r.fetchConfig),[,t]=Bn();async function n(){await e(),t("/")}return i.jsx("div",{className:"flex-1 overflow-y-auto",children:i.jsx(gz,{onComplete:n})})}function Sz(){const{connectionStatus:e}=xN(),t=Qt(q=>q.fetchConfig),n=Qt(q=>q.refreshProviderModels),r=Qt(q=>q.providers),a=Qt(q=>q.activeProviderId),[,l]=Bn(),u=Hg(),[c,d]=A.useState(!1);A.useEffect(()=>{(e==="connected"||u)&&t().then(()=>{d(!0),Gt.getState().getSettings([...Up,Re.DISPLAY_THEME,Re.DISPLAY_USER_PRESETS,Re.KEYBINDINGS])})},[e,u,t]),A.useEffect(()=>{c&&a&&n(a).then(()=>{const q=Qt.getState().defaultModelSelection;(q?q.split("/")[0]:null)!==a&&t()})},[c,a,n,t]);const f=Gt(q=>q.settings);A.useEffect(()=>{c&&r.length===0&&l("/onboarding")},[c,r.length]),A.useEffect(()=>{const{applyPreset:q,applyTokens:z,setFollowSystemTheme:I,initSystemThemeListener:B}=Yt.getState(),K=f[Re.DISPLAY_THEME],P=f[Re.DISPLAY_USER_PRESETS],ee=f[Re.DISPLAY_FOLLOW_SYSTEM_THEME];if(P&&localStorage.setItem("openfox:userPresets",P),K){localStorage.setItem("openfox:theme",K);try{const te=JSON.parse(K);te.preset&&te.tokens?(q(te.preset),Yt.setState({basePreset:te.preset}),z(te.tokens)):te.preset?q(te.preset):te.tokens&&z(te.tokens)}catch{q("dark")}}else q("system");ee!==void 0&&Yt.getState().followSystemTheme!==(ee==="true")&&I(ee==="true");const Q=B();return()=>Q()},[f[Re.DISPLAY_THEME],f[Re.DISPLAY_USER_PRESETS]]);const p=()=>{const q=localStorage.getItem("openfox:leftSidebar");return q!==null?q==="true":!0},m=()=>{const q=localStorage.getItem("openfox:rightSidebar");return q!==null?q==="true":!0},[x,y]=A.useState(p),[w,C]=A.useState(m),[_,S]=A.useState(!1),[v,b]=A.useState(!1),[E,j]=A.useState(!1),T=W2();A.useEffect(()=>{const q=()=>{j(window.innerWidth<768)};return q(),window.addEventListener("resize",q),()=>window.removeEventListener("resize",q)},[]);const[D]=Bn(),L=/^\/p\/[^/]+$/.test(D),R=E?_:L?!0:x,M=E?v:w,V=()=>{E?S(!_):y(!x)},U=()=>{E?b(!v):C(!w)};A.useEffect(()=>{E||localStorage.setItem("openfox:leftSidebar",String(x))},[x,E]),A.useEffect(()=>{E||localStorage.setItem("openfox:rightSidebar",String(w))},[w,E]),A.useEffect(()=>{(e==="connected"||u)&&t()},[e,t,u]);const O=Le(q=>q.showPasswordModal),H=Le(q=>q.passwordModalRetry),F=Le(q=>q.submitPassword),G=Le(q=>q.cancelPassword),[Z]=no("/p/:projectId/s/:sessionId/readonly");return!Z&&e!=="connected"&&!O&&!u?i.jsxs(i.Fragment,{children:[i.jsx(zS,{isOpen:!0,isRetry:H,onSubmit:F,onCancel:G}),i.jsx("div",{className:"h-screen flex items-center justify-center",children:i.jsx(eT,{text:"Connecting to server..."})})]}):Z?i.jsx(dz,{}):i.jsxs(i.Fragment,{children:[i.jsx(zS,{isOpen:O,isRetry:H,onSubmit:F,onCancel:G}),i.jsxs("div",{className:"flex flex-col",style:{height:E?`calc(${T.offsetTop}px + ${T.height}px)`:"100vh"},children:[i.jsx(YT,{}),i.jsx(HT,{onMenuClick:V,onCriteriaToggle:U}),i.jsx("div",{className:"flex-1 flex overflow-hidden",children:i.jsxs(H2,{children:[i.jsx(nl,{path:"/onboarding",children:i.jsx(_z,{})}),i.jsx(nl,{path:"/p/:projectId/s/:sessionId",children:i.jsx(vz,{sidebarOpen:R,onSidebarToggle:V,rightSidebarOpen:M,onRightSidebarToggle:U})}),i.jsx(nl,{path:"/p/:projectId/new",children:i.jsx(JT,{})}),i.jsx(nl,{path:"/p/:projectId",children:i.jsx(bz,{sidebarOpen:R,onSidebarToggle:V})}),i.jsx(nl,{path:"/",children:i.jsx(QT,{})})]})})]}),i.jsx(yz,{})]})}v2.createRoot(document.getElementById("root")).render(i.jsx(ti.StrictMode,{children:i.jsx(YS,{base:QS,children:i.jsx(Sz,{})})}));
|